Télécharger ouglob.eso

Retour à la liste

Numérotation des lignes :

ouglob
  1. C OUGLOB SOURCE BR232186 16/09/12 12:43:40 9078
  2. SUBROUTINE OUGLOB(XMAT,DEPS,SIG0,VAR0,SIGF,VARF)
  3.  
  4. C
  5.  
  6. C====&===1=========2=========3=========4=========5=========6=========7==
  7.  
  8. C Commentaires : Subroutine permettant de mettre en oeuvre le
  9.  
  10. C modele OUGLOVA pour representer
  11.  
  12. C le comportement de l'acier corrodé
  13.  
  14. C
  15.  
  16. C
  17.  
  18. C Auteurs : R. Paredes
  19.  
  20. C : CEA-DEN/DANS/DM2S/SEMT/EMSI
  21.  
  22. C : Romili.Paredes@cea.fr
  23.  
  24. C
  25.  
  26. C Date : Aout 2016
  27.  
  28. C====&===1=========2=========3=========4=========5=========6=========7==
  29.  
  30. C
  31.  
  32. C-----DECLARATION GENERALE----------------------------------------------
  33.  
  34. C
  35.  
  36. IMPLICIT INTEGER(I-N)
  37. IMPLICIT REAL*8(A-H,O-Z)
  38.  
  39. C
  40.  
  41. C-----DECLARATION DES VARIABLES-----------------------------------------
  42.  
  43. C
  44.  
  45. DIMENSION XMAT(*),VAR0(*),VARF(*)
  46.  
  47.  
  48.  
  49. C Parametre pour le nombre d iteration locales internes
  50.  
  51. IMAX = 1000
  52.  
  53. C
  54.  
  55. C-----DONNEES MATERIAUX-------------------------------------------------
  56.  
  57. C
  58.  
  59. XYG = XMAT(1)
  60.  
  61. XNU = XMAT(2)
  62.  
  63. XGC = XYG/(2.0D0*(XNU + 1.0D0))
  64.  
  65. XSIGY = XMAT(5)
  66.  
  67. XK = XMAT(6)
  68.  
  69. XM = XMAT(7)
  70.  
  71. XTC = XMAT(8)
  72.  
  73. XDC = XMAT(9)
  74.  
  75.  
  76.  
  77. C
  78.  
  79. C-----SEUIL DE CORROSION------------------------------------------------
  80.  
  81. C
  82.  
  83. C-----Deformation plastique a rupture
  84.  
  85. IF (XTC.LE.15.0D0) THEN
  86.  
  87. EPSR = -0.0111D0*XTC + 0.2345D0
  88.  
  89. ELSE
  90.  
  91. EPSR = -0.0006D0*XTC + 0.051D0
  92.  
  93. ENDIF
  94.  
  95.  
  96.  
  97. C-----Seuil de rupture et d'endommagement
  98.  
  99. XPR = EPSR
  100.  
  101. XPD = 0.8D0*XPR
  102.  
  103. C
  104.  
  105. C-----ETAT INITIAL------------------------------------------------------
  106.  
  107. C
  108.  
  109. XD = VAR0(1)
  110.  
  111. XR = VAR0(2)
  112.  
  113. XP = VAR0(3)
  114.  
  115. XZT = VAR0(4)
  116.  
  117. XNRUP = VAR0(5)
  118.  
  119. XEPSP = VAR0(6)
  120.  
  121. XEPSF = DEPS + VAR0(10)
  122.  
  123. C
  124.  
  125. C-----CALCUL------------------------------------------------------------
  126.  
  127. C
  128.  
  129.  
  130.  
  131. C-----Prediction elastique
  132.  
  133. SIG = (1.0D0 - XD)*XYG*(XEPSF - XEPSP)
  134.  
  135. SIGEQ = SIG
  136.  
  137.  
  138.  
  139.  
  140.  
  141. C-----Boucle d'endommagement
  142.  
  143. DO I = 1,IMAX
  144.  
  145. C--------Evaluation de la fonction seuil
  146.  
  147. FP = (SIGEQ/(1.0D0 - XD)) - (XR + XSIGY)
  148.  
  149. FP0 = FP
  150.  
  151.  
  152.  
  153. C--------Boucle de plasticite
  154.  
  155. IF (FP.GT.1.0D0) THEN
  156.  
  157. DO J = 1,IMAX
  158.  
  159. C--------------Calcul des derives
  160.  
  161. DFDSG = SIG/(SIGEQ*(1.0D0 - XD))
  162.  
  163. DPHDSG = DFDSG
  164.  
  165.  
  166.  
  167. C--------------Calcul du multiplicateur plastique
  168.  
  169. TAU = XYG*DPHDSG
  170.  
  171. AUX1 = DFDSG*TAU
  172.  
  173. AUX2 = SIGEQ/(XK*(1.0D0 - XD))
  174.  
  175. AUX3 = XSIGY/XK
  176.  
  177. AUX4 = 1.0D0 - XM
  178.  
  179. AUX5 = XK/XM
  180.  
  181. XLAMBDA = FP/(AUX1 + AUX5*((AUX2 - AUX3)**AUX4))
  182.  
  183.  
  184.  
  185. C--------------Mise à jour des variables
  186.  
  187. SIG = SIG - XLAMBDA*TAU
  188.  
  189. SIGEQ = SIG
  190.  
  191. XEPSP = XEPSP + XLAMBDA*DPHDSG
  192.  
  193. XP = XEPSP
  194.  
  195. XR = XK*(XP**(1.0D0/XM))
  196.  
  197.  
  198.  
  199. C--------------Reevaluation de la fonction seuil
  200.  
  201. FP = (SIGEQ/(1.0D0 - XD)) - (XR + XSIGY)
  202.  
  203.  
  204.  
  205. CRIT1 = DABS(FP/FP0)
  206.  
  207. CRIT2 = DABS(XLAMBDA)
  208.  
  209.  
  210.  
  211. IF ((CRIT1.LE.1.0D-8).OR.(CRIT2.LE.1.0D-10)) THEN
  212.  
  213. GOTO 910
  214.  
  215. ENDIF
  216.  
  217.  
  218.  
  219. ENDDO
  220.  
  221.  
  222.  
  223. C-----Sortie de la boucle de plasticité
  224.  
  225. 910 CONTINUE
  226.  
  227.  
  228.  
  229. C-----------Evaluation du seuil d'endommagement
  230.  
  231. FD = XP - (XPD + XZT)
  232.  
  233. IF (I.EQ.1) THEN
  234.  
  235. FD0 = FD
  236.  
  237. ENDIF
  238.  
  239.  
  240.  
  241. CRIT = DABS(FD/FD0)
  242.  
  243.  
  244.  
  245. IF ((FD.GT.0.0D0).AND.(CRIT.GT.1.0D-5)) THEN
  246.  
  247.  
  248.  
  249. C--------------Calcul de l'endommagement
  250.  
  251. XD = (XDC/(XPR - XPD))*(XP - XPD)
  252.  
  253. XZT = XP - XPD
  254.  
  255.  
  256.  
  257. C--------------Endommagement critique
  258.  
  259. IF (XD.GT.XDC) THEN
  260.  
  261. XD = XDC
  262.  
  263. ENDIF
  264.  
  265.  
  266.  
  267. ELSE
  268.  
  269. GOTO 900
  270.  
  271. ENDIF
  272.  
  273.  
  274.  
  275. IF (CRIT.LE.1.0D-5) THEN
  276.  
  277. GOTO 900
  278.  
  279. ENDIF
  280.  
  281.  
  282.  
  283. ELSE
  284.  
  285. GOTO 900
  286.  
  287. ENDIF
  288.  
  289.  
  290.  
  291. ENDDO
  292.  
  293.  
  294.  
  295. C-----Sortie de la boucle d'endommagement
  296.  
  297. 900 CONTINUE
  298.  
  299.  
  300.  
  301. C-----Rupture
  302.  
  303. IF (XP.GE.XPR) THEN
  304.  
  305. XNRUP = 1
  306.  
  307. XP = XPR
  308.  
  309. SIG = 1.0D0
  310.  
  311. ENDIF
  312.  
  313. C
  314.  
  315. C-----SOCKAGE EN SORTIE-------------------------------------------------
  316.  
  317. C
  318.  
  319. C-----Les variables internes
  320.  
  321. VARF(1) = XD
  322.  
  323. VARF(2) = XR
  324.  
  325. VARF(3) = XP
  326.  
  327. VARF(4) = XZT
  328.  
  329. VARF(5) = XNRUP
  330.  
  331. VARF(6) = XEPSP
  332.  
  333. VARF(10) = XEPSF
  334.  
  335.  
  336.  
  337. C-----Les contraintes
  338.  
  339. SIGF = SIG
  340.  
  341.  
  342.  
  343. C-----Fin de l integration
  344.  
  345. RETURN
  346.  
  347. END
  348.  

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