1 : C PENT1 SOURCE FANDEUR 09/09/23 21:15:46 6374 2 : 3 : SUBROUTINE PENT1(EPS,SIDD,YOU,SIGY,XXHH,TRAC,LTRAC,MAPL,XPREC, 4 : & YOUTA,ILOGPL) 5 : 6 : C====================================================================== 7 : C sous-programme PENTE auquel on a enleve le calcul de la contrainte 8 : C equivalente 9 : C 10 : C CALCULE LE MODULE TANGENT A PARTIR DE LA COURBE DE TRACTION 11 : C CONTRAINTES VERSUS DEFORMATIONS PLASTIQUES 12 : C 13 : C ENTREES 14 : C EPS = DEFORMATION PLASTIQUE EQUIVALENTE 15 : C SIDD = CRITERE : CONTRAINTE EQUIVALENTE DE VON MISES 16 : C SAUF POUR DRUCKER PRAGER : A TR(S) + B Seq 17 : C YOU = MODULE D YOUNG 18 : C SIGY = LIMITE ELASTIQUE 19 : C XXHH = DEUXIEME PENTE (SAUF POUR DRUCKER) 20 : C TRAC(LTRAC) = COURBE DE TRACTION 21 : C TRAC(1,3,5,7,9) LES CONTRAINTES 22 : C TRAC(2,4,6,8,10) LES EPSILONS EQUIVALENTS 23 : C MAPL = NUMERO MODELE PLASTICITE 24 : C XPREC = PRECISION POUR TROUVER LA POSITION SUR 25 : C LA COURBE DE TRACTION 26 : C SORTIES 27 : C YOUTA = MODULE TANGENT 28 : C ILOGPL = 0 EN DESSOUS PAS PLASTIFIE 29 : C 1 DESSUS PLASTIFIE 30 : C -1 EN DEHORS EXECUTION IMPOSSIBLE 31 : C==================================================================== 32 : IMPLICIT INTEGER(I-N) 33 : IMPLICIT REAL*8(A-H,O-Z) 34 : 35 : PARAMETER (XZER=0.D0,XUN=1.D0) 36 : 37 : DIMENSION TRAC(*) 38 : C 39 : C ON CHERCHE LA PENTE CORRESPONDANT A EPS 40 : C 41 : C PLASTICITE PARFAITE ET DRUCKER PRAGER 42 : C 43 : IF (MAPL.EQ.1.OR.MAPL.EQ.3.OR.MAPL.EQ.15) THEN 44 : IF (EPS.LE.XZER) THEN 45 : IF (SIDD.LE.SIGY) THEN 46 : ILOGPL=0 47 : YOUTA=YOU 48 : C* ELSE IF (SIDD.GT.SIGY) THEN 49 : ELSE 50 : ILOGPL=-1 51 : ENDIF 52 : ELSE 53 : SIGYP=SIGY*(XUN+XPREC) 54 : SIGYM=SIGY*(XUN-XPREC) 55 : IF (SIDD.LT.SIGYM) THEN 56 : ILOGPL=0 57 : YOUTA=YOU 58 : C* ELSE IF (SIDD.GE.SIGYM.AND.SIDD.LE.SIGYP) THEN 59 : ELSE IF (SIDD.LE.SIGYP) THEN 60 : ILOGPL=1 61 : YOUTA=XZER 62 : C* ELSE IF (SIDD.GT.SIGYP) THEN 63 : ELSE 64 : ILOGPL=-1 65 : ENDIF 66 : ENDIF 67 : C 68 : C ECROUISSAGE CINEMATIQUE BILINEAIRE 69 : C 70 : ELSE IF (MAPL.EQ.4) THEN 71 : IF (EPS.LE.XZER) THEN 72 : IF (SIDD.LE.SIGY) THEN 73 : ILOGPL=0 74 : YOUTA=YOU 75 : C* ELSE IF (SIDD.GT.SIGY) THEN 76 : ELSE 77 : ILOGPL=-1 78 : ENDIF 79 : ELSE 80 : SICC = SIGY + XXHH * EPS 81 : SICCP=SICC*(XUN+XPREC) 82 : SICCM=SICC*(XUN-XPREC) 83 : IF (SIDD.LT.SICCM) THEN 84 : ILOGPL=0 85 : YOUTA=YOU 86 : C* ELSE IF (SIDD.GE.SICCM.AND.SIDD.LE.SICCP) THEN 87 : ELSE IF (SIDD.LE.SICCP) THEN 88 : ILOGPL=1 89 : YOUTA=XXHH 90 : C* ELSE IF (SIDD.GT.SICCP) THEN 91 : ELSE 92 : ILOGPL=-1 93 : ENDIF 94 : ENDIF 95 : C 96 : C PLASTICITE ISOTROPE OU CINEMATIQUE 97 : C 98 : ELSE IF (MAPL.EQ.5.OR.MAPL.EQ.6) THEN 99 : SIGYE = TRAC(1) 100 : IF (EPS.LE.XZER) THEN 101 : IF (SIDD.LE.SIGYE) THEN 102 : ILOGPL=0 103 : YOUTA=YOU 104 : C* ELSE IF (SIDD.GT.SIGYE) THEN 105 : ELSE 106 : ILOGPL=-1 107 : ENDIF 108 : ELSE 109 : DO IA=4,LTRAC,2 110 : IF (TRAC(IA).GE.EPS) GOTO 110 111 : ENDDO 112 : IA = LTRAC 113 : 110 CONTINUE 114 : XX = TRAC(IA) - TRAC(IA-2) 115 : YY = TRAC(IA-1) - TRAC(IA-3) 116 : HPRIM = YY / XX 117 : SICC = TRAC(IA-1) + ( EPS - TRAC(IA) ) * HPRIM 118 : SICCP=SICC*(XUN+XPREC) 119 : SICCM=SICC*(XUN-XPREC) 120 : IF (SIDD.LT.SICCM) THEN 121 : ILOGPL= 0 122 : YOUTA = YOU 123 : C* ELSE IF (SIDD.LE.SICCP.AND.SIDD.GE.SICCM) THEN 124 : ELSE IF (SIDD.LE.SICCP) THEN 125 : ILOGPL= 1 126 : YOUTA = HPRIM * YOU / ( HPRIM + YOU ) 127 : C* ELSE IF (SIDD.GT.SICCP) THEN 128 : ELSE 129 : ILOGPL=-1 130 : ENDIF 131 : ENDIF 132 : C 133 : C Autre comportement plastique : KTANGA prendra la matrice elastique 134 : C 135 : ELSE 136 : ILOGPL = 0 137 : ENDIF 138 : 139 : RETURN 140 : END 141 : 142 :
© Cast3M 2003 - All rights reserved.
Disclaimer