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