Télécharger ricbetf1.eso

Retour à la liste

Numérotation des lignes :

  1. C RICBETF1 SOURCE CB215821 16/04/21 21:18:16 8920
  2. SUBROUTINE RICBETF1(XMAT,DEPS,SIG0,VAR0,SIGF,VARF)
  3. C
  4. C====&===1=========2=========3=========4=========5=========6=========7==
  5. C Commentaires : Subroutine permettant de mettre en oeuvre le
  6. C modele RICBET pour representer
  7. C le comportement simplifie d'un beton ordinaire sous
  8. C sollicitations cycliques
  9. C
  10. C Traits : - Endommagement scalaire
  11. C - Glissement frottant
  12. C - multifibre
  13. C - Monotone et cyclique
  14. C - Effet unilatteral
  15. C - Comportement non lineaire en compression
  16. C
  17. C Auteurs : B. Richard
  18. C : CEA-DEN/DANS/DM2S/SEMT/EMSI
  19. C : Benjamin.Richard@cea.fr
  20. C
  21. C Date : Mars 2011
  22. C====&===1=========2=========3=========4=========5=========6=========7==
  23. C
  24. C-----DECLARATION GENERALE----------------------------------------------
  25. C
  26. IMPLICIT INTEGER(I-N)
  27. IMPLICIT REAL*8(A-H,O-Z)
  28. C
  29. C-----DECLARATION DES VARIABLES-----------------------------------------
  30. C
  31. DIMENSION XMAT(15),DEPS(3),SIG0(3),VAR0(10),SIGF(3),VARF(10)
  32. REAL*8 VAR1(10),DEPS1(3)
  33.  
  34. C Parametre pour le nombre d iteration locales internes
  35. IMAX = 500
  36.  
  37. C Parametre pour le nombre de sous pas lie au sub-steeping
  38. NENTIER = 50
  39.  
  40. C
  41. C-----DONNEES MATERIAUX-------------------------------------------------
  42. C
  43. XYG = XMAT(1)
  44. XGC = XMAT(1)/2.0D0/(XMAT(2)+1.0D0)
  45. XNU = XMAT(2)
  46. XY0 = 0.5D0*XYG*(XMAT(5)/XMAT(1))**2.0D0
  47.  
  48. XAT = XMAT(6)
  49. XGAM = XMAT(7)
  50. XAA = XMAT(8)
  51. XSIGF= XMAT(9)
  52.  
  53. XFC = XMAT(10)
  54. XAF = XMAT(11)
  55. XAG = XMAT(12)
  56. XAC = XMAT(13)
  57. XBC = XMAT(14)
  58. XSIGU = XMAT(15)
  59.  
  60. SXX = SIG0(1)
  61. C
  62. C-----PREPARATION SUBSTEPPING-------------------------------------------
  63. C
  64. DO I=1,10
  65.  
  66. VAR1(I) = VAR0(I)
  67.  
  68. ENDDO
  69.  
  70. DO I=1,3
  71.  
  72. DEPS1(I) = DEPS(I)/NENTIER
  73.  
  74. ENDDO
  75. C
  76. C-----LANCEMENT DU SUBSTEPPING------------------------------------------
  77. C
  78. DO IQ=1,NENTIER
  79. C
  80. C-----VARIABLES INTERNES------------------------------------------------
  81. C
  82. EPSXX = VAR1(1)+DEPS1(1)
  83. EPSXY = (VAR1(2)+DEPS1(2))/2.0D0
  84. EPSXZ = (VAR1(3)+DEPS1(3))/2.0D0
  85.  
  86. C
  87. XD = VAR1(4)
  88. XZ = VAR1(5)
  89. EPSPI = VAR1(6)
  90. XEC = VAR1(7)
  91. C
  92. RECO = VAR1(8)
  93. DEFN = VAR1(9)
  94. DEFP = VAR1(10)
  95.  
  96. IF (SXX.GE.0.0D0) THEN
  97. C
  98. C-----ENDOMMAGEMENT-----------------------------------------------------
  99. C
  100.  
  101. C Partie positive de la deformation
  102. EPSXXP = 0.5D0*(ABS(EPSXX-DEFN)+(EPSXX-DEFN))
  103.  
  104. C Seuil en energie
  105. XYE=0.5D0*XYG*EPSXXP*EPSXXP
  106.  
  107. C Calcul du seuil
  108. XENDO = XYE - (XY0 + XZ)
  109.  
  110. IF ((XENDO.GT.0.0D0).AND.(SXX.GE.0.0D0)) THEN
  111. XD=1.0D0-1.0D0/(1.0D0+XAT*(XYE-XY0))
  112. XZ=XYE-XY0
  113. ENDIF
  114. C
  115. C-----GLISSEMENT INTERNE------------------------------------------------
  116. C
  117.  
  118. C La contrainte de frottement
  119. SPI = XD*XYG*((EPSXX-DEFN)-EPSPI)
  120.  
  121. C Verification du seuil de glissement interne
  122. C IF ((ABS(SPI-XEC).GT.0.0D0).AND.(SXX.GE.0.0D0)) THEN
  123.  
  124. IF (ABS(SPI-XEC).GT.0.0D0) THEN
  125. C Valeur initiale du seuil pour critere relatif
  126. XF0=ABS(SPI-XEC)
  127.  
  128. C Initialisation du multiplicateur de Lagrange
  129. XDLAM=1.0D0
  130.  
  131. C Debut des iterations internes
  132. DO I=1,IMAX
  133.  
  134. C Calcul du critere relatif
  135. SEUIL=ABS(SPI-XEC)/XF0
  136.  
  137. C Calcul de la derive du critere
  138. XSG=ABS(SPI-XEC)/(SPI-XEC)
  139.  
  140. C Calcul du multiplicateur de Lagrange
  141. XDLAM=ABS(SPI-XEC)/(XYG*XD-XSG*XGAM*(-XSG+XAA*XEC))
  142.  
  143. C Actualisation des variables internes
  144. XEC=XEC-XGAM*XDLAM*(-XSG+XAA*XEC)
  145.  
  146. SPI=SPI-XD*XYG*XDLAM*XSG
  147.  
  148. C Calcul de la deformation de glissement
  149. EPSPI=-SPI/(XD*XYG)+(EPSXX-DEFN)
  150.  
  151. C Recalcul du seuil pour eventuel arret
  152. SEUIL=ABS(SPI-XEC)/XF0
  153.  
  154. C Critere d arret
  155. IF ((SEUIL.LE.1.0D-8).OR.(XDLAM.LE.1.0D-10)) THEN
  156.  
  157. GOTO 900
  158.  
  159. ENDIF
  160.  
  161. ENDDO
  162.  
  163. ENDIF
  164.  
  165. C Balise de sortie
  166. 900 CONTINUE
  167.  
  168. SXX=XYG*(EPSXX-DEFN-XD*EPSPI)
  169.  
  170. GOTO 761
  171.  
  172. ELSEIF (SXX.LE.XSIGF) THEN
  173.  
  174. C Calcul de la contrainte effective
  175. SXX=XYG*(EPSXX-DEFN)
  176.  
  177. C Calcul du seuil plastique
  178. XFP = XAF*ABS(SXX) - (RECO + XFC)
  179.  
  180. C On test le seuil plastique
  181. IF (XFP.GT.0.0D0) THEN
  182.  
  183. C On retient le seuil pour le critere relatif
  184. XFP0 = XFP
  185.  
  186. C Debut des iterations internes
  187. DO NT=1,IMAX
  188.  
  189. XFP = XAF*ABS(SXX) - (RECO + XFC)
  190.  
  191. DXFP = XAF*ABS(SXX)/SXX
  192.  
  193. DXGP = XAG*ABS(SXX)/SXX
  194.  
  195. XTEMP1 = XYG*DXGP
  196.  
  197. XTEMP2 = EXP(-XBC*DEFP)*(XAC-(XAC*DEFP+XFC+XSIGU)*XBC)
  198.  
  199. XLAMP = XFP/(XTEMP1*DXFP+XTEMP2)
  200.  
  201. RECO = RECO + XTEMP2*XLAMP
  202.  
  203. DEFP = DEFP + XLAMP
  204.  
  205. DEFN = DEFN + XLAMP*DXGP
  206.  
  207. SXX = SXX - XLAMP*XTEMP1
  208.  
  209. XFP = XAF*ABS(SXX) - (RECO + XFC)
  210.  
  211. IF ((ABS(XFP/XFP0).LE.1.0D-8).OR.(XLAMP.LE.1.0D-10)) THEN
  212.  
  213. GOTO 666
  214.  
  215. ENDIF
  216.  
  217. ENDDO
  218.  
  219. ENDIF
  220.  
  221. 666 CONTINUE
  222. GOTO 761
  223.  
  224. ELSE
  225.  
  226. SXX = SXX + DEPS1(1)*XYG/
  227. & (1.0D0-(XYG*XD*EPSPI)/(XSIGF))
  228. GOTO 761
  229.  
  230. ENDIF
  231.  
  232. 761 CONTINUE
  233.  
  234. C
  235. C-----MISE A JOUR DE VAR1-----------------------------------------------
  236. C
  237. VAR1(1 ) = EPSXX
  238. VAR1(2 ) = 2.0D0*EPSXY
  239. VAR1(3 ) = 2.0D0*EPSXZ
  240. VAR1(4 ) = XD
  241. VAR1(5 ) = XZ
  242. VAR1(6 ) = EPSPI
  243. VAR1(7 ) = XEC
  244. VAR1(8 ) = RECO
  245. VAR1(9 ) = DEFN
  246. VAR1(10) = DEFP
  247. C
  248. C-----FIN DU SUBSTEPPING------------------------------------------------
  249. C
  250. ENDDO
  251. C
  252. C-----SOCKAGE EN SORTIE-------------------------------------------------
  253. C
  254. C Les variables internes
  255. VARF(1) = EPSXX
  256. VARF(2) = 2.0D0*EPSXY
  257. VARF(3) = 2.0D0*EPSXZ
  258. VARF(4) = XD
  259. VARF(5) = XZ
  260. VARF(6) = EPSPI
  261. VARF(7) = XEC
  262. VARF(8) = RECO
  263. VARF(9) = DEFN
  264. VARF(10) = DEFP
  265.  
  266. C Les contraintes
  267. SIGF(1) = SXX
  268. SIGF(2) = SIG0(2)+XGC*DEPS(2)
  269. SIGF(3) = SIG0(3)+XGC*DEPS(3)
  270.  
  271. C Fin de l integration
  272. RETURN
  273. END
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  

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