czeril
C CZERIL SOURCE PV 17/12/08 21:17:18 9660 C ZERILI SOURCE AC2 96/01/29 21:20:10 2008 & IB,IGAU,NBPGAU,necou,ecou,iecou,xecou) c SUBROUTINE CZERIL(SIG0,DEPST,DDAUX,CMATE,VALMAT,VALCAR,N2EL, c . N2PTEL,var0,bid,bid,XMAT,PRECIS,work2,work,TRAC, c . SIGF,varf,DEFP,KERRE,MFR1,IB,IGAU,NSTRS1,EPAIST,MELE,NPINT, c . NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, c . ROTHOO,DDHOMU,CRIGI,DSIGT,DT) * *_________________________________________________________________ * * * ENTREES : * --------- * * CELLES DE ECOINC PLUS: * DT = PAS DE TEMPS DU CALCUL * * SORTIE : * -------- * * CELLES DE ECOINC * TRAC(2*NCOURB) LE TABLEAU DE LA COURBE DE TRACTION * * ============================================================ * ICI IL FAUT PROGRAMMER EN FORTRAN PUR *============================================================= * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) * -INC PPARAM -INC CCOPTIO -INC DECHE SEGMENT IECOU * COMMON/IECOU/NYOG,NYNU,NYALFA,NYSMAX,NYN,NYM,NYKK, INTEGER icow1,icow2,icow3,icow4,icow5,icow6,icow7, C INTEGER NYOG, NYNU, NYALFA,NYSMAX,NYN, NYM, NYKK, 1 icow8,icow9,icow10,icow11,icow12,icow13,icow14,icow15,icow16, C . NYALF1,NYBET1,NYR, NYA, NYRHO,NSIGY, NNKX, NYKX, IND, 2 icow17,icow18,icow19,icow20,icow21,icow22,icow23,icow24, C . NSOM, NINV, NINCMA,NCOMP, JELEM, LEGAUS,INAT, NCXMAT, 3 icow25,icow26,icow27,icow28,icow29,icow30,icow31, C . LTRAC, MFR, IELE, NHRM, NBNN, NBELEM,ICARA, 4 icow32,icow33,NSTRS1,MFR1, NBGMAT,NELMAT,icow38, C . LW2, NDEF, NSTRSS,MFR1, NBGMAT,NELMAT,MSOUPA, 5 icow39,icow40,icow41,icow42,icow43,icow44 C . NUMAT1,LENDO, NBBB, NNVARI,KERR1, MELEME INTEGER icow45,icow46,icow47,icow48,icow49,icow50, . icow51,icow52,icow53,icow54,icow55,icow56 . icow57,icow58 ENDSEGMENT SEGMENT XECOU * COMMON/XECOU/DTOPTI,TSOM,TCAR,DTT,DT,TREFA,TEMP00 REAL*8 xcow1, xcow2,xcow3,xcow4,DT,xcow6, xcow7 C REAL*8 DTOPTI,TSOM, TCAR, DTT, DT, TREFA,TEMP00 ENDSEGMENT SEGMENT ECOU *** COMMON/ECOU/TEST,ALFAH, REAL*8 ecow00,ecow0, C REAL*8 TEST, ALFAH, 1 ecow1,ecow2,ecow3(6),ecow4(9),ecow5(6), C 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6), 2 ecow6(12),ecow7(6),ecow8(6),ecow9(6),ecow10(6),ecow11(6), 2 ecow12(6), C 2 CVNMSD(12),STOT(6),SIGEL(6),DSIGP(6),SIGT(6),W1(6),W2(6), 1 ecow13(6),ecow14(6),ecow15(12),ecow16(3), C 1 DALPHA(6),EPSPLA(6),E(12),XINV(3), 2 ecow17(6),ecow18(6),ecow19,ecow20 C 2 SIPLAD(6),DSIGP0(6),TET,TETI ENDSEGMENT * COMMON/ECOU/TEST,ALFAH, * 1 HPAS,TEMPS,COVNMS(6),VECPRO(9),VALPRO(6), * 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 C SEGMENT NECOU * COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, INTEGER NCOURB,IPLAST,IT,IMAPLA,ISOTRO, . ITYP,IFOURB,IFLUAG, . ICINE,ITHER,IFLUPL,ICYCL,IBI, . JFLUAG,LEGAUS,LFLUAG, . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF ENDSEGMENT C COMMON/NECOU/NCOURB,IPLAST,IT,IMAPLA,ISOTRO, C . ITYP,IFOURB,IFLUAG, C . ICINE,ITHER,IFLUPL,ICYCL,IBI, C . JFLUAG,LEGAUS,LFLUAG, C . IRELAX,JNTRIN,MFLUAG,JELEM,JGRDEF C * SEGMENT WRK2 REAL*8 TRAC(LTRAC) ENDSEGMENT * SEGMENT WRK3 ENDSEGMENT * DIMENSION RDEPS(6) * * * * Traitement des deplacements suivant le type de calcul *=========================================================== * * IF (MFR1.EQ.1.OR.MFR1.EQ.31) THEN * *---> 1 formulation massive *---> 2 formulation quasi incompressible *---> MASSIF 3D * IF (NSTRS1 .EQ. 6) THEN DO 110 I=1,NSTRS1 RDEPS(I)=DEPST(I) 110 CONTINUE ELSE IF (NSTRS1.EQ.4.AND.((IFOUR.EQ. 0) & .OR.(IFOUR.EQ.-1).OR.(IFOUR.EQ.-2))) THEN * *---> Calcul en mode deformations planes ou axisymetrique *---> Calcul en mode contraintes planes * DO 115 I=1,NSTRS1 RDEPS(I)=DEPST(I) 115 CONTINUE RDEPS(5)=0.D0 RDEPS(6)=0.D0 ENDIF ELSE KERRE = 99 RETURN ENDIF * * Passage des deformations de cisaillement exprimées * en GAMA aux déformations de cisaillement exprimées * en déformations * DO 117 I=1,6 A=1.D0 IF (I.GT.3) A=2.D0 RDEPS(I)=RDEPS(I)/A 117 CONTINUE * * Données du materiau *=========================================================== * YOUNG=XMAT(1) XNU=XMAT(2) DYG0=XMAT(5) C3=XMAT(8) C4=XMAT(9) C5=XMAT(10) XM0=XMAT(11) XK0=XMAT(12) XL0=XMAT(13) TYPE0=XMAT(14) * * *************************************************** * Preparation au calcul de la courbe de traction *************************************************** * *---> Déformation plastique équivalente EPSP * EPSP0=var0(1) * *---> Cas contraintes planes: déformation dans l'épaisseur * iter00=0 IF (IFOUR.EQ.-2) THEN tr00=-1.D0*XNU/(1.D0-XNU) RDEPS(3)=tr00*(RDEPS(1)+RDEPS(2)) ENDIF 98 treps0=RDEPS(1)+RDEPS(2)+RDEPS(3) * *---> Vitesse de deformation equivalente * * DT=5.D-7 DEPS2=RDEPS(1)*RDEPS(1)+RDEPS(2)*RDEPS(2)+RDEPS(3)*RDEPS(3) DEPS2=DEPS2-RDEPS(1)*RDEPS(2)-RDEPS(2)*RDEPS(3) DEPS2=DEPS2-RDEPS(3)*RDEPS(1) DEPS3=RDEPS(4)*RDEPS(4)+RDEPS(5)*RDEPS(5)+RDEPS(6)*RDEPS(6) DEPS2=DEPS2+3.D0*DEPS3 DEPS0=((DEPS2)**(0.5D0))*2.D0/3.D0 DEPS0=DEPS0+(treps0/3.D0) IF (ABS(DT).LT.1D-10) THEN DEPS=0.D0 ELSE DEPS=DEPS0/DT END IF * *---> Deformation maximale * EPSM0=10.D0*DEPS0 * *---> Nombre de points de la courbe de traction * NCOURB=100 * *---> Partie constante de la courbe de traction * Y0=(XK0*(XL0**(-0.5D0)))+DYG0 * *---> Partie exponentielle de la courbe de traction * IF (ABS(DEPS).LT.1D-10) THEN COEFF0=0.D0 ELSE COEFF0=EXP(C4*LOG(DEPS)-C3) END IF * *---> Debut de la courbe de traction * TRAC(1)=0.D0 TRAC(2)=0.D0 TRAC(3)=Y0 TRAC(4)=0.D0 * * *************************************************** * Courbe de traction dans le cas CFC *************************************************** * IF (TYPE0.EQ.0.) THEN * *---> Courbe de traction avant le point courant * EPSP=0.D0 DEPS=EPSP0/48.D0 DO 100 I=3,50 EPSP=EPSP+DEPS * *---> Calcul de la limite d'élasticité Yel0 dans le cas cfc * Yel0=Yel0+Y0 TRAC(2*I-1)=Yel0 TRAC(2*I)=EPSP 100 CONTINUE * *---> Courbe de traction apres le point courrant * DEPS=EPSM0/(NCOURB-50.D0) EPSP=EPSP0 DO 200 I=51,NCOURB EPSP=EPSP+DEPS * *---> Calcul de la limite d'elasticite Yel0 dans le cas cfc * Yel0=Yel0+Y0 TRAC(2*I-1)=Yel0 TRAC(2*I)=EPSP 200 CONTINUE * * ***************************************************** * Courbe de traction dans le cas CC ***************************************************** * ELSE * *---> Courbe de traction avant le point courant * EPSP=0.D0 DEPS=EPSP0/48.D0 DO 300 I=3,50 EPSP=EPSP+DEPS * *---> Calcul de la limite d'élasticité Yel0 dans le cas cc * Yel0=Yel0+(C5*(EPSP**XM0)) Yel0=Yel0+Y0 TRAC(2*I-1)=Yel0 TRAC(2*I)=EPSP 300 CONTINUE * *---> Courbe de traction apres le point courrant * DEPS=EPSM0/(NCOURB-50.D0) EPSP=EPSP0 DO 400 I=51,NCOURB EPSP=EPSP+DEPS * *---> Calcul de la limite d'elasticite Yel0 dans le cas cc * Yel0=Yel0+(C5*(EPSP**XM0)) Yel0=Yel0+Y0 TRAC(2*I-1)=Yel0 TRAC(2*I)=EPSP 400 CONTINUE * END IF * ********************************************* * Fin du calcul de la courbe de traction * CALCUL DE L'ECOULEMENT PLASTIQUE * MODELE PLASTIQUE ISOTROPE ********************************************* * inpla0 = INPLAS if (inpla0.eq.50) INPLAS = 5 * & IB,IGAU,NBPGAU,ecou,necou,iecou) INPLAS = inpla0 * * Cas contraintes planes * IF (IFOUR.EQ.-2) THEN iter00=iter00+1 RDEPS3=DEFP(3)+tr00*(RDEPS(1)-DEFP(1)+RDEPS(2)-DEFP(2)) RDEPS4=ABS(RDEPS(3)) RDEPS5=ABS(RDEPS3) IF (RDEPS4.LE.1.D-10) THEN IF ((iter00.LE.200).AND.(RDEPS5.GT.1.E-10)) THEN RDEPS(3)=RDEPS3 GOTO 98 ENDIF ELSE ERR0=ABS(RDEPS3-RDEPS(3))/RDEPS4 IF ((iter00.LE.200).AND.(ERR0.GT.1.D-5)) THEN RDEPS(3)=RDEPS3 GOTO 98 ENDIF ENDIF ENDIF * RETURN * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales