Télécharger watr3d.eso

Retour à la liste

Numérotation des lignes :

watr3d
  1. C WATR3D SOURCE FD218221 24/02/07 21:15:30 11834
  2. c**********************************************************************
  3. subroutine watr3d(mfr,biotw,poro,vw,xnsat,mw,pw,bw,srw,teta,
  4. # tetar,dtetak,pw0,Mwat,dphiw,bw0,bw1)
  5.  
  6. c calcul de la pression hydrique en saturé et non saturé
  7.  
  8. implicit real*8 (a-h,o-z)
  9. implicit integer (i-n)
  10.  
  11. c variables externes
  12. integer mfr
  13. real*8 biotw,poro,vw,xnsat,mw,pw,bw,srw,teta,xnsat1,pw0,Mwat,dphiw
  14.  
  15. c variables locales
  16. real*8 vvw,mw1
  17.  
  18. c **** pression capillaire si non sature actif *********************
  19.  
  20. if(mfr.ne.33) then
  21. c formulation non poreuse : on ne traite que les depression hydriques
  22. vvw=poro
  23. if(poro.ne.0.) then
  24. srw=(vw/vvw)
  25. else
  26. srw=1.d0
  27. end if
  28. bw=srw*biotw
  29. bw1=bw
  30. if(vw.lt.vvw) then
  31. if(srw.gt.0.0d0) then
  32. srw=min(srw,1.d0)
  33. else
  34. srw=0.01d0
  35. end if
  36. c van genuchten
  37. if(mw.ne.0.) then
  38. mw1=mw
  39. xnsat1=xnsat*exp(-(teta-tetar)/(dtetak))
  40. pw=-xnsat1*(srw**(-1.d0/mw1)-1.d0)**(1.d0-mw1)
  41. Mwat=xnsat1
  42. if(xnsat1.ne.0.) then
  43. dphiw=(pw-pw0)/xnsat1
  44. else
  45. dphiw=0.d0
  46. end if
  47. else
  48. print*,'MVGN ne devrait pas etre nul pour bwpw'
  49. print*,'mise a zero de la pression capillaire dans bwpw'
  50. read*
  51. pw=0.d0
  52. Mwat=0.d0
  53. dphiw=0.d0
  54. bw=0.d0
  55. bw1=bw
  56. end if
  57. else
  58. pw=0.d0
  59. bw=biotw
  60. bw1=bw
  61. srw=1.d0
  62. Mwat=0.d0
  63. c (milieu / squelette drainé ?)
  64. dphiw=0.d0
  65. end if
  66. else
  67. c en poreux la pression d eau n est pas geree dans le modele local
  68. c il serait possible de gerer le complement au calcul poro meca
  69. c si necessaire (supplement de pression/ resolution poro elastique)
  70. srw=1.0
  71. pw=0.d0
  72. bw=biotw
  73. bw1=bw
  74. Mwat=0.d0
  75. dphiw=0.d0
  76. print*,'ERREUR dans watr3d.eso srw=',srw,' imprevu pour '
  77. print*,'formulation poreuse'
  78. c cela influe sur la vitesse de fluage...
  79. end if
  80. c print*,'watr3d :bw',bw,'pw',pw,Mwat,dphiw
  81. return
  82. end
  83. c**********************************************************************
  84.  
  85.  
  86.  
  87.  

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