Télécharger dfgd3d.eso

Retour à la liste

Numérotation des lignes :

dfgd3d
  1. C DFGD3D SOURCE PV090527 23/01/27 21:15:24 11574
  2. subroutine dfgd3d(NBRINC,NDIMG,FRAC,GCH,DFGDS,AFFICHE)
  3. c d Fthg/d sigma (Hessian de la dissipation en deformation)
  4.  
  5. implicit real*8 (a-h,o-z)
  6. implicit integer (i-n)
  7.  
  8. c nombre maxi d inclusion consideree pour les declarations locales
  9. integer NBRINC
  10. c indicateur de diffusion produits chimiques dans fissure
  11. real*8 GCH(0:NBRINC)
  12. c fractions volumiques des phases
  13. real*8 FRAC(0:NBRINC)
  14. c derivee des criteres par rapport aux contrainte effectives
  15. real*8 DFGDS(NDIMG,NDIMG)
  16. logical AFFICHE
  17.  
  18. f=FRAC(1)
  19. do i=1,ndimg
  20. do j=1,ndimg
  21. dfgds(i,j)=0.d0
  22. end do
  23. end do
  24.  
  25. t1 = 0.1D1 - f
  26. t1 = 0.1D1 / t1
  27. t2 = Gch(0) ** 2
  28. t3 = f ** 2
  29. t4 = t1 ** 2
  30. t2 = f * (-t2 * t3 * t4 / 0.18D2 + 0.2D1 + t2 * f * t4 * (-0.4D1 /
  31. # 0.9D1 * f + 0.1D1 / 0.2D1))
  32. t4 = f * (-0.4D1 / 0.3D1 * Gch(1) - 0.2D1 / 0.3D1 * Gch(0) * f * t
  33. #1)
  34. t5 = Gch(0) * f * t1 * (-0.5D1 / 0.6D1 * f + 0.1D1 / 0.3D1)
  35. t6 = -0.2D1 * t5
  36. t7 = Gch(0) * t3 * t1 / 0.6D1
  37. t3 = Gch(0) * t3 * t1 / 0.3D1
  38. t1 = (0.2D1 / 0.3D1 * Gch(1) + Gch(0) * f * t1 / 0.3D1) * f
  39. t8 = 0.17D2 / 0.35D2 * f
  40. t9 = 0.6D1 / 0.35D2 * f
  41. t10 = 0.12D2 / 0.35D2 * f
  42. t11 = Gch(1) ** 2
  43. t11 = f * (0.2D1 * t11 + 0.16D2 / 0.7D1)
  44. t12 = -0.22D2 / 0.35D2 * f
  45. t13 = -0.34D2 / 0.7D1 * f + 0.2D1
  46. dfgds(1,1) = t2
  47. dfgds(1,4) = t7
  48. dfgds(1,5) = -t3
  49. dfgds(1,6) = -t3
  50. dfgds(1,7) = t1
  51. dfgds(1,8) = t4
  52. dfgds(1,9) = t4
  53. dfgds(1,10) = t5
  54. dfgds(1,11) = t6
  55. dfgds(1,12) = t6
  56. dfgds(2,2) = t2
  57. dfgds(2,4) = -t3
  58. dfgds(2,5) = t7
  59. dfgds(2,6) = -t3
  60. dfgds(2,7) = t4
  61. dfgds(2,8) = t1
  62. dfgds(2,9) = t4
  63. dfgds(2,10) = t6
  64. dfgds(2,11) = t5
  65. dfgds(2,12) = t6
  66. dfgds(3,3) = t2
  67. dfgds(3,4) = -t3
  68. dfgds(3,5) = -t3
  69. dfgds(3,6) = t7
  70. dfgds(3,7) = t4
  71. dfgds(3,8) = t4
  72. dfgds(3,9) = t1
  73. dfgds(3,10) = t6
  74. dfgds(3,11) = t6
  75. dfgds(3,12) = t5
  76. dfgds(4,1) = t7
  77. dfgds(4,2) = -t3
  78. dfgds(4,3) = -t3
  79. dfgds(4,4) = t9
  80. dfgds(4,7) = t10
  81. dfgds(4,10) = t8
  82. dfgds(5,1) = -t3
  83. dfgds(5,2) = t7
  84. dfgds(5,3) = -t3
  85. dfgds(5,5) = t9
  86. dfgds(5,8) = t10
  87. dfgds(5,11) = t8
  88. dfgds(6,1) = -t3
  89. dfgds(6,2) = -t3
  90. dfgds(6,3) = t7
  91. dfgds(6,6) = t9
  92. dfgds(6,9) = t10
  93. dfgds(6,12) = t8
  94. dfgds(7,1) = t1
  95. dfgds(7,2) = t4
  96. dfgds(7,3) = t4
  97. dfgds(7,4) = t10
  98. dfgds(7,7) = t11
  99. dfgds(7,10) = t12
  100. dfgds(8,1) = t4
  101. dfgds(8,2) = t1
  102. dfgds(8,3) = t4
  103. dfgds(8,5) = t10
  104. dfgds(8,8) = t11
  105. dfgds(8,11) = t12
  106. dfgds(9,1) = t4
  107. dfgds(9,2) = t4
  108. dfgds(9,3) = t1
  109. dfgds(9,6) = t10
  110. dfgds(9,9) = t11
  111. dfgds(9,12) = t12
  112. dfgds(10,1) = t5
  113. dfgds(10,2) = t6
  114. dfgds(10,3) = t6
  115. dfgds(10,4) = t8
  116. dfgds(10,7) = t12
  117. dfgds(10,10) = t13
  118. dfgds(11,1) = t6
  119. dfgds(11,2) = t5
  120. dfgds(11,3) = t6
  121. dfgds(11,5) = t8
  122. dfgds(11,8) = t12
  123. dfgds(11,11) = t13
  124. dfgds(12,1) = t6
  125. dfgds(12,2) = t6
  126. dfgds(12,3) = t5
  127. dfgds(12,6) = t8
  128. dfgds(12,9) = t12
  129. dfgds(12,12) = t13
  130.  
  131.  
  132.  
  133.  
  134.  
  135. if(affiche) then
  136. print*,'DFGDS dans DFGD3D'
  137. do i=1,18
  138. write(*,'(18(1X,E10.3))')
  139. # (dfgds(i,j),j=1,18)
  140. end do
  141. end if
  142.  
  143.  
  144.  
  145. return
  146. end
  147.  
  148.  
  149.  

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