Télécharger elocrak2.eso

Retour à la liste

Numérotation des lignes :

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

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