pente
C PENTE SOURCE CHAT 05/01/13 02:12:32 5004 1 XSTRS,NSTRS,MAPL,MFR,XPREC,YOUTA,ILOGPL) C====================================================================== C CALCULE LE MODULE TANGENT A PARTIR DE LA COURBE DE TRACTION C LES CONTRAINTES VERSUS DEFORMATIONS TOTALES C ENTREES C EPS = DEFORMATION PLASTIQUE EQUIVALENTE C YOU = MODULE D YOUNG C SIGY = LIMITE ELASTIQUE C XXHH = DEUXIEME PENTE ( SAUF POUR DRUCKER) C ALPHA = COEFFICIENTS POUR LES PLAQUES C ALP = COEFFICIENTS POUR DRUCKER PRAGER C TRAC(LTRAC) = COURBE DE TRACTION C TRAC(1,3,5,7,9) LES CONTRAINTES C TRAC(2,4,6,8,10) LES EPSILONS EQUIVALENTS C XSTRS(NSTRS) = LES CONTRAINTES C MAPL = NUMERO MODELE PLASTICITE C MFR = NUMERO DE LA FORMULATION C XPREC= PRECISION POUR TROUVER LA POSITION SUR C LA COURBE DE TRACTION C SORTIES C YOUTA = MODULE TANGENT C ILOGPL = 0 EN DESSOUS PAS PLASTIFIE C 1 DESSUS PLASTIFIE C -1 EN DEHORS EXECUTION IMPOSSIBLE C==================================================================== IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) PARAMETER(TROIS=3.D0,UN=1.D0,XZER=0.D0) DIMENSION TRAC(*),XSTRS(*) C C CALCUL EQUIVALENT VMISES C IF(MFR.EQ.1) THEN SIDD = XSTRS(1)*XSTRS(1)+XSTRS(2)*XSTRS(2)+XSTRS(3)*XSTRS(3) SIDD =SIDD-XSTRS(1)*XSTRS(2)- XSTRS(2)*XSTRS(3)-XSTRS(3)*XSTRS(1) SIDD = SIDD + TROIS*XSTRS(4)*XSTRS(4) IF(NSTRS.EQ.6) THEN SIDD = SIDD + TROIS*(XSTRS(5)*XSTRS(5)+XSTRS(6)*XSTRS(6)) ENDIF SIDD =SQRT(SIDD) C ELSE IF(MFR.EQ.3) THEN SID1 = XSTRS(1)*XSTRS(1)+XSTRS(2)*XSTRS(2)-XSTRS(1)*XSTRS(2) SID1 = SID1 + TROIS*XSTRS(3)*XSTRS(3) SID2 = XSTRS(4)*XSTRS(4)+XSTRS(5)*XSTRS(5)-XSTRS(4)*XSTRS(5) SID2 = SID2 + TROIS*XSTRS(6)*XSTRS(6) SIDD = SQRT(SIDD) C ELSE IF(MFR.EQ.5) THEN SIDD = XSTRS(1)*XSTRS(1)+XSTRS(2)*XSTRS(2)-XSTRS(1)*XSTRS(2) UUU = XSTRS(3)*XSTRS(3)+XSTRS(4)*XSTRS(4)+XSTRS(5)*XSTRS(5) SIDD = SIDD + UUU*TROIS SIDD = SQRT(SIDD) ENDIF C C CALCUL DU CRITERE SEUL LE CAS DRUCKER PRAGER IMPORTANT C IF(MAPL.EQ.3.OR.MAPL.EQ.15) THEN SIDD = ALP*(XSTRS(1)+XSTRS(2)+XSTRS(3)) +XXHH*SIDD ENDIF C C ON CHERCHE LA PENTE CORRESPONDANT A EPS C C C PLASTICITE PARFAITE ET DRUCKER PRAGER C IF(MAPL.EQ.1.OR.MAPL.EQ.3.OR.MAPL.EQ.15) THEN YOUTA=YOU ILOGPL=0 ILOGPL=-1 C ELSE IF(SIDD.GE.SIGYM.AND.SIDD.LE.SIGYP) THEN ILOGPL=1 YOUTA=XZER ELSE IF(SIDD.LT.SIGYM) THEN ILOGPL=0 YOUTA=YOU ELSE IF(SIDD.GT.SIGYP) THEN ILOGPL=-1 ENDIF ENDIF C C ECROUISSAGE CINEMATIQUE BILINEAIRE C ELSE IF(MAPL.EQ.4) THEN SICCP=SICC*(UN+XPREC) SICCM=SICC*(UN-XPREC) YOUTA=YOU ILOGPL=0 ILOGPL=-1 C ELSE IF(SIDD.GE.SICCM.AND.SIDD.LE.SICCP) THEN ILOGPL=1 YOUTA=XXHH ELSE IF(SIDD.LT.SICCM) THEN ILOGPL=0 YOUTA=YOU ELSE IF(SIDD.GT.SICCP) THEN ILOGPL=-1 ENDIF ENDIF C C PLASTICITE ISOTROPE OU CINEMATIQUE C ELSE IF(MAPL.EQ.5.OR.MAPL.EQ.6) THEN * SIGYE= TRAC(3) * AM 16/7/93 MAUVAISE LIMITE ELASTIQUE SIGYE= TRAC(1) IF(EPS.EQ.0.AND.SIDD.LE.SIGYE) THEN ILOGPL=0 YOUTA=YOU ELSE IF(EPS.EQ.0.AND.SIDD.GT.SIGYE) THEN ILOGPL=-1 C ELSE DO 100 IA=4,LTRAC,2 IF(TRAC(IA).LT.EPS) GOTO 100 XX = TRAC(IA ) - TRAC(IA-2) YY = TRAC(IA-1) - TRAC(IA-3) HPRIM=YY / XX GOTO 110 100 CONTINUE HPRIM=(TRAC(LTRAC-1)-TRAC(LTRAC-3))/(TRAC(LTRAC)-TRAC(LTRAC-2)) 110 CONTINUE SICC=TRAC(IA-1) + ( EPS- TRAC(IA) ) * HPRIM C C SIGY EN CORRESPONDANCE AVEC EPS C SICCP=SICC*(UN+XPREC) SICCM=SICC*(UN-XPREC) YOUTA=HPRIM * YOU / ( HPRIM + YOU ) IF(SIDD.GT.SICCP) THEN ILOGPL=-1 ELSE IF(SIDD.LE.SICCP.AND.SIDD.GE.SICCM) THEN ILOGPL= 1 ELSE IF(SIDD.LT.SICCM) THEN ILOGPL= 0 ENDIF ENDIF C ENDIF RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales