1 : C AMADE2 SOURCE CHAT 05/01/12 21:21:02 5004 2 : C AMADE2.eso SOURCE bald MAR 28/03/95 00:00:00 3 : SUBROUTINE AMADE2(IB,IGAU,NSTRS,SIG0,EPIN0,VAR0,NVARI, 4 : & DEPST,IFOURB,XMAT,NMATT,IVAL,SIGF,DEFP,VARF,KERRE) 5 : C 6 : C----------------------------------------------------------------------- 7 : C 8 : C PLASTICITE MODELE 2D AMADEI-SAEB ELEMENTS JOINTS 9 : C 10 : C ENTREES 11 : C 12 : C IB = NUMERO DE L'ELEMENT 13 : C IGAU = NUMERO DU POINT DE GAUSS 14 : C NSTRS = NOMBRE DE COMPOSANTES DE CONTRAINTES 15 : C SIG0(NSTRS) = CONTRAINTES INITIALES (AU PAS PRECEDENT) 16 : C EPIN0(NSTRS) = DEFORMATIONS INITIALES INEL. (AU PAS PRECEDENT) 17 : C VAR0(NVARI) = VARIABLES INTERNES DEBUT 18 : C VAR0(1) = DEFORMATION PLASTIQUE EQUIVALENTE: EPSE 19 : C VAR0(2) = INCR. DEF. PLAST. DUE A L'OUVERTURE SEULE: EPOU 20 : C VAR0(3) = ETAT DU JOINT: STAT 21 : C VAR0(4) = U EQUIVALENTE: UEQU 22 : C VAR0(5) = DEFORMATION TOTALE: EPS1 23 : C VAR0(6) = DEFORMATION TOTALE: EPS2 24 : C NVARI = NOMBRE DE VARIABLES INTERNES 25 : C DEPST(NSTRS) = INCREMENTS DE DEFORMATION TOTALE 26 : C XMAT(NCOMAT) = COMPOSANTES DE MATERIAU 27 : C NMATT = NOMBRE DE COMPOSANTES DE MATERIAU 28 : C IVAL(NCOMAT) = INDICE DES COMPOSANTES DE MATERIAU 29 : C 30 : C SORTIES 31 : C 32 : C SIGF(NSTRS) = CONTRAINTES FINALES 33 : C DEFP(NSTRS) = INCREMENTS DE DEFORMATIONS INELASTIQUES FINALES 34 : C VARF(NVARI) = VARIABLES INTERNES FINALES 35 : C KERRE = INDICE D'ERREUR 36 : C 37 : C 38 : C----------------------------------------------------------------------- 39 : c 40 : c déclaration des variables 41 : c 42 : IMPLICIT INTEGER(I-N) 43 : IMPLICIT REAL*8(A-H,O-Z) 44 : C Include contenant quelques constantes dont XPI : 45 : -INC CCREEL 46 : REAL*8 I0, K1, K2, KNI 47 : REAL*8 KNN, KNT, KTN, KTT 48 : c 49 : DIMENSION SIG0(*), EPIN0(*), VAR0(*), DEPST(*), XMAT(*) 50 : DIMENSION SIGF(*), DEFP(*), VARF(*) 51 : DIMENSION RI0E(2,2), RI0P(2,2), DCON(2) 52 : c 53 : c paramètres pour le calcul 54 : c 55 : FATT=XPI/180.D0 56 : c 57 : NN=100 58 : c 59 : K1=1.5D0 60 : K2=4.0D0 61 : c 62 : c tolérances pour définir la condition de plasticité selon sigma 63 : c et la condition de nullité des contraintes 64 : c 65 : EPSS=1.D-6 66 : EPSI=1.D-6 67 : TOL1=1.D-20 68 : TOL2=1.D-15 69 : c 70 : c extraction des caractéristiques du materiau 71 : c 72 : FIMU=XMAT(5)*FATT 73 : SGMT=XMAT(6) 74 : I0=XMAT(7)*FATT 75 : S0=XMAT(8) 76 : B0=XMAT(9) 77 : UR=XMAT(10) 78 : UP=XMAT(11) 79 : KNI=XMAT(12) 80 : FI0=XMAT(13)*FATT 81 : VM=XMAT(14) 82 : c 83 : c extraction de la variable EPOU 84 : c 85 : EPOU=VAR0(2) 86 : c 87 : c extraction de la variable UEQU 88 : c 89 : UEQU=VAR0(4) 90 : c 91 : c extraction des déformations totales 92 : c 93 : EPS1=VAR0(5) 94 : EPS2=VAR0(6) 95 : c 96 : c calcul des petits pas 97 : c 98 : DU=DEPST(1)/NN 99 : DV=DEPST(2)/NN 100 : c 101 : c incréments de déformation plastique finale 102 : c 103 : DEFP(1)=0.D0 104 : DEFP(2)=0.D0 105 : c 106 : c contraintes finales 107 : c 108 : SIGF(1)=0.D0 109 : SIGF(2)=0.D0 110 : c 111 : c variables internes finales 112 : c 113 : VARF(1)=0.D0 114 : VARF(2)=0.D0 115 : VARF(3)=0.D0 116 : VARF(4)=0.D0 117 : VARF(5)=0.D0 118 : VARF(6)=0.D0 119 : c 120 : c ********************************************************************** 121 : c ********** test pour verifier la condition initiale du joint ********* 122 : c ********************************************************************** 123 : c 124 : IF(EPIN0(2).GT.EPSS)THEN 125 : c 126 : c le joint est ouvert 127 : c 128 : IF(DEPST(2).LT.(-EPIN0(2)-EPSI))THEN 129 : c 130 : c il y a rapprochement des lèvres avec compression (1 cas) 131 : c 132 : R0=ABS(EPIN0(2)/DEPST(2)) 133 : c 134 : NN=INT(ABS((EPIN0(2)+DEPST(2))/DV)) 135 : c 136 : EPOU=-EPIN0(2) 137 : c 138 : EPIN0(1)=EPIN0(1)+R0*DEPST(1) 139 : EPIN0(2)=0.D0 140 : c 141 : DEFP(1)=R0*DEPST(1) 142 : DEFP(2)=EPOU 143 : c 144 : EPS1=EPS1+R0*DEPST(1) 145 : EPS2=EPS2+R0*DEPST(2) 146 : c 147 : ELSE IF(DEPST(2).GT.(-EPIN0(2)+EPSS))THEN 148 : c 149 : c il y a rapprochement des lèvres sans fermeture, ou elles restent 150 : c bloquées, ou elles s' éloignent (3 cas) 151 : c 152 : SIGF(1)=0.D0 153 : SIGF(2)=0.D0 154 : c 155 : DEFP(1)=DEPST(1) 156 : DEFP(2)=DEPST(2) 157 : c 158 : DEDE1=EPIN0(1)+DEPST(1) 159 : DEDE2=EPIN0(2)+DEPST(2) 160 : c 161 : VARF(1)=SQRT(2.D0/3.D0*(DEDE1**2+DEDE2**2)) 162 : c 163 : VARF(2)=DEPST(2) 164 : c 165 : VARF(3)=1.D0 166 : c 167 : VARF(4)=VAR0(4) 168 : c 169 : VARF(5)=EPS1+DEPST(1) 170 : VARF(6)=EPS2+DEPST(2) 171 : c 172 : RETURN 173 : c 174 : ELSE 175 : c 176 : c il y a fermeture sans compression (1 cas) 177 : c 178 : SIGF(1)=0.D0 179 : SIGF(2)=0.D0 180 : c 181 : DEFP(1)=DEPST(1) 182 : DEFP(2)=DEPST(2) 183 : c 184 : DEDE1=EPIN0(1)+DEPST(1) 185 : DEDE2=EPIN0(2)+DEPST(2) 186 : c 187 : VARF(1)=SQRT(2.D0/3.D0*(DEDE1**2+DEDE2**2)) 188 : c 189 : VARF(2)=DEPST(2) 190 : c 191 : VARF(3)=0.D0 192 : c 193 : VARF(4)=VAR0(4) 194 : c 195 : VARF(5)=EPS1+DEPST(1) 196 : VARF(6)=EPS2+DEPST(2) 197 : c 198 : RETURN 199 : c 200 : END IF 201 : c 202 : ELSE IF((EPIN0(2).LE.EPSS).AND.(SIG0(2).GE.-TOL2))THEN 203 : c 204 : c le joint est fermé mais sans compression 205 : c 206 : IF(DEPST(2).GT.EPSS)THEN 207 : c 208 : c les lèvres s' éloignent (1 cas) 209 : c 210 : SIGF(1)=0.D0 211 : SIGF(2)=0.D0 212 : c 213 : DEFP(1)=DEPST(1) 214 : DEFP(2)=DEPST(2) 215 : c 216 : DEDE1=EPIN0(1)+DEPST(1) 217 : DEDE2=EPIN0(2)+DEPST(2) 218 : c 219 : VARF(1)=SQRT(2.D0/3.D0*(DEDE1**2+DEDE2**2)) 220 : c 221 : VARF(2)=DEPST(2) 222 : c 223 : VARF(3)=1.D0 224 : c 225 : VARF(4)=VAR0(4) 226 : c 227 : VARF(5)=EPS1+DEPST(1) 228 : VARF(6)=EPS2+DEPST(2) 229 : c 230 : RETURN 231 : c 232 : ELSE 233 : c 234 : c les lèvres restent bloquées ou il y a compression (2 cas) 235 : c 236 : END IF 237 : c 238 : ELSE 239 : c 240 : c le joint est fermé avec compression 241 : c 242 : END IF 243 : c 244 : c ********************************************************************** 245 : c ******************* fin du test et debut du calcul ******************* 246 : c ********************************************************************** 247 : c 248 : DO 300 KAPPA=1,NN 249 : c 250 : c definition des deux cas (sigma=SGMT) 251 : c 252 : IF(ABS(SIG0(2)).LT.ABS(SGMT))THEN 253 : c 254 : c cas avec sigma < SGMT 255 : c 256 : c prédiction élastique 257 : c 258 : IF(UEQU.LT.UR)THEN 259 : c 260 : c c' est le cas élastique si U < UR 261 : c 262 : c definition des quantités necessaires au calcul 263 : c 264 : VUPU=((1.D0-SIG0(2)/SGMT)**K2)*TAN(I0) 265 : AS=1.D0-((1.D0-SIG0(2)/SGMT)**K1) 266 : SR=S0-SIG0(2)*TAN(FI0) 267 : TP=-SIG0(2)*TAN(FIMU+ATAN(VUPU))*(1.D0-AS)+AS*SR 268 : TR=TP*(B0+(1.D0-B0)*SIG0(2)/SGMT) 269 : c 270 : AA1=(SIG0(2)*(1.D0-AS)*K2)/(SGMT*(COS(FIMU+ATAN(VUPU))**2 271 : $ )) 272 : AA2=((1.D0-SIG0(2)/SGMT)**(K2-1.D0))*TAN(I0) 273 : AA3=1.D0+((1.D0-SIG0(2)/SGMT)**(2.D0*K2))*(TAN(I0)**2) 274 : AA4=K1*SIG0(2)/SGMT 275 : AA5=((1.D0-SIG0(2)/SGMT)**(K1-1.D0))*TAN(FIMU+ATAN(VUPU)) 276 : $ *AA4 277 : AA6=SR/SGMT*K1*((1.D0-SIG0(2)/SGMT)**(K1-1.D0)) 278 : AA7=AS*TAN(FI0) 279 : dTPS1=-(1.D0-AS)*TAN(FIMU+ATAN(VUPU))+AA1*AA2/AA3+AA5+AA6 280 : $ -AA7 281 : dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(2)/SGMT)+TP*(1.D0-B0)/SGMT 282 : AA8=-UEQU*K2/SGMT*((1.D0-SIG0(2)/SGMT)**(K2-1.D0))*TAN(I0 283 : $ ) 284 : AA8=AA8+((VM**2)*KNI)/((KNI*VM-SIG0(2))**2) 285 : c 286 : c calcul de la matrice Dt equivalente (2D) 287 : c 288 : KNN=1.D0/AA8 289 : KNT=-((1.D0-SIG0(2)/SGMT)**K2)*TAN(I0)*KNN 290 : KTN=UEQU/UP*KNN*dTPS1 291 : KTT=UEQU/UP*KNT*dTPS1+TP/UP 292 : c 293 : ELSE 294 : c 295 : c c' est le cas élastique si U >= UR 296 : c 297 : c definition des quantités necessaires au calcul 298 : c 299 : VUPU=0.D0 300 : AS=1.D0-((1.D0-SIG0(2)/SGMT)**K1) 301 : SR=S0-SIG0(2)*TAN(FI0) 302 : TP=-SIG0(2)*TAN(FIMU)*(1.D0-AS)+AS*SR 303 : TR=TP*(B0+(1.D0-B0)*SIG0(2)/SGMT) 304 : c 305 : AA1=((1.D0-SIG0(2)/SGMT)**(K1-1.D0))*TAN(FIMU)*K1*SIG0(2) 306 : $ /SGMT 307 : AA2=SR/SGMT*K1*((1.D0-SIG0(2)/SGMT)**(K1-1.D0)) 308 : AA3=AS*TAN(FI0) 309 : dTPS1=-(1.D0-AS)*TAN(FIMU)+AA1+AA2-AA3 310 : dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(2)/SGMT)+TP*(1.D0-B0)/SGMT 311 : AA4=-UR*K2/SGMT*((1.D0-SIG0(2)/SGMT)**(K2-1.D0))*TAN(I0) 312 : AA4=AA4+((VM**2)*KNI)/((KNI*VM-SIG0(2))**2) 313 : c 314 : c calcul de la matrice Dt equivalente (2D) 315 : c 316 : KNN=1.D0/AA4 317 : KNT=0.D0 318 : KTN=UEQU/UP*KNN*dTPS1 319 : KTT=TP/UP 320 : c 321 : END IF 322 : c 323 : c appel à CALC2 pour calculer les incréments de contraintes 324 : c 324 : CALL CALC2(KNN,KNT,KTN,KTT,SIG0,DU,DV,NSTRS, 325 : $ DELTA,RI0E,DCON) 326 : c 327 : c calcul de l' incrément de deformation plastique 328 : c 329 : DEP1=0.D0 330 : DEP2=0.D0 331 : c 332 : IF(UEQU.LT.UP)THEN 333 : c 334 : c il n' y a pas de plasticité 335 : c 336 : GO TO 200 337 : c 338 : ELSE IF((UEQU.GE.UP).AND.(UEQU.LT.UR))THEN 339 : c 340 : c il y a de la plasticité: trait decroissant de la courbe tau 341 : c 342 : c test pour vérifier si continuer en plasticité ou reprendre le trait 343 : c lineaire 344 : c 345 : EFFE=ABS(SIG0(1))-(TR-TP)/(UR-UP)*(UEQU-UP)-TP 346 : c 347 : IF(ABS(SIG0(1)).LT.TOL1)THEN 348 : c 349 : DTEF=ABS(DCON(1)) 350 : c 351 : ELSE 352 : c 353 : DTEF=SIG0(1)*DCON(1)/ABS(SIG0(1)) 354 : c 355 : END IF 356 : c 357 : DTEF=DTEF-(TR-TP)/(UR-UP)*DELTA 358 : DTEF=DTEF-((UEQU-UP)/(UR-UP)*(dTRS1-dTPS1)+dTPS1)*DCON(2) 359 : c 360 : IF((EFFE.LT.0.D0).OR.(DTEF.LT.0.D0))GO TO 200 361 : c 362 : c definition des quantités necessaires au calcul 363 : c 364 : VUPU=((1.D0-SIG0(2)/SGMT)**K2)*TAN(I0) 365 : AS=1.D0-((1.D0-SIG0(2)/SGMT)**K1) 366 : SR=S0-SIG0(2)*TAN(FI0) 367 : TP=-SIG0(2)*TAN(FIMU+ATAN(VUPU))*(1.D0-AS)+AS*SR 368 : TR=TP*(B0+(1.D0-B0)*SIG0(2)/SGMT) 369 : c 370 : AA1=(SIG0(2)*(1.D0-AS)*K2)/(SGMT*(COS(FIMU+ATAN(VUPU))**2 371 : $ )) 372 : AA2=((1.D0-SIG0(2)/SGMT)**(K2-1.D0))*TAN(I0) 373 : AA3=1.D0+((1.D0-SIG0(2)/SGMT)**(2.D0*K2))*(TAN(I0)**2) 374 : AA4=K1*SIG0(2)/SGMT 375 : AA5=((1.D0-SIG0(2)/SGMT)**(K1-1.D0))*TAN(FIMU+ATAN(VUPU)) 376 : $ *AA4 377 : AA6=SR/SGMT*K1*((1.D0-SIG0(2)/SGMT)**(K1-1.D0)) 378 : AA7=AS*TAN(FI0) 379 : dTPS1=-(1.D0-AS)*TAN(FIMU+ATAN(VUPU))+AA1*AA2/AA3+AA5+AA6 380 : $ -AA7 381 : dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(2)/SGMT)+TP*(1.D0-B0)/SGMT 382 : AA8=-UEQU*K2/SGMT*((1.D0-SIG0(2)/SGMT)**(K2-1.D0))*TAN(I0 383 : $ ) 384 : AA8=AA8+((VM**2)*KNI)/((KNI*VM-SIG0(2))**2) 385 : c 386 : c calcul de la matrice Dt equivalente (2D) 387 : c 388 : KNN=1.D0/AA8 389 : KNT=-((1.D0-SIG0(2)/SGMT)**K2)*TAN(I0)*KNN 390 : KTN=KNN/(UP-UR)*(dTPS1*(UEQU-UR)+(UP-UEQU)*dTRS1) 391 : KTT=(TP-TR)/(UP-UR) 392 : KTT=KTT+KNT/(UP-UR)*(dTPS1*(UEQU-UR)+(UP-UEQU)*dTRS1) 393 : c 394 : c appel à CALC2 pour calculer les incréments de contraintes 395 : c 395 : CALL CALC2(KNN,KNT,KTN,KTT,SIG0,DU,DV,NSTRS, 396 : $ DELTA,RI0P,DCON) 397 : c 398 : c appel à RISPL2 pour calculer les incréments de déformation plastique 399 : c 399 : CALL RISPL2(RI0E,SIG0,DCON,DU,NSTRS,SGMT,DUp) 400 : c 401 : DEP1=DUp 402 : DEP2=0.D0 403 : c 404 : ELSE IF(UEQU.GE.UR)THEN 405 : c 406 : c il y a de la plasticité parfaite: trait horizontal de la courbe tau 407 : c 408 : c test pour vérifier si continuer en plasticité ou reprendre le trait 409 : c lineaire 410 : c 411 : EFFE=ABS(SIG0(1))-TR 412 : c 413 : IF(ABS(SIG0(1)).LT.TOL1)THEN 414 : c 415 : DTEF=ABS(DCON(1)) 416 : c 417 : ELSE 418 : c 419 : DTEF=SIG0(1)*DCON(1)/ABS(SIG0(1)) 420 : c 421 : END IF 422 : c 423 : DTEF=DTEF-dTRS1*DCON(2) 424 : c 425 : IF((EFFE.LT.0.D0).OR.(DTEF.LT.0.D0))GO TO 200 426 : c 427 : c definition des quantités necessaires au calcul 428 : c 429 : VUPU=0.D0 430 : AS=1.D0-((1.D0-SIG0(2)/SGMT)**K1) 431 : SR=S0-SIG0(2)*TAN(FI0) 432 : TP=-SIG0(2)*TAN(FIMU)*(1.D0-AS)+AS*SR 433 : TR=TP*(B0+(1.D0-B0)*SIG0(2)/SGMT) 434 : c 435 : AA1=((1.D0-SIG0(2)/SGMT)**(K1-1.D0))*TAN(FIMU)*K1*SIG0(2) 436 : $ /SGMT 437 : AA2=SR/SGMT*K1*((1.D0-SIG0(2)/SGMT)**(K1-1.D0)) 438 : AA3=AS*TAN(FI0) 439 : dTPS1=-(1.D0-AS)*TAN(FIMU)+AA1+AA2-AA3 440 : dTRS1=dTPS1*(B0+(1.D0-B0)*SIG0(2)/SGMT)+TP*(1.D0-B0)/SGMT 441 : AA4=-UR*K2/SGMT*((1.D0-SIG0(2)/SGMT)**(K2-1.D0))*TAN(I0) 442 : AA4=AA4+((VM**2)*KNI)/((KNI*VM-SIG0(2))**2) 443 : c 444 : c calcul de la matrice Dt equivalente (2D) 445 : c 446 : KNN=1.D0/AA4 447 : KNT=0.D0 448 : KTN=KNN*dTRS1 449 : KTT=0.D0 450 : c 451 : c appel à CALC2 pour calculer les incréments de contraintes 452 : c 452 : CALL CALC2(KNN,KNT,KTN,KTT,SIG0,DU,DV,NSTRS, 453 : $ DELTA,RI0P,DCON) 454 : c 455 : c calcul de l' incrément de deformation plastique 456 : c 457 : DEP1=DU 458 : DEP2=0.D0 459 : c 460 : END IF 461 : c 462 : ELSE IF(ABS(SIG0(2)).GE.ABS(SGMT))THEN 463 : c 464 : c cas avec sigma >= SGMT 465 : c 466 : c il n' y a pas de plasticité 467 : c 468 : c prédiction élastique 469 : c 470 : c definition des quantités necessaires au calcul 471 : c 472 : VUPU=0.D0 473 : AS=1.D0 474 : SR=S0-SIG0(2)*TAN(FI0) 475 : TP=SR 476 : TR=TP 477 : dTPS1=-TAN(FI0) 478 : AA1=((VM**2)*KNI)/((KNI*VM-SIG0(2))**2) 479 : c 480 : c calcul de la matrice Dt equivalente (2D) 481 : c 482 : KNN=1.D0/AA1 483 : KNT=0.D0 484 : KTN=UEQU/UP*KNN*dTPS1 485 : KTT=TP/UP 486 : c 487 : c appel à CALC2 pour calculer les incréments de contraintes 488 : c 488 : CALL CALC2(KNN,KNT,KTN,KTT,SIG0,DU,DV,NSTRS, 489 : $ DELTA,RI0E,DCON) 490 : c 491 : c calcul de l' incrément de deformation plastique 492 : c 493 : DEP1=0.D0 494 : DEP2=0.D0 495 : c 496 : IF(UEQU.LT.UP)GO TO 200 497 : c 498 : c il y a de la plasticité parfaite: trait horizontal de la courbe tau 499 : c 500 : c test pour vérifier si continuer en plasticité ou reprendre le trait 501 : c lineaire 502 : c 503 : EFFE=ABS(SIG0(1))-TP 504 : c 505 : IF(ABS(SIG0(1)).LT.TOL1)THEN 506 : 507 : DTEF=ABS(DCON(1)) 508 : c 509 : ELSE 510 : c 511 : DTEF=SIG0(1)*DCON(1)/ABS(SIG0(1)) 512 : c 513 : END IF 514 : c 515 : DTEF=DTEF-dTPS1*DCON(2) 516 : c 517 : IF((EFFE.LT.0.D0).OR.(DTEF.LT.0.D0))GO TO 200 518 : c 519 : c definition des quantités necessaires au calcul 520 : c 521 : VUPU=0.D0 522 : AS=1.D0 523 : SR=S0-SIG0(2)*TAN(FI0) 524 : TP=SR 525 : TR=TP 526 : dTPS1=-TAN(FI0) 527 : AA1=((VM**2)*KNI)/((KNI*VM-SIG0(2))**2) 528 : c 529 : c calcul de la matrice Dt equivalente (2D) 530 : c 531 : KNN=1.D0/AA1 532 : KNT=0.D0 533 : KTN=KNN*dTPS1 534 : KTT=0.D0 535 : c 536 : c appel à CALC2 pour calculer les incréments de contraintes 537 : c 537 : CALL CALC2(KNN,KNT,KTN,KTT,SIG0,DU,DV,NSTRS, 538 : $ DELTA,RI0P,DCON) 539 : c 540 : c calcul de l' incrément de deformation plastique 541 : c 542 : DEP1=DU 543 : DEP2=0.D0 544 : c 545 : END IF 546 : c 547 : 200 CONTINUE 548 : c 549 : c chargement de la matrice de rigidité au debut du pas 550 : c 551 : IF(KAPPA.EQ.1)THEN 552 : c 553 : RTT=KTT 554 : RTN=KTN 555 : c 556 : END IF 557 : c 558 : c chargement des valeurs à la fin des sub-pas 559 : c 560 : SIG0(1)=SIG0(1)+DCON(1) 561 : SIG0(2)=SIG0(2)+DCON(2) 562 : c 563 : EPS1=EPS1+DU 564 : EPS2=EPS2+DV 565 : c 566 : IF(SIG0(2).GE.-TOL2) THEN 567 : c 568 : c on a plasticité selon la composante normale: le joint se ouvre 569 : c ou il reste bloqué 570 : c 571 : SIG0(1)=0.D0 572 : SIG0(2)=0.D0 573 : c 574 : UEQU=UEQU 575 : c 576 : DEFP(1)=DEFP(1)+DU 577 : DEFP(2)=DEFP(2)+DV 578 : c 579 : EPIN0(1)=EPIN0(1)+DU 580 : EPIN0(2)=EPIN0(2)+DV 581 : c 582 : ELSE 583 : c 584 : c on n' a pas de plasticité selon la composante normale: le joint 585 : c reste fermé 586 : c 587 : UEQU=ABS(UEQU+DELTA) 588 : c 589 : DEFP(1)=DEFP(1)+DEP1 590 : DEFP(2)=DEFP(2)+DEP2 591 : c 592 : EPIN0(1)=EPIN0(1)+DEP1 593 : EPIN0(2)=EPIN0(2)+DEP2 594 : c 595 : DPP1=DEFP(1) 596 : DPP2=DEFP(2) 597 : c 598 : EPP1=EPIN0(1) 599 : EPP2=EPIN0(2) 600 : c 601 : END IF 602 : c 603 : 300 CONTINUE 604 : c 605 : c ********************************************************************** 606 : c ******** fin de la boucle du calcul et preparation des sorties ******* 607 : c ********************************************************************** 608 : c 609 : c test pour vérifier si le deux tau sont presque nulles 610 : c 611 : TOL3=1.D-1*ABS(RTT*(UEQU-VAR0(4))+RTN*DEPST(2)) 612 : c 613 : IF(ABS(SIG0(1)).LT.TOL3)THEN 614 : c 615 : SIG0(1)=0.D0 616 : c 617 : END IF 618 : c 619 : c chargement des valeurs des contraintes finales 620 : c 621 : SIGF(1)=SIG0(1) 622 : SIGF(2)=SIG0(2) 623 : c 624 : c état du joint 625 : c 626 : IF(EPIN0(2).GT.EPSS)THEN 627 : c 628 : c le joint est ouvert 629 : c 630 : VARF(3)=1.D0 631 : c 632 : ELSE IF((EPIN0(2).LE.EPSS).AND.(SIG0(2).GE.-TOL2))THEN 633 : c 634 : c le joint est fermé mais sans compression 635 : c 636 : DEFP(1)=DPP1 637 : DEFP(2)=DPP2 638 : c 639 : EPIN0(1)=EPP1 640 : EPIN0(2)=EPP2 641 : c 642 : VARF(3)=0.D0 643 : c 644 : ELSE 645 : c 646 : c le joint est fermé avec compression 647 : c 648 : VARF(3)=2.D0 649 : c 650 : END IF 651 : c 652 : c chargement de la variable EPSE 653 : c 654 : VARF(1)=SQRT(2.D0/3.D0*(EPIN0(1)**2+EPIN0(2)**2)) 655 : c 656 : c chargement de la variable EPOU 657 : c 658 : VARF(2)=DEFP(2) 659 : c 660 : c chargement de la variable UEQU 661 : c 662 : VARF(4)=UEQU 663 : c 664 : c chargement des déformations totales 665 : c 666 : VARF(5)=EPS1 667 : VARF(6)=EPS2 668 : c 669 : RETURN 670 : c 671 : END 672 : 673 : 674 : 675 : 676 : 677 : 678 : 679 : 680 : 681 : 682 : 683 : 684 : 685 : 686 : 687 : 688 : 689 :
© Cast3M 2003 - All rights reserved.
Disclaimer