Télécharger hyxm3d.eso

Retour à la liste

Numérotation des lignes :

hyxm3d
  1. C HYXM3D SOURCE PV090527 23/01/27 21:15:39 11574
  2. c***********************************************************************
  3. subroutine hyxm3d(xmat0,xmat00,xmat1,hydra1,hydras,hydrar,
  4. # non_lin,erreur)
  5. c effet de l hydratation sur les caracteristiques materiau
  6. c declaration externe
  7. real*8 xmat0,xmat1,hydra1,hydras,hydrar,xmat00,non_lin
  8. integer erreur
  9. c declaration locale
  10. real*8 yy,zz,zzmin,hydra
  11. c avant le seuil d hydratation on a 1e-3 des caracteristiques
  12. parameter (zzmin=0.d0)
  13. c initialisation controle d erreur
  14. c erreur=0
  15. if((hydras.lt.0.d0).or.(hydras.gt.1.d0).
  16. # or.(hydrar.le.hydras)) then
  17. print*,'------->Donnees incoherentes dans hyxm3d'
  18. print*,'0<HYDR<1 0<HYDS<1 HREF>HYDS cf. hydra3d.eso'
  19. print*,xmat0,xmat00,xmat1,hydra1,hydras,hydrar,non_lin
  20. c read*
  21. xmat1=xmat0
  22. return
  23. end if
  24. hydra=min(hydra1,1.d0)
  25. hydra=max(hydra,0.d0)
  26. if(hydra.ne.hydrar)then
  27. if (hydra.gt.hydras) then
  28. c intrpoation de DeSchutter
  29. if(hydrar-hydras.le.0.) then
  30. print*,'Pb dans hydrxamt3d de fluendo3'
  31. print*,'HREF=HYDS impossible'
  32. return
  33. end if
  34. yy=(hydra-hydras)/(hydrar-hydras)
  35. xmat1=(xmat00-xmat0)*(yy**non_lin)+xmat0
  36. else
  37. c valeur constante tant que hydra1<hydras
  38. xmat1=xmat0
  39. end if
  40. else
  41. c on adopte directement la velaur de reference
  42. xmat1=xmat00
  43. end if
  44.  
  45. c print*,'ds hydrxmat'
  46. c print*,xmat0,xmat1,hydra1,hydras,non_lin,erreur
  47.  
  48. return
  49. end
  50.  
  51.  
  52.  

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