1 : C PENTE SOURCE CHAT 05/01/13 02:12:32 5004 2 : SUBROUTINE PENTE(EPS,YOU,SIGY,XXHH,ALPHA,ALP,TRAC,LTRAC, 3 : 1 XSTRS,NSTRS,MAPL,MFR,XPREC,YOUTA,ILOGPL) 4 : C====================================================================== 5 : C CALCULE LE MODULE TANGENT A PARTIR DE LA COURBE DE TRACTION 6 : C LES CONTRAINTES VERSUS DEFORMATIONS TOTALES 7 : C ENTREES 8 : C EPS = DEFORMATION PLASTIQUE EQUIVALENTE 9 : C YOU = MODULE D YOUNG 10 : C SIGY = LIMITE ELASTIQUE 11 : C XXHH = DEUXIEME PENTE ( SAUF POUR DRUCKER) 12 : C ALPHA = COEFFICIENTS POUR LES PLAQUES 13 : C ALP = COEFFICIENTS POUR DRUCKER PRAGER 14 : C TRAC(LTRAC) = COURBE DE TRACTION 15 : C TRAC(1,3,5,7,9) LES CONTRAINTES 16 : C TRAC(2,4,6,8,10) LES EPSILONS EQUIVALENTS 17 : C XSTRS(NSTRS) = LES CONTRAINTES 18 : C MAPL = NUMERO MODELE PLASTICITE 19 : C MFR = NUMERO DE LA FORMULATION 20 : C XPREC= PRECISION POUR TROUVER LA POSITION SUR 21 : C LA COURBE DE TRACTION 22 : C SORTIES 23 : C YOUTA = MODULE TANGENT 24 : C ILOGPL = 0 EN DESSOUS PAS PLASTIFIE 25 : C 1 DESSUS PLASTIFIE 26 : C -1 EN DEHORS EXECUTION IMPOSSIBLE 27 : C==================================================================== 28 : IMPLICIT INTEGER(I-N) 29 : IMPLICIT REAL*8(A-H,O-Z) 30 : PARAMETER(TROIS=3.D0,UN=1.D0,XZER=0.D0) 31 : DIMENSION TRAC(*),XSTRS(*) 32 : C 33 : C CALCUL EQUIVALENT VMISES 34 : C 35 : IF(MFR.EQ.1) THEN 36 : SIDD = XSTRS(1)*XSTRS(1)+XSTRS(2)*XSTRS(2)+XSTRS(3)*XSTRS(3) 37 : SIDD =SIDD-XSTRS(1)*XSTRS(2)- XSTRS(2)*XSTRS(3)-XSTRS(3)*XSTRS(1) 38 : SIDD = SIDD + TROIS*XSTRS(4)*XSTRS(4) 39 : IF(NSTRS.EQ.6) THEN 40 : SIDD = SIDD + TROIS*(XSTRS(5)*XSTRS(5)+XSTRS(6)*XSTRS(6)) 41 : ENDIF 42 : SIDD =SQRT(SIDD) 43 : C 44 : ELSE IF(MFR.EQ.3) THEN 45 : SID1 = XSTRS(1)*XSTRS(1)+XSTRS(2)*XSTRS(2)-XSTRS(1)*XSTRS(2) 46 : SID1 = SID1 + TROIS*XSTRS(3)*XSTRS(3) 47 : SID2 = XSTRS(4)*XSTRS(4)+XSTRS(5)*XSTRS(5)-XSTRS(4)*XSTRS(5) 48 : SID2 = SID2 + TROIS*XSTRS(6)*XSTRS(6) 49 : SIDD = SID1 + SID2*ALPHA*ALPHA 50 : SIDD = SQRT(SIDD) 51 : C 52 : ELSE IF(MFR.EQ.5) THEN 53 : SIDD = XSTRS(1)*XSTRS(1)+XSTRS(2)*XSTRS(2)-XSTRS(1)*XSTRS(2) 54 : UUU = XSTRS(3)*XSTRS(3)+XSTRS(4)*XSTRS(4)+XSTRS(5)*XSTRS(5) 55 : SIDD = SIDD + UUU*TROIS 56 : SIDD = SQRT(SIDD) 57 : ENDIF 58 : C 59 : C CALCUL DU CRITERE SEUL LE CAS DRUCKER PRAGER IMPORTANT 60 : C 61 : IF(MAPL.EQ.3.OR.MAPL.EQ.15) THEN 62 : SIDD = ALP*(XSTRS(1)+XSTRS(2)+XSTRS(3)) +XXHH*SIDD 63 : ENDIF 64 : C 65 : C ON CHERCHE LA PENTE CORRESPONDANT A EPS 66 : C 67 : C 68 : C PLASTICITE PARFAITE ET DRUCKER PRAGER 69 : C 70 : IF(MAPL.EQ.1.OR.MAPL.EQ.3.OR.MAPL.EQ.15) THEN 71 : SIGYP=SIGY*(UN+XPREC) 72 : SIGYM=SIGY*(UN-XPREC) 73 : IF(EPS.EQ.XZER.AND.SIDD.LE.SIGY) THEN 74 : YOUTA=YOU 75 : ILOGPL=0 76 : ELSE IF(EPS.EQ.XZER.AND.SIDD.GT.SIGY) THEN 77 : ILOGPL=-1 78 : C 79 : ELSE 80 : IF(SIDD.GE.SIGYM.AND.SIDD.LE.SIGYP) THEN 81 : ILOGPL=1 82 : YOUTA=XZER 83 : ELSE IF(SIDD.LT.SIGYM) THEN 84 : ILOGPL=0 85 : YOUTA=YOU 86 : ELSE IF(SIDD.GT.SIGYP) THEN 87 : ILOGPL=-1 88 : ENDIF 89 : ENDIF 90 : C 91 : C ECROUISSAGE CINEMATIQUE BILINEAIRE 92 : C 93 : ELSE IF(MAPL.EQ.4) THEN 94 : SICC = SIGY + XXHH * EPS 95 : SICCP=SICC*(UN+XPREC) 96 : SICCM=SICC*(UN-XPREC) 97 : IF(EPS.EQ.XZER.AND.SIDD.LE.SIGY) THEN 98 : YOUTA=YOU 99 : ILOGPL=0 100 : ELSE IF(EPS.EQ.XZER.AND.SIDD.GT.SIGY) THEN 101 : ILOGPL=-1 102 : C 103 : ELSE 104 : IF(SIDD.GE.SICCM.AND.SIDD.LE.SICCP) THEN 105 : ILOGPL=1 106 : YOUTA=XXHH 107 : ELSE IF(SIDD.LT.SICCM) THEN 108 : ILOGPL=0 109 : YOUTA=YOU 110 : ELSE IF(SIDD.GT.SICCP) THEN 111 : ILOGPL=-1 112 : ENDIF 113 : ENDIF 114 : C 115 : C PLASTICITE ISOTROPE OU CINEMATIQUE 116 : C 117 : ELSE IF(MAPL.EQ.5.OR.MAPL.EQ.6) THEN 118 : * SIGYE= TRAC(3) 119 : * AM 16/7/93 MAUVAISE LIMITE ELASTIQUE 120 : SIGYE= TRAC(1) 121 : IF(EPS.EQ.0.AND.SIDD.LE.SIGYE) THEN 122 : ILOGPL=0 123 : YOUTA=YOU 124 : ELSE IF(EPS.EQ.0.AND.SIDD.GT.SIGYE) THEN 125 : ILOGPL=-1 126 : C 127 : ELSE 128 : DO 100 IA=4,LTRAC,2 129 : IF(TRAC(IA).LT.EPS) GOTO 100 130 : XX = TRAC(IA ) - TRAC(IA-2) 131 : YY = TRAC(IA-1) - TRAC(IA-3) 132 : HPRIM=YY / XX 133 : GOTO 110 134 : 100 CONTINUE 135 : HPRIM=(TRAC(LTRAC-1)-TRAC(LTRAC-3))/(TRAC(LTRAC)-TRAC(LTRAC-2)) 136 : 110 CONTINUE 137 : SICC=TRAC(IA-1) + ( EPS- TRAC(IA) ) * HPRIM 138 : C 139 : C SIGY EN CORRESPONDANCE AVEC EPS 140 : C 141 : SICCP=SICC*(UN+XPREC) 142 : SICCM=SICC*(UN-XPREC) 143 : YOUTA=HPRIM * YOU / ( HPRIM + YOU ) 144 : IF(SIDD.GT.SICCP) THEN 145 : ILOGPL=-1 146 : ELSE IF(SIDD.LE.SICCP.AND.SIDD.GE.SICCM) THEN 147 : ILOGPL= 1 148 : ELSE IF(SIDD.LT.SICCM) THEN 149 : ILOGPL= 0 150 : ENDIF 151 : ENDIF 152 : C 153 : ENDIF 154 : RETURN 155 : END 156 :
© Cast3M 2003 - All rights reserved.
Disclaimer