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