C COML7 SOURCE PASCAL 19/02/20 21:15:14 10116 & wrk2,mwrkxe,wrk3,wrk6,wrk7,wrk8,wrk9,wrk91,wr10,wr11, & iretou,wrk12,wr13,wrkgur,wkumat,wcreep,ecou,iecou,necou,xecou) *----------------------------------------------------------------------- * lois locales en MECANIQUE et POREUX * decrites au point d integration *----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCOPTIO -INC CCGEOME -INC SMLREEL -INC SMMODEL -INC SMELEME -INC SMINTE -INC CCHAMP -INC SMCOORD * segment deroulant le mcheml -INC DECHE * SEGMENT WRK2 REAL*8 TRAC(LTRAC) ENDSEGMENT * SEGMENT WRK3 ENDSEGMENT * SEGMENT MWRKXE REAL*8 XE(3,NBNN) ENDSEGMENT * SEGMENT WRK6 REAL*8 BB(NSTRS,NNVARI),R(NSTRS),XMU(NSTRS) REAL*8 S(NNVARI),QSI(NNVARI),DDR(NSTRS),BBS(NSTRS) ENDSEGMENT * SEGMENT WRK7 REAL*8 F(NCOURB,2),W(NCOURB),TRUC(NCOURB) ENDSEGMENT * SEGMENT WRK8 REAL*8 DD(NSTRS,NSTRS),DDV(NSTRS,NSTRS),DDINV(NSTRS,NSTRS) REAL*8 DDINVp(NSTRS,NSTRS) ENDSEGMENT * SEGMENT WRK9 REAL*8 YOG(NYOG),YNU(NYNU),YALFA(NYALFA),YSMAX(NYSMAX) REAL*8 YN(NYN),YM(NYM),YKK(NYKK),YALFA1(NYALF1) REAL*8 YBETA1(NYBET1),YR(NYR),YA(NYA),YKX(NYKX),YRHO(NYRHO) INTEGER NKX(NNKX) ENDSEGMENT * SEGMENT WRK91 REAL*8 YOG1(NYOG1),YNU1(NYNU1),YALFT1(NYALFT1),YSMAX1(NYSMAX1) REAL*8 YN1(NYN1),YM1(NYM1),YKK1(NYKK1),YALF2(NYALF2) REAL*8 YBET2(NYBET2),YR1(NYR1),YA1(NYA1),YQ1(NYQ1),YRHO1(NYRHO1) REAL*8 SIGY1(NSIGY1) ENDSEGMENT * SEGMENT WR10 INTEGER IABLO1(NTABO1) REAL*8 TABLO2(NTABO2) ENDSEGMENT * SEGMENT WR11 INTEGER IABLO3(NTABO3) REAL*8 TABLO4(NTABO4) ENDSEGMENT * c mistral : SEGMENT WR13 REAL*8 PDILT(NPDILT),PNBRE(NPNBRE),PCOHI(NPCOHI),PECOU(NPECOU) REAL*8 PEDIR(NPEDIR),PRVCE(NPRVCE),PECRX(NPECRX),PDVDI(NPDVDI) REAL*8 PCROI(NPCROI) REAL*8 PINCR(NPINCR) ENDSEGMENT * segment wrk12 real*8 bbet1,bbet2,bbet3,bbet4,bbet5,bbet6,bbet7,bbet8,bbet9 real*8 bbet10,bbet11,bbet12,bbet13,bbet14,bbet15,bbet16,bbet17 real*8 bbet18,bbet19,bbet20,bbet21,bbet22,bbet23,bbet24,bbet25 real*8 bbet26,bbet27,bbet28,bbet29,bbet30,bbet31,bbet32,bbet33 real*8 bbet34,bbet35,bbet36,bbet37,bbet38,bbet39,bbet40,bbet41 real*8 bbet42,bbet43,bbet44,bbet45,bbet46,bbet47,bbet48,bbet49 real*8 bbet50,bbet51,bbet52,bbet53,bbet54,bbet55 integer ibet1,ibet2,ibet3,ibet4,ibet5,ibet6,ibet7,ibet8 integer ibet9,ibet10,ibet11,ibet12,ibet13,ibet14,ibet15,ibet16 endsegment * segment wrkgur real*8 wgur1,wgur2,wgur3,wgur4,wgur5,wgur6,wgur7 real*8 wgur8,wgur9,wgur10,wgur11,wgur12(6) real*8 wgur13(7), wgur14 real*8 wgur15,wgur16,wgur17 endsegment C C Segment de travail pour la loi 'NON_LINEAIRE' 'UTILISATEUR' appelant C l'integrateur externe specifique UMAT C SEGMENT WKUMAT C Entrees/sorties de la routine UMAT REAL*8 DDSDDE(NTENS,NTENS), SSE, SPD, SCD, & RPL, DDSDDT(NTENS), DRPLDE(NTENS), DRPLDT, & TIME(2), DTIME, TEMP, DTEMP, DPRED(NPRED), CHARACTER*16 CMNAME INTEGER NDI, NSHR, NSTATV, NPROPS, & LAYER, KSPT, KSTEP, KINC C Variables de travail LOGICAL LTEMP, LPRED, LVARI, LDFGRD INTEGER NSIG0, NPARE0, NGRAD0 ENDSEGMENT C C Segment de travail pour les lois 'VISCO_EXTERNE' C SEGMENT WCREEP C Entrees/sorties constantes de la routine CREEP REAL*8 SERD CHARACTER*16 CMNAMC INTEGER LEXIMP, NSTTVC, LAYERC, KSPTC C Entrees/sorties de la routine CREEP pouvant varier REAL*8 STV(NSTV), STV1(NSTV), STVP1(NSTV), & STVP2(NSTV), STV12(NSTV), STVP3(NSTV), & STVP4(NSTV), STV13(NSTV), STVF(NSTV), & TMP12, TMP, TMP32, & DTMP12, DTMP, & PRD12(NPRD), PRD(NPRD), PRD32(NPRD), & DPRD12(NPRD), DPRD(NPRD) INTEGER KSTEPC C Autres indicateurs et variables de travail LOGICAL LTMP, LPRD, LSTV INTEGER IVIEX, NPAREC REAL*8 dTMPdt, dPRDdt(NPRD) ENDSEGMENT * REAL*8 CRIGI(12),CMASS(12) * * Segment ECOU: sert de fourre-tout pour les tableaux * SEGMENT ECOU 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6), 1 DALPHA(6),EPSPLA(6),E(12),XINV(3), 2 SIPLAD(6),DSIGP0(6),TET,TETI ENDSEGMENT * * Segment NECOU utilisé dans CCOINC * SEGMENT NECOU INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO, . ITYP,IFOURB,IFLUAG, . ICINE,ITHER,IFLUPL,ICYCL,IBI, . JFLUAG,KFLUAG,LFLUAG, . IRELAX,JNTRIN,MFLUAG,JSOUFL,JGRDEF ENDSEGMENT * * Segment IECOU: sert de fourre-tout pour les initialisations * d'entiers * SEGMENT IECOU INTEGER NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK,NYALF1, . NYBET1,NYR,NYA,NYRHO,NSIGY,NNKX,NYKX,IND,NSOM,NINV, . NINCMA,NCOMP,JELEM,LEGAUS,INAT,NCXMAT,LTRAC,MFRBI, . IELE,NHRM,NBNNBI,NBELMB,ICARA,LW2BI,NDEF,NSTRSS, . MFR1,NBGMAT,NELMAT,MSOUPA,NUMAT1,LENDO,NBBB,NNVARI, . KERR1,MELEMB,NYOG1,NYNU1,NYALFT1,NYSMAX1,NYN1,NYM1, . NYKK1,NYALF2,NYBET2,NYR1,NYA1,NYQ1,NYRHO1,NSIGY1 ENDSEGMENT * * Segment XECOU: sert de fourre-tout pour les initialisations * de réels * SEGMENT XECOU REAL*8 DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00 ENDSEGMENT * * moterr(1:6) = 'COML7 ' * moterr(7:15) = 'element ' * interr(1) = ib * interr(2) = igau * call erreur(-329) imodel = iqmod *--------------------------------------------------------------------- * ecoulement selon les modeles *--------------------------------------------------------------------- c NBPGAU = NBGS NVARI = NVART c *--------------------------------------------------------------------- c modele elastique lineaire *--------------------------------------------------------------------- IF (INPLAS.EQ.0)THEN * barres et poutres IF (MFRbi.EQ.7.OR.MFRbi.EQ.13) THEN IF (CMATE.EQ.'SECTION ') THEN IPM = int(xmat(1)) IPC = int(xmat(2)) MLREEL = NINT(XMAT(3)) IF(MLREEL.EQ.0)THEN ELSE SEGACT, MLREEL SEGDES, MLREEL ENDIF ENDIF ENDIF c 1 MFR1,IFOURB,IB,IGAU,EPAIST,NBPGAU,MELE,NPINT,NBGMAT, 2 NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK,ROTHOO, 3 DDHOMU,CRIGI,DSIGT,IRTD) * IF(IRTD.EQ.1) THEN DO 10 IC=1,NSTRSS SIGF(IC)=SIG0(IC)+DSIGT(IC) 10 CONTINUE * DO 20 IC=1,NVARI VARF(IC)=VAR0(IC) 20 CONTINUE ELSE KERRE=69 ENDIF RETURN ENDIF c *--------------------------------------------------------------------- c modeles implantes dans ccoinc *--------------------------------------------------------------------- * appel ccoin0 et ccoinc * mfr1 <- MFR , nstrss <- nstrs , wrk52 <- wrk0 * CCOTRA <- COTRAC , xcarb <- XCAR *--------------------------------------------------------------------- c c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 GOTO(301,300,303,304,305,300,307,300,300,300,300,312,300,300,315, $ 300,317,300,319,320,321,322,323,324,325,300,300,300,300,300, * 31 $ 300,300,300,300,300,300,300,300,300,300,300,300,343,344,345, $ 300,300,300,300,300,300,300,353,300,300,300,300,300,300,300, * 61 $ 361,300,363,300,300,300,300,300,300,370,300,300,300,300,300, $ 376,377,300,300,300,300,382,300,384,385,386,387,300,300,390, * 91 $ 300,300,300,394,395,300,300,300,300,400,401,402,403,900,405, $ 900,407,900,400,900,411,412,413,900,900,900,900,900,900,420, * 121 $ 421,422,900,900,900,900,900,900,900,430,900,900,900,900,900, $ 436,437,438,439,900,900,900,900,900,900,900,900,900,900,900, * 151 $ 900,900,900,900,900,900,900,900,900,900,900,900,900,900,440 $ ) INPLAS 300 continue 900 continue write(ioimp,*) ' erreur d aiguillage coml7 ' return * ELSE IF ( INPLAS .EQ. 1 .OR. INPLAS .EQ. 3 .OR. * 2 INPLAS .EQ. 4 .OR. INPLAS .EQ. 5 .OR. * 3 INPLAS .EQ. 7 .OR. INPLAS .EQ. 12 .OR. * 4 INPLAS .EQ. 15 .OR. INPLAS .EQ. 87 ) THEN c c modele von mises isotrope associe ( d'apres inca ) c * IF (INPLAS .EQ. 1) THEN 301 continue c c cas de la plasticite parfaite c NCOURB=2 IF (MATE.EQ.4.AND.(MFRbi.EQ.1.OR.MFRbi.EQ.31) +.AND.IDIM.EQ.3) THEN TRAC(1)=XMAT(9) TRAC(3)=XMAT(9) ELSE TRAC(1)=XMAT(5) TRAC(3)=XMAT(5) ENDIF TRAC(2)=0.D0 TRAC(4)=1.D9 IF( (IDIM.EQ.2.AND.XMAT(5).EQ.0.D0).OR. + (MATE.EQ.4.AND.(MFRbi.EQ.1.OR.MFRbi.EQ.31) +.AND.IDIM.EQ.3.AND.XMAT(9).EQ.0.D0)) THEN KERRE = 33 ELSE KERRE = 0 ENDIF GO TO 800 c * ELSE IF (INPLAS .EQ. 3) THEN 303 continue c c cas du modele de drucker-prager parfait c les donnees sont les limites en traction et en compression c IMAPLA=5 DEN = ABS(XMAT(6)) + XMAT(5) IF(DEN.EQ.0.D0) THEN KERRE=48 ELSE XMAT(7) = 2.0D0*ABS(XMAT(6))*XMAT(5)/DEN XMAT(5) = (ABS(XMAT(6)) - XMAT(5))/DEN XMAT(6) = 1.D0 XMAT(8)=XMAT(5) XMAT(9)=XMAT(6) XMAT(10)=XMAT(5) XMAT(11)=XMAT(6) XMAT(12)=XMAT(7) XMAT(13)=0.D0 c c petits tests sur les donnees IF(XMAT(10)/(XMAT(11)+1.D-20).GT. & XMAT(5)*1.01/(XMAT(6)+1.D-20) & .OR.XMAT(12).GT.XMAT(7)*1.01 ) THEN KERRE = 48 ELSE KERRE = 0 ENDIF ENDIF GO TO 800 c * ELSE IF (INPLAS .EQ. 4) THEN 304 continue c c cas de la plasticite cinematique bilineaire c IF(XMAT(5).EQ.0.D0) THEN KERRE=33 ELSE ICINE=1 NCOURB=2 TRAC(1)=XMAT(5) TRAC(2)=0.D0 TRAC(4)=1.D9 TRAC(3)=XMAT(5)+XMAT(6)*TRAC(4) ENDIF GOTO 800 c * ELSE IF (INPLAS .EQ. 5 .OR.INPLAS.EQ.87) THEN 305 continue 387 continue c c cas de la plasticite isotrope ecrouissable c c on recupere la courbe de traction c nccor=ncourb ncourb=nccor GO TO 800 c 307 continue * ELSE IF (INPLAS .EQ. 7) THEN c c cas du modele chaboche 1 c KERRE = 0 ICINE = 1 IMAPLA= 4 GO TO 800 c * ELSE IF (INPLAS .EQ. 12) THEN 312 continue c c cas du modele chaboche 2 c KERRE = 0 ICINE = 1 IMAPLA= 4 GO TO 800 c * ELSE IF (INPLAS .EQ. 15) THEN 315 continue c c cas du modele de drucker-prager general c IMAPLA=5 c c petits tests sur les donnees c IF(XMAT(10)/(XMAT(11)+1.D-20).GT. 1 XMAT(5)*1.01/(XMAT(6)+1.D-20) 2 .OR.XMAT(12).GT.XMAT(7)*1.01 ) THEN KERRE = 48 ELSE KERRE = 0 c c permutations pour ecoinc c DO 30 I=5,7 WW=XMAT(I) XMAT(I)=XMAT(I+5) XMAT(I+5)=WW 30 CONTINUE ENDIF c * ENDIF 800 continue IF (KERRE .NE. 0) RETURN DO 40 IC=1,ICARA 40 CONTINUE BID(1)=0.D00 BID(2)=0.D00 BID(3)=0.D00 IF ((INPLAS .EQ. 1 .OR.INPLAS .EQ. 4 .OR. & INPLAS .EQ. 5 .OR.INPLAS .EQ. 7 .OR. & INPLAS .EQ. 12.OR.INPLAS.EQ.87 ) .AND. & (MFRbi .EQ. 1 .OR. MFRbi .EQ. 3 .OR. & MFRbi .EQ. 5 .OR. MFRbi .EQ. 7 .OR. & MFRbi .EQ. 9 .OR. MFRbi .EQ. 31) .AND. & (CMATE.NE.'UNIDIREC')) THEN c nccor=ncourb iforb=ifourb & NBPGAU,NCcor,IFORB,iecou) ncourb=nccor ifourb=iforb c ELSE c & NBPGAU,ecou,necou,iecou) c ENDIF c RETURN * ENDIF c C BCN C * MRS-Lade (INPLAS=111) * J2 (INPLAS=112) * RH_COULOMB (INPLAS=113) * ELSE IF (INPLAS.eq.111.or.INPLAS.eq.112.or.INPLAS.eq.113) 411 continue 412 continue 413 continue * . THEN c calcula incremento de tensiones trial, DSIGT . N2EL,N2PTEL,MFR1,IFOURB,IB,IGAU,EPAIST, . NBPGAU,MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR, . XLOC,XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD) nescri =0 nues =6 nitmax =25 precis =1.E-10 IF (INPLAS.eq.111) THEN c MODELE MRS_LADE C mrs-lade requiere siempre derivacion numerica nnumer=3 deltax=2.D0**(int(log10(1.D-6)/log10(2.D0))) call eco_MRSMAC(SIG0,VAR0,DSIGT,SIGF,VARF,DEFP,IPLAST, . NSTRSS,XMAT,KERRE,PRECIS,NITMAX,nescri, . nues,nnumer,deltax,kdummy) ELSE IF (INPLAS.eq.112) THEN c MODELE J2 . NSTRSS,XMAT,KERRE,PRECIS,NITMAX,nescri, . nues,kdummy) ELSE IF (INPLAS.eq.113) THEN c Rounded Hyperbolic Mohr-Coulomb call eco_rhmc(SIG0,VAR0,DSIGT,SIGF,VARF,DEFP,IPLAST, . NSTRSS,XMAT,KERRE,PRECIS,NITMAX,nescri, . nues,kdummy) ENDIF if (kerre.eq.1) then c write(*,*) c . ' Nonconvergence c7 at elem: ', ib,' gauss:',igau kerre=99 endif RETURN C C BCNc *** ELSE * KERRE = 99 * ENDIF *--------------------------------------------------------------------- * modeles de viscoplasticite integres par consti *--------------------------------------------------------------------- * IF ( INPLAS .EQ. 17 .OR. * 2 (INPLAS .GE. 19 .AND. INPLAS .LE. 25) .OR. * 3 INPLAS .EQ. 61 .OR. INPLAS .EQ. 63 .OR. * 4 INPLAS .EQ. 53 .OR. INPLAS .EQ. 102 .OR. * 5 INPLAS .EQ. 44 .OR. INPLAS .EQ. 76 .OR. * 6 INPLAS .EQ. 45 .OR. INPLAS .EQ. 77 .OR. * 7 INPLAS .EQ. 84 .OR. INPLAS .EQ. 85 .OR. * 8 INPLAS .EQ. 86 .OR. INPLAS .EQ. 70 .OR. * 9 INPLAS .EQ. 107 .OR. INPLAS .EQ. 130 .OR. * a INPLAS .EQ. 136 .OR. INPLAS .EQ. 137 .OR. * b INPLAS .EQ. 138 .OR. INPLAS .EQ. 139 ) THEN 317 continue 319 continue 320 continue 321 continue 322 continue 323 continue 324 continue 325 continue 344 continue 345 continue 353 continue 361 continue 363 continue 370 continue 376 continue 377 continue 384 continue 385 continue 386 continue 402 continue 407 continue 430 continue 436 continue 437 continue 438 continue 439 continue 440 continue * TETA1 = ture0(1) TETA2 = turef(1) IF (INPLAS.EQ.44.AND.VAR0(NVARI).EQ.0.0) THEN VAR0(NVARI)=XMAT(20) ENDIF IF (INPLAS.EQ.45.AND.VAR0(NVARI).EQ.0.0) THEN VAR0(NVARI-2)=XMAT(20) VAR0(NVARI-1)=XMAT(21) VAR0(NVARI)=XMAT(27) ENDIF FI1 = 0.D0 FI2 = 0.D0 IF (INPLAS.EQ.107) THEN nexo = exova0(/1) do 50 inex = 1,nexo if ((nomexo(inex) .eq.'DFIS ').and. & (conexo(inex)(1:LCONMO).eq.CONM(1:LCONMO))) then fi1 = exova0(inex) fi2 = exova1(inex) goto 2001 endif 50 continue 2001 continue ENDIF * if (wrk7.eq.0) segini wrk7 if (f(/1).ne.ncourb) segadj wrk7 if (wrk9.eq.0) segini wrk9 if (YOG(/1).ne.NYOG.or.YNU(/1).ne.NYNU.or.YALFA(/1).ne.NYALFA > .or.YSMAX(/1).ne.NYSMAX.or.YN(/1).ne.NYN.or.YM(/1).ne.NYM.or. > YKK(/1).ne.NYKK.or.YALFA1(/1).ne.NYALF1.or.YBETA1(/1).ne.NYBET1 > .or.YR(/1).ne.NYR.or.YA(/1).ne.NYA.or.YKX(/1).ne.NYKX.or. > segadj wrk9 if (wrk91.eq.0) segini wrk91 if (YOG1(/1).ne.NYOG1 .or. YNU1(/1).ne.NYNU1 .or. > YALFT1(/1).ne.NYALFT1 .or. > YSMAX1(/1).ne.NYSMAX1.or.YN1(/1).ne.NYN1.or. > YM1(/1).ne.NYM1.or.YKK1(/1).ne.NYKK1.or.YALF2(/1).ne.NYALF2.or. > YBET2(/1).ne.NYBET2.or.YR1(/1).ne.NYR1.or.YA1(/1).ne.NYA1.or. > YQ1(/1).ne.NYQ1.or.YRHO1(/1).ne.NYRHO1.or.SIGY1(/1).ne.NSIGY1) > segadj wrk91 c iforb=ifourb nccor = ncourb 1 NVARI,NSSINC,INV,IFORB,TETA1,TETA2,FI1,FI2, 4 TLIFE,NCcor,IB,IGAU,NBPGAU,KERREU1,iecou,xecou) c ifourb=iforb ncourb=nccor IF (MFR1.EQ.17.AND.INPLAS.EQ.19) THEN IF (KERREU1.NE.0.AND.NSSINC.EQ.1) THEN ENDIF ENDIF DTOPTI = MIN(DTOPTI,DTT) NINCMA = MAX(NINCMA,NSSINC) NCOMP = NCOMP + 1 TSOM = TSOM + DTT NSOM = NSOM + NSSINC TCAR = TCAR + DTT* DTT IF(KERRE.NE.0.AND.KERRE.NE.99) THEN KERR1=1 ENDIF RETURN c *** ELSE c KERRE = 99 * ENDIF * *--------------------------------------------------------------------- c c modele viscoplastique parfait c *--------------------------------------------------------------------- 343 continue * IF ( INPLAS .EQ. 43 ) THEN * les lignes en desous sont juste pour diminuer le nombre de cartes suite icarbi=icara dtbi=dt iforb=ifourb nlmatb=nelmat nbgmab=nbgmat mfr1bi = mfr1 nstrbi=nstrss 1 SIGF,VARF,DEFP,MFR1bi,DDAUX,CMATE,VALMAT,VALCAR,N2EL, 2 N2PTEL,NBPGAU,IFORB,IB,IGAU,EPAIST,MELE,NPINT, 3 NBGMAb,NLMATb,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, 4 ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DTbi) dt=dtbi ifourb=iforb nelmat=nlmatb nbgmat=nbgmab mfr1=mfr1bi nstrss=nstrbi IND = 0 RETURN c c modele VISK2 c 382 continue * ELSE IF ( INPLAS .EQ. 82 ) THEN * les lignes en desous sont juste pour diminuer le nombre de cartes suite icarbi=icara dtbi=dt iforb=ifourb nlmatb=nelmat nbgmab=nbgmat mfr1bi = mfr1 nstrbi=nstrss 1 SIGF,VARF,DEFP,MFR1bi,DDAUX,CMATE,VALMAT,VALCAR,N2EL, 2 N2PTEL,NBPGAU,IFORB,IB,IGAU,EPAIST,MELE,NPINT, 3 NBGMAb,NLMATb,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, 4 ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DTbi) nstrss=nstrbi dt=dtbi ifourb=iforb nelmat=nlmatb nbgmat=nbgmab mfr1=mfr1bi IND = 0 RETURN c 390 continue * ELSE IF (INPLAS .EQ. 90) THEN C VISCOHINTE C MODELE INTERFACE 2D & VARF,DEFP,PRECIS,MFR1,KERRE,DT) IND =1 RETURN c----------------------------------------------------------------------- c Modele MISTRAL c----------------------------------------------------------------------- 394 continue * ELSE IF (INPLAS.EQ.94) THEN FI1 = 0.D0 FI2 = 0.D0 nexo = exova0(/1) do 60 inex = 1,nexo if ((nomexo(inex) .eq.'FI ').and. & (conexo(inex)(1:LCONMO).eq. CONM(1:LCONMO))) then fi1 = exova0(inex) fi2 = exova1(inex) goto 2002 endif 60 continue 2002 continue & NPEDIR,NPRVCE,NPECRX,NPDVDI,NPCROI,NPINCR) IF (WR13 .EQ. 0) SEGINI,WR13 IF (NPDILT.NE.PDILT(/1) .OR. NPNBRE.NE.PNBRE(/1) .OR. & NPCOHI.NE.PCOHI(/1) .OR. NPECOU.NE.PECOU(/1) .OR. & NPEDIR.NE.PEDIR(/1) .OR. NPRVCE.NE.PRVCE(/1) .OR. & NPECRX.NE.PECRX(/1) .OR. NPDVDI.NE.PDVDI(/1) .OR. & NPCROI.NE.PCROI(/1) .OR. NPINCR.NE.PINCR(/1)) SEGADJ,WR13 & NPEDIR,NPRVCE,NPECRX,NPDVDI,NPCROI,NPINCR,WR13) NDPI = nint(PNBRE(1)) NDVP = nint(PNBRE(2)) NXX = nint(PNBRE(3)) NPSI = nint(PNBRE(4)) TETA1 = ture0(1) TETA2 = turef(1) & TETA2,FI2,DEPST, valmat,TXR,IDIM, & PDILT,NDPI,NDVP,NXX,NPSI, & PCOHI,PECOU,PEDIR,PRVCE,PECRX,PDVDI, PCROI, & NPINCR,PINCR, SIGF,VARF,EPINF) C SEGSUP WR13 IND = 1 RETURN c----------------------------------------------------------------------- c MODELE BPEL_RELAX c----------------------------------------------------------------------- 395 continue * ELSE IF ( INPLAS .EQ. 95 ) THEN * les lignes en desous sont juste pour diminuer le nombre de cartes suite nstrbi=nstrss icarbi=icara mfr1bi=mfr1 iforb=ifourb nbgmab=nbgmat nlmatb=nelmat dtbi=dt 1 NVARI,SIGF,VARF,DEFP,MFR1bi,DDAUX,CMATE,VALMAT, 2 VALCAR,N2EL,N2PTEL,NBPGAU,IFORB,IB,IGAU,EPAIST, 3 MELE,NPINT,NBGMAb,NLMATb,SECT,LHOOK,TXR,XLOC,XGLOB, 4 D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,KERRE,DTbi) nstrss=nstrbi dt=dtbi ifourb=iforb nelmat=nlmatb nbgmat=nbgmab mfr1=mfr1bi icara=icarbi IND = 0 RETURN c c MODELE BETON_URGC c 399 continue 400 continue 401 continue 420 continue 422 continue * ELSE IF ((INPLAS.GE.99.AND.INPLAS.LE.101).OR. * 1 (INPLAS.EQ.120).OR.(INPLAS.EQ.122)) THEN c xlcar = bid(1) TETA1 = ture0(1) TETA2 = turef(1) c modele BET_URGC : CONTRAINTES PLANES, c DEFORMATION PLANES ET AXISYMETRIE if (inplas.eq.100) inurgc = 1 C modele BETON_URGC ELASTO PLASTIQUE: CONTRAINTES PLANES, C DEFORMATION PLANES ET AXISYMETRIE if (inplas.eq.99) inurgc = 0 C modele BETON_URGC VISCO ELASTO PLASTIQUE : CONTRAINTES PLANES, C DEFORMATION PLANES ET AXISYMETRIE if (inplas.eq.101) inurgc = 2 C modele BETON_URGC PLASTIQUE ENDOMMAGEABLE : CONTRAINTES PLANES, C DEFORMATION PLANES ET AXISYMETRIE if (inplas.eq.120) inurgc = 3 C modele BETON_URGC_ENDO VISCOPLASTIQUE ENDOMMAGEABLE : CONTRAINTES PLANES, C DEFORMATION PLANES ET AXISYMETRIE if (inplas.eq.122) inurgc = 4 nstrbi=nstrss iforb=ifourb dtbi=dt & xlcar,inurgc,TETA1,TETA2) nstrss=nstrbi ifourb=iforb dt=dtbi RETURN C 421 continue * ELSE IF (INPLAS.EQ.121) THEN c xlcar = bid(1) C modele BETON_URGC PLASTIQUE ENDOMMAGEABLE : 3D nstrbi=nstrss iforb=ifourb dtbi=dt & xlcar) nstrss=nstrbi ifourb=iforb dt=dtbi RETURN * *--------------------------------------------------------------------- * modele fluage lemaitre LEMENDO *--------------------------------------------------------------------- 403 continue * ELSE IF (inplas.eq.103) THEN iforb=ifourb nbgmab=nbgmat nlmatb=nelmat & NLMATb,IFORB) ifourb=iforb nbgmat=nbgmab nelmat=nlmatb RETURN *--------------------------------------------------------------------- * modele fluage type Norton FLUNOR2 *--------------------------------------------------------------------- 405 continue * ELSE IF (inplas.eq.105) THEN iforb=ifourb nbgmab=nbgmat nlmatb=nelmat & NLMATb,IFORB) ifourb=iforb nbgmat=nbgmab nelmat=nlmatb RETURN *--------------------------------------------------------------------- RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales