Télécharger dohdst.eso

Retour à la liste

Numérotation des lignes :

dohdst
  1. C DOHDST SOURCE CHAT 05/01/12 22:53:30 5004
  2. SUBROUTINE DOHDST(VELA,MATE,IFOU,LHOOK,DDHOOK,IRET)
  3. C
  4. C=======================================================================
  5. C
  6. C MATRICE DE HOOKE DES COQUES MINCES AVEC CISAILLEMENT TRANSVERSE
  7. C POUR L'ELEMENT DST
  8. C ENTREES
  9. C VELA() = materiau dans un tableau de travail
  10. C MATE = Nom du materiau
  11. C IFOU = num{ro d'harmonique de fourier: IFOUR de CCOPTIO
  12. C LHOOK = taille de la matrice de hooke
  13. C
  14. C SORTIES
  15. C DDHOOK(LHOOK,LHOOK) = matrice de hooke
  16. C IRET = 1 si option existante 0 SINON
  17. C
  18. C=======================================================================
  19. C
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22. PARAMETER(UNDEMI=.5D0,XZER=0.0D0,XK=1.2D0)
  23. PARAMETER(UN=1.D0,DEUX=2.D0)
  24. CHARACTER*8 MATE
  25. C
  26. DIMENSION VELA(*),DDHOOK(LHOOK,*)
  27. C
  28. IRET=1
  29. CALL ZERO(DDHOOK,LHOOK,LHOOK)
  30. C
  31. C MATERIAU ISOTROPE
  32. C
  33. IF(MATE.EQ.'ISOTROPE') THEN
  34. C
  35. C CAS TRIDIMENSIONNEL
  36. C
  37. IF(IFOU.EQ.2) THEN
  38. YOU =VELA(1)
  39. XNU =VELA(2)
  40. AUX=YOU/(UN-XNU*XNU)
  41. AUX1=AUX*XNU
  42. GEGE=YOU*UNDEMI/(UN+XNU)
  43. C
  44. DDHOOK(1,1)=AUX
  45. DDHOOK(2,1)=AUX1
  46. DDHOOK(1,2)=AUX1
  47. DDHOOK(2,2)=AUX
  48. DDHOOK(3,3)=GEGE
  49. C
  50. DDHOOK(4,4)=AUX
  51. DDHOOK(5,4)=AUX1
  52. DDHOOK(4,5)=AUX1
  53. DDHOOK(5,5)=AUX
  54. DDHOOK(6,6)=GEGE
  55. C
  56. DDHOOK(7,7)=GEGE/XK
  57. DDHOOK(8,8)=GEGE/XK
  58. ELSE
  59. IRET=0
  60. ENDIF
  61. C
  62. C MATERIAU ORTHOTROPE OU UNIDIRECTIONNEL
  63. C
  64. ELSE IF(MATE.EQ.'ORTHOTRO'.OR.
  65. 1 MATE.EQ.'UNIDIREC')THEN
  66. C
  67. C CAS TRIDIMENSIONNEL
  68. C
  69. IF(IFOU.EQ.2)THEN
  70. C
  71. IF(MATE.EQ.'ORTHOTRO')THEN
  72. YG1 = VELA(1)
  73. YG2 = VELA(2)
  74. XNU12 = VELA(3)
  75. G12 = VELA(4)
  76. G23 = VELA(5)
  77. G13 = VELA(6)
  78. C
  79. X1NUNU = UN - (XNU12**2) * YG2 / YG1
  80. DDHOOK(1,1) = YG1 / X1NUNU
  81. DDHOOK(2,2) = YG2 / X1NUNU
  82. DDHOOK(1,2) = XNU12 * DDHOOK(2,2)
  83. DDHOOK(2,1) = DDHOOK(1,2)
  84. DDHOOK(3,3) = G12
  85. DDHOOK(1,3) = XZER
  86. DDHOOK(2,3) = XZER
  87. DDHOOK(3,1) = XZER
  88. DDHOOK(3,2) = XZER
  89. C
  90. DO 100 IC=1,3
  91. IC3=IC+3
  92. DO 100 IL=1,3
  93. IL3=IL+3
  94. DDHOOK(IL3,IC3)=DDHOOK(IL,IC)
  95. 100 CONTINUE
  96. DDHOOK(7,7) = G13/XK
  97. DDHOOK(8,8) = G23/XK
  98. ELSE
  99. DDHOOK(1,1)=VELA(1)
  100. DDHOOK(4,4)=VELA(1)
  101. ENDIF
  102. ELSE
  103. IRET=0
  104. ENDIF
  105. ELSE
  106. IRET=0
  107. ENDIF
  108. RETURN
  109. END
  110.  
  111.  

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