C AACTUM SOURCE CB215821 16/04/21 21:15:00 8920 SUBROUTINE AACTUM(SIGT,EPST,ENDT,XLIMT,SIGD,EPSD,ENDD,XLIMD, * VDEP,EPSC,EPSPLS,XLMD,PPLUS, * VDEP1,SIFF,VDEP2,FDDD,DEPS,DSIG,EDED,FD, * PROD,ENDOPL,EPL,E,EP,D,CONT3,CONT4,EPLUS, * EDPLUS,U,V,R,W1,W2) C=================================================================== C C CALCUL DES GRANDEURS A LA FIN DU PAS C C==================================================================== C C CREATION : F.CORMERY C E.N.S.M.A - LMPM C JUIN 1993 C C==================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) REAL*8 LAMB,MUT C----------------------------------------------------------------------- C COMMON SPECIFIQUE C----------------------------------------------------------------------- COMMON/APENTE/ LAMB,MUT,G,ALP1,BETA COMMON/MAED/ B,C0,CPRIME COMMON/DSIGEP/ H C----------------------------------------------------------------------- C DATA ET DIMENSION C----------------------------------------------------------------------- C N6 CC DIMENSION SIGT(6),EPST(6),ENDT(6),SIFF(6),DEPS(6), C N12 N18 CC * SIGD(6),EPSD(6),ENDD(6),DSIG(6),EDED(6), C N24 CC * VDEP(6,6),VDEP1(6,6),FD(6), C N30 N36 N42 CC * EPSC(6),EPSPLS(6),PROD(6),ENDOPL(6),EPL(6) C N51 N60 N69 N78 N87 N96 CC DIMENSION E(3,3),EP(3,3),D(3,3),CONT3(3,3),CONT4(3,3),EPLUS(3,3) C N105 CC * ,EDPLUS(3,3),VDEP2(6,6) C N186 N267 N348 CC DIMENSION U(3,3,3,3),V(3,3,3,3),R(3,3,3,3),PPLUS(3,3,3,3), C N429 N510 CC * W1(3,3,3,3),W2(3,3,3,3) C DIMENSION SIGT(*),EPST(*),ENDT(*),SIFF(*),DEPS(*), * SIGD(*),EPSD(*),ENDD(*),DSIG(*),EDED(*), * VDEP(6,*),VDEP1(6,*),FD(*), * EPSC(*),EPSPLS(*),PROD(*),ENDOPL(*),EPL(*) DIMENSION E(3,*),EP(3,*),D(3,*),CONT3(3,*),CONT4(3,*),EPLUS(3,*) * ,EDPLUS(3,*),VDEP2(6,*) DIMENSION U(3,3,3,*),V(3,3,3,*),R(3,3,3,*),PPLUS(3,3,3,*), * W1(3,3,3,*),W2(3,3,3,*) C-------------- DATA ZERO/0.D0/,UN/1.D0/,DEUX/2.D0/ DATA UD/0.5D0/ C----------------------------------------------------------------------- C CALCUL DES TRACES C----------------------------------------------------------------------- TRAC1=EPSPLS(1)**2+EPSPLS(2)**2+EPSPLS(3)**2 * +UD*(EPSPLS(4)**2+EPSPLS(5)**2+EPSPLS(6)**2) C---------------- TRAC3=EPSD(1)+EPSD(2)+EPSD(3) C---------------- TRAC4=EPSPLS(1)*EPSD(1)+EPSPLS(2)*EPSD(2)+EPSPLS(3)*EPSD(3) * +UD*(EPSPLS(4)*EPSD(4)+EPSPLS(5)*EPSD(5) * +EPSPLS(6)*EPSD(6)) C---------------- TRAC5=EPSPLS(1)+EPSPLS(2)+EPSPLS(3) C************************************************************************ C ACTUALISATION DES GRANDEURS C************************************************************************ C C------------------------------------------------------------------------ C CALCUL DE D n+1 C------------------------------------------------------------------------ DO 10 I=1,6 IF(I.LE.3) ENDD(I)=ENDT(I)+(XLMD/(UN-B*XLMD))* * (EPSPLS(I)/SQRT(DEUX*TRAC1)+B*ENDT(I)) IF(I.GE.4) ENDD(I)=ENDT(I)+(XLMD/(UN-B*XLMD))* * ((EPSPLS(I)/DEUX)/SQRT(DEUX*TRAC1)+B*ENDT(I)) IF(ABS(ENDD(I)).LE.1E-15) ENDD(I)=0.D0 10 CONTINUE C------------------------------------------------------------------------ C CALCUL DES FORCES THERMO C------------------------------------------------------------------------ C---------CALCUL DU PRODUIT EPS.EPS EDED(1)=EPSD(1)**2+EPSD(6)**2+EPSD(5)**2 EDED(2)=EPSD(2)**2+EPSD(6)**2+EPSD(4)**2 EDED(1)=EPSD(3)**2+EPSD(4)**2+EPSD(5)**2 EDED(4)=EPSD(6)*EPSD(5)+EPSD(2)*EPSD(4)+EPSD(4)*EPSD(3) EDED(5)=EPSD(1)*EPSD(5)+EPSD(6)*EPSD(4)+EPSD(5)*EPSD(3) EDED(6)=EPSD(6)*EPSD(1)+EPSD(2)*EPSD(6)+EPSD(4)*EPSD(5) DO 11 I=1,6 FD(I)=-G*EPSD(I)-ALP1*TRAC3*EPSD(I)-2*BETA*EDED(I) 11 CONTINUE C------------------------------------------------------------------------ C CALCUL DE FD:DD C------------------------------------------------------------------------ FDDD=ZERO DO 12 I=1,6 FDDD=FDDD+FD(I)*(ENDD(I)-ENDT(I)) 12 CONTINUE C------------------------------------------------------------------------ C CALCUL DES TRACES C------------------------------------------------------------------------ TRAC2=EPSPLS(1)*ENDD(1)+EPSPLS(2)*ENDD(2)+EPSPLS(3)*ENDD(3) * +(EPSPLS(4)*ENDD(4)+EPSPLS(5)*ENDD(5) * +EPSPLS(6)*ENDD(6)) TRAC6=ENDD(1)+ENDD(2)+ENDD(3) C------------------------------------------------------------------------ C CALCUL DE C0+C1 tr(Dn+1) C------------------------------------------------------------------------ XLIMD=C0+CPRIME*(ENDD(1)+ENDD(2)+ENDD(3)) C------------------------------------------------------------------------ C CALCUL DE D+ n+1 C------------------------------------------------------------------------ MOD1=0 IF(MOD1.EQ.1)THEN CALL T4CT2(PPLUS,ENDD,ENDOPL,6) GOTO 61 ENDIF DO 62 I=1,6 ENDOPL(I)=ENDD(I) 62 CONTINUE 61 CONTINUE C------------------------------------------------------------------------ C C------------------------------------------------------------------------- DO 13 I=4,6 EPSPLS(I)=EPSPLS(I)/2 13 CONTINUE CALL T4CT2(PPLUS,EPSPLS,EPL,6) DO 14 I=4,6 EPSPLS(I)=EPSPLS(I)*2 14 CONTINUE C------------------------------------------------------------------------- C CALCUL DE SIG n+1 C------------------------------------------------------------------------- TRACE2=EPSD(1)*ENDD(1)+EPSD(2)*ENDD(2)+EPSD(3)*ENDD(3)+ * EPSD(4)*ENDD(4)+EPSD(5)*ENDD(5)+EPSD(6)*ENDD(6) C------- PROD(1)=DEUX*(EPSD(1)*ENDD(1))+EPSD(5)*ENDD(5)+EPSD(6)*ENDD(6) PROD(2)=DEUX*(EPSD(2)*ENDD(2))+EPSD(4)*ENDD(4)+EPSD(6)*ENDD(6) PROD(3)=DEUX*(EPSD(3)*ENDD(3))+EPSD(5)*ENDD(5)+EPSD(4)*ENDD(4) PROD(4)=UD*EPSD(6)*ENDD(5)+EPSD(2)*ENDD(4)+UD*EPSD(4)*ENDD(3)+ * UD*EPSD(5)*ENDD(6)+UD*EPSD(4)*ENDD(2)+EPSD(3)*ENDD(4) PROD(5)=UD*EPSD(5)*ENDD(1)+UD*EPSD(4)*ENDD(6)+EPSD(3)*ENDD(5)+ * EPSD(1)*ENDD(5)+UD*EPSD(6)*ENDD(4)+UD*EPSD(5)*ENDD(3) PROD(6)=UD*EPSD(6)*ENDD(1)+EPSD(2)*ENDD(6)+UD*EPSD(4)*ENDD(5)+ * EPSD(1)*ENDD(6)+UD*EPSD(6)*ENDD(2)+UD*EPSD(5)*ENDD(4) C------- NP=1 IF(NP.EQ.1)THEN DO 30 I=1,3 SIGD(I)=G*ENDOPL(I)+LAMB*TRAC3+ALP1*(TRACE2+TRAC3*ENDD(I)) * +DEUX*BETA*PROD(I)+DEUX*MUT*EPSD(I) 30 CONTINUE DO 35 I=4,6 SIGD(I)=G*ENDOPL(I)+ALP1*TRAC3*ENDD(I)+MUT*EPSD(I) * +DEUX*BETA*PROD(I) 35 CONTINUE GOTO 21 ENDIF C------------------------------------------------------------------ C CALCUL MATRICE TANGENTE continue C ET MATRICE TANGENTE consistante C------------------------------------------------------------------ C C----------------------------------Calcul des coef.---------------- 21 XA=DEUX*TRAC1 XM=B*ABS(G)*SQRT(TRAC1/DEUX)+(B**2)*ABS(G)*TRAC2 * -CPRIME*TRAC5/SQRT(DEUX*TRAC1)-CPRIME*B*TRAC6 V2=-XLMD/(SQRT(XA)*TRAC5) V3=XLMD/SQRT(XA) V5=ABS(G)/(SQRT(XA)*CPRIME*TRAC5) C---------------------------------Passage en notation indicielle--- DO 42 I=1,3 D(I,I)=ENDD(I) EP(I,I)=EPSPLS(I) E(I,I)=EPSD(I) EDPLUS(I,I)=ENDOPL(I) EPLUS(I,I)=EPL(I) DO 43 J=I+1,3 IF ((I.EQ.1).AND.(J.EQ.2)) K=6 IF ((I.EQ.1).AND.(J.EQ.3)) K=5 IF ((I.EQ.2).AND.(J.EQ.3)) K=4 D(I,J)=ENDD(K) D(J,I)=ENDD(K) E(I,J)=UD*EPSD(K) E(J,I)=UD*EPSD(K) EP(I,J)=UD*EPSPLS(K) EP(J,I)=UD*EPSPLS(K) EDPLUS(I,J)=ENDOPL(K) EDPLUS(J,I)=ENDOPL(K) EPLUS(I,J)=EPL(K) EPLUS(J,I)=EPL(K) 43 CONTINUE 42 CONTINUE C--------------------- Calcul des produit contractes ----------------- CONT1=ZERO CONT2=ZERO DO 44 I=1,3 DO 45 J=1,3 CONT1=CONT1+E(I,J)*EP(I,J) CONT2=CONT2+E(I,J)*D(I,J) CONT3(I,J)=ZERO CONT4(I,J)=ZERO DO 46 K=1,3 CONT3(I,J)=CONT3(I,J)+E(I,K)*EP(K,J)+EP(I,K)*E(K,J) CONT4(I,J)=CONT4(I,J)+E(I,K)*D(K,J)+D(I,K)*E(K,J) 46 CONTINUE 45 CONTINUE 44 CONTINUE C----------------------------Calcul de la matrice tangente--------- DO 50 I=1,3 DO 60 J=1,3 DO 70 K=1,3 DO 80 L=1,3 C------------------------- U(I,J,K,L)=LAMB*DELT(I,J)*DELT(K,L)+MUT*(DELT(I,K)*DELT(J,L) * +DELT(I,L)*DELT(J,K))+ALP1*(DELT(I,J)*D(K,L)+D(I,J)*DELT(K,L)) * +BETA*(D(I,K)*DELT(J,L)+D(L,J)*DELT(I,K)+DELT(I,L) * *D(J,K)+D(I,L)*DELT(J,K)) C------------------------- V(I,J,K,L)=(1/XM)*(ALP1*G*CONT1*DELT(I,J)/XA+ALP1*B*G * *CONT2*DELT(I,J)/SQRT(XA)+(ALP1*G/XA)*EP(I,J) * *TRAC3+(ALP1*B*G/SQRT(XA))*D(I,J)*TRAC3+(DEUX*BETA*G/XA) * *CONT3(I,J)+DEUX*BETA*(B*G/SQRT(XA))*CONT4(I,J) * +(G**2/XA)*EPLUS(I,J)+(B*(G**2)/SQRT(XA)) * *EDPLUS(I,J))*EPLUS(K,L) C------------------------- R(I,J,K,L)=(1/XM)*((ALP1*B*G/SQRT(XA))*CONT1*DELT(I,J) * +ALP1*(B**2)*G*CONT2*DELT(I,J)+(ALP1*B*G/SQRT(XA)) * *EP(I,J)*TRAC3+ALP1*(B**2)*G*D(I,J)*TRAC3+DEUX*BETA * *(B*G/SQRT(XA))*CONT3(I,J)+DEUX*BETA*(B**2)*G* * CONT4(I,J)+(B*(G**2)/SQRT(XA))*EPLUS(I,J) * +B**2*G**2*EDPLUS(I,J))*EDPLUS(K,L) C------------------------- W1(I,J,K,L)=0.D0 W2(I,J,K,L)=0.D0 DO 81 M=1,3 DO 81 N=1,3 W1(I,J,K,L)=(G*V5*EPLUS(I,J)*E(M,N)+G*V2*EPLUS(I,J)*DELT(M,N) * +G*V3*PPLUS(I,J,M,N)+DEUX*BETA*V5*CONT3(I,J)*E(M,N) * +DEUX*BETA*V2*CONT3(I,J)*DELT(M,N)+BETA*V3* * (E(I,M)*DELT(J,N)+DELT(J,M)*E(I,N)+DELT(I,M)*E(J,N)+ * E(J,M)*DELT(I,N))+ALP1*V5*TRAC4*DELT(I,J)*EP(M,N) * +ALP1*V2*TRAC4*DELT(I,J)*DELT(M,N)+ALP1*V3* * DELT(I,J)*E(M,N)+ALP1*V5*TRAC3*EP(I,J)*EP(M,N) * )*PPLUS(M,N,K,L)+W1(I,J,K,L) W2(I,J,K,L)=(ALP1*V2*TRAC3*EP(I,J)*DELT(M,N) * +ALP1*V3*TRAC3*(DELT(I,M)*DELT(N,J)+DELT(J,M)*DELT(N,I)) * /2.D0)*PPLUS(M,N,K,L)+W2(I,J,K,L) 81 CONTINUE C------------------------- 80 CONTINUE 70 CONTINUE 60 CONTINUE 50 CONTINUE C-------------------------- DO 110 I=1,6 DO 120 J=1,6 IF (I.EQ.1) THEN M=1 N=1 ENDIF IF (I.EQ.2) THEN M=2 N=2 ENDIF IF (I.EQ.3) THEN M=3 N=3 ENDIF IF (I.EQ.4) THEN M=1 N=2 ENDIF IF (I.EQ.5) THEN M=2 N=3 ENDIF IF (I.EQ.6) THEN M=1 N=3 ENDIF IF (J.EQ.1) THEN K=1 L=1 ENDIF IF (J.EQ.2) THEN K=2 L=2 ENDIF IF (J.EQ.3) THEN K=3 L=3 ENDIF IF (J.EQ.4) THEN K=1 L=2 ENDIF IF (J.EQ.5) THEN K=2 L=3 ENDIF IF (J.EQ.6) THEN K=1 L=3 ENDIF VDEP2(I,J)=U(M,N,K,L) VDEP(I,J)=U(M,N,K,L)+V(M,N,K,L)+R(M,N,K,L) VDEP1(I,J)=U(M,N,K,L)+W1(M,N,K,L)+W2(M,N,K,L) IF(ABS(VDEP2(I,J)).LE.1E-15)VDEP2(I,J)=0.D0 IF(ABS(VDEP1(I,J)).LE.1E-15)VDEP1(I,J)=0.D0 IF(ABS(VDEP(I,J)).LE.1E-15)VDEP(I,J)=0.D0 120 CONTINUE 110 CONTINUE C--------------------------------------------------------------------- C CALCUL DE SIG n+1 C--------------------------------------------------------------------- DO 111 I=1,6 DO 121 J=1,6 IF (I.EQ.1) THEN M=1 N=1 ENDIF IF (I.EQ.2) THEN M=2 N=2 ENDIF IF (I.EQ.3) THEN M=3 N=3 ENDIF IF (I.EQ.4) THEN M=2 N=3 ENDIF IF (I.EQ.5) THEN M=1 N=3 ENDIF IF (I.EQ.6) THEN M=1 N=2 ENDIF IF (J.EQ.1) THEN K=1 L=1 ENDIF IF (J.EQ.2) THEN K=2 L=2 ENDIF IF (J.EQ.3) THEN K=3 L=3 ENDIF IF (J.EQ.4) THEN K=2 L=3 ENDIF IF (J.EQ.5) THEN K=1 L=3 ENDIF IF (J.EQ.6) THEN K=1 L=2 ENDIF VDEP2(I,J)=U(M,N,K,L) 121 CONTINUE 111 CONTINUE C------------------------------------------------------------- NP=2 IF(NP.EQ.2)THEN DO 302 I=1,6 SIFF(I)=0.D0 DO 301 J=1,6 SIFF(I)=VDEP2(I,J)*EPSD(J)+SIFF(I) 301 CONTINUE SIFF(I)=G*ENDOPL(I)+SIFF(I) 302 CONTINUE ENDIF C------------------------------------------------------------- H=0 DO 307 I=1,6 DEPS(I)=EPSD(I)-EPST(I) DSIG(I)=SIGD(I)-SIGT(I) H=H+DEPS(I)*DSIG(I) 307 CONTINUE C WRITE(10,1203)H C1203 FORMAT(/5X,'DSIG : DEPS = ',E12.5) RETURN END