Télécharger b3_d66.eso

Retour à la liste

Numérotation des lignes :

b3_d66
  1. C B3_D66 SOURCE FD218221 24/02/07 21:15:03 11834
  2. subroutine b3_d66(nu,sn3,d66,prog1,comp)
  3. c calcul de la matrice d'endommagement 6*6 en base principale des endommagements
  4. c hypothese du materiau orthotrope dans les directions principales de fissuration
  5. c sn=1/(1-d Normal)
  6. c sp=1/(1-d Poisson)
  7. implicit real*8 (a-h,o-z)
  8. implicit integer (i-n)
  9. c declaration externe
  10. real*8 d66(6,6),sn3(3)
  11. real*8 nu
  12. logical prog1,comp
  13. c declarations locales
  14. integer i,j,k,l
  15. real*8 s33(3,3)
  16. real*8 d1,d2,d3,sdmax,smax,sdmin
  17. c limitation l'endo si prog1=.true. (pas le cas actuellement)
  18. if(prog1) then
  19. smax=1.0d5
  20. do i=1,3
  21. sn3(i)=min(sn3(i),smax)
  22. end do
  23. end if
  24. c initialisation de la matrice d endommagement dt66
  25. 10 do i=1,6
  26. do j=1,6
  27. d66(i,j)=0.d0
  28. end do
  29. end do
  30. if(comp) then
  31. c endommagement simplifie (pas de couplage directionnel)
  32. do i=1,3
  33. do j=1,3
  34. if (i.eq.j)then
  35. s33(i,j)=1.d0/sn3(i)
  36. else
  37. s33(i,j)=0.d0
  38. end if
  39. end do
  40. end do
  41. else
  42. c endommagement complet (othotrope avec endo de E et Nu)
  43. c permet d attenuer l'effet de Poisson orthogonal a la direction d'endo
  44. c si comp est a .false. (cas actuel)
  45.  
  46. C A. Sellier, G. Casaux-Ginestet, L. Buffo-Lacarrière, X. Bourbon,
  47. C Orthotropic damage coupled with localized crack reclosure processing. Part I: Constitutive laws,
  48. C Engineering Fracture Mechanics,
  49. C Volume 97,
  50. C 2013,
  51. C Pages 148-167,
  52. C ISSN 0013-7944,
  53. C https://doi.org/10.1016/j.engfracmech.2012.10.012.
  54.  
  55. 20 d1=1.d0-1.d0/sn3(1)
  56. d2=1.d0-1.d0/sn3(2)
  57. d3=1.d0-1.d0/sn3(3)
  58. t1 = nu ** 2
  59. t2 = 2.d0 * nu
  60. t4 = t1* d3* d2
  61. t6 = nu - 1.d0
  62. t8 = t1 * nu
  63. t13 = t8 * d1
  64. t15 = t1 * d1
  65. t16 = t15 * d2
  66. t21 = t15 * d3
  67. t22 = -t8 +3.d0 * t1 -3.d0 * nu + 1.d0 + t8 * d3 * d2 - t4 + t13
  68. # * d2 - t16 + 2.d0 * t13 * d2 * d3 + t13 * d3 - t21
  69. t23 = 1.d0 / t22
  70. t24 = -1.d0 + d1
  71. t27 = nu * d2
  72. t28 = nu * d3
  73. t29 = nu - 1.d0 + t28
  74. t31 = t6 * t23
  75. t32 = t31 * t24
  76. t34 = t27 + nu - 1.d0
  77. t37 = nu * d1
  78. t39 = -1.d0 + d2
  79. t40 = t31 * t39
  80. t46 = nu - 1.d0 + t37
  81. t50 = -1.d0 + d3
  82. t51 = t31 * t50
  83. s33(1,1) = -(-t1 + t2 - 1.d0 + t4) * t6 * t23 * t24
  84. s33(1,2) = t27 * t29 * t32
  85. s33(1,3) = t28 * t34 * t32
  86. s33(2,1) = t37 * t29 * t40
  87. s33(2,2) = -(-t1 + t2 - 1.d0 + t21) * t6 * t23 * t39
  88. s33(2,3) = t28 * t46 * t40
  89. s33(3,1) = t37 * t34 * t51
  90. s33(3,2) = t27 * t46 * t51
  91. s33(3,3) = -(-t1 + t2 - 1.d0 + t16) * t6 * t23 * t50
  92. end if
  93. c print*,'1-dt33 ds b3_d66'
  94. c call afic33(s33)
  95. c read*
  96. do i=1,3
  97. do j=1,3
  98. if(i.eq.j) then
  99. d66(i,j)=1.d0-s33(i,j)
  100. else
  101. d66(i,j)=-s33(i,j)
  102. end if
  103. end do
  104. end do
  105. c calcul des termes de cisaillement
  106. do i=4,6
  107. call indce0(i,k,l)
  108. c endommagement effectif = max des deux facettes fissuree
  109. c sdmax=max(sn3(k),sn3(l))
  110. c d66(i,i)=1.d0-1.d0/sdmax
  111. c endommagement effectif = min des deux facettes fissuree
  112. c endommagement effectif de cisaillement (theorie du maillon faible)
  113. c modif dec2022
  114. c sdmin=min(sn3(k),sn3(l))
  115. sdmin=sn3(k)*sn3(l)
  116. d66(i,i)=1.d0-1.d0/sdmin
  117. end do
  118. c affichage de la matrice d'endommagement en base principale de fissuration
  119. c print*,'endo dt66 en base principale de fissuration ds b3_d66'
  120. c call afic66(d66)
  121. c read*
  122. return
  123. end
  124.  
  125. c********************************************************************************
  126.  
  127.  
  128.  

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