Télécharger kfpt.eso

Retour à la liste

Numérotation des lignes :

kfpt
  1. C KFPT SOURCE CB215821 20/11/25 13:31:24 10792
  2. SUBROUTINE KFPT
  3. C********************************************************************
  4. C
  5. C CALCUL DE H : COEFFICIENT D'ECHANGE THERMIQUE
  6. C D'ORIGINE CONVECTIVE
  7. C
  8. C Dans le cadre de l'opérateur FPT :
  9. C
  10. C FPT
  11. C ------> KFPT : calcul de H
  12. C ------> ECHIMP : calcul des fonctions de paroi
  13. C sur la temperature
  14. C SYNTAXE :
  15. C H TETA = KFPT $DOM RO MU CP LB UET YP TN ;
  16. C
  17. C
  18. C
  19. C NU VISCOSITE CINEMATIQUE ---> flottant
  20. C UET U* ---> chpoint scal
  21. C YP DISTANCE A LA PAROI ---> flottant
  22. C ALFA DIFFUSIVITE ---> flottant
  23. C H COEFFICIENT D'ECHANGE ---> chpoint scal
  24. C THERMIQUE
  25. C TETA TEMPERATURE A LA PAROI ---> chpoint scal
  26. C
  27. C TN TEMPERATURE ---> chpoint scal
  28. C
  29. C
  30. C*********************************************************************
  31. IMPLICIT INTEGER(I-N)
  32. IMPLICIT REAL*8 (A-H,O-Z)
  33. CHARACTER*8 TYPE,MTYP
  34. C
  35. -INC SMCHPOI
  36. -INC SMLENTI
  37.  
  38. -INC PPARAM
  39. -INC CCOPTIO
  40. POINTEUR MZUE.MPOVAL,MZYP.MPOVAL
  41. POINTEUR MZMU.MPOVAL,MZRO.MPOVAL,MZCP.MPOVAL,MZLB.MPOVAL
  42. POINTEUR MRO.MCHPOI,MMU.MCHPOI,MCP.MCHPOI,MLB.MCHPOI
  43. POINTEUR MZH.MPOVAL,MH.MCHPOI,MUE.MCHPOI
  44. C*****************************************************************************
  45. CFPT
  46.  
  47. CALL LIROBJ('MMODEL',MMDZ,1,IRETOU)
  48.  
  49. IF(IRETOU.NE.1)THEN
  50. C Indice %m1:8 : Indice %m9:16 non trouvé dans la table %m17:24
  51. MOTERR( 1: 8) = ' DOMZ '
  52. MOTERR( 9:16) = ' DOMZ '
  53. MOTERR(17:24) = ' KIZX '
  54. CALL ERREUR(786)
  55. RETURN
  56. ENDIF
  57.  
  58. C E/ MMODEL : Pointeur de la table contenant l'information cherchée
  59. C /S IPOINT : Pointeur sur la table DOMAINE
  60. C /S INEFMD : Type formulation INEFMD=1 LINE,=2 MACRO,=3 QUADRATIQUE
  61. C INEFMD=4 LINB
  62.  
  63. CALL LEKMOD(MMDZ,MTABZ,INEFMD)
  64.  
  65. CALL LEKTAB(MTABZ,'SOMMET',MELEMS)
  66. NC=1
  67. TYPE=' '
  68. CALL CRCHPT(TYPE,MELEMS,NC,MH)
  69. SEGACT MH
  70. MSOUPO=MH.IPCHP(1)
  71. SEGACT MSOUPO
  72. MZH=IPOVAL
  73. SEGACT MZH
  74. NPT=MZH.VPOCHA(/1)
  75.  
  76. C ***
  77.  
  78. C *** LECTURE DES COEFFICIENTS ***
  79. C 1er coefficient : ro
  80. CALL QUETYP(MTYP,0,IRETOU)
  81. IF(IRETOU.EQ.0)THEN
  82. C% On ne trouve pas d'objet de type %m1:8
  83. MOTERR( 1: 8) = 'CHPOINT '
  84. CALL ERREUR(37)
  85. RETURN
  86. ENDIF
  87. IF(MTYP.EQ.'FLOTTANT')THEN
  88. IK1=1
  89. CALL LIRREE(XRO,1,IRETOU)
  90. N=1
  91. NC=1
  92. SEGINI MZRO
  93. MZRO.VPOCHA(1,1)=XRO
  94. ELSEIF(MTYP.EQ.'CHPOINT')THEN
  95. IK1=0
  96. CALL LIROBJ(MTYP,MRO,1,IRETOU)
  97. CALL LRCHT(MRO,MZRO,TYPE,IGEOM)
  98. CALL KRIPAD(IGEOM,MLENT1)
  99. CALL VERPAD(MLENT1,MELEMS,IRET)
  100. IF(IRET.NE.0)THEN
  101. C% Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  102. MOTERR(1: 8) = 'RO '
  103. MOTERR(9:16) = 'CHPOINT '
  104. WRITE(IOIMP,*)'Opérateur : KFPT'
  105. CALL ERREUR(788)
  106. RETURN
  107. ENDIF
  108. ELSE
  109. C Option %m1:8 incompatible avec les données
  110. MOTERR( 1: 8) = 'EF/EFM1 '
  111. CALL ERREUR(803)
  112. RETURN
  113. ENDIF
  114.  
  115. C 2ème coefficient : mu
  116. CALL QUETYP(MTYP,0,IRETOU)
  117. IF(IRETOU.EQ.0)THEN
  118. C% On ne trouve pas d'objet de type %m1:8
  119. MOTERR( 1: 8) = 'CHPOINT '
  120. CALL ERREUR(37)
  121. RETURN
  122. ENDIF
  123. IF(MTYP.EQ.'FLOTTANT')THEN
  124. IK2=1
  125. CALL LIRREE(XMU,1,IRETOU)
  126. N=1
  127. NC=1
  128. SEGINI MZMU
  129. MZMU.VPOCHA(1,1)=XMU
  130. ELSEIF(MTYP.EQ.'CHPOINT')THEN
  131. IK2=0
  132. CALL LIROBJ(MTYP,MMU,1,IRETOU)
  133. CALL LRCHT(MMU,MZMU,TYPE,IGEOM)
  134. CALL KRIPAD(IGEOM,MLENT1)
  135. CALL VERPAD(MLENT1,MELEMS,IRET)
  136. IF(IRET.NE.0)THEN
  137. C% Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  138. MOTERR(1: 8) = 'MU '
  139. MOTERR(9:16) = 'CHPOINT '
  140. WRITE(IOIMP,*)'Opérateur : KFPT'
  141. CALL ERREUR(788)
  142. RETURN
  143. ENDIF
  144. ELSE
  145. C Option %m1:8 incompatible avec les données
  146. MOTERR( 1: 8) = 'EF/EFM1 '
  147. CALL ERREUR(803)
  148. RETURN
  149. ENDIF
  150.  
  151. C 3ème coefficient : cp
  152. CALL QUETYP(MTYP,0,IRETOU)
  153. IF(IRETOU.EQ.0)THEN
  154. C% On ne trouve pas d'objet de type %m1:8
  155. MOTERR( 1: 8) = 'CHPOINT '
  156. CALL ERREUR(37)
  157. RETURN
  158. ENDIF
  159. IF(MTYP.EQ.'FLOTTANT')THEN
  160. IK3=1
  161. CALL LIRREE(XCP,1,IRETOU)
  162. N=1
  163. NC=1
  164. SEGINI MZCP
  165. MZCP.VPOCHA(1,1)=XCP
  166. ELSEIF(MTYP.EQ.'CHPOINT')THEN
  167. IK3=0
  168. CALL LIROBJ(MTYP,MCP,1,IRETOU)
  169. CALL LRCHT(MCP,MZCP,TYPE,IGEOM)
  170. CALL KRIPAD(IGEOM,MLENT1)
  171. CALL VERPAD(MLENT1,MELEMS,IRET)
  172. IF(IRET.NE.0)THEN
  173. C% Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  174. MOTERR(1: 8) = 'CP '
  175. MOTERR(9:16) = 'CHPOINT '
  176. WRITE(IOIMP,*)'Opérateur : KFPT'
  177. CALL ERREUR(788)
  178. RETURN
  179. ENDIF
  180. ELSE
  181. C Option %m1:8 incompatible avec les données
  182. MOTERR( 1: 8) = 'EF/EFM1 '
  183. CALL ERREUR(803)
  184. RETURN
  185. ENDIF
  186.  
  187. C 4ème coefficient : lambda
  188. CALL QUETYP(MTYP,0,IRETOU)
  189. IF(IRETOU.EQ.0)THEN
  190. C% On ne trouve pas d'objet de type %m1:8
  191. MOTERR( 1: 8) = 'CHPOINT '
  192. CALL ERREUR(37)
  193. RETURN
  194. ENDIF
  195. IF(MTYP.EQ.'FLOTTANT')THEN
  196. IK4=1
  197. CALL LIRREE(XLB,1,IRETOU)
  198. N=1
  199. NC=1
  200. SEGINI MZLB
  201. MZLB.VPOCHA(1,1)=XLB
  202. ELSEIF(MTYP.EQ.'CHPOINT')THEN
  203. IK4=0
  204. CALL LIROBJ(MTYP,MLB,1,IRETOU)
  205. CALL LRCHT(MLB,MZLB,TYPE,IGEOM)
  206. CALL KRIPAD(IGEOM,MLENT1)
  207. CALL VERPAD(MLENT1,MELEMS,IRET)
  208. IF(IRET.NE.0)THEN
  209. C% Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  210. MOTERR(1: 8) = 'LB '
  211. MOTERR(9:16) = 'CHPOINT '
  212. WRITE(IOIMP,*)'Opérateur : KFPT'
  213. CALL ERREUR(788)
  214. RETURN
  215. ENDIF
  216. ELSE
  217. C Option %m1:8 incompatible avec les données
  218. MOTERR( 1: 8) = 'EF/EFM1 '
  219. CALL ERREUR(803)
  220. RETURN
  221. ENDIF
  222.  
  223. C 5ème coefficient : uet
  224. CALL QUETYP(MTYP,0,IRETOU)
  225. IF(IRETOU.EQ.0)THEN
  226. C% On ne trouve pas d'objet de type %m1:8
  227. MOTERR( 1: 8) = 'CHPOINT '
  228. CALL ERREUR(37)
  229. RETURN
  230. ENDIF
  231. IF(MTYP.EQ.'CHPOINT')THEN
  232. IK5=0
  233. CALL LIROBJ(MTYP,MUE,1,IRETOU)
  234. CALL LRCHT(MUE,MZUE,TYPE,IGEOM)
  235. CALL KRIPAD(IGEOM,MLENT1)
  236. CALL VERPAD(MLENT1,MELEMS,IRET)
  237. IF(IRET.NE.0)THEN
  238. C% Indice %m1:8 : L'objet %m9:16 n'a pas le bon support géométrique
  239. MOTERR(1: 8) = 'UE '
  240. MOTERR(9:16) = 'CHPOINT '
  241. WRITE(IOIMP,*)'Opérateur : KFPT'
  242. CALL ERREUR(788)
  243. RETURN
  244. ENDIF
  245. ELSE
  246. C Option %m1:8 incompatible avec les données
  247. MOTERR( 1: 8) = 'EF/EFM1 '
  248. CALL ERREUR(803)
  249. RETURN
  250. ENDIF
  251.  
  252. C 6ème coefficient : yp
  253. IK6=1
  254. CALL LIRREE(YP,1,IRETOU)
  255. IF(IRETOU.EQ.0)RETURN
  256. N=1
  257. NC=1
  258. SEGINI MZYP
  259. MZYP.VPOCHA(1,1)=YP
  260.  
  261. C 7ème coefficient : h
  262. IK7 = 0
  263.  
  264.  
  265.  
  266. C**************************************************************************
  267. C*****CALCUL DE H(NU,UET,YP,ALFA)
  268. C**************************************************************************
  269.  
  270. CALL YKFPT (MZRO.VPOCHA(1,1),IK1,MZMU.VPOCHA(1,1),IK2,
  271. &MZCP.VPOCHA(1,1),IK3,MZLB.VPOCHA(1,1),IK4,
  272. &MZUE.VPOCHA,MZYP.VPOCHA,MZH.VPOCHA,NPT)
  273.  
  274. SEGDES MZUE,MZH,MZYP
  275. SEGDES MUE,MH
  276.  
  277. IF(IK1.EQ.0)THEN
  278. SEGDES MRO,MZRO
  279. ELSE
  280. SEGSUP MZRO
  281. ENDIF
  282.  
  283. IF(IK2.EQ.0)THEN
  284. SEGDES MMU,MZMU
  285. ELSE
  286. SEGSUP MZMU
  287. ENDIF
  288.  
  289. IF(IK3.EQ.0)THEN
  290. SEGDES MCP,MZCP
  291. ELSE
  292. SEGSUP MZCP
  293. ENDIF
  294.  
  295. IF(IK4.EQ.0)THEN
  296. SEGDES MLB,MZLB
  297. ELSE
  298. SEGSUP MZLB
  299. ENDIF
  300.  
  301.  
  302. CALL ECROBJ('CHPOINT',MH)
  303.  
  304. RETURN
  305. END
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  

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