Télécharger elocrak2.eso

Retour à la liste

Numérotation des lignes :

  1. C ELOCRAK2 SOURCE PV 19/02/05 21:15:06 10105
  2. SUBROUTINE ELOCRAK2 (WRK52,WRK53,WRK54,WRKK2,NSTRS1,NVARI,
  3. 1 ICARA,JDIM,IFOUR2)
  4. C
  5. C====&===1=========2=========3=========4=========5=========6=========7==
  6. C Commentaires : Subroutine permettant de mettre en oeuvre le
  7. C modele ELOCRACK (CEA) pour representer
  8. C le comportement cyclique du béton sous
  9. C sollicitations sismiques
  10. C
  11. C Traits : -
  12. C -
  13. C -
  14. C -
  15. C -
  16. C
  17. C Auteur : B. Richard (Dr - Ing.) - CEA/DEN/DANS/DM2S/SEMT/EMSI
  18. C====&===1=========2=========3=========4=========5=========6=========7==
  19. C
  20. C----DECLARATION GENERALES----------------------------------------------
  21. C
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8(A-H,O-Z)
  24. C
  25. C----LES INCLUDES-------------------------------------------------------
  26. C
  27. -INC CCOPTIO
  28. -INC DECHE
  29. -INC CCREEL
  30. C
  31. C----DECLARATION PARAMETRES---------------------------------------------
  32. C
  33. SEGMENT WRKK2
  34. REAL*8 EPSILI(NSTRS1)
  35. ENDSEGMENT
  36.  
  37. SEGMENT WRK3
  38. REAL*8 EPSILO(NSTRS1)
  39. ENDSEGMENT
  40.  
  41. INTEGER NSTRS1,NVARI,ISTRS,JSTRS,KCAS,IRTD
  42.  
  43. REAL*8 EPS33(3,3),EPSIPP(3),VALP33(3,3)
  44. REAL*8 YOUN,XNU,XYDT,XDELTA,EPSIP1(3)
  45. REAL*8 UN,DEUX
  46.  
  47. PARAMETER ( UN=1.D0 , DEUX=2.D0)
  48. C
  49. C----MISE EN DONNEE-----------------------------------------------------
  50. C
  51. N=NSTRS1
  52.  
  53. CMATE = 'ISOTROPE'
  54.  
  55. C Module d Young et coefficient de Poisson
  56. YOUN = XMAT(1)
  57. XNU = XMAT(2)
  58.  
  59. C Resistance et parametre endommagement traction
  60. XFT = XMAT(5)
  61. XEPSUT = XMAT(6)
  62. XY0T = XFT/YOUN
  63.  
  64. C Resistance et parametre endommagement compression
  65. XFC = XMAT(7)
  66. XEPSUC = XMAT(8)
  67. XY0C = XFC/YOUN
  68. C
  69. C----VARIABLES INTERNES-------------------------------------------------
  70. C
  71. C Deformation totale
  72. EPSILI(1) = VAR0(1)
  73. EPSILI(2) = VAR0(2)
  74. EPSILI(3) = VAR0(3)
  75. EPSILI(4) = VAR0(4)
  76.  
  77. C Endommagement et ecrouissage traction
  78. XDT = VAR0(7)
  79. XZT = VAR0(8)
  80.  
  81. C Endommagement et ecrouissage traction
  82. XDC = VAR0(9)
  83. XZC = VAR0(10)
  84.  
  85. C
  86. C----ACTUALISATION DEFORMATION------------------------------------------
  87. C
  88. SEGINI WRK3
  89. DO 100 ISTRS=1,NSTRS1
  90. EPSILO(ISTRS)=EPSILI(ISTRS)+DEPST(ISTRS)
  91. 100 CONTINUE
  92.  
  93. C
  94. C----PASSAGE EN MATRICIEL-----------------------------------------------
  95. C
  96. CALL ENDOCB (EPSILO,EPS33,2,IFOUR2)
  97. C
  98. C----CALCUL DE L ENDOMMAGEMENT------------------------------------------
  99. C
  100.  
  101. C Indicateur pour le sens du chargement
  102. XINDQ = SIG0(1)+SIG0(2)
  103.  
  104. C Diagonalisation des deformations de membrane
  105. C ! La diagonalisation est analytique car absence de !
  106. C ! convergence ... voire resultats faux ... !
  107. C ! en cas de distorsion pure !
  108. XDELTA = (EPS33(1,1)-EPS33(2,2))**2.0D0+EPS33(1,2)**2.0D0
  109. XDELTA = SQRT(XDELTA)
  110.  
  111. EPSIPP(1) = (EPS33(1,1) + EPS33(2,2) + XDELTA)/2.0D0
  112. EPSIPP(2) = (EPS33(1,1) + EPS33(2,2) - XDELTA)/2.0D0
  113. EPSIPP(3) = -(EPSIPP(1) + EPSIPP(2))*XNU / (UN-XNU)
  114.  
  115. C Energie due a l endommagement traction
  116. DO I = 1,3
  117. EPSIP1(I) = 0.5D0*(ABS(EPSIPP(I))+EPSIPP(I))
  118. ENDDO
  119.  
  120. XYDT = 0.0D0
  121. DO I = 1,3
  122. XYDT = XYDT + (EPSIP1(I))**2.0D0
  123. ENDDO
  124.  
  125. XYDT = SQRT(XYDT)
  126.  
  127. C Seuil d'endommagement traction
  128. IF (XINDQ.GE.0.0D0) THEN
  129. XINDQT = 1.0D0
  130. ELSE
  131. XINDQT = 0.0D0
  132. ENDIF
  133.  
  134. XFDT = XYDT*XINDQT -(XY0T + XZT)
  135. xrf=abs(xydt*xindqt)*xzprec
  136.  
  137. C Calcul de l'endommagement en traction
  138. IF (XFDT.GT.-xrf) THEN
  139. XDT = 1.0D0-(XY0T/XYDT)*EXP(XEPSUT*(XY0T-XYDT)*XFT)
  140. XZT = XYDT - XY0T
  141. ENDIF
  142.  
  143. IF (XDT.GE.0.999D0) THEN
  144. XDT = 0.999D0
  145. ENDIF
  146.  
  147. C Seuil d'endommagement compression
  148. IF (XINDQ.LT.0.0D0) THEN
  149. XINDQC = 1.0D0
  150. ELSE
  151. XINDQC = 0.0D0
  152. ENDIF
  153.  
  154. XFDC = XYDT*XINDQC -(XY0C + XZC)
  155. xrf=abs(xydt*xindqc)*xzprec
  156.  
  157. IF (XFDC.GT.-xrf) THEN
  158. XDC = 1.0D0-(XY0C/XYDT)*EXP(XEPSUC*(XY0C-XYDT)*XFC)
  159. XZC = XYDT -XY0C
  160. ENDIF
  161. C
  162. C----MATRICE DE HOOKE---------------------------------------------------
  163. C
  164. CMATE = 'ISOTROPE'
  165. KCAS=1
  166.  
  167. CALL DOHMAS(XMAT,CMATE,IFOUR2,NSTRS1,KCAS,DDHOOK,IRTD)
  168.  
  169. CALL MATVE1 (DDHOOK,EPSILO,NSTRS1,NSTRS1,SIGF,2)
  170. C
  171. C----SORTIE DES CONTRAINTES---------------------------------------------
  172. C
  173. DO 500 ISTRS=1,NSTRS1
  174. SIGF(ISTRS)=SIGF(ISTRS)*(1.0D0-XDT*XINDQT)*(1.0D0-XDC*XINDQC)
  175. 500 CONTINUE
  176. C
  177. C----SORTIE DES VARIABLES INTERNES--------------------------------------
  178. C
  179.  
  180. C Deformation totale
  181. VARF(1) = EPSILO(1)
  182. VARF(2) = EPSILO(2)
  183. VARF(3) = EPSILO(3)
  184. VARF(4) = EPSILO(4)
  185.  
  186. C Endommagement et ecrouissage traction
  187. VARF(7) = XDT
  188. VARF(8) = XZT
  189.  
  190. C Endommagement et ecrouissage traction
  191. VARF(9) = XDC
  192. VARF(10) = XZC
  193.  
  194. SEGSUP WRK3
  195. RETURN
  196. END
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  

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