Télécharger ftnc3d.eso

Retour à la liste

Numérotation des lignes :

ftnc3d
  1. C FTNC3D SOURCE PV090527 23/01/27 21:15:35 11574
  2. subroutine ftnc3d(NBRINC,NINC,NDIMG,SIGMA,FRAC,GCH,
  3. # bwPw,bgPg,FTH,AFFICHE,ERR1)
  4.  
  5. c calcul des forces thermodynamiques
  6.  
  7. implicit real*8 (a-h,o-z)
  8. implicit integer (i-n)
  9.  
  10. c dimension de la base des variables generalisees
  11. integer NDIMG,ERR1
  12. c nbr max inclusion, nbr reel inclusion
  13. integer NBRINC,NINC
  14. c contrainte en base generalisees
  15. real*8 sigma(NDIMG),ea(NDIMG),dea(NDIMG)
  16. c fractions volumiques des phases
  17. real*8 FRAC(0:NBRINC)
  18. c indicateur de diffusion produits chimiques dans fissure
  19. real*8 GCH(0:NBRINC)
  20. c direction des ecoulements
  21. real*8 FTH(NDIMG)
  22. c donnes poro-mechaniques (eau, gel, dechrage)
  23. real*8 bwPw(0:NBRINC),bgPg(0:NBRINC)
  24.  
  25. logical affiche,affiche_local
  26.  
  27. c config affichage local
  28. affiche_local=affiche
  29. c affiche_local=.true.
  30.  
  31. if(NDIMG.ne.12) then
  32. print*,'PB NDIMG ne 3*NBRINC+3=12 dans ftnc3d'
  33. err1=1
  34. return
  35. end if
  36.  
  37. if (affiche_local) then
  38. print*,'dans FthR1inc3d'
  39. write(*,'(12(A4,i2,A2,e10.3,/))')
  40. # ('sig(',i,')=',sigma(i),i=1,12)
  41. end if
  42.  
  43. if (affiche_local) then
  44. write(*,'(2(A4,i2,A2,e10.3,/))')
  45. # ('bwpw',i-1,'=',bwpw(i-1),i=1,2)
  46. end if
  47. if (affiche_local) then
  48. write(*,'(2(A4,i2,A2,e10.3,/))')
  49. # ('bgpg',i-1,'=',bgpg(i-1),i=1,2)
  50. end if
  51. c initialisation
  52. if(ninc.ne.1) then
  53. print*,'Pb dans ftnc3d'
  54. err1=1
  55. return
  56. end if
  57. do i=1,NDIMG
  58. FTH(i)=0.d0
  59. end do
  60. f=FRAC(1)
  61.  
  62. t7 = 0.1D1 - f
  63. t8 = f * t7
  64. t9 = sigma(10) - bwPw(0) - bgPg(0)
  65. t10 = t9 * t8
  66. t12 = sigma(11) - bwPw(0) - bgPg(0)
  67. t13 = t12 * t8
  68. t15 = sigma(12) - bwPw(0) - bgPg(0)
  69. t16 = t15 * t8
  70. t20 = (0.1D1 - 0.3D1 / 0.2D1 * f) * t7
  71. Fth(1) = f * (sigma(1) - bwPw(1) - bgPg(1))
  72. Fth(2) = f * (sigma(2) - bwPw(1) - bgPg(1))
  73. Fth(3) = f * (sigma(3) - bwPw(1) - bgPg(1))
  74. Fth(4) = t10 / 0.2D1
  75. Fth(5) = t13 / 0.2D1
  76. Fth(6) = t16 / 0.2D1
  77. Fth(7) = t10
  78. Fth(8) = t13
  79. Fth(9) = t16
  80. Fth(10) = t9 * t20
  81. Fth(11) = t12 * t20
  82. Fth(12) = t15 * t20
  83.  
  84.  
  85.  
  86.  
  87. if (affiche_local) then
  88. print*,'dans ftnc3d'
  89. write(*,'(12(A4,i2,A2,e10.3,/))')
  90. # ('FTH(',i,')=',FTH(i),i=1,12)
  91. end if
  92.  
  93. return
  94. end
  95.  
  96.  
  97.  
  98.  
  99.  

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