Télécharger pent1.eso

Retour à la liste

Numérotation des lignes :

  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.  
  143.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales