Télécharger thetis.eso

Retour à la liste

Numérotation des lignes :

thetis
  1. C THETIS SOURCE BP208322 15/06/22 21:23:24 8543
  2.  
  3. C=======================================================================
  4. C= T H E T I S =
  5. C= ----------- =
  6. C= =
  7. C= Fonction : =
  8. C= ---------- =
  9. C= Calcul des contraintes d'origine THERMIQUE dans le cas des =
  10. C= materiaux ISOTROPES. Sousprogramme appele par EPTHP (epthp.eso). =
  11. C= =
  12. C= Parametres : (E)=Entree (S)=Sortie =
  13. C= ------------ =
  14. C= MFR (E) Numero de la FORMULATION utilisee =
  15. C= MELE (E) Numero de l'element fini dans NOMTP (cf. CCHAMP) =
  16. C= VALMAT (E) Tableau des caracteristiques du materiau =
  17. C= NSTRS (E) Nombre de composantes de contraintes =
  18. C= NPINT (E) Nombre de points d'integration pour les coques =
  19. C= TEMP (E) Temperature au point de Gauss considere =
  20. C= THIF (E) | Temperatures des differentes couches =
  21. C= THM (E) | dans les cas des elements coques =
  22. C= THSU (E) | (couches INFErieure, MOYEnne, SUPErieure) =
  23. C= E3 (E) Excentrement dans la cas d'elements coques =
  24. C= SD (E) Section dans le cas d'elements barres =
  25. C= EPAIST (E) Epaisseur dans le cas d'elements coques =
  26. C= RES (S) Tableau des valeurs des contraintes thermiques =
  27. C= KERRE (S) Indicateur d'erreur si non nul =
  28. C=======================================================================
  29.  
  30. SUBROUTINE THETIS (MFR,MELE,VALMAT,NSTRS,NPINT,TEMP,THIF,
  31. . THM,THSU,E3,SD,EPAIST,RES,KERRE)
  32.  
  33. IMPLICIT INTEGER(I-N)
  34. IMPLICIT REAL*8 (A-H,O-Z)
  35.  
  36.  
  37. -INC PPARAM
  38. -INC CCOPTIO
  39. -INC CCHAMP
  40.  
  41. DIMENSION VALMAT(*),RES(*)
  42.  
  43. KERRE=0
  44.  
  45. C 1 - Elements MASSIFS et POREUX
  46. C ================================
  47. IF (MFR.EQ.1.OR.MFR.EQ.33.OR.MFR.EQ.31.OR.MFR.EQ.63) THEN
  48. YOU=VALMAT(1)
  49. XNU=VALMAT(2)
  50. ALPDT=VALMAT(3)*TEMP
  51. C= 1.1 - Bidimensionnel PLAN Contraintes Planes
  52. IF (IFOUR.EQ.-2) THEN
  53. AUX=YOU*ALPDT/(1.D0-XNU)
  54. RES(1)=AUX
  55. RES(2)=AUX
  56. RES(3)=0.
  57. RES(4)=0.
  58. C= 1.2 - Bidimensionnel PLAN (DP/DPGE) et Axisymetrie
  59. ELSE IF (IFOUR.EQ.-3.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN
  60. AUX=YOU*ALPDT/(1.D0-2.D0*XNU)
  61. RES(1)=AUX
  62. RES(2)=AUX
  63. RES(3)=AUX
  64. RES(4)=0.D0
  65. C= 1.3 - Fourier et Tridimensionnel
  66. ELSE IF (IFOUR.EQ.1.OR.IFOUR.EQ.2) THEN
  67. AUX=YOU*ALPDT/(1.D0-2.D0*XNU)
  68. RES(1)=AUX
  69. RES(2)=AUX
  70. RES(3)=AUX
  71. RES(4)=0.
  72. RES(5)=0.
  73. RES(6)=0.
  74. C= 1.4 - Unidimensionnel (1D)
  75. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.15.AND.MFR.EQ.1) THEN
  76. IF (IFOUR.EQ.6) THEN
  77. RES(1)=YOU*ALPDT
  78. RES(2)=0.
  79. RES(3)=0.
  80. ELSE IF (IFOUR.EQ.4.OR.IFOUR.EQ.8) THEN
  81. AUX=YOU*ALPDT/(1.-XNU)
  82. RES(1)=AUX
  83. RES(2)=AUX
  84. RES(3)=0.
  85. ELSE IF (IFOUR.EQ.5.OR.IFOUR.EQ.10.OR.IFOUR.EQ.13) THEN
  86. AUX=YOU*ALPDT/(1.-XNU)
  87. RES(1)=AUX
  88. RES(2)=0.
  89. RES(3)=AUX
  90. ELSE
  91. AUX=YOU*ALPDT/(1.-2.*XNU)
  92. RES(1)=AUX
  93. RES(2)=AUX
  94. RES(3)=AUX
  95. ENDIF
  96. C= 1.5 - Cas non prevus
  97. ELSE
  98. KERRE=19
  99. ENDIF
  100.  
  101. C 2 - Elements JOINTS 2D PLAN : JOI2 et JOI3
  102. C ============================================
  103. ELSE IF (MELE.EQ.85.OR.MELE.EQ.86) THEN
  104. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.0) THEN
  105. ALPN=VALMAT(3)*VALMAT(2)*TEMP
  106. RES(1)=0.
  107. RES(2)=ALPN
  108. ELSE
  109. KERRE=19
  110. ENDIF
  111.  
  112. C 3 - Element JOINT 3D : JOT4, JOI4
  113. C ===================================
  114. ELSE IF (MELE.EQ.87.OR.MELE.EQ.88) THEN
  115. IF (IFOUR.EQ.2) THEN
  116. ALPN=VALMAT(3)*VALMAT(2)*TEMP
  117. RES(1)=0.
  118. RES(2)=0.
  119. RES(3)=ALPN
  120. ELSE
  121. KERRE=19
  122. ENDIF
  123.  
  124. C 4 - Elements COQUES MINCES sauf COQ2
  125. C ======================================
  126. C+mdj !!!! Ajouter le cas de coque integre (NPINT.NE.0) :
  127. C on recupere un champs par elememt de temperatures aux
  128. C points de GAUSS cette temperature unique remplacera THMO
  129. ELSE IF (MELE.EQ.27.OR.MELE.EQ.28.OR.MELE.EQ.49.OR.
  130. . MELE.EQ.93) THEN
  131. YOU=VALMAT(1)
  132. XNU=VALMAT(2)
  133. ALPH=VALMAT(3)
  134. AUX=YOU*ALPH/(1.D0-XNU)
  135. EXCEN =0.
  136. EP2=EPAIST*EPAIST/12.D0
  137. THMO=(THSU+THIF+4.D0*THM)/6.D0
  138. THDI=THSU-THIF
  139. IF (NPINT.EQ.0) THEN
  140. RES(1)=AUX*THMO*EPAIST
  141. RES(2)=RES(1)
  142. IF (IFOUR.GT.0) THEN
  143. RES(3)=0.
  144. RES(4)=AUX*(THMO*EPAIST*EXCEN+THDI*EP2)
  145. RES(5)=RES(4)
  146. RES(6)=0.
  147. C** ELSE IF (IFOUR.LE.0) THEN
  148. ELSE
  149. RES(3)=AUX*(THMO*EPAIST*EXCEN+THDI*EP2)
  150. RES(4)=RES(3)
  151. ENDIF
  152. ELSE
  153. KERRE=19
  154. ENDIF
  155.  
  156. C 5 - Element COQ2
  157. C ==================
  158. ELSE IF (MELE.EQ.44) THEN
  159. YOU=VALMAT(1)
  160. XNU=VALMAT(2)
  161. ALPH=VALMAT(3)
  162. EP2=EPAIST*EPAIST/12.D0
  163. THMO=(THSU+THIF+4.D0*THM)/6.D0
  164. THDI=THSU-THIF
  165. EXCEN =0.
  166. IF (IFOUR.GT.0) THEN
  167. AUX=YOU*ALPH/(1.D0-XNU)
  168. RES(1)=AUX*THMO*EPAIST
  169. RES(2)=RES(1)
  170. RES(3)=0.
  171. RES(4)=AUX*(THMO*EPAIST*EXCEN+THDI*EP2)
  172. RES(5)=RES(4)
  173. RES(6)=0.
  174. ELSE IF (IFOUR.EQ.-2) THEN
  175. AUX=YOU*ALPH
  176. RES(1)=AUX*THMO*EPAIST
  177. RES(2)=0.
  178. RES(3)=AUX*(THMO*EPAIST*EXCEN+THDI*EP2)
  179. RES(4)=0.
  180. ELSE
  181. AUX=YOU*ALPH/(1.D0-XNU)
  182. RES(1)=AUX*THMO*EPAIST
  183. RES(2)=RES(1)
  184. RES(3)=AUX*(THMO*EPAIST*EXCEN+THDI*EP2)
  185. RES(4)=RES(3)
  186. ENDIF
  187.  
  188. C 6 - Elements COQUES EPAISSES
  189. C ==============================
  190. ELSE IF (MELE.EQ.41.OR.MELE.EQ.56) THEN
  191. YOU=VALMAT(1)
  192. XNU=VALMAT(2)
  193. ALPH=VALMAT(3)
  194. AUX=YOU*ALPH/(1.-XNU)
  195. THG=0.5*E3*((E3+1.D0)*THSU+(E3-1.D0)*THIF)+(1.-E3*E3)*THM
  196. RES(1)=AUX*THG
  197. RES(2)=RES(1)
  198. RES(3)=0.
  199. RES(4)=0.
  200. RES(5)=0.
  201.  
  202. C 7 - Elements POUTRES et TUYAUX
  203. C ================================
  204. ELSE IF (MELE.EQ.29.OR.MELE.EQ.42.OR.MELE.EQ.84) THEN
  205. YOU=VALMAT(1)
  206. ALPH=VALMAT(2)
  207. RES(1)=YOU*ALPH*SD*TEMP
  208.  
  209. C 8 - Elements BARRES, CERCES et POI1
  210. C =====================================
  211. ELSE IF (MELE.EQ. 46.OR.MELE.EQ. 95.OR.MELE.EQ.45.OR.
  212. . MELE.EQ.123.OR.MELE.EQ.124) THEN
  213. IF (MELE.EQ.45.AND.IFOUR.NE.-3) THEN
  214. KERRE=86
  215. ELSE IF (MELE.EQ.95.AND.IFOUR.NE.0) THEN
  216. KERRE=86
  217. ELSE
  218. YOU=VALMAT(1)
  219. ALPH=VALMAT(2)
  220. RES(1)=YOU*ALPH*SD*TEMP
  221. ENDIF
  222.  
  223. C 9 - Autres cas non prevus
  224. C ===========================
  225. ELSE
  226. KERRE=19
  227. ENDIF
  228.  
  229. RETURN
  230. END
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  

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