Download ric3nl.eso

Back to the list

   1 : C RIC3NL    SOURCE    PV        11/03/08    21:15:50     6888           
   2 : C sub ricnl3d
   3 :        SUBROUTINE RIC3NL(wrk52,wrk53,wrk54,nvari,iecou) 
   4 : C 
   5 : C====&===1=========2=========3=========4=========5=========6=========7== 
   6 : C Commentaires : Subroutine permettant de mettre en oeuvre le  
   7 : C                    modele RICRAG (F. Ragueneau & B. Richard) pour représenter 
   8 : C                le comportement 3D d'un béton ordinaire sous                  
   9 : C                sollicitations complexes en non local 
  10 : C Traits       : - Endommagement scalaire  
  11 : C                - Glissement frottant 
  12 : C                - 3D 
  13 : C                - Monotone et cyclique 
  14 : C                - Non localité portant sur le seuil d'endommagement (Fd) 
  15 : C                - Bon comportement unilatteral 
  16 : C Auteurs      : B. Richard (doctorant) & F. Ragueneau (LCPC, FDOA & BCC) 
  17 : C Date         : Mai 2008 
  18 : C====&===1=========2=========3=========4=========5=========6=========7== 
  19 : C 
  20 : C-----DECLARATION GENERALE---------------------------------------------- 
  21 : C 
  22 :       IMPLICIT REAL*8(A-H,O-Z) 
  23 : C 
  24 : C-----LISTE DES INCLUDES A CHARGER-------------------------------------- 
  25 : C 
  26 : -INC CCOPTIO  
  27 : -INC DECHE 
  28 : C 
  29 : C-----DECLARATION GENERALE---------------------------------------------- 
  30 : C 
  31 : C       REAL*8 XMAT(9),VAR0(30),VARF(30),SIGF(6),DEPST(6) 
  32 :       REAL*8 XZERO,UN,DEUX,EPSI(3,3) 
  33 :         REAL*8 E,NU,FT,ALIND,GAMMA1,A1,ALDIR 
  34 :         REAL*8 EPS0,K,G,Y0,DEPSDEV(3,3),DTRA 
  35 :         REAL*8 UNIT(3,3),DEPSI(3,3),EPSTFBIS(6) 
  36 :         REAL*8 EPSIPI(3,3),ALPHA(3,3),Z,D,DONMDNL,DONMINL,FFFZ,DOLD,FORCED 
  37 :         REAL*8 FORCEI,NRUPT,SEUILT,DEVPI(3,3) 
  38 :         REAL*8 TRA,EPSDEV(3,3),SIGMA(3,3),VPEPS(3),SEUIL1NL 
  39 :         REAL*8 YD,YN,EPSDIR(3,3),EPSIND(3,3),Dn 
  40 :       REAL*8 SIGMPI(3,3),SIGMOD(3,3),SIGMOX(3,3),X(3,3),TERME6(3,3) 
  41 :         REAL*8 TERME7(3,3),TERME8(3,3),TERME9(3,3),TROGO,DEVTRO(3,3) 
  42 :       REAL*8 DEVDGS(3,3) 
  43 : C       CHARACTER*8 CMATE 
  44 : C 
  45 : C-----DEFINITION DE PARAMETRES------------------------------------------ 
  46 : C 
  47 :       PARAMETER (XZERO=0.0D0 , UN=1.0D0 , DEUX=2.0D0, XCOEF=0.00D0) 
  48 : C 
  49 : C-----OUVERTURE DE SEGMENTS DE TRAVAIL---------------------------------- 
  50 : C 
  51 : C      SEGMENT WRK0                                                                
  52 : C        REAL*8 XMAT(NMATT)                                                        
  53 : C      ENDSEGMENT                                                                  
  54 : C 
  55 : C      SEGMENT WRK1                                                                
  56 : C        REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)  
  57 : C        REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)                                
  58 : C        REAL*8 DEFP(NSTRS),XCAR(ICARA)                                            
  59 : C      ENDSEGMENT      
  60 : C 
  61 : C      SEGMENT WRK5 
  62 : C        REAL*8 EPIN0(NSTRS),EPINF(NSTRS),EPST0(NSTRS) 
  63 : C      ENDSEGMENT 
  64 : C 
  65 : C-----MISE EN DONNEE---------------------------------------------------- 
  66 : C        
  67 :       CMATE='ISOTROPE' 
  68 :         E      = XMAT(1) 
  69 :       NU     = XMAT(2) 
  70 :       FT     = XMAT(5) 
  71 :       ALIND  = XMAT(6) 
  72 :       GAMMA1 = XMAT(7) 
  73 :       A1     = XMAT(8) 
  74 :       ALDIR  = XMAT(9) 
  75 :  
  76 :         EPS0   = FT/E 
  77 :       K      = E/(1.D0-2.D0*NU) 
  78 :       G      = E/(2.D0*(1.D0+NU)) 
  79 :       Y0     = (K/6.0D0*EPS0**2.D0) 
  80 :  
  81 :         DO I=1,3 
  82 :          DO J=1,3 
  83 :             IF (I.EQ.J) THEN 
  84 :                UNIT(I,J)=UN 
  85 :             ELSE 
  86 :                UNIT(I,J)=XZERO 
  87 :             ENDIF 
  88 :          ENDDO 
  89 :       ENDDO 
  90 : C 
  91 : C-----PASSAGE DES VARIABLES INTERNES------------------------------------ 
  92 : C 
  93 :  
  94 : C 
  95 : C     GLISSEMENT (EPSILON_PI) 
  96 : C 
  97 :       EPSIPI(1,1)=VAR0(2) 
  98 :       EPSIPI(2,2)=VAR0(3) 
  99 :       EPSIPI(3,3)=VAR0(4) 
 100 :  
 101 :       EPSIPI(1,2)=VAR0(5) 
 102 :       EPSIPI(1,3)=VAR0(6) 
 103 :       EPSIPI(2,3)=VAR0(7) 
 104 :  
 105 :       EPSIPI(2,1)=VAR0(5) 
 106 :       EPSIPI(3,1)=VAR0(6) 
 107 :       EPSIPI(3,2)=VAR0(7) 
 108 : C 
 109 : C     ECROUISSAGE CINEMATIQUE (ALPHA) 
 110 : C 
 111 :       ALPHA(1,1)=VAR0(8) 
 112 :       ALPHA(2,2)=VAR0(9) 
 113 :       ALPHA(3,3)=VAR0(10) 
 114 : C 
 115 :       ALPHA(1,2)=VAR0(11) 
 116 :       ALPHA(1,3)=VAR0(12) 
 117 :       ALPHA(2,3)=VAR0(13) 
 118 : C 
 119 :       ALPHA(2,1)=VAR0(11) 
 120 :       ALPHA(3,1)=VAR0(12) 
 121 :       ALPHA(3,2)=VAR0(13) 
 122 : C 
 123 : C     ENDOMMAGEMENT (D) 
 124 : C 
 125 :       D=VAR0(14) 
 126 : C 
 127 : C     FORCE ECROUISSAGE ISOTROPE 
 128 : C 
 129 :       FFFZ=VAR0(17) 
 130 : C 
 131 : C     DEFORMATION TOTALE MISE DANS EPSI 
 132 : C 
 133 :       DO I=1,6 
 134 :            EPSTFBIS(I)=VAR0(18+I)+DEPST(I) 
 135 :       ENDDO 
 136 :  
 137 :       DO I=1,3 
 138 :            EPSI (I,I)=VAR0(18+I)+DEPST(I) 
 139 :            DEPSI(I,I)=DEPST(I) 
 140 :       ENDDO 
 141 :  
 142 :       EPSI(1,2)=VAR0(22)+DEPST(4)/2.0D0 
 143 :       EPSI(1,3)=VAR0(23)+DEPST(5)/2.0D0 
 144 :       EPSI(2,3)=VAR0(24)+DEPST(6)/2.0D0 
 145 :       EPSI(2,1)=VAR0(22)+DEPST(4)/2.0D0 
 146 :       EPSI(3,1)=VAR0(23)+DEPST(5)/2.0D0 
 147 :       EPSI(3,2)=VAR0(24)+DEPST(6)/2.0D0 
 148 :  
 149 :         DEPSI(1,2)=DEPST(4)/2.0D0 
 150 :       DEPSI(1,3)=DEPST(5)/2.0D0 
 151 :       DEPSI(2,3)=DEPST(6)/2.0D0 
 152 :       DEPSI(2,1)=DEPST(4)/2.0D0 
 153 :       DEPSI(3,1)=DEPST(5)/2.0D0 
 154 :       DEPSI(3,2)=DEPST(6)/2.0D0 
 155 :  
 156 :         SIGMA(1,1)=SIG0(1) 
 157 :       SIGMA(2,2)=SIG0(2) 
 158 :         SIGMA(3,3)=SIG0(3) 
 159 :         SIGMA(1,2)=SIG0(4) 
 160 :         SIGMA(1,3)=SIG0(5) 
 161 :         SIGMA(2,3)=SIG0(6) 
 162 :         SIGMA(2,1)=SIG0(4) 
 163 :         SIGMA(3,1)=SIG0(5) 
 164 :         SIGMA(3,2)=SIG0(6) 
 165 : C 
 166 : C     ECROUISSAGE 
 167 : C 
 168 :       FORCED = VAR0(25) 
 169 :       FORCEI = VAR0(26) 
 170 : C 
 171 : C     MATRICE DE HOOKE 
 172 : C 
 173 :       AUX0=E/((UN+NU)*(UN-NU-NU)) 
 174 :       AUX=AUX0*(UN-NU) 
 175 :       AUX1=AUX0*NU 
 176 :       XGEGE=0.5D0*E/(UN+NU) 
 177 :  
 178 :       DDHOOK(1,1)=AUX 
 179 :       DDHOOK(2,1)=AUX1 
 180 :       DDHOOK(3,1)=AUX1 
 181 :  
 182 :       DDHOOK(1,2)=AUX1 
 183 :       DDHOOK(2,2)=AUX 
 184 :       DDHOOK(3,2)=AUX1 
 185 :  
 186 :       DDHOOK(1,3)=AUX1 
 187 :       DDHOOK(2,3)=AUX1 
 188 :       DDHOOK(3,3)=AUX 
 189 :  
 190 :       DDHOOK(4,4)=XGEGE 
 191 :       DDHOOK(5,5)=XGEGE 
 192 :       DDHOOK(6,6)=XGEGE 
 193 : C----------------------------------------------------------------------- 
 194 : C-----DEBUT INTEGRATION NUMERIQUE--------------------------------------- 
 195 : C----------------------------------------------------------------------- 
 196 :         TRA     = EPSI(1,1)+EPSI(2,2)+EPSI(3,3) 
 197 :       DTRA    = DEPSI(1,1)+DEPSI(2,2)+DEPSI(3,3) 
 198 :  
 199 :         DO I=1,3 
 200 :          DO J=1,3 
 201 :             EPSDEV(I,J)  = EPSI(I,J)-TRA*UNIT(I,J)/3.0D0 
 202 :             DEPSDEV(I,J) = DEPSI(I,J)-DTRA*UNIT(I,J)/3.0D0 
 203 :          ENDDO 
 204 :       ENDDO 
 205 :  
 206 :         DO I=1,3 
 207 :          DO J=1,3 
 208 :                 SIGMA(I,J)=SIGMA(I,J)+K/3.0D0*DTRA+2.0D0*G*DEPSDEV(I,J) 
 209 :          ENDDO 
 210 :       ENDDO 
 211 : C 
 212 : C-----ENDOMMAGEMENT------------------------------------------------------ 
 213 : C        
 214 :  
 215 : C 
 216 : C       CALCUL DES VALEURS PRINCIPALES 
 217 : C 
 217 :         CALL JACOD3(EPSI ,3,VPEPS) 
 218 : C 
 219 : C       CALCUL DE EPSILON DIRECT 
 220 : C 
 221 :         IF (TRA.GE.XZERO) THEN 
 222 :          XPDC=1.0D0 
 223 : c          GAMMA1 = 7.0D8 
 224 : c          A1     = 7.0D-5 
 225 :       ELSE 
 226 :          XPDC=XZERO 
 227 :       ENDIF 
 228 :  
 229 :         DO I=1,3 
 230 :          DO J=1,3 
 231 :             IF (I.EQ.J) THEN 
 232 :                EPSDIR(I,J)=0.5D0*(DABS(VPEPS(I))+VPEPS(I))*XPDC 
 233 :             ELSE 
 234 :                EPSDIR(I,J)=XZERO 
 235 :             ENDIF 
 236 :          ENDDO 
 237 :       ENDDO 
 238 : C 
 239 : C       CALCUL DE EPSILON INDUIT 
 240 : C        
 241 :         DO I=1,3 
 242 :          DO J=1,3 
 243 :             IF (I.EQ.J) THEN 
 244 :                EPSIND(I,J)=0.5D0*(DABS(VPEPS(I))+VPEPS(I))-EPSDIR(I,J) 
 245 :             ELSE 
 246 :                EPSIND(I,J)=XZERO 
 247 :             ENDIF 
 248 :          ENDDO 
 249 :       ENDDO 
 250 : C 
 251 : C       TAUX D ENERGIES CORRESPONDANTES 
 252 : C 
 253 :         DONMDNL=XZERO    
 254 :       DONMINL=XZERO 
 255 :  
 256 :       DO I=1,3 
 257 :            DO J=1,3 
 258 :               DONMDNL=DONMDNL+(K/6.0D0)*EPSDIR(I,J)*EPSDIR(I,J) 
 259 :               DONMINL=DONMINL+(K/6.0D0)*EPSIND(I,J)*EPSIND(I,J) 
 260 :            ENDDO 
 261 :       ENDDO 
 262 :  
 263 : *      YNP = (K/6.0D0)*((DABS(TRA)+TRA)*0.5D0)**2.0D0 
 264 : *      YNN = (K/6.0D0)*((-DABS(TRA)+TRA)*0.5D0)**2.0D0 
 265 :  
 266 :  
 267 : *      YDD = 0.0D0 
 268 : *      DO I=1,3 
 269 : *          DO J=1,3 
 270 : *             YDD = YDD + G*EPSDEV(I,J)*EPSDEV(I,J) 
 271 : *          ENDDO 
 272 : *      ENDDO 
 273 :  
 274 : *      SEUIL1NL = 50.0D0*YNP + YDD - YNN*0.000D0 
 275 :  
 276 : *      Y0 = Y0 * 5.0D0 
 277 :  
 278 :         SEUIL1NL=DONMDNL*XPDC+DONMINL*(1.0D0-XPDC) 
 279 :  
 280 :       IF (ISTEP.EQ.0) THEN 
 281 :          SEUIL1=SEUIL1NL 
 282 :          VARF(1)=SEUIL1 
 283 :       ELSE IF (ISTEP.EQ.1) THEN 
 284 :          VARF(1)=SEUIL1NL 
 285 :          DO I=2,26 
 286 :           VARF(I)=VAR0(I) 
 287 :          ENDDO 
 288 :          GOTO 2000 
 289 :       ELSE IF (ISTEP.EQ.2) THEN 
 290 :          SEUIL1=VAR0(1) 
 291 :          VARF(1)=SEUIL1 
 292 :       ENDIF 
 293 : C 
 294 : C       CALCUL NON LOCAL - ON MOYENNE LE SEUIL 
 295 : C 
 296 :       FFFZ=FORCED*XPDC+FORCEI*(1.0D0-XPDC) 
 297 :         SEUILT=SEUIL1-(FFFZ+Y0) 
 298 : C 
 299 : C       EVOLUTION ENDOMMAGEMENT 
 300 : C 
 301 :         IF (SEUILT.GT.XZERO) THEN       
 302 :            IF (TRA.GE.XZERO) THEN 
 303 :               Dn      = 1.0D0-1.0D0/(1.0D0+ALDIR*(SEUIL1-Y0)) 
 304 :               FORCED = SEUIL1-Y0 
 305 :            ELSE 
 306 :               Dn      = 1.0D0-1.0D0/(1.0D0+ALIND*(SEUIL1-Y0)) 
 307 :               FORCEI = SEUIL1-Y0 
 308 :            ENDIF 
 309 : C 
 310 : C     ON VERIFIE D COISSANT 
 311 : C 
 312 :         IF (Dn.GE.D) THEN 
 313 :            D=Dn 
 314 :         ENDIF 
 315 : C 
 316 : C     ON LIMITE LA VALEUR DE D 
 317 : C 
 318 :       IF (D.GE.0.99999D0) THEN 
 319 :          D=0.99999D0 
 320 :       ENDIF 
 321 : C 
 322 : C       ON BLOQUE LES ECROUISSAGES 
 323 : C 
 324 :            FFFZ=FORCED*XPDC+FORCEI*(1.0D0-XPDC) 
 325 :         ENDIF 
 326 :  
 327 :       DO I=1,3 
 328 :            DO J=1,3 
 329 :               X(I,J)=GAMMA1*ALPHA(I,J) 
 330 :            ENDDO 
 331 :       ENDDO 
 332 : C 
 333 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
 334 : C 
 335 : C                               SUBSTEPPING 
 336 : C 
 337 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
 338 : C 
 339 :         NENTIER=100 
 340 :         DO KIN=1,NENTIER 
 341 :  
 342 :         DO I=1,6 
 343 :            EPSTFBIS(I)=VAR0(18+I)+KIN*DEPST(I)/NENTIER 
 344 :       ENDDO 
 345 :  
 346 :         EPSI(1,1)=EPSTFBIS(1) 
 347 :         EPSI(2,2)=EPSTFBIS(2) 
 348 :         EPSI(3,3)=EPSTFBIS(3) 
 349 :         EPSI(1,2)=EPSTFBIS(4)/2.0D0 
 350 :         EPSI(1,3)=EPSTFBIS(5)/2.0D0 
 351 :         EPSI(2,3)=EPSTFBIS(6)/2.0D0 
 352 :         EPSI(2,1)=EPSTFBIS(4)/2.0D0 
 353 :         EPSI(3,1)=EPSTFBIS(5)/2.0D0 
 354 :         EPSI(3,2)=EPSTFBIS(6)/2.0D0 
 355 :  
 356 :         TRA=EPSI(1,1)+EPSI(2,2)+EPSI(3,3) 
 357 :  
 358 :         TRAPI = EPSIPI(1,1)+EPSIPI(2,2)+EPSIPI(3,3) 
 359 :          
 360 :         DO I=1,3 
 361 :           DO J=1,3 
 362 :             EPSDEV(I,J)=EPSI(I,J)-(1.0D0/3.0D0)*TRA*UNIT(I,J) 
 363 :                 DEVPI(I,J)=EPSIPI(I,J)-(1.0D0/3.0D0)*TRAPI*UNIT(I,J) 
 364 :           ENDDO 
 365 :       ENDDO 
 366 :  
 367 :         DO I=1,3 
 368 :          DO J=1,3 
 369 :                 SIGMA(I,J)  = (1.0D0-D)*K*TRA*UNIT(I,J)/3.0D0+ 
 370 :      &                    (1.0D0-D)*2.0D0*G*EPSDEV(I,J)+ 
 371 :      &                    (K/3.0D0)*D*(TRA-TRAPI)*UNIT(I,J)+ 
 372 :      &                2.0D0*G*D*(EPSDEV(I,J)-DEVPI(I,J)) 
 373 :          ENDDO 
 374 :       ENDDO 
 375 :  
 376 :          DO I=1,3 
 377 :           DO J=1,3 
 378 :             SIGMPI(I,J)=(K/3.0D0)*D*(TRA-TRAPI)*UNIT(I,J)+ 
 379 :      &              2.0D0*G*D*(EPSDEV(I,J)-DEVPI(I,J))              
 380 :           ENDDO 
 381 :        ENDDO 
 382 : C 
 383 : C====&===1=========2=========3=========4=========5=========6=========7== 
 384 : C-----DEBUT INTEGRATION GLISSEMENT-------------------------------------- 
 385 : C====&===1=========2=========3=========4=========5=========6=========7== 
 386 : C 
 387 :         DO 500 IREMP=1,500 
 388 : C 
 389 : C     1) EVALUATION DU SEUIL 
 390 : C     ---------------------- 
 391 :         DO 101 I=1,3 
 392 :           DO 201 J=1,3 
 393 :             SIGMOX(I,J)=XZERO 
 394 :             SIGMOX(I,J)=SIGMPI(I,J)-X(I,J) 
 395 :  201      CONTINUE 
 396 :  101    CONTINUE 
 397 :  
 398 :         TRASX=XZERO 
 399 :         TRASX=SIGMOX(1,1)+SIGMOX(2,2)+SIGMOX(3,3) 
 400 :  
 401 :         DO 102 I=1,3 
 402 :           DO 202 J=1,3 
 403 :             SIGMOD(I,J)=XZERO 
 404 :             SIGMOD(I,J)=SIGMOX(I,J)-(1.0D0/3.0D0)*TRASX*UNIT(I,J) 
 405 :  202      CONTINUE 
 406 :  102    CONTINUE 
 407 :  
 408 :         TERME4=XZERO 
 409 :         DO 103 I=1,3 
 410 :           DO 203 J=1,3 
 411 :             TERME4=TERME4+SIGMOD(I,J)*SIGMOD(I,J) 
 412 :  203      CONTINUE 
 413 :  103    CONTINUE 
 414 : C 
 415 : C         CALCUL DU J2(SIGMPI-X) 
 416 : C 
 417 :  
 418 :         TRASIN = SIGMA(1,1)+SIGMA(2,2)+SIGMA(3,3) 
 419 :         TRASIN = 0.5D0*(-DABS(TRASIN)+TRASIN)*0.0D0 
 420 :  
 421 :         TERME4=DSQRT(3.D0/2.D0*TERME4)+(TRASIN/3.0D0)*0.80D0 
 422 :  
 423 :         SEUIL2=TERME4+XCOEF*(1.0D0/3.0D0)*TRASX 
 424 :         IF (IREMP.EQ.1) THEN  
 425 :           SEUINI=SEUIL2 
 426 :         ENDIF 
 427 :  
 428 :         IF (SEUINI.GT.1.0D0) THEN 
 429 :           CRIT=SEUIL2/SEUINI 
 430 :         ELSE 
 431 :           CRIT=XZERO 
 432 :         ENDIF 
 433 :  
 434 :         IF (IREMP.EQ.1) COCO=2 
 435 : C 
 436 : C       2) ON VERIFIE LA VALEUR RELATIVE DU SEUIL 
 437 : C       -----------------------------------------         
 438 :         IF ((CRIT.LE.1.0D-5).OR.(DLAM2.LE.1.0D-10.AND.IREMP.GT.1).OR. 
 439 :      &       (D.EQ.XZERO))THEN 
 440 :           GOTO 666 
 441 :         ELSE 
 442 :         IF (IREMP.EQ.1) COCO=1 
 443 : C 
 444 : C       3) CALCUL DES DERIVÉES POUR LA REDESCENTE 
 445 : C       ----------------------------------------- 
 446 :         DO I=1,3 
 447 :           DO J=1,3 
 448 :             TERME6(I,J)=XZERO 
 449 :             TERME7(I,J)=XZERO 
 450 :             TERME8(I,J)=XZERO 
 451 :             TERME9(I,J)=XZERO 
 452 :             ENDDO 
 453 :           ENDDO 
 454 : C 
 455 : C       CALCUL DE DF/DS.................................................... 
 456 : C 
 457 :         DO I=1,3 
 458 :           DO J=1,3 
 459 :             TERME6(I,J)=(3.D0/2.D0)*SIGMOX(I,J)/TERME4+XCOEF*1.0D0/3.D0* 
 460 :      &                  UNIT(I,J) 
 461 :             ENDDO 
 462 :           ENDDO 
 463 : C 
 464 : C       CALCUL DE DF/DX.................................................... 
 465 : C 
 466 :         DO I=1,3 
 467 :           DO J=1,3 
 468 :             TERME7(I,J)=-TERME6(I,J) 
 469 :             ENDDO 
 470 :           ENDDO 
 471 : C 
 472 : C       CALCUL DE DG/DS.................................................... 
 473 : C 
 474 :         DO I=1,3 
 475 :           DO J=1,3 
 476 :             TERME8(I,J)=(3.D0/2.D0)*SIGMOX(I,J)/TERME4+XCOEF*1.0D0/3.D0* 
 477 :      &                  UNIT(I,J) 
 478 :             ENDDO 
 479 :           ENDDO 
 480 : C 
 481 : C       CALCUL DE DG/DX.................................................... 
 482 : C 
 483 :         DO I=1,3 
 484 :           DO J=1,3 
 485 :             TERME9(I,J)=-(3.D0/2.D0)*SIGMOX(I,J)/TERME4+A1*X(I,J)- 
 486 :      &                  XCOEF*1.0D0/3.D0*UNIT(I,J) 
 487 :             ENDDO 
 488 :           ENDDO 
 489 : C 
 490 : C       4) CALCUL DU MULTIPLICATEUR DE GLISSEMENT 
 491 : C       ----------------------------------------- 
 492 :           TRDGZ=TERME8(1,1)+TERME8(2,2)+TERME8(3,3) 
 493 :  
 494 :           DO I=1,3 
 495 :           DO J=1,3 
 496 :             DEVDGS(I,J)=TERME8(I,J)-(1.0D0/3.0D0)*TRDGZ*UNIT(I,J) 
 497 :             ENDDO 
 498 :           ENDDO 
 499 :  
 500 :         TERM10=XZERO 
 501 :         DO I=1,3 
 502 :           DO J=1,3 
 503 :             TERM10=TERM10+TERME6(I,J)*((K/3.0D0)*TRDGZ*UNIT(I,J)+ 
 504 :      &             2.0D0*G*DEVDGS(I,J)) 
 505 :             ENDDO 
 506 :           ENDDO 
 507 :  
 508 :         TERM11=XZERO 
 509 :         DO I=1,3 
 510 :           DO J=1,3 
 511 :             TERM11=TERM11+TERME7(I,J)*TERME9(I,J) 
 512 :             ENDDO 
 513 :           ENDDO 
 514 :  
 515 :         DLAM2=XZERO 
 516 :         DLAM2=SEUIL2/(TERM10+GAMMA1*TERM11) 
 517 : C 
 518 : C       5) ACTUALISATION DES VARIABLES FORCES 
 519 : C       ------------------------------------- 
 520 :         DO I=1,3 
 521 :           DO J=1,3 
 522 :             SIGMPI(I,J)=SIGMPI(I,J)-DLAM2*D*((K/3.0D0)*TRDGZ*UNIT(I,J)+ 
 523 :      &             2.0D0*G*DEVDGS(I,J)) 
 524 :             ENDDO 
 525 :           ENDDO 
 526 :  
 527 :         DO I=1,3 
 528 :           DO J=1,3 
 529 :             X(I,J)=X(I,J)-GAMMA1*DLAM2*TERME9(I,J) 
 530 :             ENDDO 
 531 :           ENDDO 
 532 :  
 533 :         ENDIF 
 534 :  500  CONTINUE 
 535 : C 
 536 : C-----ACTUALISATION DES VARIABLES FLUX (S'IL Y A LIEU)------------------ 
 537 : C  
 538 : C     1) ALPHA :  
 539 : C       ------- 
 540 :  666  CONTINUE 
 541 :       IF (COCO.EQ.1) THEN           
 542 :         DO 303 I=1,3 
 543 :           DO 403 J=1,3 
 544 :             ALPHA(I,J)=XZERO 
 545 :             ALPHA(I,J)=X(I,J)/GAMMA1 
 546 :  403      CONTINUE 
 547 :  303    CONTINUE 
 548 : C 
 549 : C     2) EPSILON_PI :  
 550 : C        ------------ 
 551 :         TROGO = TRA-(SIGMPI(1,1)+SIGMPI(2,2)+SIGMPI(3,3))/(D*K) 
 552 :         DO I=1,3 
 553 :           DO J=1,3 
 554 :             DEVTRO(I,J)=EPSDEV(I,J)-(SIGMPI(I,J)-(1.0D0/3.0D0)* 
 555 :      &      (SIGMPI(1,1)+SIGMPI(2,2)+SIGMPI(3,3))*UNIT(I,J))/(2.0D0*G*D) 
 556 :             ENDDO 
 557 :         ENDDO 
 558 :  
 559 :         DO I=1,3 
 560 :           DO J=1,3 
 561 :             EPSIPI(I,J)=(1.0D0/3.0D0)*TROGO*UNIT(I,J)+DEVTRO(I,J) 
 562 :             ENDDO 
 563 :         ENDDO 
 564 :  
 565 :       ENDIF 
 566 : C 
 567 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
 568 : C 
 569 :         ENDDO 
 570 : C 
 571 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 
 572 : C 
 573 :  
 574 :  
 575 :  
 576 : C 
 577 : C-----CORRECTION DES CONTRAINTES 
 578 : C 
 579 :       TRAPOS = 0.5D0*( DABS(TRA)+TRA) 
 580 :       TRANEG = 0.5D0*(-DABS(TRA)+TRA) 
 581 :  
 582 :        DO I=1,3 
 583 :          DO J=1,3 
 584 :               SIGMA(I,J)  = (1.0D0-D)*K*TRAPOS*UNIT(I,J)/3.0D0+ 
 585 :      &                              K*TRANEG*UNIT(I,J)/3.0D0+ 
 586 :      &                          (1.0D0-D)*2.0D0*G*EPSDEV(I,J)+ 
 587 :      &                           SIGMPI(I,J) 
 588 :          ENDDO 
 589 :       ENDDO 
 590 : C------------------------------------------------------------------------ 
 591 : C-----FIN INTEGRATION NUMERIQUE------------------------------------------ 
 592 : C------------------------------------------------------------------------ 
 593 :         SIGF(1)= SIGMA(1,1) 
 594 :       SIGF(2)= SIGMA(2,2) 
 595 :       SIGF(3)= SIGMA(3,3) 
 596 :       SIGF(4)= (SIGMA(1,2)+SIGMA(2,1))/DEUX 
 597 :       SIGF(5)= (SIGMA(1,3)+SIGMA(3,1))/DEUX 
 598 :       SIGF(6)= (SIGMA(2,3)+SIGMA(3,2))/DEUX 
 599 : C 
 600 : C     GLISSEMENT (EPSILON_PI)  
 601 : C 
 602 :       VARF(2)=EPSIPI(1,1) 
 603 :       VARF(3)=EPSIPI(2,2) 
 604 :       VARF(4)=EPSIPI(3,3) 
 605 :       VARF(5)=EPSIPI(1,2) 
 606 :       VARF(6)=EPSIPI(1,3) 
 607 :       VARF(7)=EPSIPI(2,3) 
 608 : C 
 609 : C     ECROUISSAGE CINEMATIQUE (ALPHA) 
 610 : C 
 611 :       VARF(8 )=ALPHA(1,1) 
 612 :       VARF(9 )=ALPHA(2,2) 
 613 :       VARF(10)=ALPHA(3,3) 
 614 :       VARF(11)=ALPHA(1,2) 
 615 :       VARF(12)=ALPHA(1,3) 
 616 :       VARF(13)=ALPHA(2,3) 
 617 : C 
 618 : C     ENDOMMAGEMENT (D) 
 619 : C 
 620 :       VARF(14)=D 
 621 : C 
 622 : C     FORCE LIEE A L ECROUISSAGE ISOTROPE  
 623 : C 
 624 :       VARF(17)=FFFZ 
 625 : C 
 626 : C     DEFORMATION TOTALE 
 627 : C 
 628 :       DO I=1,6 
 629 :          VARF(18+I)=EPSTFBIS(I) 
 630 :         ENDDO 
 631 : C 
 632 : C     ECROUISSAGES 
 633 : C 
 634 :         VARF(25)=FORCED 
 635 :         VARF(26)=FORCEI 
 636 : C 
 637 : C     CONTRAINTES DE FROTTEMENT 
 638 : C 
 639 : *      VARF(27)=SIGMPI(1,1) 
 640 : *      VARF(28)=SIGMPI(2,2) 
 641 : *      VARF(29)=SIGMPI(3,3) 
 642 : *      VARF(30)=SIGMPI(1,3) 
 643 :  
 644 :  2000 CONTINUE 
 645 :  
 646 :         END 
 647 :  
 648 :  
 649 :  
 650 :  
 651 :  
 652 :  
 653 :  
 654 :  
 655 :  
 656 :  
 657 :  
 658 :  
 659 :  
 660 :  
 661 :  
 662 :  
 663 :  
 664 :  

© Cast3M 2003 - All rights reserved.
Disclaimer