Télécharger hoo03d.eso

Retour à la liste

Numérotation des lignes :

hoo03d
  1. C HOO03D SOURCE FD218221 24/02/07 21:15:13 11834
  2. subroutine hoo03d(iso,young,nu,kb,mub,ierr1,raideur66,souplesse66)
  3.  
  4. c actualisation des matrices d elasticite isotrope
  5. implicit real*8 (a-h,o-z)
  6. implicit integer (i-n)
  7.  
  8. logical iso
  9. real*8 young,nu
  10. integer ierr1
  11. real*8 lambda,Mub,Kb
  12. real*8 raideur66(6,6),souplesse66(6,6)
  13.  
  14. integer i,j
  15. c real*8 verif66(6,6)
  16.  
  17.  
  18. if (iso) then
  19. c Coefficients de Lame
  20. if(nu.eq.0.5) then
  21. print*,'Pb avec valeur de nu dans hydm3d nu=',nu
  22. ierr1=1
  23. return
  24. end if
  25. Kb=young/3.d0/(1.d0-2.d0*nu)
  26. lambda=young*nu/(1.d0+nu)/(1.d0-2.d0*nu)
  27. Mub=young/2.d0/(1.d0+nu)
  28. c tenseurs de la loi de comportement en base fixe
  29. do i=1,6
  30. do j=1,6
  31. if (i.eq.j) then
  32. if(i.le.3) then
  33. raideur66(i,j)=lambda+2.d0*Mub
  34. souplesse66(i,j)=1.d0/young
  35. else
  36. raideur66(i,j)=2.d0*Mub
  37. souplesse66(i,j)=(raideur66(i,j))**(-1)
  38. end if
  39. else
  40. if ((j.le.3).and.(i.le.3)) then
  41. raideur66(i,j)=lambda
  42. souplesse66(i,j)=-nu/young
  43. else
  44. raideur66(i,j)=0.d0
  45. souplesse66(i,j)=0.d0
  46. end if
  47. end if
  48. end do
  49. end do
  50. c print*,'dans hoo03d'
  51. c call afic66(raideur66)
  52. c call afic66(souplesse66)
  53. cc test inverse
  54. c do i=1,6
  55. c do j=1,6
  56. c verif66(i,j)=0.d0
  57. c do k=1,6
  58. c verif66(i,j)=verif66(i,j)+raideur66(i,k)*souplesse66(k,j)
  59. c enddo
  60. c enddo
  61. c enddo
  62. c call afic66(verif66)
  63. c read*
  64. else
  65. print*,'ERREUR dans hoo03d.eso'
  66. print*,'programmer autres matrices d elasticite'
  67. print*,'pour continuer en anisotrope'
  68. ierr1=1
  69. end if
  70. return
  71. end
  72.  

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