1 : C EPTHUN SOURCE AM 08/02/14 21:22:08 6050 2 : SUBROUTINE EPTHUN(MFR,MELE,VALMAT,NSTRS,TEMP,THIF,THM, 3 : 1 THSU,EPAIST,TXR,XLOC,XGLOB,ROTS,RES,KERRE) 4 : ******************************************************************* 5 : * APPELE PAR EPTHP :DEFORMATIONS THERMIQUES POUR LES MATERIAUX 6 : * UNIDIRECTIONNELS 7 : * 8 : * ENTREES : 9 : * MFR = NUMERO DE LA FORMULATION 10 : * MELE = NUMERO DE L'ELEMENT FINI 11 : * VALMAT = TABLEAU DE MATERIAU 12 : * NSTRS = NOMBRE DE COMPOSANTES DES DEFORMATIONS 13 : * TEMP,THIF,THM,THSU = TEMPERATURES 14 : * EPAIST = EPAISSEUR 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) THEN 43 : * 43 : CALL ZERO (XGLOB,IDIM,IDIM) 44 : 45 : * 46 : * CONTRAINTES PLANES 47 : * OU 48 : * DEFORMATIONS PLANES OU AXI OU FOURIER 49 : * 50 : IF(IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0 51 : 1 .OR.IFOUR.EQ.1)THEN 52 : * 53 : ALPH= VALMAT(1) 54 : XLOC(1,1)=VALMAT(2) 55 : XLOC(2,1)=VALMAT(3) 56 : XLOC(1,2)=-XLOC(2,1) 57 : XLOC(2,2)=XLOC(1,1) 58 : C DEFINITION DES AXES ORTHO./AXES GLOBAUX 59 : DO 4310 K=1,IDIM 60 : DO 4310 J=1,IDIM 61 : DO 4310 I=1,IDIM 62 : XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 63 : 4310 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)=ALPH 71 : * 72 : * CHGT D'AXES 73 : * 74 : EPS2(1)=CC*EPS1(1) 75 : EPS2(2)=SS*EPS1(1) 76 : EPS2(3)=0.D0 77 : EPS2(4)=(CS*EPS1(1))*2.D0 78 : * 79 : RES(1)=EPS2(1)*TEMP 80 : RES(2)=EPS2(2)*TEMP 81 : RES(3)=0.D0 82 : RES(4)=EPS2(4)*TEMP 83 : IF(IFOUR.EQ.1) THEN 84 : RES(5)=0.D0 85 : RES(6)=0.D0 86 : ENDIF 87 : * 88 : * TRIDIMENSIONNEL 89 : * 90 : ELSE 91 : ALPH= VALMAT(1) 92 : XLOC(1,1)=VALMAT(2) 93 : XLOC(2,1)=VALMAT(3) 94 : XLOC(3,1)=VALMAT(4) 95 : XLOC(1,2)=VALMAT(5) 96 : XLOC(2,2)=VALMAT(6) 97 : XLOC(3,2)=VALMAT(7) 97 : CALL CROSS2(XLOC(1,1),XLOC(1,2),XLOC(1,3),IRR) 98 : C DEFINITION DES AXES ORTHO./AXES GLOBAUX 99 : DO 2330 K=1,IDIM 100 : DO 2330 J=1,IDIM 101 : DO 2330 I=1,IDIM 102 : XGLOB(J,K)=TXR(J,I)*XLOC(I,K)+XGLOB(J,K) 103 : 2330 CONTINUE 104 : * 105 : * MATRICE DE TRANSFORMATION 106 : * 107 : DO 2331 IC=1,3 108 : DO 2331 IL=1,3 109 : ROTS(IL,IC)=XGLOB(IL,IC)*XGLOB(IL,IC) 110 : 2331 CONTINUE 111 : C 112 : DO 2332 IL=1,3 113 : ROTS(IL,4)=XGLOB(IL,1)*XGLOB(IL,2) 114 : ROTS(IL,5)=XGLOB(IL,2)*XGLOB(IL,3) 115 : ROTS(IL,6)=XGLOB(IL,1)*XGLOB(IL,3) 116 : 2332 CONTINUE 117 : C 118 : DO 2333 IC=1,3 119 : ROTS(4,IC)=2.D0*XGLOB(1,IC)*XGLOB(2,IC) 120 : ROTS(5,IC)=2.D0*XGLOB(2,IC)*XGLOB(3,IC) 121 : ROTS(6,IC)=2.D0*XGLOB(1,IC)*XGLOB(3,IC) 122 : 2333 CONTINUE 123 : C 124 : DO 2334 IL=4,6 125 : IL1=IL-3 126 : IL2=IL1+1 127 : IF(IL2.GT.3)IL2=IL2-3 128 : DO 2334 IC=4,6 129 : IC1=IC-3 130 : IC2=IC1+1 131 : IF(IC2.GT.3)IC2=IC2-3 132 : ROTS(IL,IC)=XGLOB(IL1,IC1)*XGLOB(IL2,IC2)+ 133 : . XGLOB(IL1,IC2)*XGLOB(IL2,IC1) 134 : 2334 CONTINUE 135 : DO 2335 IC=1,6 136 : AA=ROTS(6,IC) 137 : ROTS(6,IC)=ROTS(5,IC) 138 : ROTS(5,IC)=AA 139 : 2335 CONTINUE 140 : DO 2336 IL=1,6 141 : AA=ROTS(IL,6) 142 : ROTS(IL,6)=ROTS(IL,5) 143 : ROTS(IL,5)=AA 144 : 2336 CONTINUE 145 : * 146 : * EN AXES D'ORTHOTROPIE 147 : * 148 : EPS1(1)=ALPH 149 : DO 2340 I=2,6 150 : EPS1(I)=0.D0 151 : 2340 CONTINUE 152 : * 153 : * CHGT D'AXES 154 : * 155 : DO 2350 I=1,6 156 : EPS2(I)=0.D0 157 : DO 2350 J=1,6 158 : EPS2(I)= EPS2(I) +ROTS(I,J)*EPS1(J) 159 : 2350 CONTINUE 160 : * 161 : RES(1)=EPS2(1)*TEMP 162 : RES(2)=EPS2(2)*TEMP 163 : RES(3)=EPS2(3)*TEMP 164 : RES(4)=EPS2(4)*TEMP 165 : RES(5)=EPS2(5)*TEMP 166 : RES(6)=EPS2(6)*TEMP 167 : ENDIF 168 : *____________________________________________________________________ 169 : * 170 : * SECTEUR DE CALCUL POUR LES ELEMENTS COQUES MINCES SAUF COQ2 171 : *____________________________________________________________________ 172 : * 173 : ELSE IF(MELE.EQ.27.OR.MELE.EQ.28.OR. 174 : 1 MELE.EQ.49)THEN 175 : ALPH=VALMAT(1) 176 : V1X= VALMAT(2) 177 : V1Y= VALMAT(3) 178 : CC=V1X*V1X 179 : SS=V1Y*V1Y 180 : CS=V1X*V1Y 181 : THMO=(THSU+THIF+4.D0*THM)/6.D0 182 : THDI=THSU-THIF 183 : FACM=THMO 184 : FACF=THDI/EPAIST 185 : * 186 : * EN AXES D'ORTHOTROPIE 187 : * 188 : EPS1(1)=ALPH 189 : EPS1(2)=0.D0 190 : EPS1(3)=0.D0 191 : * 192 : * CHGT D'AXES 193 : * 194 : EPS2(1)=CC*EPS1(1) 195 : EPS2(2)=SS*EPS1(1) 196 : EPS2(3)=CS*EPS1(1)*2.D0 197 : * 198 : IF(IFOUR.GT.0) THEN 199 : RES(1)=EPS2(1)*FACM 200 : RES(2)=EPS2(2)*FACM 201 : RES(3)=EPS2(3)*FACM 202 : RES(4)=(EPS2(1)*FACF) 203 : *2.D0 204 : RES(5)=(EPS2(2)*FACF) 205 : *2.D0 206 : RES(6)=(EPS2(3)*FACF) 207 : *2.D0 208 : ELSE IF(IFOUR.LE.0) THEN 209 : * 210 : * PAS GRAND SENS DANS CE CAS 211 : * 212 : KERRE=19 213 : GO TO 99 214 : ENDIF 215 : C____________________________________________________________________ 216 : C 217 : C SECTEUR DE CALCUL POUR LES ELEMENTS COQ2 218 : C____________________________________________________________________ 219 : C 220 : ELSEIF(MELE.EQ.44)THEN 221 : ALPH=VALMAT(1) 222 : V1X =VALMAT(2) 223 : V1Y =VALMAT(3) 224 : CC=V1X*V1X 225 : SS=V1Y*V1Y 226 : CS=V1X*V1Y 227 : THMO=(THSU+THIF+4.D0*THM)/6.D0 228 : THDI=THSU-THIF 229 : FACM=THMO 230 : FACF=THDI/EPAIST 231 : * 232 : * EN AXES D'ORTHOTROPIE 233 : * 234 : EPS1(1)=ALPH 235 : EPS1(2)=0.D0 236 : EPS1(3)=0.D0 237 : * 238 : * CHGT D'AXES 239 : * 240 : EPS2(1)=CC*EPS1(1) 241 : EPS2(2)=SS*EPS1(1) 242 : EPS2(3)=CS*EPS1(1)*2.D0 243 : * 244 : IF(IFOUR.GT.0) THEN 245 : RES(1)=EPS2(1)*FACM 246 : RES(2)=EPS2(2)*FACM 247 : RES(3)=EPS2(3)*FACM 248 : RES(4)=EPS2(1)*FACF 249 : *2.D0 250 : RES(5)=EPS2(2)*FACF 251 : *2.D0 252 : RES(6)=EPS2(3)*FACF 253 : *2.D0 254 : ELSE IF(IFOUR.LE.0) THEN 255 : RES(1)=EPS2(1)*FACM 256 : RES(2)=EPS2(2)*FACM 257 : RES(3)=EPS2(1)*FACF 258 : RES(4)=EPS2(2)*FACF 259 : *2.D0 260 : ELSE 261 : KERRE=19 262 : GO TO 99 263 : ENDIF 264 : ELSE 265 : KERRE=19 266 : ENDIF 267 : * 268 : 99 CONTINUE 269 : RETURN 270 : END 271 : 272 : 273 : 274 : 275 :
© Cast3M 2003 - All rights reserved.
Disclaimer