1 : C BMATST SOURCE FANDEUR 10/08/31 21:15:17 6735 2 : 3 : C======================================================================= 4 : C= B M A T S T = 5 : C= ----------- = 6 : C= Fonction : = 7 : C= ---------- = 8 : C= Calcul de la matrice B reliant les deformations en un point d'un = 9 : C= element fini aux ddls de deplacement aux noeuds de cet element = 10 : C= Le jacobien est egalement evalue au point de Gauss pour verifier = 11 : C= ulterieurement si l'element fini n'est pas trop distordu. = 12 : C= = 13 : C= Parametres : (E)=Entree (S)=Sortie = 14 : C= ------------ = 15 : C= iGau (E) Numero du point de Gauss considere = 16 : C= NBPGAU (E) Nombre de points de Gauss de l'element fini = 17 : C= POIGAU,QSIGAU (E) | Poids et coordonnees de reference des = 18 : C= ETAGAU,DZEGAU (E) | differents points de Gauss de l'element = 19 : C= ITEL (E) Type de l'element fini (cf. NOMTP dans bdata.eso) = 20 : C= MFR (E) Formulation associee a l'element fini = 21 : C= NBNO (E) Nombre de noeuds de l'element fini = 22 : C= LRE (E) Nombre de DDL de l'element fini = 23 : C= IFOU (E) Mode de calcul utilise (cf. IFOUR dans CCOPTIO) = 24 : C= NST (E) Nombre de composantes de deformations = 25 : C= NN (E) Numero du mode de Fourier (si IFOU=1) = 26 : C= DIM3 (E) Epaisseur dans l'hypothese des contraintes planes = 27 : C= XEL (E) Coordonnees des noeuds de l'element fini etudie = 28 : C= SHPTOT (E) Fonctions de forme et leurs derivees = 29 : C= SHP (S) Fonctions de forme et leurs derivees actuelles = 30 : C= BGENE (S) Matrice de gradients (B) calcule au point de Gauss = 31 : C= DJac (S) Jacobien au point de Gauss etudie = 32 : C= XDPGE,YDPGE (E) Coordonnees du noeud support (mode PLAN GENE) = 33 : C= = 34 : C= Remarque : = 35 : C= ---------- = 36 : C= Lors de l'entree dans le sous-programme, SHPTOT(2 a 4,*) contient = 37 : C= les DERIVEES des fonctions de forme par rapport aux coordonnees = 38 : C= de REFERENCE Qsi,Eta,Dzeta. = 39 : C= En sortie du sous-programme, SHP(2 a 4,*) contient les DERIVEES = 40 : C= des fonctions de FORME par rapport aux coordonnees REELLES x,y,z. = 41 : C= Pour les elements finis massifs incompressibles, la matrice B est = 42 : C= modifiee ulterieurement par appel au sous-programme BBAR. = 43 : C======================================================================= 44 : 45 : SUBROUTINE BMATST (iGau,NBPGAU,POIGAU,QSIGAU,ETAGAU,DZEGAU, 46 : & ITEL,MFR,NBNO,LRE,IFOU,NST,NN,DIM3,XEL, 47 : & SHPTOT,SHP,BGENE,DJAC,XDPGE,YDPGE) 48 : 49 : IMPLICIT INTEGER(I-N) 50 : IMPLICIT REAL*8 (A-H,O-Z) 51 : 52 : -INC CCREEL 53 : 54 : DIMENSION XEL(3,*),BGENE(NST,*),SHP(6,*),SHPTOT(6,NBNO,*), 55 : & POIGAU(*),QSIGAU(*),ETAGAU(*),DZEGAU(*) 56 : 57 : RR=XZero 57 : CALL ZERO(BGENE,NST,LRE) 58 : 59 : IFOR=IFOU+4 60 : GOTO ( 5,10,10,20,30,40,50,50,50,50,50,50,50,50,50, 61 : & 60,60,60,70),IFOR 62 : GOTO 100 63 : 64 : C === 65 : C 1 - Elements MASSIFS 2D PLAN GENE 66 : C === 67 : 5 XXX=XZero 68 : YYY=XZero 69 : DO i=1,NBNO 70 : SHP(1,i)=SHPTOT(1,i,iGau) 71 : SHP(2,i)=SHPTOT(2,i,iGau) 72 : SHP(3,i)=SHPTOT(3,i,iGau) 73 : XXX=XXX+SHP(1,i)*XEL(1,i) 74 : YYY=YYY+SHP(1,i)*XEL(2,i) 75 : ENDDO 75 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC) 76 : K=1 77 : DO i=1,NBNO 78 : BGENE(1,K)=SHP(2,i) 79 : BGENE(2,K+1)=SHP(3,i) 80 : BGENE(4,K)=SHP(3,i) 81 : BGENE(4,K+1)=SHP(2,i) 82 : K=K+2 83 : ENDDO 84 : BGENE(3,K)=1.D0 85 : BGENE(3,K+1)=XDPGE-XXX 86 : BGENE(3,K+2)=YYY-YDPGE 87 : GOTO 100 88 : C === 89 : C 2 - Elements MASSIFS 2D PLAN DEFO ou PLAN CONT 90 : C === 91 : 10 DO i=1,NBNO 92 : SHP(1,i)=SHPTOT(1,i,iGau) 93 : SHP(2,i)=SHPTOT(2,i,iGau) 94 : SHP(3,i)=SHPTOT(3,i,iGau) 95 : ENDDO 95 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC) 96 : K=1 97 : DO i=1,NBNO 98 : BGENE(1,K)=SHP(2,i) 99 : BGENE(2,K+1)=SHP(3,i) 100 : BGENE(4,K)=SHP(3,i) 101 : BGENE(4,K+1)=SHP(2,i) 102 : K=K+2 103 : ENDDO 104 : GOTO 100 105 : C === 106 : C 3 - Elements MASSIFS 2D AXISymetrique 107 : C === 108 : 20 DO i=1,NBNO 109 : SHP(1,i)=SHPTOT(1,i,iGau) 110 : SHP(2,i)=SHPTOT(2,i,iGau) 111 : SHP(3,i)=SHPTOT(3,i,iGau) 112 : ENDDO 112 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC) 113 : K=1 114 : DO i=1,NBNO 115 : BGENE(1,K)=SHP(2,i) 116 : BGENE(2,K+1)=SHP(3,i) 117 : BGENE(3,K)=SHP(1,i)/RR 118 : BGENE(4,K)=SHP(3,i) 119 : BGENE(4,K+1)=SHP(2,i) 120 : K=K+2 121 : ENDDO 122 : GOTO 100 123 : C === 124 : C 4 - Elements MASSIFS 2D FOURIER 125 : C === 126 : 30 DO i=1,NBNO 127 : SHP(1,i)=SHPTOT(1,i,iGau) 128 : SHP(2,i)=SHPTOT(2,i,iGau) 129 : SHP(3,i)=SHPTOT(3,i,iGau) 130 : ENDDO 130 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,2,DIM3,RR,DJAC) 131 : XNSUR=DBLE(NN)/RR 132 : K=1 133 : DO i=1,NBNO 134 : BGENE(1,K)=SHP(2,i) 135 : BGENE(2,K+1)=SHP(3,i) 136 : BGENE(3,K)=SHP(1,i)/RR 137 : BGENE(3,K+2)=SHP(1,i)*XNSUR 138 : BGENE(4,K)=SHP(3,i) 139 : BGENE(4,K+1)=SHP(2,i) 140 : BGENE(5,K)=-SHP(1,i)*XNSUR 141 : BGENE(5,K+2)=SHP(2,i)-SHP(1,i)/RR 142 : BGENE(6,K+1)=-SHP(1,i)*XNSUR 143 : BGENE(6,K+2)=SHP(3,i) 144 : K=K+3 145 : ENDDO 146 : GOTO 100 147 : C === 148 : C 6 - Elements MASSIFS 3D 149 : C === 150 : 40 DO i=1,NBNO 151 : SHP(1,i)=SHPTOT(1,i,iGau) 152 : SHP(2,i)=SHPTOT(2,i,iGau) 153 : SHP(3,i)=SHPTOT(3,i,iGau) 154 : SHP(4,i)=SHPTOT(4,i,iGau) 155 : ENDDO 155 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,3,DIM3,RR,DJAC) 156 : K=1 157 : DO i=1,NBNO 158 : BGENE(1,K)=SHP(2,i) 159 : BGENE(2,K+1)=SHP(3,i) 160 : BGENE(3,K+2)=SHP(4,i) 161 : BGENE(4,K)=SHP(3,i) 162 : BGENE(4,K+1)=SHP(2,i) 163 : BGENE(5,K)=SHP(4,i) 164 : BGENE(5,K+2)=SHP(2,i) 165 : BGENE(6,K+1)=SHP(4,i) 166 : BGENE(6,K+2)=SHP(3,i) 167 : K=K+3 168 : ENDDO 169 : GOTO 100 170 : C === 171 : C 7 - Elements MASSIFS 1D 172 : C === 173 : C= 7.1 - Modes 1D PLAN 174 : 50 DO i=1,NBNO 175 : SHP(1,i)=SHPTOT(1,i,iGau) 176 : SHP(2,i)=SHPTOT(2,i,iGau) 177 : ENDDO 177 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,1,DIM3,RR,DJAC) 178 : DO i=1,NBNO 179 : BGENE(1,i)=SHP(2,i) 180 : ENDDO 181 : IF (IFOU.EQ.7.OR.IFOU.EQ.8) THEN 182 : BGENE(2,i)=1. 183 : ELSE IF (IFOU.EQ.9.OR.IFOU.EQ.10) THEN 184 : BGENE(3,i)=1. 185 : ELSE IF (IFOU.EQ.11) THEN 186 : BGENE(2,i)=1. 187 : BGENE(3,i+1)=1. 188 : ENDIF 189 : GOTO 100 190 : C= 7.2 - Modes 1D AXIS 191 : 60 DO i=1,NBNO 192 : SHP(1,i)=SHPTOT(1,i,iGau) 193 : SHP(2,i)=SHPTOT(2,i,iGau) 194 : ENDDO 194 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,1,DIM3,RR,DJAC) 195 : DO i=1,NBNO 196 : BGENE(1,i)=SHP(2,i) 197 : BGENE(3,i)=SHP(1,i)/RR 198 : ENDDO 199 : IF (IFOU.EQ.14) BGENE(2,i)=1. 200 : GOTO 100 201 : C= 7.3 - Mode 1D SPHE 202 : 70 DO i=1,NBNO 203 : SHP(1,i)=SHPTOT(1,i,iGau) 204 : SHP(2,i)=SHPTOT(2,i,iGau) 205 : ENDDO 205 : CALL DEVOLU(XEL,SHP,MFR,NBNO,IFOU,NN,1,DIM3,RR,DJAC) 206 : DO i=1,NBNO 207 : BGENE(1,i)=SHP(2,i) 208 : ZZ=SHP(1,i)/RR 209 : BGENE(2,i)=ZZ 210 : BGENE(3,i)=ZZ 211 : ENDDO 212 : GOTO 100 213 : 100 CONTINUE 214 : 215 : RETURN 216 : END 217 : 218 :
© Cast3M 2003 - All rights reserved.
Disclaimer