Télécharger ouglfl.eso

Retour à la liste

Numérotation des lignes :

ouglfl
  1. C OUGLFL SOURCE CB215821 16/04/21 21:17:56 8920
  2. C sub ouglofib
  3. C====&===1=========2=========3=========4=========5=========6=========7==
  4. C Commentaires : Subroutine permettant de mettre en oeuvre le
  5. C modele d'OUGLOVA d'acier corrodé
  6. C Traits : - Endommagement anisotrope
  7. C - Monotone
  8. C Auteurs : B. Richard
  9. C Date : Février 2008
  10. C====&===1=========2=========3=========4=========5=========6=========7==
  11. SUBROUTINE OUGLFL(XMAT,XSECT,DEPST,SIG0,VAR0,SIGF,VARF)
  12. C
  13. C-----DECLARATION GENERALE
  14. C
  15. IMPLICIT INTEGER(I-N)
  16. IMPLICIT REAL*8(A-H,O-Z)
  17. C
  18. C-----DECLARATION DES VARIABLES
  19. C
  20. REAL*8 XMAT(18),VAR0(25),VARF(25),XSECT,DEPST
  21. REAL*8 SIG0(3),SIGF
  22. REAL*8 ES,NUS,DCS,SIGMAES,TCS,MS,KS
  23. REAL*8 ENDS,PVAR,DEPP,RVAR,SIGS,EPSP
  24. REAL*8 SIGMA,XLAM,EPTO,EPSR,PR,PD
  25. REAL*8 CRITPLAS,J2,CRITPLAS0,CRITP,DELTAP,CRITENDO
  26. REAL*8 TAU,DFDSIG,DGDSIG,DFDR
  27.  
  28. INTEGER INDITER,ITER,FLAG,I1,ITERMAX,I2
  29. C
  30. C-----OPTIONS INTERNES
  31. C
  32. ITERMAX = 100000
  33. C
  34. C-----NOMENCLATURE DES PARAMETRES MATERIAUX (XMAT) ET VARIBLES INTERNES
  35. C (VAR0 ET VARF)
  36. C
  37.  
  38. C ---------------------------
  39. C | ACIER CORRODE |
  40. C ---------------------------
  41. C XMAT( 1) ES
  42. C XMAT( 2) NUS
  43. C XMAT( 3)
  44. C XMAT( 4)
  45. C XMAT( 5)
  46. C XMAT( 6) DCS
  47. C XMAT( 7) SIGMAES
  48. C XMAT( 8) TCS
  49. C XMAT( 9) MS
  50. C XMAT(10) KS
  51. C
  52. C ---------------------------
  53. C | ACIER CORRODE |
  54. C ---------------------------
  55. C VAR0( 1) VARF( 1) ENDS
  56. C VAR0( 2) VARF( 2) PVAR
  57. C VAR0( 3) VARF( 3) DEPP
  58. C VAR0( 4) VARF( 4) RVAR
  59. C VAR0( 5) VARF( 5) SIGS
  60. C VAR0( 6) VARF( 6) EPSP
  61. C VAR0( 7) VARF( 7)
  62. C VAR0( 8) VARF( 8)
  63. C VAR0( 9) VARF( 9)
  64. C VAR0(10) VARF(10)
  65. C
  66. C ---------------------------
  67. C | AUTRES |
  68. C ---------------------------
  69. C VAR0(21) VARF(21) XLAM
  70. C VAR0(22) VARF(22) EPTO
  71. C VAR0(23) VARF(23) INDITER
  72.  
  73. C
  74. C-----LES PARAMETRES MATERIAUX
  75. C
  76. ES = XMAT( 1)
  77. NUS = XMAT( 2)
  78. DCS = XMAT( 6)
  79. SIGMAES = XMAT( 7)
  80. TCS = XMAT( 8)
  81. MS = XMAT( 9)
  82. KS = XMAT(10)
  83. C
  84. C-----LES VARIABLES INTERNES
  85. C
  86. ENDS = VAR0( 1)
  87. PVAR = VAR0( 2)
  88. DEPP = VAR0( 3)
  89. RVAR = VAR0( 4)
  90. SIGS = VAR0( 5)
  91. EPSP = VAR0( 6)
  92.  
  93. XLAM = VAR0(21)
  94. EPTO = VAR0(22)
  95. INDITER = VAR0(23)
  96. C
  97. C-----AVANCE EN DEFORMATION
  98. C
  99. EPTO = (EPTO + DEPST)*XLAM
  100. C
  101. C-----CALCUL DE QUELQUES GRANDEURS
  102. C
  103. IF (TCS.LE.15.0D0) THEN
  104. EPSR = -0.0111D0*TCS+0.2345D0
  105. ELSE
  106. EPSR = -0.0006D0*TCS+0.0510D0
  107. END IF
  108.  
  109. PR = EPSR
  110.  
  111. PD = 0.8D0*PR
  112. C
  113. C-----PREDICTION ELASTIQUE
  114. C
  115. SIGMA = (1.0D0-ENDS)*ES*(EPTO-EPSP)
  116. C
  117. C-----CRITERE DE PLASTICITE ET INITIALISATIONS
  118. C
  119. J2 = ABS(SIGMA)
  120. CRITPLAS = J2/(1.0D0-ENDS)-(RVAR+SIGMAES)
  121. CRITPLAS0 = CRITPLAS
  122. CRITP = 1.0D0
  123. DELTAP = 20.0D0
  124. ITER = 0
  125.  
  126. IF ((CRITPLAS.LE.0.0D0).OR.((DEPST*EPTO).LE.0.0D0)) THEN
  127. FLAG = 1
  128. DEPP = 0.0D0
  129. GOTO 30
  130. ELSE IF (CRITPLAS.GT.0.0D0) THEN
  131. FLAG = 0
  132. GOTO 10
  133. ENDIF
  134. C
  135. C-----DEBUT DES ITERATIONS INTERNES
  136. C
  137. 10 DO I1=1,ITERMAX
  138. C
  139. C-----ON VERIFIE LE CRITERE
  140. C
  141.  
  142. DO I2=1,ITERMAX
  143. IF ((CRITP.GT.1.0D-5).AND.
  144. & ((DELTAP.GT.(1.0D-15)).OR.(CRITPLAS.GT.(0.0D0))).AND.
  145. & (ITER.LT.50)) THEN
  146.  
  147. ITER = ITER +1
  148.  
  149. DFDSIG = (ABS(SIGMA)/SIGMA)/(1.0D0-ENDS)
  150. DGDSIG = DFDSIG
  151. DFDR = -1.0D0
  152. TAU = DGDSIG*ES
  153. DELTAP = CRITPLAS/(DFDSIG*TAU-
  154. & DFDR*KS/MS*(J2/(KS*(1.0D0-ENDS))-
  155. & SIGMAES/KS)**(1.0D0-MS))
  156. IF (DELTAP.LT.(0.0D0)) THEN
  157. DELTAP = 0.0D0
  158. ENDIF
  159. C
  160. C-----ACTUALISATION
  161. C
  162. SIGMA = SIGMA - DELTAP*TAU
  163. EPSP = EPSP + DELTAP*DGDSIG
  164. DEPP = DELTAP*DGDSIG
  165. PVAR = PVAR + DELTAP/(1.0D0-ENDS)
  166. RVAR = KS*(PVAR)**(1.0D0/MS)
  167. C
  168. C-----ACTUALISATION DU SEUIL
  169. C
  170. J2 = ABS(SIGMA)
  171. CRITPLAS = J2/(1.0D0-ENDS)-(RVAR+SIGMAES)
  172. CRITP = CRITPLAS/CRITPLAS0
  173. ELSE
  174. GOTO 15
  175. ENDIF
  176. ENDDO
  177. C
  178. C-----BALISE DE SORTIE DE LA SECONDE BOUCLE D ITERATIONS INTERNES
  179. C
  180. 15 CONTINUE
  181. RVAR = J2/(1.0D0-ENDS)-SIGMAES
  182. GOTO 20
  183. 20 CONTINUE
  184. CRITENDO = PVAR - PD
  185.  
  186. IF (CRITENDO.LT.0.0D0) THEN
  187. FLAG = 1
  188. GOTO 30
  189. ELSE
  190. ENDS = DCS/(PR-PD)*(PVAR-PD)
  191. FLAG = 1
  192. IF (ENDS.GT.0.99D0) THEN
  193. ENDS = 0.99D0
  194. ENDIF
  195.  
  196. GOTO 30
  197. ENDIF
  198. ENDDO
  199. C
  200. C-----BALISE DE SORTIE FINALE
  201. C
  202. 30 CONTINUE
  203.  
  204. IF (PVAR.GT.PR) THEN
  205. PVAR = PR
  206. SIGMA = 0.0D0
  207. ELSE
  208. SIGMA = (1.0D0-ENDS)*ES*(EPTO-EPSP)
  209. ENDIF
  210. C
  211. C-----LES SORTIES
  212. C
  213. VARF( 1) = ENDS
  214. VARF( 2) = PVAR
  215. VARF( 3) = DEPP
  216. VARF( 4) = RVAR
  217. VARF( 5) = SIGMA
  218. VARF( 6) = EPSP
  219. VARF( 9) = EPTO
  220.  
  221. C
  222. C-----LES CONTRAINTES EN SORTIE
  223. C
  224. SIGF = SIGMA
  225.  
  226. RETURN
  227. END
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  

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