Download aactum.eso

Back to the list

   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