1 : C MAXWEL SOURCE CHAT 05/01/13 01:38:12 5004 2 : SUBROUTINE MAXWEL(WRK0,WRK1,WRK5,WR12,MFR, 3 : 1 IB,IGAU,MELE,NCHAIN,KERRE,DT,CMATE,NWA,TEMP0) 4 : * 5 : *============================================================== 6 : * chaine de Maxwell 7 : *============================================================== 8 : * 9 : * entrees 10 : * 11 : * WRK0 12 : * XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU 13 : * 14 : * WRK1 15 : * SIG0(NSTRS) = CONTR. AU DEBUT DU PAS D'INTEGRATION 16 : * DEPST(NSTRS) = INCREMENT DES DEFORM. TOTALES 17 : * VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION 18 : * XCAR(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS 19 : * 20 : * WRK5 21 : * EPINO(NSTRS) = DEFORMATION INELASTIQUE AU DEBUT DU PAS D'INTEGRATION 22 : * 23 : * WRK12 24 : * EMi(2,NWA(i+1)) i=0 a 8 25 : * = EVOLUTION DU MODUE D'YOUNG DE LA BRANCHE i 26 : * SMi(NSTRS) i=1 a 8 27 : * = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION 28 : * 29 : * IB = NUMERO DE L'ELEMENT 30 : * IGAU = NUMERO DU POINT DE GAUSS 31 : * MELE = NUMERO DE L'ELEMENT FINI (TYPE) 32 : * NCHAIN = NOMBRE DE BRANCHE DU MODELE DE MAXWELL 33 : * DT = INCREMENT DE TEMPS 34 : * NWA = DIMENSION DES EVOLUTIONS EMi 35 : * TEMP0 = TEMPS COURANT 36 : * 37 : 38 : * sorties 39 : * 40 : * WRK1 41 : * SIGF(NSTRS)= CONTR. A LA FIN DU PAS D'INTEGRATION 42 : * DEFP(NSTRS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS 43 : * D'INTEGRATION 44 : * 45 : * WRK5 46 : * EPINF(NSTRS) = DEFORMATION INELASTIQUE A LA FIN DU PAS D'INTEGRATION 47 : * 48 : * 49 : * 50 : * 51 : * 52 : *============================================================== 53 : * 54 : IMPLICIT INTEGER(I-N) 55 : IMPLICIT REAL*8(A-H,O-Z) 56 : -INC CCOPTIO 57 : * 58 : SEGMENT WRK0 59 : REAL*8 XMAT(NCXMAT) 60 : ENDSEGMENT 61 : * 62 : SEGMENT WRK1 63 : REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS) 64 : REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) 65 : REAL*8 DEFP(NSTRS),XCAR(ICARA) 66 : ENDSEGMENT 67 : * 68 : SEGMENT WRK5 69 : REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) 70 : ENDSEGMENT 71 : * 72 : SEGMENT WR12 73 : REAL*8 EM0(2,NWA(1)),EM1(2,NWA(2)),EM2(2,NWA(3)) 74 : REAL*8 EM3(2,NWA(4)),EM4(2,NWA(5)),EM5(2,NWA(6)) 75 : REAL*8 EM6(2,NWA(7)),EM7(2,NWA(8)),EM8(2,NWA(9)) 76 : REAL*8 SM0(NSTRS),SM1(NSTRS),SM2(NSTRS),SM3(NSTRS) 77 : REAL*8 SM4(NSTRS),SM5(NSTRS),SM6(NSTRS),SM7(NSTRS) 78 : REAL*8 SM8(NSTRS) 79 : ENDSEGMENT 80 : * 81 : CHARACTER*8 CMATE 82 : 83 : DIMENSION NWA(9) 84 : NCXMAT=XMAT(/1) 85 : NVARI=VAR0(/1) 86 : NSTRS=SIG0(/1) 87 : ANU=XMAT(2) 88 : UNANU=1.D0-ANU 89 : TPS1=TEMP0 90 : TPS2=TEMP0+DT 91 : SE1=0.D0 92 : SE2=0.D0 93 : 94 : * 95 : * Formulation UNIDIMENSIONNELLE 96 : * ou Formulation UNIDIRECTIONNELLE 97 : * 98 : IF (MFR.EQ.27.OR. 99 : & ((MFR.EQ.1.OR.MFR.EQ.33).AND.( CMATE.EQ.'UNIDIREC'))) THEN 100 : 101 : CONS=1. 102 : IF(MFR.EQ.27) XSECT=XCAR(1) 103 : IF(MFR.EQ.1.OR.MFR.EQ.33) XSECT=1.D0 104 : 105 : 105 : CALL MODFIC(TPS1,TPS2,0,WR12,WRK0, 106 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 107 : FLUA=EXP(-TR*DT) 108 : SM0(1)=SM0(1)/XSECT 109 : SM0(1)=SM0(1)*FLUA+CONS*EFIC*DEPST(1) 110 : SM0(1)=SM0(1)*XSECT 111 : SIGF(1)=SM0(1) 112 : SE1=SE1+E1 113 : SE2=SE2+E2 114 : 114 : CALL MODFIC(TPS1,TPS2,1,WR12,WRK0, 115 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 116 : FLUA=EXP(-TR*DT) 117 : SM1(1)=SM1(1)/XSECT 118 : SM1(1)=SM1(1)*FLUA+CONS*EFIC*DEPST(1) 119 : SM1(1)=SM1(1)*XSECT 120 : SIGF(1)=SIGF(1)+SM1(1) 121 : SE1=SE1+E1 122 : SE2=SE2+E2 123 : 124 : 125 : 125 : CALL MODFIC(TPS1,TPS2,2,WR12,WRK0, 126 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 127 : FLUA=EXP(-TR*DT) 128 : SM2(1)=SM2(1)/XSECT 129 : SM2(1)=SM2(1)*FLUA+CONS*EFIC*DEPST(1) 130 : SM2(1)=SM2(1)*XSECT 131 : SIGF(1)=SIGF(1)+SM2(1) 132 : SE1=SE1+E1 133 : SE2=SE2+E2 134 : 134 : CALL MODFIC(TPS1,TPS2,3,WR12,WRK0, 135 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 136 : FLUA=EXP(-TR*DT) 137 : SM3(1)=SM3(1)/XSECT 138 : SM3(1)=SM3(1)*FLUA+CONS*EFIC*DEPST(1) 139 : SM3(1)=SM3(1)*XSECT 140 : SIGF(1)=SIGF(1)+SM3(1) 141 : SE1=SE1+E1 142 : SE2=SE2+E2 143 : 143 : CALL MODFIC(TPS1,TPS2,4,WR12,WRK0, 144 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 145 : FLUA=EXP(-TR*DT) 146 : SM4(1)=SM4(1)/XSECT 147 : SM4(1)=SM4(1)*FLUA+CONS*EFIC*DEPST(1) 148 : SM4(1)=SM4(1)*XSECT 149 : SIGF(1)=SIGF(1)+SM4(1) 150 : SE1=SE1+E1 151 : SE2=SE2+E2 152 : 153 : IF (NCHAIN-1.GE.5) THEN 153 : CALL MODFIC(TPS1,TPS2,5,WR12,WRK0, 154 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 155 : FLUA=EXP(-TR*DT) 156 : SM5(1)=SM5(1)/XSECT 157 : SM5(1)=SM5(1)*FLUA+CONS*EFIC*DEPST(1) 158 : SM5(1)=SM5(1)*XSECT 159 : SIGF(1)=SIGF(1)+SM5(1) 160 : SE1=SE1+E1 161 : SE2=SE2+E2 162 : 163 : ELSE IF (NCHAIN-1.GE.6) THEN 163 : CALL MODFIC(TPS1,TPS2,6,WR12,WRK0, 164 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 165 : FLUA=EXP(-TR*DT) 166 : SM6(1)=SM6(1)/XSECT 167 : SM6(1)=SM6(1)*FLUA+CONS*EFIC*DEPST(1) 168 : SM6(1)=SM6(1)*XSECT 169 : SIGF(1)=SIGF(1)+SM6(1) 170 : SE1=SE1+E1 171 : SE2=SE2+E2 172 : 173 : ELSE IF (NCHAIN-1.GE.7) THEN 173 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 174 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 175 : FLUA=EXP(-TR*DT) 176 : SM7(1)=SM7(1)/XSECT 177 : SM7(1)=SM7(1)*FLUA+CONS*EFIC*DEPST(1) 178 : SM7(1)=SM7(1)*XSECT 179 : SIGF(1)=SIGF(1)+SM7(1) 180 : SE1=SE1+E1 181 : SE2=SE2+E2 182 : 183 : ELSE IF (NCHAIN-1.GE.8) THEN 183 : CALL MODFIC(TPS1,TPS2,8,WR12,WRK0, 184 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 185 : FLUA=EXP(-TR*DT) 186 : SM8(1)=SM8(1)/XSECT 187 : SM8(1)=SM8(1)*FLUA+CONS*EFIC*DEPST(1) 188 : SM8(1)=SM8(1)*XSECT 189 : SIGF(1)=SIGF(1)+SM8(1) 190 : SE1=SE1+E1 191 : SE2=SE2+E2 192 : ENDIF 193 : 194 : DEFP(1)=DEPST(1)-((SIGF(1))/(XSECT*SE2)) 195 : 1 +((SIG0(1))/(XSECT*SE1)) 196 : EPINF(1)=EPIN0(1)-DEFP(1) 197 : DO I=1,NVARI 198 : VARF(I)=VAR0(I) 199 : END DO 200 : GOTO 999 201 : 202 : * Formulation TRIDIMENSIONNELLE MASSIVE 203 : * 204 : ELSE IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN 205 : CONS=1.D0/((1.D0+ANU)*(1.D0-2.D0*ANU)) 206 : DO 10 M=0,NCHAIN-1 206 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 207 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 208 : SE1=SE1+E1 209 : SE2=SE2+E2 210 : FLUA=EXP(-TR*DT) 211 : IF (M.EQ.0) THEN 212 : SM0(1)=SM0(1)*FLUA 213 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 214 : SM0(2)=SM0(2)*FLUA 215 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 216 : SM0(3)=SM0(3)*FLUA 217 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 218 : SM0(4)=SM0(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 219 : SM0(5)=SM0(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 220 : SM0(6)=SM0(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 221 : SIGF(1)=SM0(1) 222 : SIGF(2)=SM0(2) 223 : SIGF(3)=SM0(3) 224 : SIGF(4)=SM0(4) 225 : SIGF(5)=SM0(5) 226 : SIGF(6)=SM0(6) 227 : ELSE IF (M.EQ.1) THEN 228 : SM1(1)=SM1(1)*FLUA 229 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 230 : SM1(2)=SM1(2)*FLUA 231 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 232 : SM1(3)=SM1(3)*FLUA 233 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 234 : SM1(4)=SM1(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 235 : SM1(5)=SM1(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 236 : SM1(6)=SM1(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 237 : SIGF(1)=SIGF(1)+SM1(1) 238 : SIGF(2)=SIGF(2)+SM1(2) 239 : SIGF(3)=SIGF(3)+SM1(3) 240 : SIGF(4)=SIGF(4)+SM1(4) 241 : SIGF(5)=SIGF(5)+SM1(5) 242 : SIGF(6)=SIGF(6)+SM1(6) 243 : ELSE IF (M.EQ.2) THEN 244 : SM2(1)=SM2(1)*FLUA 245 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 246 : SM2(2)=SM2(2)*FLUA 247 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 248 : SM2(3)=SM2(3)*FLUA 249 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 250 : SM2(4)=SM2(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 251 : SM2(5)=SM2(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 252 : SM2(6)=SM2(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 253 : SIGF(1)=SIGF(1)+SM2(1) 254 : SIGF(2)=SIGF(2)+SM2(2) 255 : SIGF(3)=SIGF(3)+SM2(3) 256 : SIGF(4)=SIGF(4)+SM2(4) 257 : SIGF(5)=SIGF(5)+SM2(5) 258 : SIGF(6)=SIGF(6)+SM2(6) 259 : ELSE IF (M.EQ.3) THEN 260 : SM3(1)=SM3(1)*FLUA 261 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 262 : SM3(2)=SM3(2)*FLUA 263 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 264 : SM3(3)=SM3(3)*FLUA 265 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 266 : SM3(4)=SM3(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 267 : SM3(5)=SM2(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 268 : SM3(6)=SM2(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 269 : SIGF(1)=SIGF(1)+SM3(1) 270 : SIGF(2)=SIGF(2)+SM3(2) 271 : SIGF(3)=SIGF(3)+SM3(3) 272 : SIGF(4)=SIGF(4)+SM3(4) 273 : SIGF(5)=SIGF(5)+SM3(5) 274 : SIGF(6)=SIGF(6)+SM3(6) 275 : ELSE IF (M.EQ.4) THEN 276 : SM4(1)=SM4(1)*FLUA 277 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 278 : SM4(2)=SM4(2)*FLUA 279 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 280 : SM4(3)=SM4(3)*FLUA 281 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 282 : SM4(4)=SM4(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 283 : SM4(5)=SM4(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 284 : SM4(6)=SM4(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 285 : SIGF(1)=SIGF(1)+SM4(1) 286 : SIGF(2)=SIGF(2)+SM4(2) 287 : SIGF(3)=SIGF(3)+SM4(3) 288 : SIGF(4)=SIGF(4)+SM4(4) 289 : SIGF(5)=SIGF(5)+SM4(5) 290 : SIGF(6)=SIGF(6)+SM4(6) 291 : ELSE IF (M.EQ.5) THEN 292 : SM5(1)=SM5(1)*FLUA 293 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 294 : SM5(2)=SM5(2)*FLUA 295 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 296 : SM5(3)=SM5(3)*FLUA 297 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 298 : SM5(4)=SM5(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 299 : SM5(5)=SM5(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 300 : SM5(6)=SM5(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 301 : SIGF(1)=SIGF(1)+SM5(1) 302 : SIGF(2)=SIGF(2)+SM5(2) 303 : SIGF(3)=SIGF(3)+SM5(3) 304 : SIGF(4)=SIGF(4)+SM5(4) 305 : SIGF(5)=SIGF(5)+SM5(5) 306 : SIGF(6)=SIGF(6)+SM5(6) 307 : ELSE IF (M.EQ.6) THEN 308 : SM6(1)=SM6(1)*FLUA 309 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 310 : SM6(2)=SM6(2)*FLUA 311 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 312 : SM6(3)=SM6(3)*FLUA 313 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 314 : SM6(4)=SM6(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 315 : SM6(5)=SM6(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 316 : SM6(6)=SM6(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 317 : SIGF(1)=SIGF(1)+SM6(1) 318 : SIGF(2)=SIGF(2)+SM6(2) 319 : SIGF(3)=SIGF(3)+SM6(3) 320 : SIGF(4)=SIGF(4)+SM6(4) 321 : SIGF(5)=SIGF(5)+SM6(5) 322 : SIGF(6)=SIGF(6)+SM6(6) 323 : ELSE IF (M.EQ.7) THEN 324 : SM7(1)=SM7(1)*FLUA 325 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 326 : SM7(2)=SM7(2)*FLUA 327 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 328 : SM7(3)=SM7(3)*FLUA 329 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 330 : SM7(4)=SM7(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 331 : SM7(5)=SM7(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 332 : SM7(6)=SM7(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 333 : SIGF(1)=SIGF(1)+SM7(1) 334 : SIGF(2)=SIGF(2)+SM7(2) 335 : SIGF(3)=SIGF(3)+SM7(3) 336 : SIGF(4)=SIGF(4)+SM7(4) 337 : SIGF(5)=SIGF(5)+SM7(5) 338 : SIGF(6)=SIGF(6)+SM7(6) 339 : ELSE IF (M.EQ.8) THEN 340 : SM8(1)=SM8(1)*FLUA 341 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 342 : SM8(2)=SM8(2)*FLUA 343 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 344 : SM8(3)=SM8(3)*FLUA 345 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 346 : SM8(4)=SM8(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 347 : SM8(5)=SM8(5)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(5) 348 : SM8(6)=SM8(6)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(6) 349 : SIGF(1)=SIGF(1)+SM8(1) 350 : SIGF(2)=SIGF(2)+SM8(2) 351 : SIGF(3)=SIGF(3)+SM8(3) 352 : SIGF(4)=SIGF(4)+SM8(4) 353 : SIGF(5)=SIGF(5)+SM8(5) 354 : SIGF(6)=SIGF(6)+SM8(6) 355 : END IF 356 : 10 CONTINUE 357 : 358 : DEFP(1)=DEPST(1)-((SIGF(1)-ANU*(SIGF(2)+SIGF(3)))/SE2 359 : 1 -(SIG0(1)-ANU*(SIG0(2)+SIG0(3)))/SE1) 360 : DEFP(2)=DEPST(2)-((SIGF(2)-ANU*(SIGF(1)+SIGF(3)))/SE2 361 : 1 -(SIG0(2)-ANU*(SIG0(1)+SIG0(3)))/SE1) 362 : DEFP(3)=DEPST(3)-((SIGF(3)-ANU*(SIGF(2)+SIGF(1)))/SE2 363 : 1 -(SIG0(3)-ANU*(SIG0(2)+SIG0(1)))/SE1) 364 : DEFP(4)=DEPST(4)-(1+ANU)*(SIGF(4)/SE2-SIG0(4)/SE1) 365 : DEFP(5)=DEPST(5)-(1+ANU)*(SIGF(5)/SE2-SIG0(5)/SE1) 366 : DEFP(6)=DEPST(6)-(1+ANU)*(SIGF(6)/SE2-SIG0(6)/SE1) 367 : DO I=1,NSTRS 368 : EPINF(I)=EPIN0(I)+DEFP(I) 369 : END DO 370 : GOTO 999 371 : 372 : 373 : * 374 : * Formulation DEFORMATIONS PLANES /AXISYMETRIQUE 375 : * 376 : ELSE IF ((IFOMOD.EQ.-1.AND.IFOUR.NE.-2).OR. 377 : & (IFOMOD.EQ.0.OR.IFOMOD.EQ.1)) THEN 378 : CONS=1.D0/((1.D0+ANU)*(1.D0-2.D0*ANU)) 379 : DO 20 M=0,NCHAIN-1 379 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 380 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 381 : SE1=SE1+E1 382 : SE2=SE2+E2 383 : FLUA=EXP(-TR*DT) 384 : IF (M.EQ.0) THEN 385 : SM0(1)=SM0(1)*FLUA 386 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 387 : SM0(2)=SM0(2)*FLUA 388 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 389 : SM0(3)=SM0(3)*FLUA 390 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 391 : SM0(4)=SM0(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 392 : SIGF(1)=SM0(1) 393 : SIGF(2)=SM0(2) 394 : SIGF(3)=SM0(3) 395 : SIGF(4)=SM0(4) 396 : ELSE IF (M.EQ.1) THEN 397 : SM1(1)=SM1(1)*FLUA 398 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 399 : SM1(2)=SM1(2)*FLUA 400 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 401 : SM1(3)=SM1(3)*FLUA 402 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 403 : SM1(4)=SM1(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 404 : SIGF(1)=SIGF(1)+SM1(1) 405 : SIGF(2)=SIGF(2)+SM1(2) 406 : SIGF(3)=SIGF(3)+SM1(3) 407 : SIGF(4)=SIGF(4)+SM1(4) 408 : ELSE IF (M.EQ.2) THEN 409 : SM2(1)=SM2(1)*FLUA 410 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 411 : SM2(2)=SM2(2)*FLUA 412 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 413 : SM2(3)=SM2(3)*FLUA 414 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 415 : SM2(4)=SM2(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 416 : SIGF(1)=SIGF(1)+SM2(1) 417 : SIGF(2)=SIGF(2)+SM2(2) 418 : SIGF(3)=SIGF(3)+SM2(3) 419 : SIGF(4)=SIGF(4)+SM2(4) 420 : ELSE IF (M.EQ.3) THEN 421 : SM3(1)=SM3(1)*FLUA 422 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 423 : SM3(2)=SM3(2)*FLUA 424 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 425 : SM3(3)=SM3(3)*FLUA 426 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 427 : SM3(4)=SM3(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 428 : SIGF(1)=SIGF(1)+SM3(1) 429 : SIGF(2)=SIGF(2)+SM3(2) 430 : SIGF(3)=SIGF(3)+SM3(3) 431 : SIGF(4)=SIGF(4)+SM3(4) 432 : ELSE IF (M.EQ.4) THEN 433 : SM4(1)=SM4(1)*FLUA 434 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 435 : SM4(2)=SM4(2)*FLUA 436 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 437 : SM4(3)=SM4(3)*FLUA 438 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 439 : SM4(4)=SM4(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 440 : SIGF(1)=SIGF(1)+SM4(1) 441 : SIGF(2)=SIGF(2)+SM4(2) 442 : SIGF(3)=SIGF(3)+SM4(3) 443 : SIGF(4)=SIGF(4)+SM4(4) 444 : ELSE IF (M.EQ.5) THEN 445 : SM5(1)=SM5(1)*FLUA 446 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 447 : SM5(2)=SM5(2)*FLUA 448 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 449 : SM5(3)=SM5(3)*FLUA 450 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 451 : SM5(4)=SM5(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 452 : SIGF(1)=SIGF(1)+SM5(1) 453 : SIGF(2)=SIGF(2)+SM5(2) 454 : SIGF(3)=SIGF(3)+SM5(3) 455 : SIGF(4)=SIGF(4)+SM5(4) 456 : ELSE IF (M.EQ.6) THEN 457 : SM6(1)=SM6(1)*FLUA 458 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 459 : SM6(2)=SM6(2)*FLUA 460 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 461 : SM6(3)=SM6(3)*FLUA 462 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 463 : SM6(4)=SM6(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 464 : SIGF(1)=SIGF(1)+SM6(1) 465 : SIGF(2)=SIGF(2)+SM6(2) 466 : SIGF(3)=SIGF(3)+SM6(3) 467 : SIGF(4)=SIGF(4)+SM6(4) 468 : ELSE IF (M.EQ.7) THEN 469 : SM7(1)=SM7(1)*FLUA 470 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 471 : SM7(2)=SM7(2)*FLUA 472 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 473 : SM7(3)=SM7(3)*FLUA 474 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 475 : SM7(4)=SM7(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 476 : SIGF(1)=SIGF(1)+SM7(1) 477 : SIGF(2)=SIGF(2)+SM7(2) 478 : SIGF(3)=SIGF(3)+SM7(3) 479 : SIGF(4)=SIGF(4)+SM7(4) 480 : ELSE IF (M.EQ.8) THEN 481 : SM8(1)=SM8(1)*FLUA 482 : 1 +CONS*EFIC*((UNANU)*DEPST(1)+ANU*(DEPST(2)+DEPST(3))) 483 : SM8(2)=SM8(2)*FLUA 484 : 1 +CONS*EFIC*((UNANU)*DEPST(2)+ANU*(DEPST(1)+DEPST(3))) 485 : SM8(3)=SM8(3)*FLUA 486 : 1 +CONS*EFIC*((UNANU)*DEPST(3)+ANU*(DEPST(1)+DEPST(2))) 487 : SM8(4)=SM8(4)*FLUA+CONS*EFIC*(1.D0-2.D0*ANU)*DEPST(4) 488 : SIGF(1)=SIGF(1)+SM8(1) 489 : SIGF(2)=SIGF(2)+SM8(2) 490 : SIGF(3)=SIGF(3)+SM8(3) 491 : SIGF(4)=SIGF(4)+SM8(4) 492 : END IF 493 : 20 CONTINUE 494 : 495 : DEFP(1)=DEPST(1)-((SIGF(1)-ANU*(SIGF(2)+SIGF(3)))/SE2 496 : 1 -(SIG0(1)-ANU*(SIG0(2)+SIG0(3)))/SE1) 497 : DEFP(2)=DEPST(2)-((SIGF(2)-ANU*(SIGF(1)+SIGF(3)))/SE2 498 : 1 -(SIG0(2)-ANU*(SIG0(1)+SIG0(3)))/SE1) 499 : DEFP(3)=DEPST(3)-((SIGF(3)-ANU*(SIGF(2)+SIGF(1)))/SE2 500 : 1 -(SIG0(3)-ANU*(SIG0(2)+SIG0(1)))/SE1) 501 : DEFP(4)=DEPST(4)-(1+ANU)*(SIGF(4)/SE2-SIG0(4)/SE1) 502 : DO I=1,NSTRS 503 : EPINF(I)=EPIN0(I)+DEFP(I) 504 : END DO 505 : GOTO 999 506 : 507 : * 508 : * Formulation CONTRAINTES PLANES 509 : * 510 : ELSE IF (IFOMOD.EQ.-1.AND.IFOUR.EQ.-2) THEN 511 : * CONS=1.D0/(UNANU*ANU) 512 : CONS=1.D0/(1.D0-(ANU*ANU)) 513 : DO 30 M=0,NCHAIN-1 513 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 514 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 515 : SE1=SE1+E1 516 : SE2=SE2+E2 517 : FLUA=EXP(-TR*DT) 518 : IF (M.EQ.0) THEN 519 : SM0(1)=SM0(1)*FLUA 520 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 521 : SM0(2)=SM0(2)*FLUA 522 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 523 : SM0(3)=0.D0 524 : SM0(4)=SM0(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 525 : SIGF(1)=SM0(1) 526 : SIGF(2)=SM0(2) 527 : SIGF(3)=SM0(3) 528 : SIGF(4)=SM0(4) 529 : ELSE IF (M.EQ.1) THEN 530 : SM1(1)=SM1(1)*FLUA 531 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 532 : SM1(2)=SM1(2)*FLUA 533 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 534 : SM1(3)=0.D0 535 : SM1(4)=SM1(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 536 : SIGF(1)=SIGF(1)+SM1(1) 537 : SIGF(2)=SIGF(2)+SM1(2) 538 : SIGF(3)=SIGF(3)+SM1(3) 539 : SIGF(4)=SIGF(4)+SM1(4) 540 : ELSE IF (M.EQ.2) THEN 541 : SM2(1)=SM2(1)*FLUA 542 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 543 : SM2(2)=SM2(2)*FLUA 544 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 545 : SM2(3)=0.D0 546 : SM2(4)=SM2(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 547 : SIGF(1)=SIGF(1)+SM2(1) 548 : SIGF(2)=SIGF(2)+SM2(2) 549 : SIGF(3)=SIGF(3)+SM2(3) 550 : SIGF(4)=SIGF(4)+SM2(4) 551 : ELSE IF (M.EQ.3) THEN 552 : SM3(1)=SM3(1)*FLUA 553 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 554 : SM3(2)=SM3(2)*FLUA 555 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 556 : SM3(3)=0.D0 557 : SM3(4)=SM3(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 558 : SIGF(1)=SIGF(1)+SM3(1) 559 : SIGF(2)=SIGF(2)+SM3(2) 560 : SIGF(3)=SIGF(3)+SM3(3) 561 : SIGF(4)=SIGF(4)+SM3(4) 562 : ELSE IF (M.EQ.4) THEN 563 : SM4(1)=SM4(1)*FLUA 564 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 565 : SM4(2)=SM4(2)*FLUA 566 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 567 : SM4(3)=0.D0 568 : SM4(4)=SM4(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 569 : SIGF(1)=SIGF(1)+SM4(1) 570 : SIGF(2)=SIGF(2)+SM4(2) 571 : SIGF(3)=SIGF(3)+SM4(3) 572 : SIGF(4)=SIGF(4)+SM4(4) 573 : ELSE IF (M.EQ.5) THEN 574 : SM5(1)=SM5(1)*FLUA 575 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 576 : SM5(2)=SM5(2)*FLUA 577 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 578 : SM5(3)=0.D0 579 : SM5(4)=SM5(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 580 : SIGF(1)=SIGF(1)+SM5(1) 581 : SIGF(2)=SIGF(2)+SM5(2) 582 : SIGF(3)=SIGF(3)+SM5(3) 583 : SIGF(4)=SIGF(4)+SM5(4) 584 : ELSE IF (M.EQ.6) THEN 585 : SM6(1)=SM6(1)*FLUA 586 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 587 : SM6(2)=SM6(2)*FLUA 588 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 589 : SM6(3)=0.D0 590 : SM6(4)=SM6(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 591 : SIGF(1)=SIGF(1)+SM6(1) 592 : SIGF(2)=SIGF(2)+SM6(2) 593 : SIGF(3)=SIGF(3)+SM6(3) 594 : SIGF(4)=SIGF(4)+SM6(4) 595 : ELSE IF (M.EQ.7) THEN 596 : SM7(1)=SM7(1)*FLUA 597 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 598 : SM7(2)=SM7(2)*FLUA 599 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 600 : SM7(3)=0.D0 601 : SM7(4)=SM7(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 602 : SIGF(1)=SIGF(1)+SM7(1) 603 : SIGF(2)=SIGF(2)+SM7(2) 604 : SIGF(3)=SIGF(3)+SM7(3) 605 : SIGF(4)=SIGF(4)+SM7(4) 606 : ELSE IF (M.EQ.8) THEN 607 : SM8(1)=SM8(1)*FLUA 608 : 1 +CONS*EFIC*(DEPST(1)+ANU*DEPST(2)) 609 : SM8(2)=SM8(2)*FLUA 610 : 1 +CONS*EFIC*(DEPST(2)+ANU*DEPST(1)) 611 : SM8(3)=0.D0 612 : SM8(4)=SM8(4)*FLUA+CONS*EFIC*(UNANU)/2.D0*DEPST(4) 613 : SIGF(1)=SIGF(1)+SM8(1) 614 : SIGF(2)=SIGF(2)+SM8(2) 615 : SIGF(3)=SIGF(3)+SM8(3) 616 : SIGF(4)=SIGF(4)+SM8(4) 617 : END IF 618 : 30 CONTINUE 619 : 620 : DEFP(1)=DEPST(1)-((SIGF(1)-ANU*(SIGF(2)+SIGF(3)))/SE2 621 : 1 -(SIG0(1)-ANU*(SIG0(2)+SIG0(3)))/SE1) 622 : DEFP(2)=DEPST(2)-((SIGF(2)-ANU*(SIGF(1)+SIGF(3)))/SE2 623 : 1 -(SIG0(2)-ANU*(SIG0(1)+SIG0(3)))/SE1) 624 : DEFP(3)=DEPST(3)-((SIGF(3)-ANU*(SIGF(2)+SIGF(1)))/SE2 625 : 1 -(SIG0(3)-ANU*(SIG0(2)+SIG0(1)))/SE1) 626 : DEFP(4)=DEPST(4)-(1+ANU)*(SIGF(4)/SE2-SIG0(4)/SE1) 627 : DO I=1,NSTRS 628 : EPINF(I)=EPIN0(I)+DEFP(I) 629 : END DO 630 : GOTO 999 631 : 632 : ENDIF 633 : GOTO 999 634 : 635 : 636 : 999 RETURN 637 : END 638 : 639 : 640 : 641 : 642 : 643 : 644 : 645 : 646 : 647 : 648 : 649 : 650 :
© Cast3M 2003 - All rights reserved.
Disclaimer