zerili
C ZERILI SOURCE PV 22/04/27 21:15:12 11355 . SIGF,VARINF,DEFP,KERRE, IB,IGAU,NSTRS,EPAIST,MELE,NPINT, . NBPGAU, SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, . ROTHOO,DDHOMU,CRIGI,DSIGT ) * *_________________________________________________________________ * * * 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 CECOU * 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 C DIMENSION SIG0(*),DEPST(*),SIGF(*),VARIN0(*),VARINF(*),XMAT(*), DIMENSION DSIGT(*) DIMENSION DDAUX(LHOOK,*),TXR(IDIM,*),CRIGI(*) DIMENSION VALMAT(*),VALCAR(*),DDHOMU(LHOOK,*) DIMENSION XLOC(3,3),XGLOB(3,3) DIMENSION D1HOOK(LHOOK,*),ROTHOO(LHOOK,*) CHARACTER*8 CMATE DIMENSION RDEPS(6) * * * * Traitement des deplacements suivant le type de calcul *=========================================================== * * IF (MFR.EQ.1.OR.MFR.EQ.31) THEN * *---> 1 formulation massive *---> 2 formulation quasi incompressible *---> MASSIF 3D * IF (NSTRS .EQ. 6) THEN DO 110 I=1,NSTRS RDEPS(I)=DEPST(I) 110 CONTINUE ELSE IF (NSTRS.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,NSTRS 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=VARIN0(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 ********************************************* * INPLAS=5 * . SIGF,VARINF,DEFP,KERRE, IB,IGAU,NSTRS,EPAIST,MELE,NPINT, . NBPGAU, SECT,LHOOK,TXR,XLOC,XGLOB,D1HOOK, . ROTHOO,DDHOMU,CRIGI,DSIGT,INPLAS) * * 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