Download ccreep.eso

Back to the list

   1 : C CCREEP    SOURCE    FANDEUR   14/01/22    21:15:01     7891           
   2 :       SUBROUTINE CCREEP ( wrk52, wrk53, wrk54,
   3 :      &                  IFOURB, IB, IGAU, NBPGAU,
   4 :      &                  wcreep, iecou, xecou )
   5 :       IMPLICIT INTEGER(I-N)
   6 :       IMPLICIT REAL*8(A-H,O-Z)
   7 : C-----------------------------------------------------------------------
   8 : C
   9 : C     DESCRIPTION FONCTIONNELLE :
  10 : C     -------------------------
  11 : C
  12 : C     Integration des lois 'VISCO_EXTERNE' par un schema Runge-Kutta 1.2
  13 : C
  14 : C     Entrees/sorties : segments wrk52, wrk53, wrk54 de l'objet DECHE
  15 : C     Entrees : IFOURB = -3 EN DEFORMATIONS PLANES GENERALISEES
  16 : C                        -2 EN CONTRAINTES PLANES
  17 : C                        -1 EN DEFORMATIONS PLANES
  18 : C                         0 EN AXISYMETRIE
  19 : C                         1 EN SERIE DE FOURIER
  20 : C                         2 EN TRIDIM
  21 : C               IB     = NUMERO DE L'ELEMENT COURANT
  22 : C               IGAU   = NUMERO DU POINT COURANT
  23 : C               NBPGAU = NBRE DE POINTS DE GAUSS
  24 : C     Variables de travail : segments wcreep, iecou, xecou
  25 : C
  26 : C-----------------------------------------------------------------------
  27 : -INC CCOPTIO
  28 : -INC DECHE
  29 : C
  30 : C Segment de travail pour les lois 'VISCO_EXTERNE'
  31 : C
  32 :       SEGMENT WCREEP
  33 : C        Entrees/sorties constantes de la routine CREEP
  34 :          REAL*8        SERD
  35 :          CHARACTER*16  CMNAMC
  36 :          INTEGER       LEXIMP, NSTTVC, LAYERC, KSPTC
  37 : C        Entrees/sorties de la routine CREEP pouvant varier
  38 :          REAL*8        STV(NSTV),    STV1(NSTV),  STVP1(NSTV),
  39 :      &                 STVP2(NSTV),  STV12(NSTV), STVP3(NSTV),
  40 :      &                 STVP4(NSTV),  STV13(NSTV), STVF(NSTV),
  41 :      &                 TMP12,        TMP,         TMP32,
  42 :      &                 DTMP12,       DTMP,
  43 :      &                 PRD12(NPRD),  PRD(NPRD),   PRD32(NPRD),
  44 :      &                 DPRD12(NPRD), DPRD(NPRD)
  45 :          INTEGER       KSTEPC
  46 : C        Autres indicateurs et variables de travail
  47 :          LOGICAL       LTMP, LPRD, LSTV
  48 :          INTEGER       IVIEX, NPAREC
  49 :          REAL*8        dTMPdt, dPRDdt(NPRD)
  50 :       ENDSEGMENT
  51 : C
  52 :       SEGMENT IECOU
  53 :          INTEGER       NYOG  ,NYNU  ,NYALFA,NYSMAX,NYN   ,NYM   ,NYKK  ,
  54 :      &   NYALF1,NYBET1,NYR   ,NYA   ,NYRHO ,NSIGY ,NNKX  ,NYKX  ,icow16,
  55 :      &   icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24,
  56 :      &   icow25,icow26,icow27,icow28,icow29,icow30,ICARA,
  57 :      &   icow32,icow33,NSTRS1,MFR1,  NBGMAT,NELMAT,MSOUPA,
  58 :      &   icow39,icow40,icow41,icow42,icow43,icow44
  59 :         INTEGER icow45,icow46,icow47,icow48,icow49,icow50,
  60 :      .          icow51,icow52,icow53,icow54,icow55,icow56
  61 :      .          icow57,icow58
  62 :       ENDSEGMENT
  63 : C
  64 :       SEGMENT XECOU
  65 :          REAL*8 xcow1, xcow2,xcow3,DTT,  DT,   TREF, xcow7
  66 :       ENDSEGMENT
  67 : C
  68 : C     Variables locales
  69 : C
  70 : C     Tableaux de travail
  71 : C
  72 :       REAL*8     SIG(8),SIG1(8),SIG12(8),SIG13(8),
  73 :      &           DSPT(8),XX(8),
  74 :      &           EVP1(8),EVP2(8),EVP3(8),EVP4(8),
  75 :      &           EPSV(8),EPSV1(8),EPSV12(8),EPSV13(8),
  76 :      &           CRIGI(12),
  77 :      &           DECRA(5),DESWA(5),TIME12(2),TIME(2),TIME32(2)
  78 : C
  79 : C     Variables scalaires
  80 : C
  81 :       LOGICAL    DTLIBR
  82 : C
  83 : C------------------- Debut du code executable --------------------------
  84 : C
  85 : C=======================================================================
  86 : C 1 - INITIALISATIONS
  87 : C     Parametres de pilotage des iterations internes
  88 : C=======================================================================
  89 : C
  90 :       PRELOC=1.d-8
  91 :       KERRE = 0
  92 : C* -> Les tests de "Restriction" sont maintenant effectues lors de la 
  93 : C*    ceation du modele (cf MODELI).
  94 : C*C
  95 : C*C     Restriction pour l'instant a 'VISCO_EXTERNE' 'GENERAL'
  96 : C*C
  97 : C*      IF ( IVIEX.NE.1 ) THEN
  98 : C*         KERRE = 958
  99 : C*         RETURN
 100 : C*      ENDIF
 101 : C*C
 102 : C*C     Restriction aux elements massifs avec option de calcul 3D
 103 : C*C
 104 : C*      IF ( MFR1.NE.1.OR.IFOURB.NE.2 ) THEN
 105 : C*         KERRE = 950
 106 : C*         RETURN
 107 : C*      ENDIF
 108 : C*C
 109 : C* Normalement ce test sur DT < 0 devrait etre fait avant (COMVAL ?)
 110 :       IF (DT.LT.0.0) THEN
 111 :          KERRE = 414
 112 :          RETURN
 113 :       ENDIF
 114 :       IF (DT.EQ.0.0) DT = 1.e-20
 115 : C
 116 :       DTLIBR =.TRUE.
 117 : C
 118 :       DTLEFT = DT
 119 :       BORNE  = 2.0
 120 :       RMAX   = 1.3
 121 :       RMIN   = 0.7
 122 :       DIV    = 7.0
 123 :       FAC    = 3.0
 124 : C
 125 :       XMAX = XMAT(1)*1.D-3
 126 : C
 127 : C=======================================================================
 128 : C 2 - Prediction elastique de l'increment de contraintes
 129 : C=======================================================================
 130 : C
 130 :       CALL CALSIG(DEPST,DDAUX,NSTRS1,CMATE,VALMAT,VALCAR,N2EL,
 131 :      &            N2PTEL,MFR1,IFOURB,IB,IGAU,EPAIST,NBPGAU,MELE,
 132 :      &            NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,
 133 :      &            D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD)
 134 : C
 135 :       IF (IRTD.NE.1) THEN
 136 :          KERRE = 714
 137 :          RETURN
 138 :       ENDIF
 139 : C
 140 : C=======================================================================
 141 : C 3 - Pre-traitements avant iterations en sous-increments

 142 : C=======================================================================
 143 : C
 144 : C.....Deformations inelastiques au debut du pas :
 145 : C     Passage gamma -> epsilon pour les termes extradiagonaux
 146 : C
 147 : C     ATTENTION : adaptations si extension a d'autres formulations EF
 148 : C                                       ou a d'autres options de calcul
 149 :       DO 30 I=4,NSTRS1
 150 :         EPIN0(I)=0.5D0*EPIN0(I)
 151 :   30  CONTINUE
 152 : C
 153 : C.....Calcul des derivees temporelles de la temperature et des
 154 : C     parametres externes
 155 : C     Ces parametres de chargement sont supposes varier lineairement
 156 : C     au cours du pas de temps
 157 : C
 158 :       IF ( LTMP ) THEN
 159 :          dTMPdt = (TUREF(1)-TURE0(1))/DT
 160 :       ENDIF
 161 :       IF ( LPRD ) THEN
 162 :          DO 35 I=1,NPAREC
 163 :             dPRDdt(I) = (PAREXF(I)-PAREX0(I))/DT
 164 :   35     CONTINUE
 165 :       ENDIF
 166 : C
 167 : C=======================================================================
 168 : C 4 - INITIALISATIONS AVANT ITERATIONS EN SOUS-INCREMENTS

 169 : C=======================================================================
 170 : C
 171 :       ITERO = 0
 172 :  6543 CONTINUE
 173 : C
 174 :       ITERO = 1 + ITERO
 175 :       IF ( ITERO.NE.1) THEN
 176 :          DTLIBR = .TRUE.
 177 :          preloc = preloc * 7.D0
 178 :          IF (ITERO.GT.3) THEN
 179 :             KERRE = 268
 180 :             RETURN
 181 :          ENDIF
 182 :       ENDIF
 183 : C
 184 :       DTLEFT = DT
 185 :       TAU    = DTLEFT
 186 :       TAU12  = TAU*0.5D0
 187 : C
 188 :       TIME12(1) = 0.5D0*DT
 189 :       TIME12(2) = temp0+TIME12(1)
 190 :       TIME(1)= DT
 191 :       TIME(2)= tempf
 192 :       TIME32(1) = 1.5D0*DT
 193 :       TIME32(2) = temp0+TIME32(1)
 194 : C
 195 :       IF ( LTMP ) THEN
 196 :          DTMP   = TUREF(1)-TURE0(1)
 197 :          DTMP12 = 0.5D0*DTMP
 198 :          TMP12 = TURE0(1)+DTMP12
 199 :          TMP   = TUREF(1)
 200 :          TMP32 = TUREF(1)+DTMP12
 201 :       ENDIF
 202 :       IF ( LPRD ) THEN
 203 :          DO 36 I=1,NPAREC
 204 :             DPRD(I)   = PAREXF(I)-PAREX0(I)
 205 :             DPRD12(I) = 0.5D0*DPRD(I)
 206 :             PRD12(I) = PAREX0(I)+DPRD12(I)
 207 :             PRD(I)   = PAREXF(I)
 208 :             PRD32(I) = PAREXF(I)+DPRD12(I)
 209 :   36     CONTINUE
 210 :       ENDIF
 211 : C
 212 :       ASIG = SQRT(PROCON(SIG0,SIG0,NSTRS1))
 213 :       ERRABS = preloc*ASIG
 214 :       IF (XMAX.GT.ASIG) ERRABS = preloc*XMAX
 215 : C
 216 :       DO 40 I=1,NSTRS1
 217 :          SIG(I) = SIG0(I)
 218 :          EPSV(I) = EPIN0(I)
 219 :          DSPT(I) = DSIGT(I)/DT
 220 :   40  CONTINUE
 221 : C
 222 :       EC0  = VAR0(1)
 223 :       ESW0 = VAR0(2)
 224 :       P    = VAR0(3)
 225 :       QTLD = VAR0(4)
 226 :       IF ( LSTV ) THEN
 227 :          DO 50 I=1,NSTTVC
 228 :             STV(I)=VAR0(4+I)
 229 :   50     CONTINUE
 230 :       ENDIF
 231 : C
 232 : C=======================================================================
 233 : C 5 - ITERATIONS EN SSINCREMENTS  /FIN SI DTLEFT = 0
 234 : C=======================================================================
 235 : C
 236 :       NSSINC = 0
 237 :       NITERA = 0
 238 :   60  CONTINUE
 239 : C
 240 :          NSSINC = NSSINC + 1
 241 :          IF (NSSINC.GT.MSOUPA) THEN
 242 :             DTLIBR=.FALSE.
 243 :             GOTO 6543
 244 :          ENDIF
 245 : C
 246 : C        Evaluation initiale des vitesses de deformation inelastique
 247 : C        sur la base du dernier sous-increment converge
 248 :          LEND = 0
 248 :          CALL CREEP(DECRA,DESWA,STV,serd,EC0,ESW0,P,QTLD,
 249 :      &              TMP,DTMP,PRD,DPRD,TIME,TAU,
 250 :      &              cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 251 :      &              layerc,ksptc,KSTEPC,NSSINC)
 252 :          IF (KSTEPC.NE.1) RETURN
 252 :          CALL INCREE(TAU,SIG,P,QTLD,DECRA,DESWA,
 253 :      &               EVP1,EC0P1,ESW0P1,
 254 :      &               NSTRS1,IVIEX,MFR1,IFOURB)
 255 : C
 256 : C        ---------------------------------------------------------------
 257 : C        DEBUT DES ITERATIONS SUR TAU OPTIMAL /FIN SI RA PETIT
 258 : C
 259 :          NITERA  = 0
 260 :   70     CONTINUE
 261 : C
 262 :             NITERA  = NITERA + 1
 263 : C
 264 : C           ____________________________________________________________
 265 : C           Premiere evaluation de l'etat a t+TAU12
 265 :             CALL AVCREE(TAU12,SIG,EPSV,EC0,ESW0,
 266 :      &                  SIG1,EPSV1,EC01,ESW01,P1,QTLD1,
 267 :      &                  DSPT,EVP1,EC0P1,ESW0P1,XMAT,
 268 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 269 : C           MAJ des variables internes supplementaires le cas echeant
 270 :             IF ( LSTV ) THEN
 271 :                LEND = 1
 271 :                CALL CREEP(DECRA,DESWA,STV1,serd,EC0,ESW0,P1,QTLD1,
 272 :      &                    TMP12,DTMP12,PRD12,DPRD12,TIME12,TAU12,
 273 :      &                    cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 274 :      &                    layerc,ksptc,KSTEPC,NSSINC)
 275 :                IF (KSTEPC.NE.1) RETURN
 276 :             ENDIF
 277 : C
 278 : C           ____________________________________________________________
 279 : C           Reevaluation des vitesses de deformation inelastique sur la
 280 : C           base de l'etat a t+TAU12 calcule precedemment, puis moyenne
 281 :             LEND = 0
 281 :             CALL CREEP(DECRA,DESWA,STV1,serd,EC01,ESW01,P1,QTLD1,
 282 :      &                 TMP32,DTMP,PRD32,DPRD,TIME32,TAU,
 283 :      &                 cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 284 :      &                 layerc,ksptc,KSTEPC,NSSINC)
 285 :             IF (KSTEPC.NE.1) RETURN
 285 :             CALL INCREE(TAU,SIG1,P1,QTLD1,DECRA,DESWA,
 286 :      &                  EVP2,EC0P2,ESW0P2,
 287 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 288 : C
 289 :             DO 701 I=1,NSTRS1
 290 :                EVP2(I) = 0.5D0*(EVP1(I)+EVP2(I))
 291 :  701        CONTINUE
 292 :             EC0P2 = 0.5D0*(EC0P1+EC0P2)
 293 :             ESW0P2 = 0.5D0*(ESW0P1+ESW0P2)
 294 : C
 295 : C           ____________________________________________________________
 296 : C           Reevaluation de l'etat a t+TAU12
 296 :             CALL AVCREE(TAU12,SIG,EPSV,EC0,ESW0,
 297 :      &                  SIG12,EPSV12,EC012,ESW012,P12,QTLD12,
 298 :      &                  DSPT,EVP2,EC0P2,ESW0P2,XMAT,
 299 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 300 : C           MAJ des variables internes supplementaires le cas echeant
 301 :             IF ( LSTV ) THEN
 302 :                LEND = 1
 302 :                CALL CREEP(DECRA,DESWA,STV12,serd,EC0,ESW0,P12,QTLD12,
 303 :      &                    TMP12,DTMP12,PRD12,DPRD12,TIME12,TAU12,
 304 :      &                    cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 305 :      &                    layerc,ksptc,KSTEPC,NSSINC)
 306 :                IF (KSTEPC.NE.1) RETURN
 307 :             ENDIF
 308 : C
 309 : C           ____________________________________________________________
 310 : C           Reevaluation des vitesses de deformation inelastique sur la
 311 : C           base de l'etat a t+TAU12 calcule precedemment
 312 :             LEND = 0
 312 :             CALL CREEP(DECRA,DESWA,STV12,serd,EC012,ESW012,P12,QTLD12,
 313 :      &                 TMP,DTMP12,PRD,DPRD12,TIME,TAU12,
 314 :      &                 cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 315 :      &                 layerc,ksptc,KSTEPC,NSSINC)
 316 :             IF (KSTEPC.NE.1) RETURN
 316 :             CALL INCREE(TAU12,SIG12,P12,QTLD12,DECRA,DESWA,
 317 :      &                  EVP3,EC0P3,ESW0P3,
 318 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 319 : C
 320 : C           ____________________________________________________________
 321 : C           Premiere evaluation de l'etat a t+TAU
 321 :             CALL AVCREE(TAU12,SIG12,EPSV12,EC012,ESW012,
 322 :      &                  SIG13,EPSV13,EC013,ESW013,P13,QTLD13,
 323 :      &                  DSPT,EVP3,EC0P3,ESW0P3,XMAT,
 324 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 325 : C           MAJ des variables internes supplementaires le cas echeant
 326 :             IF ( LSTV ) THEN
 327 :               LEND = 1
 327 :               CALL CREEP(DECRA,DESWA,STV13,serd,EC012,ESW012,P13,QTLD13,
 328 :      &                   TMP,DTMP12,PRD,DPRD12,TIME,TAU12,
 329 :      &                   cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 330 :      &                   layerc,ksptc,KSTEPC,NSSINC)
 331 :               IF (KSTEPC.NE.1) RETURN
 332 :             ENDIF
 333 : C
 334 : C           ____________________________________________________________
 335 : C           Reevaluation des vitesses de deformation inelastique sur la
 336 : C           base de l'etat a t+TAU calcule precedemment, puis moyenne
 337 :             LEND = 0
 337 :             CALL CREEP(DECRA,DESWA,STV13,serd,EC013,ESW013,P13,QTLD13,
 338 :      &                 TMP32,DTMP12,PRD32,DPRD12,TIME32,TAU12,
 339 :      &                 cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 340 :      &                 layerc,ksptc,KSTEPC,NSSINC)
 341 :             IF (KSTEPC.NE.1) RETURN
 341 :             CALL INCREE(TAU12,SIG13,P13,QTLD13,DECRA,DESWA,
 342 :      &                  EVP4,EC0P4,ESW0P4,
 343 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 344 : C
 345 :             DO 711 I=1,NSTRS1
 346 :                EVP4(I) = 0.5D0*(EVP3(I)+EVP4(I))
 347 :  711        CONTINUE
 348 :             EC0P4 = 0.5D0*(EC0P3+EC0P4)
 349 :             ESW0P4 = 0.5D0*(ESW0P3+ESW0P4)
 350 : C
 351 : C           ____________________________________________________________
 352 : C           Reevaluation de l'etat a t+TAU
 352 :             CALL AVCREE(TAU12,SIG12,EPSV12,EC012,ESW012,
 353 :      &                  SIGF,EPINF,EC0F,ESW0F,PF,QTLDF,
 354 :      &                  DSPT,EVP4,EC0P4,ESW0P4,XMAT,
 355 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 356 : C           MAJ des variables internes supplementaires le cas echeant
 357 :             IF ( LSTV ) THEN
 358 :                LEND = 1
 358 :                CALL CREEP(DECRA,DESWA,STVF,serd,EC012,ESW012,PF,QTLDF,
 359 :      &                    TMP,DTMP12,PRD,DPRD12,TIME,TAU12,
 360 :      &                    cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 361 :      &                    layerc,ksptc,KSTEPC,NSSINC)
 362 :                IF (KSTEPC.NE.1) RETURN
 363 :             ENDIF
 364 : C
 365 : C           ____________________________________________________________
 366 : C           Reevaluation des vitesses de deformation inelastique sur la
 367 : C           base de l'etat a t+TAU calcule precedemment, puis moyenne
 368 :             LEND = 0
 368 :             CALL CREEP(DECRA,DESWA,STVF,serd,EC0F,ESW0F,PF,QTLDF,
 369 :      &                 TMP32,DTMP12,PRD32,DPRD12,TIME32,TAU12,
 370 :      &                 cmnamc,leximp,LEND,coorga,nsttvc,ib,igau,
 371 :      &                 layerc,ksptc,KSTEPC,NSSINC)
 372 :             IF (KSTEPC.NE.1) RETURN
 372 :             CALL INCREE(TAU12,SIGF,PF,QTLDF,DECRA,DESWA,
 373 :      &                  EVP4,EC0P4,ESW0P4,
 374 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 375 : C
 376 :             DO 721 I=1,NSTRS1
 377 :                EVP2(I) = (EVP1(I)+EVP4(I))/6.D0+EVP3(I)*2.D0/3.D0
 378 :  721        CONTINUE
 379 :             EC0P2 = (EC0P1+EC0P4)/6.D0+EC0P3*2.D0/3.D0
 380 :             ESW0P2 = (ESW0P1+ESW0P4)/6.D0+ESW0P3*2.D0/3.D0
 381 : C
 382 : C           ____________________________________________________________
 383 : C           Derniere evaluation de l'etat a t+TAU pour test convergence
 383 :             CALL AVCREE(TAU,SIG,EPSV,EC0,ESW0,
 384 :      &                  SIG1,EPSV1,EC01,ESW01,P1,QTLD1,
 385 :      &                  DSPT,EVP2,EC0P2,ESW0P2,XMAT,
 386 :      &                  NSTRS1,IVIEX,MFR1,IFOURB)
 387 : C           Pas de MAJ des variables internes supplementaires (inutile)
 388 : C
 389 : C           ____________________________________________________________
 390 : C           CALCUL DU RAPPORT : ERREUR CALCULEE / ERREUR ADMISE
 391 : C
 392 :             DO 730 I=1,NSTRS1
 393 :                XX(I) = SIGF(I)-SIG1(I)
 394 :  730        CONTINUE
 395 :             RA = SQRT(PROCON(XX,XX,NSTRS1))/(ERRABS)
 396 :             SQRA = SQRT(RA)
 397 : C
 398 : C           ____________________________________________________________
 399 : C           TEST DE FIN D'ITERATIONS /  MISE A JOUR DE TAU
 400 : C           DIV =7   BORNE = 2
 401 : C           SI   SQRA>7   TAU = TAU/7    ET NOUVEL ESSAI
 402 : C           SI 2RMAX       on vise RA = 1
 504 : C     Fin des boucles en ss increments  si tau = DTLEFT
 505 : C
 506 :       IF ( TAU.LT.DTLEFT ) THEN
 507 :          DTLEFT = DTLEFT - TAU
 508 :          IF ( FAC*SQRA.LT.1.D0) THEN
 509 :             TAU=TAU*FAC
 510 :          ELSE IF ( (SQRA.LT.RMIN).OR.(SQRA.GT.RMAX) ) THEN
 511 :             TAU=TAU/SQRA
 512 :          ENDIF
 513 :          IF (TAU.GT.DTLEFT) TAU = DTLEFT
 514 :          TAU12 = TAU*0.5D0
 515 :          TIME12(1) = TIME(1) + TAU12
 516 :          TIME12(2) = TIME(2) + TAU12
 517 :          TIME32(1) = TIME(1) + 1.5D0*TAU
 518 :          TIME32(2) = TIME(2) + 1.5D0*TAU
 519 :          TIME(1) = TIME(1) + TAU
 520 :          TIME(2) = TIME(2) + TAU
 521 :          IF ( LTMP ) THEN
 522 :             DTMP = dTMPdt * TAU
 523 :             DTMP12 = dTMPdt * TAU12
 524 :             TMP12 = TMP + DTMP12
 525 :             TMP32 = TMP + 1.5D0*DTMP
 526 :             TMP = TMP + DTMP
 527 :          ENDIF
 528 :          IF ( LPRD ) THEN
 529 :             DO 100 I=1,NPAREC
 530 :                DPRD(I) = dPRDdt(I) * TAU
 531 :                DPRD12(I) = dPRDdt(I) * TAU12
 532 :                PRD12(I) = PRD(I) + DPRD12(I)
 533 :                PRD32(I) = PRD(I) + 1.5D0*DPRD(I)
 534 :                PRD(I) = PRD(I) + DPRD(I)
 535 :  100        CONTINUE
 536 :          ENDIF
 537 :          GOTO 60
 538 :       ENDIF
 539 : C
 540 :       IF (ABS(TAU-DTLEFT).GT.(TAU/1000.)) THEN
 541 :          WRITE ( IOIMP,* ) ' PROBLEME   TAU > DTLEFT '
 542 :          KERRE = 223
 543 :          RETURN
 544 :       ENDIF
 545 : C
 546 : C=======================================================================
 547 : C 6 - Post-traitements pour stockage des resultats
 548 : C=======================================================================
 549 : C
 550 : C.....Deformations inelastiques debut/fin de pas :
 551 : C     Passage epsilon -> gamma pour les termes extradiagonaux
 552 : C     ATTENTION : adaptations si extension a d'autres formulations EF
 553 : C                                       ou a d'autres options de calcul
 554 :       DO 110 I=1,NSTRS1
 555 :          A=1.D0
 556 :          IF (I.GT.3) A=2.D0
 557 :          EPIN0(I)=EPIN0(I)*A
 558 :          EPINF(I)=EPINF(I)*A
 559 :  110  CONTINUE
 560 : C
 561 : C.....Variables internes a la fin du pas
 562 : C
 563 :       VARF(1) = EC0F
 564 :       VARF(2) = ESW0F
 565 :       VARF(3) = PF
 566 :       VARF(4) = QTLDF
 567 :       IF ( LSTV ) THEN
 568 :          DO 120 I=1,NSTTVC
 569 :             VARF(4+I)=STVF(I)
 570 :  120     CONTINUE
 571 :       ENDIF
 572 : C
 573 :       RETURN
 574 :       END
 575 :  
 576 :  
 577 :  
 578 :  
 579 :  
 580 :  
 581 :  
 582 :  

© Cast3M 2003 - All rights reserved.
Disclaimer