1 : C CENDOM SOURCE KICH 09/09/11 21:15:43 6505 2 : SUBROUTINE CENDOM(wrk52,wrk53,wrk54,WRK6,WRK7,WRK8,WRK9, 3 : 1 NVARI, T0,T1,TREF,IB,IGAU,ifourb,ncourb,iecou) 4 : 5 : C ENDOM SOURCE NICOLAS 99/02/10 21:16:58 3476 6 : * SUBROUTINE ENDOM(WRK0,WR00,WRK1,WRK6,WRK7,WRK8,WRK9,WTRAV, 7 : * 1 NSTRS,NXMATT,ICARA,INPLAS,NVARI,PRECIS,MFR,IFOURB,KERRE, 8 : * 2 NNVARI,NYOG,NYNU,NYRHO,NYALFA,NNKX,NYKX,NCOURB,NYN,NYM, 9 : * 3 NYKK,T0,T1,TREF,ITHHER,CMATE,N2EL,N2PTEL,IB,IGAU, 10 : * 4 EPAIST,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,CRIGI) 11 : C 12 : c NSTRSS <= NSTRS , MFR1 <- MFR , XCARB <- XCAR 13 : C ================================================================== 14 : C CE SOUS-PROGRAMME EST APPELE DANS "PLAST". 15 : C C'EST UN INTEGRATEUR GENERAL DES LOIS DE COMPORTEMENT DES 16 : C MATERIAUX ENDOMMAGEABLES EN REGIME ANISOTHERME. 17 : C 18 : C ENTREES: 19 : C ------- 20 : C WRK0,WR00,WRK1,WRK6,WRK7,WRK8,WRK9,WTRAV = SEGMENTS DE TRAVAIL 21 : C NSTRSS = NBR. DE COMPOSANTES DES CONTR. OU DES DEFORM. 22 : C SIG0(NSTRSS) = CONTR. AU DEBUT DU PAS D'INTEGRATION 23 : C DEPST(NSTRSS) = INCREMENT DES DEFORM. ELASTIQUES 24 : C NVARI = NBR. DE VARIABLES INTERNES 25 : C VAR0(NVARI) = VARIABLES INTERNES AU DEBUT DU PAS D'INTEGRATION 26 : C CE TABLEAU CONTIENT DANS L'ORDRE: 27 : C - LA DEFORM. PLASTIQUE CUMULEE 28 : C - LES VARIABLES INTERNES PILOTANT LES EQUATIONS DU 29 : C MODELE 30 : C - LES DEFORM. PLASTIQUES 31 : C MFR1 = INDICE DE LA FORMULATION MECANIQUE; SEULEMENT 32 : C MASSIF OU COQUE POUR LES MATERIAUX ENDOMMAGEABLES 33 : * CMATE = NOM DU MATERIAU 34 : * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE 35 : * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE 36 : * MFR1 = NUMERO DE LA FORMULATION 37 : * IFOURB= OPTION DE CALCUL 38 : * IB = NUMERO DE L ELEMENT COURANT 39 : * IGAU = NUMERO DU POINT COURANT 40 : * EPAIST= EPAISSEUR 41 : * NBPGAU= NBRE DE POINTS DE GAUSS 42 : * MELE = NUMERO DE L ELEMENT FINI 43 : * NPINT = NBRE DE POINTS D INTEGRATION 44 : * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES 45 : * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES 46 : * SECT = SECTION 47 : * LHOOK = TAILLE DE LA MATRICE DE HOOKE 48 : C ICARA = NBR. DE CARACT. GEOMETRIQUES DES ELEMENTS FINIS 49 : C XCARB(ICARA) = CARACT. GEOMETRIQUES DES ELEMENTS FINIS 50 : C INPLAS = INDICE DU MODELE DECRIVANT LE MATERIAU ENDOMMAGEABLE 51 : C NYKX = DIMENSION DE YKX 52 : C YKX(NYKX) = TABLEAU CONTENANT LES COURBES DE TRACTION(EPS,SIGMA) 53 : C A DES TEMPERATURES DONNEES (Ti);IL EST DE LA FORME 54 : C SUIVANTE : 55 : C (T1,X1,F(X1,T1),X2,F(X2,T1),..,T2,Y1,F(Y1,T2),Y2,..) 56 : C NNKX = NBRE DE COURBES DE TRACTION 57 : C NKX = TABLEAU CONTENANT LE NBRE DE PTS POUR CHAQUE COURBE 58 : C DE TRACTION (EX:SI NKX(1)=4,LA COURBE DE TRACTION 59 : C A LA TEMPERATURE T1 SERA DEFINIE PAR 4 POINTS) 60 : C PRECIS = PRECISION DES ITERATIONS INTERNES 61 : C TO = TEMPERATURE INITIALE 62 : C T1 = TEMPERATURE FINALE 63 : C Tref = TEMPERATURE DE REFERENCE 64 : C NYOG = 2*NBRE DE POINTS DE LA COURBE T-->YOG(T) 65 : C YOG(NYOG) = TABLEAU CONTENANT LES VALEURS CONNUES DU MODULE 66 : C D'YOUNG E A DES TEMPERATURES PRECISES T 67 : C NYNU = 2*NBRE DE POINTS DE LA COURBE T-->YNU(T) 68 : C YNU(NYNU) = TABLEAU CONTENANT LES VALEURS CONNUES DU COEFF. DE 69 : C POISSON YNU A DES TEMPERATURES PRECISES T 70 : C NYALFA = 2*NBRE DE POINTS DE LA COURBE T-->YALFA(T) 71 : C YALFA(NYALFA) = TABLEAU CONTENANT LES VALEURS CONNUES DU COEFF. DE 72 : C DILAT. THERMIQUE YALFA A DES TEMPERATURES PRECISES T 73 : C NYN = 2*NBRE DE POINTS DE LA COURBE T-->YN(T) 74 : C YN(NYN) = TABLEAU CONTENANT LES VALEURS CONNUES DU SEUIL 75 : C D'ENDOMT YN A DES TEMPERATURES PRECISES T 76 : C NYM = 2*NBRE DE POINTS DE LA COURBE T-->YM(T) 77 : C YM(NYM) = TABLEAU CONTENANT LES VALEURS CONNUES DE L'ENDOMT 78 : C CRITIQUE YM A DES TEMPERATURES PRECISES T 79 : C NYKK = 2*NBRE DE POINTS DE LA COURBE T-->YKK(T) 80 : C YKK(NYKK) = TABLEAU CONTENANT LES VALEURS CONNUES DE LA DEFORM. 81 : C A RUPTURE YKK A DES TEMPERATURES PRECISES T 82 : C 83 : C SORTIES: 84 : C ------- 85 : C NCOURB = DIMENSION DE TRUC 86 : C TRUC = TABLEAU DE DIMENSION LA PLUS GRANDE PARMI CELLES 87 : C DEFINIES DANS NKX;IL CONTIENDRA LA COURBE DE 88 : C TRACTION A LA TEMPERATURE T,OBTENUE GRACE AU SOUS- 89 : C PROGRAMME TRACTT. 90 : C SIGF(NSTRSS)= CONTR. A LA FIN DU PAS D'INTEGRATION 91 : C VARF(NVARI)= VARIABLES INTERNES A LA FIN DU PAS D'INTEGRATION 92 : C DEFP(NSTRSS)= INCREMENT DES DEFORM. PLASTIQUES A LA FIN DU PAS 93 : C D'INTEGRATION 94 : C KERRE = INDICE QUI REGIT LES ERREURS 95 : C = 77 SI LA DEFORM. PLAST. CUMULEE ENDOMMAGEE (2IEME VAR. 96 : C INT.) EST EN DEHORS DE LA COURBE DE TRACTION, DS. 97 : C LE CAS DE L'ECROUISSAGE ET DE L'ENDOMM. ISOTROPES. 98 : C CECI PEUT SE PRODUIRE SUITE A L'APPEL A "CRIDAM" 99 : C = 99 SI LA FORMULATION MECANIQUE N'EST PAS DISPONIBLE 100 : C POUR LE MODELE CONSIDERE OU S'IL Y A INCOMPATIBILITE 101 : C ENTRE MFR1 ET IFOURB 102 : C ================================================================== 103 : C 104 : IMPLICIT INTEGER(I-N) 105 : IMPLICIT REAL*8 (A-H,O-Z) 106 : -INC CCOPTIO 107 : -INC DECHE 108 : SEGMENT IECOU 109 : * COMMON/IECOU/NYOG,NYNU,NYALFA,icow1,NYN,NYM,NYKK, 110 : INTEGER NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK, 111 : 1 icow8,icow9,icow10,icow11,NYRHO,icow13,NNKX,NYKX,icow16, 112 : * . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND, 113 : 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24, 114 : * . NSOM,NINV,NINCMA,NCOMP,JELEM,LEGAUS,INAT,NCXMAT, 115 : 3 icow25,icow26,icow27,icow28,icow29,icow30,icara, 116 : * . LTRAC,MFR,IELE,NHRM,NBNN,NBELEM,ICARA, 117 : 4 icow32,icow33, NSTRSS,MFR1,NBGMAT,NELMAT,icow38, 118 : * . LW2, NDEF, NSTRSS,MFR1,NBGMAT,NELMAT,MSOUPA, 119 : 5 icow39,icow40,icow41,NNVARI,icow43,icow44 120 : * . NUMAT1,LENDO,NBBB,NNVARI,KERR1,MELEME 121 : INTEGER icow45,icow46,icow47,icow48,icow49,icow50, 122 : . icow51,icow52,icow53,icow54,icow55,icow56 123 : . icow57,icow58 124 : ENDSEGMENT 125 : 126 : * 127 : SEGMENT WRK6 128 : REAL*8 BB(NSTRS,NNVARI),R(NSTRS),XMU(NSTRS) 129 : REAL*8 S(NNVARI),QSI(NNVARI),DDR(NSTRS),BBS(NSTRS) 130 : REAL*8 SIGMA(NSTRS),SIGGD(NSTRS) 131 : ENDSEGMENT 132 : * 133 : SEGMENT WRK7 134 : REAL*8 F(NCOURB,2),W(NCOURB),TRUC(NCOURB) 135 : ENDSEGMENT 136 : * 137 : SEGMENT WRK8 138 : REAL*8 DD(NSTRS,NSTRS),DDV(NSTRS,NSTRS),DDINV(NSTRS,NSTRS) 139 : REAL*8 DDINVp(NSTRS1,NSTRS1) 140 : ENDSEGMENT 141 : * 142 : SEGMENT WRK9 143 : REAL*8 YOG(NYOG),YNU(NYNU),YALFA(NYALFA),YSMAX(NYSMAX) 144 : REAL*8 YN(NYN),YM(NYM),YKK(NYKK),YALFA1(NYALF1) 145 : REAL*8 YBETA1(NYBET1),YR(NYR),YA(NYA),YKX(NYKX),YRHO(NYRHO) 146 : REAL*8 SIGY(NSIGY) 147 : INTEGER NKX(NNKX) 148 : ENDSEGMENT 149 : 150 : * 151 : DIMENSION DEPS(6) 152 : * 153 : C 154 : C ------------------------------------------------ 155 : C DEFINITION DU NBR. MAXIMUM D'ITERATIONS INTERNES 156 : C ------------------------------------------------ 157 : DATA ITMAX/30/ 158 : c 159 : NXMATT = NMATT 160 : C 161 : ZEERO=0.D0 162 : PRECI=PRECIS 163 : PRECIG=-2.D0*PRECIS 164 : PRECG=DABS(PRECIG) 165 : INDIC=0 166 : IALPH=0 167 : T=T1 168 : YUNGV=0.D0 169 : XNUV=0.D0 170 : C 171 : C ================================================================ 172 : C MAJ. POUR LE CAS ELASTIQUE ET TEST POUR SAVOIR SI ON A PLASTIFIE 173 : C ================================================================ 173 : CALL ZDANUL(DEFP,NSTRSS) 174 : ALPH=1.D0 175 : ALPH0=0.D0 176 : ALPH1=1.D0 177 : X=VAR0(2) 178 : 178 : CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA,NYN, 179 : 1 YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T0, 180 : 2 XMAT1,NXMATT,TRUC,NCOURB) 180 : CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA,NYN, 181 : 1 YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T1, 182 : 2 XMAT2,NXMATT,TRUC,NCOURB) 183 : ALFA0=XMAT1(4) 184 : ALFA1=XMAT2(4) 185 : CTEPS=ALFA0*(T0-TREF)-ALFA1*(T1-TREF) 186 : C 187 : C================================================== 188 : C CALCUL DE L INCREMENT DE CONTRAINTES 189 : C DEPST EST L INCREMENT DE DEFORMATIONS ELASTIQUES 190 : C================================================== 191 : C 191 : CALL ELAST1(1,IFOUR,VAR0,NNVARI,XMAT2,NXMATT,YUNGV,XNUV, 192 : 1 XCARB,ICARA,MFR1,NSTRSS,DD,DDV,KERRE,INDIC,ITHHER) 193 : C 193 : CALL ZDANUL(DSIGT,NSTRSS) 194 : DO 13 I=1,NSTRSS 195 : DO 13 J=1,NSTRSS 196 : DSIGT(I)=DSIGT(I)+DD(I,J)*DEPST(J) 197 : 13 CONTINUE 198 : C 199 : C=============================================== 200 : C CALCUL DE L INCREMENT DE DEFORMATIONS TOTALES 201 : C=============================================== 202 : C 202 : CALL ELAST1(2,IFOUR,VAR0,NNVARI,XMAT1,NXMATT,YUNGV,XNUV, 203 : 1 XCARB,ICARA,MFR1,NSTRSS,DD,DDV,KERRE,INDIC,ITHHER) 203 : CALL ELAST1(2,IFOUR,VAR0,NNVARI,XMAT2,NXMATT,YUNGV,XNUV, 204 : 1 XCARB,ICARA,MFR1,NSTRSS,DDINV,DDV,KERRE,INDIC,ITHHER) 204 : CALL ZDANUL(DEPS,NSTRSS) 205 : AA=1.D0 206 : DO 45 I=1,NSTRSS 207 : DEPS(I)=DEPST(I) 208 : IF (I.GT.3) AA=0.D0 209 : DO 46 J=1,NSTRSS 210 : DEPS(I)=DEPS(I)+(DDINV(I,J)*SIG0(J)) 211 : DEPS(I)=DEPS(I)-(DD(I,J)*SIG0(J)) 212 : 46 CONTINUE 213 : DEPS(I)=DEPS(I)-(AA*CTEPS) 214 : 45 CONTINUE 215 : C 216 : C ------ 217 : C 217 : CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA,NYN, 218 : 1 YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T, 219 : 2 XMAT,NXMATT,TRUC,NCOURB) 220 : 221 : 5 DO 10 I=1,NSTRSS 222 : SIGF(I)=SIG0(I)+DSIGT(I) 223 : SIGMA(I)=SIG0(I) 224 : 10 CONTINUE 225 : DO 20 I=1,NVARI 226 : VARF(I)=VAR0(I) 227 : 20 CONTINUE 228 : C 229 : IF (ITHHER.EQ.2.AND.IALPH.GT.0) GOTO 32 229 : 30 CALL CRIDAM(SIGF,NSTRSS,VARF,XMAT,NXMATT,XCARB,ICARA,INPLAS, 230 : 1NYKX,YKX,NNKX,NKX,NNVARI,MFR1,XF,KERRE,SIGGD,YY,T,TRUC, 231 : 2 NNFUS) 232 : IF (XF.LT.PRECI) GOTO 1000 232 : CALL CRIDOM(SIG0,NSTRSS,VAR0,XMAT,NXMATT,XCARB,ICARA,INPLAS, 233 : 1NNVARI,MFR1,XG,KERRE,SIGGD,Y) 234 : C 235 : C............ Y DESIGNE LE SEUIL D'ENDOMMAGEMENT ................. 236 : IF (Y.EQ.ZEERO) THEN 237 : INDIC=1 238 : GOTO 32 239 : ENDIF 240 : TTEST=XG/Y 241 : IF (TTEST.GT.PRECIG) INDIC=1 242 : C 243 : C 244 : C ============== 245 : C ON A PLASTIFIE 246 : C ============== 247 : C ------------------------------------------------------------------ 248 : C DEFINITION DE DD, BB, R, S, XMU, ET QSI: 249 : C . . . 250 : C SIG = DD*EPSELAS + BB*Q AVEC: 251 : C - SIG = CONTR. 252 : C - EPSELAS = DEFORM. ELASTIQUES 253 : C - DD = MATR. DE HOOK ENDOMMAGEE 254 : C - Q = VARIABLES INTERNES PILOTANT LES LOIS DU MODELE 255 : C R = LOI D'ECOULEMENT PLASTIQUE 256 : C S = LOIS D'EVOLUTION DES VARIABLES Q 257 : C XMU = DERIVEE DU CRITERE PAR RAPPORT AUX CONTR. 258 : C QSI = DERIVEE DU CRITERE PAR RAPPORT AUX VARIABLES Q 259 : C ------------------------------------------------------------------ 260 : 32 ICO=0 261 : C 262 : C 263 : C 264 : C ------------------------------------------ 265 : C DEBUT DE LA BOUCLE DES ITERATIONS INTERNES 266 : C -------------------------------------------------------------------- 267 : C A CHAQUE ITERATION, CORRESPONDANT A SIGF ET VARF CALCULES AU RANG I, 268 : C "ENDOM1" CALCULE DD, BB, R, S, XMU ET QSI EN FONCTION DU MODELE DU 269 : C MATERIAU ENDOMMAGEABLE. 270 : C -------------------------------------------------------------------- 271 : C 271 : 35 CALL TRACTT(YKX,NKX,TRUC,NYKX,NNKX,NNFUS,T) 272 : NFUST=2*NNFUS 272 : CALL DERTRA(NYOG,YOG,T,TYUNG,YUNGV,TINF,TSUP) 272 : CALL DERTRA(NYNU,YNU,T,TNU,XNUV,TINF,TSUP) 272 : CALL ENDOM1(SIGF,NSTRSS,VARF,XMAT,NXMATT,XCARB,ICARA, 273 : 1NNFUS,TRUC,NNVARI,MFR1,IFOURB,DD,DDINV, 274 : 2BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER, 275 : 3YUNGV,XNUV) 276 : IF (KERRE.NE.0) GOTO 1000 277 : C 277 : CALL ZDANUL(DDR,NSTRSS) 278 : DO 50 J=1,NSTRSS 279 : DO 40 K=1,NSTRSS 280 : DDR(J)=DDR(J)+DD(J,K)*R(K) 281 : 40 CONTINUE 282 : 50 CONTINUE 283 : C 283 : CALL ZDANUL(BBS,NSTRSS) 284 : DO 70 J=1,NSTRSS 285 : DO 60 K=1,NNVARI 286 : BBS(J)=BBS(J)+BB(J,K)*S(K) 287 : 60 CONTINUE 288 : 70 CONTINUE 289 : C 290 : DLAMA1=0.D0 291 : DLAMA2=0.D0 292 : DO 80 J=1,NSTRSS 293 : DLAMA1=DLAMA1+XMU(J)*(DDR(J)-BBS(J)) 294 : 80 CONTINUE 295 : DO 90 J=1,NNVARI 296 : DLAMA2=DLAMA2+QSI(J)*S(J) 297 : 90 CONTINUE 298 : C 299 : C ------------------------------------------------------------- 300 : C CALCUL DE LA VARIATION DU MULT. PLAST. PAR LE CRIT. DE PLAST. 301 : C ------------------------------------------------------------- 302 : DT=T-T0 303 : DLAMDA=XF/(DLAMA1-DLAMA2) 304 : C 305 : C ------------------------------------------------------------------ 306 : C CALCUL DES CONTR., DES VAR. INT. Q ET DE LA DEFORM. PLAST. CUMULEE 307 : C AU RANG I+1 308 : C ------------------------------------------------------------------ 309 : DO 100 J=1,NSTRSS 310 : SIGF(J)=SIGF(J)-DLAMDA*(DDR(J)-BBS(J)) 311 : 100 CONTINUE 312 : VARF(2)=VARF(2)+DLAMDA*S(1) 313 : C 314 : IF (INDIC.EQ.1) THEN 315 : S2=S(2) 316 : IF (IFOURB.NE.-2) THEN 317 : XA=1.D0+VARF(3) 317 : CALL ENDOM1(SIGF,NSTRSS,VARF,XMAT,NXMATT,XCARB,ICARA, 318 : 1NNFUS,TRUC,NNVARI,MFR1,IFOURB,DD,DDINV, 319 : 2BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER, 320 : 3YUNGV,XNUV) 321 : 322 : IF (KERRE.NE.0) GOTO 1000 323 : XB=VARF(3)+DLAMDA*S(2)*(1.D0-VARF(3)) 324 : XDELTA=(XA*XA)-4.D0*XB 325 : IF (XDELTA.LT.0.D0) THEN 326 : VARF(3)=VARF(3)+DLAMDA*S2 327 : ELSE 328 : XDELTA=DSQRT(XDELTA) 329 : VARF(3)=(XA-XDELTA)/2.D0 330 : ENDIF 331 : ELSE 332 : C 333 : C CAS DES CONTR. PLANES - MAJ DE D 334 : C 335 : XA=VARF(3)+0.5D0*DLAMDA*S(2) 335 : CALL ENDOM1(SIGF,NSTRSS,VARF,XMAT,NXMATT,XCARB,ICARA, 336 : 1NNFUS,TRUC,NNVARI,MFR1,IFOURB,DD,DDINV, 337 : 2BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER, 338 : 3YUNGV,XNUV) 339 : XB=0.5D0*DLAMDA*S(2)*(1.D0-VARF(3)) 340 : XDELTA=(1.D0-XA)*(1.D0-XA)-4.D0*XB 341 : IF (XDELTA.LT.0.D0) THEN 342 : VARF(3)=VARF(3)+DLAMDA*S2 343 : ELSE 344 : XDELTA=DSQRT(XDELTA) 345 : VARF(3)=(1.D0+XA-XDELTA)/2.D0 346 : ENDIF 347 : ENDIF 348 : ENDIF 349 : C 350 : VARF(1)=VARF(1)+DLAMDA/(1.D0-VARF(3)) 351 : C 352 : C CONTR. PLANES - MAJ DES DEFORM. PLAST. 353 : C 354 : IF (IFOURB.EQ.-2) THEN 354 : CALL ENDOM1(SIGF,NSTRSS,VARF,XMAT,NXMATT,XCARB,ICARA, 355 : 1 NNFUS,TRUC,NNVARI,MFR1,IFOURB,DD,DDINV, 356 : 2 BB,R,S,XMU,QSI,KERRE,SIGGD,W,F,INDIC,ITHHER, 357 : 3 YUNGV,XNUV) 358 : DO 110 J=1,NSTRSS 359 : VARF(1+NNVARI+J)=VARF(1+NNVARI+J)+DLAMDA*R(J) 360 : 110 CONTINUE 361 : ENDIF 362 : C 363 : C 364 : C 365 : C ------------------------------------------------------------- 366 : C SI LE CRIT. PLAST. EST ATTEINT, ON ARRETE LES ITERATIONS 367 : C SI LE NBR. MAXIMUM D'ITERATIONS EST DEPASSE, IDEM MAIS ERREUR 368 : C ------------------------------------------------------------- 368 : 115 CALL CRIDAM(SIGF,NSTRSS,VARF,XMAT,NXMATT,XCARB,ICARA,INPLAS, 369 : 1NYKX,YKX,NNKX,NKX,NNVARI,MFR1,XF,KERRE,SIGGD,YY,T,TRUC, 370 : 2 NNFUS) 371 : TEST=DABS(XF/YY) 372 : IF (KERRE.NE.0) GOTO 1000 373 : IF (TEST.LT.PRECI.AND.INDIC.EQ.1) GOTO 120 374 : IF (TEST.LT.PRECI.AND.INDIC.EQ.0) THEN 374 : CALL CRIDOM(SIGF,NSTRSS,VARF,XMAT,NXMATT,XCARB,ICARA,INPLAS, 375 : 1NNVARI,MFR1,XG,KERRE,SIGGD,Y) 376 : TTEST=XG/Y 377 : ATTEST=DABS(TTEST) 378 : IF (ATTEST.LT.PRECG) GOTO 120 379 : IF (TTEST.LE.PRECIG) THEN 380 : IF (ALPH.EQ.1.D0) GOTO 120 381 : A=1.D0 382 : ELSE 383 : A=-1.D0 384 : ENDIF 385 : ALPH=ALPH1+0.5D0*A*DABS(ALPH1-ALPH0) 386 : ALPH0=ALPH1 387 : ALPH1=ALPH 388 : IALPH=IALPH+1 389 : T=(1-ALPH)*T0+ALPH*T1 390 : X=VARF(2) 390 : CALL INITTE(NYOG,YOG,NYNU,YNU,NYRHO,YRHO,NYALFA,YALFA, 391 : 1 NYN,YN,NYM,YM,NYKK,YKK,NYKX,YKX,NNKX,NKX,X,T, 392 : 2 XMAT,NXMATT,TRUC,NCOURB) 393 : ALFFA=XMAT(4) 394 : C 394 : CALL ELAST1(1,IFOURB,VAR0,NNVARI,XMAT,NXMATT,YUNGV, 395 : 1 XNUV,XCARB,ICARA,MFR1,NSTRSS,DDINV,DDV,KERRE,INDIC,ITHHER) 395 : CALL ELAST1(2,IFOURB,VAR0,NNVARI,XMAT1,NXMATT,YUNGV, 396 : 1 XNUV,XCARB,ICARA,MFR1,NSTRSS,DD,DDV,KERRE,INDIC,ITHHER) 396 : CALL MULMAT(DDV,DDINV,DD,NSTRSS,NSTRSS,NSTRSS) 397 : C 398 : CTEPS=ALFA0*(T0-TREF)-ALFFA*(T-TREF) 398 : CALL ZDANUL(DSIGT,NSTRSS) 399 : C 400 : DO 8 I=1,NSTRSS 401 : AA=1.D0 402 : DO 9 J=1,NSTRSS 403 : IF (J.GT.3) AA=0.D0 404 : DSIGT(I)=DSIGT(I)+DDINV(I,J)*((ALPH*DEPS(J))+(AA*CTEPS)) 405 : DSIGT(I)=DSIGT(I)+DDV(I,J)*SIG0(J) 406 : 9 CONTINUE 407 : DSIGT(I)=DSIGT(I)-SIG0(I) 408 : 8 CONTINUE 409 : IF (IALPH.GT.50) GOTO 1000 410 : GOTO 5 411 : ENDIF 412 : ICO=ICO+1 413 : IF (ICO.GT.ITMAX) THEN 414 : KERRE=2 415 : GOTO 1000 416 : ENDIF 417 : GOTO 35 418 : C ---------------------------------------- 419 : C FIN DE LA BOUCLE DES ITERATIONS INTERNES 420 : C ---------------------------------------- 421 : C 422 : C 423 : C ==================================================== 424 : C FIN DES ITERATIONS INTERNES - LE CRITERE EST VERIFIE 425 : C MAJ DES VARIABLES 426 : C ==================================================== 427 : C 428 : C ---------------------------------------------------------------- 429 : C CALCUL DES DEFORM. ELAST. A LA FIN DU PAS - ELLES SERONT DS. DDR 430 : C ---------------------------------------------------------------- 430 : 120 CALL ELAST1(2,IFOURB,VARF,NNVARI,XMAT,NXMATT,YUNGV,XNUV, 431 : 1XCARB,ICARA,MFR1,NSTRSS,DD,DDV,KERRE,INDIC,ITHHER) 431 : CALL ZDANUL(DDR,NSTRSS) 432 : DO 140 J=1,NSTRSS 433 : DO 130 K=1,NSTRSS 434 : DDR(J)=DDR(J)+DD(J,K)*SIGF(K) 435 : 130 CONTINUE 436 : 140 CONTINUE 437 : C 438 : C ----------------------------------------- 439 : C CALCUL DES DEFORM. PLAST. A LA FIN DU PAS 440 : C ---------------------------------------------------------------- 441 : C ON CALCULE D'ABORD, DS. BBS, LES DEFORM. TOTALES A LA FIN DU PAS 442 : C ---------------------------------------------------------------- 442 : CALL ELAST1(2,IFOURB,VAR0,NNVARI,XMAT1,NXMATT,YUNGV,XNUV, 443 : 1XCARB,ICARA,MFR1,NSTRSS,DD,DDV,KERRE,INDIC,ITHHER) 443 : CALL ZDANUL(BBS,NSTRSS) 444 : DO 170 J=1,NSTRSS 445 : DO 160 K=1,NSTRSS 446 : BBS(J)=BBS(J)+DD(J,K)*SIGMA(K) 447 : 160 CONTINUE 448 : 170 CONTINUE 449 : AA=1.D0 450 : DO 180 J=1,NSTRSS 451 : IF (J.GT.3) AA=0.D0 452 : BBS(J)=BBS(J)+VAR0(1+NNVARI+J)+(ALPH*DEPS(J))+(AA*CTEPS) 453 : 180 CONTINUE 454 : C 455 : C 456 : DO 190 J=1,NSTRSS 457 : IF (IFOURB.EQ.-2) GOTO 195 458 : VARF(1+NNVARI+J)=BBS(J)-DDR(J) 459 : 195 DEFP(J)=VARF(1+NNVARI+J)-VAR0(1+NNVARI+J) 460 : 190 CONTINUE 461 : IF (ALPH.EQ.1.D0) GOTO 900 462 : IF (INDIC.EQ.0) THEN 463 : INDIC=1 464 : ALPH=1.D0-ALPH 465 : DO 520 J=1,NVARI 466 : VAR0(J)=VARF(J) 467 : 520 CONTINUE 468 : DO 525 J=1,NSTRSS 469 : SIGMA(J)=SIGF(J) 470 : 525 CONTINUE 471 : C 472 : T0=T 473 : T=T1 474 : DO 530 J=1,NXMATT 475 : XMAT1(J)=XMAT(J) 476 : XMAT(J)=XMAT2(J) 477 : 530 CONTINUE 478 : ALFA0=XMAT1(4) 479 : ALFFA=XMAT(4) 479 : CALL ELAST1(1,IFOURB,VAR0,NNVARI,XMAT,NXMATT,YUNGV, 480 : 1 XNUV,XCARB,ICARA,MFR1,NSTRSS,DD,DDV,KERRE,INDIC,ITHHER) 480 : CALL ELAST1(2,IFOURB,VAR0,NNVARI,XMAT1,NXMATT,YUNGV, 481 : 1 XNUV,XCARB,ICARA,MFR1,NSTRSS,DDINV,DDV,KERRE,INDIC, 482 : 2 ITHHER) 482 : CALL MULMAT(DDV,DD,DDINV,NSTRSS,NSTRSS,NSTRSS) 483 : C 484 : CTEPS=ALFA0*(T0-TREF)-ALFFA*(T-TREF) 484 : CALL ZDANUL(DSIGT,NSTRSS) 485 : C 486 : DO 515 I=1,NSTRSS 487 : AA=1.D0 488 : DO 510 J=1,NSTRSS 489 : IF (J.GT.3) AA=0.D0 490 : DSIGT(I)=DSIGT(I)+DD(I,J)*((ALPH*DEPS(J))+(AA*CTEPS)) 491 : DSIGT(I)=DSIGT(I)+DDV(I,J)*SIGMA(J) 492 : 510 CONTINUE 493 : DSIGT(I)=DSIGT(I)-SIGMA(I) 494 : SIGF(I)=SIGF(I)+DSIGT(I) 495 : 515 CONTINUE 496 : GOTO 30 497 : ENDIF 498 : C 499 : C ================================================================== 500 : C SI LE PT. DE GAUSS EST ROMPU, ON ANNULE PROGRESSIVEMENT SES CONTR. 501 : C ================================================================== 502 : 900 DCT=XMAT(7) 503 : DCC=1.1D0*DCT 504 : XD=VARF(3) 505 : IF (XD.GE.DCC) THEN 506 : VARF(3)=1.D0 506 : CALL ZDANUL(SIGF,NSTRSS) 507 : ENDIF 508 : IF (XD.GT.DCT.AND.XD.LT.DCC) THEN 509 : VARF(3)=1.D0 510 : BETA=11.D0-10.D0*(XD/DCT) 511 : DO 950 J=1,NSTRSS 512 : 950 SIGF(J)=SIGF(J)*BETA 513 : 514 : ENDIF 515 : 1000 RETURN 516 : END 517 : ******************************************************************* 518 : 519 : 520 : 521 : 522 : 523 : 524 : 525 : 526 : 527 : 528 : 529 : 530 : 531 : 532 :
© Cast3M 2003 - All rights reserved.
Disclaimer