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