Download pent1.eso

Back to the list

   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