1 : C ECOIN0 SOURCE CHAT 05/01/12 23:24:48 5004 2 : SUBROUTINE ECOIN0(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL, 3 : . N2PTEL,VARIN0,VAREX0,VAREXF,XMAT,PRECIS,WORK,CARAC,TRAC, 4 : . SIGF,VARINF,DEFP,KERRE,MFR,IB,IGAU,NSTRS,EPAIST,MELE,NPINT, 5 : . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, 6 : . ROTHOO,DDHOMU,CRIGI,DSIGT,INPLAS,LTRAC,IFOURB) 7 : 8 : 9 : C----------------------------------------------------------------------- 10 : C ECOULEMENT PLASTIQUE POUR UN POINT 11 : C ALGORITHME ORTIZ ET SIMO 12 : C 13 : C EN ENTREE : 14 : C 15 : C SIG0 CONTRAINTES AU DEBUT DU PAS 16 : C DEPST INCREMENT DE DEFORMATIONS TOTALES 17 : C ( THERMIQUE ENLEVEE ) 18 : C VARIN0 VARIABLES INTERNES DEDUT DU PAS 19 : C VAREX0 VARIABLES EXTERNES DEBUT DU PAS 20 : C VAREXF VARIABLES EXTERNES FIN DU PAS 21 : C XMAT COEFFICIENTS DU MATERIAU 22 : C PRECIS PRECISION POUR ITERATIONS INTERNES 23 : C CARAC DES CARACTERISTIQUES 24 : C TRAC COURBE DE TRACTION 25 : C MFR INDICE DE FORMULATION 26 : C NSTRS NOMBRE DE CONTRAINTES CA2000 27 : C INPLAS NUMERO DU MODELE DE PLASTICITE 28 : C DDAUX = MATRICE DE HOOKE ELASTIQUE 29 : C CMATE = NOM DU MATERIAU 30 : C VALMAT= TABLEAU DE CARACTERISTIQUES DU MATERIAU 31 : C VALCAR= TABLEAU DE CARACTERISTIQUES GEOMETRIQUES 32 : C N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE 33 : C N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE 34 : C IFOU = OPTION DE CALCUL 35 : C IB = NUMERO DE L ELEMENT COURANT 36 : C IGAU = NUMERO DU POINT COURANT 37 : C EPAIST= EPAISSEUR 38 : C NBPGAU= NBRE DE POINTS DE GAUSS 39 : C MELE = NUMERO DE L ELEMENT FINI 40 : C NPINT = NBRE DE POINTS D INTEGRATION 41 : C NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES 42 : C NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES 43 : C SECT = SECTION 44 : C LHOOK = TAILLE DE LA MATRICE DE HOOKE 45 : C TXR,XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI = TABLEAUX UTILISES 46 : C UTILISES POUR LE CALCUL DE LA MATRICE DE HOOKE 47 : C 48 : C EN SORTIE : 49 : C 50 : C SIGF CONTRAINTES A LA FIN DU PAS 51 : C VARINF VARIABLES INTERNES FIN DU PAS 52 : C DEFP INCR. DE DEFORMATIONS PLASTIQUES 53 : C KERRE CODE D'ERREUR 54 : C = 0 SI TOUT OK 55 : C = 99 SI FORMULATION NON DISPONIBLE 56 : C EN PLASTICITE 57 : C = 1 SI DEPS EST NEGATIF 58 : C = 2 SI NOMBRE MAX D'ITERATIONS INTERNES DEPASSE 59 : C 60 : C IFOUR : OPTION DE CALCUL 61 : C 62 : C IFOUR = -3 DEFORMATION PLANE GENERALISEE 63 : C IFOUR = -2 CONTRAINTES PLANES 64 : C IFOUR = -1 DEFORMATIONS PLANES 65 : C IFOUR = 0 AXISYMETRIQUE 66 : C IFOUR = 1 SERIE DE FOURIER 67 : C IFOUR = 2 TRIDIMENSIONNEL 68 : C 69 : C MFR : NUMERO DE LA FORMULATION ELEMENT FINI 70 : C 71 : C MFR = 1 MASSIF 72 : C MFR = 3 COQUE 73 : C MFR = 5 COQUE EPAISSE 74 : C MFR = 7 POUTRE 75 : C MFR = 9 COQUE AVEC CISAILLEMENT TRANSVERSE 76 : C 77 : C INPLAS : NUMERO DU MODELE DE PLASTICITE 78 : C 79 : C INPLAS = 1 PARFAIT 80 : C INPLAS = 4 CINEMATIQUE 81 : C INPLAS = 5 ISOTROPE 82 : C INPLAS = 7 CHABOCHE1 83 : C INPLAS = 12 CHABOCHE2 84 : C 85 : C----------------------------------------------------------------------- 86 : C CONVENTION DE REMPLISSAGE DES MEMOIRES 87 : C----------------------------------------------------------------------- 88 : C 89 : C XMAT(1) MODULE D'YOUNG 90 : C XMAT(2) COEFFICIENT DE POISSON 91 : C 92 : C TRAC(1 A 2*LTRAC) COURBE DE TRACTION 93 : C CARAC( " +1) ALFAH POUR COQUES PLASTICITE GLOBALE 94 : C CARAC( " +..) DONNEES POUR CRITERE POUTRES GLOBALES 95 : C 96 : C MODELE ISOTROPE 97 : C VARIN0(1) EPS* 98 : C 99 : C MODELE CINEMATIQUE LINEAIRE 100 : C VARIN0(1) EPS* 101 : C VARIN0(2) A VARIN0(1+NSTRS) DEPLACEMENT DE LA SPHERE 102 : C 103 : C MODELE CHABOCHE 104 : C XMAT(5) .... COEFFICIENTS A,C,... 105 : C VARIN0(1) EPS* 106 : C VARIN0(2) A VARIN0(1+NSTRS) DEPLACEMENT DE LA SPHERE 1 107 : C VARIN0(2+NSTRS) A VARIN0(1+2*NSTRS) " " " " 2 108 : C 109 : C----------------------------------------------------------------------- 110 : 111 : IMPLICIT INTEGER(I-N) 112 : IMPLICIT REAL*8(A-H,O-Z) 113 : -INC CCOPTIO 114 : DIMENSION SIG0(*),SIG(130),EPS(130),SIGF(*),DEFP(*) 115 : DIMENSION DDAUX(LHOOK,*),VARIN0(*),VARINF(*),DEPST(*),TRAC(*) 116 : DIMENSION XMAT(*),VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*) 117 : DIMENSION CARAC(*),DSIGT(*) 118 : DIMENSION S(8),SX(8),DS(8),DSIG(8),SPHER(8),SPHER1(8),SPHER2(8) 119 : DIMENSION DSPHER1(8),DSPHER2(8),DEPSE(8),DEPSP(8),DDEPSE(8) 120 : DIMENSION F(8),W1(8),W2(8),SIGB(8),Z1(8),DIV(8),DDA(8,8) 121 : DIMENSION TXR(IDIM,*),CRIGI(*),XLOC(IDIM,*),XGLOB(IDIM,*) 122 : DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*) 123 : CHARACTER*8 CMATE 124 : 125 : C----------------------------------------------------------------------- 126 : DO I=1,NSTRS 127 : S(I)=0.D0 128 : SPHER(I)=0.D0 129 : SPHER1(I)=0.D0 130 : SPHER2(I)=0.D0 131 : ENDDO 132 : KERRE=0 133 : YUNG=XMAT(1) 134 : XNU=XMAT(2) 135 : 136 : C---------CARACTERISTIQUES GEOMETRIQUES--------------------------------- 137 : C 138 : C COQUES 139 : C 140 : ALFAH=1.D0 141 : IF(MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN 142 : EP1=CARAC(1) 143 : IF(MFR.NE.5) ALFAH=CARAC(2)**2 144 : ENDIF 145 : 146 : C---------COEFFICIENTS CHABOCHE----------------------------------------- 147 : 148 : IF(INPLAS.EQ.7) THEN 149 : A1=XMAT(5) 150 : C1=XMAT(6) 151 : SI=XMAT(7) 152 : PSI=XMAT(8) 153 : OME=XMAT(9) 154 : RM=XMAT(10) 155 : B=XMAT(11) 156 : A2=0.D0 157 : C2=0.D0 158 : ELSE IF(INPLAS.EQ.12) THEN 159 : A1=XMAT(5) 160 : C1=XMAT(6) 161 : A2=XMAT(7) 162 : C2=XMAT(8) 163 : SI=XMAT(9) 164 : PSI=XMAT(10) 165 : OME=XMAT(11) 166 : RM=XMAT(12) 167 : B=XMAT(13) 168 : ELSE 169 : DO I=1,LTRAC 170 : SIG(I)=TRAC(2*I-1) 171 : EPS(I)=TRAC(2*I) 172 : ENDDO 173 : ENDIF 174 : 175 : EPST=VARIN0(1) 176 : C---------ECROUISSAGE CINEMATIQUE--------------------------------------- 177 : 178 : IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN 179 : DO I=1,NSTRS 180 : SPHER1(I)=VARIN0(I+1) 181 : ENDDO 182 : IF(INPLAS.EQ.12) THEN 183 : DO I=1,NSTRS 184 : SPHER2(I)=VARIN0(NSTRS+1+I) 185 : ENDDO 186 : ENDIF 187 : DO I=1,NSTRS 188 : SPHER(I)=SPHER1(I)+SPHER2(I) 189 : ENDDO 190 : ENDIF 191 : C----------------------------------------------------------------------- 192 : C PREDICTEUR ELASTIQUE 193 : C S : CONTRAINTE 194 : C SPHER : VARIABLE D'ECROUISSAGE CINEMATIQUE 195 : C SX = S - X 196 : C----------------------------------------------------------------------- 197 : 198 : * en elastique non lineaire on annule les contraintes initiales 199 : * mais on cumule les epsilons elastiques 200 : IF(INPLAS.EQ.87) THEN 201 : EPST=0.D0 202 : DO I=1,NSTRS 203 : SIG0(I)=0.D0 204 : DEPST(I)=DEPST(I) + VARIN0(I+1) 205 : ENDDO 206 : ENDIF 207 : 207 : CALL CALSIG(DEPST,DDAUX,NSTRS,CMATE,VALMAT,VALCAR, 208 : & N2EL,N2PTEL,MFR,IFOURB,IB,IGAU,EPAIST, 209 : & NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR, 210 : & XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD) 211 : 212 : IF(IRTD.NE.1) THEN 213 : KERRE=69 214 : GOTO 1000 215 : ENDIF 216 : 217 : DO I=1,NSTRS 218 : S(I)=SIG0(I)+DSIGT(I) 219 : SIGB(I)=S(I) 220 : SX(I)=S(I)-SPHER(I) 221 : 222 : ENDDO 223 : C---------COQUES AVEC CT------------------------------------------------ 224 : C ON NE TRAVAILLE QUE SUR LES 6 PREMIERES COMPOSANTES 225 : 226 : IF(MFR.EQ.9) THEN 227 : NCONT=6 228 : ELSE 229 : NCONT=NSTRS 230 : ENDIF 231 : 232 : C---------CAS DES POUTRES----------------------------------------------- 233 : 234 : IF(MFR.EQ.7) THEN 235 : DIV(1)=1.D0/CARAC(4) 236 : DIV(2)=1.D0 237 : DIV(3)=1.D0 238 : DIV(4)=CARAC(10)/CARAC(1) 239 : DIV(5)=CARAC(11)/CARAC(2) 240 : DIV(6)=CARAC(12)/CARAC(3) 241 : IF(DIV(4).EQ.0.D0) DIV(4)=1.D-10/SQRT(CARAC(1)*CARAC(4)) 242 : IF(DIV(5).EQ.0.D0) DIV(5)=1.D-10/SQRT(CARAC(2)*CARAC(4)) 243 : IF(DIV(6).EQ.0.D0) DIV(6)=1.D-10/SQRT(CARAC(3)*CARAC(4)) 244 : DO I=1,NCONT 245 : S(I)=S(I)*DIV(I) 246 : SX(I)=SX(I)*DIV(I) 247 : ENDDO 248 : ENDIF 249 : 250 : C----------------------------------------------------------------------- 251 : C CALCUL DE LA LIMITE ELASTIQUE SI 252 : C----------------------------------------------------------------------- 253 : 254 : IF(INPLAS.EQ.1.OR.INPLAS.EQ.4) THEN 255 : SI=TRAC(1) 256 : ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN 256 : CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI) 257 : IF(IBI.EQ.1) THEN 258 : KERRE=75 259 : GOTO 1000 260 : ENDIF 261 : ENDIF 262 : 263 : C----------------------------------------------------------------------- 264 : C CALCUL DE LA CONTRAINTE EQUIVALENTE SEQ 265 : C----------------------------------------------------------------------- 266 : 267 : SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH) 268 : 269 : C----------------------------------------------------------------------- 270 : C LE CRITERE EST-IL VERIFIE 271 : C----------------------------------------------------------------------- 272 : 273 : PHI=SEQ-SI 274 : NITER=0 275 : PETI=1.1D0*0.5D0*PRECIS*SEQ 275 : CALL EPSPRE(SEQ,SI,PETI,ITRY) 276 : IF((ITRY.EQ.1).OR.(SEQ.LE.SI)) THEN 277 : 278 : IF(MFR.EQ.7) THEN 279 : DO I=1,NCONT 280 : S(I)=S(I)/DIV(I) 281 : ENDDO 282 : ENDIF 283 : DO I=1,NCONT 284 : SIGF(I)=S(I) 285 : DEFP(I)=0.D0 286 : ENDDO 287 : IF(MFR.EQ.9) THEN 288 : DEFP(7)=0.D0 289 : DEFP(8)=0.D0 290 : SIGF(7)=S(7) 291 : SIGF(8)=S(8) 292 : ENDIF 293 : 294 : VARINF(1)=VARIN0(1) 295 : IF(INPLAS.EQ.4.OR.INPLAS.EQ.7) THEN 296 : DO I=1,NSTRS 297 : VARINF(I+1)=VARIN0(I+1) 298 : ENDDO 299 : ELSE IF(INPLAS.EQ.12) THEN 300 : DO I=1,2*NSTRS 301 : VARINF(I+1)=VARIN0(I+1) 302 : ENDDO 303 : ELSE IF(INPLAS.EQ.87) THEN 304 : DO I=1,NSTRS 305 : VARINF(I+1)=DEPST(I) 306 : ENDDO 307 : ENDIF 308 : RETURN 309 : ENDIF 310 : 231 CONTINUE 311 : C----------------------------------------------------------------------- 312 : C ON A PLASTIFIE 313 : C----------------------------------------------------------------------- 314 : 315 : PHI0=PHI 316 : SI0=SI 317 : RR=0.D0 318 : 319 : DO I=1,NCONT 320 : DSIG(I)=0.D0 321 : DEPSP(I)=0.D0 322 : DSPHER1(I)=0.D0 323 : DSPHER2(I)=0.D0 324 : ENDDO 325 : 326 : C----------------------------------------------------------------------- 327 : C DEBUT DE LA BOUCLE D'ITERATIONS INTERNES 328 : C----------------------------------------------------------------------- 329 : 330 : 10 NITER=NITER+1 331 : 332 : C---------CALCUL DE W1=DF/D(SIGMA)-------------------------------------- 333 : 334 : C---------ELEMENTS MASSIFS---------------------------------------------- 335 : 336 : IF(MFR.EQ.1) THEN 337 : 338 : F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0 339 : F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0 340 : F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0 341 : DO I=4,NSTRS 342 : F(I)=SX(I) 343 : ENDDO 344 : DO I=1,3 345 : W1(I)=1.5D0*F(I)/SEQ 346 : Z1(I)=W1(I) 347 : ENDDO 348 : DO I=4,NSTRS 349 : W1(I)=3.D0*F(I)/SEQ 350 : Z1(I)=1.5D0*F(I)/SEQ 351 : ENDDO 352 : 353 : C---------COQUES MINCES------------------------------------------------- 354 : 355 : ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN 356 : 357 : AUX=EP1*EP1*EP1*EP1 358 : 359 : IF(IFOURB.GE.1) THEN 360 : W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1) 361 : W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1) 362 : W1(3)=3.D0*SX(3)/(SEQ*EP1*EP1) 363 : W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(5))/(SEQ*AUX) 364 : W1(5)=18.D0*ALFAH*(2.D0*SX(5)-SX(4))/(SEQ*AUX) 365 : W1(6)=108.D0*ALFAH*SX(6)/(SEQ*AUX) 366 : ELSE 367 : W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1) 368 : W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1) 369 : W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX) 370 : W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX) 371 : ENDIF 372 : 373 : C---------COQUES EPAISSES----------------------------------------------- 374 : 375 : ELSE IF(MFR.EQ.5) THEN 376 : F(1)=(2.D0*SX(1)-SX(2))/3.D0 377 : F(2)=(2.D0*SX(2)-SX(1))/3.D0 378 : DO I=3,5 379 : F(I)=SX(I) 380 : ENDDO 381 : DO I=1,2 382 : W1(I)=1.5D0*F(I)/SEQ 383 : Z1(I)=W1(I) 384 : ENDDO 385 : DO I=3,5 386 : W1(I)=3.D0*F(I)/SEQ 387 : Z1(I)=1.5D0*F(I)/SEQ 388 : ENDDO 389 : 390 : C---------POUTRES------------------------------------------------------- 391 : 392 : ELSE IF(MFR.EQ.7) THEN 393 : 394 : DO I=1,NCONT 395 : DO J=1,NCONT 396 : DDA(I,J)=0.D0 397 : ENDDO 398 : ENDDO 399 : DDA(1,1)=YUNG 400 : DDA(4,4)=0.5*YUNG/(1.+XNU) 401 : DDA(5,5)=YUNG 402 : DDA(6,6)=YUNG 403 : 404 : W1(1)=SX(1)/SEQ 405 : W1(2)=0.D0 406 : W1(3)=0.D0 407 : W1(4)=SX(4)/SEQ 408 : W1(5)=SX(5)/SEQ 409 : W1(6)=SX(6)/SEQ 410 : ENDIF 411 : 412 : IF(MFR.EQ.7) THEN 413 : DO I=1,NCONT 414 : W2(I)=0.D0 415 : DO J=1,NCONT 416 : W2(I)=W2(I)+DDA(I,J)*W1(J) 417 : ENDDO 418 : ENDDO 419 : ELSE 420 : DO I=1,NCONT 421 : W2(I)=0.D0 422 : DO J=1,NCONT 423 : W2(I)=W2(I)+DDAUX(I,J)*W1(J) 424 : ENDDO 425 : ENDDO 426 : ENDIF 427 : 428 : COEF=0.D0 429 : DO I=1,NCONT 430 : COEF=COEF+W1(I)*W2(I) 431 : ENDDO 432 : 433 : C----------------------------------------------------------------------- 434 : C PLASTICITE PARFAITE, ECROUISSAGE ISOTROPE ET CINEMATIQUE ZIEGLER 435 : C----------------------------------------------------------------------- 436 : 437 : IF(INPLAS.EQ.1.OR.INPLAS.EQ.4.OR.INPLAS.EQ.5 438 : $ .OR.INPLAS.EQ.87) THEN 438 : CALL TRACTI(PENTE,EPST,SIG,EPS,LTRAC,1,IBI) 439 : * write(6,*) ' pente epst', pente,epst 440 : IF(IBI.EQ.1) THEN 441 : KERRE=75 442 : GOTO 1000 443 : ENDIF 444 : 445 : IF(INPLAS.EQ.1) THEN 446 : RP=0.D0 447 : C=0.D0 448 : ELSE IF(INPLAS.EQ.4) THEN 449 : RP=0.D0 450 : C=PENTE 451 : ELSE IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN 452 : RP=PENTE 453 : C=0.D0 454 : ENDIF 455 : 456 : IF(MFR.EQ.3.OR.MFR.EQ.9) THEN 457 : DENOM=COEF+C+(RP/EP1) 458 : ELSE 459 : DENOM=COEF+C+RP 460 : ENDIF 461 : 462 : DELTA=PHI/DENOM 463 : DMU=C*DELTA/SEQ 464 : 465 : DO I=1,NCONT 466 : DSIG(I)=-DELTA*W2(I) 467 : DSPHER1(I)=DMU*SX(I) 468 : ENDDO 469 : IF(MFR.EQ.3.OR.MFR.EQ.9) THEN 470 : DP=DELTA/EP1 471 : ELSE 472 : DP=DELTA 473 : ENDIF 474 : DR=RP*DP 475 : 476 : ELSE 477 : 478 : C----------------------------------------------------------------------- 479 : C MODELE DE CHABOCHE 480 : C----------------------------------------------------------------------- 481 : 482 : C---------UNIQUEMENT POUR LES ELEMENTS MASSIFS-------------------------- 483 : 484 : XPRO1=0.D0 485 : XPRO2=0.D0 486 : DO I=1,NCONT 487 : XPRO1=XPRO1+W1(I)*SPHER1(I) 488 : XPRO2=XPRO2+W1(I)*SPHER2(I) 489 : ENDDO 490 : 491 : FIP=1.D0+(PSI-1.D0)*EXP(-OME*EPST) 492 : 493 : DENOM=COEF+(A1*C1+A2*C2)*FIP-C1*XPRO1-C2*XPRO2+B*(RM-RR) 494 : DELTA=PHI/DENOM 495 : 496 : DO I=1,NCONT 497 : DSIG(I)=-DELTA*W2(I) 498 : DSPHER1(I)=(2.D0*A1*FIP*Z1(I)/3.D0-SPHER1(I))*C1*DELTA 499 : DSPHER2(I)=(2.D0*A2*FIP*Z1(I)/3.D0-SPHER2(I))*C2*DELTA 500 : ENDDO 501 : 502 : DR=B*(RM-RR)*DELTA 503 : DP=DELTA 504 : ENDIF 505 : 506 : RR=RR+DR 507 : EPST=EPST+DP 508 : DO I=1,NCONT 509 : S(I)=S(I)+DSIG(I) 510 : SPHER1(I)=SPHER1(I)+DSPHER1(I) 511 : SPHER2(I)=SPHER2(I)+DSPHER2(I) 512 : SPHER(I)=SPHER1(I)+SPHER2(I) 513 : SX(I)=S(I)-SPHER(I) 514 : ENDDO 515 : 516 : SEQ=VONMIS0(SX,NSTRS,MFR,IFOURB,EP1,ALFAH) 517 : 518 : C---------CONTRAINTES PLANES-------------------------------------------- 519 : 520 : IF(IFOURB.EQ.-2) THEN 521 : 522 : IF(MFR.EQ.1) THEN 523 : F(1)=(2.D0*SX(1)-SX(2)-SX(3))/3.D0 524 : F(2)=(2.D0*SX(2)-SX(1)-SX(3))/3.D0 525 : F(3)=(2.D0*SX(3)-SX(1)-SX(2))/3.D0 526 : DO I=4,NSTRS 527 : F(I)=SX(I) 528 : ENDDO 529 : DO I=1,3 530 : W1(I)=1.5D0*F(I)/SEQ 531 : ENDDO 532 : DO I=4,NSTRS 533 : W1(I)=3.D0*F(I)/SEQ 534 : ENDDO 535 : ELSE IF(MFR.EQ.3.OR.MFR.EQ.9) THEN 536 : AUX=EP1*EP1*EP1*EP1 537 : W1(1)=(2.D0*SX(1)-SX(2))/(2.D0*SEQ*EP1*EP1) 538 : W1(2)=(2.D0*SX(2)-SX(1))/(2.D0*SEQ*EP1*EP1) 539 : W1(3)=18.D0*ALFAH*(2.D0*SX(3)-SX(4))/(SEQ*AUX) 540 : W1(4)=18.D0*ALFAH*(2.D0*SX(4)-SX(3))/(SEQ*AUX) 541 : ENDIF 542 : 543 : DO I=1,NSTRS 544 : DEPSP(I)=DEPSP(I)+DELTA*W1(I) 545 : ENDDO 546 : ENDIF 547 : 548 : C----------------------------------------------------------------------- 549 : C TEST 550 : C CALCUL DE LA NOUVELLE VALEUR DE PHI 551 : C----------------------------------------------------------------------- 552 : IF(INPLAS.EQ.5.OR.INPLAS.EQ.87) THEN 552 : CALL TRACTI(SI,EPST,SIG,EPS,LTRAC,2,IBI) 553 : ELSE 554 : SI=RR+SI0 555 : ENDIF 556 : PHI=SEQ-SI 557 : 558 : PETI=1.E-7 559 : APHI=ABS(PHI) 560 : APHI0=ABS(PHI0) 561 : TEST=PETI*APHI0 562 : 563 : IF(NITER.GT.50) THEN 564 : KERRE=2 565 : GO TO 1000 566 : ENDIF 567 : 568 : IF(APHI.LE.TEST) THEN 569 : 570 : IF(MFR.EQ.7) THEN 571 : DO I=1,NCONT 572 : S(I)=S(I)/DIV(I) 573 : ENDDO 574 : ENDIF 575 : 576 : C---------TOUTES FORMULATIONS SAUF CONTRAINTES PLANES------------------- 577 : 578 : IF(IFOURB.NE.-2) THEN 579 : DO I=1,NCONT 580 : DS(I)=S(I)-SIGB(I) 581 : ENDDO 581 : CALL EPSIG0(DS,DDEPSE,MFR,IFOURB,YUNG,XNU,CARAC,NSTRS) 582 : DO I=1,NCONT 583 : DEPSE(I)=DEPST(I)+DDEPSE(I) 584 : DEPSP(I)=DEPST(I)-DEPSE(I) 585 : ENDDO 586 : ENDIF 587 : 588 : DO I=1,NSTRS 589 : SIGF(I)=S(I) 590 : DEFP(I)=DEPSP(I) 591 : ENDDO 592 : 593 : C---------COQUES AVEC CISAILLEMENT TRANSVERSE--------------------------- 594 : 595 : IF(MFR.EQ.9) THEN 596 : DEFP(7)=0.D0 597 : DEFP(8)=0.D0 598 : SIGF(7)=SIGB(7) 599 : SIGF(8)=SIGB(8) 600 : ENDIF 601 : 602 : VARINF(1)=EPST 603 : IF(INPLAS.EQ.4.OR.INPLAS.EQ.7.OR.INPLAS.EQ.12) THEN 604 : DO I=1,NSTRS 605 : VARINF(I+1)=SPHER1(I) 606 : ENDDO 607 : IF(INPLAS.EQ.12) THEN 608 : DO I=1,NSTRS 609 : VARINF(NSTRS+1+I)=SPHER2(I) 610 : ENDDO 611 : ENDIF 612 : ENDIF 613 : IF(INPLAS.EQ.87) THEN 614 : DO I=1,NSTRS 615 : VARINF(1+I)=DEPST(I) 616 : ENDDO 617 : * write(6,*) ' sortie ecoin0' 618 : * write(6,*) 'depst',(depst(I),i=1,nstrs) 619 : * write(6,*) 'depsp',(depsp(i),i=1,nstrs) 620 : ENDIF 621 : KERRE=0 622 : RETURN 623 : 624 : ELSE 625 : GOTO 10 626 : ENDIF 627 : C ENDIF 628 : 1000 RETURN 629 : END 630 : 631 : 632 : 633 : 634 :
© Cast3M 2003 - All rights reserved.
Disclaimer