Télécharger towa1.eso

Retour à la liste

Numérotation des lignes :

towa1
  1. C TOWA1 SOURCE PV090527 26/04/30 21:16:42 12529
  2. SUBROUTINE TOWA1 (REDIR,NOCOPO,NOMDU1,IPINW,NOMPR1,
  3. & MPOVD1,MPOVC1,MPOVR1,MPOVL1,MPOVT1,
  4. & XDT1,DESCR,xMATRI,MCHPOI)
  5. C
  6. C***********************************************************************
  7. C
  8. C
  9. C Subroutine appelée par TOWA.
  10. C Création de la matrice élémentaire et du second membre associés
  11. C à l'opération de thermique 1D dans un mur.
  12. C
  13. C
  14. C ENTREES :
  15. C --------
  16. C
  17. C REDIR : Segment des tableaux de correspondances
  18. C NOCOPO : Segment des tableaux de positions des noms de composantes
  19. C NOMDU1 : Nom de l'inconnue duale définie sur les points de
  20. C tous les murs.
  21. C IPINW : Support géométrique associé au mur
  22. C NOMPR1 : Nom de l'inconnue ou de la donnée flux de chaleur.
  23. C MPOVD1 : Pointeur sur le segment MPOVAL des valeurs de l'inconnue
  24. C duale à l'itération précédente.
  25. C MPOVC1 : Pointeur sur le segment MPOVAL des valeurs des chaleurs
  26. C spécifiques.
  27. C MPOVR1 : Pointeur sur le segment MPOVAL des valeurs des masses
  28. C volumiques.
  29. C MPOVL1 : Pointeur sur le segment MPOVAL des valeurs des
  30. C conductivités spécifiques.
  31. C MPOVT1 : Pointeur sur le segment MPOVAL des valeurs des
  32. C épaisseurs.
  33. C XDT1 : Valeur du pas de temps
  34. C
  35. C SORTIE :
  36. C -------
  37. C
  38. C DESCR : Pointeur sur le segment descriptif de la matrice
  39. C élémentaire.
  40. C IMATRI : Pointeur sur le segment contenant le pointeur de
  41. C la matrice élémentaire.
  42. C MCHPOI : Pointeur sur le champ second membre.
  43. C
  44. C
  45. C AUTEUR, DATE DE CREATION:
  46. C -------------------------
  47. C
  48. C Laurent DADA décembre 1996
  49. C
  50. C
  51. C LANGAGE:
  52. C --------
  53. C
  54. C ESOPE + FORTRAN77
  55. C
  56. C***********************************************************************
  57. C
  58. IMPLICIT INTEGER(I-N)
  59. IMPLICIT REAL*8 (A-H,O-Z)
  60. C
  61.  
  62. -INC PPARAM
  63. -INC CCOPTIO
  64. -INC SMCHPOI
  65. POINTEUR MPOVC1.MPOVAL,MPOVR1.MPOVAL,MPOVD1.MPOVAL
  66. POINTEUR MPOVL1.MPOVAL,MPOVT1.MPOVAL
  67. -INC SMELEME
  68. POINTEUR IPINW.MELEME
  69. -INC SMRIGID
  70. -INC TMTRAV
  71. C
  72. SEGMENT REDIR
  73. INTEGER IPOSC1(NNGOT)
  74. INTEGER IPOSR1(NNGOT)
  75. INTEGER IPOSL1(NNGOT)
  76. INTEGER IPOST1(NNGOT)
  77. INTEGER IPOSQ1(NNGOT)
  78. INTEGER IPOSD1(NNGOT)
  79. ENDSEGMENT
  80. C
  81. SEGMENT NOCOPO
  82. INTEGER NOCOC1(2)
  83. INTEGER NOCOR1(2)
  84. INTEGER NOCOL1(2)
  85. INTEGER NOCOT1(2)
  86. ENDSEGMENT
  87. C
  88. CHARACTER*8 NOMDU1,NOMPR1
  89. REAL*8 LGAU,LDRO
  90. C
  91. SEGACT IPINW
  92. NBELW1 = IPINW.NUM(/2)
  93. C
  94. C Remplissage du descripteur de l'objet RIGIDITE
  95. C
  96. NLIGRP = NBELW1
  97. NLIGRD = NBELW1
  98. SEGINI DESCR
  99. C
  100. DO 20 I20=1,NBELW1
  101. NOELEP(I20) = I20
  102. LISINC(I20) = NOMDU1
  103. NOELED(I20) = I20
  104. LISDUA(I20) = NOMDU1
  105. 20 CONTINUE
  106. C
  107. SEGDES DESCR
  108. C
  109. NELRIG = 1
  110. * SEGINI IMATRI
  111. rigrel=0
  112. SEGINI XMATRI
  113. C
  114. * IMATTT(1) = XMATRI
  115. * SEGDES IMATRI
  116. C
  117. C Initialisation du segment de travail
  118. C
  119. NNIN = 1
  120. NNNOE = NBELW1
  121. SEGINI MTRAV
  122. INCO(1) = NOMDU1
  123. NHAR(1) = NIFOUR
  124. C Boucle sur les points internes du mur
  125. SEGACT REDIR
  126. SEGACT NOCOPO
  127. SEGACT MPOVC1
  128. SEGACT MPOVR1
  129. SEGACT MPOVL1
  130. SEGACT MPOVT1
  131. SEGACT MPOVD1
  132. C
  133. DO 40 I40=2,(NBELW1-1)
  134. NUMW1 = IPINW.NUM(1,I40)
  135. IGEO(I40) = NUMW1
  136. IBIN(1,I40) = 1
  137. JPOSC1 = IPOSC1(NUMW1)
  138. JPOSR1 = IPOSR1(NUMW1)
  139. JPOSL1 = IPOSL1(NUMW1)
  140. JPOST1 = IPOST1(NUMW1)
  141. JPOSD1 = IPOSD1(NUMW1)
  142. CGAU = MPOVC1.VPOCHA(JPOSC1,NOCOC1(1))
  143. RGAU = MPOVR1.VPOCHA(JPOSR1,NOCOR1(1))
  144. LGAU = MPOVL1.VPOCHA(JPOSL1,NOCOL1(1))
  145. TGAU = MPOVT1.VPOCHA(JPOST1,NOCOT1(1))
  146. CDRO = MPOVC1.VPOCHA(JPOSC1,NOCOC1(2))
  147. RDRO = MPOVR1.VPOCHA(JPOSR1,NOCOR1(2))
  148. LDRO = MPOVL1.VPOCHA(JPOSL1,NOCOL1(2))
  149. TDRO = MPOVT1.VPOCHA(JPOST1,NOCOT1(2))
  150. AI = - LGAU / TGAU
  151. BI = (0.5D0*TGAU*RGAU*CGAU+0.5D0*TDRO*RDRO*CDRO) / XDT1
  152. & + LGAU / TGAU + LDRO / TDRO
  153. CI = - LDRO / TDRO
  154. DI = ((0.5D0*TGAU*RGAU*CGAU+0.5D0*TDRO*RDRO*CDRO) / XDT1)
  155. & * (MPOVD1.VPOCHA(JPOSD1,1))
  156. RE(I40,I40-1,1) = AI
  157. RE(I40,I40,1) = BI
  158. RE(I40,I40+1,1) = CI
  159. BB(1,I40) = DI
  160. 40 CONTINUE
  161. C Le premier point du mur
  162. NUMW1 = IPINW.NUM(1,1)
  163. IGEO(1) = NUMW1
  164. IBIN(1,1) = 1
  165. JPOSC1 = IPOSC1(NUMW1)
  166. JPOSR1 = IPOSR1(NUMW1)
  167. JPOSL1 = IPOSL1(NUMW1)
  168. JPOST1 = IPOST1(NUMW1)
  169. JPOSD1 = IPOSD1(NUMW1)
  170. CDRO = MPOVC1.VPOCHA(JPOSC1,NOCOC1(2))
  171. RDRO = MPOVR1.VPOCHA(JPOSR1,NOCOR1(2))
  172. LDRO = MPOVL1.VPOCHA(JPOSL1,NOCOL1(2))
  173. TDRO = MPOVT1.VPOCHA(JPOST1,NOCOT1(2))
  174. BI = 0.5D0*TDRO*RDRO*CDRO / XDT1 + LDRO / TDRO
  175. CI = - LDRO / TDRO
  176. DI = (0.5D0*TDRO*RDRO*CDRO / XDT1) * (MPOVD1.VPOCHA(JPOSD1,1))
  177. RE(1,1,1) = BI
  178. RE(1,2,1) = CI
  179. BB(1,1) = DI
  180. C Le dernier point du mur
  181. NUMW1 = IPINW.NUM(1,NBELW1)
  182. IGEO(NBELW1) = NUMW1
  183. IBIN(1,NBELW1) = 1
  184. JPOSC1 = IPOSC1(NUMW1)
  185. JPOSR1 = IPOSR1(NUMW1)
  186. JPOSL1 = IPOSL1(NUMW1)
  187. JPOST1 = IPOST1(NUMW1)
  188. JPOSD1 = IPOSD1(NUMW1)
  189. CGAU = MPOVC1.VPOCHA(JPOSC1,NOCOC1(1))
  190. RGAU = MPOVR1.VPOCHA(JPOSR1,NOCOR1(1))
  191. LGAU = MPOVL1.VPOCHA(JPOSL1,NOCOL1(1))
  192. TGAU = MPOVT1.VPOCHA(JPOST1,NOCOT1(1))
  193. AI = - LGAU / TGAU
  194. BI = 0.5D0*TGAU*RGAU*CGAU / XDT1 + LGAU / TGAU
  195. DI = (0.5D0*TGAU*RGAU*CGAU / XDT1) * (MPOVD1.VPOCHA(JPOSD1,1))
  196. RE(NBELW1,NBELW1-1,1) = AI
  197. RE(NBELW1,NBELW1,1) = BI
  198. BB(1,NBELW1) = DI
  199. C
  200. C Création du second membre
  201. C
  202. CALL CRECHP (MTRAV,MCHPOI)
  203. C
  204. SEGDES MPOVD1
  205. SEGDES IPINW
  206. SEGDES XMATRI
  207. SEGDES MPOVC1
  208. SEGDES MPOVR1
  209. SEGDES MPOVL1
  210. SEGDES MPOVT1
  211. C
  212. SEGDES REDIR
  213. SEGDES NOCOPO
  214. SEGSUP MTRAV
  215. C
  216. C
  217. END
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  

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