1 : C MAXGEN SOURCE CHAT 05/01/13 01:35:59 5004 2 : SUBROUTINE MAXGEN(WRK0,WRK1,WRK5,WR12,MFR, 3 : 1 IB,IGAU,MELE,NCHAIN,KERRE,DT,CMATE,NWA,TEMP0) 4 : * 5 : *============================================================== 6 : * chaine de Maxwell pour les coques et plaques 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 : IMPLICIT INTEGER(I-N) 51 : IMPLICIT REAL*8(A-H,O-Z) 52 : -INC CCOPTIO 53 : * 54 : SEGMENT WRK0 55 : REAL*8 XMAT(NCXMAT) 56 : ENDSEGMENT 57 : * 58 : SEGMENT WRK1 59 : REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS) 60 : REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI) 61 : REAL*8 DEFP(NSTRS),XCAR(ICARA) 62 : ENDSEGMENT 63 : * 64 : SEGMENT WRK5 65 : REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) 66 : ENDSEGMENT 67 : * 68 : SEGMENT WR12 69 : REAL*8 EM0(2,NWA(1)),EM1(2,NWA(2)),EM2(2,NWA(3)) 70 : REAL*8 EM3(2,NWA(4)),EM4(2,NWA(5)),EM5(2,NWA(6)) 71 : REAL*8 EM6(2,NWA(7)),EM7(2,NWA(8)),EM8(2,NWA(9)) 72 : REAL*8 SM0(NSTRS),SM1(NSTRS),SM2(NSTRS),SM3(NSTRS) 73 : REAL*8 SM4(NSTRS),SM5(NSTRS),SM6(NSTRS),SM7(NSTRS) 74 : REAL*8 SM8(NSTRS) 75 : ENDSEGMENT 76 : * 77 : CHARACTER*8 CMATE 78 : 79 : DIMENSION NWA(9) 80 : NCXMAT=XMAT(/1) 81 : NVARI=VAR0(/1) 82 : NSTRS=SIG0(/1) 83 : ANU=XMAT(2) 84 : UNANU=1.D0-ANU 85 : TPS1=TEMP0 86 : TPS2=TEMP0+DT 87 : SE1=0.D0 88 : SE2=0.D0 89 : 90 : * 91 : ep=XCAR(1) 92 : 93 : IF(CMATE.EQ.'ISOTROPE') THEN 94 : ****************************************************** 95 : * Formulations COQUES MINCES - ISOTROPE * 96 : ****************************************************** 97 : 98 : *** TRIDIMENSIONNEL - FOURIER 99 : IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN 100 : 101 : CONS=1.D0/(1.D0-(ANU*ANU)) 102 : CONS1=1.D0/(1.D0+ANU) 103 : ep=XCAR(1) 104 : 105 : DO 10 M=0,NCHAIN-1 105 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 106 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 107 : SE1=SE1+E1 108 : SE2=SE2+E2 109 : FLUA=EXP(-TR*DT) 110 : IF (M.EQ.0) THEN 111 : SM0(1)=SM0(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 112 : SM0(2)=SM0(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 113 : SM0(3)=SM0(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 114 : SM0(4)=SM0(4)*FLUA+ 115 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 116 : SM0(5)=SM0(5)*FLUA+ 117 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 118 : SM0(6)=SM0(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 119 : DO I=1,6 120 : SIGF(I)=SM0(I) 121 : ENDDO 122 : ELSE IF (M.EQ.1) THEN 123 : SM1(1)=SM1(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 124 : SM1(2)=SM1(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 125 : SM1(3)=SM1(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 126 : SM1(4)=SM1(4)*FLUA+ 127 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 128 : SM1(5)=SM1(5)*FLUA+ 129 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 130 : SM1(6)=SM1(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 131 : DO I=1,6 132 : SIGF(I)=SIGF(I)+SM1(I) 133 : ENDDO 134 : ELSE IF (M.EQ.2) THEN 135 : SM2(1)=SM2(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 136 : SM2(2)=SM2(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 137 : SM2(3)=SM2(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 138 : SM2(4)=SM2(4)*FLUA+ 139 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 140 : SM2(5)=SM2(5)*FLUA+ 141 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 142 : SM2(6)=SM2(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 143 : DO I=1,6 144 : SIGF(I)=SIGF(I)+SM2(I) 145 : ENDDO 146 : ELSE IF (M.EQ.3) THEN 147 : SM3(1)=SM3(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 148 : SM3(2)=SM3(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 149 : SM3(3)=SM3(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 150 : SM3(4)=SM3(4)*FLUA+ 151 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 152 : SM3(5)=SM3(5)*FLUA+ 153 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 154 : SM3(6)=SM3(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 155 : DO I=1,6 156 : SIGF(I)=SIGF(I)+SM3(I) 157 : ENDDO 158 : ELSE IF (M.EQ.4) THEN 159 : SM4(1)=SM4(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 160 : SM4(2)=SM4(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 161 : SM4(3)=SM4(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 162 : SM4(4)=SM4(4)*FLUA+ 163 : 1 CONS*EFIC*((ep**3)/1.D02)*(DEPST(4)+ANU*DEPST(5)) 164 : SM4(5)=SM4(5)*FLUA+ 165 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 166 : SM4(6)=SM4(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 167 : DO I=1,6 168 : SIGF(I)=SIGF(I)+SM4(I) 169 : ENDDO 170 : ELSE IF (M.EQ.5) THEN 171 : SM5(1)=SM5(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 172 : SM5(2)=SM5(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 173 : SM5(3)=SM5(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 174 : SM5(4)=SM5(4)*FLUA+ 175 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 176 : SM5(5)=SM5(5)*FLUA+ 177 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 178 : SM5(6)=SM5(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 179 : DO I=1,6 180 : SIGF(I)=SIGF(I)+SM5(I) 181 : ENDDO 182 : ELSE IF (M.EQ.6) THEN 183 : SM6(1)=SM6(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 184 : SM6(2)=SM6(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 185 : SM6(3)=SM6(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 186 : SM6(4)=SM6(4)*FLUA+ 187 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 188 : SM6(5)=SM6(5)*FLUA+ 189 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 190 : SM6(6)=SM6(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 191 : DO I=1,6 192 : SIGF(I)=SIGF(I)+SM6(I) 193 : ENDDO 194 : ELSE IF (M.EQ.7) THEN 195 : SM7(1)=SM7(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 196 : SM7(2)=SM7(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 197 : SM7(3)=SM7(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 198 : SM7(4)=SM7(4)*FLUA+ 199 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 200 : SM7(5)=SM7(5)*FLUA+ 201 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 202 : SM7(6)=SM7(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 203 : DO I=1,6 204 : SIGF(I)=SIGF(I)+SM7(I) 205 : ENDDO 206 : ELSE IF (M.EQ.8) THEN 207 : SM8(1)=SM8(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 208 : SM8(2)=SM8(2)*FLUA+CONS*EFIC*ep*(ANU*DEPST(1)+DEPST(2)) 209 : SM8(3)=SM8(3)*FLUA+CONS1*EFIC*(ep/2.D0)*DEPST(3) 210 : SM8(4)=SM8(4)*FLUA+ 211 : 1 CONS*EFIC*((ep**3)/12.D0)*(DEPST(4)+ANU*DEPST(5)) 212 : SM8(5)=SM8(5)*FLUA+ 213 : 1 CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(4)+DEPST(5)) 214 : SM8(6)=SM8(6)*FLUA+CONS1*EFIC*(((ep**3)/24.D0)*DEPST(6)) 215 : DO I=1,6 216 : SIGF(I)=SIGF(I)+SM8(I) 217 : ENDDO 218 : END IF 219 : 10 CONTINUE 220 : 221 : DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(ep*SE2) 222 : 1 -(SIG0(1)-ANU*SIG0(2))/(ep*SE1)) 223 : DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(ep*SE2) 224 : 1 -(SIG0(2)-ANU*SIG0(1))/(ep*SE1)) 225 : DEFP(3)=DEPST(3)-(2.D0*(1+ANU)/ep)*(SIGF(3)/SE2-SIG0(3)/SE1) 226 : DEFP(4)=DEPST(4)-(12.D0/(ep**3))*((SIGF(4)-ANU*SIGF(5))/SE2 227 : 1 -(SIG0(4)-ANU*SIG0(5))/SE1) 228 : DEFP(5)=DEPST(5)-(12.D0/(ep**3))*((SIGF(5)-ANU*SIGF(4))/SE2 229 : 1 -(SIG0(5)-ANU*SIG0(4))/SE1) 230 : DEFP(6)=DEPST(6) 231 : 1 -(24.D0*(1+ANU)/ep**3)*(SIGF(6)/SE2-SIG0(6)/SE1) 232 : DO I=1,NSTRS 233 : EPINF(I)=EPIN0(I)+DEFP(I) 234 : END DO 235 : GOTO 999 236 : 237 : ** Formulation DEFORMATIONS PLANES /AXISYMETRIQUE 238 : ELSE IF(IFOUR.EQ.0.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN 239 : 240 : CONS=1.D0/(1.D0-(ANU*ANU)) 241 : DO 20 M=0,NCHAIN-1 241 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 242 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 243 : SE1=SE1+E1 244 : SE2=SE2+E2 245 : FLUA=EXP(-TR*DT) 246 : IF (M.EQ.0) THEN 247 : SM0(1)=SM0(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 248 : SM0(2)=SM0(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 249 : SM0(3)=SM0(3)*FLUA 250 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 251 : SM0(4)=SM0(4)*FLUA 252 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 253 : DO I=1,4 254 : SIGF(I)=SM0(I) 255 : ENDDO 256 : ELSE IF (M.EQ.1) THEN 257 : SM1(1)=SM1(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 258 : SM1(2)=SM1(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 259 : SM1(3)=SM1(3)*FLUA 260 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 261 : SM1(4)=SM1(4)*FLUA 262 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 263 : DO I=1,4 264 : SIGF(I)=SIGF(I)+SM1(I) 265 : ENDDO 266 : ELSE IF (M.EQ.2) THEN 267 : SM2(1)=SM2(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 268 : SM2(2)=SM2(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 269 : SM2(3)=SM2(3)*FLUA 270 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 271 : SM2(4)=SM2(4)*FLUA 272 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 273 : DO I=1,4 274 : SIGF(I)=SIGF(I)+SM2(I) 275 : ENDDO 276 : ELSE IF (M.EQ.3) THEN 277 : SM3(1)=SM3(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 278 : SM3(2)=SM3(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 279 : SM3(3)=SM3(3)*FLUA 280 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 281 : SM3(4)=SM3(4)*FLUA 282 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 283 : DO I=1,4 284 : SIGF(I)=SIGF(I)+SM3(I) 285 : ENDDO 286 : ELSE IF (M.EQ.4) THEN 287 : SM4(1)=SM4(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 288 : SM4(2)=SM4(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 289 : SM4(3)=SM4(3)*FLUA 290 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 291 : SM4(4)=SM4(4)*FLUA 292 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 293 : DO I=1,4 294 : SIGF(I)=SIGF(I)+SM4(I) 295 : ENDDO 296 : ELSE IF (M.EQ.5) THEN 297 : SM5(1)=SM5(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 298 : SM5(2)=SM5(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 299 : SM5(3)=SM5(3)*FLUA 300 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 301 : SM5(4)=SM5(4)*FLUA 302 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 303 : DO I=1,4 304 : SIGF(I)=SIGF(I)+SM5(I) 305 : ENDDO 306 : ELSE IF (M.EQ.6) THEN 307 : SM6(1)=SM6(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 308 : SM6(2)=SM6(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 309 : SM6(3)=SM6(3)*FLUA 310 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 311 : SM6(4)=SM6(4)*FLUA 312 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 313 : DO I=1,4 314 : SIGF(I)=SIGF(I)+SM6(I) 315 : ENDDO 316 : ELSE IF (M.EQ.7) THEN 317 : SM7(1)=SM7(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 318 : SM7(2)=SM7(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 319 : SM7(3)=SM7(3)*FLUA 320 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 321 : SM7(4)=SM7(4)*FLUA 322 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 323 : DO I=1,4 324 : SIGF(I)=SIGF(I)+SM7(I) 325 : ENDDO 326 : ELSE IF (M.EQ.8) THEN 327 : SM8(1)=SM8(1)*FLUA+CONS*EFIC*ep*(DEPST(1)+ANU*DEPST(2)) 328 : SM8(2)=SM8(2)*FLUA+CONS*EFIC*ep*(DEPST(2)+ANU*DEPST(1)) 329 : SM8(3)=SM8(3)*FLUA 330 : 1 +CONS*EFIC*((ep**3)/12.D0)*(DEPST(3)+ANU*DEPST(4)) 331 : SM8(4)=SM8(4)*FLUA 332 : 1 +CONS*EFIC*((ep**3)/12.D0)*(ANU*DEPST(3)+DEPST(4)) 333 : DO I=1,4 334 : SIGF(I)=SIGF(I)+SM8(I) 335 : ENDDO 336 : END IF 337 : 20 CONTINUE 338 : 339 : DEFP(1)=DEPST(1)-((SIGF(1)-ANU*SIGF(2))/(SE2*ep) 340 : 1 -(SIG0(1)-ANU*SIG0(2))/(SE1*ep)) 341 : DEFP(2)=DEPST(2)-((SIGF(2)-ANU*SIGF(1))/(SE2*ep) 342 : 1 -(SIG0(2)-ANU*SIG0(1))/(SE1*ep)) 343 : DEFP(3)=DEPST(3)-(12/ep**3)*((SIGF(3)-ANU*SIGF(4))/SE2 344 : 1 -(SIG0(3)-ANU*SIG0(4))/SE1) 345 : DEFP(4)=DEPST(4)-(12/ep**3)*((SIGF(4)-ANU*SIGF(3))/SE2 346 : 1 -(SIG0(4)-ANU*SIG0(3))/SE1) 347 : DO I=1,NSTRS 348 : EPINF(I)=EPIN0(I)+DEFP(I) 349 : END DO 350 : GOTO 999 351 : 352 : * Formulation CONTRAINTES PLANES 353 : * 354 : ELSE IF(IFOMOD.EQ.-1.AND.IFOUR.EQ.-2) THEN 355 : er=(ep**3)/12.d0 356 : DO 30 M=0,NCHAIN-1 356 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 357 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 358 : SE1=SE1+E1 359 : SE2=SE2+E2 360 : FLUA=EXP(-TR*DT) 361 : IF (M.EQ.0) THEN 362 : SM0(1)=SM0(1)*FLUA+EFIC*ep*DEPST(1) 363 : SM0(3)=SM0(3)*FLUA+EFIC*er*DEPST(3) 364 : SIGF(1)=SM0(1) 365 : SIGF(3)=SM0(3) 366 : ELSE IF (M.EQ.1) THEN 367 : SM1(1)=SM1(1)*FLUA+EFIC*ep*DEPST(1) 368 : SM1(3)=SM1(3)*FLUA+EFIC*er*DEPST(3) 369 : SIGF(1)=SIGF(1)+SM1(1) 370 : SIGF(3)=SIGF(3)+SM1(3) 371 : ELSE IF (M.EQ.2) THEN 372 : SM2(1)=SM2(1)*FLUA+EFIC*ep*DEPST(1) 373 : SM2(3)=SM2(3)*FLUA+EFIC*er*DEPST(3) 374 : SIGF(1)=SIGF(1)+SM2(1) 375 : SIGF(3)=SIGF(3)+SM2(3) 376 : ELSE IF (M.EQ.3) THEN 377 : SM3(1)=SM3(1)*FLUA+EFIC*ep*DEPST(1) 378 : SM3(3)=SM3(3)*FLUA+EFIC*er*DEPST(3) 379 : SIGF(1)=SIGF(1)+SM3(1) 380 : SIGF(3)=SIGF(3)+SM3(3) 381 : ELSE IF (M.EQ.4) THEN 382 : SM4(1)=SM4(1)*FLUA+EFIC*ep*DEPST(1) 383 : SM4(3)=SM4(3)*FLUA+EFIC*er*DEPST(3) 384 : SIGF(1)=SIGF(1)+SM4(1) 385 : SIGF(3)=SIGF(3)+SM4(3) 386 : ELSE IF (M.EQ.5) THEN 387 : SM5(1)=SM5(1)*FLUA+EFIC*ep*DEPST(1) 388 : SM5(3)=SM5(3)*FLUA+EFIC*er*DEPST(3) 389 : SIGF(1)=SIGF(1)+SM5(1) 390 : SIGF(3)=SIGF(3)+SM5(3) 391 : ELSE IF (M.EQ.6) THEN 392 : SM6(1)=SM6(1)*FLUA+EFIC*ep*DEPST(1) 393 : SM6(3)=SM6(3)*FLUA+EFIC*er*DEPST(3) 394 : SIGF(1)=SIGF(1)+SM6(1) 395 : SIGF(3)=SIGF(3)+SM6(3) 396 : ELSE IF (M.EQ.7) THEN 397 : SM7(1)=SM7(1)*FLUA+EFIC*ep*DEPST(1) 398 : SM7(3)=SM7(3)*FLUA+EFIC*er*DEPST(3) 399 : SIGF(1)=SIGF(1)+SM7(1) 400 : SIGF(3)=SIGF(3)+SM7(3) 401 : ELSE IF (M.EQ.8) THEN 402 : SM8(1)=SM8(1)*FLUA+EFIC*ep*DEPST(1) 403 : SM8(3)=SM8(3)*FLUA+EFIC*er*DEPST(3) 404 : SIGF(1)=SIGF(1)+SM8(1) 405 : SIGF(3)=SIGF(3)+SM8(3) 406 : END IF 407 : 30 CONTINUE 408 : 409 : DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2 410 : 1 -SIG0(1)/SE1) 411 : DEFP(2)=0.D0 412 : DEFP(3)=DEPST(3)-(1.d0/er)*(SIGF(3)/SE2 413 : 1 -SIG0(3)/SE1) 414 : DEFP(4)=0.D0 415 : DO I=1,NSTRS 416 : EPINF(I)=EPIN0(I)+DEFP(I) 417 : END DO 418 : GOTO 999 419 : END IF 420 : 421 : * Formulation UNIDIRECTIONNELLES 422 : * 423 : ELSE IF(CMATE.EQ.'UNIDIREC') THEN 424 : DO 40 M=0,NCHAIN-1 424 : CALL MODFIC(TPS1,TPS2,M,WR12,WRK0, 425 : 1 NWA,EFIC,TR,E1,E2,KERRE,CMATE) 426 : SE1=SE1+E1 427 : SE2=SE2+E2 428 : FLUA=EXP(-TR*DT) 429 : IF (M.EQ.0) THEN 430 : SM0(1)=SM0(1)*FLUA+EFIC*ep*DEPST(1) 431 : SIGF(1)=SM0(1) 432 : ELSE IF (M.EQ.1) THEN 433 : SM1(1)=SM1(1)*FLUA+EFIC*ep*DEPST(1) 434 : SIGF(1)=SIGF(1)+SM1(1) 435 : ELSE IF (M.EQ.2) THEN 436 : SM2(1)=SM2(1)*FLUA+EFIC*ep*DEPST(1) 437 : SIGF(1)=SIGF(1)+SM2(1) 438 : ELSE IF (M.EQ.3) THEN 439 : SM3(1)=SM3(1)*FLUA+EFIC*ep*DEPST(1) 440 : SIGF(1)=SIGF(1)+SM3(1) 441 : ELSE IF (M.EQ.4) THEN 442 : SM4(1)=SM4(1)*FLUA+EFIC*ep*DEPST(1) 443 : SIGF(1)=SIGF(1)+SM4(1) 444 : ELSE IF (M.EQ.5) THEN 445 : SM5(1)=SM5(1)*FLUA+EFIC*ep*DEPST(1) 446 : SIGF(1)=SIGF(1)+SM5(1) 447 : ELSE IF (M.EQ.6) THEN 448 : SM6(1)=SM6(1)*FLUA+EFIC*ep*DEPST(1) 449 : SIGF(1)=SIGF(1)+SM6(1) 450 : ELSE IF (M.EQ.7) THEN 451 : SM7(1)=SM7(1)*FLUA+EFIC*ep*DEPST(1) 452 : SIGF(1)=SIGF(1)+SM7(1) 453 : ELSE IF (M.EQ.8) THEN 454 : SM8(1)=SM8(1)*FLUA+EFIC*ep*DEPST(1) 455 : SIGF(1)=SIGF(1)+SM8(1) 456 : END IF 457 : 40 CONTINUE 458 : 459 : DEFP(1)=DEPST(1)-(1.d0/ep)*(SIGF(1)/SE2 460 : 1 -SIG0(1)/SE1) 461 : DO I=1,NSTRS 462 : EPINF(I)=EPIN0(I)+DEFP(I) 463 : END DO 464 : GOTO 999 465 : ENDIF 466 : GOTO 999 467 : 468 : 469 : 470 : 999 RETURN 471 : END 472 : 473 : 474 : 475 : 476 : 477 :
© Cast3M 2003 - All rights reserved.
Disclaimer