tufpla
C TUFPLA SOURCE BP208322 17/03/01 21:18:34 9325 1 NSTRS,CMATE,N2EL,N2PTEL,MFR,IFOU,IB, 2 IGAU,EPAIST,MELE,NPINT,NBGMAT,NELMAT, 3 NBPGAU,SECT,LHOOK,CRIGI,KERRE) * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C---------------------------------------------------------------------- C PLASTICITE TUYAU FISSURE C CE SOUS PROGRAMME EST APPELE PAR PLAST C C ENTREES C SIG0(NSTRS) = CONTRAINTES INITIALES C NSTRS = NOMBRE DE CONTRAINTES C DEPST(NSTRS)= INCREMENT DE CONTRAINTES TOTALES C VAR0(NVARI) = VARIABLES INTERNES DEBUT C NVARI = NOMBRE DE VARIABLES INTERNES C XMAT(NCXMAT)= COMPOSANTES DE MATERIAU C NCOMAT = NOMBRE DE COMPOSANTES DE MATERIAU C XCAR(ICARA) = CARACTERISTIQUES C ICARA = NOMBRE DE CARACTERISTIQUES C MAPL = NUMERO DU MATERIAU PLASTIQUE C NPOITR = NOMBRE DE POINT SUR LA COURBE DE TRACTION C PRECIS = PRECISION DES ITERATIONS * CMATE = NOM DU MATERIAU * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE * MFR = NUMERO DE LA FORMULATION * IFOU = OPTION DE CALCUL * IB = NUMERO DE L ELEMENT COURANT * IGAU = NUMERO DU POINT COURANT * EPAIST= EPAISSEUR * NBPGAU= NBRE DE POINTS DE GAUSS * MELE = NUMERO DE L ELEMENT FINI * NPINT = NBRE DE POINTS D INTEGRATION * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES * SECT = SECTION * LHOOK = TAILLE DE LA MATRICE DE HOOKE * C SORTIES C SIGF(NSTRS) = CONTRAINTES FINALES C VARF(NVARI) = VARIABLES INTERNES FINALES C DEFP(NSTRS) = DEFORMATIONS PLASTIQUES C KERRE = 0 TOUT OK C 1 SI DLAMBDA NEGATIF C 2 NOMBRE MAX D ITERATIONS INTERNES DEPASSE C 21 ON NE TROUVE PAS L INTERSECTION AVEC LA SRFCE DE CHRG C 22 SIG0 A L EXTERIEUR DE LA SURFACE DE CHARGE C 30 LIMITE ELASTIQUE NULLE C 34 MODULE D YOUNG NUL C 75 SORTIE DE LA COURBE DE TRACTION C----------------------------------------------------------------------- -INC CCREEL *- -INC PPARAM -INC CCOPTIO -INC SMEVOLL -INC SMLREEL SEGMENT/WRK0/(XMAT(NCXMAT)*D) SEGMENT/WRK1/(DDHOOK(LHOOK,LHOOK)*D,SIG0(NSTRS)*D, . DEPST(NSTRS)*D,SIGF(NSTRS)*D,VAR0(NVARI)*D, . VARF(NVARI)*D,DEFP(NSTRS)*D,XCAR(ICARA)*D) SEGMENT/WRK2/(TRAC(LTRAC)*D) SEGMENT/WTRAV/(DDAUX(LHOOK,LHOOK)*D,VALMAT(NUMAT)*D, . VALCAR(NUCAR)*D,DSIGT(NSTRS)*D,TXR(IDIM,IDIM)*D, . DDHOMU(LHOOK,LHOOK)*D,XLOC(3,3)*D,XGLOB(3,3)*D, . D1HOOK(LHOOK,LHOOK)*D,ROTHOO(LHOOK,LHOOK)*D) DIMENSION DTUFI(2,2),CTUFI(2,2),CRIGI(12) CHARACTER*8 CMATE C KERRE=0 NSTRS=SIG0(/1) NVARI=VAR0(/1) C C ON RECUPERE LES CONSTANTES C EPAI=XCAR(2) RAYOM=XCAR(1)-EPAI/2.D0 THETA0=XCAR(9)*XPI/360.D0 C C A PARTIR DE LA COURBE DE TRACTION , ON CONSTRUIT (SIG0,PHIP) C YOUN=XMAT(1) JDA=nint(XMAT(6)) IF(MAPL.EQ.14) THEN CCC CAS DE LA PLASTICITE PARFAITE IF(XMAT(5).EQ.XZERO) THEN KERRE=30 RETURN ENDIF NCOURB=2 TRAC(1)=XMAT(5) TRAC(2)=XZERO TRAC(3)=XMAT(5) TRAC(4)=1.D0 ELSE IF(MAPL.EQ.18) THEN CCC CAS DE LA PLASTICITE AVEC ECROUISSAGE C C ON CALCULE LA COMPLAISANCE CMM ET ON REMPLIT XMAT(1)=CMM POUR VERIF C PENTE A L ORIGINE DE LA COURBE (M,PHI) C CMM=CTUFI(1,1) XMAT(1)=1.D0/CMM IF(KERRE.NE.0) RETURN ENDIF XMAT(1)=YOUN PMOMM=TRAC(2*NCOURB-1) IF(PMOMM.EQ.0.D0) THEN KERRE=30 RETURN ENDIF C C ON CALCULE SIG0 POUR LE MOMENT MAXI C XM0SS0=4.D0*RAYOM*RAYOM*EPAI XMT0=COS(THETA0/2.D0)-0.5D0*SIN(THETA0) VSIG0=PMOMM/XM0SS0/XMT0 DO 100 I=1,NCOURB TRAC(2*I-1)=(TRAC(2*I-1)/PMOMM)*VSIG0 100 CONTINUE ENDIF C C REMPLISSAGE DE LA COURBE DE (SIG0,PHIP) C SEGINI WORK DO 2 I=1,NCOURB SIG(I)=TRAC(2*I-1) XLAM(I)=TRAC(2*I) 2 CONTINUE C C ON RECUPERE LES VARIABLES INTERNES C XM0SS0=4.D0*RAYOM*RAYOM*EPAI XP0SS0=2.D0*XPI*RAYOM*EPAI XJ1C=XMAT(6) T=XMAT(7) XLAM0=VAR0(5) XJP=VAR0(4) C CORRECTION DE L INITIALISATION FAITE PAR L OPERATEUR ZERO C C CALCUL DE L INCREMENT DE CONTRAINTES C 1 N2EL,N2PTEL,MFR,IFOU,IB,IGAU,EPAIST,NBPGAU, 2 MELE,NPINT,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC, 3 XGLOB,D1HOOK,ROTHOO,DDHOMU,CRIGI,DSIGT,IRTD) * IF(IRTD.NE.1) THEN KERRE=69 GOTO 998 ENDIF * C C ON RECUPERE LES CONTRAINTES ET L INCREMENT C XM=-SIG0(6) XP=SIG0(1) CCC POUR LE CHARGEMENT M N , ON VERIFIE QUE L ON EST BIEN DANS C LA SURFACE DE CHARGE CRI=2.D0*XP0SS0*(1.D0-THETA0/XPI)*XM CRI=CRI+XM0SS0*SIN(THETA0)*XP IBI=0 IF(IBI.EQ.1) THEN KERRE=75 GO TO 998 ENDIF XM0=XM0SS0*SIGMA0 XP0=XP0SS0*SIGMA0 IF(F.GE.PRECIS) THEN KERRE=22 GO TO 998 ENDIF DELTAM=-DSIGT(6) DELTAP=DSIGT(1) C C ON REMPLIT POUR LE CAS ELASTIQUE C DO 10 I=1,NSTRS SIGF(I)=SIG0(I)+DSIGT(I) DEFP(I)=0.D0 DSIGT(I)=0.D0 10 CONTINUE DO 11 J=1,NVARI VARF(J)=VAR0(J) 11 CONTINUE C C ON TESTE LE CAS A TRAITER C 1 CONTINUE XM1=XM+DELTAM XP1=XP+DELTAP CRI=2.D0*XP0SS0*(1.D0-THETA0/XPI)*XM1 CRI=CRI+XM0SS0*SIN(THETA0)*XP1 IF (MAPL.EQ.14) THEN C C DANS LE CAS DE LA PLASTICITE PARFAITE ON NE FAIT QUE DE LA PLASTICITE C ELSE IF (MAPL.EQ.18) THEN IR2=0 ENDIF ENDIF IF(IIMPI.EQ.999)THEN IF(IR1.EQ.1)WRITE(IOIMP,*)'PLASTICITE' IF(IR2.EQ.1)WRITE(IOIMP,*)'ENDOMMAGEMENT' IF((IR1.EQ.0).AND.(IR2.EQ.0))WRITE(IOIMP,*)'NI PLAST NI ENDO' ENDIF C IF((IR1.EQ.0).AND.(IR2.EQ.0)) GO TO 998 IF((IR1.EQ.0).AND.(IR2.EQ.1)) GO TO 2000 IF((IR1.EQ.1).AND.(IR2.EQ.0)) GO TO 3000 IF((IR1.EQ.1).AND.(IR2.EQ.1)) GO TO 4000 C C CAS DE LA PROPAGATION EN ELASTIQUE C 2000 CONTINUE & XP0,XJ1C,T,RAYOM,EPAI,YOUN) IF(KERRE.NE.0) GO TO 998 SIGF(6)=-XM SIGF(1)=XP IF((DELTAM.EQ.XZERO).AND.(DELTAP.EQ.XZERO)) GO TO 998 GO TO 1 C C CAS DE LA PLASTICITE AVEC PROPAGATION C 3000 CONTINUE C C ON CHERCHE L INTERSECTION AVEC LA SURFACE DE CHARGE C VER=F IF(IIMPI.EQ.999)WRITE (IOIMP,*) 'VERIF AVANT APPEL A TUFICO',VER PRECUS=-PRECIS IF(VER.LE.PRECUS) THEN IF(IIMPI.EQ.999)THEN VER=F WRITE (IOIMP,*)'ON EST SUR LE CRITERE',VER ENDIF ENDIF C C ON REALISE L ECOULEMENT C $ PRECIS,XM0,XP0,RAYOM,XLAM0,WORK,XJ1C,T,THETA0,EPAI,YOUN,KERRE $ ,MAPL) IF(KERRE.NE.0) GO TO 998 C IF(IIMPI.EQ.999)THEN WRITE (IOIMP,*) 'VERIF APRES ECOULEMENT',VER ENDIF IF (MAPL.EQ.18) THEN C CDANS LE CAS DE LA PLASTICITE AVEC ECROUISSAGE ON FAIT DE LA PROPAGATION C IF(KERRE.NE.0) GO TO 998 ENDIF SIGF(6)=-XM SIGF(1)=XP SIGF(7)=XK1 SIGF(8)=AIRE DEFP(6)=DEFP(6)-FIP DEFP(1)=DEFP(1)+EP VARF(1)=VARF(1)+DLAM1 VARF(2)=VARF(2)+DLAM2 VARF(4)=XJP VARF(5)=VARF(5)+DLAM1+DLAM2 C IF((DELTAM.EQ.XZERO).AND.(DELTAP.EQ.XZERO)) GO TO 998 C GO TO 1 C C CAS DU COUPLAGE PLASTICITE PROPAGATION C 4000 GO TO 998 998 CONTINUE SEGSUP WORK RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales