1 : C AACTUM SOURCE CHAT 05/01/12 21:15:02 5004 2 : SUBROUTINE AACTUM(SIGT,EPST,ENDT,XLIMT,SIGD,EPSD,ENDD,XLIMD, 3 : * VDEP,EPSC,EPSPLS,XLMD,PPLUS, 4 : * VDEP1,SIFF,VDEP2,FDDD,DEPS,DSIG,EDED,FD, 5 : * PROD,ENDOPL,EPL,E,EP,D,CONT3,CONT4,EPLUS, 6 : * EDPLUS,U,V,R,W1,W2) 7 : C=================================================================== 8 : C 9 : C CALCUL DES GRANDEURS A LA FIN DU PAS 10 : C 11 : C==================================================================== 12 : C 13 : C CREATION : F.CORMERY 14 : C E.N.S.M.A - LMPM 15 : C JUIN 1993 16 : C 17 : C==================================================================== 18 : IMPLICIT INTEGER(I-N) 19 : IMPLICIT REAL*8 (A-H,O-Z) 20 : REAL*8 LAMB,MUT 21 : C----------------------------------------------------------------------- 22 : C COMMON SPECIFIQUE 23 : C----------------------------------------------------------------------- 24 : COMMON/APENTE/ LAMB,MUT,G,ALP1,BETA 25 : COMMON/MAED/ B,C0,CPRIME 26 : COMMON/DSIGEP/ H 27 : C----------------------------------------------------------------------- 28 : C DATA ET DIMENSION 29 : C----------------------------------------------------------------------- 30 : C N6 31 : CC DIMENSION SIGT(6),EPST(6),ENDT(6),SIFF(6),DEPS(6), 32 : C N12 N18 33 : CC * SIGD(6),EPSD(6),ENDD(6),DSIG(6),EDED(6), 34 : C N24 35 : CC * VDEP(6,6),VDEP1(6,6),FD(6), 36 : C N30 N36 N42 37 : CC * EPSC(6),EPSPLS(6),PROD(6),ENDOPL(6),EPL(6) 38 : C N51 N60 N69 N78 N87 N96 39 : CC DIMENSION E(3,3),EP(3,3),D(3,3),CONT3(3,3),CONT4(3,3),EPLUS(3,3) 40 : C N105 41 : CC * ,EDPLUS(3,3),VDEP2(6,6) 42 : C N186 N267 N348 43 : CC DIMENSION U(3,3,3,3),V(3,3,3,3),R(3,3,3,3),PPLUS(3,3,3,3), 44 : C N429 N510 45 : CC * W1(3,3,3,3),W2(3,3,3,3) 46 : C 47 : DIMENSION SIGT(*),EPST(*),ENDT(*),SIFF(*),DEPS(*), 48 : * SIGD(*),EPSD(*),ENDD(*),DSIG(*),EDED(*), 49 : * VDEP(6,*),VDEP1(6,*),FD(*), 50 : * EPSC(*),EPSPLS(*),PROD(*),ENDOPL(*),EPL(*) 51 : DIMENSION E(3,*),EP(3,*),D(3,*),CONT3(3,*),CONT4(3,*),EPLUS(3,*) 52 : * ,EDPLUS(3,*),VDEP2(6,*) 53 : DIMENSION U(3,3,3,*),V(3,3,3,*),R(3,3,3,*),PPLUS(3,3,3,*), 54 : * W1(3,3,3,*),W2(3,3,3,*) 55 : C-------------- 56 : DATA ZERO/0.D0/,UN/1.D0/,DEUX/2.D0/ 57 : DATA UD/0.5D0/ 58 : C----------------------------------------------------------------------- 59 : C CALCUL DES TRACES 60 : C----------------------------------------------------------------------- 61 : TRAC1=EPSPLS(1)**2+EPSPLS(2)**2+EPSPLS(3)**2 62 : * +UD*(EPSPLS(4)**2+EPSPLS(5)**2+EPSPLS(6)**2) 63 : C---------------- 64 : TRAC3=EPSD(1)+EPSD(2)+EPSD(3) 65 : C---------------- 66 : TRAC4=EPSPLS(1)*EPSD(1)+EPSPLS(2)*EPSD(2)+EPSPLS(3)*EPSD(3) 67 : * +UD*(EPSPLS(4)*EPSD(4)+EPSPLS(5)*EPSD(5) 68 : * +EPSPLS(6)*EPSD(6)) 69 : C---------------- 70 : TRAC5=EPSPLS(1)+EPSPLS(2)+EPSPLS(3) 71 : C************************************************************************ 72 : C ACTUALISATION DES GRANDEURS 73 : C************************************************************************ 74 : C 75 : C------------------------------------------------------------------------ 76 : C CALCUL DE D n+1 77 : C------------------------------------------------------------------------ 78 : DO 10 I=1,6 79 : IF(I.LE.3) ENDD(I)=ENDT(I)+(XLMD/(UN-B*XLMD))* 80 : * (EPSPLS(I)/SQRT(DEUX*TRAC1)+B*ENDT(I)) 81 : IF(I.GE.4) ENDD(I)=ENDT(I)+(XLMD/(UN-B*XLMD))* 82 : * ((EPSPLS(I)/DEUX)/SQRT(DEUX*TRAC1)+B*ENDT(I)) 83 : IF(DABS(ENDD(I)).LE.1E-15) ENDD(I)=0.D0 84 : 10 CONTINUE 85 : C------------------------------------------------------------------------ 86 : C CALCUL DES FORCES THERMO 87 : C------------------------------------------------------------------------ 88 : C---------CALCUL DU PRODUIT EPS.EPS 89 : EDED(1)=EPSD(1)**2+EPSD(6)**2+EPSD(5)**2 90 : EDED(2)=EPSD(2)**2+EPSD(6)**2+EPSD(4)**2 91 : EDED(1)=EPSD(3)**2+EPSD(4)**2+EPSD(5)**2 92 : EDED(4)=EPSD(6)*EPSD(5)+EPSD(2)*EPSD(4)+EPSD(4)*EPSD(3) 93 : EDED(5)=EPSD(1)*EPSD(5)+EPSD(6)*EPSD(4)+EPSD(5)*EPSD(3) 94 : EDED(6)=EPSD(6)*EPSD(1)+EPSD(2)*EPSD(6)+EPSD(4)*EPSD(5) 95 : DO 11 I=1,6 96 : FD(I)=-G*EPSD(I)-ALP1*TRAC3*EPSD(I)-2*BETA*EDED(I) 97 : 11 CONTINUE 98 : C------------------------------------------------------------------------ 99 : C CALCUL DE FD:DD 100 : C------------------------------------------------------------------------ 101 : FDDD=ZERO 102 : DO 12 I=1,6 103 : FDDD=FDDD+FD(I)*(ENDD(I)-ENDT(I)) 104 : 12 CONTINUE 105 : C------------------------------------------------------------------------ 106 : C CALCUL DES TRACES 107 : C------------------------------------------------------------------------ 108 : TRAC2=EPSPLS(1)*ENDD(1)+EPSPLS(2)*ENDD(2)+EPSPLS(3)*ENDD(3) 109 : * +(EPSPLS(4)*ENDD(4)+EPSPLS(5)*ENDD(5) 110 : * +EPSPLS(6)*ENDD(6)) 111 : TRAC6=ENDD(1)+ENDD(2)+ENDD(3) 112 : C------------------------------------------------------------------------ 113 : C CALCUL DE C0+C1 tr(Dn+1) 114 : C------------------------------------------------------------------------ 115 : XLIMD=C0+CPRIME*(ENDD(1)+ENDD(2)+ENDD(3)) 116 : C------------------------------------------------------------------------ 117 : C CALCUL DE D+ n+1 118 : C------------------------------------------------------------------------ 119 : MOD1=0 120 : IF(MOD1.EQ.1)THEN 120 : CALL T4CT2(PPLUS,ENDD,ENDOPL,6) 121 : GOTO 61 122 : ENDIF 123 : DO 62 I=1,6 124 : ENDOPL(I)=ENDD(I) 125 : 62 CONTINUE 126 : 61 CONTINUE 127 : C------------------------------------------------------------------------ 128 : C 129 : C------------------------------------------------------------------------- 130 : DO 13 I=4,6 131 : EPSPLS(I)=EPSPLS(I)/2 132 : 13 CONTINUE 132 : CALL T4CT2(PPLUS,EPSPLS,EPL,6) 133 : DO 14 I=4,6 134 : EPSPLS(I)=EPSPLS(I)*2 135 : 14 CONTINUE 136 : C------------------------------------------------------------------------- 137 : C CALCUL DE SIG n+1 138 : C------------------------------------------------------------------------- 139 : TRACE2=EPSD(1)*ENDD(1)+EPSD(2)*ENDD(2)+EPSD(3)*ENDD(3)+ 140 : * EPSD(4)*ENDD(4)+EPSD(5)*ENDD(5)+EPSD(6)*ENDD(6) 141 : C------- 142 : PROD(1)=DEUX*(EPSD(1)*ENDD(1))+EPSD(5)*ENDD(5)+EPSD(6)*ENDD(6) 143 : PROD(2)=DEUX*(EPSD(2)*ENDD(2))+EPSD(4)*ENDD(4)+EPSD(6)*ENDD(6) 144 : PROD(3)=DEUX*(EPSD(3)*ENDD(3))+EPSD(5)*ENDD(5)+EPSD(4)*ENDD(4) 145 : PROD(4)=UD*EPSD(6)*ENDD(5)+EPSD(2)*ENDD(4)+UD*EPSD(4)*ENDD(3)+ 146 : * UD*EPSD(5)*ENDD(6)+UD*EPSD(4)*ENDD(2)+EPSD(3)*ENDD(4) 147 : PROD(5)=UD*EPSD(5)*ENDD(1)+UD*EPSD(4)*ENDD(6)+EPSD(3)*ENDD(5)+ 148 : * EPSD(1)*ENDD(5)+UD*EPSD(6)*ENDD(4)+UD*EPSD(5)*ENDD(3) 149 : PROD(6)=UD*EPSD(6)*ENDD(1)+EPSD(2)*ENDD(6)+UD*EPSD(4)*ENDD(5)+ 150 : * EPSD(1)*ENDD(6)+UD*EPSD(6)*ENDD(2)+UD*EPSD(5)*ENDD(4) 151 : C------- 152 : NP=1 153 : IF(NP.EQ.1)THEN 154 : DO 30 I=1,3 155 : SIGD(I)=G*ENDOPL(I)+LAMB*TRAC3+ALP1*(TRACE2+TRAC3*ENDD(I)) 156 : * +DEUX*BETA*PROD(I)+DEUX*MUT*EPSD(I) 157 : 30 CONTINUE 158 : DO 35 I=4,6 159 : SIGD(I)=G*ENDOPL(I)+ALP1*TRAC3*ENDD(I)+MUT*EPSD(I) 160 : * +DEUX*BETA*PROD(I) 161 : 35 CONTINUE 162 : GOTO 21 163 : ENDIF 164 : C------------------------------------------------------------------ 165 : C CALCUL MATRICE TANGENTE continue 166 : C ET MATRICE TANGENTE consistante 167 : C------------------------------------------------------------------ 168 : C 169 : C----------------------------------Calcul des coef.---------------- 170 : 21 XA=DEUX*TRAC1 171 : XM=B*DABS(G)*SQRT(TRAC1/DEUX)+(B**2)*DABS(G)*TRAC2 172 : * -CPRIME*TRAC5/SQRT(DEUX*TRAC1)-CPRIME*B*TRAC6 173 : V2=-XLMD/(SQRT(XA)*TRAC5) 174 : V3=XLMD/SQRT(XA) 175 : V5=DABS(G)/(SQRT(XA)*CPRIME*TRAC5) 176 : C---------------------------------Passage en notation indicielle--- 177 : DO 42 I=1,3 178 : D(I,I)=ENDD(I) 179 : EP(I,I)=EPSPLS(I) 180 : E(I,I)=EPSD(I) 181 : EDPLUS(I,I)=ENDOPL(I) 182 : EPLUS(I,I)=EPL(I) 183 : DO 43 J=I+1,3 184 : IF ((I.EQ.1).AND.(J.EQ.2)) K=6 185 : IF ((I.EQ.1).AND.(J.EQ.3)) K=5 186 : IF ((I.EQ.2).AND.(J.EQ.3)) K=4 187 : D(I,J)=ENDD(K) 188 : D(J,I)=ENDD(K) 189 : E(I,J)=UD*EPSD(K) 190 : E(J,I)=UD*EPSD(K) 191 : EP(I,J)=UD*EPSPLS(K) 192 : EP(J,I)=UD*EPSPLS(K) 193 : EDPLUS(I,J)=ENDOPL(K) 194 : EDPLUS(J,I)=ENDOPL(K) 195 : EPLUS(I,J)=EPL(K) 196 : EPLUS(J,I)=EPL(K) 197 : 43 CONTINUE 198 : 42 CONTINUE 199 : 200 : C--------------------- Calcul des produit contractes ----------------- 201 : CONT1=ZERO 202 : CONT2=ZERO 203 : DO 44 I=1,3 204 : DO 45 J=1,3 205 : CONT1=CONT1+E(I,J)*EP(I,J) 206 : CONT2=CONT2+E(I,J)*D(I,J) 207 : CONT3(I,J)=ZERO 208 : CONT4(I,J)=ZERO 209 : DO 46 K=1,3 210 : CONT3(I,J)=CONT3(I,J)+E(I,K)*EP(K,J)+EP(I,K)*E(K,J) 211 : CONT4(I,J)=CONT4(I,J)+E(I,K)*D(K,J)+D(I,K)*E(K,J) 212 : 46 CONTINUE 213 : 45 CONTINUE 214 : 44 CONTINUE 215 : 216 : C----------------------------Calcul de la matrice tangente--------- 217 : DO 50 I=1,3 218 : DO 60 J=1,3 219 : DO 70 K=1,3 220 : DO 80 L=1,3 221 : C------------------------- 222 : U(I,J,K,L)=LAMB*DELT(I,J)*DELT(K,L)+MUT*(DELT(I,K)*DELT(J,L) 223 : * +DELT(I,L)*DELT(J,K))+ALP1*(DELT(I,J)*D(K,L)+D(I,J)*DELT(K,L)) 224 : * +BETA*(D(I,K)*DELT(J,L)+D(L,J)*DELT(I,K)+DELT(I,L) 225 : * *D(J,K)+D(I,L)*DELT(J,K)) 226 : C------------------------- 227 : V(I,J,K,L)=(1/XM)*(ALP1*G*CONT1*DELT(I,J)/XA+ALP1*B*G 228 : * *CONT2*DELT(I,J)/SQRT(XA)+(ALP1*G/XA)*EP(I,J) 229 : * *TRAC3+(ALP1*B*G/SQRT(XA))*D(I,J)*TRAC3+(DEUX*BETA*G/XA) 230 : * *CONT3(I,J)+DEUX*BETA*(B*G/SQRT(XA))*CONT4(I,J) 231 : * +(G**2/XA)*EPLUS(I,J)+(B*(G**2)/SQRT(XA)) 232 : * *EDPLUS(I,J))*EPLUS(K,L) 233 : C------------------------- 234 : R(I,J,K,L)=(1/XM)*((ALP1*B*G/SQRT(XA))*CONT1*DELT(I,J) 235 : * +ALP1*(B**2)*G*CONT2*DELT(I,J)+(ALP1*B*G/SQRT(XA)) 236 : * *EP(I,J)*TRAC3+ALP1*(B**2)*G*D(I,J)*TRAC3+DEUX*BETA 237 : * *(B*G/SQRT(XA))*CONT3(I,J)+DEUX*BETA*(B**2)*G* 238 : * CONT4(I,J)+(B*(G**2)/SQRT(XA))*EPLUS(I,J) 239 : * +B**2*G**2*EDPLUS(I,J))*EDPLUS(K,L) 240 : C------------------------- 241 : W1(I,J,K,L)=0.D0 242 : W2(I,J,K,L)=0.D0 243 : DO 81 M=1,3 244 : DO 81 N=1,3 245 : W1(I,J,K,L)=(G*V5*EPLUS(I,J)*E(M,N)+G*V2*EPLUS(I,J)*DELT(M,N) 246 : * +G*V3*PPLUS(I,J,M,N)+DEUX*BETA*V5*CONT3(I,J)*E(M,N) 247 : * +DEUX*BETA*V2*CONT3(I,J)*DELT(M,N)+BETA*V3* 248 : * (E(I,M)*DELT(J,N)+DELT(J,M)*E(I,N)+DELT(I,M)*E(J,N)+ 249 : * E(J,M)*DELT(I,N))+ALP1*V5*TRAC4*DELT(I,J)*EP(M,N) 250 : * +ALP1*V2*TRAC4*DELT(I,J)*DELT(M,N)+ALP1*V3* 251 : * DELT(I,J)*E(M,N)+ALP1*V5*TRAC3*EP(I,J)*EP(M,N) 252 : * )*PPLUS(M,N,K,L)+W1(I,J,K,L) 253 : W2(I,J,K,L)=(ALP1*V2*TRAC3*EP(I,J)*DELT(M,N) 254 : * +ALP1*V3*TRAC3*(DELT(I,M)*DELT(N,J)+DELT(J,M)*DELT(N,I)) 255 : * /2.D0)*PPLUS(M,N,K,L)+W2(I,J,K,L) 256 : 81 CONTINUE 257 : C------------------------- 258 : 80 CONTINUE 259 : 70 CONTINUE 260 : 60 CONTINUE 261 : 50 CONTINUE 262 : C-------------------------- 263 : DO 110 I=1,6 264 : DO 120 J=1,6 265 : IF (I.EQ.1) THEN 266 : M=1 267 : N=1 268 : ENDIF 269 : IF (I.EQ.2) THEN 270 : M=2 271 : N=2 272 : ENDIF 273 : IF (I.EQ.3) THEN 274 : M=3 275 : N=3 276 : ENDIF 277 : IF (I.EQ.4) THEN 278 : M=1 279 : N=2 280 : ENDIF 281 : IF (I.EQ.5) THEN 282 : M=2 283 : N=3 284 : ENDIF 285 : IF (I.EQ.6) THEN 286 : M=1 287 : N=3 288 : ENDIF 289 : IF (J.EQ.1) THEN 290 : K=1 291 : L=1 292 : ENDIF 293 : IF (J.EQ.2) THEN 294 : K=2 295 : L=2 296 : ENDIF 297 : IF (J.EQ.3) THEN 298 : K=3 299 : L=3 300 : ENDIF 301 : IF (J.EQ.4) THEN 302 : K=1 303 : L=2 304 : ENDIF 305 : IF (J.EQ.5) THEN 306 : K=2 307 : L=3 308 : ENDIF 309 : IF (J.EQ.6) THEN 310 : K=1 311 : L=3 312 : ENDIF 313 : VDEP2(I,J)=U(M,N,K,L) 314 : VDEP(I,J)=U(M,N,K,L)+V(M,N,K,L)+R(M,N,K,L) 315 : VDEP1(I,J)=U(M,N,K,L)+W1(M,N,K,L)+W2(M,N,K,L) 316 : IF(DABS(VDEP2(I,J)).LE.1E-15)VDEP2(I,J)=0.D0 317 : IF(DABS(VDEP1(I,J)).LE.1E-15)VDEP1(I,J)=0.D0 318 : IF(DABS(VDEP(I,J)).LE.1E-15)VDEP(I,J)=0.D0 319 : 120 CONTINUE 320 : 110 CONTINUE 321 : C--------------------------------------------------------------------- 322 : C CALCUL DE SIG n+1 323 : C--------------------------------------------------------------------- 324 : DO 111 I=1,6 325 : DO 121 J=1,6 326 : IF (I.EQ.1) THEN 327 : M=1 328 : N=1 329 : ENDIF 330 : IF (I.EQ.2) THEN 331 : M=2 332 : N=2 333 : ENDIF 334 : IF (I.EQ.3) THEN 335 : M=3 336 : N=3 337 : ENDIF 338 : IF (I.EQ.4) THEN 339 : M=2 340 : N=3 341 : ENDIF 342 : IF (I.EQ.5) THEN 343 : M=1 344 : N=3 345 : ENDIF 346 : IF (I.EQ.6) THEN 347 : M=1 348 : N=2 349 : ENDIF 350 : IF (J.EQ.1) THEN 351 : K=1 352 : L=1 353 : ENDIF 354 : IF (J.EQ.2) THEN 355 : K=2 356 : L=2 357 : ENDIF 358 : IF (J.EQ.3) THEN 359 : K=3 360 : L=3 361 : ENDIF 362 : IF (J.EQ.4) THEN 363 : K=2 364 : L=3 365 : ENDIF 366 : IF (J.EQ.5) THEN 367 : K=1 368 : L=3 369 : ENDIF 370 : IF (J.EQ.6) THEN 371 : K=1 372 : L=2 373 : ENDIF 374 : VDEP2(I,J)=U(M,N,K,L) 375 : 121 CONTINUE 376 : 111 CONTINUE 377 : C------------------------------------------------------------- 378 : NP=2 379 : IF(NP.EQ.2)THEN 380 : DO 302 I=1,6 381 : SIFF(I)=0.D0 382 : DO 301 J=1,6 383 : SIFF(I)=VDEP2(I,J)*EPSD(J)+SIFF(I) 384 : 301 CONTINUE 385 : SIFF(I)=G*ENDOPL(I)+SIFF(I) 386 : 302 CONTINUE 387 : ENDIF 388 : C------------------------------------------------------------- 389 : H=0 390 : DO 307 I=1,6 391 : DEPS(I)=EPSD(I)-EPST(I) 392 : DSIG(I)=SIGD(I)-SIGT(I) 393 : H=H+DEPS(I)*DSIG(I) 394 : 307 CONTINUE 395 : C WRITE(10,1203)H 396 : C1203 FORMAT(/5X,'DSIG : DEPS = ',E12.5) 397 : RETURN 398 : END 399 : 400 : 401 :
© Cast3M 2003 - All rights reserved.
Disclaimer