Télécharger elocrak2.eso

Retour à la liste

Numérotation des lignes :

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

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