1 : C EPTHAN SOURCE AM 11/05/18 21:15:01 6972 2 : SUBROUTINE EPTHAN(MFR,MELE,VALMAT,NSTRS,TEMP, 3 : 1 TXR,XLOC,XGLOB,ROTS,RES,KERRE) 4 : ******************************************************************* 5 : * APPELE PAR EPTHP :DEFORMATIONS THERMIQUES POUR LES MATERIAUX 6 : * ANISOTROPES 7 : * 8 : * ENTREES : 9 : * MFR = FORMULATION DE L ELEMENT FINI 10 : * MELE = NUMERO DE L'ELEMENT FINI 11 : * VALMAT = TABLEAU DE MATERIAU 12 : * NSTRS = NOMBRE DE COMPOSANTES DES DEFORMATIONS 13 : * TEMP = TEMPERATURES 14 : * LHOOK = TAILLE DE LA MATRICE DE HOOKE 15 : * TXR,XLOC,XGLOB,ROTS = TABLEAUX DE TRAVAIL 16 : * SORTIES : 17 : * RES = TABLEAU DE DEFORMATIONS 18 : * KERRE = INDICATEUR D'ERREUR 19 : * 20 : * AM1 JANV 95 21 : *********************************************************************** 22 : IMPLICIT INTEGER(I-N) 23 : IMPLICIT REAL*8(A-H,O-Z) 24 : * 25 : -INC CCOPTIO 26 : -INC CCHAMP 27 : * 28 : DIMENSION XLOC(IDIM,*),XGLOB(IDIM,*) 29 : DIMENSION ROTS(NSTRS,*) 30 : DIMENSION TXR(IDIM,*),RES(NSTRS) 31 : DIMENSION VALMAT(*) 32 : * 33 : DIMENSION EPS1(6),EPS2(6) 34 : * 35 : KERRE=0 36 : * 37 : * TEST SUR LA FORMULATION 38 : * 39 : *-------------------------------------------------------------- 40 : * CAS MASSIF ET POREUX 41 : *-------------------------------------------------------------- 42 : IF(MFR.EQ.1.OR.MFR.EQ.33.OR.MFR.EQ.31) THEN 43 : * 43 : CALL ZERO (XGLOB,IDIM,IDIM) 44 : 45 : * 46 : * CONTRAINTES PLANES 47 : * 48 : IF(IFOUR.EQ.-2)THEN 49 : * 50 : ALP1= VALMAT(1) 51 : ALP2= VALMAT(2) 52 : AL12= VALMAT(3) 53 : ALP3=0.D0 54 : XLOC(1,1)=VALMAT(4) 55 : XLOC(2,1)=VALMAT(5) 56 : XLOC(1,2)=-XLOC(2,1) 57 : XLOC(2,2)=XLOC(1,1) 58 : * DEFINITION DES AXES ORTHO./AXES GLOBAUX 59 : DO 3310 K=1,IDIM 60 : DO 3310 J=1,IDIM 61 : DO 3310 I=1,IDIM 62 : XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 63 : 3310 CONTINUE 64 : CC=XGLOB(1,1)*XGLOB(1,1) 65 : SS=XGLOB(2,1)*XGLOB(2,1) 66 : CS=XGLOB(1,1)*XGLOB(2,1) 67 : * 68 : * EN AXES D'ORTHOTROPIE 69 : * 70 : EPS1(1)=ALP1 71 : EPS1(2)=ALP2 72 : EPS1(3)=ALP3 73 : EPS1(4)=AL12 74 : * 75 : * CHGT D'AXES 76 : * 77 : EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4) 78 : EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4) 79 : EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4) 80 : * 81 : RES(1)=EPS2(1)*TEMP 82 : RES(2)=EPS2(2)*TEMP 83 : RES(3)=0.D0 84 : RES(4)=EPS2(4)*TEMP 85 : * 86 : * DEFORMATIONS PLANES OU AXI OU FOURIER 87 : * 88 : ELSEIF(IFOUR.EQ.-1.OR.IFOUR.EQ.0 89 : 1 .OR.IFOUR.EQ.1.OR.IFOUR.EQ.-3)THEN 90 : ALP1= VALMAT(1) 91 : ALP2= VALMAT(2) 92 : AL12= VALMAT(3) 93 : ALP3= VALMAT(4) 94 : XLOC(1,1)=VALMAT(5) 95 : XLOC(2,1)=VALMAT(6) 96 : XLOC(1,2)=-XLOC(2,1) 97 : XLOC(2,2)=XLOC(1,1) 98 : C DEFINITION DES AXES ORTHO./AXES GLOBAUX 99 : DO 3320 K=1,IDIM 100 : DO 3320 J=1,IDIM 101 : DO 3320 I=1,IDIM 102 : XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 103 : 3320 CONTINUE 104 : CC=XGLOB(1,1)*XGLOB(1,1) 105 : SS=XGLOB(2,1)*XGLOB(2,1) 106 : CS=XGLOB(1,1)*XGLOB(2,1) 107 : * 108 : * EN AXES D'ORTHOTROPIE 109 : * 110 : EPS1(1)=ALP1 111 : EPS1(2)=ALP2 112 : EPS1(3)=ALP3 113 : EPS1(4)=AL12 114 : * 115 : * CHGT D'AXES 116 : * 117 : EPS2(1)=CC*EPS1(1)+SS*EPS1(2)-CS*EPS1(4) 118 : EPS2(2)=CC*EPS1(2)+SS*EPS1(1)+CS*EPS1(4) 119 : EPS2(4)=CS*(EPS1(1)-EPS1(2))*2.D0+(CC-SS)*EPS1(4) 120 : EPS2(3)=EPS1(3) 121 : * 122 : IF(IFOUR.EQ.-1.OR.IFOUR.EQ.0)THEN 123 : RES(1)=EPS2(1)*TEMP 124 : RES(2)=EPS2(2)*TEMP 125 : RES(3)=EPS2(3)*TEMP 126 : RES(4)=EPS2(4)*TEMP 127 : ELSE 128 : RES(1)=EPS2(1)*TEMP 129 : RES(2)=EPS2(2)*TEMP 130 : RES(3)=EPS2(3)*TEMP 131 : RES(4)=EPS2(4)*TEMP 132 : RES(5)=0.D0 133 : RES(6)=0.D0 134 : ENDIF 135 : * 136 : * TRIDIMENSIONNEL 137 : * 138 : ELSEIF(IFOUR.EQ.2)THEN 139 : ALP1= VALMAT(1) 140 : ALP2= VALMAT(2) 141 : ALP3= VALMAT(3) 142 : AL12= VALMAT(4) 143 : AL13= VALMAT(5) 144 : AL23= VALMAT(6) 145 : XLOC(1,1)=VALMAT(7) 146 : XLOC(2,1)=VALMAT(8) 147 : XLOC(3,1)=VALMAT(9) 148 : XLOC(1,2)=VALMAT(10) 149 : XLOC(2,2)=VALMAT(11) 150 : XLOC(3,2)=VALMAT(12) 150 : CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR) 151 : C DEFINITION DES AXES ORTHO./AXES GLOBAUX 152 : DO 3330 K=1,IDIM 153 : DO 3330 J=1,IDIM 154 : DO 3330 I=1,IDIM 155 : XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 156 : 3330 CONTINUE 157 : * 158 : * MATRICE DE TRANSFORMATION 159 : * 160 : DO 3331 IC=1,3 161 : DO 3331 IL=1,3 162 : ROTS (IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC) 163 : 3331 CONTINUE 164 : C 165 : DO 3332 IL=1,3 166 : ROTS (IL,4)=XGLOB(IL,1)*XGLOB(IL,2) 167 : ROTS (IL,5)=XGLOB(IL,2)*XGLOB(IL,3) 168 : ROTS (IL,6)=XGLOB(IL,1)*XGLOB(IL,3) 169 : 3332 CONTINUE 170 : C 171 : DO 3333 IC=1,3 172 : ROTS (4,IC)=2.D0*XGLOB(1,IC)*XGLOB(2,IC) 173 : ROTS (5,IC)=2.D0*XGLOB(2,IC)*XGLOB(3,IC) 174 : ROTS (6,IC)=2.D0*XGLOB(1,IC)*XGLOB(3,IC) 175 : 3333 CONTINUE 176 : C 177 : DO 3334 IL=4,6 178 : IL1=IL-3 179 : IL2=IL1+1 180 : IF(IL2.GT.3)IL2=IL2-3 181 : DO 3334 IC=4,6 182 : IC1=IC-3 183 : IC2=IC1+1 184 : IF(IC2.GT.3)IC2=IC2-3 185 : ROTS (IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+ 186 : . XGLOB(IL1,IC2)*XGLOB(IL2,IC1) 187 : 3334 CONTINUE 188 : DO 3335 IC=1,6 189 : AA=ROTS (6,IC) 190 : ROTS (6,IC)=ROTS (5,IC) 191 : ROTS (5,IC)=AA 192 : 3335 CONTINUE 193 : DO 3336 IL=1,6 194 : AA=ROTS (IL,6) 195 : ROTS (IL,6)=ROTS (IL,5) 196 : ROTS (IL,5)=AA 197 : 3336 CONTINUE 198 : * 199 : * EN AXES D'ORTHOTROPIE 200 : * 201 : EPS1(1)=ALP1 202 : EPS1(2)=ALP2 203 : EPS1(3)=ALP3 204 : EPS1(4)=AL12 205 : EPS1(5)=AL13 206 : EPS1(6)=AL23 207 : * 208 : * CHGT D'AXES 209 : * 210 : DO 3350 I=1,6 211 : EPS2(I)=0.D0 212 : DO 3350 J=1,6 213 : EPS2(I)=ROTS(I,J)*EPS1(J)+EPS2(I) 214 : 3350 CONTINUE 215 : * 216 : RES(1)=EPS2(1)*TEMP 217 : RES(2)=EPS2(2)*TEMP 218 : RES(3)=EPS2(3)*TEMP 219 : RES(4)=EPS2(4)*TEMP 220 : RES(5)=EPS2(5)*TEMP 221 : RES(6)=EPS2(6)*TEMP 222 : ELSE 223 : KERRE=19 224 : GOTO 99 225 : ENDIF 226 : ELSE IF(MFR.EQ.75) THEN 227 : IF (IDIM.EQ.3) THEN 228 : ALP1= VALMAT(1) 229 : ALP2= VALMAT(2) 230 : ALP3= VALMAT(3) 231 : ALQ1= VALMAT(4) 232 : ALQ2= VALMAT(5) 233 : ALQ3= VALMAT(6) 234 : * 235 : EPS1(1)=ALP1 236 : EPS1(2)=ALP2 237 : EPS1(3)=ALP3 238 : EPS1(4)=ALQ1 239 : EPS1(5)=ALQ2 240 : EPS1(6)=ALQ3 241 : * 242 : DO I=1,6 243 : RES(I)=EPS1(I)*TEMP 244 : ENDDO 245 : * 246 : ELSE IF (IDIM.EQ.2) THEN 247 : ALP1= VALMAT(1) 248 : ALP2= VALMAT(2) 249 : ALQ3= VALMAT(3) 250 : * 251 : EPS1(1)=ALP1 252 : EPS1(2)=ALP2 253 : EPS1(3)=ALQ3 254 : * 255 : DO I=1,3 256 : RES(I)=EPS1(I)*TEMP 257 : ENDDO 258 : ENDIF 259 : ELSE 260 : KERRE=19 261 : ENDIF 262 : * 263 : 99 CONTINUE 264 : RETURN 265 : END 266 : 267 : 268 : 269 : 270 : 271 : 272 :
© Cast3M 2003 - All rights reserved.
Disclaimer