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