Télécharger mdrecomb.procedur

Retour à la liste

Numérotation des lignes :

  1. * MDRECOMB PROCEDUR MAGN 13/09/11 21:15:01 7821
  2. 'DEBPROC' MDRECOMB RXT*'TABLE ' ;
  3. 'MESS' '$$$$ RECOMBINEUR $$$$' ;
  4. ** pas de temps courant
  5. Dt = RXT . 'TIC' . 'DT' ;
  6. Tps = RXT . 'TIC' . 'Tps' ;
  7. geo = RXT . 'GEO' ;
  8. *
  9. * debit massique cumulé entrant/sortant des recombineurs
  10. * (permet d'assurer le bilan 0D)
  11. QIN_H2 = 0.D0 ;
  12. QIN_H2O = 0.D0 ;
  13. QIN_O2 = 0.D0 ;
  14. QIN_N2 = 0.D0 ;
  15. QIN_HE = 0.D0 ;
  16. QIN_CO2 = 0.D0 ;
  17. QIN_CO = 0.D0 ;
  18. QOUT_H2 = 0.D0 ;
  19. QOUT_H2O = 0.D0 ;
  20. QOUT_O2 = 0.D0 ;
  21. QOUT_N2 = 0.D0 ;
  22. QOUT_HE = 0.D0 ;
  23. QOUT_CO2 = 0.D0 ;
  24. QOUT_CO = 0.D0 ;
  25. *
  26. NBREC = 'DIME' rxt . 'RECOMB' ;
  27. 'REPETER' BCLREC NBREC ;
  28. RECI = rxt . 'RECOMB' . &BCLREC ;
  29. RTRI = rxt . 'TIC' . 'RECOMB' . &BCLREC ;
  30. TYPR = RECI . 'TYPR' ;
  31. NSECTION = RECI . 'NSECTION' ;
  32. *
  33. ** objets modeles des recombineurs
  34. $NAME = 'CHAIN' '$REC' 'ent' &BCLREC ;
  35. $ENTREE = GEO. $NAME ;
  36. $NAME = 'CHAIN' '$REC' 'sor' &BCLREC ;
  37. $SORTIE = GEO. $NAME ;
  38. NAME = 'CHAIN' 'SREC' 'ent' &BCLREC ;
  39. SENTREE = GEO. NAME ;
  40. NAME = 'CHAIN' 'SREC' 'sor' &BCLREC ;
  41. SSORTIE = GEO. NAME ;
  42. FG_NAME = 'CHAIN' 'fgREC' 'ent' &BCLREC ;
  43. FG_ENT = GEO. FG_NAME ;
  44. FG_NAME = 'CHAIN' 'fgREC' 'sor' &BCLREC ;
  45. FG_SOR = GEO. FG_NAME ;
  46. *
  47. ** fraction massiques moyennes à l'entrée des recombineurs
  48. Ynul = 'KCHT' $ENTREE 'SCAL' 'SOMMET' 0.D0 ;
  49. 'SI' TBT . 'TH2' ;
  50. YH2e = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'YH2' ;
  51. 'SINO' ;
  52. YH2e = Ynul ;
  53. 'FINSI' ;
  54. 'SI' TBT . 'TO2' ;
  55. YO2e = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'YO2' ;
  56. 'SINO' ;
  57. YO2e = Ynul ;
  58. 'FINSI' ;
  59. 'SI' TBT . 'TN2' ;
  60. YN2e = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'YN2' ;
  61. 'SINO' ;
  62. YN2e = Ynul ;
  63. 'FINSI' ;
  64. 'SI' TBT . 'VAPEUR' ;
  65. YH2Oe = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'YVAP' ;
  66. 'SINO' ;
  67. YH2Oe = Ynul ;
  68. 'FINSI' ;
  69. 'SI' TBT . 'THE' ;
  70. YHEe = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'YHE' ;
  71. 'SINO' ;
  72. YHEe = Ynul ;
  73. 'FINSI' ;
  74. 'SI' TBT . 'TCO' ;
  75. YCOe = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'YCO' ;
  76. 'SINO' ;
  77. YCOe = Ynul ;
  78. 'FINSI' ;
  79. 'SI' TBT . 'TCO2' ;
  80. YCO2e = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'YCO2' ;
  81. 'SINO' ;
  82. YCO2e = Ynul ;
  83. 'FINSI' ;
  84. *
  85. ** l'air est décomposé en oxygène et azote
  86. Rgair = RXT . 'TBT' . 'Rgair' ;
  87. Rgo2 = RXT . 'TBT' . 'Rgo2' ;
  88. Rgn2 = RXT . 'TBT' . 'Rgn2' ;
  89. YO2e = 'KCHT' $ENTREE 'SCAL' 'SOMMET' (YO2e
  90. + (0.21 * Rgair / Rgo2 * RXT . 'TIC' . 'YAIR')) ;
  91. YN2e = 'KCHT' $ENTREE 'SCAL' 'SOMMET' (YN2e
  92. + (0.79 * Rgair / Rgn2 * RXT . 'TIC' . 'YAIR')) ;
  93. *
  94. YH2emoy = ('SOMT' (YH2e * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  95. YH2Oemoy = ('SOMT' (YH2Oe * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  96. YO2emoy = ('SOMT' (YO2e * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  97. YN2emoy = ('SOMT' (YN2e * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  98. YHEemoy = ('SOMT' (YHEe * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  99. YCOemoy = ('SOMT' (YCOe * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  100. YCO2emoy = ('SOMT' (YCO2e * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  101. *
  102. ** Tgaz à l'entrée des recombineurs, Pmoyenne, Tplaque
  103. Te = 'KCHT' $ENTREE 'SCAL' 'SOMMET' RXT . 'TIC' . 'TF' ;
  104. TINMOY = ('SOMT' (Te * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  105. Pe = 'EXTR' RXT . 'TIC' . 'PT' ('DIME' RXT . 'TIC' . 'PT') ;
  106. TP = 'EXTR' rtri . 'Tpla' ('DIME' rtri . 'Tpla') ;
  107. *
  108. *----------------------------
  109. * Recombineur de type SIEMENS
  110. *----------------------------
  111. *
  112. 'SI' ('EGA' typr 'SIEMENS') ;
  113. AA1 = RECI . 'A' ;
  114. BB1 = RECI . 'B' ;
  115. XH2ONI = RECI . 'XH2ON' ;
  116. XH2OFI = RECI . 'XH2OFF' ;
  117. BETAI = RECI . 'BETA' ;
  118. YH2s YO2s YN2s YH2Os YHEs YCO2s YCOs Ts TP DEB EFF XH2ONF
  119. = 'FLAM' 'RECOMBIN'
  120. YH2emoy YO2emoy YN2emoy YH2Oemoy YHEemoy YCO2emoy YCOemoy
  121. (TINMOY+273.15) TP Pe Dt 0 typr AA1 BB1 XH2ONI XH2OFI BETAI ;
  122. RECI . 'XH2ON' = XH2ONF ;
  123. *
  124. *---------------------------
  125. * Recombineur de type HEATER
  126. *---------------------------
  127. *
  128. 'SINO' ;
  129. PUI0 = 'IPOL' Tps RECI . 'PUISSANCE' ;
  130. PUI1 = 'IPOL' (Tps-Dt) RECI . 'PUISSANCE' ;
  131. A1 = PUI0 - PUI1 / DT ;
  132. FUITE = RECI . 'QHOUSING' ;
  133. HRAPP = RECI . 'HRAPP' ;
  134. CRAPP = RECI . 'CRAPP' ;
  135. YH2s YO2s YN2s YH2Os YHEs YCO2s YCOs Ts TP DEB
  136. = 'FLAM' 'RECOMBIN'
  137. YH2emoy YO2emoy YN2emoy YH2Oemoy YHEemoy YCO2emoy YCOemoy
  138. (TINMOY+273.15) TP Pe Dt 0 typr A1 fuite hrapp crapp ;
  139. EFF = 0.D0 ;
  140. 'FINSI' ;
  141. *
  142. * Sauvegarde des data
  143. rtri . 'Tpla' = rtri . 'Tpla' 'ET' ('PROG' TP) ;
  144. rtri . 'Tin' = rtri . 'Tin' 'ET' ('PROG' TINMOY) ;
  145. rtri . 'Tout' = rtri . 'Tout' 'ET' ('PROG' (TS-273.15)) ;
  146. rtri . 'DEB' = rtri . 'DEB' 'ET' ('PROG' (DEB*NSECTION)) ;
  147. rtri . 'EFF' = rtri . 'EFF' 'ET' ('PROG' EFF) ;
  148. rtri . 'YH2E' = rtri . 'YH2E' 'ET' ('PROG' YH2emoy) ;
  149. rtri . 'YH2OE' = rtri . 'YH2OE' 'ET' ('PROG' YH2Oemoy) ;
  150. rtri . 'YO2E' = rtri . 'YO2E' 'ET' ('PROG' YO2emoy) ;
  151. rtri . 'YN2E' = rtri . 'YN2E' 'ET' ('PROG' YN2emoy) ;
  152. rtri . 'YHEE' = rtri . 'YHEE' 'ET' ('PROG' YHEemoy) ;
  153. rtri . 'YCO2E' = rtri . 'YCO2E' 'ET' ('PROG' YCO2emoy) ;
  154. rtri . 'YCOE' = rtri . 'YCOE' 'ET' ('PROG' YCOemoy) ;
  155. rtri . 'YH2S' = rtri . 'YH2S' 'ET' ('PROG' YH2s) ;
  156. rtri . 'YH2OS' = rtri . 'YH2OS' 'ET' ('PROG' YH2Os) ;
  157. rtri . 'YO2S' = rtri . 'YO2S' 'ET' ('PROG' YO2s) ;
  158. rtri . 'YN2S' = rtri . 'YN2S' 'ET' ('PROG' YN2s) ;
  159. rtri . 'YHES' = rtri . 'YHES' 'ET' ('PROG' YHEs) ;
  160. rtri . 'YCO2S' = rtri . 'YCO2S' 'ET' ('PROG' YCO2s) ;
  161. rtri . 'YCOS' = rtri . 'YCOS' 'ET' ('PROG' YCOs) ;
  162. *
  163. * Calcul des vitesses débitantes à l'entrée et la sortie des PARs
  164. RG_IN = (RXT . 'TBT' . 'Rgvap' * YH2Oe)
  165. + (RXT . 'TBT' . 'Rgh2' * YH2e)
  166. + (RXT . 'TBT' . 'Rgo2' * YO2e)
  167. + (RXT . 'TBT' . 'Rgn2' * YN2e)
  168. + (RXT . 'TBT' . 'Rghe' * YHEe)
  169. + (RXT . 'TBT' . 'Rgco' * YCOe)
  170. + (RXT . 'TBT' . 'Rgco2' * YCO2e) ;
  171. RG_IN = ('SOMT' (RG_IN * ('DOMA' $ENTREE 'XXDIAGSI'))) / SENTREE ;
  172. RG_OUT = (RXT.'TBT'.'Rgvap' * YH2Os)
  173. + (RXT.'TBT'.'Rgh2' * YH2s)
  174. + (RXT.'TBT'.'Rgo2' * YO2s)
  175. + (RXT.'TBT'.'Rgn2' * YN2s)
  176. + (RXT.'TBT'.'Rghe' * YHEs)
  177. + (RXT.'TBT'.'Rgco' * YCOs)
  178. + (RXT.'TBT'.'Rgco2' * YCO2s) ;
  179. RG_OUT = ('SOMT' (RG_OUT * ('DOMA' $SORTIE 'XXDIAGSI'))) / SSORTIE ;
  180. UN_IN = (DEB*NSECTION) * FG_ENT * RG_IN * (TINMOY + 273.15)
  181. / (SENTREE * PE) ;
  182. UN_OUT = (DEB*NSECTION) * FG_SOR * RG_OUT * TS
  183. / (SSORTIE * PE) ;
  184. rtri . 'Uin' = rtri . 'Uin' 'ET' ('PROG' (UN_IN)) ;
  185. rtri . 'Uout' = rtri . 'Uout''ET' ('PROG' (UN_OUT)) ;
  186. *
  187. ** densité des constituants à l'entrée et à la sortie des PARs
  188. RGT = RG_IN * (TINMOY + 273.15) ;
  189. rtri . 'RH2E' = rtri . 'RH2E' 'ET' ('PROG' (Pe * YH2emoy / rgt)) ;
  190. rtri . 'RH2OE' = rtri . 'RH2OE' 'ET' ('PROG' (Pe * YH2Oemoy / rgt)) ;
  191. rtri . 'RO2E' = rtri . 'RO2E' 'ET' ('PROG' (Pe * YO2emoy / rgt)) ;
  192. rtri . 'RN2E' = rtri . 'RN2E' 'ET' ('PROG' (Pe * YN2emoy / rgt)) ;
  193. rtri . 'RHEE' = rtri . 'RHEE' 'ET' ('PROG' (Pe * YHEemoy / rgt)) ;
  194. rtri . 'RCO2E' = rtri . 'RCO2E' 'ET' ('PROG' (Pe * YCO2emoy / rgt)) ;
  195. rtri . 'RCOE' = rtri . 'RCOE' 'ET' ('PROG' (Pe * YCOemoy / rgt)) ;
  196. RGT = RG_OUT * TS ;
  197. rtri . 'RH2S' = rtri . 'RH2S' 'ET' ('PROG' (Pe * YH2s / rgt)) ;
  198. rtri . 'RH2OS' = rtri . 'RH2OS' 'ET' ('PROG' (Pe * YH2Os / rgt)) ;
  199. rtri . 'RO2S' = rtri . 'RO2S' 'ET' ('PROG' (Pe * YO2s / rgt)) ;
  200. rtri . 'RN2S' = rtri . 'RN2S' 'ET' ('PROG' (Pe * YN2s / rgt)) ;
  201. rtri . 'RHES' = rtri . 'RHES' 'ET' ('PROG' (Pe * YHEs / rgt)) ;
  202. rtri . 'RCO2S' = rtri . 'RCO2S' 'ET' ('PROG' (Pe * YCO2s / rgt)) ;
  203. rtri . 'RCOS' = rtri . 'RCOS' 'ET' ('PROG' (Pe * YCOs / rgt)) ;
  204. *
  205. ** enthalpie massique entrant dans le recombineur pour le bilan 0D
  206. Cph2_e Cphe_e Cpo2_e Cpn2_e Cpco2_e Cpco_e Cpair_e = CALCP TINMOY ;
  207. Cph2_s Cphe_s Cpo2_s Cpn2_s Cpco2_s Cpco_s Cpair_s = CALCP (TS-273.15) ;
  208. Cpvap = RXT . 'TBT' . 'Cpvap' ;
  209. H_IN = Cpvap * YH2Oemoy ;
  210. H_IN = Cph2_e * YH2emoy + H_IN ;
  211. H_IN = Cpo2_e * YO2emoy + H_IN ;
  212. H_IN = Cpn2_e * YN2emoy + H_IN ;
  213. H_IN = Cphe_e * YHEemoy + H_IN ;
  214. H_IN = Cpco2_e * YCO2emoy + H_IN ;
  215. H_IN = Cpco_e * YCOemoy + H_IN ;
  216. H_IN = TINMOY + 273.15 * H_IN ;
  217. H_OUT = Cpvap * YH2Os ;
  218. H_OUT = Cph2_s * YH2s + H_OUT ;
  219. H_OUT = Cpo2_s * YO2s + H_OUT ;
  220. H_OUT = Cpn2_s * YN2s + H_OUT ;
  221. H_OUT = Cphe_s * YHEs + H_OUT ;
  222. H_OUT = Cpco2_s * YCO2s + H_OUT ;
  223. H_OUT = Cpco_s * YCOs + H_OUT ;
  224. H_OUT = H_OUT * TS ;
  225. rtri . 'Hin' = rtri . 'Hin' 'ET' ('PROG' H_IN ) ;
  226. rtri . 'Hout' = rtri . 'Hout' 'ET' ('PROG' H_OUT) ;
  227. *
  228. ** débit massique pour le bilan 0D
  229. NDEB = DEB * NSECTION ;
  230. QIN_H2 = ndeb * YH2emoy + QIN_H2 ;
  231. QIN_H2O = ndeb * YH2Oemoy + QIN_H2O ;
  232. QIN_O2 = ndeb * YO2emoy + QIN_O2 ;
  233. QIN_N2 = ndeb * YN2emoy + QIN_N2 ;
  234. QIN_HE = ndeb * YHEemoy + QIN_HE ;
  235. QIN_CO2 = ndeb * YCO2emoy + QIN_CO2 ;
  236. QIN_CO = ndeb * YCOemoy + QIN_CO ;
  237. QOUT_H2 = ndeb * YH2S + QOUT_H2 ;
  238. QOUT_H2O = ndeb * YH2OS + QOUT_H2O ;
  239. QOUT_O2 = ndeb * YO2S + QOUT_O2 ;
  240. QOUT_N2 = ndeb * YN2S + QOUT_N2 ;
  241. QOUT_HE = ndeb * YHES + QOUT_HE ;
  242. QOUT_CO2 = ndeb * YCO2S + QOUT_CO2 ;
  243. QOUT_CO = ndeb * YCOS + QOUT_CO ;
  244. *
  245. 'FIN' BCLREC ;
  246. trt = RXT . 'TIC' ;
  247. 'MESS' 'Débit total de H2 in/out (kg/s): ' QIN_H2 QOUT_H2 ;
  248. 'MESS' 'Débit total de H2O in/out (kg/s): ' QIN_H2O QOUT_H2O ;
  249. 'MESS' 'Débit total de O2 in/out (kg/s): ' QIN_O2 QOUT_O2 ;
  250. 'MESS' 'Débit total de N2 in/out (kg/s): ' QIN_N2 QOUT_N2 ;
  251. 'MESS' 'Débit total de HE in/out (kg/s): ' QIN_HE QOUT_HE ;
  252. 'MESS' 'Débit total de CO2 in/out (kg/s): ' QIN_CO2 QOUT_CO2 ;
  253. 'MESS' 'Débit total de CO in/out (kg/s): ' QIN_CO QOUT_CO ;
  254. trt . 'QIN_H2' = trt . 'QIN_H2' 'ET' ('PROG' QIN_H2 ) ;
  255. trt . 'QIN_H2O' = trt . 'QIN_H2O' 'ET' ('PROG' QIN_H2O ) ;
  256. trt . 'QIN_O2' = trt . 'QIN_O2' 'ET' ('PROG' QIN_O2 ) ;
  257. trt . 'QIN_N2' = trt . 'QIN_N2' 'ET' ('PROG' QIN_N2 ) ;
  258. trt . 'QIN_HE' = trt . 'QIN_HE' 'ET' ('PROG' QIN_HE ) ;
  259. trt . 'QIN_CO2' = trt . 'QIN_CO2' 'ET' ('PROG' QIN_CO2 ) ;
  260. trt . 'QIN_CO' = trt . 'QIN_CO' 'ET' ('PROG' QIN_CO ) ;
  261. trt . 'QOUT_H2' = trt . 'QOUT_H2' 'ET' ('PROG' QOUT_H2 ) ;
  262. trt . 'QOUT_H2O' = trt . 'QOUT_H2O' 'ET' ('PROG' QOUT_H2O) ;
  263. trt . 'QOUT_O2' = trt . 'QOUT_O2' 'ET' ('PROG' QOUT_O2 ) ;
  264. trt . 'QOUT_N2' = trt . 'QOUT_N2' 'ET' ('PROG' QOUT_N2 ) ;
  265. trt . 'QOUT_HE' = trt . 'QOUT_HE' 'ET' ('PROG' QOUT_HE ) ;
  266. trt . 'QOUT_CO2' = trt . 'QOUT_CO2' 'ET' ('PROG' QOUT_CO2) ;
  267. trt . 'QOUT_CO' = trt . 'QOUT_CO' 'ET' ('PROG' QOUT_CO ) ;
  268. 'FINPROC' ;
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  

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