1 : C PAKZAD SOURCE PV 11/03/07 21:17:46 6885 2 : SUBROUTINE PAKZAD(DEPST,NSTRS,NCOMAT,NVARI, 3 : . MFR1,IB,IGAU, 4 : . XMAT,SIG0,VAR0,SIGF,VARF,DEFP,KERRE,DSIGT, 5 : . SUCC1,SUCC2,necou) 6 : * 7 : * 8 : *************************************************************** 9 : * 10 : * Modèle d'argile de PAKZAD 11 : * 12 : *************************************************************** 13 : * 14 : * 15 : *_________________________________________________________________ 16 : * 17 : * 18 : * ENTREES : 19 : * --------- 20 : * 21 : * DEPST = INCREMENT DE DEFORMATIONS TOTALES 22 : * NSTRS = NBRE DE COMPOSANTES DES DEFORMATIONS 23 : * NCOMAT= NBRE DE CARACTERISTIQUES MECANIQUES DU MATERIAU 24 : * NVARI = NBRE DE VARIABLES INTERNES 25 : * MFR1 = NUMERO DE LA FORMULATION 26 : * IB = NUMERO DE L ELEMENT COURANT 27 : * IGAU = NUMERO DU POINT COURANT 28 : * SIG0(NSTRS) = CONTRAINTES AU DEBUT DU PAS D'INTEGRATION 29 : * VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS DE TEMPS 30 : * XMAT(NCOMAT) = CARACTERISTIQUES MECANIQUES DU MATERIAU 31 : * SUCC1 SUCCION AU DEBUT DU PAS 32 : * SUCC2 SUCCION A LA FIN DU PAS 33 : * 34 : * SORTIE : 35 : * -------- 36 : * 37 : * SIGF(NSTRS) = CONTRAINTES FINALES 38 : * VARF(NVARI) = VARIALES INTERNES A LA FIN DU PAS D'INTEGRATION 39 : * DEFP(NSTRS) = INCREMENT DE DEFORMATION PLASTIQUE A LA FIN 40 : * DU PAS D'INTEGRATION 41 : * ============================================================ 42 : * ICI IL FAUT PROGRAMMER EN FORTRAN PUR 43 : *============================================================= 44 : * 45 : IMPLICIT INTEGER(I-N) 46 : IMPLICIT REAL*8(A-H,O-Z) 47 : * 48 : -INC CCOPTIO 49 : * 50 : SEGMENT NECOU 51 : * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, 52 : INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO, 53 : . ITYP,IFOURB,IFLUAG, 54 : . ICINE,ITHER,IFLUPL,ICYCL,IBI, 55 : . JFLUAG,KFLUAG,LFLUAG, 56 : . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF 57 : ENDSEGMENT 58 : C COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, 59 : C . ITYP,IFOURB,IFLUAG, 60 : C . ICINE,ITHER,IFLUPL,ICYCL,IBI, 61 : C . JFLUAG,KFLUAG,LFLUAG, 62 : C . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF 63 : * 64 : DIMENSION SIG0(*),DEPST(*),VAR0(*),XMAT(*),SIGF(*), 65 : & VARF(*),DEFP(*),DSIGT(*) 66 : DIMENSION RSIG0(6),RDEPS0(6),RSIGF(6),RDEFP(6),RSIG1(6) 67 : DIMENSION DEVT(6),SIGT(6),DEFT(6) 68 : REAL*8 LS0,LS1 69 : * 70 : * Adaptation de l'option de calcul vers le 3D massif de SIG0 a RSIG0 71 : *==================================================================== 72 : * 73 : IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN 74 : * 75 : *---> 1 formulation massive 76 : *---> 2 formulation quasi incompressible 77 : *---> MASSIF 3D 78 : * 79 : IF (NSTRS .EQ. 6) THEN 80 : DO 110 I=1,NSTRS 81 : RSIG0(I)=SIG0(I) 82 : RDEPS0(I)=DEPST(I) 83 : 110 CONTINUE 84 : ELSE IF ( NSTRS .EQ. 4 .AND. ((IFOUR .EQ. 0) 85 : & .OR.(IFOUR .EQ. -1))) THEN 86 : * 87 : *---> Calcul en mode deformations planes ou axisymetrique 88 : * 89 : DO 115 I=1,NSTRS 90 : RSIG0(I)=SIG0(I) 91 : RDEPS0(I)=DEPST(I) 92 : 115 CONTINUE 93 : RSIG0(5)=0.D0 94 : RSIG0(6)=0.D0 95 : RDEPS0(5)=0.D0 96 : RDEPS0(6)=0.D0 97 : ENDIF 98 : ELSE 99 : KERRE = 99 100 : RETURN 101 : ENDIF 102 : * 103 : * 104 : * Passage des deformations de cisaillement exprimées 105 : * en GAMA aux déformations de cisaillement exprimées 106 : * en déformations 107 : * 108 : DO 116 I=1,6 109 : A=1.D0 110 : IF (I.GT.3) A=2.D0 111 : RDEPS0(I)=RDEPS0(I)/A 112 : 116 CONTINUE 113 : * 114 : * Données du materiau 115 : *=========================================================== 116 : * 117 : YOUN0=XMAT(1) 118 : XNU0=XMAT(2) 119 : XN0=XMAT(5) 120 : XKA0=XMAT(6) 121 : XGA0=XMAT(7) 122 : XPA0=XMAT(8) 123 : XPC0=XMAT(9) 124 : XM0=XMAT(10) 125 : XBET1=XMAT(11) 126 : XA0=XMAT(12) 127 : XPCR0=XMAT(13) 128 : XS0=XMAT(14) 129 : XM1=XMAT(15) 130 : XM2=XMAT(16) 131 : XM3=XMAT(17) 132 : XBET2=XMAT(18) 133 : XTAU0=XMAT(19) 134 : * 135 : * 136 : * Quelques initialisations 137 : *============================================================= 138 : * 139 : *---> Succion 140 : * . Succion initiale 141 : * . succion finale 142 : * . Succion de désaturation 143 : * 144 : ****************************** 145 : * MODIFICATION POUR LA SUCCION 146 : * 147 : IF(SUCC1.LT.-1.E34.AND.SUCC2.LT.-1.E34) THEN 148 : * 149 : * cas à succion constante : on la prend dans var0 150 : * 151 : SUCI0=VAR0(3) 152 : SUCF0=SUCI0 153 : ELSE 154 : SUCI0=SUCC1 155 : SUCF0=SUCC2 156 : ENDIF 157 : * 158 : IF (VAR0(2).LE.1.D-10) VAR0(2)=XS0+XM1*(XPC0-XS0) 159 : SDT=VAR0(2) 160 : * 161 : *---> Pression de consolidation initiale dans le domaine saturé 162 : * 163 : IF (VAR0(4).LE.1.D-10) VAR0(4)=XPC0 164 : * 165 : *---> On est en train d'activer la surface de contact ou de gonflement 166 : * 167 : IF ((VAR0(21).LE.1.D-10).AND.(VAR0(22).LE.1.D-10)) THEN 168 : * 169 : * On active la surface de contact 170 : * 171 : IGONF=1 172 : ELSE 173 : * 174 : * On active la surface de gonflement 175 : * 176 : IGONF=0 177 : ENDIF 178 : * 179 : *---> On initialise les variables internes à leur valeur initiale 180 : * 181 : DO 49 I=1,NVARI 182 : VARF(I)=VAR0(I) 183 : 49 CONTINUE 184 : * 185 : *---> On initialise les déformations plastiques au cours du pas à 186 : * zéro 187 : * 188 : DO 48 I=1,6 189 : RDEFP(I)=0.D0 190 : 48 CONTINUE 191 : * 192 : * 193 : * 194 : * Sous incrémentations : définition du nombre de sous 195 : * incréments 196 : *============================================================= 197 : * 198 : nmax0=1 199 : iter2=0 200 : crit0=XKA0*(RDEPS0(1)+RDEPS0(2)+RDEPS0(3)) 201 : crit0=ABS(crit0) 202 : IF (crit0.GT.1.D-2) nmax0=NINT(100.D0*crit0)+1 203 : IF (nmax0.GT.10000) nmax0=10000 204 : DO 50 I=1,6 205 : RDEPS0(I)=RDEPS0(I)/nmax0 206 : 50 CONTINUE 207 : * 208 : * 209 : * 210 : * Début de la boucle de sous incrémentation 211 : *============================================================= 212 : * 213 : 51 iter2=iter2+1 214 : * 215 : *---> Succion au début (SUC1) et à la fin (SUC2) du sous incrémént 216 : * 217 : SUC1=SUCI0+(SUCF0-SUCI0)*(iter2-1)/nmax0 218 : SUC2=SUCI0+(SUCF0-SUCI0)*iter2/nmax0 219 : * 220 : *---> Variable de test de la plasticité 221 : * . iplas vaut 1 si on plastifie sur la surface de contact 222 : * 223 : IPLAS=0 224 : * 225 : *---> Pression d'origine capillaire au début du sous incrément 226 : * 227 : LS0=SUC1-XM1*VARF(4)+(XM1-1.D0)*XS0 228 : IF (LS0.LE.0.D0) THEN 229 : * 230 : * Etat quasi saturé 231 : * 232 : PSAT0=SUC1 233 : ELSE 234 : * 235 : * Etat partiellement saturé 236 : * 237 : XK1=(1.D0+(SUC1-SDT)/((XM2-1.D0)*SDT))**2.D0 238 : XK1=1/XK1 239 : PSAT0=SDT+(XK1**(.5D0))*(SUC1-SDT) 240 : ENDIF 241 : * 242 : *---> Contraintes effectives au début du sous incrément 243 : * 244 : DO 9 I=1,6 245 : A=0.D0 246 : IF (I.LE.3) A=1.D0 247 : RSIG1(I)=RSIG0(I)-PSAT0*A 248 : 9 CONTINUE 249 : PRES00=-1.D0/3.D0*(RSIG1(1)+RSIG1(2)+RSIG1(3)) 250 : * 251 : *---> Déformations élastiques test et déformation plastique 252 : * 253 : DO 10 I=1,6 254 : DEFT(I)=0.D0 255 : 10 CONTINUE 256 : TREPEL0=RDEPS0(1)+RDEPS0(2)+RDEPS0(3) 257 : * 258 : *---> Contraintes test: 2 cas suivant la valeur de XN0 259 : * 260 : dif0=ABS(XN0-1.D0) 261 : IF (dif0.LE.1.D-5) THEN 262 : * 263 : * Cas où XN0=1 264 : * 265 : PRES1=PRES00*EXP(-1.D0*XKA0*TREPEL0) 266 : DO 11 I=1,6 267 : A=0.D0 268 : IF (I.LE.3) A=1.D0 269 : DEVT(I)=RSIG1(I)+PRES00*A 270 : DEVT(I)=DEVT(I)+2.D0*XGA0*PRES00*(RDEPS0(I)-TREPEL0/3.D0*A) 271 : SIGT(I)=DEVT(I)-PRES1*A 272 : 11 CONTINUE 273 : ELSE 274 : * 275 : * Autres cas 276 : * 277 : XKA1=XKA0*XPA0*((PRES00/XPA0)**XN0) 278 : XGA1=XGA0*XPA0*((PRES00/XPA0)**XN0) 279 : PRES1=PRES00-(XKA1*TREPEL0) 280 : DO 21 I=1,6 281 : A=0.D0 282 : IF (I.LE.3) A=1.D0 283 : DEVT(I)=RSIG1(I)+PRES00*A 284 : DEVT(I)=DEVT(I)+2.D0*XGA1*(RDEPS0(I)-TREPEL0/3.D0*A) 285 : SIGT(I)=DEVT(I)-PRES1*A 286 : 21 CONTINUE 287 : ENDIF 288 : * 289 : *---> Pressions de consolidation test à la succion SUC2 et module plastique BET1 290 : * à la fin du sous incrément 291 : * PCT1 : pression de consolidation 292 : * PCT0 : pression de consolidation "fictive" dans le domaine 293 : * saturé ( = VARF(4)) 294 : * 295 : LS1=SUC2-XM1*VARF(4)+(XM1-1.D0)*XS0 296 : PCT0=VARF(4) 297 : IF (LS1.LE.0.D0) THEN 298 : * 299 : * Etat quasi saturé 300 : * 301 : PCT1=PCT0 302 : BET1=XBET1 303 : ELSE 304 : * 305 : * Etat partiellement saturé 306 : * 307 : XK2=(1.D0+(SUC2-SDT)/(XM3*SDT))**2.D0 308 : XK2=1/XK2 309 : PCT1=PCT0+(XK2**.5D0)*(SUC2-SDT) 310 : BET1=XBET2-((XBET2-XBET1)*EXP(-1.D0*XTAU0*(SUC2-SDT))) 311 : * 312 : * Dans ce qui suit, on va négliger les variations de BET1 avec SDT 313 : * (et donc avec l'écoulement plastique) 314 : * 315 : ENDIF 316 : * 317 : *---> Si on est en recharge, on vérifie la condition de gonflement avant 318 : * la condition de contact 319 : * A condition de ne pas déja avoir active la surface de charge 320 : * (IGONF=0) 321 : * 322 : IF (((RDEPS0(1)+RDEPS0(2)+RDEPS0(3)).LE.0.D0) 323 : . .AND.(IGONF.EQ.0)) THEN 323 : CALL PAKGON(XMAT,SIGT,VARF,SIGT,DEFT,VARF, 324 : . RDEPS0,KERRE,IB,IGAU,PCT0, 325 : . SUC2,RSIG1) 326 : PRES1=-1.D0/3.D0*(SIGT(1)+SIGT(2)+SIGT(3)) 327 : DO 52 I=1,6 328 : A=0.D0 329 : IF (I.LE.3) A=1.D0 330 : DEVT(I)=SIGT(I)+PRES1*A 331 : 52 CONTINUE 332 : IGONF=0 333 : ENDIF 334 : * 335 : *---> Contrainte équivalente 336 : * 337 : STEST2=3.D0*PROCON(DEVT,DEVT,6)/2.D0 338 : IF (STEST2.LE.(1.D-10*YOUN0)) STEST2=0.D0 339 : Stest=(STEST2)**(0.5D0) 340 : * 341 : * 342 : *---> Fonction de charge 343 : * 344 : PHIT=Stest*Stest+XM0*XM0*PRES1*(PRES1-PCT1) 345 : * 346 : * 347 : * 348 : * Vérification du critère de plasticité 349 : *========================================================= 350 : * 351 : *---> Erreur admise 352 : * 353 : ERR0=1.D-7*ABS(PHIT) 354 : ERR0=MAX(ERR0,1.D-10*YOUN0) 355 : * 356 : *---> Critère de plasticité 357 : * 358 : PHI0=PHIT 359 : iter0=0 360 : * 361 : 99 IF (PHI0.LE.ERR0) THEN 362 : * 363 : * On est élastique par rapport à la surface de contact 364 : *========================================================= 365 : * 366 : * 367 : *---> On vérifie la condition de gonflement 368 : * 369 : IF (IPLAS.EQ.0) THEN 370 : * 371 : * On a pas plastifié sur la surface de contact 372 : * Si on est en décharge, on vérifie la condition de gonflement 373 : * après la condition de contact 374 : * Cas particulier, le premier pas du calcul, IGONF peut valoir 1 car 375 : * toutes les valeurs de des variables internes ne sont peut etre pas 376 : * initialisées de facon adéquate. 377 : * Or on doit vérifier la surface de gonflement systématiquement 378 : * au premier pas du calcul et ce jusqu'a ce qu'on active 379 : * la surface de gonflement ou la surface de contact 380 : * 381 : * 382 : IF (((RDEPS0(1)+RDEPS0(2)+RDEPS0(3)).GT.0.D0).OR. 383 : . (IGONF.EQ.1)) THEN 383 : CALL PAKGON(XMAT,SIGT,VARF,SIGT,DEFT,VARF, 384 : . RDEPS0,KERRE,IB,IGAU,PCT0, 385 : . SUC2,RSIG1) 386 : IGONF=0 387 : ENDIF 388 : DO 53 I=1,6 389 : RDEFP(I)=RDEFP(I)+DEFT(I) 390 : RSIGF(I)=SIGT(I) 391 : 53 CONTINUE 392 : ELSE 393 : * 394 : * On a plastifié sur la surface de contact, on ré-initialise 395 : * les variables internes du gonflement 396 : * . le rayon est remis à sa valeur initiale 397 : * . le "Centre" de l'ellipse (P1,Q1) est mis à 398 : * la valeur courante des contraintes 399 : * 400 : VARF(5)=XA0 401 : VARF(6)=XA0 402 : VARF(7)=PRES1 403 : VARF(8)=PRES1 404 : VARF(21)=0.D0 405 : VARF(22)=0.D0 406 : DO 399 I=1,6 407 : RDEFP(I)=RDEFP(I)+DEFT(I) 408 : RSIGF(I)=SIGT(I) 409 : VARF(8+I)=DEVT(I) 410 : VARF(14+I)=DEVT(I) 411 : 399 CONTINUE 412 : ENDIF 413 : * 414 : *---> A la fin du sous incrémént: Est on saturé ou non ? 415 : * 416 : LS1=SUC2-XM1*PCT0+(XM1-1.D0)*XS0 417 : * 418 : *---> Mise à jour de la succion de désaturation à la fin di sous incrément 419 : * 420 : SDT=XS0+XM1*(PCT0-XS0) 421 : * 422 : *---> Pression d'origine capillaire à la fin de sous incrément 423 : * 424 : IF (LS1.LE.0.D0) THEN 425 : * 426 : * Etat quasi saturé 427 : * 428 : PSAT0=SUC2 429 : ELSE 430 : * 431 : * Etat partiellement saturé 432 : * 433 : XK1=(1.D0+(SUC2-SDT)/((XM2-1.D0)*SDT))**2.D0 434 : XK1=1/XK1 435 : PSAT0=SDT+(XK1**(.5D0))*(SUC2-SDT) 436 : ENDIF 437 : * 438 : *---> Grandeurs à la fin de sous incrément 439 : * 440 : DO 400 I=1,6 441 : A=0.D0 442 : IF (I.LE.3) A=1.D0 443 : RSIGF(I)=RSIGF(I)+PSAT0*A 444 : RSIG0(I)=RSIGF(I) 445 : DEFT(I)=RDEFP(I)-(RDEFP(1)+RDEFP(2)+RDEFP(3))/3.D0*A 446 : 400 CONTINUE 447 : EPSPT=PROCON(DEFT,DEFT,6) 448 : IF (EPSPT.LE.1.D-10) EPSPT=0.D0 449 : EPSPT=(2.D0/3.D0*EPSPT)**.5D0 450 : VARF(1)=VAR0(1)+EPSPT 451 : VARF(2)=SDT 452 : VARF(3)=SUCF0 453 : VARF(4)=PCT0 454 : * 455 : * 456 : ELSE 457 : * 458 : * On plastifie 459 : *========================================================= 460 : * 461 : *---> Mise du flag IPLAS à 1: on plastifie en contact 462 : * Mise du flag IGONF à 1: on plastifie en contact 463 : * 464 : IPLAS=1 465 : IGONF=1 466 : * 467 : *---> Condition de consistance: calcul du paramètre plastique 468 : * 469 : IF (dif0.LE.1.D-5) THEN 470 : * 471 : * Cas où XN0=1 472 : * 473 : DF1=XM0*XM0*(2.D0*PRES1-PCT1) 474 : DF2=XM0*XM0*PCT1 475 : DF0=12.D0*XGA0*PRES00*Stest*Stest 476 : denom0=DF0+XKA0*DF1*DF1*PRES1+PRES1*BET1*DF1*DF2 477 : * 478 : ELSE 479 : * 480 : * Autres cas 481 : * 482 : DF1=XM0*XM0*(2.D0*PRES1-PCT1) 483 : DF2=XM0*XM0*PCT1 484 : DF0=12.D0*XGA1*Stest*Stest 485 : denom0=DF0+XKA1*DF1*DF1+PRES1*BET1*DF1*DF2 486 : ENDIF 487 : * 488 : dlam0=PHIT/denom0 489 : * 490 : *---> Mise à jour des contraintes 491 : * 492 : IF (dif0.LE.1.D-5) THEN 493 : * 494 : * Cas où XN0=1 495 : * 496 : PRES1=PRES1*EXP(-1.D0*XKA0*DF1*dlam0) 497 : DO 12 I=1,6 498 : A=0.D0 499 : IF (I.LE.3) A=1.D0 500 : DEVT(I)=DEVT(I)-6.D0*XGA0*PRES00*DEVT(I)*dlam0 501 : SIGT(I)=DEVT(I)-PRES1*A 502 : 12 CONTINUE 503 : ELSE 504 : * 505 : * Autres cas 506 : * 507 : PRES1=PRES1-(XKA1*DF1*dlam0) 508 : DO 22 I=1,6 509 : A=0.D0 510 : IF (I.LE.3) A=1.D0 511 : DEVT(I)=DEVT(I)-6.D0*XGA1*DEVT(I)*dlam0 512 : SIGT(I)=DEVT(I)-PRES1*A 513 : 22 CONTINUE 514 : ENDIF 515 : * 516 : *---> Mise à jour de la pression de consolidation à la succion finale 517 : * 518 : PCT1=PCT1*EXP(BET1*DF1*dlam0) 519 : PCT0=PCT0*EXP(XBET1*DF1*dlam0) 520 : * 521 : *---> Déformation élastiques et plastiques 522 : * 523 : IF (dif0.LE.1.D-5) THEN 524 : * 525 : * Cas où XN0=1 526 : * 527 : TREPEL0=-1.D0/XKA0*LOG(PRES1/PRES00) 528 : DO 13 I=1,6 529 : A=0.D0 530 : IF (I.LE.3) A=1.D0 531 : DEFT(I)=(DEVT(I)-RSIG1(I)-PRES00*A)/(2.D0*XGA0*PRES00) 532 : DEFT(I)=RDEPS0(I)-DEFT(I)-TREPEL0*A/3.D0 533 : 13 CONTINUE 534 : ELSE 535 : * 536 : * Autres cas 537 : * 538 : TREPEL0=-1.D0/XKA1*(PRES1-PRES00) 539 : DO 23 I=1,6 540 : A=0.D0 541 : IF (I.LE.3) A=1.D0 542 : DEFT(I)=(DEVT(I)-RSIG1(I)-PRES00*A)/(2.D0*XGA1) 543 : DEFT(I)=RDEPS0(I)-DEFT(I)-TREPEL0*A/3.D0 544 : 23 CONTINUE 545 : ENDIF 546 : * 547 : *---> Mise à jour de la contrainte équivalente 548 : * 549 : STEST2=3.D0*PROCON(DEVT,DEVT,6)/2.D0 550 : IF (STEST2.LE.(1.D-10*YOUN0)) STEST2=0.D0 551 : Stest=(STEST2)**(0.5D0) 552 : * 553 : *---> Mise à jour de la fonction de charge 554 : * 555 : PHIT=Stest*Stest+XM0*XM0*PRES1*(PRES1-PCT1) 556 : PHI0=ABS(PHIT) 557 : * 558 : *---> Test de convergence ou itération suivante 559 : * 560 : iter0=iter0+1 561 : IF (iter0.LT.200) THEN 562 : GOTO 99 563 : ELSE 564 : PHI0=0.D0 565 : KERRE=460 566 : GOTO 99 567 : ENDIF 568 : * 569 : ENDIF 570 : * 571 : * 572 : * Vérification des sous incrémentations 573 : *======================================================================== 574 : * 575 : IF ((iter2.LT.nmax0).AND.(KERRE.EQ.0)) THEN 576 : GOTO 51 577 : ENDIF 578 : * 579 : * 580 : * 581 : * 582 : *=========================================================================== 583 : * 584 : * 585 : * 586 : * Passage des deformations de cisaillement exprimées 587 : * en déformations aux déformations de cisaillement exprimées 588 : * en GAMA 589 : * 590 : DO 117 I=1,6 591 : A=1.D0 592 : IF (I.GT.3) A=2.D0 593 : RDEFP(I)=RDEFP(I)*A 594 : 117 CONTINUE 595 : * 596 : * 597 : * Passage a l'option de calcul pour les contraintes 598 : * Grandeurs finales 599 : *========================================================= 600 : * 601 : IF (MFR1 .EQ. 1 .OR. MFR1 .EQ. 31) THEN 602 : IF (NSTRS .EQ. 6) THEN 603 : * 604 : *---> MASSIF 3D 605 : * 606 : DO 170 I=1,NSTRS 607 : SIGF(I)=RSIGF(I) 608 : DEFP(I)=RDEFP(I) 609 : DSIGT(I)=RSIGF(I)-RSIG0(I) 610 : 170 CONTINUE 611 : ELSE IF ( NSTRS .EQ. 4 ) THEN 612 : * 613 : *---> Calcul axisymétrique ou contraintes planes 614 : * 615 : DO 180 I=1,NSTRS 616 : SIGF(I)=RSIGF(I) 617 : DEFP(I)=RDEFP(I) 618 : DSIGT(I)=RSIGF(I)-RSIG0(I) 619 : 180 CONTINUE 620 : ENDIF 621 : ENDIF 622 : * 623 : RETURN 624 : * 625 : END 626 : 627 : 628 : 629 : 630 : 631 : 632 : 633 :
© Cast3M 2003 - All rights reserved.
Disclaimer