Télécharger execrxt.procedur

Retour à la liste

Numérotation des lignes :

  1. * EXECRXT PROCEDUR FD144363 24/04/03 21:15:05 11890
  2. 'DEBP' EXECRXT nbit*'ENTIER ' rxt*'TABLE ' ;
  3. *
  4. * E/ nbit : Nombre de pas de temps
  5. * E/S rxt : Interface avec l'utilisateur
  6. *
  7. WWW = 'CHAI' 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW';
  8. WWW = 'CHAI' WWW 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW' ;
  9.  
  10. 'MESS' ' ' ;
  11. 'MESS' WWW ;
  12. 'MESS' 'DEBUT PROCEDURE EXECRXT : CHOIX DES PRINCIPAUX PARAMETRES';
  13. 'MESS' WWW ;
  14.  
  15. *
  16. * Détection 2D/3D
  17. idim = 'VALE' 'DIME' ;
  18. 'SI' ('EGA' idim 2) ;
  19. DIM3D = FAUX ;
  20. 'SINO' ;
  21. 'SI' ('EGA' idim 3) ;
  22. DIM3D = VRAI ;
  23. 'SINO' ;
  24. 'ERRE' 219 ;
  25. 'QUIT' EXECRXT ;
  26. 'FINS' ;
  27. 'FINS' ;
  28.  
  29. *
  30. * Gestion des indices de rxt
  31. *
  32. * listentr = table dont les indices sont ceux autorisés dans rxt
  33. * (est complété durant le décodage par les indices optionnels lus)
  34. * listand = liste des options surchargées par l'utilisateur
  35. * (correspond aux valeurs par défaut modifiées par l'utilisateur)
  36. *
  37. *FD Ne sert à rien ? TPAROIS non pris en compte ?
  38. * listchp = liste des indices pouvant contenir un CHPO (FLOTTANT sinon)
  39. *FD
  40. listentr = 'TABL' ;
  41. listand = 'MOTS' ;
  42. listchp = 'MOTS' ;
  43.  
  44. listentr . 'VERSION' = '' ;
  45. listentr . 'vtf' = '' ;
  46. listentr . 'TF0' = '' ;
  47. listentr . 'PT0' = '' ;
  48. * Relatif à la thermiqe des parois
  49. listentr . 'THERMP' = '' ;
  50. listentr . 'PAROIS' = '' ;
  51. listentr . 'THERCO' = '' ;
  52. listentr . 'vtp' = '' ;
  53. listentr . 'ROCP' = '' ;
  54. listentr . 'LAMBDA' = '' ;
  55. listentr . 'Tp0' = '' ;
  56. listentr . 'ECHAN' = '' ;
  57. listentr . 'ECHEXT' = '' ;
  58. listentr . 'parext' = '' ;
  59. listentr . 'HEXT' = '' ;
  60. listentr . 'TPEXT' = '' ;
  61. listentr . 'TIMP' = '' ;
  62. listentr . 'ECHANP' = '' ;
  63. * Relatif aux E/S fluide
  64. listentr . 'XFIMP' = '' ;
  65. listentr . 'Sorties' = '' ;
  66. listentr . 'Breches' = '' ;
  67. listentr . 'axe' = '' ;
  68. listentr . 'epsi' = '' ;
  69. listentr . 'pi' = '' ;
  70. * Table utilisée pour la définition de recombineurs
  71. listentr . 'RECOMB' = '' ;
  72. * Table de travail ajoutées par la procédure
  73. listentr . 'REINIT' = '' ;
  74. listentr . 'TIC' = '' ;
  75. listentr . 'GEO' = '' ;
  76. listentr . 'TBT' = '' ;
  77. * Paramètres numériques / algorithmes
  78. listentr . 'DISCR' = '' ;
  79. listentr . 'KPRE' = '' ;
  80. listentr . 'MAXELPRE' = '' ;
  81. listentr . 'STAB' = '' ;
  82. listentr . 'ALGO' = '' ;
  83. * Paramètres de fonctionnement
  84. listentr . 'CATHARE2' = '' ;
  85. listentr . 'DT0' = '' ;
  86. listentr . 'PERSO' = '' ;
  87. listentr . 'TABPERSO' = '' ;
  88. listentr . 'GRAPH' = '' ;
  89. listentr . 'RENU' = '' ;
  90. listentr . 'TYPINV' = '' ;
  91. listentr . 'IMPR' = '' ;
  92. listentr . 'FRPREC' = '' ;
  93. listentr . 'PPDT' = '' ;
  94. listentr . 'RESIDU' = '' ;
  95. listentr . 'NTIT' = '' ;
  96. listentr . 'TCPT' = '' ;
  97. listentr . 'TKPR' = '' ;
  98. listentr . 'TRESOU' = '' ;
  99. listentr . 'IMPARA' = '' ;
  100. listentr . 'TRTF' = '' ;
  101. listentr . 'TRrvap' = '' ;
  102. listentr . 'TRrhe' = '' ;
  103. listentr . 'TRrh2' = '' ;
  104. listentr . 'TRro2' = '' ;
  105. listentr . 'TRrn2' = '' ;
  106. listentr . 'TRrco2' = '' ;
  107. listentr . 'TRrair' = '' ;
  108. listentr . 'TRrco' = '' ;
  109. * Constituant (air par défaut ) vapeur et incondensables
  110. listentr . 'LOI-ETAT' = '' ;
  111. listentr . 'VAPEUR' = '' ;
  112. listentr . 'YBRO' = '' ;
  113. listentr . 'V1alfa' = '' ;
  114. listentr . 'TAUXcm' = '' ;
  115. listentr . 'HE' = '' ;
  116. listentr . 'H2' = '' ;
  117. listentr . 'O2' = '' ;
  118. listentr . 'N2' = '' ;
  119. listentr . 'CO' = '' ;
  120. listentr . 'CO2' = '' ;
  121. listentr . 'AIR' = '' ;
  122. * Modèles de turbulence
  123. listentr . 'MODTURB' = '' ;
  124. listentr . 'FPAROI' = '' ;
  125. * Modèle de condensation en masse
  126. listentr.'MODCOND' = '' ;
  127.  
  128. *
  129. * On (re)crée les tables si l'utilisateur le demande où si elles
  130. * n'existent pas (premier passage) -> TPREPA=VRAI
  131. 'SI' ('EXIS' rxt 'REINIT') ;
  132. vertytab rxt 'REINIT' 'LOGIQUE' ;
  133. REINIT = rxt . 'REINIT' ;
  134. 'SINO' ;
  135. REINIT = 'NON' ('EXIS' rxt 'TBT') ;
  136. 'FINS' ;
  137.  
  138. 'SI' (('EXIS' rxt 'TBT') 'ET' ('NON' REINIT)) ;
  139. vertytab rxt 'TBT' 'TABLE ' ;
  140. vertytab rxt 'GEO' 'TABLE ' ;
  141. TPREPA = FAUX ;
  142. TBT = rxt . 'TBT' ;
  143. GEO = rxt . 'GEO' ;
  144. 'SINO' ;
  145. TPREPA = VRAI ;
  146. TBT = 'TABLE' ;
  147. GEO = 'TABLE' ;
  148. rxt . 'GEO' = GEO ;
  149. 'FINS' ;
  150.  
  151. *
  152. * epsi = tolérance pour les maillages (ELIM)
  153. GEO . 'epsi' = 1.e-4 ;
  154. 'SI' ('EXIS' rxt 'epsi') ;
  155. vertytab rxt 'epsi' 'FLOTTANT' ;
  156. GEO . 'epsi' = rxt . 'epsi' ;
  157. 'FINS' ;
  158.  
  159. *
  160. * ndl = nbre de temps connus
  161. * Tps = dernier temps connu (début du pas de temps)
  162. 'SI' ('EXIS' rxt 'TIC') ;
  163. vertytab rxt 'TIC' 'TABLE ' ;
  164. vertytab (rxt . 'TIC') 'LTPS' 'LISTREEL' ;
  165. tic = rxt . 'TIC' ;
  166. 'SINO' ;
  167. tic = 'TABLE' 'INCO' ;
  168. rxt . 'TIC' = tic ;
  169. tic . 'LTPS' = 'PROG' 0.0 ;
  170. 'FINS' ;
  171. ndl = 'DIME' tic . 'LTPS' ;
  172. Tps = 'EXTR' tic . 'LTPS' ndl ;
  173. 'MESS' 'Le calcul demarre a partir du temps' ' ' Tps ;
  174.  
  175. *
  176. * Liste des Gaz pris en compte
  177. LINCOND = 'MOTS' 'N2' 'H2' 'HE' 'O2' 'CO' 'CO2' 'VAPE' ;
  178.  
  179. *
  180. *FD A commenter
  181. 'SI' ('NON' ('EXIS' tic 'Lg0D')) ;
  182. tic . 'Lg0D' = 'MOTS' ;
  183. tic . 'Li0D' = 'PROG' ;
  184. 'FINS' ;
  185. *
  186. *-------------------------------------------------------------
  187. * Les données de l'utilisateur (table rxt) sont décodées,
  188. * vérifiées et dupliquées (tables tbt et geo)
  189. *-------------------------------------------------------------
  190. *
  191. * Conditions initiales
  192. vertytab rxt 'TF0' 'FLOTTANT' ;
  193. vertytab rxt 'PT0' 'FLOTTANT' ;
  194.  
  195. *
  196. * Maillage fluide
  197. vertytab rxt 'vtf' 'MAILLAGE' ;
  198. vtf = rxt . 'vtf' ;
  199. vertytab 0 GEO vtf ;
  200. GEO . 'Mvtf' = 'CHAN' 'QUAF' rxt . 'vtf' ;
  201.  
  202. *
  203. * DT0 = pas de temps
  204. vertytab rxt 'DT0' 'FLOTTANT' ;
  205. tic . 'DT' = rxt . 'DT0' ;
  206.  
  207. *
  208. * Couplage éventuel avec CATHARE2
  209. TBT . 'CATHARE2' = FAUX ;
  210. 'SI' ('EXIS' rxt 'CATHARE2') ;
  211. vertytab rxt 'CATHARE2' 'LOGIQUE' ;
  212. TBT . 'CATHARE2' = rxt . 'CATHARE2' ;
  213. 'FINS' ;
  214.  
  215. *
  216. * On interdit VERSION = V1
  217. TBT . 'VERSION' = 0 ;
  218. 'SI' ('EXIS' rxt 'VERSION') ;
  219. lxt = 'MOTS' 'V0' 'V1' ;
  220. vertytab lxt (rxt . 'VERSION') 'MOT' ;
  221. tbvs = 'TABL' ;
  222. tbvs . 'V0' = 0 ;
  223. tbvs . 'V1' = 1 ;
  224. TBT . 'VERSION' = tbvs . (rxt . 'VERSION') ;
  225. 'SI' ('EGA' TBT . 'VERSION' 1) ;
  226. 'MESS' ;
  227. 'MESS' '*********************************************************' ;
  228. 'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  229. 'MESS' ' ' ;
  230. 'MESS' ' ' ;
  231. 'MESS' ' Pas de VERSION V1 pour l instant ' ;
  232. 'MESS' ' ' ;
  233. 'MESS' '*********************************************************' ;
  234. 'ERRE' 19 ;
  235. 'QUIT' EXECRXT ;
  236. 'FINS' ;
  237. 'FINS' ;
  238.  
  239. 'SI' ('EGA' TBT . 'VERSION' 1) ;
  240. TBT . 'YBRO' = 1.e-4 ;
  241. TBT . 'V1alfa' = 0.8 ;
  242. TBT . 'TAUXcm' = 1. ;
  243. 'SI' ('EXIS' rxt 'YBRO') ;
  244. vertytab rxt 'YBRO' 'FLOTTANT' ;
  245. TBT . 'YBRO' = rxt . 'YBRO' ;
  246. 'FINS' ;
  247. 'SI' ('EXIS' rxt 'V1alfa') ;
  248. vertytab rxt 'V1alfa' 'FLOTTANT' ;
  249. TBT . 'V1alfa' = rxt . 'V1alfa' ;
  250. 'FINS' ;
  251. 'SI' ('EXIS' rxt 'TAUXcm') ;
  252. vertytab rxt 'TAUXcm' 'FLOTTANT' ;
  253. TBT . 'TAUXcm' = rxt . 'TAUXcm' ;
  254. 'FINS' ;
  255. 'FINS' ;
  256.  
  257. *
  258. * On interdit LOI-ETAT = GR
  259. TBT . 'LOI-ETAT' = 'GP' ;
  260. 'SI' ('EXIS' rxt 'LOI-ETAT') ;
  261. lxt = 'MOTS' 'GP' 'GR' ;
  262. vertytab lxt (rxt . 'LOI-ETAT') 'MOT' ;
  263. TBT . 'LOI-ETAT' = rxt . 'LOI-ETAT' ;
  264. 'SI' ('EGA' TBT . 'LOI-ETAT' 'GR') ;
  265. 'MESS' ;
  266. 'MESS' '*********************************************************' ;
  267. 'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  268. 'MESS' ' ' ;
  269. 'MESS' ' ' ;
  270. 'MESS' ' Pas de loi d etat gaz reel pour l instant ' ;
  271. 'MESS' ' ' ;
  272. 'MESS' '*********************************************************' ;
  273. 'ERRE' 19 ;
  274. 'QUIT' EXECRXT ;
  275. 'FINS' ;
  276. 'FINS' ;
  277.  
  278. *
  279. * GRAPH = Logique permettant les dessins
  280. TBT . 'GRAPH' = FAUX ;
  281. 'SI' ('EXIS' rxt 'GRAPH') ;
  282. vertytab rxt 'GRAPH' 'LOGIQUE ' ;
  283. TBT . 'GRAPH' = rxt . 'GRAPH' ;
  284. 'FINS' ;
  285.  
  286. *
  287. * Niveau d'impression = 0 pour les supprimer et 2 pour le mode DEBUG
  288. TBT . 'nimpr' = 0 ;
  289. TBT . 'IMPR' = 2 ;
  290. 'SI' ('EXIS' rxt 'IMPR') ;
  291. vertytab rxt 'IMPR' 'ENTIER' ;
  292. TBT . 'IMPR' = rxt . 'IMPR' ;
  293. 'FINS' ;
  294.  
  295. *
  296. * STAB = coefficient de Stabilisation pour les MACRO
  297. TBT . 'STAB' = 1. ;
  298. 'SI' ('EXIS' rxt 'STAB') ;
  299. vertytab rxt 'STAB' 'FLOTTANT' ;
  300. TBT . 'STAB' = rxt . 'STAB' ;
  301. listand = listand 'ET' ('MOTS' 'STAB') ;
  302. 'FINS' ;
  303.  
  304. *
  305. * FRPREC = fréquence de recalcul du préconditionnement
  306. 'SI' ('EXIS' rxt 'FRPREC') ;
  307. vertytab rxt 'FRPREC' 'ENTIER' ;
  308. TBT . 'FRPREC' = rxt . 'FRPREC' ;
  309. 'FINS' ;
  310.  
  311. *
  312. * DETMAT = vrai si on détruit les matrices à la fin du calcul
  313. TBT . 'DETMAT' = VRAI ;
  314. 'SI' ('EXIS ' rxt 'DETMAT') ;
  315. vertytab rxt 'DETMAT' 'LOGIQUE' ;
  316. listentr . 'DETMAT' = '' ;
  317. TBT . 'DETMAT' = rxt . 'DETMAT' ;
  318. 'FINS' ;
  319.  
  320. *
  321. * CORTEMP = vrai si on controle le bilan d'énergie
  322. TBT . 'CORTEMP' = vrai ;
  323. 'SI' ('EXIS' rxt 'CORTEMP') ;
  324. vertytab rxt 'CORTEMP' 'LOGIQUE' ;
  325. listentr . 'CORTEMP' = '' ;
  326. TBT . 'CORTEMP' = rxt . 'CORTEMP' ;
  327. listand = listand 'ET' (MOTS 'CORTEMP') ;
  328. 'FINS' ;
  329.  
  330. *
  331. * CORLIM = vrai si on controle le bilan de masse en incorporant les points de la frontière où sont
  332. * définies les conditions aux limites (sinon ces points sont exclus)
  333. TBT . 'CORLIM' = vrai ;
  334. 'SI' ('EXIS' rxt 'CORLIM') ;
  335. vertytab rxt 'CORLIM' 'LOGIQUE' ;
  336. listentr . 'CORLIM' = '' ;
  337. TBT . 'CORLIM' = rxt . 'CORLIM' ;
  338. listand = listand 'ET' (MOTS 'CORLIM') ;
  339. 'FINS' ;
  340. corlim = tbt . 'CORLIM' ;
  341.  
  342. *
  343. * RENU = Type de renumérotation pour les méthodes d'inversion
  344. TBT . 'RENU' = 'SLOA' ;
  345. 'SI' ('EXIS' rxt 'RENU') ;
  346. vertytab rxt 'RENU' 'MOT' ;
  347. lxt = 'MOTS' 'RIEN' 'SLOA' 'GIBR' 'GIBA' ;
  348. vertytab lxt (rxt . 'RENU') 'MOT' ;
  349. TBT . 'RENU' = rxt . 'RENU' ;
  350. listand = listand 'ET' ('MOTS' 'RENU') ;
  351. 'FINS' ;
  352.  
  353. *
  354. * TYPINV = Type d'inversion et paramètres pour les méthodes itératives
  355. * (cf notice KRES)
  356. TBT . 'TYPINV' = 3 ;
  357. 'SI' ('EXIS' rxt 'TYPINV') ;
  358. vertytab rxt 'TYPINV' 'ENTIER' ;
  359. TBT . 'TYPINV' = rxt . 'TYPINV' ;
  360. listand = listand 'ET' ('MOTS' 'TYPINV') ;
  361. 'FINS' ;
  362.  
  363. TBT . 'RESIDU' = 1.E-20 ;
  364. 'SI' ('EXIS' rxt 'RESIDU') ;
  365. vertytab rxt 'RESIDU' 'FLOTTANT' ;
  366. TBT . 'RESIDU' = rxt . 'RESIDU' ;
  367. listand = listand 'ET' (MOTS 'RESIDU') ;
  368. 'FINS' ;
  369.  
  370. TBT . 'NTIT' = 800 ;
  371. 'SI' ('EXIS' rxt 'NTIT') ;
  372. vertytab rxt 'NTIT' 'ENTIER' ;
  373. TBT .'NTIT' = rxt . 'NTIT' ;
  374. listand = listand 'ET' ('MOTS' 'NTIT') ;
  375. 'FINS' ;
  376.  
  377. *
  378. * TRESOU = vrai si RESO est le solveur linéaire
  379. TBT . 'TRESOU' = FAUX ;
  380. 'SI' ('EXIS' rxt 'TRESOU') ;
  381. vertytab rxt 'TRESOU' 'LOGIQUE' ;
  382. TBT . 'TRESOU' = rxt . 'TRESOU' ;
  383. listand = listand 'ET' ('MOTS' 'TRESOU') ;
  384. 'FINS' ;
  385.  
  386. *
  387. * TCPT = vrai si les matrices élémentaires sont calclées en //
  388. TBT . 'TCPT' = FAUX ;
  389. 'SI' ('EXIS' rxt 'TCPT') ;
  390. vertytab rxt 'TCPT' 'LOGIQUE' ;
  391. TBT . 'TCPT' = rxt . 'TCPT' ;
  392. listand = listand 'ET' ('MOTS' 'TCPT') ;
  393. 'FINS' ;
  394.  
  395. *
  396. * TKPR = vrai si la résolution des champs scalaires est en //
  397. * Le // est effectif si au moins un champ est // (TRTOUT = vrai)
  398. TBT . 'TKPR' = FAUX ;
  399. 'SI' ('EXIS' rxt 'TKPR') ;
  400. vertytab rxt 'TKPR' 'LOGIQUE' ;
  401. TBT . 'TKPR' = rxt . 'TKPR' ;
  402. listand = listand 'ET' ('MOTS' 'TKPR') ;
  403. 'FINS' ;
  404.  
  405. TBT . 'IMPARA' = FAUX ;
  406. 'SI' ('EXIS' rxt 'IMPARA') ;
  407. vertytab rxt 'IMPARA' 'LOGIQUE' ;
  408. TBT . 'IMPARA' = rxt . 'IMPARA' ;
  409. listand = listand 'ET' (MOTS 'IMPARA') ;
  410. 'FINS' ;
  411.  
  412. TBT . 'TRTF' = TBT . 'TKPR' ;
  413. 'SI' ('EXIS' rxt 'TRTF') ;
  414. vertytab rxt 'TRTF' 'LOGIQUE' ;
  415. TBT . 'TRTF' = rxt . 'TRTF' ;
  416. listand = listand 'ET' (MOTS 'TRTF') ;
  417. 'FINS' ;
  418.  
  419. TBT . 'TRrvap' = TBT . 'TKPR' ;
  420. 'SI' ('EXIS' rxt 'TRrvap') ;
  421. vertytab rxt 'TRrvap' 'LOGIQUE' ;
  422. TBT . 'TRrvap' = rxt . 'TRrvap' ;
  423. listand = listand 'ET' ('MOTS' 'TRrvap') ;
  424. 'FINS' ;
  425.  
  426. TBT . 'TRrhe' = TBT . 'TKPR' ;
  427. 'SI' ('EXIS' rxt 'TRrhe') ;
  428. vertytab rxt 'TRrhe' 'LOGIQUE' ;
  429. TBT . 'TRrhe' = rxt . 'TRrhe' ;
  430. listand = listand 'ET' ('MOTS' 'TRrhe') ;
  431. 'FINS' ;
  432.  
  433. TBT . 'TRrh2' = TBT . 'TKPR' ;
  434. 'SI' ('EXIS' rxt 'TRrh2') ;
  435. vertytab rxt 'TRrh2' 'LOGIQUE' ;
  436. TBT . 'TRrh2' = rxt . 'TRrh2' ;
  437. listand = listand 'ET' ('MOTS' 'TRrh2') ;
  438. 'FINS' ;
  439.  
  440. TBT . 'TRro2' = TBT . 'TKPR' ;
  441. 'SI' ('EXIS' rxt 'TRro2') ;
  442. vertytab rxt 'TRro2' 'LOGIQUE' ;
  443. TBT . 'TRro2' = rxt . 'TRro2' ;
  444. listand = listand 'ET' ('MOTS' 'TRro2') ;
  445. 'FINS' ;
  446.  
  447. TBT . 'TRrn2' = TBT . 'TKPR' ;
  448. 'SI' ('EXIS' rxt 'TRrn2') ;
  449. vertytab rxt 'TRrn2' 'LOGIQUE' ;
  450. TBT . 'TRrn2' = rxt . 'TRrn2' ;
  451. listand = listand 'ET' ('MOTS' 'TRrn2') ;
  452. 'FINS' ;
  453.  
  454. TBT . 'TRrco' = TBT . 'TKPR' ;
  455. 'SI' ('EXIS' rxt 'TRrco') ;
  456. vertytab rxt 'TRrco' 'LOGIQUE' ;
  457. TBT . 'TRrco' = rxt . 'TRrco' ;
  458. listand = listand 'ET' (MOTS 'TRrco') ;
  459. 'FINS' ;
  460.  
  461. TBT . 'TRrco2' = TBT . 'TKPR' ;
  462. 'SI' ('EXIS' rxt 'TRrco2') ;
  463. vertytab rxt 'TRrco2' 'LOGIQUE' ;
  464. TBT . 'TRrco2' = rxt . 'TRrco2' ;
  465. listand = listand 'ET' ('MOTS' 'TRrco2') ;
  466. 'FINS' ;
  467.  
  468. TBT . 'TRrair' = TBT . 'TKPR' ;
  469. 'SI' ('EXIS' rxt 'TRrair') ;
  470. vertytab rxt 'TRrair' 'LOGIQUE' ;
  471. TBT . 'TRrair' = rxt . 'TRrair' ;
  472. listand = listand 'ET' ('MOTS' 'TRrair') ;
  473. 'FINS' ;
  474.  
  475. TBT . 'TRTOUT' =
  476. TBT . 'TRTF' 'OU' TBT . 'TRrvap' 'OU' TBT . 'TRrhe' 'OU'
  477. TBT . 'TRrh2' 'OU' TBT . 'TRro2' 'OU' TBT . 'TRrn2' 'OU'
  478. TBT . 'TRrco' 'OU' TBT . 'TRrco2' 'OU' TBT . 'TRrair' ;
  479.  
  480. *
  481. * PPDT formulation conservative ou non conservative
  482. * (désignée petits/grands pas de temps)
  483. TBT . 'PPDT' = FAUX ;
  484. 'SI' ('EXIS' rxt 'PPDT') ;
  485. vertytab rxt 'PPDT' 'LOGIQUE' ;
  486. TBT . 'PPDT' = rxt . 'PPDT' ;
  487. listand = listand 'ET' ('MOTS' 'PPDT') ;
  488. 'FINS' ;
  489. 'SI' TBT . 'PPDT' ;
  490. TBT . 'FCONS' = 'CONS2' ;
  491. 'SINO' ;
  492. TBT . 'FCONS' = 'NOCONS' ;
  493. 'FINS' ;
  494.  
  495. *
  496. * ALGO = choix de l'algorithme implicite / explicite
  497. * (IMPL = semi implicite / EFM1 = semi explicite)
  498. TBT . 'ALGO' = 'IMPL' ;
  499. TBT . 'SPGNU' = 'CHAI' 'SOMMET' ;
  500. TBT . 'FEF' = 'EF' ;
  501. TBT . 'FIMPL' = 'IMPL' ;
  502. 'SI' ('EXIS' rxt 'ALGO') ;
  503. vertytab rxt 'ALGO' 'MOT' ;
  504. lxt = 'MOTS' 'IMPL' 'EFM1' ;
  505. vertytab lxt (rxt . 'ALGO') 'MOT' ;
  506. TBT . 'ALGO' = rxt . 'ALGO' ;
  507. 'SI' ('EGA' TBT . 'ALGO' 'EFM1') ;
  508. TBT . 'SPGNU' = 'CHAI' 'CENTRE' ;
  509. TBT . 'FEF' = 'EFM1' ;
  510. TBT . 'FIMPL' = 'EXPL' ;
  511. 'FINS' ;
  512. listand = listand 'ET' ('MOTS' 'ALGO') ;
  513. 'FINS' ;
  514. 'MESS' '==> Algorithme choisi' ' ' TBT . 'ALGO' ;
  515.  
  516. *
  517. * DISCR = Eléments pour la vitessse et les scalaires autres que P
  518. * (LINE = linéaires / MACRO (par DEFAUT) / QUAF = quadratiques fluide)
  519. TBT . 'discr' = 'MACRO' ;
  520. 'SI' ('EXIS' rxt 'DISCR') ;
  521. vertytab rxt 'DISCR' 'MOT' ;
  522. lxt = 'MOTS' 'MACRO' 'LINE' 'QUAF' ;
  523. vertytab lxt (rxt . 'DISCR') 'MOT' ;
  524. TBT . 'discr' = rxt . 'DISCR' ;
  525. listand = listand 'ET' ('MOTS' 'DISCR') ;
  526. 'FINS' ;
  527. 'MESS' '==> Discretisation choisie pour la vitesse' ' ' TBT . 'discr' ;
  528. TBT . 'discrH' = TBT . 'discr' ;
  529. 'SI' (('EGA' TBT . 'discr' 'QUAF') 'ET' DIM3D) ;
  530. TBT . 'discrH' = 'MACRO' ;
  531. 'FINS' ;
  532.  
  533. *
  534. * KPRE = Eléments pour la pression
  535. TBT . 'KPRE' = 'CENTRE' ;
  536. 'SI' ('EXIS' rxt 'KPRE') ;
  537. vertytab rxt 'KPRE' 'MOT' ;
  538. lxt = 'TABL' ;
  539. lxt . 'CENTRE' = ' ' ;
  540. lxt . 'CENTREP1' = ' ' ;
  541. lxt . 'MSOMMET' = ' ' ;
  542. vertytab lxt (rxt . 'KPRE') 'MOT' ;
  543. TBT . 'KPRE' = rxt . 'KPRE' ;
  544. listand = listand 'ET' ('MOTS' 'KPRE') ;
  545. 'FINS' ;
  546. 'MESS' '==> Discretisation choisie pour la pression' ' ' TBT . 'KPRE' ;
  547.  
  548. *
  549. * MAXELPRE = nombre maximum d'éléments pour lequel on utilise
  550. * une méthode directe (Cholesky) pour inverser la matrice.
  551. TBT . 'MAXELPRE' = 150000 ;
  552. 'SI' ('EXIS' rxt 'MAXELPRE') ;
  553. vertytab rxt 'MAXELPRE' 'ENTIER' ;
  554. TBT . 'MAXELPRE' = rxt . 'MAXELPRE' ;
  555. listand = listand 'ET' ('MOTS' 'MAXELPRE') ;
  556. 'FINS' ;
  557. 'MESS' '==> Resolution directe pour la pression jusqu à' ' '
  558. TBT . 'MAXELPRE' ' ' 'elements' ;
  559.  
  560. *
  561. * Definition des grandeurs Physiques :
  562. * Rabs = constante universel des GP (J/mol/K)
  563. * Rgi = constante des gaz (J/kg/K)
  564. * Mki = masse molaire (kg/mol)
  565. *
  566. * Cpvap/Cvvap = Chaleur specifique à pression/volume constant supposé
  567. * constant durant le calcul + hypothèse vapeur gaz parfait (J/kg/K)
  568. * Lv = Chaleur Latente supposée constante (J/kg)
  569. Rabs = 6.022*1.38066 ;
  570. TBT . 'Rabs' = Rabs ;
  571. TBT . 'Rgh2' = Rabs '/' 2.E-3 ; TBT . 'Mkh2' = 2.016E-3 ;
  572. TBT . 'Rghe' = Rabs '/' 4.E-3 ; TBT . 'Mkhe' = 4.003E-3 ;
  573. TBT . 'Rgo2' = Rabs '/' 3.2E-2 ; TBT . 'Mko2' = 32.00E-3 ;
  574. TBT . 'Rgn2' = Rabs '/' 2.8E-2 ; TBT . 'Mkn2' = 28.02E-3 ;
  575. TBT . 'Rgco2' = Rabs '/' 4.4E-2 ; TBT . 'Mkco2' = 44.01E-3 ;
  576. TBT . 'Rgco' = Rabs '/' 2.8E-2 ; TBT . 'Mkco' = 28.01E-3 ;
  577. TBT . 'Rgar' = Rabs '/' 4.E-2 ; TBT . 'Mkar' = 39.94E-3 ;
  578. TBT . 'Rgch4' = Rabs '/' 16.E-3 ; TBT . 'Mkch4' = 16.04E-3 ;
  579.  
  580. TBT . 'Rgvap' = Rabs '/' 1.8E-2 ; TBT . 'Mkvap' = 18.02E-3 ;
  581.  
  582. *Rabs = 6.02214076 '*' 1.380649 ;
  583. *TBT . 'Mkh2' = 2.D0 * 0.00100794D0 ;
  584. *TBT . 'Rgh2' = Rabs '/' TBT . 'Mkh2' ;
  585. *TBT . 'Mkhe' = 0.004002602D0 ;
  586. *TBT . 'Rghe' = Rabs '/' TBT . 'Mkhe' ;
  587. *TBT . 'Mko2' = 2.D0 * 0.0159994D0 ;
  588. *TBT . 'Rgo2' = Rabs '/' TBT . 'Mko2' ;
  589. *TBT . 'Mkn2' = 2.D0 * 0.0140067D0 ;
  590. *TBT . 'Rgn2' = Rabs '/' TBT . 'Mkn2' ;
  591. *TBT . 'Mkco2' = 2.D0 * 0.0159994D0 + 0.0120107D0 ;
  592. *TBT . 'Rgco2' = Rabs '/' TBT . 'Mkco2' ;
  593. *TBT . 'Mkco' = 0.0120107D0 + 0.0159994D0 ;
  594. *TBT . 'Rgco' = Rabs '/' TBT . 'Mkco' ;
  595. *TBT . 'Mkvap' = 2.D0 * 0.00100794D0 + 0.0159994D0 ;
  596. *TBT . 'Rgvap' = Rabs '/' TBT . 'Mkvap' ;
  597. *
  598. *TBT . 'Mkar' = 39.94E-3 ; TBT . 'Rgar' = Rabs '/' TBT . 'Mkar' ;
  599. *TBT . 'Mkch4' = 16.04E-3 ; TBT . 'Rgch4' = Rabs '/' TBT . 'Mkch4' ;
  600.  
  601. 'SI' ('EXIS' rxt 'Cpvap') ;
  602. vertytab rxt 'Cpvap' 'FLOTTANT' ;
  603. Cpvap = rxt . 'Cpvap' ;
  604. 'SINO' ;
  605. Cpvap = 1700. ;
  606. 'MESS' '==> Cpvap mis par defaut a 1700 J/kg/K' ;
  607. 'FINS' ;
  608. TBT . 'Cpvap' = Cpvap ;
  609. TBT . 'Cvvap' = TBT . 'Cpvap' - TBT . 'Rgvap' ;
  610.  
  611. 'SI' ('EXIS' rxt 'Lv') ;
  612. vertytab rxt 'Lv' 'FLOTTANT' ;
  613. Lv = rxt . 'Lv' ;
  614. 'SINO' ;
  615. Lv = 2.3E6 ;
  616. 'MESS' '==> Chaleur latente Lv mise par defaut a 2.3E6 J/kg' ;
  617. 'FINS' ;
  618. TBT . 'Lv' = Lv ;
  619.  
  620. TBT . 'Rgair' = 287.1 ; TBT . 'Mkair' = 28.97E-3 ;
  621. TBT . 'lamair' = 2.580e-2 ;
  622.  
  623. *
  624. * Coefficients pour les tables de l'eau
  625. TBT . 'B0' = -4512.70756 ; TBT . 'B1' = 4245585.9 ;
  626. TBT . 'B2' = -1584624342.;
  627.  
  628. *
  629. * DB = coefficient de diffusion Brownienne
  630. 'SI' ('EXIS' rxt 'db') ;
  631. vertytab rxt 'db' 'FLOTTANT' ;
  632. db = rxt . 'db' ;
  633. 'SINO' ;
  634. db = 1.000e-5 ;
  635. 'FINS' ;
  636. TBT . 'db' = db ;
  637.  
  638. *
  639. * Définition de l'axe (ou du plan) de symétrie
  640. TBT . 'Taxe' = FAUX ;
  641. 'SI' ('EXIS' rxt 'axe') ;
  642. vertytab rxt 'axe' 'MAILLAGE' ;
  643. TBT . 'Taxe' = VRAI ;
  644. 'FINS' ;
  645.  
  646. *
  647. * Définition des Sorties
  648. TBT . 'TTsortie' = FAUX ;
  649. 'SI' ('EXIS' rxt 'Sorties') ;
  650. vertytab rxt 'Sorties' 'TABLE' ;
  651. TBT . 'TTsortie' = VRAI ;
  652. NBR = 'DIME' rxt . 'Sorties' ;
  653. mess ' Il y a' ' ' NBR ' ' 'Sortie(s)' ;
  654. ibr = 'INDE' rxt . 'Sorties' ;
  655. 'REPE' BBRS NBR ;
  656. Sriches = rxt . 'Sorties' . (ibr . &BBRS) ;
  657. 'MESS' 'Verification Sortie' ' ' (ibr . &BBRS) ;
  658. vertytab Sriches 'Maillage' 'MAILLAGE' ;
  659. vertytab Sriches 'scenario' 'TABLE ' ;
  660. scn = Sriches . 'scenario' ;
  661. Sriches . 'Modinj' = 'MOT' 'A' ;
  662. 'SI' ('EXIS' Sriches . 'scenario' 'Modinj') ;
  663. Sriches . 'Modinj' = Sriches . 'scenario' . 'Modinj' ;
  664. 'FINS' ;
  665. *FD
  666. * Quid si reprise ?
  667. *FD
  668. 'SI' ('NON' ('EXIS' Sriches 'Qj')) ;
  669. Sriches . 'guj' = 'PROG' 0. ;
  670. Sriches . 'Qj' = 'PROG' 0. ;
  671. Sriches . 'Ksi' = 'PROG' 0. ;
  672. Sriches . 'Hj' = 'PROG' 0. ;
  673. Sriches . 'Ej' = 'PROG' 0. ;
  674. Sriches . 'Ltbp1' = 'PROG' 0. ;
  675. Sriches . 'Qlj' = 'PROG' 0. ;
  676. Sriches . 'Hlj' = 'PROG' 0. ;
  677. Sriches . 'Tinj' = 'PROG' 0. ;
  678. 'FINS' ;
  679. 'FIN' BBRS ;
  680. TBT . 'Sorties' = rxt . 'Sorties' ;
  681. 'FINS' ;
  682.  
  683. *
  684. * Définition des Breches
  685. TBT . 'TTbreche' = FAUX ;
  686. 'SI' ('EXIS' rxt 'Breches') ;
  687. vertytab rxt 'Breches' 'TABLE' ;
  688. TBT . 'TTbreche' = VRAI ;
  689. NBR = 'DIME' rxt . 'Breches' ;
  690. 'MESS' ' Il y a' ' ' NBR ' ' 'Brèche(s)' ;
  691. ibr = 'INDE' rxt . 'Breches' ;
  692. 'REPE' BBRS NBR ;
  693. Briches = rxt . 'Breches' . (ibr . &BBRS) ;
  694. 'MESS' 'Verification Breche' ' ' (ibr . &BBRS) ;
  695. vertytab Briches 'diru' 'POINT ' ;
  696. Briches . 'diru' = Briches . 'diru' '/' ('NORM' Briches . 'diru') ;
  697. vertytab Briches 'Maillage' 'MAILLAGE' ;
  698. vertytab Briches 'scenario' 'TABLE ' ;
  699. scn = Briches . 'scenario' ;
  700. Briches . 'Modinj' = 'MOT' 'A' ;
  701. 'SI' ('EXIS' Briches . 'scenario' 'Modinj') ;
  702. Briches . 'Modinj' = Briches . 'scenario' . 'Modinj' ;
  703. 'FINS' ;
  704. *FD
  705. * Quid si reprise ?
  706. *FD
  707. 'SI' ('NON' ('EXIS' Briches 'Qj')) ;
  708. Briches . 'guj' = 'PROG' 0. ;
  709. Briches . 'Qj' = 'PROG' 0. ;
  710. Briches . 'Ksi' = 'PROG' 0. ;
  711. Briches . 'Hj' = 'PROG' 0. ;
  712. Briches . 'Ej' = 'PROG' 0. ;
  713. Briches . 'Ltbp1' = 'PROG' 0. ;
  714. Briches . 'Qlj' = 'PROG' 0. ;
  715. Briches . 'Hlj' = 'PROG' 0. ;
  716. Briches . 'Tinj' = 'PROG' 0. ;
  717. 'FINS' ;
  718. 'FIN' BBRS ;
  719. TBT . 'Breches' = rxt . 'Breches' ;
  720. *
  721. 'SI' ('NON' ('EXIS' tic 'Breches')) ;
  722. tic . 'Breches' = 'TABLE' ;
  723. 'FINS' ;
  724. 'FINS' ;
  725.  
  726. *
  727. * Définition des Flux de masse imposés
  728. TBT . 'TFIMP' = FAUX ;
  729. 'SI' ('EXIS' rxt 'XFIMP') ;
  730. TBT . 'TFIMP' = VRAI ;
  731. vertytab rxt 'XFIMP' 'TABLE' ;
  732. NBFIMP = 'DIME' rxt . 'XFIMP' ;
  733. ifimp = 'INDE' rxt . 'XFIMP' ;
  734. 'REPE' BBFIMP NBFIMP ;
  735. Bfimp = rxt . 'XFIMP' . (ifimp . &BBFIMP) ;
  736. vertytab (rxt.'XFIMP') (ifimp . &BBFIMP) 'TABLE' ;
  737. vertytab Bfimp 'MAILLAGE' 'MAILLAGE' ;
  738. vertytab Bfimp 't' 'LISTREEL' ;
  739. *FD
  740. * A mettre dans prepaenc ?
  741. *FD
  742. nds = 'DIME' Bfimp . 't' ;
  743. 'SI' ('EXIS' Bfimp 'qt') ;
  744. vertytab Bfimp 'qt' 'LISTREEL' ;
  745. 'SINO' ;
  746. Bfimp . 'qt' = 'PROG' nds*0. ;
  747. 'FINS' ;
  748. 'SI' ('EXIS' Bfimp 'qeau') ;
  749. vertytab Bfimp 'qeau' 'LISTREEL' ;
  750. 'SINO' ;
  751. Bfimp . 'qeau' = 'PROG' nds*0. ;
  752. 'FINS' ;
  753. 'SI' ('EXIS' Bfimp 'qair') ;
  754. vertytab Bfimp 'qair' 'LISTREEL' ;
  755. 'SINO' ;
  756. Bfimp . 'qair' = 'PROG' nds*0. ;
  757. 'FINS' ;
  758. 'SI' ('EXIS' Bfimp 'qhe') ;
  759. vertytab Bfimp 'qhe' 'LISTREEL' ;
  760. 'SINO' ;
  761. Bfimp . 'qhe' = 'PROG' nds*0. ;
  762. 'FINS' ;
  763. 'SI' ('EXIS' Bfimp 'qh2') ;
  764. vertytab Bfimp 'qh2' 'LISTREEL' ;
  765. 'SINO' ;
  766. Bfimp . 'qh2' = 'PROG' nds*0. ;
  767. 'FINS' ;
  768. 'SI' ('EXIS' Bfimp 'qo2') ;
  769. vertytab Bfimp 'qo2' 'LISTREEL' ;
  770. 'SINO' ;
  771. Bfimp . 'qo2' = 'PROG' nds*0. ;
  772. 'FINS' ;
  773. 'SI' ('EXIS' Bfimp 'qn2') ;
  774. vertytab Bfimp 'qn2' 'LISTREEL' ;
  775. 'SINO' ;
  776. Bfimp . 'qn2' = 'PROG' nds*0. ;
  777. 'FINS' ;
  778. 'SI' ('EXIS' Bfimp 'qco') ;
  779. vertytab Bfimp 'qco' 'LISTREEL' ;
  780. 'SINO' ;
  781. Bfimp . 'qco' = 'PROG' nds*0. ;
  782. 'FINS' ;
  783. 'SI' ('EXIS' Bfimp 'qco2');
  784. vertytab Bfimp 'qco2' 'LISTREEL' ;
  785. 'SINO' ;
  786. Bfimp . 'qco2' = 'PROG' nds*0. ;
  787. 'FINS' ;
  788. Bfimp . 'Kqt' = 'CHAI' 'Kqt' &BBTIMP ;
  789. Bfimp . 'Kqeau' = 'CHAI' 'Kqeau' &BBTIMP ;
  790. Bfimp . 'Kqair' = 'CHAI' 'Kqair' &BBTIMP ;
  791. Bfimp . 'Kqhe' = 'CHAI' 'Kqhe' &BBTIMP ;
  792. Bfimp . 'Kqh2' = 'CHAI' 'Kqh2' &BBTIMP ;
  793. Bfimp . 'Kqo2' = 'CHAI' 'Kqo2' &BBTIMP ;
  794. Bfimp . 'Kqn2' = 'CHAI' 'Kqn2' &BBTIMP ;
  795. Bfimp . 'Kqco' = 'CHAI' 'Kqco' &BBTIMP ;
  796. Bfimp . 'Kqco2' = 'CHAI' 'Kqco2' &BBTIMP ;
  797. Bfimp . 'KFL1' = 'CHAI' 'KFL1' &BBTIMP ;
  798. 'FIN' BBFIMP ;
  799. TBT . 'XFIMP' = rxt . 'XFIMP' ;
  800. 'FINS' ;
  801.  
  802. *
  803. * THERMP = vrai si Problème couplé Fluide-Structure
  804. * THERCO = vrai si couplage implicite Fluide-Structure
  805. TBT . 'THERMP' = FAUX ;
  806. TBT . 'THERCO' = FAUX ;
  807. TBT . 'ECHEXT' = FAUX ;
  808.  
  809. 'SI' ('EXIS' rxt 'THERMP') ;
  810. vertytab rxt 'THERMP' 'LOGIQUE' ;
  811. TBT . 'THERMP' = rxt . 'THERMP' ;
  812. 'FINS' ;
  813.  
  814. 'SI' ('EXIS' rxt 'THERCO') ;
  815. vertytab rxt 'THERCO' 'LOGIQUE' ;
  816. TBT . 'THERCO' = rxt . 'THERCO' ;
  817. 'SI' TBT . 'THERCO' ;
  818. TBT . 'THERMP' = VRAI ;
  819. listand = listand 'ET' ('MOTS' 'THCO') ;
  820. 'FINS' ;
  821. 'FINS' ;
  822.  
  823. *
  824. * TPAROIS = vrai si résolution thermique dans les parois
  825. * (nouvelle définition des parois thermiques)
  826. TBT . 'TPAROIS' = FAUX ;
  827. 'SI' ('EXIS' rxt 'PAROIS') ;
  828. vertytab rxt 'PAROIS' 'TABLE' ;
  829. *FD
  830. * ECHAN est défini globalement au lieu de localement pour chaque PAROI
  831. * (héritage de l'époque ou on avait une seulle paroi ?)
  832. *FD
  833. vertytab rxt 'ECHAN' 'FLOTTANT' 'CHPOINT' ;
  834. NPAR = 'DIME' rxt . 'PAROIS' ;
  835. 'MESS' 'Il y a' ' ' NPAR ' ' 'Parois(s)' ;
  836. ipr = 'INDE' rxt . 'PAROIS' ;
  837. Mvtp = 'VIDE' 'MAILLAGE' ;
  838. 'REPE' BPRS NPAR ;
  839. Parois = rxt . 'PAROIS' . (ipr . &BPRS) ;
  840. vertytab (rxt . 'PAROIS') (ipr . &BPRS) 'TABLE' ;
  841. 'MESS' ' Verification Paroi' ' ' (ipr . &BPRS) ;
  842. vertytab Parois 'vtp' 'MAILLAGE' ;
  843. Mvtp = Mvtp 'ET' Parois . 'vtp' ;
  844. vertytab Parois 'ROCP' 'FLOTTANT' 'CHPOINT' ;
  845. vertytab Parois 'LAMBDA' 'FLOTTANT' 'CHPOINT' ;
  846. vertytab Parois 'Tp0' 'FLOTTANT' 'CHPOINT' ;
  847. *? vertytab Parois 'ECHAN' 'FLOTTANT' 'CHPOINT' ;
  848. CROCP = 'CHAI' 'ROCP' &BPRS ;
  849. CLAMBDA = 'CHAI' 'LAMBDA' &BPRS ;
  850. CTP0 = 'CHAI' 'Tp0' &BPRS ;
  851. 'SI' ('NON' ('EXIS' tic CROCP)) ;
  852. tic . CROCP = Parois . 'ROCP' ;
  853. 'FINS' ;
  854. 'SI' ('NON' ('EXIS' tic CLAMBDA)) ;
  855. tic . CLAMBDA = Parois . 'LAMBDA' ;
  856. 'FINS' ;
  857. 'SI' ('NON' ('EXIS' tic CTp0)) ;
  858. tic . CTp0 = Parois . 'Tp0' ;
  859. 'FINS' ;
  860. 'FIN' BPRS ;
  861. vertytab 1 GEO Mvtp ;
  862. GEO . 'Mvtp' = 'CHAN' 'QUAF' Mvtp ;
  863. 'ELIM' GEO . 'Mvtp' rxt . 'epsi' ;
  864. 'ELIM' GEO . 'Mvtf' GEO . 'Mvtp' rxt . 'epsi' ;
  865. TBT . 'PAROIS' = rxt . 'PAROIS' ;
  866. TBT . 'THERMP' = VRAI ;
  867. TBT . 'TPAROIS' = VRAI ;
  868. 'FINS' ;
  869.  
  870. 'SI' TBT . 'THERMP' ;
  871. *FD
  872. * Ancienne définition d'une PAROI : à detruire ?
  873. *FD
  874. *
  875. * TPAROIS = faux mais THERMP = vrai (ancienne définition de LA paroi thermique)
  876. 'SI' ('NON' (TBT . 'TPAROIS')) ;
  877. vertytab rxt 'vtp' 'MAILLAGE' ;
  878. vertytab 1 GEO (rxt . 'vtp') ;
  879. GEO . 'Mvtp' = 'CHAN' 'QUAF' rxt . 'vtp' ;
  880. 'ELIM' GEO . 'Mvtf' GEO . 'Mvtp' rxt . 'epsi' ;
  881. vertytab rxt 'ROCP' 'FLOTTANT' 'CHPOINT' ;
  882. vertytab rxt 'LAMBDA' 'FLOTTANT' 'CHPOINT' ;
  883. vertytab rxt 'Tp0' 'FLOTTANT' 'CHPOINT' ;
  884. vertytab rxt 'ECHAN' 'FLOTTANT' 'CHPOINT' ;
  885. listchp = listchp 'ET' ('MOTS' 'ROCP') ;
  886. listchp = listchp 'ET' ('MOTS' 'LAMBDA') ;
  887. listchp = listchp 'ET' ('MOTS' 'Tp0' ) ;
  888. listchp = listchp 'ET' ('MOTS' 'ECHAN' ) ;
  889. 'SI' ('NON' ('EXIS' tic 'ROCP')) ;
  890. tic . 'ROCP' = rxt . 'ROCP' ;
  891. 'FINS' ;
  892. 'SI' ('NON' ('EXIS' tic 'LAMBDA')) ;
  893. tic . 'LAMBDA' = rxt . 'LAMBDA' ;
  894. 'FINS' ;
  895. 'SI' ('NON' ('EXIS' tic 'Tp0')) ;
  896. tic . 'Tp0' = rxt . 'Tp0' ;
  897. 'FINS' ;
  898. 'FINS' ;
  899.  
  900. *
  901. * Initialisation de KHW à ECHAN
  902. 'SI' ('NON' ('EXIS' tic 'KHW')) ;
  903. tic . 'KHW' = rxt . 'ECHAN' ;
  904. 'FINS' ;
  905.  
  906. *
  907. * ECHEXT = vrai si échange thermique avec l'extérieur
  908. 'SI' ('EXIS' rxt 'ECHEXT') ;
  909. vertytab rxt 'ECHEXT' 'LOGIQUE' ;
  910. TBT . 'ECHEXT' = rxt . 'ECHEXT' ;
  911. 'FINS' ;
  912.  
  913. 'SI' TBT . 'ECHEXT' ;
  914. vertytab rxt 'parext' 'MAILLAGE' ;
  915. GEO . 'Mparext' = 'CHAN' 'QUAF' rxt . 'parext' ;
  916. 'ELIM' GEO . 'Mvtp' GEO . 'Mparext' rxt . 'epsi' ;
  917. vertytab rxt 'HEXT' 'FLOTTANT' 'CHPOINT' ;
  918. vertytab rxt 'TPEXT' 'FLOTTANT' 'CHPOINT' ;
  919. listchp = listchp 'ET' ('MOTS' 'HEXT') ;
  920. listchp = listchp 'ET' ('MOTS' 'TPEXT') ;
  921. 'SI' ('NON' ('EXIS' tic 'HEXT'));
  922. tic . 'HEXT' = rxt . 'HEXT' ;
  923. 'FINS' ;
  924. 'SI' ('NON' ('EXIS' tic 'TPEXT')) ;
  925. tic . 'TPEXT' = rxt . 'TPEXT' ;
  926. 'FINS' ;
  927. 'FINS' ;
  928.  
  929. 'MESS' ': ==> Scenario avec thermique paroi' ;
  930.  
  931. 'SINO' ;
  932. 'MESS' ' : ==> Scenario sans thermique paroi ' ;
  933. 'FINS' ;
  934.  
  935. *
  936. * TTIMP = vrai si parois à température imposée
  937. TBT . 'TTIMP' = FAUX ;
  938. 'SI' ('EXIS' rxt 'TIMP') ;
  939. TBT . 'TTIMP' = VRAI ;
  940. vertytab rxt 'TIMP' 'TABLE' ;
  941. NBTIMP = 'DIME' rxt . 'TIMP' ;
  942. itimp = 'INDE' rxt . 'TIMP' ;
  943. 'REPE' BBTIMP NBTIMP ;
  944. 'MESS' 'Verification TIMP ->' ' ' (itimp . &BBTIMP) ;
  945. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  946. vertytab (rxt . 'TIMP') (itimp . &BBTIMP) 'TABLE' ;
  947. vertytab Btimp 'MAILLAGE' 'MAILLAGE' ;
  948. vertytab Btimp 'ECHAN' 'FLOTTANT' ;
  949. vertytab Btimp 't' 'LISTREEL' ;
  950. vertytab Btimp 'TIMP' 'LISTREEL' ;
  951. 'SI' ('EXIS' btimp 'KKC1') ;
  952. len1 = 'DIME' Btimp . 'Ltbpi' ;
  953. len2 = 'DIME' tic . 'LTPS' ;
  954. 'SI' ('NEG' len1 len2) ;
  955. 'MESS' 'TIMP : pb deuxieme passage ou reprise' ;
  956. Btimp . 'Ltbpi' = 'IPOL' tic . 'LTPS' Btimp . 't' Btimp . 'TIMP' ;
  957. 'FINS' ;
  958. 'SINO' ;
  959. Btimp . 'KKC1' = 'CHAI' 'KKC1' &BBTIMP ;
  960. Btimp . 'ROVI1' = 'CHAI' 'ROVI1' &BBTIMP ;
  961. Btimp . 'FHP1' = 'CHAI' 'FHP1' &BBTIMP ;
  962. Btimp . 'KH1' = 'CHAI' 'KH1' &BBTIMP ;
  963. Btimp . 'Fcond1'= 'CHAI' 'Fcond1' &BBTIMP ;
  964. Btimp . 'Mcond1'= 'CHAI' 'Mcond1' &BBTIMP ;
  965. Btimp . 'TPI1' = 'CHAI' 'TPI1' &BBTIMP ;
  966. Btimp . 'TBP1' = 'CHAI' 'TBP1' &BBTIMP ;
  967. Btimp . 'KHE1' = 'CHAI' 'KHE1' &BBTIMP ;
  968. Btimp . 'Qc1' = 'CHAI' 'Qc1' &BBTIMP ;
  969. Btimp . 'Ltbpi' = 'IPOL' tic . 'LTPS' Btimp . 't' Btimp . 'TIMP' ;
  970. 'FINS' ;
  971. 'FIN' BBTIMP ;
  972. TBT . 'TIMP' = rxt . 'TIMP' ;
  973. 'FINS' ;
  974.  
  975. *
  976. * TECHANP = vrai si paroi à T constant ou imposé via une procédure personnelle
  977. TBT . 'TECHANP' = FAUX ;
  978. 'SI' ('EXIS' rxt 'ECHANP') ;
  979. TBT . 'TECHANP' = VRAI ;
  980. vertytab rxt 'ECHANP' 'TABLE' ;
  981. vertytab (rxt . 'ECHANP') 'MAILLAGE' 'MAILLAGE' ;
  982. vertytab (rxt . 'ECHANP') 'ECHAN' 'FLOTTANT' ;
  983. vertytab (rxt . 'ECHANP') 'TMUR' 'FLOTTANT' ;
  984. 'FINS' ;
  985.  
  986. *
  987. * TRECOMB = vrai si présence de PARs (recombineurs)
  988. TBT . 'TRECOMB' = FAUX ;
  989. 'SI' ('EXIS' rxt 'RECOMB') ;
  990. vertytab rxt 'RECOMB' 'TABLE ' ;
  991. NBREC = 'DIME' rxt . 'RECOMB' ;
  992. 'REPE' BCL1 NBREC ;
  993. TRECI = rxt . 'RECOMB' . &BCL1 ;
  994. lxt = 'TABL' ;
  995. lxt . 'PAREXT' = ' ' ;
  996. lxt . 'ENTREE' = ' ' ;
  997. lxt . 'SORTIE' = ' ' ;
  998. lxt . 'direntr' = ' ' ;
  999. lxt . 'dirsort' = ' ' ;
  1000. lxt . 'NSECTION' = ' ' ;
  1001. lxt . 'TYPR' = ' ' ;
  1002. vertytab TRECI 'PAREXT' 'MAILLAGE' ;
  1003. vertytab TRECI 'ENTREE' 'MAILLAGE' ;
  1004. vertytab TRECI 'SORTIE' 'MAILLAGE' ;
  1005. vertytab TRECI 'direntr' 'POINT ' ;
  1006. vertytab TRECI 'dirsort' 'POINT ' ;
  1007. 'SI' ('EXIS' TRECI 'NSECTION') ;
  1008. vertytab TRECI 'NSECTION' 'ENTIER ' ;
  1009. 'SINO' ;
  1010. TRECI . 'NSECTION' = 1 ;
  1011. 'FINS' ;
  1012. 'SI' ('EXIS' TRECI 'TYPR') ;
  1013. vertytab TRECI 'TYPR' 'MOT' ;
  1014. lm1 = 'MOTS' 'SIEMENS' 'HEATER' ;
  1015. vertytab lm1 (TRECI . 'TYPR') 'MOT' ;
  1016. 'SINO' ;
  1017. TRECI . 'TYPR' = 'SIEMENS' ;
  1018. 'FINS' ;
  1019. typr = TRECI . 'TYPR' ;
  1020. 'SI' ('EGA' typr 'SIEMENS') ;
  1021. lxt . 'A' = ' ' ;
  1022. lxt . 'B' = ' ' ;
  1023. lxt . 'XH2ON' = ' ' ;
  1024. lxt . 'XH2OFF' = ' ' ;
  1025. lxt . 'BETA' = ' ' ;
  1026. 'SI' ('EXIS' TRECI 'A') ;
  1027. vertytab TRECI 'A' 'FLOTTANT' ;
  1028. 'SINO' ;
  1029. TRECI . 'A' = 0.48D-8 ;
  1030. 'FINS' ;
  1031. 'SI' ('EXIS' TRECI 'B') ;
  1032. vertytab TRECI 'B' 'FLOTTANT' ;
  1033. 'SINO' ;
  1034. TRECI . 'B' = 0.58D-3 ;
  1035. 'FINS' ;
  1036. 'SI' ('EXIS' TRECI 'XH2ON') ;
  1037. vertytab TRECI 'XH2ON' 'FLOTTANT' ;
  1038. 'SINO' ;
  1039. TRECI . 'XH2ON' = 0.005D0 ;
  1040. 'FINS' ;
  1041. 'SI' ('EXIS' TRECI 'XH2OFF') ;
  1042. vertytab TRECI 'XH2OFF' 'FLOTTANT' ;
  1043. 'SINO' ;
  1044. TRECI . 'XH2OFF' = 0.005D0 ;
  1045. 'FINS' ;
  1046. 'SI' ('EXIS' TRECI 'BETA') ;
  1047. vertytab TRECI 'BETA' 'FLOTTANT' ;
  1048. 'SINO' ;
  1049. TRECI . 'BETA' = 0.2D0 ;
  1050. 'FINS' ;
  1051. 'SINO' ;
  1052. lxt . 'PUISSANCE' = ' ' ;
  1053. lxt . 'QHOUSING' = ' ' ;
  1054. lxt . 'HRAPP' = ' ' ;
  1055. lxt . 'CRAPP' = ' ' ;
  1056. vertytab TRECI 'PUISSANCE' 'EVOLUTIO' ;
  1057. 'SI' ('EXIS' TRECI 'QHOUSING') ;
  1058. vertytab TRECI 'QHOUSING' 'FLOTTANT' ;
  1059. 'SINO' ;
  1060. TRECI . 'QHOUSING' = 0.1D0 ;
  1061. 'FINS' ;
  1062. 'SI' ('EXIS' TRECI 'HRAPP') ;
  1063. vertytab TRECI 'HRAPP' 'FLOTTANT' ;
  1064. 'SINO' ;
  1065. TRECI . 'HRAPP' = 1.7D0 ;
  1066. 'FINS' ;
  1067. 'SI' ('EXIS' TRECI 'CRAPP') ;
  1068. vertytab TRECI 'CRAPP' 'FLOTTANT' ;
  1069. 'SINO' ;
  1070. TRECI . 'CRAPP' = 136.0868234D0 ;
  1071. 'FINS' ;
  1072. 'FINS' ;
  1073. indtrec = 'INDE' treci ;
  1074. nind = 'DIME' indtrec ;
  1075. 'REPE' bouind nind ;
  1076. 'SI' ('NON' ('EXIS' lxt ('MOT' indtrec . &bouind))) ;
  1077. 'MESS' ' ' ;
  1078. 'MESS' '*********************************************************' ;
  1079. 'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  1080. 'MESS' ' ' ;
  1081. 'MESS' ' ' ;
  1082. 'MESS' 'Il y a un indice non reconnu :' ' ' (indtrec . &bouind)
  1083. ' ' ' dans la table RECOMB .' ' ' &bcl1 ;
  1084. 'MESS' ' ' ;
  1085. 'MESS' '*********************************************************' ;
  1086. 'ERRE' 21 ;
  1087. 'QUIT' EXECRXT ;
  1088. 'FINS' ;
  1089. 'FIN' bouind ;
  1090. 'FIN' BCL1 ;
  1091. TBT . 'TRECOMB' = VRAI ;
  1092. TBT . 'RECOMB' = rxt . 'RECOMB' ;
  1093. 'FINS' ;
  1094.  
  1095. *
  1096. * Gestion du modèle de turbulence MODTURB
  1097. * (NUTURB ou LMEL ou KEPSILON)
  1098. 'SI' ('EXIS' rxt 'MODTURB') ;
  1099. vertytab rxt 'MODTURB' 'MOT' ;
  1100. TBT . 'MODTURB' = rxt . 'MODTURB' ;
  1101. lxt = 'TABL' ;
  1102. lxt . 'NUTURB' = ' ' ;
  1103. lxt . 'LMEL' = ' ' ;
  1104. lxt . 'KEPSILON' = ' ' ;
  1105. vertytab lxt rxt . 'MODTURB' 'MOT' ;
  1106.  
  1107. 'SI' ('EGA' rxt . 'MODTURB' 'NUTURB') ;
  1108. listentr . 'NUT' = '' ;
  1109. vertytab rxt 'NUT' 'FLOTTANT' ;
  1110. TBT . 'NUT' = rxt .'NUT' ;
  1111. 'FINS' ;
  1112.  
  1113. 'SI' ('EGA' rxt . 'MODTURB' 'LMEL') ;
  1114. listentr . 'LMEL' = '' ;
  1115. vertytab rxt 'LMEL' 'FLOTTANT' ;
  1116. TBT . 'LMEL' = rxt . 'LMEL' ;
  1117. 'FINS' ;
  1118.  
  1119. 'MESS' ': ==> Scenario avec modèle de turbulence'
  1120. ' ' rxt . 'MODTURB' ;
  1121. 'SINO' ;
  1122. 'MESS' ': ==> Scenario sans modèle de turbulence' ;
  1123. 'FINS' ;
  1124.  
  1125. *
  1126. * FPAROI = vrai si utilisation de fonctions de paroi
  1127. TBT . 'FPAROI' = FAUX ;
  1128. 'SI' ('EXIS' rxt 'FPAROI') ;
  1129. vertytab rxt 'FPAROI' 'LOGIQUE' ;
  1130. TBT . 'FPAROI' = rxt . 'FPAROI' ;
  1131. 'FINS' ;
  1132.  
  1133. 'SI' TBT . 'FPAROI' ;
  1134. 'MESS' ': ==> Scenario avec fonction de paroi ' ;
  1135. listentr . 'YP' = '' ;
  1136. vertytab rxt 'YP' 'FLOTTANT' ;
  1137. TBT . 'YP' = rxt . 'YP' ;
  1138. 'FINS' ;
  1139.  
  1140. *
  1141. * Gestion du modèle de condensation en paroi MODCOND
  1142. * (CHIL0 ou CHIL1)
  1143. TBT . 'MODCOND' = 'CHIL0' ;
  1144. 'SI' ('EXIS' rxt 'MODCOND') ;
  1145. vertytab rxt 'MODCOND' 'MOT' ;
  1146. TBT . 'MODCOND' = rxt . 'MODCOND' ;
  1147. lxt = 'TABL' ;
  1148. lxt . 'CHIL0' = ' ' ;
  1149. lxt . 'CHIL1' = ' ' ;
  1150. vertytab lxt rxt . 'MODCOND' 'MOT' ;
  1151. 'FINS' ;
  1152. 'MESS' ': ==> Scenario avec flux de condensation' ' ' TBT . 'MODCOND' ;
  1153.  
  1154. *
  1155. * PERSO = vrai si une procédure personnelle est indiquée
  1156. TBT . 'PERSO' = FAUX ;
  1157. 'SI' ('EXIS' rxt 'PERSO') ;
  1158. vertytab rxt 'PERSO' 'LOGIQUE' ;
  1159. TBT . 'PERSO' = rxt . 'PERSO' ;
  1160. 'FINS' ;
  1161.  
  1162. 'SI' TBT . 'PERSO' ;
  1163. 'MESS' ': ==> Scenario avec execution d une procedure personnelle' ;
  1164. listentr . 'PRCPERSO' = '' ;
  1165. vertytab rxt 'PRCPERSO' 'MOT' ;
  1166. TBT . 'PRCPERSO' = rxt . 'PRCPERSO' ;
  1167. 'FINS' ;
  1168.  
  1169. 'SI' ('EXIS' rxt 'TABPERSO') ;
  1170. vertytab rxt 'TABPERSO' 'TABLE' ;
  1171. TBT . 'TABPERSO' = rxt . 'TABPERSO' ;
  1172. 'FINS' ;
  1173.  
  1174. *
  1175. * Identification des incondensables et des entrées associées
  1176. * (à choisir parmi H2, HE, O2, N2, CO, CO2)
  1177. LINCOND = 'MOTS' ;
  1178.  
  1179. TBT . 'TH2' = FAUX ;
  1180. 'SI' ('EXIS' rxt 'H2') ;
  1181. vertytab rxt 'H2' 'LOGIQUE' ;
  1182. TBT . 'TH2' = rxt . 'H2' ;
  1183. 'SI' TBT . 'TH2' ;
  1184. LINCOND = LINCOND 'ET' ('MOTS' 'H2') ;
  1185. vertytab rxt 'Yh20' 'FLOTTANT' ;
  1186. listentr . 'Yh20' = '' ;
  1187. 'SI' ('EXIS' rxt 'scenario') ;
  1188. vertytab (rxt . 'scenario') 'qh2' 'LISTREEL' ;
  1189. 'FINS' ;
  1190. 'FINS' ;
  1191. 'FINS' ;
  1192.  
  1193. TBT . 'THE' = FAUX ;
  1194. 'SI' ('EXIS' rxt 'HE') ;
  1195. vertytab rxt 'HE' 'LOGIQUE' ;
  1196. TBT . 'THE' = rxt . 'HE' ;
  1197. 'SI' TBT . 'THE' ;
  1198. LINCOND = LINCOND 'ET' ('MOTS' 'HE') ;
  1199. vertytab rxt 'Yhe0' 'FLOTTANT' ;
  1200. listentr.'Yhe0' = '' ;
  1201. 'SI' ('EXIS' rxt 'scenario') ;
  1202. vertytab (rxt . 'scenario') 'qhe' 'LISTREEL' ;
  1203. 'FINS' ;
  1204. 'FINS' ;
  1205. 'FINS' ;
  1206.  
  1207. TBT . 'TO2' = FAUX ;
  1208. 'SI' ('EXIS' rxt 'O2' ) ;
  1209. vertytab rxt 'O2' 'LOGIQUE' ;
  1210. TBT . 'TO2' = rxt . 'O2' ;
  1211. 'SI' TBT . 'TO2' ;
  1212. LINCOND = LINCOND 'ET' ('MOTS' 'O2') ;
  1213. vertytab rxt 'Yo20' 'FLOTTANT' ;
  1214. listentr . 'Yo20' = '' ;
  1215. 'SI' ('EXIS' rxt 'scenario') ;
  1216. vertytab (rxt . 'scenario') 'qo2' 'LISTREEL' ;
  1217. 'FINS' ;
  1218. 'FINS' ;
  1219. 'FINS' ;
  1220.  
  1221. TBT . 'TN2' = FAUX ;
  1222. 'SI' ('EXIS' rxt 'N2') ;
  1223. vertytab rxt 'N2' 'LOGIQUE' ;
  1224. TBT . 'TN2' = rxt . 'N2' ;
  1225. 'SI' TBT . 'TN2' ;
  1226. LINCOND = LINCOND 'ET' ('MOTS' 'N2') ;
  1227. vertytab rxt 'Yn20' 'FLOTTANT' ;
  1228. listentr . 'Yn20' = '' ;
  1229. 'SI' ('EXIS' rxt 'scenario') ;
  1230. vertytab (rxt . 'scenario') 'qn2' 'LISTREEL' ;
  1231. 'FINS' ;
  1232. 'FINS' ;
  1233. 'FINS' ;
  1234.  
  1235. TBT . 'TCO' = FAUX ;
  1236. 'SI' ('EXIS' rxt 'CO') ;
  1237. vertytab rxt 'CO' 'LOGIQUE' ;
  1238. TBT . 'TCO' = rxt . 'CO' ;
  1239. 'SI' TBT . 'TCO' ;
  1240. LINCOND = LINCOND 'ET' ('MOTS' 'CO') ;
  1241. vertytab rxt 'Yco0' 'FLOTTANT' ;
  1242. listentr . 'Yco0' = '' ;
  1243. 'SI' ('EXIS' rxt 'scenario') ;
  1244. vertytab (rxt . 'scenario') 'qco' 'LISTREEL' ;
  1245. 'FINS' ;
  1246. 'FINS' ;
  1247. 'FINS' ;
  1248.  
  1249. TBT . 'TCO2' = FAUX ;
  1250. 'SI' ('EXIS' rxt 'CO2') ;
  1251. vertytab rxt 'CO2' 'LOGIQUE' ;
  1252. TBT . 'TCO2' = rxt .'CO2' ;
  1253. 'SI' TBT . 'TCO2' ;
  1254. LINCOND = LINCOND 'ET' ('MOTS' 'CO2') ;
  1255. vertytab rxt 'Yco20' 'FLOTTANT' ;
  1256. listentr . 'Yco20' = '' ;
  1257. 'SI' ('EXIS' rxt 'scenario') ;
  1258. vertytab (rxt . 'scenario') 'qco2' 'LISTREEL' ;
  1259. 'FINS' ;
  1260. 'FINS' ;
  1261. 'FINS' ;
  1262.  
  1263. *FD
  1264. * Quid de l'injection d'air sans transport de l'air
  1265. *FD
  1266. TBT . 'TAIR' = FAUX ;
  1267. 'SI' ('EXIS' rxt 'AIR') ;
  1268. vertytab rxt 'AIR' 'LOGIQUE' ;
  1269. TBT . 'TAIR' = rxt . 'AIR' ;
  1270. 'SI' TBT . 'TAIR' ;
  1271. LINCOND = LINCOND 'ET' ('MOTS' 'AIR') ;
  1272. 'SI' ('EXIS' rxt 'scenario') ;
  1273. vertytab (rxt . 'scenario') 'qair' 'LISTREEL' ;
  1274. 'FINS' ;
  1275. 'FINS' ;
  1276. 'FINS' ;
  1277.  
  1278. 'SI' (('EGA' ('DIME' LINCOND) 0) 'OU' ('NON' tbt . 'TAIR'));
  1279. LINCOND = LINCOND 'ET' ('MOTS' 'AIR') ;
  1280. 'FINS' ;
  1281. 'MESS' ' Liste des incondensables : ' ;
  1282. 'LIST' LINCOND ;
  1283.  
  1284. *
  1285. * VAPEUR = vrai en présence de vapeur dans le mélange
  1286. TBT . 'VAPEUR' = FAUX ;
  1287. 'SI' ('EXIS' rxt 'VAPEUR') ;
  1288. vertytab rxt 'VAPEUR' 'LOGIQUE' ;
  1289. TBT . 'VAPEUR' = rxt . 'VAPEUR' ;
  1290. 'SI' TBT . 'VAPEUR' ;
  1291. vertytab rxt 'Yvap0' 'FLOTTANT' ;
  1292. listentr .'Yvap0' = '' ;
  1293. 'SI' ('EXIS' rxt 'scenario') ;
  1294. vertytab (rxt . 'scenario') 'qeau' 'LISTREEL' ;
  1295. 'FINS' ;
  1296. listentr .'Mliq0' = '' ;
  1297. listentr .'Lv' = '' ;
  1298. listentr .'Cpvap' = '' ;
  1299. 'FINS' ;
  1300. 'FINS' ;
  1301.  
  1302. *
  1303. * CONDMAS = vrai si condensation en masse et présence de VAPEUR
  1304. TBT . 'CONDMAS' = FAUX ;
  1305. 'SI' TBT . 'VAPEUR' ;
  1306. 'SI' ('EXIS' rxt 'CONDMAS') ;
  1307. vertytab rxt 'CONDMAS' 'LOGIQUE' ;
  1308. listentr . 'CONDMAS' = '' ;
  1309. TBT . 'CONDMAS' = rxt . 'CONDMAS' ;
  1310. listand = listand 'ET' (MOTS 'CONDMAS') ;
  1311. 'FINS' ;
  1312. 'FINS' ;
  1313. *
  1314. * ASPER = vrai aspersion et présence de VAPEUR
  1315. TBT . 'ASPER' = FAUX ;
  1316. 'SI' TBT . 'VAPEUR' ;
  1317. 'SI' ('EXIS' rxt 'ASPER') ;
  1318. vertytab rxt 'ASPER' 'LOGIQUE' ;
  1319. listentr . 'ASPER' = '' ;
  1320. TBT . 'ASPER' = rxt . 'ASPER' ;
  1321. 'SI' TBT . 'ASPER' ;
  1322. vertytab rxt 'scenasp' 'TABLE ' ;
  1323. listentr . 'scenasp' = '' ;
  1324. vertytab rxt 'aspinj' 'MAILLAGE' ;
  1325. listentr . 'aspinj' = '' ;
  1326. vertytab rxt 'toitf' 'MAILLAGE' ;
  1327. listentr . 'toitf' = '' ;
  1328. vertytab rxt 'rod' 'FLOTTANT' ;
  1329. listentr . 'rod' = '' ;
  1330. vertytab rxt 'Cpd' 'FLOTTANT' ;
  1331. listentr . 'Cpd' = '' ;
  1332. 'FINS' ;
  1333. 'FINS' ;
  1334. 'FINS' ;
  1335.  
  1336. *
  1337. * TRECOMB possible si présence de H2, O2, N2 et VAPEUR
  1338. 'SI' TBT . 'TRECOMB' ;
  1339. LOG0 = TBT . 'TH2' 'ET' TBT . 'VAPEUR' 'ET'
  1340. TBT . 'TN2' 'ET' TBT . 'TO2' ;
  1341. NBREC = 'DIME' rxt . 'RECOMB' ;
  1342. 'SI' ('NON' LOG0) ;
  1343. 'MESS' ' ' ;
  1344. 'MESS' '*********************************************************' ;
  1345. 'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  1346. 'MESS' ' ' ;
  1347. 'MESS' ' ' ;
  1348. 'SI' ('NON' tbt . 'TH2')
  1349. 'MESS' 'RECOMBINEUR ==> H2 est obligatoire' ;
  1350. 'FINS' ;
  1351. 'SI' ('NON' tbt . 'TO2')
  1352. 'MESS' 'RECOMBINEUR ==> O2 est obligatoire' ;
  1353. 'FINS' ;
  1354. 'SI' ('NON' tbt . 'TN2')
  1355. 'MESS' 'RECOMBINEUR ==> N2 est obligatoire' ;
  1356. 'FINS' ;
  1357. 'SI' ('NON' tbt . 'VAPEUR')
  1358. 'MESS' 'RECOMBINEUR ==> H2O est obligatoire' ;
  1359. 'FINS' ;
  1360. 'MESS' ' ' ;
  1361. 'MESS' '*********************************************************' ;
  1362. 'ERRE' 5 ;
  1363. 'FINS' ;
  1364. 'FINS' ;
  1365.  
  1366. *
  1367. * Vérification des entrées de RXT
  1368. lindex = 'INDE' rxt ;
  1369. n = 'DIME' lindex ;
  1370. 'REPE' Bver n ;
  1371. tae = 'TYPE' lindex . &bver ;
  1372.  
  1373. 'SI' ('NON' ('EGA' tae 'MOT')) ;
  1374. 'MESS' ;
  1375. 'MESS' '*********************************************************' ;
  1376. 'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  1377. 'MESS' ' ' ;
  1378. 'MESS' ' ' ;
  1379. 'MESS' ' Un des indices de la table rxt n est pas de type MOT ' ;
  1380. 'MESS' ' ' ;
  1381. 'MESS' '*********************************************************' ;
  1382. 'ERRE' 21 ;
  1383. 'QUIT' EXECRXT ;
  1384. 'FINS' ;
  1385.  
  1386. 'SI' ('NON' ('EXIS' listentr lindex . &bver)) ;
  1387. 'MESS' ;
  1388. 'MESS' '*********************************************************' ;
  1389. 'MESS' ' ERREUR ERREUR ERREUR ERREUR ERREUR ERREUR ' ;
  1390. 'MESS' ' ' ;
  1391. 'MESS' ' ' ;
  1392. 'MESS' ' Il y a un indice non reconnu :' ' ' lindex . &bver ;
  1393. 'MESS' ' ' ;
  1394. 'MESS' '*********************************************************' ;
  1395. 'ERRE' 21 ;
  1396. 'QUIT' EXECRXT ;
  1397. 'FINS' ;
  1398.  
  1399. 'FIN' Bver ;
  1400.  
  1401. *
  1402. * Affichage des options surchargées
  1403. n = 'DIME' listand ;
  1404. 'SI' ('NON' ('EGA' n 0)) ;
  1405. 'MESS' ' ' ;
  1406. 'MESS' ' Liste des options surchargees :' ;
  1407. 'LIST' listand ;
  1408. 'SI' ('EXIS' listand 'THCO') ;
  1409. 'MESS' ' ' ;
  1410. 'MESS' 'Commentaire : le couplage fluide/paroi est implicite' ;
  1411. 'FINS' ;
  1412. 'MESS' ' ' ;
  1413. 'FINS' ;
  1414.  
  1415. *
  1416. * Vérification des compatibilités entre entrées
  1417.  
  1418. 'SI' (('EGA' TBT . 'ALGO' 'EFM1') 'ET' ('EGA' TBT . 'discr' 'QUAF')) ;
  1419. vertytab 'ERREUR' 'ERREUR'
  1420. ('CHAI' 'Options QUAF et EFM1 incompatibles');
  1421. 'FINS' ;
  1422.  
  1423.  
  1424. 'SI' ('EXIS' TBT 'MODTURB') ;
  1425. 'SI' (('EGA' TBT . 'MODTURB' 'KEPSILON')
  1426. 'ET' ('NON' ('EGA' TBT . 'ALGO' 'EFM1')));
  1427. vertytab 'ERREUR' 'ERREUR'
  1428. ('CHAI' 'Option EFM1 necessaire pour le modèle K-epsilon');
  1429. 'FINS' ;
  1430. 'FINS' ;
  1431.  
  1432.  
  1433. 'MESS' WWW ;
  1434. 'MESS' '----------- FIN DES INITIALISATIONS ET VERIFICATIONS ---------';
  1435. 'MESS' '----------------------- DEBUT DU CALCUL ----------------------';
  1436. 'MESS' WWW ;
  1437. 'MESS' ' ' ;
  1438.  
  1439. *-----------------------------------------------------------------------
  1440. *-----------------------------------------------------------------------
  1441. *-----------------------------------------------------------------------
  1442. * ------------- FIN DES INITIALISATIONS ET VERIFICATIONS ---------------
  1443. *-----------------------------------------------------------------------
  1444. *-----------------------------------------------------------------------
  1445. *-----------------------------------------------------------------------
  1446.  
  1447. 'SI' TPREPA ;
  1448. PREPAENC rxt TBT GEO TIC ;
  1449. 'FINS' ;
  1450. rxt . 'TBT' = TBT ;
  1451. GEO = rxt .'GEO' ;
  1452. tic = rxt . 'TIC' ;
  1453.  
  1454. vtf = GEO . 'vtf' ;
  1455. 'SI' TBT . 'THERMP' ;
  1456. $vtp = GEO . '$vtp' ;
  1457. $paroif = GEO . '$paroif' ;
  1458. paroif = GEO . 'paroif' ;
  1459. 'FINS' ;
  1460. Diag = 'DOMA' $vtf 'XXDIAGSI' ;
  1461. Volvtf = 'DOMA' $vtf 'VOLUME' ;
  1462. VTotal = GEO . 'VTotal' ;
  1463.  
  1464. 'MESS' ' ************* GEOMETRIE *********************' ;
  1465. 'MESS' ' **********************************************' ;
  1466. 'DOMA' $vtf 'IMPR' ;
  1467. 'SI' TBT . 'THERMP' ;
  1468. 'DOMA' $vtp 'IMPR' ;
  1469. 'FINS' ;
  1470.  
  1471. 'MESS' ' ************* DISCRETISATION *****************' ;
  1472. 'MESS' ' **********************************************' ;
  1473. 'MESS' ' Discr =' ' ' tbt . 'discr' ' ' 'Pression =' ' ' tbt . 'KPRE' ;
  1474. 'MESS' ' Algo =' ' ' algo ' ' 'Niveau impression =' ' ' nimpr ;
  1475. 'MESS' ' Pas de temps DT =' ' ' rxt . 'DT0' ;
  1476.  
  1477. 'MESS' ' **** PROPRIETES PHYSIQUES INITIALISATIONS ****' ;
  1478. 'MESS' ' **********************************************' ;
  1479.  
  1480. Tfm = 'EXTR' (tic . 'Tfm') ndl ;
  1481. Tkm = Tfm '+' 273.15 ;
  1482.  
  1483. *
  1484. * Initialisation et affichage des propriétés physiques
  1485. * (Cp (Tfm), Cv et Mu (Tkm))
  1486. Rgh2 = TBT . 'Rgh2' ;
  1487. Rghe = TBT . 'Rghe' ;
  1488. Rgo2 = TBT . 'Rgo2' ;
  1489. Rgn2 = TBT . 'Rgn2' ;
  1490. Rgco = TBT . 'Rgco' ;
  1491. Rgco2 = TBT . 'Rgco2' ;
  1492. Rgvap = TBT . 'Rgvap' ;
  1493. Rgair = TBT . 'Rgair' ;
  1494.  
  1495. Cph2 Cphe Cpo2 Cpn2 Cpco2 Cpco Cpair = CALCP Tfm ;
  1496. Cpvap = TBT . 'Cpvap' ;
  1497.  
  1498. Cvair = Cpair '-' Rgair ;
  1499. Cvvap = Cpvap '-' Rgvap ;
  1500. Cvhe = Cphe '-' Rghe ;
  1501. Cvh2 = Cph2 '-' Rgh2 ;
  1502. Cvo2 = Cpo2 '-' Rgo2 ;
  1503. Cvn2 = Cpn2 '-' Rgn2 ;
  1504. Cvco = Cpco '-' Rgco ;
  1505. Cvco2 = Cpco2 '-' Rgco2 ;
  1506. Cvair = Cpair '-' Rgair ;
  1507.  
  1508. Muh2 Muhe Muo2 Mun2 Muco2 Muco Muvap Muair = CALMU Tkm ;
  1509.  
  1510. Lv = TBT . 'Lv' ;
  1511.  
  1512. 'MESS' ' ***** Air ***** ' ;
  1513. 'MESS' '==> Cpair =' ' ' Cpair ' ' 'J/kg/K' ;
  1514. 'MESS' '==> Cvair =' ' ' Cvair ' ' 'J/kg/K' ;
  1515. 'MESS' '==> Rgair =' ' ' Rgair ' ' 'J/kg/K' ;
  1516.  
  1517. 'SI' TBT . 'VAPEUR' ;
  1518. 'MESS' ' ***** Vapeur H2o ***** ' ;
  1519. 'MESS' '==> Cpvap =' ' ' Cpvap ' ' 'J/kg/K' ;
  1520. 'MESS' '==> Cvvap =' ' ' Cvvap ' ' 'J/kg/K' ;
  1521. 'MESS' '==> Rgvap =' ' ' Rgvap ' ' 'J/kg/K' ;
  1522. 'MESS' '==> Lv =' ' ' Lv ' ' 'J/kg/K' ;
  1523. 'FINS' ;
  1524.  
  1525. 'SI' TBT . 'THE' ;
  1526. 'MESS' ' ***** He ***** ' ;
  1527. 'MESS' '==> Cphe =' ' ' Cphe ' ' 'J/kg/K' ;
  1528. 'MESS' '==> Cvhe =' ' ' Cvhe ' ' 'J/kg/K' ;
  1529. 'MESS' '==> Rghe =' ' ' Rghe ' ' 'J/kg/K' ;
  1530. 'FINS' ;
  1531.  
  1532. 'SI' TBT . 'TH2' ;
  1533. 'MESS' ' ***** H2 ***** ' ;
  1534. 'MESS' '==> Cph2 =' ' ' Cph2 ' ' 'J/kg/K' ;
  1535. 'MESS' '==> Cvh2 =' ' ' Cvh2 ' ' 'J/kg/K' ;
  1536. 'MESS' '==> Rgh2 =' ' ' Rgh2 ' ' 'J/kg/K' ;
  1537. 'FINS' ;
  1538.  
  1539. 'SI' TBT . 'TO2' ;
  1540. 'MESS' ' ***** O2 ***** ' ;
  1541. 'MESS' '==> Cpo2 =' ' ' Cpo2 ' ' 'J/kg/K' ;
  1542. 'MESS' '==> Cvo2 =' ' ' Cvo2 ' ' 'J/kg/K' ;
  1543. 'MESS' '==> Rgo2 =' ' ' Rgo2 ' ' 'J/kg/K' ;
  1544. 'FINS' ;
  1545.  
  1546. 'SI' TBT . 'TN2' ;
  1547. 'MESS' ' ***** N2 ***** ' ;
  1548. 'MESS' '==> Cpn2 =' ' ' Cpn2 ' ' 'J/kg/K' ;
  1549. 'MESS' '==> Cvn2 =' ' ' Cvn2 ' ' 'J/kg/K' ;
  1550. 'MESS' '==> Rgn2 =' ' ' Rgn2 ' ' 'J/kg/K' ;
  1551. 'FINS' ;
  1552.  
  1553. 'SI' TBT . 'TCO' ;
  1554. 'MESS' ' ***** CO ***** ' ;
  1555. 'MESS' '==> Cpco =' ' ' Cpco ' ' 'J/kg/K' ;
  1556. 'MESS' '==> Cvco =' ' ' Cvco ' ' 'J/kg/K' ;
  1557. 'MESS' '==> Rgco =' ' ' Rgco ' ' 'J/kg/K' ;
  1558. 'FINS' ;
  1559.  
  1560. 'SI' TBT . 'TCO2' ;
  1561. 'MESS' ' ***** CO2 ***** ' ;
  1562. 'MESS' '==> Cpco2 =' ' ' Cpco2 ' ' 'J/kg/K' ;
  1563. 'MESS' '==> Cvco2 =' ' ' Cvco2 ' ' 'J/kg/K' ;
  1564. 'MESS' '==> Rgco2 =' ' ' Rgco2 ' ' 'J/kg/K' ;
  1565. 'FINS' ;
  1566.  
  1567. ***'SI' TBT . 'TAIR' ;
  1568. 'MESS' ' ***** AIR ***** ' ;
  1569. 'MESS' '==> Cpair =' ' ' Cpair ' ' 'J/kg/K' ;
  1570. 'MESS' '==> Cvair =' ' ' Cvair ' ' 'J/kg/K' ;
  1571. 'MESS' '==> Rgair =' ' ' Rgair ' ' 'J/kg/K' ;
  1572. ***'FINS' ;
  1573.  
  1574. 'MESS' ' *************** ' ;
  1575. 'MESS' ' Diffusion browniene db = ' db ;
  1576. 'SI' TBT . 'THERMP' ;
  1577. 'SI' ('EGA' ('TYPE' tic . 'KHW') 'CHPOINT') ;
  1578. 'MESS' ' Coefficient d echange ECHAN (Min/Max)=' ' '
  1579. ('MINI' tic . 'KHW') ' ' ('MAXI' tic . 'KHW') ' ' 'W/m2/K' ;
  1580. 'SINO' ;
  1581. 'MESS' ' Coefficient d echange ECHAN=' ' ' tic . 'KHW' ' ' 'W/m2/K';
  1582. 'FINS' ;
  1583. 'FINS' ;
  1584.  
  1585. *
  1586. * Initialisation et affichage des bilans initiaux 0D/CFD
  1587.  
  1588. 'MESS' '*** Bilans initiaux 0D-MultiD ***' ;
  1589. 'MESS' '_____________________________________________'
  1590. '____________________' ;
  1591. 'MESS' '___Bilans 0D_________Bilans MultiD _____ Erreur Relative (%)';
  1592.  
  1593. Rhomn = 'EXTR' (tic . 'Rhomn') ndl ;
  1594. M0D = Rhomn '*' Vtotal ;
  1595. MMD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RHO') ;
  1596.  
  1597. 'SI' TBT . 'VAPEUR' ;
  1598. Rhomv = 'EXTR' (tic . 'Rhomv') ndl ;
  1599. MV0D = Rhomv '*' Vtotal ;
  1600. MVMD = 'SOMT' (Diag '*' rxt . 'TIC' . 'ROVP') ;
  1601. Rhomvg = 'EXTR' (tic . 'Rhomvg') ndl ;
  1602. MVG0D = Rhomvg '*' Vtotal ;
  1603. MVGMD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RVP') ;
  1604. 'FINS' ;
  1605. 'SI' TBT . 'THE' ;
  1606. Rhomhe = 'EXTR' (tic . 'Rhomhe') ndl ;
  1607. MHE0D = Rhomhe '*' Vtotal ;
  1608. MHEMD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RHE') ;
  1609. 'FINS' ;
  1610. 'SI' TBT . 'TH2' ;
  1611. Rhomh2 = 'EXTR' (tic . 'Rhomh2') ndl ;
  1612. MH20D = Rhomh2 '*' Vtotal ;
  1613. MH2MD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RH2') ;
  1614. 'FINS' ;
  1615. 'SI' TBT . 'TO2' ;
  1616. Rhomo2 = 'EXTR' (tic . 'Rhomo2') ndl ;
  1617. MO20D = Rhomo2 '*' Vtotal ;
  1618. MO2MD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RO2') ;
  1619. 'FINS' ;
  1620. 'SI' TBT . 'TN2' ;
  1621. Rhomn2 = 'EXTR' (tic . 'Rhomn2') ndl ;
  1622. MN20D = Rhomn2 '*' Vtotal ;
  1623. MN2MD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RN2') ;
  1624. 'FINS' ;
  1625. 'SI' TBT . 'TCO' ;
  1626. Rhomco = 'EXTR' (tic . 'Rhomco') ndl ;
  1627. MCO0D = Rhomco '*' Vtotal ;
  1628. MCOMD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RCO') ;
  1629. 'FINS' ;
  1630. 'SI' TBT . 'TCO2' ;
  1631. Rhomco2 = 'EXTR' (tic . 'Rhomco2') ndl ;
  1632. MCO20D = Rhomco2 '*' Vtotal ;
  1633. MCO2MD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RCO2') ;
  1634. 'FINS' ;
  1635. ***'SI' TBT . 'TAIR' ;
  1636. Rhomair = 'EXTR' (tic . 'Rhomair') ndl ;
  1637. MAIR0D = Rhomair '*' Vtotal ;
  1638. MAIRMD = 'SOMT' (Diag '*' rxt . 'TIC' . 'RAIR') ;
  1639. ***'FINS' ;
  1640.  
  1641. 'SI' ('EGA' ndl 1) ;
  1642. Cvm = 'EXTR' (tic . 'Cvm') ndl ;
  1643. 'SINO' ;
  1644. Cvm = 'EXTR' (tic . 'Cvm') (ndl '-' 1) ;
  1645. 'FINS' ;
  1646. Remn = 'EXTR' (tic . 'Remn') ndl ;
  1647. E0D = Remn ;
  1648. EMD = ('SOMT' (Diag '*' Cvm '*' rxt . 'TIC' . 'RHO' '*'
  1649. (rxt . 'TIC' . 'TF' '+' 273.15)) ) '/' Vtotal ;
  1650.  
  1651. 'MESS' ' Masse (kg)' ' ' M0D '_______' MMD '________'
  1652. (100. '*'(M0D '-' MMD) '/'M0D) ;
  1653. 'MESS' ' Energie (J/m3)' E0D '_______' EMD '________'
  1654. (100. '*' (E0D '-' EMD) '/' E0D) ;
  1655.  
  1656. 'SI' (TBT . 'VAPEUR' 'ET' ('NON' ('EGA' MV0D 0.0))) ;
  1657. 'MESS' ' M Vapeur(kg) ' MV0D '_______' MVMD '_______'
  1658. (100. '*' (MV0D '-' MVMD) '/' MV0D) ;
  1659. 'FINS' ;
  1660. 'SI' (TBT . 'THE' 'ET' ('NON' ('EGA' MHE0D 0.0))) ;
  1661. 'MESS' ' M Helium (kg) ' MHE0D '_______' MHEMD '_______'
  1662. (100. '*' (MHE0D '-' MHEMD) '/' MHE0D) ;
  1663. 'FINS' ;
  1664. 'SI' (TBT . 'TH2' 'ET' ('NON' ('EGA' MH20D 0.0))) ;
  1665. 'MESS' ' M Hydrogene (kg) ' MH20D '_______' MH2MD '_______'
  1666. (100. '*' (MH20D '-' MH2MD) '/' MH20D) ;
  1667. 'FINS' ;
  1668. 'SI' (TBT . 'TO2' 'ET' ('NON' ('EGA' MO20D 0.0))) ;
  1669. 'MESS' ' M Oxygene (kg) ' MO20D '_______' MO2MD '_______'
  1670. (100. '*' (MO20D '-' MO2MD) '/' MO20D) ;
  1671. 'FINS' ;
  1672. 'SI' (TBT . 'TN2' 'ET' ('NON' ('EGA' MN20D 0.0))) ;
  1673. 'MESS' ' M Azote (Kk) ' MN20D '_______' MN2MD '_______'
  1674. (100. '*' (MN20D '-' MN2MD) '/' MN20D) ;
  1675. 'FINS' ;
  1676. 'SI' (TBT . 'TCO' 'ET' ('NON' ('EGA' MCO0D 0.0))) ;
  1677. 'MESS' ' M CO (kg) ' MCO0D '_______' MCOMD '_______'
  1678. (100. '*' (MCO0D '-' MCOMD) '/' MCO0D) ;
  1679. 'FINS' ;
  1680. 'SI' (TBT . 'TCO2' 'ET' ('NON' ('EGA' MCO20D 0.0))) ;
  1681. 'MESS' ' M CO2 (kg) ' MCO20D '_______' MCO2MD '_______'
  1682. (100. '*' (MCO20D '-' MCO2MD) '/' MCO20D) ;
  1683. 'FINS' ;
  1684. ***'SI' (TBT . 'TAIR' 'ET' ('NON' ('EGA' MAIR0D 0.0))) ;
  1685. 'SI' ('NON' ('EGA' MAIR0D 0.0)) ;
  1686. 'MESS' ' M AIR (kg) ' MAIR0D '_______' MAIRMD '_______'
  1687. (100. '*' (MAIR0D '-' MAIRMD) '/' MAIR0D) ;
  1688. 'FINS' ;
  1689.  
  1690. 'MESS' '_____________________________________________'
  1691. '____________________' ;
  1692. 'SI' TBT . 'THERMP' ;
  1693. Emurn = 'EXTR' (tic . 'Emur') ndl ;
  1694. 'MESS' ' Energie Stockee Mur (J) ' Emurn ;
  1695. 'MESS' '_____________________________________________'
  1696. '____________________' ;
  1697. 'FINS' ;
  1698.  
  1699. 'MESS' ' ' ;
  1700. 'MESS' ' *** Divers **** ' ;
  1701. 'MESS' ' Dimension espace: ' idim ;
  1702. 'MESS' ' Nombre d elements/noeuds' ' ' ('NBEL' vtf) ' ' ('NBNO' vtf) ;
  1703.  
  1704. 'MESS' ' ' ;
  1705. 'MESS' ' *** Volumes' ;
  1706. 'MESS' ' VTotal=' VTotal ' ' 'm3' ;
  1707. 'SI' TBT . 'THERMP' ;
  1708. 'MESS' ' VTotal paroi =' GEO . 'VTotalp' ' '
  1709. 'm3 Sparoif =' GEO . 'Sparoif' ' ' 'm2' ;
  1710. 'FINS' ;
  1711. 'SI' TBT . 'TTIMP' ;
  1712. NBTIMP = 'DIME' rxt . 'TIMP' ;
  1713. itimp = 'INDE' rxt . 'TIMP' ;
  1714. 'REPE' BBTIMP NBTIMP ;
  1715. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  1716. 'MESS' ' Surface T imposee' ' ' (itimp . &BBTIMP) ' ' '=' ' '
  1717. Btimp . 'Smtpi' ' ' 'm2' ;
  1718. 'FIN' BBTIMP ;
  1719. 'FINS' ;
  1720. 'MESS' ' ************************************************************' ;
  1721.  
  1722. *----------------------------------------------------------
  1723. *----- BOUCLE PRINCIPALE DE RESOLUTION SUR LE NB ----------
  1724. *----- TOTAL DE PAS DE TEMPS A REALISER -------------------
  1725. *----------------------------------------------------------
  1726.  
  1727. *
  1728. * Initialisation du pas de temps
  1729. 'SI' ('NON' ('EXIS' tic 'DT')) ;
  1730. tic . 'DT' = rxt . 'DT0' ;
  1731. 'FINS' ;
  1732.  
  1733. *
  1734. * Initialisation pour le bilan de masse en vapeur
  1735. 'SI' TBT . 'VAPEUR' ;
  1736. 'SI' ('NON' ('EXIS' TIC 'Mcondm')) ;
  1737. tic . 'Mcondm' = 'PROG' ndl '*' 0. ;
  1738. 'FINS' ;
  1739. 'SI' ('NON' ('EXIS' TIC 'Qcm')) ;
  1740. tic . 'Qcm' = 'PROG' ndl '*' 0. ;
  1741. 'FINS' ;
  1742. 'SI' TBT . 'TPAROIF' ;
  1743. 'SI' ('NON' ('EXIS' TIC 'Mcondw')) ;
  1744. tic . 'Mcondw' = 'PROG' ndl '*' 0. ;
  1745. 'FINS' ;
  1746. 'SI' ('NON' ('EXIS' TIC 'Qcw')) ;
  1747. tic . 'Qcw' = 'PROG' ndl '*' 0. ;
  1748. 'FINS' ;
  1749. 'FINS' ;
  1750. 'SI' TBT . 'TTIMP' ;
  1751. NBTIMP = 'DIME' rxt . 'TIMP' ;
  1752. itimp = 'INDE' rxt . 'TIMP' ;
  1753. 'REPE' BBTIMP NBTIMP ;
  1754. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  1755. CQc1 = Btimp . 'Qc1' ;
  1756. 'SI' ('NON' ('EXIS' TIC CQc1)) ;
  1757. tic . CQc1 = 'PROG' ndl '*' 0. ;
  1758. 'FINS' ;
  1759. CMcond1 = Btimp . 'Mcond1' ;
  1760. 'SI' ('NON' ('EXIS' tic CMcond1)) ;
  1761. tic . CMcond1 = 'PROG' ndl '*' 0. ;
  1762. 'FINS' ;
  1763. 'FIN' BBTIMP ;
  1764. 'FINS' ;
  1765. 'SI' TBT . 'TECHANP' ;
  1766. 'SI' ('NON' ('EXIS' TIC 'Mcond0')) ;
  1767. tic . 'Mcond0' = 'PROG' ndl '*' 0. ;
  1768. 'FINS' ;
  1769. 'SI' ('NON' ('EXIS' TIC 'Qc0')) ;
  1770. tic . 'Qc0' = 'PROG' ndl '*' 0. ;
  1771. 'FINS' ;
  1772. 'FINS' ;
  1773. 'FINS' ;
  1774.  
  1775. *
  1776. * Initialisation systématique à 0. pour tous les constituants
  1777. * (correction de masse, densité, fraction massique, densité moyenne)
  1778. *dRhoair= 0. ;
  1779. dRhov = 0. ;
  1780. dRhohe = 0. ;
  1781. dRhoh2 = 0. ;
  1782. dRhoo2 = 0. ;
  1783. dRhon2 = 0. ;
  1784. dRhoco = 0. ;
  1785. dRhoco2= 0. ;
  1786. *
  1787. *rair = 0. ;
  1788. rvp = 0. ;
  1789. rhe = 0. ;
  1790. rh2 = 0. ;
  1791. ro2 = 0. ;
  1792. rn2 = 0. ;
  1793. rco = 0. ;
  1794. rco2 = 0. ;
  1795. *
  1796. *Yair = 0. ;
  1797. Yvap = 0. ;
  1798. Yhe = 0. ;
  1799. Yh2 = 0. ;
  1800. Yo2 = 0. ;
  1801. Yn2 = 0. ;
  1802. Yco = 0. ;
  1803. Yco2 = 0. ;
  1804. *
  1805. Rmvn = 0. ;
  1806. Rmvgn = 0. ;
  1807. Rmliqn = 0. ;
  1808. Rmbron = 0. ;
  1809. Rmhen = 0. ;
  1810. Rmh2n = 0. ;
  1811. Rmn2n = 0. ;
  1812. Rmo2n = 0. ;
  1813. Rmcon = 0. ;
  1814. Rmco2n = 0. ;
  1815. *
  1816. drclair = 0. ;
  1817. drclvp = 0. ;
  1818. drclhe = 0. ;
  1819. drclh2 = 0. ;
  1820. drclo2 = 0. ;
  1821. drcln2 = 0. ;
  1822. drclco = 0. ;
  1823. drclco2 = 0. ;
  1824. *
  1825. Emurn = 0. ;
  1826. Mcondmn = 0. ;
  1827. Mliqn = 0. ;
  1828. *
  1829. * Valeurs moyennes au début de pas de temps
  1830. Rgpn = tic . 'Rgp' ;
  1831. Tfn = tic . 'TF' ;
  1832. Tkn = Tfn '+' 273.15 ;
  1833. Rhon = tic . 'RHO' ;
  1834. *
  1835. ndl = 'DIME' tic . 'LTPS' ;
  1836. Cvmn = 'EXTR' tic . 'Cvm' ndl ;
  1837. Gamn = 'EXTR' tic . 'Gamm' ndl ;
  1838. Cpmn = 'EXTR' tic . 'Cpm' ndl ;
  1839. Ptmn = 'EXTR' tic . 'PT' ndl ;
  1840. Rhomn = 'EXTR' tic . 'Rhomn' ndl ;
  1841. Remn = 'EXTR' tic . 'Remn' ndl ;
  1842. Rmairn = 'EXTR' tic . 'Rhomair' ndl ;
  1843. *
  1844. 'SI' TBT . 'VAPEUR' ;
  1845. Rmvn = 'EXTR' tic . 'Rhomv' ndl ;
  1846. Rmvgn = 'EXTR' tic . 'Rhomvg' ndl ;
  1847. Mcondmn = 'EXTR' tic . 'Mcondm' ndl ;
  1848. 'SI' TBT . 'CONDMAS' ;
  1849. Rmliqn = 'EXTR' tic . 'Rliqm' ndl ;
  1850. Rmbron = 'EXTR' tic . 'Rbrom' ndl ;
  1851. 'FINS' ;
  1852. 'SI' ('EXIS' tic 'drclvp') ;
  1853. drclvp = tic . 'drclvp' ;
  1854. 'FINS' ;
  1855. 'FINS' ;
  1856. 'SI' TBT . 'THE' ;
  1857. Rmhen = 'EXTR' tic . 'Rhomhe' ndl ;
  1858. 'SI' ('EXIS' tic 'drclhe') ;
  1859. drclhe = tic . 'drclhe' ;
  1860. 'FINS' ;
  1861. 'FINS' ;
  1862. 'SI' TBT.'TH2' ;
  1863. Rmh2n = 'EXTR' tic . 'Rhomh2' ndl ;
  1864. 'SI' ('EXIS' tic 'drclh2') ;
  1865. drclh2 = tic . 'drclh2' ;
  1866. 'FINS' ;
  1867. 'FINS' ;
  1868. 'SI' TBT.'TO2' ;
  1869. Rmo2n = 'EXTR' tic . 'Rhomo2' ndl ;
  1870. 'SI' ('EXIS' tic 'drclo2') ;
  1871. drclo2 = tic . 'drclo2' ;
  1872. 'FINS' ;
  1873. 'FINS' ;
  1874. 'SI' TBT.'TN2' ;
  1875. Rmn2n = 'EXTR' tic . 'Rhomn2' ndl ;
  1876. 'SI' ('EXIS' tic 'drcln2') ;
  1877. drcln2 = tic . 'drcln2' ;
  1878. 'FINS' ;
  1879. 'FINS' ;
  1880. 'SI' TBT.'TCO' ;
  1881. Rmcon = 'EXTR' tic . 'Rhomco' ndl ;
  1882. 'SI' ('EXIS' tic 'drclco') ;
  1883. drclco = tic . 'drclco' ;
  1884. 'FINS' ;
  1885. 'FINS' ;
  1886. 'SI' TBT.'TCO2' ;
  1887. Rmco2n = 'EXTR' tic . 'Rhomco2' ndl ;
  1888. 'SI' ('EXIS' tic 'drclco2') ;
  1889. drclco2 = tic . 'drclco2' ;
  1890. 'FINS' ;
  1891. 'FINS' ;
  1892. *
  1893. 'SI' TBT . 'THERMP' ;
  1894. Emurn = 'EXTR' tic . 'Emur' ndl ;
  1895. 'FINS' ;
  1896. Qcn = 'EXTR' tic . 'Qc' ndl ;
  1897. Econdn = 'EXTR' tic . 'Econd' ndl ;
  1898. Econvn = 'EXTR' tic . 'Econv' ndl ;
  1899. Hcondn = 'EXTR' tic . 'Hcond' ndl ;
  1900. Mlq = 0. ;
  1901. Mbron = Rmbron '*' Vtotal ;
  1902. *
  1903. drhpar = 0. ;
  1904. *
  1905. *
  1906. *>> Boucle en temps
  1907. * On va de (n-1) à (n)
  1908. *
  1909. *
  1910. 'REPE' BCLTPS nbit ;
  1911.  
  1912. Tknm = Tkn ;
  1913. Tfnm = Tfn ;
  1914. Rhonm = Rhon;
  1915. MaxRho = ('MAXI' Rhonm) '*' 10. ;
  1916. *
  1917. *>>1 Gestion de la fréquence de préconditionnement
  1918. 'SI' ('OU' ('EGA' &BCLTPS 1) ('MULT' &BCLTPS RXT . 'FRPREC')) ;
  1919. calprec = VRAI ;
  1920. 'SINO' ;
  1921. calprec = FAUX ;
  1922. 'FINS' ;
  1923. 'SI' ('EGA' nbit 0) ;
  1924. 'QUIT' BCLTPS ;
  1925. 'FINS' ;
  1926. *>>1 Gestion de la fréquence de préconditionnement FIN
  1927. *
  1928.  
  1929. *
  1930. *>>2 Gestion du rang du pas de temps, de sa valeur, de la liste des temps
  1931. tic . 'NUPADT' = tic . 'NUPADT' '+' 1 ;
  1932. ndl = 'DIME' tic . 'LTPS' ;
  1933. Tps = tic . 'Tps' '+' tic . 'DT' ;
  1934. tic . 'Tps' = Tps ;
  1935. tic . 'LTPS' = tic . 'LTPS' 'ET' ('PROG' Tps ) ;
  1936. *
  1937. 'SI' ( TBT . 'IMPR' '>EG' 1) ;
  1938. 'MESS' '*************************************************************'
  1939. '***********************' ;
  1940. 'MESS' '*************************************************************'
  1941. '***********************' ;
  1942. 'MESS' '==> Pas de temps ' tic . 'NUPADT'
  1943. ' Temps = ' tps 'Secondes Pas de temps : DT= ' tic . 'DT' ;
  1944. 'FINS' ;
  1945. *>>2 Gestion du rang du pas de temps, etc FIN
  1946. *
  1947.  
  1948. *
  1949. *>>3 Gestion des E/S
  1950. *
  1951. *FD
  1952. * Il n'y a pas de Sorties et de Breches évanescentes contrairement aux
  1953. * anciennes syntaxe de Breche, Breche2 et Breche3 (Tbrechei=FAUX et tic
  1954. * . 'Qj' existe) où on complète par 0.
  1955. *FD
  1956. *
  1957. * Accumulation du débit massique (en kg/s) de chaque espèce xxx dans qoxxx
  1958. Qovp = 0. ; Qlovp = 0. ;
  1959. Qohe = 0. ;
  1960. Qoh2 = 0. ;
  1961. Qon2 = 0. ;
  1962. Qoo2 = 0. ;
  1963. Qoco = 0. ;
  1964. Qoco2 = 0. ;
  1965. * Débits de vapeur et de liquide pour les bilans (Minj et Mrest)
  1966. Qeau = 0. ;
  1967. Qlj = 0. ;
  1968. * Accumulation du débit massique dans Qtot (kg/s), du débit volumique
  1969. * dans srcs (m3/s), du débit enthalpique dans drh (J/s)
  1970. Qtot = 0. ;
  1971. drh = 0. ;
  1972. srcs = 0. ;
  1973. hmn = 0. ;
  1974. *
  1975. 'SI' TBT . 'TTsortie' ;
  1976. NBR = 'DIME' rxt . 'Sorties' ;
  1977. ibr = 'INDE' rxt . 'Sorties' ;
  1978. 'REPE' BBRS NBR ;
  1979. Qeau Qlj Qair Qhe Qh2 Qo2 Qn2 Qco Qco2
  1980. = broche 'KAS1' &BBRS rxt ;
  1981. Qovp = Qovp '+' Qeau ; Qlovp = Qlovp '+' Qlj ;
  1982. Qohe = Qohe '+' Qhe ;
  1983. Qoh2 = Qoh2 '+' Qh2 ;
  1984. Qon2 = Qon2 '+' Qn2 ;
  1985. Qoo2 = Qoo2 '+' Qo2 ;
  1986. Qoco = Qoco '+' Qco ;
  1987. Qoco2 = Qoco2 '+' Qco2 ;
  1988. 'FIN' BBRS ;
  1989. 'FINS' ;
  1990.  
  1991. 'SI' TBT . 'TTsortie' ;
  1992. NBR = 'DIME' rxt . 'Sorties' ;
  1993. ibr = 'INDE' rxt . 'Sorties' ;
  1994. 'REPE' BBRS NBR ;
  1995. Rvapj Rairj Rhej Rh2j Ro2j Rn2j Rco2j Rcoj Rgj Hj Ej
  1996. Tj aex Qj Roj gj guj unvf0 src = broche 'KAS2' &BBRS rxt ;
  1997. asrc = Roj '*' ('ABS' src) ;
  1998. Qtot = Qtot '+' (aex '*' asrc) ;
  1999. drh = drh '+' (Qj '*' (Hj - Hmn) '*' aex) ;
  2000. srcs = srcs '+' (aex '*' src) ;
  2001.  
  2002. Briches = rxt . 'Sorties' . (ibr . &BBRS) ;
  2003. 'SI' ('EXIS' Briches 'Qj') ;
  2004. Briches . 'guj' = Briches . 'guj' 'ET' ('PROG' guj) ;
  2005. Briches . 'Qj' = Briches . 'Qj' 'ET' ('PROG' asrc) ;
  2006. 'FINS' ;
  2007. 'FIN' BBRS ;
  2008. 'FINS' ;
  2009.  
  2010. 'SI' TBT . 'TTbreche' ;
  2011. Qeau Qlj Qair Qhe Qh2 Qo2 Qn2 Qco Qco2 Qtotb srcb drhb = bruche rxt ;
  2012. Qovp = Qovp '+' Qeau ; Qlovp = Qlovp '+' Qlj ;
  2013. Qohe = Qohe '+' Qhe ;
  2014. Qoh2 = Qoh2 '+' Qh2 ;
  2015. Qon2 = Qon2 '+' Qn2 ;
  2016. Qoo2 = Qoo2 '+' Qo2 ;
  2017. Qoco = Qoco '+' Qco ;
  2018. Qoco2 = Qoco2 '+' Qco2 ;
  2019. Qtot = Qtot '+' Qtotb ;
  2020. drh = drh '+' drhb ;
  2021. srcs = srcs '+' srcb ;
  2022. 'FINS' ;
  2023. *
  2024. Qeau = Qovp ;
  2025. Qlj = Qlovp ;
  2026. *>>3 Gestion des E/S FIN
  2027. *
  2028.  
  2029. *
  2030. *>>4 Gestion des sources diffuses
  2031. * Accumulation du débit massique (en kg/s) de chaque espèce xxx dans qoxxx
  2032. 'SI' TBT . 'TFIMP' ;
  2033. NBFIMP = 'DIME' rxt . 'XFIMP' ;
  2034. ifimp = 'INDE' rxt . 'XFIMP' ;
  2035. 'REPE' BBFIMP NBFIMP ;
  2036. Bfimp = rxt . 'XFIMP' . (ifimp . &BBFIMP) ;
  2037. Smfpi = Bfimp . 'Smfpi' ;
  2038.  
  2039. CKqt = Bfimp . 'Kqt' ;
  2040. qft = 'IPOL' tps Bfimp . 't' Bfimp . 'qt' ;
  2041. tic . CKqt = qft '/' Smfpi ;
  2042.  
  2043. CKqeau = Bfimp . 'Kqeau' ;
  2044. qfeau = 'IPOL' tps Bfimp . 't' Bfimp . 'qeau' ;
  2045. tic . CKqeau = qfeau '/' Smfpi ;
  2046.  
  2047. CKqair = Bfimp . 'Kqair' ;
  2048. qfair = 'IPOL' tps Bfimp . 't' Bfimp . 'qair' ;
  2049. tic . CKqair = qfair '/' Smfpi ;
  2050.  
  2051. CKqhe = Bfimp . 'Kqhe' ;
  2052. qfhe = 'IPOL' tps Bfimp . 't' Bfimp . 'qhe' ;
  2053. tic . CKqhe = qfhe '/' Smfpi;
  2054.  
  2055. CKqh2 = Bfimp . 'Kqh2' ;
  2056. qfh2 = 'IPOL' tps Bfimp . 't' Bfimp . 'qh2' ;
  2057. tic . CKqh2 = qfh2 '/' Smfpi ;
  2058.  
  2059. CKqn2 = Bfimp . 'Kqn2' ;
  2060. qfn2 = 'IPOL' tps Bfimp . 't' Bfimp . 'qn2' ;
  2061. tic . CKqn2 = qfn2 '/' Smfpi ;
  2062.  
  2063. CKqo2 = Bfimp . 'Kqo2' ;
  2064. qfo2 = 'IPOL' tps Bfimp . 't' Bfimp . 'qo2' ;
  2065. tic . CKqo2 = qfo2 '/' Smfpi ;
  2066.  
  2067. CKqco = Bfimp . 'Kqco' ;
  2068. qfco = 'IPOL' tps Bfimp . 't' Bfimp . 'qco' ;
  2069. tic . CKqco = qfco '/' Smfpi ;
  2070.  
  2071. CKqco2 = Bfimp . 'Kqco2' ;
  2072. qfco2 = 'IPOL' tps Bfimp . 't' Bfimp . 'qco2' ;
  2073. tic . CKqco2 = qfco2 '/' Smfpi ;
  2074.  
  2075. Qovp = Qovp '+' Qfeau ;
  2076. Qohe = Qohe '+' Qfhe ;
  2077. Qoh2 = Qoh2 '+' Qfh2 ;
  2078. Qon2 = Qon2 '+' Qfn2 ;
  2079. Qoo2 = Qoo2 '+' Qfo2 ;
  2080. Qoco = Qoco '+' Qfco ;
  2081. Qoco2 = Qoco2 '+' Qfco2 ;
  2082.  
  2083. 'FIN' BBFIMP ;
  2084. 'FINS';
  2085. *>>4 Gestion des sources diffuses FIN
  2086. *
  2087.  
  2088. *
  2089. *>>5 Gestion du flux de chaleur en paroi
  2090. * phi = h(t)(Tg-Tw(t)), mise à jour de Tw(t) et [h si h donné]
  2091. *FD
  2092. * (h(t) par une PROCPERSO ou la condensation en paroi)
  2093. *FD
  2094. 'SI' TBT . 'TTIMP' ;
  2095. NBTIMP = 'DIME' rxt . 'TIMP' ;
  2096. itimp = 'INDE' rxt . 'TIMP' ;
  2097. 'REPE' BBTIMP NBTIMP ;
  2098. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  2099. CTBP1 = Btimp . 'TBP1' ;
  2100. CKH1 = Btimp . 'KH1' ;
  2101. tic . CTBP1 = 'IPOL' tps Btimp . 't' Btimp . 'TIMP' ;
  2102. 'SI' ('NON' ((TBT . 'VAPEUR') 'ET' ('EXIS' tic CKH1))) ;
  2103. tic . CKH1 = Btimp . 'ECHAN' ;
  2104. 'FINS' ;
  2105. 'FIN' BBTIMP ;
  2106. 'FINS' ;
  2107.  
  2108. 'SI' TBT . 'TECHANP' ;
  2109. 'SI' ('NON' ('EXIS' TIC 'TBP0')) ;
  2110. tic . 'TBP0' = 'KCHT' RXT . 'GEO' . '$mtp0'
  2111. 'SCAL' 'SOMMET' rxt . 'ECHANP' . 'TMUR' ;
  2112. 'FINS' ;
  2113. 'SI' ('NON' ((TBT . 'VAPEUR') 'ET' ('EXIS' tic 'KH0'))) ;
  2114. tic . 'KH0' = 'KCHT' RXT . 'GEO' . '$mtp0'
  2115. 'SCAL' 'CENTRE' rxt . 'ECHANP' . 'ECHAN' ;
  2116. 'FINS' ;
  2117. 'FINS' ;
  2118. *>>5 Gestion du flux de chaleur en paroi FIN
  2119. *
  2120.  
  2121. *
  2122. *>>6 Traitement de l'aspersion
  2123.  
  2124. 'SI' TBT . 'ASPER ' ;
  2125. t = rxt.'scenasp'.'t' ;
  2126. vzinj = 'IPOL' tps t (rxt.'scenasp'.'vzinj') ;
  2127. xdinj = 'IPOL' tps t (rxt.'scenasp'.'xdinj') ;
  2128. tdinj = 'IPOL' tps t (rxt.'scenasp'.'tdinj') ;
  2129. ddinj = 'IPOL' tps t (rxt.'scenasp'.'ddinj') ;
  2130. $aspinj = GEO.'$aspinj' ;
  2131. $toitf = GEO.'$toitf' ;
  2132. * vnj = 'KCHT' $aspinj 'VECT' 'SOMMET' 'COMP'
  2133. * ('MOTS' 1VN 2VN 3VN) (0.0 0.0 vzinj) ;
  2134. 'SI' (DIM3D) ;
  2135. vnj = 'KCHT' $aspinj 'VECT' 'SOMMET' 'COMP'
  2136. ('MOTS' 1VN 2VN 3VN) (0.0 0.0 vzinj) ;
  2137. 'SINO' ;
  2138. *--------------------------------------------------------------
  2139. * modif Tojo 12/07/2007 *
  2140. *
  2141. * mise en place de vecteurs inclinés conformément
  2142. * à l'angle d'ouverture du jet
  2143. * ici l'inclinaison est fixée à 30°
  2144. * une prochaine évolution pourrait consister à mettre
  2145. * l'angle d'ouverture comme donnée d'entrée
  2146. * dans la table scenasp
  2147. *
  2148. *--------------------------------------------------------------
  2149. *
  2150. cc1 = coor 1 rxt.'aspinj' ;
  2151. z0 = (sin(300. '*' cc1)) '*' ((cos(300. '*' cc1)) '**' (-1.0));
  2152. z0 = z0 '*' (vzinj '*' -1.) ;
  2153. z0 = chan attribut z0 nature diffus;
  2154. z1 = z0 '*' 0. ;
  2155. ux0 = nomc '1VN' z0 ;
  2156. z1 = z1 '+' vzinj;
  2157. z1 = chan attribut z1 nature diffus;
  2158. uy0 = nomc '2VN' z1 ;
  2159. vnj1 = ux0 et uy0;
  2160. vnj = 'KCHT' $aspinj 'VECT' 'SOMMET' 'COMP'
  2161. ('MOTS' '1VN' '2VN') vnj1 ;
  2162. *
  2163. *--------------------------------------------------------------
  2164. 'FINS' ;
  2165. *--------------------fin modif Tojo Juillet 2007---------------
  2166.  
  2167. xdj = 'KCHT' $aspinj 'SCAL' 'SOMMET' 'COMP'
  2168. ('MOT' 'XD') xdinj ;
  2169. tdj = 'KCHT' $aspinj 'SCAL' 'SOMMET' 'COMP'
  2170. ('MOT' 'TD') tdinj ;
  2171. ddj = 'KCHT' $toitf 'SCAL' 'SOMMET' 'COMP'
  2172. ('MOT' 'DD') ddinj ;
  2173. 'FINS';
  2174. *>>6 Traitement de l'aspersion FIN
  2175. *
  2176.  
  2177. *
  2178. *>>7 Initialisation aux valeurs de début de pas de temps (n-1)
  2179.  
  2180. Rgpnm = Rgpn ;
  2181. Cvmnm = Cvmn ;
  2182. Gamnm = Gamn ;
  2183. Cpmnm = Cpmn ;
  2184.  
  2185. Ptmnm = Ptmn ;
  2186. Rhomnm = Rhomn ;
  2187.  
  2188. Remnm = Remn ;
  2189. Rmairnm = Rmairn ;
  2190. Rmvnm = Rmvn ;
  2191. Rmvgnm = Rmvgn ;
  2192. Rmliqnm = Rmliqn ;
  2193. Rmbronm = Rmbron ; Mbronm = Mbron ;
  2194. Rmhenm = Rmhen ;
  2195. Rmh2nm = Rmh2n ;
  2196. Rmn2nm = Rmn2n ;
  2197. Rmo2nm = Rmo2n ;
  2198. Rmconm = Rmcon ;
  2199. Rmco2nm = Rmco2n ;
  2200. Emurnm = Emurn ;
  2201.  
  2202. 'SI' TBT.'ASPER ' ;
  2203. Qasp = 'EXTR' (tic.'Qaspe') ndl ;
  2204. Easp = 'EXTR' (tic.'Easpe') ndl ;
  2205. Hasp = 'EXTR' (tic.'Haspe') ndl ;
  2206. 'SINO' ;
  2207. Qasp = 0.0 ;
  2208. Easp = 0.0 ;
  2209. Hasp = 0.0 ;
  2210. 'FINS' ;
  2211.  
  2212. Qcnm = Qcn ;
  2213. Econdnm = Econdn ;
  2214. Econvnm = Econvn ;
  2215. Hcondnm = Hcondn ;
  2216.  
  2217. MinjT = 'EXTR' tic . 'Minj' ndl ;
  2218. McondT = 'EXTR' tic . 'Mcond' ndl ;
  2219. Mcondmnm = Mcondmn ;
  2220.  
  2221. 'SI' TBT . 'VAPEUR' ;
  2222. 'SI' TBT . 'TPAROIF' ;
  2223. McondTw = 'EXTR' tic . 'Mcondw' ndl ;
  2224. 'FINS' ;
  2225. * FD : Ne sert a rien
  2226. 'SI' TBT . 'TTIMP' ;
  2227. NBTIMP = 'DIME' rxt . 'TIMP' ;
  2228. itimp = 'INDE' rxt . 'TIMP' ;
  2229. 'REPE' BBTIMP NBTIMP ;
  2230. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  2231. CMcond1 = Btimp . 'Mcond1' ;
  2232. McondT1 = 'EXTR' tic . CMcond1 ndl ;
  2233. 'FIN' BBTIMP ;
  2234. 'FINS' ;
  2235. 'SI' TBT . 'TECHANP' ;
  2236. McondT0 = 'EXTR' tic . 'Mcond0' ndl ;
  2237. 'FINS' ;
  2238. * FD : Ne sert a rien
  2239. 'FINS' ;
  2240. MrestT = 'EXTR' tic . 'Mrest' ndl ;
  2241. *>>7 Initialisation au début de pas de temps (n-1)FIN
  2242. *
  2243.  
  2244. *
  2245. *>>8 Initialisation des champs variables pour TF
  2246. 'SI' TBT . 'THERMP' ;
  2247. tic . 'KHEW' = tic . 'KHW' / (Rhomnm '*' Cpmnm) ;
  2248. tic . 'LHEW' = -1.0 * tic . 'KHEW' ;
  2249. tic . 'LHW' = -1.0 * tic . 'KHW' ;
  2250. 'SI' ('NEG' ('TYPE' tic . 'KHW') 'FLOTTANT') ;
  2251. 'SI' tbt . 'THERCO' ;
  2252. tic . 'KHEW' = 'KCHT' $paroif 'SCAL' 'SOMMET' tic . 'KHEW' ;
  2253. tic . 'LHEW' = 'KCHT' $paroif 'SCAL' 'SOMMET' tic . 'LHEW' ;
  2254. tic . 'LHW' = 'KCHT' $paroif 'SCAL' 'SOMMET' tic . 'LHW' ;
  2255. 'SINO' ;
  2256. tic . 'KHEW' = 'KCHT' $paroif 'SCAL' 'CENTRE' tic . 'KHEW' ;
  2257. tic . 'LHEW' = 'KCHT' $paroif 'SCAL' 'CENTRE' tic . 'LHEW' ;
  2258. 'FINS' ;
  2259. 'FINS' ;
  2260. 'FINS' ;
  2261.  
  2262. 'SI' TBT . 'TTIMP' ;
  2263. NBTIMP = 'DIME' rxt . 'TIMP' ;
  2264. itimp = 'INDE' rxt . 'TIMP' ;
  2265. 'REPE' BBTIMP NBTIMP ;
  2266. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  2267. CKHE1 = Btimp . 'KHE1' ;
  2268. CKH1 = Btimp . 'KH1' ;
  2269. tic . CKHE1 = tic . CKH1 '/' (Rhomnm '*' Cpmnm) ;
  2270. 'FIN' BBTIMP ;
  2271. 'FINS';
  2272.  
  2273. 'SI' TBT . 'TECHANP' ;
  2274. tic . 'KHE0' = tic . 'KH0' '/' (Rhomnm '*' Cpmnm) ;
  2275. 'FINS';
  2276. *>>8 Initialisation des champs variables pour TF FIN
  2277. *
  2278.  
  2279.  
  2280. *
  2281. *>>10 Gestion des recombineurs :
  2282. *
  2283. * Bilan 0D : Débit enthalpique (drhpar) et bilans de masse à cause de la
  2284. * combustion et de la décomposition de l'air en N2 et O2. Comme Qin=Qout
  2285. * aucune variation globale de la masse globale.
  2286. *
  2287. * Les conditions aux limites sont stockées dans rxt . 'RECOMB' . indice
  2288. * pour la vitesse et les densités partielles.
  2289. 'SI' TBT . 'TRECOMB' ;
  2290. QO_H2p QO_O2p QO_H2Op QO_N2p drhpar = MDRECOMB RXT ;
  2291. 'SI' TBT . 'VAPEUR' ;
  2292. Qovp = Qovp '+' QO_H2Op ;
  2293. 'FINS' ;
  2294. 'SI' TBT . 'TH2' ;
  2295. Qoh2 = Qoh2 '+' QO_H2p ;
  2296. 'FINS' ;
  2297. 'SI' TBT . 'TN2' ;
  2298. Qon2 = Qon2 '+' QO_N2p ;
  2299. 'FINS' ;
  2300. 'SI' TBT . 'TO2' ;
  2301. Qoo2 = Qoo2 '+' QO_O2p ;
  2302. 'FINS' ;
  2303. 'FINS' ;
  2304. *>>10 Gestion des recombineurs FIN
  2305. *
  2306.  
  2307. *
  2308. *>>11 Avancement et stockage des grandeurs moyennes 0D au temps (n)
  2309. * à partir de l'intégrale des conditions aux limites
  2310. * (E/S, parois, PAR)
  2311. drh = drh '-' (Econvnm '-' Easp) '-' (Hcondnm '-' Hasp) '+' drhpar ;
  2312. Qtot = Qtot '+' Qasp '-' Qcnm ;
  2313.  
  2314. 'MESS' ' Debit condensation Fin pas de temps precedent Qcnm=' Qcnm ;
  2315. 'MESS' ' Etot ' (Econvnm '-' Easp)
  2316. ' Htot ' (Hcondnm '-' Hasp)
  2317. ' drh=' drh ;
  2318.  
  2319. *
  2320. *>>11.1 Calcul par bilan 0D de Rhomn et Remn au temps (n)
  2321. *FD
  2322. *WARNING : On suppose que la masse est constante en ouvert
  2323. *WARNING : et Remn = Rho(n-1) Cv(n-1) Tk(n-1) en ouvert
  2324. *'SI' TBT . 'Tsortie' ;
  2325. * Rhomn = Rhomnm ;
  2326. * Remn = ('SOMT' (Diag * Rhonm * cvmnm * Tknm)) '/' VTotal ;
  2327. * tic . 'Rhomn' = tic . 'Rhomn' 'ET' ('PROG' Rhomn) ;
  2328. * tic . 'Remn' = tic . 'Remn' 'ET' ('PROG' Remn) ;
  2329. *'SINO' ;
  2330. Rhomn = 'MAXI' ('PROG' 0.
  2331. (Rhomnm '+' (tic . 'DT' '*' Qtot '/' VTotal))) ;
  2332. *DEBUG
  2333. *'MESS' 'DEBUG Rhomnm Qtot Rhomn' ;
  2334. *'MESS' rhomnm ' ' (rhomnm '*' Vtotal) ;
  2335. *'MESS' qtot ' ' (tic . 'DT' '*' Qtot) ;
  2336. *'MESS' rhomn ' ' (rhomn '*' Vtotal) ;
  2337. *DEBUG
  2338. Remn = 'MAXI' ('PROG' 0.
  2339. (Remnm '+' (tic . 'DT' '*' drh '/' VTotal)));
  2340. 'MESS' 'VERIF: densite et energie moyennes au pas de temps (n)' ;
  2341. 'MESS' 'VERIF: &BCLTPS : Rhomn=' Rhomn ' ' 'Remn=' Remn ;
  2342. *'FINS' ;
  2343. *>>11.1 Calcul Rhomn et Remn FIN
  2344. *
  2345.  
  2346. *
  2347. *>>11.2 Calcul de l'énergie par condensation (il manque la convection)
  2348. * WARNING : Lorsque Lv dépendra de Tw on ne pourra pas
  2349. 'SI' TBT.'THERMP' ;
  2350. Emurn = Emurnm '+' ( tic . 'DT' '*' Qcnm '*' TBT . 'Lv') ;
  2351. tic . 'Emur' = tic . 'Emur' 'ET' ('PROG' Emurn) ;
  2352. 'FINS' ;
  2353. *>>11.2 Calcul de l'énergie par condensation (il manque la convection)
  2354. *
  2355.  
  2356. *
  2357. *>>11.3 Calcul par bilan 0D des densités moyennes au temps (n)
  2358. *FD
  2359. *WARNING Pourquoi s'intéresser au brouillard en suspension ?
  2360. *WARNING C'est bien Rmbronm car le brouillard est en (n-1)
  2361. *FD
  2362. Rmairn = Rhomn ;
  2363. 'SI' TBT . 'VAPEUR' ;
  2364. Rmvgn = 'MAXI' ('PROG' 0.
  2365. (Rmvgnm '+' (tic . 'DT' '*' (Qovp '-' Qcnm '+' Qasp) '/' VTotal ))) ;
  2366. Rmvn = Rmvgn '-' Rmbronm ;
  2367. Rmairn = Rmairn '-' Rmvn ;
  2368. 'FINS' ;
  2369. 'SI' TBT . 'THE' ;
  2370. Rmhen = 'MAXI' ('PROG' 0.
  2371. (Rmhenm '+' (tic . 'DT' '*' Qohe '/' VTotal ))) ;
  2372. Rmairn = Rmairn '-' Rmhen ;
  2373. 'FINS' ;
  2374. 'SI' TBT . 'TH2' ;
  2375. Rmh2n = 'MAXI' ('PROG' 0.
  2376. (Rmh2nm '+' (tic . 'DT' '*' Qoh2 '/' VTotal ))) ;
  2377. Rmairn = Rmairn '-' Rmh2n ;
  2378. 'FINS' ;
  2379. 'SI' TBT . 'TN2' ;
  2380. Rmn2n= 'MAXI' ('PROG' 0.
  2381. (Rmn2nm '+' (tic . 'DT' '*' Qon2 '/' VTotal ))) ;
  2382. Rmairn = Rmairn '-' Rmn2n ;
  2383. 'FINS' ;
  2384. 'SI' TBT . 'TO2' ;
  2385. Rmo2n= 'MAXI' ('PROG' 0.
  2386. (Rmo2nm '+' (tic . 'DT' '*' Qoo2 '/' VTotal ))) ;
  2387. Rmairn = Rmairn '-' Rmo2n ;
  2388. 'FINS' ;
  2389. 'SI' TBT . 'TCO' ;
  2390. Rmcon= 'MAXI' ('PROG' 0.
  2391. (Rmconm '+' (tic . 'DT' '*' Qoco '/' VTotal ))) ;
  2392. Rmairn = Rmairn '-' Rmcon ;
  2393. 'FINS' ;
  2394. 'SI' TBT . 'TCO2';
  2395. Rmco2n = 'MAXI' ('PROG' 0.
  2396. (Rmco2nm '+' (tic . 'DT' '*' Qoco2 '/' VTotal ))) ;
  2397. Rmairn = Rmairn '-' Rmco2n ;
  2398. 'FINS' ;
  2399. 'SI' (Rmairn '<' 0.0) ;
  2400. 'MESS' 'Pb avec la masse d air 0D : 11.3 : Rmairn=' ' ' Rmairn ;
  2401. 'FINS' ;
  2402. *>>11.3 Calcul par bilan 0D des densités moyennes au temps (n)FIN
  2403. *
  2404.  
  2405. *
  2406. *>>12. Appel à la procédure PERSO
  2407. 'SI' TBT . 'PERSO' ;
  2408. 'SI' (TBT . 'IMPR' '>EG' 2) ;
  2409. mess ' ***********************************';
  2410. mess ' * Execution d une procedure PERSO *';
  2411. mess ' * '(rxt.'PRCPERSO')
  2412. ' *' ;
  2413. mess ' ***********************************';
  2414. 'FINS' ;
  2415. ('TEXT' rxt . 'PRCPERSO') Tps rxt ;
  2416. 'SI' (TBT . 'IMPR' '>EG' 2) ;
  2417. mess ' ***********************************';
  2418. mess ' * Fin execution de la procedure *';
  2419. mess ' * '(rxt.'PRCPERSO')
  2420. ' *' ;
  2421. mess ' ***********************************';
  2422. 'FINS' ;
  2423. 'FINS' ;
  2424. *>>12. Appel à la procédure PERSO FIN
  2425. *
  2426.  
  2427. *
  2428. *
  2429. *>>13. Résolution des EDP
  2430. *
  2431. *
  2432. * Terme source s de l'equation de QDM : divu = s
  2433. tic . 'DSRC' = ((-1.) '*' srcs '/' VTotal) ;
  2434. *DEBUG
  2435. *tic . 'DSRC' = ((-1.) '*' srcs '/' VTotal) ;
  2436. *'MESS' 'DSRC ' tic . 'DSRC' ;
  2437. *DEBUG
  2438. rv = TBT . 'RV' ;
  2439. *DEBUG
  2440. *tic . 'DSN2' = -1. '*' tic . 'DSRC' ;
  2441. *DEBUG
  2442.  
  2443. *
  2444. *>>13.1 CLIM injection u.n=uinj
  2445. gjo matxx = 'KOPS' 'MATRIK' ;
  2446. 'SI' TBT . 'TTsortie' ;
  2447. NBR = 'DIME' rxt . 'Sorties' ;
  2448. ibr = 'INDE' rxt . 'Sorties' ;
  2449. 'REPE' BBRS NBR ;
  2450. Briches = rxt . 'Sorties' . (ibr.&BBRS) ;
  2451. gjo = gjo 'ET' (Briches . 'gj') ;
  2452. 'FIN' BBRS ;
  2453. 'FINS' ;
  2454. 'SI' TBT . 'TTbreche' ;
  2455. ** NBR = 'DIME' rxt . 'Breches' ;
  2456. ** ibr = 'INDE' rxt . 'Breches' ;
  2457. ** 'REPE' BBRS NBR ;
  2458. ** Briches = rxt . 'Breches' . (ibr.&BBRS) ;
  2459. ** gjo = gjo 'ET' (Briches . 'gj') ;
  2460. gjo = gjo 'ET' (tic . 'Breches' . 'UN') ;
  2461. ** 'FIN' BBRS ;
  2462. 'FINS' ;
  2463. *
  2464. * Modèle K-Epsilon EFM1 : K-Epsilon aux E/S
  2465. *FD
  2466. *WARNING Où le cas K-EPSILON Implicite est-il pris en compte ?
  2467. *FD
  2468. 'SI'(('EGA' TBT.'MODTURB' 'KEPSILON') et ('EGA' TBT.'FEF' 'EFM1'));
  2469. 'SI' TBT . 'TTsortie';
  2470. NBR = 'DIME' rxt . 'Sorties' ;
  2471. ibr = 'INDE' rxt . 'Sorties' ;
  2472. Repeter BBRS NBR ;
  2473. Briches=rxt.'Sorties'.(ibr.&BBRS) ;
  2474. * mess ' Sorties CL pour QDM' (ibr.&BBRS) ;
  2475. gjs=Briches.'gj' ;
  2476. lcj=extr gjs 'COMP' ;
  2477. mdj=gjs 'PSCA' gjs lcj lcj ;
  2478. gk=((0.05**2.)*mdj) nomc 'KN' ;
  2479. gk=CHAN 'ATTRIBUT' gk 'NATURE' 'DISCRET';
  2480. ge=((gk**1.5)/(Briches.'Dbreche')) nomc 'EN';
  2481. gjo= gjo et gk ;
  2482. gjo= gjo et ge ;
  2483. FIN BBRS ;
  2484. FINS ;
  2485. Si (TBT.'TTbreche') ;
  2486. ** NBR=dime rxt.'Breches' ;
  2487. ** ibr=index (rxt.'Breches') ;
  2488. ** Repeter BBRS NBR ;
  2489. ** Briches=rxt.'Breches'.(ibr.&BBRS) ;
  2490. * mess ' Breches CL pour QDM' (ibr.&BBRS) ;
  2491. ** gjs=Briches.'gj' ;
  2492. gjs = tic . 'Breches' . 'UN' ;
  2493. lcj=extr gjs 'COMP' ;
  2494. mdj=gjs 'PSCA' gjs lcj lcj ;
  2495. gk=((0.05**2.)*mdj) nomc 'KN' ;
  2496. gk=CHAN 'ATTRIBUT' gk 'NATURE' 'DISCRET';
  2497. ge=((gk**1.5)/(Briches.'Dbreche')) nomc 'EN';
  2498. gjo= gjo et gk ;
  2499. gjo= gjo et ge ;
  2500. ** FIN BBRS ;
  2501. FINS ;
  2502.  
  2503. *---- Modèle K-Epsilon EFM1 -- FIN -------------------------
  2504. 'FINS' ;
  2505.  
  2506. * Si il y a au moins une brèche ou une sortie
  2507. 'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
  2508. rv . 'CLIM' = (rv . 'CLIM' '-' rv . 'CLIM') '+' gjo ;
  2509. 'FINS' ;
  2510. * Si il y a des PARs
  2511. 'SI' TBT . 'TRECOMB' ;
  2512. Urec0 = tic . 'RECOMB' . 'UN' ;
  2513. 'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
  2514. rv . 'CLIM' = rv . 'CLIM' '+' Urec0 ;
  2515. 'SINO' ;
  2516. rv . 'CLIM' = (rv . 'CLIM' '-' rv . 'CLIM') '+' Urec0 ;
  2517. 'FINS' ;
  2518. 'FINS' ;
  2519. *>>13.1 CLIM injection u.n=uinjFIN
  2520. *
  2521.  
  2522. 'SI' (TBT . 'IMPR' '>EG' 2) ;
  2523. 'MESS' '==> RESOLUTION QDM' ;
  2524. 'FINS' ;
  2525.  
  2526. *
  2527. *>>13.2 Actualisation de tic . 'NUEFF' et tic . 'MUT'
  2528. *FD
  2529. *WARNING TTbreches et TTsortie non pris en compte pour K-EPSILON
  2530. *FD
  2531. *
  2532. tic . 'NU' = tic . 'Mu' '/' Rhomnm ;
  2533. tic . 'NUm' = 'SOMT' (GEO . 'Diag' * tic . 'NU') / GEO . 'VTotal' ;
  2534. 'SI' TBT . 'FPAROI' ;
  2535. tic . 'YP' = rxt . 'YP' ;
  2536. 'FINS' ;
  2537. 'SI' ('EXIS' TBT 'MODTURB') ;
  2538.  
  2539. *---- Modèle viscosité tourbillonnaire constante -----------
  2540. 'SI' ('EGA' TBT . 'MODTURB' 'NUTURB') ;
  2541. tic . 'NUEFF' = tic . 'NU' + rxt . 'NUT' ;
  2542. 'FINS' ;
  2543. *---- Modèle viscosité tourbillonnaire constante FIN
  2544.  
  2545. *---- Modèle de longueur de mélange ------------------------
  2546. 'SI' ('EGA' TBT . 'MODTURB' 'LMEL') ;
  2547. un = tic . 'UN' ;
  2548. P = PRODT UN $vtf ;
  2549. lm = TBT . 'LMEL' ;
  2550. NUT = lm '*' lm '*' (P**0.5) ;
  2551. * Réalisabilité sur Nut
  2552. Nu = tic . 'NU' ;
  2553. a = 5000. '*' Nu ;
  2554. al = 0.8 ;
  2555. ala = al '*' a ;
  2556. b = ala '*' ((2. '*' (1.-al)) '**' (-1.)) ;
  2557. ik = 'MASQ' Nut 'INFERIEUR' ala ;
  2558. Nut=(ik*Nut)+( (1.-ik)*a*(Nut + b)*(inve (a + Nut + b)));
  2559. Nutsnu = Nut '*' ('INVE' Nu);
  2560. 'SI' (TBT . 'IMPR' '>EG' 2) ;
  2561. 'MESS' ' Mini Maxi Nut/Nu '
  2562. ('MINI' Nutsnu) ('MAXI' Nutsnu) ;
  2563. 'FINS' ;
  2564. tic . 'NUEFF' = NUT '+' tic . 'NU' ;
  2565. 'FINS' ;
  2566. *---- Modèle de longueur de mélange FIN
  2567.  
  2568. *---- Modèle K-Epsilon Implicite ---------------------------
  2569. 'SI' (('EGA' TBT . 'MODTURB' 'KEPSILON')
  2570. 'ET' ('NON' ('EGA' TBT . 'FEF' 'EFM1'))) ;
  2571. cnu = 0.09 ;
  2572. c1 = 1.44 ;
  2573. c2 = 1.92 ;
  2574. sgk = 1. ;
  2575. SGE = 1.3 ;
  2576.  
  2577. Dg = 'DOMA' $vtf 'XXDIAGSI';
  2578. Lma = ('SOMT' Dg) '**' (1. '/' ('VALE' DIME)) ;
  2579. Lmi = ('MINI' Dg) '**' (1. '/' ('VALE' DIME)) ;
  2580. un = tic . 'UN' ;
  2581. P = PRODT UN $vtf;
  2582.  
  2583. Rrk = TBT . 'Rrk' ;
  2584. Rre = TBT . 'Rre' ;
  2585. En = tic . 'EN' ;
  2586. Kn = tic . 'KN' ;
  2587. * Réalisabilité sur Nut : Nut > 1.e-15
  2588. *Nut=Cnu * Kn * Kn * (inve En) ;
  2589. Nut = Lmi '*' Lma '*' (P '**' 0.5) ;
  2590. ik = 'MASQ' Nut 'SUPERIEUR' 1.e-15 ;
  2591. Nut = (ik*Nut) '+' ((1.-ik)*1.e-15) ;
  2592. * Nut P < En
  2593. *a= En * (inve P) * 0.133 ;
  2594. *a = En * ('INVE' P) * 0.133 ;
  2595. *al = 0.8 ;
  2596. *ala = al*a;
  2597. *b = ala*((2.*(1.-al))**(-1.)) ;
  2598. *ik = 'MASQ' Nut 'INFERIEUR' ala ;
  2599. *Nut=(ik*Nut)+( (1.-ik)*a*(Nut+b)*(inve (a+Nut+b))) ;
  2600. *Nut = kcht $vtf scal sommet Nut ;
  2601. 'MESS' 'mini maxi Nut ' ('MINI' Nut) ('MAXI' Nut) ;
  2602. Sk = Nut * P - ((KN**1.5)*(1./Lma)) ;
  2603. Kn = 'KOPS' Kn '|<' 1.e-5 ;
  2604. EsK = En * ('INVE' Kn) ;
  2605. Se = EsK '*' (Nut * P - (c2*En)) ;
  2606. tic . 'Se' = Se ;
  2607. tic . 'Sk' = Sk ;
  2608. tic . 'NUEFF' = NUT + tic . 'NU' ;
  2609. *
  2610. cpv matxx = 'KOPS' 'MATRIK' ;
  2611. 'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
  2612. 'MESS' 'K epsilon au revoir' ;
  2613. 'ERRE' 5 ;
  2614. Rrk . 'CLIM' = cpv ;
  2615. 'FINS' ;
  2616. Rrk . 'METHINV' . 'CALPREC' = calprec;
  2617. EXEC Rrk ;
  2618. Kn= tic . 'KN' ;
  2619. Kn= 'KOPS' Kn '|<' 1.e-5 ;
  2620. tic . 'KN' = Kn ;
  2621. *
  2622. cpv matxx = 'KOPS' 'MATRIK' ;
  2623. 'SI' (TBT . 'TTbreche' 'OU' TBT . 'TTsortie') ;
  2624. 'MESS' 'K epsilon au revoir' ;
  2625. 'ERRE' 5 ;
  2626. Rre . 'CLIM' = cpv ;
  2627. 'FINS' ;
  2628. Rre . 'METHINV' . 'CALPREC' = calprec;
  2629. EXEC Rre ;
  2630. En= tic . 'EN' ;
  2631. En= 'KOPS' En '|<' 1.e-15 ;
  2632. tic . 'EN' = En ;
  2633. * Réalisabilité sur Nut
  2634. Nut = cnu * Kn * Kn * ('INVE' En) ;
  2635. Nu = tic . 'NU' ;
  2636. a = 1500. '*' Nu ;
  2637. al = 0.8 ;
  2638. ala = al*a;
  2639. b = ala*((2.*(1.-al))**(-1.)) ;
  2640. tic . 'ala' = ala ;
  2641. tic . 'nut' = nut ;
  2642. ik = 'MASQ' Nut 'INFERIEUR' ala ;
  2643. Nut = (ik*Nut)+( (1.-ik)*a*(Nut+b)*(inve (a+Nut+b))) ;
  2644. Nut = 'KCHT' $vtf 'SCAL' 'SOMMET' Nut;
  2645. Nutsnu = (1. '/' Nu) '*' Nut;
  2646. 'SI' (TBT . 'IMPR' '>EG' 2) ;
  2647. 'MESS' ' Mini Maxi Nut/Nu '
  2648. ('MINI' Nutsnu) ('MAXI' Nutsnu) ;
  2649. 'FINS' ;
  2650. tic . 'NUEFF' = NUT + tic . 'NU' ;
  2651. 'FINS' ;
  2652. *---- Modèle K-Epsilon ImpliciteFIN
  2653.  
  2654. *---- Modèle K-Epsilon EFM1 --------------------------------
  2655. *FD
  2656. *WARNING D'ou vient tic . NUT ?
  2657. *FD
  2658. 'SI' (('EGA' TBT . 'MODTURB' 'KEPSILON') 'ET'
  2659. ('EGA' TBT . 'FEF' 'EFM1')) ;
  2660. tic . 'NUEFF' = tic . 'NUT' + tic . 'NU' ;
  2661. 'FINS' ;
  2662. *---- Modèle K-Epsilon EFM1 FIN
  2663. 'SINO' ;
  2664. *---- Il n'y a pas de modèle de turbulence -----------------
  2665. tic . 'NUEFF' = tic . 'NU' ;
  2666. 'FINS' ;
  2667. tic . 'MUT' = tic . 'NUEFF' * Rhomnm ;
  2668. *>>13.2 Actualisation de tic . 'NUEFF' et tic . 'MUT' FIN
  2669. *
  2670.  
  2671. *
  2672. *>>13.3 Résolution
  2673. rv . 'METHINV' . 'CALPREC' = calprec ;
  2674. 'SI' ('EXIS' rv 'PROJ') ;
  2675. rv . 'PROJ' . 'METHINV' . 'CALPREC' = calprec ;
  2676. 'FINS' ;
  2677. RV . 'MRESOP' = VRAI ;
  2678. RV . 'TCPT' = rxt . 'TBT' . 'TCPT' ;
  2679. RV . 'TKPR' = rxt . 'TBT' . 'TKPR' ;
  2680. RV . 'TRESOU' = rxt . 'TBT' . 'TRESOU' ;
  2681. RV . 'IMPARA' = rxt . 'TBT' . 'IMPARA' ;
  2682. *
  2683. * NON TRTOUT = Aucun TKPR à VRAI (tout est séquentiel)
  2684. * alors on résout vitesse-pression en tête
  2685. *DEBUG
  2686. *'MESS' 'DEBUG CLIM en VITESSE' ;
  2687. *'LIST' rv . 'CLIM' ;
  2688. *DEBUG
  2689. 'SI' ('NON' TBT . 'TRTOUT') ;
  2690. EXEC rv ;
  2691. 'FINS' ;
  2692. *DEBUG
  2693. *'LIST' rxt . 'TIC' . 'UN' ;
  2694. *DEBUG
  2695. *
  2696. * Pour le // on concatène dans rv les résolutions à faire en //
  2697. * Puis on résout en // vitesse-pression et TKPR ad'hoc
  2698. 'SI' TBT . 'TRTF' ;
  2699. 'MESS' '$$$$ ON RAJOUTE LA TEMPERATURE TF à LA QDM ' ;
  2700. rtf = rv ;
  2701. dtfcl = CLINC RXT rtf (TBT . 'TRTF') 'TF' 'Tj' 'TFNM' ;
  2702. *FD
  2703. * Pourquoi n'a-t-on pas Rtf . 'resmn'
  2704. *FD
  2705. rtf . 'METHINV' . 'CALPREC' = calprec ;
  2706. 'FINS' ;
  2707. 'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TRrvap') ;
  2708. 'MESS' '$$$$ ON RAJOUTE LA DENSITE DE VAPEUR à la QDM ' ;
  2709. Rrvap = rv ;
  2710. drvpcl = CLINC RXT Rrvap (TBT.'TRrvap') 'RVP' 'Rvapj' 'RVPNM' ;
  2711. *FD
  2712. * Pourquoi n'a-t-on pas Rrvap . 'resmn'
  2713. *FD
  2714. Rrvap . 'METHINV' . 'CALPREC' = calprec ;
  2715. 'FINS' ;
  2716. 'SI' (TBT . 'THE' 'ET' TBT . 'TRrhe') ;
  2717. 'MESS' '$$$$ ON RAJOUTE LA RESOLUTION DE LA DENSITE HELIUM' ;
  2718. Rrhe = rv ;
  2719. drhecl = CLINC RXT Rrhe (TBT . 'TRrhe') 'RHE' 'Rhej' 'RHEM' ;
  2720. Rrhe . 'resmn' = tic . 'RHE' NOMC 'RHE' ;
  2721. Rrhe . 'METHINV' . 'CALPREC' = calprec ;
  2722. 'FINS' ;
  2723. 'SI' (TBT . 'TH2' 'ET' TBT . 'TRrh2') ;
  2724. 'MESS' '$$$$ ON RAJOUTE LA RESOLUTION DE LA DENSITE HYDROGENE' ;
  2725. Rrh2 = rv ;
  2726. drh2cl = CLINC RXT Rrh2 (TBT . 'TRrh2') 'RH2' 'Rh2j' 'RH2M' ;
  2727. Rrh2 . 'resmn' = tic . 'RH2' NOMC 'RH2' ;
  2728. Rrh2 . 'METHINV' . 'CALPREC' = calprec ;
  2729. 'FINS' ;
  2730. 'SI' (TBT . 'TO2' 'ET' TBT . 'TRro2') ;
  2731. 'MESS' '$$$$ ON RAJOUTE LA RESOLUTION DE LA DENSITE OXYGENE' ;
  2732. Rro2 = rv ;
  2733. dro2cl = CLINC RXT Rro2 (TBT . 'TRro2') 'RO2' 'Ro2j' 'RO2M' ;
  2734. Rro2 . 'resmn' = tic . 'RO2' NOMC 'RO2' ;
  2735. Rro2 . 'METHINV' . 'CALPREC' = calprec ;
  2736. 'FINS' ;
  2737. 'SI' (TBT . 'TN2' 'ET' TBT . 'TRrn2') ;
  2738. 'MESS' '$$$$ ON RAJOUTE LA RESOLUTION DE LA DENSITE AZOTE' ;
  2739. Rrn2 = rv ;
  2740. drn2cl = CLINC RXT Rrn2 (TBT . 'TRrn2') 'RN2' 'Rn2j' 'RN2M' ;
  2741. Rrn2 . 'resmn' = tic . 'RN2' NOMC 'RN2' ;
  2742. Rrn2 . 'METHINV' . 'CALPREC' = calprec ;
  2743. 'FINS' ;
  2744. 'SI' (TBT . 'TCO2' 'ET' TBT . 'TRrco2') ;
  2745. 'MESS' '$$$$ ON RAJOUTE LA RESOLUTION DE LA DENSITE DIOX DE CARBONE';
  2746. Rrco2 = rv ;
  2747. drco2cl = CLINC RXT Rrco2 (TBT . 'TRrco2') 'RCO2' 'Rco2j' 'RCO2M' ;
  2748. Rrco2 . 'resmn' = tic . 'RCO2' NOMC 'RCO2' ;
  2749. Rrco2 . 'METHINV' . 'CALPREC' = calprec ;
  2750. 'FINS' ;
  2751. 'SI' (TBT . 'TCO' 'ET' TBT . 'TRrco') ;
  2752. 'MESS' '$$$$ ON RAJOUTE LA RESOLUTION DE LA DENSITE MONO DE CARBONE';
  2753. Rrco = rv ;
  2754. drcocl = CLINC RXT Rrco (TBT . 'TRrco') 'RCO' 'Rcoj' 'RCOM' ;
  2755. Rrco . 'resmn' = tic . 'RCO' NOMC 'RCO' ;
  2756. Rrco . 'METHINV' . 'CALPREC' = calprec ;
  2757. 'FINS' ;
  2758.  
  2759. 'SI' TBT . 'TRTOUT' ;
  2760. EXEC rv ;
  2761. 'FINS' ;
  2762. *
  2763. * Résolution séquentielle des champs scalaires restant
  2764. * (ajout de la CLIM dans CLINC avant l'appel à EXEC)
  2765. *FD
  2766. * Les densités sont bornées par 1D-10 et MaxRHO dans CORMASSE
  2767. * On le faisait 2 fois avant : ici et dans CORMASSE !
  2768. *FD
  2769. 'SI' (TBT . 'VAPEUR' 'ET' ('NON' TBT . 'TRrvap')) ;
  2770. Rrvap = TBT . 'Rrvap' ;
  2771. drvpcl = CLINC RXT Rrvap (TBT . 'TRrvap') 'RVP' 'Rvapj' 'RVPNM' ;
  2772. *FD
  2773. * Pourquoi n'a-t-on pas Rrvap . 'resmn' = tic . 'Rvp' NOMC 'RVP' ; ?
  2774. *FD
  2775. Rrvap . 'METHINV' . 'CALPREC' = calprec ;
  2776. EXEC Rrvap ;
  2777. 'FINS';
  2778. 'SI' (TBT . 'THE' 'ET' ('NON' TBT . 'TRrhe')) ;
  2779. Rrhe = TBT . 'Rrhe' ;
  2780. drhecl = CLINC RXT Rrhe (TBT . 'TRrhe') 'RHE' 'Rhej' 'RHEM' ;
  2781. Rrhe . 'resmn' = tic . 'RHE' NOMC 'RHE' ;
  2782. Rrhe . 'METHINV' . 'CALPREC' = calprec ;
  2783. EXEC Rrhe ;
  2784. 'FINS' ;
  2785. 'SI' (TBT . 'TH2' 'ET' ('NON' TBT . 'TRrh2')) ;
  2786. Rrh2 = TBT . 'Rrh2' ;
  2787. drh2cl = CLINC RXT Rrh2 (TBT . 'TRrh2') 'RH2' 'Rh2j' 'RH2M' ;
  2788. Rrh2 . 'resmn' = tic.'RH2' NOMC 'RH2' ;
  2789. Rrh2 . 'METHINV' . 'CALPREC' = calprec ;
  2790. EXEC Rrh2 ;
  2791. 'FINS' ;
  2792. 'SI' (TBT . 'TO2' 'ET' ('NON' TBT . 'TRro2')) ;
  2793. Rro2 = TBT . 'Rro2' ;
  2794. dro2cl = CLINC RXT Rro2 (TBT . 'TRro2') 'RO2' 'Ro2j' 'RO2M' ;
  2795. Rro2 . 'resmn' = tic . 'RO2' NOMC 'RO2' ;
  2796. Rro2 . 'METHINV' . 'CALPREC' = calprec ;
  2797. EXEC Rro2 ;
  2798. 'FINS' ;
  2799. 'SI' (TBT . 'TN2' 'ET' ('NON' TBT . 'TRrn2')) ;
  2800. Rrn2 = TBT . 'Rrn2' ;
  2801. drn2cl = CLINC RXT Rrn2 (TBT . 'TRrn2') 'RN2' 'Rn2j' 'RN2M' ;
  2802. Rrn2 . 'resmn' = tic . 'RN2' NOMC 'RN2' ;
  2803. Rrn2 . 'METHINV' . 'CALPREC' = calprec ;
  2804. EXEC Rrn2 ;
  2805. 'FINS' ;
  2806. 'SI' (TBT . 'TCO2' 'ET' ('NON' TBT . 'TRrco2')) ;
  2807. Rrco2 = TBT . 'Rrco2' ;
  2808. drco2cl = CLINC RXT Rrco2 (TBT . 'TRrco2') 'RCO2' 'Rco2j' 'RCO2M' ;
  2809. Rrco2 . 'resmn' = tic . 'RCO2' NOMC 'RCO2' ;
  2810. Rrco2 . 'METHINV' . 'CALPREC' = calprec ;
  2811. EXEC Rrco2 ;
  2812. 'FINS' ;
  2813. 'SI' (TBT . 'TCO' 'ET' ('NON' TBT . 'TRrco')) ;
  2814. Rrco = TBT . 'Rrco' ;
  2815. drcocl = CLINC RXT Rrco (TBT . 'TRrco') 'RCO' 'Rcoj' 'RCOM' ;
  2816. Rrco . 'resmn' = tic . 'RCO' NOMC 'RCO' ;
  2817. Rrco . 'METHINV' . 'CALPREC' = calprec ;
  2818. EXEC Rrco ;
  2819. 'FINS' ;
  2820. *
  2821. * Résolution séquentielle de la température
  2822. * (ajout de la CLIM dans CLINC avant l'appel à EXEC)
  2823. 'SI' ('NON' TBT . 'TRTF') ;
  2824. 'MESS' '$$$$ RESOLUTION SEQUENTIELLE DE LA TEMPERATURE DU FLUIDE' ;
  2825. rtf = TBT . 'RTF' ;
  2826. dtfcl = CLINC RXT rtf (TBT . 'TRTF') 'TF' 'Tj' 'TFNM' ;
  2827. rtf . 'METHINV' . 'CALPREC' = calprec ;
  2828. EXEC rtf ;
  2829. 'FINS' ;
  2830. *
  2831. * Résolution séquentielle de la Tparoi découplée du fluide
  2832. * (le flux tic . 'FHP1' est calculé dans CONDENS)
  2833. 'SI' TBT . 'THERMP' ;
  2834. 'SI' ('NON' TBT . 'THERCO') ;
  2835. rtp = TBT . 'RTP' ;
  2836. 'SI' (TBT . 'IMPR' '>EG' 2) ;
  2837. 'MESS' '==> RESOLUTION rtp ';
  2838. 'FINS' ;
  2839. rtp . 'METHINV' . 'CALPREC' = calprec ;
  2840. EXEC rtp ;
  2841. 'FINS' ;
  2842. Tp = tic . 'TP' ;
  2843. 'FINS' ;
  2844. *
  2845. *>>13.3 Résolution FIN
  2846. *
  2847. *
  2848.  
  2849. *
  2850. *>>13.4 Bornage de TF(n)
  2851. *
  2852. * Calcul de Tfmi, minimum de la condition initiale et des conditions aux limites
  2853. * Mise à jour de Ltbpi ici en cas de procédure PERSO (appel en 12.)
  2854. Tfmi = 'PROG' rxt . 'TF0' ;
  2855. CHrtf1 = rtf . 'CLIM';
  2856. MArtf1 = 'EXTR' CHrtf1 'MAILLAGE' ;
  2857. *FD
  2858. * C'est quoi ce test charabia MArtf1=0 ?
  2859. *FD
  2860. 'SI' ('NEG' MArtf1 0);
  2861. Tfmi = Tfmi 'ET' ('PROG' ('MINI' rtf . 'CLIM')) ;
  2862. 'FINS' ;
  2863. 'SI' TBT.'ASPER ' ;
  2864. Tfmi = Tfmi 'ET' ('PROG' Tdinj) ;
  2865. 'FINS' ;
  2866. 'SI' TBT.'THERMP' ;
  2867. Tfmi = Tfmi 'ET' ('PROG' ('MINI' tic . 'TP'));
  2868. 'FINS' ;
  2869. 'SI' TBT . 'TTIMP' ;
  2870. NBTIMP = 'DIME' rxt . 'TIMP' ;
  2871. itimp = 'INDE' rxt . 'TIMP' ;
  2872. tfmii = 'PROG' ;
  2873. 'REPE' BBTIMP NBTIMP ;
  2874. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  2875. ptbp1 = 'PROG' tic . (Btimp . 'TBP1') ;
  2876. tfmii = tfmii 'ET' ptbp1 ;
  2877. Btimp . 'Ltbpi' = Btimp . 'Ltbpi' 'ET' ptbp1 ;
  2878. 'FIN' BBTIMP ;
  2879. Tfmi = Tfmi 'ET' ('PROG' ('MINI' tfmii)) ;
  2880. 'FINS' ;
  2881. 'SI' TBT.'TECHANP' ;
  2882. Tfmi = Tfmi 'ET' ('PROG' ('MINI' tic . 'TBP0')) ;
  2883. 'FINS' ;
  2884. Tfmi = 'MINI' Tfmi ;
  2885. *
  2886. * Borne inférieure de la température Tf(n) par Tfmi
  2887. Tfn = 'KOPS' tic . 'TF' '|<' Tfmi ;
  2888. *FD
  2889. * On n'a pas de raison d'imposer la positivité sur Tf (en C)
  2890. * Tfn = 'KOPS' Tfn '|<' ('MAXI' ('PROG' tfmi 0.)) ;
  2891. *FD
  2892. tic . 'TF' = Tfn ;
  2893. Tkn = Tfn '+' 273.15 ;
  2894. *>>13.4 Bornage de TF(n) FIN
  2895. *
  2896.  
  2897. *
  2898. *>>13.5 Aspersion
  2899. 'SI' TBT.'ASPER ' ;
  2900. *** RVN *** Velocita gocce
  2901. rvn = TBT.'RVN' ;
  2902. rvn.'CLIM' = (rvn.'CLIM' '-' rvn.'CLIM') '+' vnj ;
  2903. rvn.'METHINV'.'CALPREC' = calprec ;
  2904. EXEC rvn ;
  2905.  
  2906. *** RXD *** Frazione volume fase dispersa
  2907. rxd = TBT.'RXD' ;
  2908. rxd.'CLIM' = (rxd.'CLIM' '-' rxd.'CLIM') '+' xdj ;
  2909. rxd.'METHINV'.'CALPREC' = calprec ;
  2910. EXEC rxd ;
  2911. tic.'XD' = 'KOPS' (tic.'XD') '|<' 1.e-10 ;
  2912.  
  2913. *** RTD *** Temperature fase dispersa
  2914. rtd = TBT.'RTD' ;
  2915. rtd.'CLIM' = (rtd.'CLIM' '-' rtd.'CLIM') '+' tdj ;
  2916. rtd.'METHINV'.'CALPREC' = calprec ;
  2917. EXEC rtd ;
  2918.  
  2919. *** RDD *** Diametro fase dispersa
  2920. rdd = TBT.'RDD' ;
  2921. rdd.'CLIM' = (rdd.'CLIM' '-' rdd.'CLIM') '+' ddj ;
  2922. rdd.'METHINV'.'CALPREC' = calprec ;
  2923. EXEC rdd ;
  2924. tic.'DD' = 'KOPS' (tic.'DD') '|<' 1.e-10 ;
  2925.  
  2926. 'FINS' ;
  2927. *>>13.5 Aspersion FIN
  2928. *
  2929. 'MESS' 'xxxxxx FIN des EDP ' ;
  2930. *
  2931. *
  2932. *>>13. Résolution des EDP FIN
  2933. *
  2934. *
  2935.  
  2936. *
  2937. *>>14. Contraintes bilans de masse 0D
  2938. drclair = 0. ;
  2939. 'SI' TBT . 'VAPEUR' ;
  2940. drclvp = drclvp '+' (('SOMT' (Diag '*' drvpcl)) '/' Vtotal) ;
  2941. drclair = drclair '+' drclvp ;
  2942. 'SI' corlim ;
  2943. Rmvgn2 = Rmvgn ;
  2944. 'SINO' ;
  2945. Rmvgn2 = Rmvgn '+' drclvp ;
  2946. 'FINS' ;
  2947. * Rmvn = Rmvgn '-' Rmbronm ;
  2948. MV0D = Rmvgn2 '*' Vtotal ;
  2949. dRhov Rvp MVMD = CORMASSE $vtf tic . 'RVP' MV0D MaxRho ;
  2950. tic . 'RVP' = Rvp ;
  2951. tic . 'ROVP' = tic . 'RVP' ;
  2952. tic . 'Mdrvap' = tic . 'Mdrvap' 'ET' (dRhov '*' Vtotal) ;
  2953. 'SINO' ;
  2954. tic . 'RVP' = Rvp ;
  2955. 'FINS' ;
  2956. 'SI' TBT . 'THE' ;
  2957. drclhe = drclhe '+' (('SOMT' (Diag '*' drhecl)) '/' Vtotal) ;
  2958. drclair = drclair '+' drclhe ;
  2959. 'SI' corlim ;
  2960. Rmhen2 = Rmhen ;
  2961. 'SINO' ;
  2962. Rmhen2 = Rmhen '+' drclhe ;
  2963. 'FINS' ;
  2964. MHE0D = Rmhen2 '*' Vtotal ;
  2965. dRhohe Rhe MHEMD = CORMASSE $vtf tic . 'RHE' MHE0D MaxRho ;
  2966. tic . 'RHE' = Rhe ;
  2967. tic . 'Mdrhe' = tic . 'Mdrhe' 'ET' (dRhohe '*' Vtotal) ;
  2968. 'FINS' ;
  2969. 'SI' TBT . 'TH2' ;
  2970. drclh2 = drclh2 '+' (('SOMT' (Diag '*' drh2cl)) '/' Vtotal) ;
  2971. drclair = drclair '+' drclh2 ;
  2972. 'SI' corlim ;
  2973. Rmh2n2 = Rmh2n ;
  2974. 'SINO' ;
  2975. Rmh2n2 = Rmh2n '+' drclh2 ;
  2976. 'FINS' ;
  2977. MH20D = Rmh2n2 '*' Vtotal ;
  2978. dRhoh2 Rh2 MH2MD = CORMASSE $vtf tic . 'RH2' MH20D MaxRho ;
  2979. tic . 'RH2' = Rh2 ;
  2980. tic . 'Mdrh2' = tic . 'Mdrh2' 'ET' (dRhoh2 '*' Vtotal) ;
  2981. 'FINS' ;
  2982. 'SI' TBT . 'TO2' ;
  2983. drclo2 = drclo2 '+' (('SOMT' (Diag '*' dro2cl)) '/' Vtotal) ;
  2984. drclair = drclair '+' drclo2 ;
  2985. 'SI' corlim ;
  2986. Rmo2n2 = Rmo2n ;
  2987. 'SINO' ;
  2988. Rmo2n2 = Rmo2n '+' drclo2 ;
  2989. 'FINS' ;
  2990. MO20D = Rmo2n2 '*' Vtotal ;
  2991. dRhoo2 Ro2 MO2MD = CORMASSE $vtf tic . 'RO2' MO20D MaxRho ;
  2992. tic . 'RO2' = Ro2 ;
  2993. tic . 'Mdro2' = tic . 'Mdro2' 'ET' (dRhoo2 '*' Vtotal) ;
  2994. 'FINS' ;
  2995. 'SI' TBT . 'TN2' ;
  2996. drcln2 = drcln2 '+' (('SOMT' (Diag '*' drn2cl)) '/' Vtotal) ;
  2997. drclair = drclair '+' drcln2 ;
  2998. 'SI' corlim ;
  2999. Rmn2n2 = Rmn2n ;
  3000. 'SINO' ;
  3001. Rmn2n2 = Rmn2n '+' drcln2 ;
  3002. 'FINS' ;
  3003. MN20D = Rmn2n2 '*' Vtotal ;
  3004. dRhon2 Rn2 MN2MD = CORMASSE $vtf tic . 'RN2' MN20D MaxRho ;
  3005. tic . 'RN2' = Rn2 ;
  3006. tic . 'Mdrn2' = tic . 'Mdrn2' 'ET' (dRhon2 '*' Vtotal) ;
  3007. 'FINS' ;
  3008. 'SI' TBT . 'TCO' ;
  3009. drclco = drclco '+' (('SOMT' (Diag '*' drcocl)) '/' Vtotal) ;
  3010. drclair = drclair '+' drclco ;
  3011. 'SI' corlim ;
  3012. Rmcon2 = Rmcon ;
  3013. 'SINO' ;
  3014. Rmcon2 = Rmcon '+' drclco ;
  3015. 'FINS' ;
  3016. MCO0D = Rmcon2 '*' Vtotal ;
  3017. dRhoco Rco MCOMD = CORMASSE $vtf tic . 'RCO' MCO0D MaxRho ;
  3018. tic . 'RCO' = Rco ;
  3019. tic . 'Mdrco' = tic . 'Mdrco' 'ET' (dRhoco '*' Vtotal) ;
  3020. 'FINS' ;
  3021. 'SI' TBT . 'TCO2' ;
  3022. drclco2 = drclco2 '+' (('SOMT' (Diag '*' drco2cl)) '/' Vtotal) ;
  3023. drclair = drclair '+' drclco2 ;
  3024. 'SI' corlim ;
  3025. Rmco2n2 = Rmco2n ;
  3026. 'SINO' ;
  3027. Rmco2n2 = Rmco2n '+' drclco2 ;
  3028. 'FINS' ;
  3029. MCO20D = Rmco2n2 '*' Vtotal ;
  3030. dRhoco2 Rco2 MCO2MD = CORMASSE $vtf tic . 'RCO2' MCO20D MaxRho ;
  3031. tic . 'RCO2' = Rco2 ;
  3032. tic . 'Mdrco2' = tic . 'Mdrco2' 'ET' (dRhoco2 '*' Vtotal) ;
  3033. 'FINS' ;
  3034. *>>14. Contraintes bilans de masse 0D FIN
  3035. *
  3036.  
  3037. *
  3038. *>>15. Calcul de la PRESSION P(n) et de la densité Rho(n)
  3039. irtf = 'INVE' (rgpnm '*' Tkn) ;
  3040. Ptmn = (Rhomn '*' Vtotal) '/' ('SOMT' (Diag '*' irtf)) ;
  3041. *
  3042. * Condensation en masse à Tf=cst
  3043. 'SI' TBT . 'CONDMAS' ;
  3044. *
  3045. * Densité de vapeur avant la séparation de phase sans brouillard initial
  3046. Rho_b = 0. '*' Rvp ;
  3047. Rho_v = Rvp '+' Rho_b ;
  3048. *
  3049. * Pressions de vapeur, à saturation et totale (locale)
  3050. * P_v = Rvp '*' tbt . 'Rgvap' '*' Tkn ;
  3051. P_v = 'VARI' 'PVAP' Rvp Tkn ;
  3052. P_vs = 'VARI' 'PSATT' Tkn ;
  3053. P_tot = 'KCHT' $vtf 'SCAL' 'SOMMET' Ptmn ;
  3054. *
  3055. * Titre thermodynamique (locale)
  3056. * H_v = 'VARI' 'HVS' P_v Tkn ;
  3057. * H_vs = 'VARI' 'HVS' P_vs Tkn ;
  3058. * H_l = 'VARI' 'HLS' P_tot Tkn ;
  3059. * xth = (H_v '-' H_l) '/' (H_vs '-' H_l) ;
  3060.  
  3061. Rho_vs = 'VARI' 'ROVAP' P_vs ;
  3062. Rho_min = Rho_v '+' Rho_vs '-' ('ABS' (Rho_v '-' Rho_vs)) '/' 2. ;
  3063. xth = Rho_min '/' Rho_v ;
  3064. alpha = 1. ;
  3065. * txt1 = 'CHAI' 'Titre vapeur au temps t=' tps ;
  3066. * 'TRAC' vtf ('CONT' vtf) xth 'TITR' txt1 'NCLK' ;
  3067. xth = 'BORN' xth 'COMPRIS' 0. 1. ;
  3068. * 'TRAC' vtf ('CONT' vtf) xth ;
  3069. * mm1 = 'MINI' xth ; mm2 = 'MAXI' xth ; 'MESS' 'xth mini maxi' ' ' mm1 ' ' mm2;
  3070. *
  3071. * Séparation de phase avec relaxation (sur-saturation locale)
  3072. Rho_b = 0. * (1. '-' alpha) '*' (1. '-' xth) '*' Rho_v ;
  3073. Rho_l = alpha '*' (1. '-' xth) '*' Rho_v ;
  3074. Rho_v = Rho_v '-' Rho_l ;
  3075. *
  3076. * Masse condensée (globale), correction de pression et d'énergie 0D associée
  3077. M_v = 'SOMT' (Diag '*' Rho_v) ;
  3078. M_b = 'SOMT' (Diag '*' Rho_b) ;
  3079. *
  3080. M_l = 'SOMT' (Diag '*' Rho_l) ;
  3081. DP_cm = M_l '/' ('SOMT' (Diag '*' irtf)) ;
  3082. DE_cm = M_l '/' (Gamnm '-' 1.) ;
  3083. Ptmn = Ptmn '-' DP_cm ;
  3084. Remn = Remn '-' DE_cm ;
  3085. *FD
  3086. * ROVP est appelé à disparaitre car le brouillard n'a rien à faire dans
  3087. * RVP ou alors RVP sert à transporter la pluie et le brouillard mais
  3088. * comment séparer ensuite pour avoir la pluie à l'instant d'avant ?
  3089. *FD
  3090. *
  3091. * Sauvegarde 0D au temps (n)
  3092. Mliqn = M_l ;
  3093. Mbron = M_b ;
  3094. Mcondmn = Mcondmnm '+' M_l ;
  3095. Rhomn = Rhomn '+' (Mbronm '-' (M_l '+' M_b) '/' Vtotal) ;
  3096. Rmvn = M_v '/' Vtotal ;
  3097. Rmliqn = M_l '/' Vtotal ;
  3098. Rmbron = M_b '/' Vtotal ;
  3099. Rmvgn = Rmvn '+' Rmbron ;
  3100. tic . 'Rliqm' = tic . 'Rliqm' 'ET' ('PROG' Rmliqn) ;
  3101. tic . 'Rbrom' = tic . 'Rbrom' 'ET' ('PROG' Rmbron) ;
  3102. Qcmn = M_l '/' tic . 'DT' ;
  3103. tic . 'Qcm' = tic . 'Qcm' 'ET' ('PROG' Qcmn) ;
  3104. *
  3105. * Sauvegarde CFD
  3106. Rvp = Rho_v ;
  3107. tic . 'RBRO' = Rho_b ;
  3108. tic . 'RVP' = Rho_v '+' Rho_b ;
  3109. tic . 'ROVP' = Rho_v ;
  3110. *
  3111. 'MESS' 'zz VERIF ==> Pt=' Ptmn ' ' ' RETSAT Qcm=' Qcmn ;
  3112. 'SINO' ;
  3113. tic . 'Qcm' = tic . 'Qcm' 'ET' ('PROG' 0.) ;
  3114. 'MESS' 'zz VERIF ==> Pt=' Ptmn ;
  3115. 'FINS' ;
  3116. *
  3117. * Incrément de pression et densité au temp (n)
  3118. Pta = (Gamnm '-' 1.) '*' Remn ;
  3119. DPDT = (Pta '-' Ptmnm) '/' tic . 'DT' ;
  3120. Rhon = Ptmn '*' irtf ;
  3121. *
  3122. * Sauvegarde
  3123. tic . 'RHO' = Rhon ;
  3124. tic . 'PT' = tic . 'PT' 'ET' ('PROG' Ptmn) ;
  3125. tic . 'dPdt' = tic . 'dPdt' 'ET' ('PROG' DPDT) ;
  3126. tic . 'Mcondm' = tic . 'Mcondm' 'ET' ('PROG' Mcondmn) ;
  3127. *>>15. Calcul de la PRESSION P(n) et de la densité Rhot(n) FIN
  3128. *
  3129.  
  3130. *
  3131. *>>16. Contrainte sur la densité après condensation en masse
  3132. Rhon = 'KCHT' $vtf 'SCAL' 'SOMMET' Rhon ;
  3133. Rhomnt = 'SOMT' (Diag '*' Rhon) ;
  3134. dRho = ((Rhomn '*' VTotal) '-' Rhomnt) '/' Vtotal ;
  3135. Rhon = 'KCHT' $vtf 'SCAL' 'SOMMET' (Rhon '+' dRho) ;
  3136. tic . 'drho' = tic . 'drho' 'ET' ('PROG' dRho) ;
  3137. tic . 'RHO' = Rhon ;
  3138. *DEBUG
  3139. *'MESS' 'DEBUG drho RHO 16.' ;
  3140. *'LIST' tic . 'drho' ;
  3141. *'LIST' tic . 'RHO' ;
  3142. *DEBUG
  3143. *>>16. Contrainte sur la densité après condensation en masse FIN
  3144. *
  3145.  
  3146. *
  3147. *>>17. Contrainte sur la densité de l'air
  3148. *FD
  3149. * On se fout du transport de l'air
  3150. *FD
  3151. *'SI' TBT . 'TAIR' ;
  3152. * Rair = tic . 'RAIR' ;
  3153. *'SINO' ;
  3154. * Rair = Rhon - Rvp - Rhe - Rh2 - Ro2 - Rn2 - Rco2 - Rco;
  3155. * tic . 'RAIR' = Rair ;
  3156. *'FINS' ;
  3157. *FD
  3158. * Pourquoi Mdrair n'est-il pas nul ? On a pourtant corrigé Rhon,
  3159. * la vapeur et chaque incondensable !
  3160. *FD
  3161. Rair = Rhon - Rvp - Rhe - Rh2 - Ro2 - Rn2 - Rco2 - Rco ;
  3162. tic . 'RAIR' = Rair ;
  3163. mRairn = 'MINI' rair ;
  3164. 'SI' (mRairn '<' 0.0) ;
  3165. 'MESS' 'Pb avec la densite d air 0D : 17 : mini(Rair)=' ' ' mRairn ;
  3166. 'FINS' ;
  3167. tic . 'RAIRPB' = Rair ;
  3168. *DEBUG
  3169. *'MESS' 'DEBUG Rair 17.' ;
  3170. *'LIST' Rair ;
  3171. *'LIST' tic . 'RAIR' ;
  3172. *'MESS' 'Rmairn :' rmairn ' ' 'MAIR0D :' (Rmairn '*' Vtotal) ;
  3173. *VOLi = 'DOMA' $vtf 'XXDIAGSI' ;
  3174. *VTotal = 'SOMT' VOLi ;
  3175. *Rair = 'KOPS' Rair '|<' 1.e-10 ;
  3176. *Rair = 'KOPS' Rair '>|' MaxRho ;
  3177. *MiCFD = 'SOMT' (VOLi '*' Rair) ;
  3178. *'MESS' 'MICFD :' micfd ;
  3179. *'LIST' rair ;
  3180. *DEBUG
  3181. 'SI' corlim ;
  3182. Rmairn2 = Rmairn ;
  3183. 'SINO' ;
  3184. Rmairn2 = Rmairn '-' drclair ;
  3185. 'FINS' ;
  3186. 'SI' (Rmairn '<' 0.0) ;
  3187. 'MESS' 'Pb avec la masse d air 0D : 17 : Rmairn=' ' ' Rmairn ;
  3188. 'FINS' ;
  3189. *Rmairn2 = Rmairn ;
  3190. MAIR0D = Rmairn2 '*' Vtotal ;
  3191. *dRhoair Rdumy MAIRMD = CORMASSE $vtf tic . 'RAIR' MAIR0D MaxRho ;
  3192. dRhoair Rair MAIRMD = CORMASSE $vtf tic . 'RAIR' MAIR0D MaxRho ;
  3193. tic . 'RAIR' = Rair ;
  3194. *dRhoair Rair2 MAIRMD = CORMASSE $vtf Rair MAIR0D MaxRho ;
  3195. *tic . 'RAIR' = Rair2 ;
  3196. *Rair = Rair2 ;
  3197. tic . 'Mdrair' = tic . 'Mdrair' 'ET' (dRhoair '*' Vtotal) ;
  3198. *DEBUG
  3199. *'LIST' Rair ;
  3200. *'MESS' 'MAIRMD :' MAIRMD ' ' 'Mdrair :' (dRhoair '*' Vtotal) ;
  3201. *DEBUG
  3202. *>>17. Contrainte sur la densité de l'air FIN
  3203. *
  3204.  
  3205. *
  3206. *>>18. Contrainte 0D sur Tf / Remn = Remnm +dt*drh/V
  3207. *FD
  3208. * WARNING Cv n'est pas actualise
  3209. * WARNING On ne considere pas le brouillard
  3210. *FD
  3211. Emnt = Cvmnm '*' ('SOMT' (Diag '*' Rhon '*' Tkn) ) ;
  3212. 'SI' TBT . 'CORTEMP' ;
  3213. dE = (Remn '*' Vtotal) '-' Emnt ;
  3214. IndE = Rhon '*' Cvmnm '*' Tkn '*' Diag '/' Emnt ;
  3215. dE = IndE '*' dE ;
  3216. dTf = ('INVE' (Diag '*' Rhon)) '*' (dE '/' Cvmnm) ;
  3217. dTf = 'KCHT' $vtf 'SCAL' 'SOMMET' dTf ;
  3218. dE = 'SOMT' ( Diag '*' dE ) '/' VTotal ;
  3219. 'SINO' ;
  3220. dTf = 'KCHT' $vtf 'SCAL' 'SOMMET' 0. ;
  3221. dE = 0. ;
  3222. 'FINS' ;
  3223. Tfn = 'KCHT' $vtf 'SCAL' 'SOMMET' (Tfn '+' dTf) ;
  3224. Tfn = 'KOPS' Tfn '|<' Tfmi;
  3225. Tkn = Tfn '+' 273.15 ;
  3226. tic . 'TF' = Tfn ;
  3227. tic . 'MdTf' = tic.'MdTf' 'ET' ('PROG' ('MAXI' dTf)) ;
  3228. tic . 'mdTf' = tic.'mdTf' 'ET' ('PROG' ('MINI' dTf)) ;
  3229. Remnt = Cvmnm '*' ('SOMT' (Diag '*' Rhon '*' Tkn) ) '/' Vtotal ;
  3230. dTf = dE '/' Cvmnm '/' ('SOMT'(Diag '*' Rhon)) ;
  3231. *>>18. Contrainte 0D sur Tf FIN
  3232. *
  3233. *DEBUG
  3234. *'LIST' xth ;
  3235. *'LIST' TKN ;
  3236. *DEBUG
  3237.  
  3238.  
  3239. *
  3240. *>>19. Conservation energie dans le mur
  3241. *FD
  3242. * WARNING A vérifier
  3243. *FD
  3244. 'SI' (TBT . 'THERMP' 'ET' ('NON' TBT . 'TPAROIS')) ;
  3245. Diagp1 = 'DOMA' $vtp 'VOLUME' ;
  3246. Vtotalp1 = 'SOMT' Diagp1 ;
  3247. tp01 = 'NOEL' $vtp Tp ;
  3248. Emurm = ('SOMT' (tic . 'ROCP' '*' Diagp1 '*'
  3249. (tp01 '+' 273.15 ) ) ) '/' Vtotalp1 ;
  3250. tic . 'TP' = Tp ;
  3251. 'FINS' ;
  3252. 'SI' TBT . 'TPAROIS' ;
  3253. NPAR = 'DIME' rxt . 'PAROIS' ;
  3254. ipr = 'INDE' rxt . 'PAROIS' ;
  3255. ROCP = 0.;
  3256. 'REPE' BPRS NPAR ;
  3257. Parois = rxt . 'PAROIS' . (ipr.&BPRS) ;
  3258. Diagpi = GEO . (ipr . &BPRS) . 'Diagp' ;
  3259. CROCP = 'CHAI' 'ROCP' &BPRS ;
  3260. Rocpi = tic . CROCP ;
  3261. ROCP = ROCP '+' (Rocpi '*' Diagpi) ;
  3262. 'FIN' BPRS ;
  3263. Diagp = GEO . 'Diagp' ;
  3264. ROCP = ROCP '*' ('INVE' Diagp) ;
  3265. Vtotalp = 'SOMT' Diagp ;
  3266. Emurm = ( 'SOMT' (ROCP '*' Diagp '*' (tp '+' 273.15 )))
  3267. '/' Vtotalp ;
  3268. tic . 'TP' = Tp ;
  3269. 'FINS' ;
  3270. *>>19. Conservation energie dans le murFIN
  3271. *
  3272.  
  3273. *
  3274. *>>20. Température moyenne gaz et paroi
  3275. Tkmn = (Remn '*' Vtotal)
  3276. '/' ('SOMT' (Diag '*' Rhon * Cvmnm)) ;
  3277. Tfmn = Tkmn - 273.15 ;
  3278. Tfmn = 'MAXI' ('PROG' Tfmn Tfmi) ;
  3279. tic . 'Tfm' = tic . 'Tfm' 'ET' ('PROG' Tfmn) ;
  3280. *
  3281. 'SI' TBT . 'THERMP' ;
  3282. Tpm= 'SOMT' (GEO . 'Diagp' '*' Tp)
  3283. '/' GEO . 'VTotalp' ;
  3284. tic . 'Tpm' = tic . 'Tpm' 'ET' ('PROG' Tpm) ;
  3285. 'FINS' ;
  3286. *>>20. Température moyenne gaz et paroiFIN
  3287. *
  3288.  
  3289.  
  3290. *>>21. Actualisation des proprietes physiques
  3291. *
  3292. *>>21.1 Cp (Tfm) et mu(Tkm)
  3293. *DEBUG
  3294. *'MESS' 'Energie moyenne :' remn ;
  3295. *'MESS' 'Temp moyenne :' tkmn ' ' tfmn ;
  3296. *DEBUG
  3297. Cpvap = TBT . 'Cpvap' ;
  3298. Cph2 Cphe Cpo2 Cpn2 Cpco2 Cpco Cpair = CALCP Tfmn ;
  3299. Muh2 Muhe Muo2 Mun2 Muco2 Muco Muvap Muair = CALMU Tkmn ;
  3300. *>>21.1 Cp (Tfm) et mu(Tkm) FIN
  3301. *
  3302. *
  3303. *>>21.2 Mise à jour des fractions massiques Yi(n)
  3304. *FD
  3305. * Rhon a été calculé et corrigé pour avoir la masse 0D.
  3306. * Inutile donc d'en remettre une couche.
  3307. *FD
  3308. Rhont = Rair + Rvp + Rhe + Rh2 + Ro2 + Rn2 + Rco + Rco2 ;
  3309. tic . 'Rhomn' = tic . 'Rhomn' 'ET' ('PROG' Rhomn) ;
  3310. tic . 'Remn' = tic . 'Remn' 'ET' ('PROG' Remn) ;
  3311. Yair = 'KCHT' $vtf 'SCAL' 'SOMMET' 1. ;
  3312. 'SI' TBT . 'VAPEUR' ;
  3313. Yvap = 'KOPS' Rvp '/' Rhont ;
  3314. Yair = Yair '-' Yvap ;
  3315. tic . 'YVAP' = Yvap ;
  3316. tic . 'Rhomv' = tic . 'Rhomv' 'ET' ('PROG' Rmvn) ;
  3317. tic . 'Rhomvg' = tic . 'Rhomvg' 'ET' ('PROG' Rmvgn) ;
  3318. 'FINS' ;
  3319. 'SI' TBT . 'THE' ;
  3320. Yhe = 'KOPS' Rhe '/' Rhont ;
  3321. Yair = Yair '-' Yhe ;
  3322. tic . 'YHE' = Yhe ;
  3323. tic . 'Rhomhe' = tic . 'Rhomhe' 'ET' ('PROG' Rmhen) ;
  3324. 'FINS' ;
  3325. 'SI' TBT . 'TH2' ;
  3326. Yh2 = 'KOPS' Rh2 '/' Rhont ;
  3327. Yair = Yair '-' Yh2 ;
  3328. tic . 'YH2' = Yh2 ;
  3329. tic . 'Rhomh2' = tic . 'Rhomh2' 'ET' ('PROG' Rmh2n) ;
  3330. 'FINS' ;
  3331. 'SI' TBT . 'TO2' ;
  3332. Yo2 = 'KOPS' Ro2 '/' Rhont ;
  3333. Yair = Yair '-' Yo2 ;
  3334. tic . 'YO2' = Yo2 ;
  3335. tic . 'Rhomo2' = tic . 'Rhomo2' 'ET' ('PROG' Rmo2n) ;
  3336. 'FINS' ;
  3337. 'SI' TBT . 'TN2' ;
  3338. Yn2 = 'KOPS' Rn2 '/' Rhont ;
  3339. Yair = Yair '-' Yn2 ;
  3340. tic . 'YN2' = Yn2 ;
  3341. tic . 'Rhomn2' = tic . 'Rhomn2' 'ET' ('PROG' Rmn2n) ;
  3342. 'FINS' ;
  3343. 'SI' TBT . 'TCO2' ;
  3344. Yco2 = 'KOPS' Rco2 '/' Rhont ;
  3345. Yair = Yair '-' Yco2 ;
  3346. tic . 'YCO2' = Yco2 ;
  3347. tic . 'Rhomco2' = tic . 'Rhomco2' 'ET' ('PROG' Rmco2n) ;
  3348. 'FINS' ;
  3349. 'SI' TBT . 'TCO' ;
  3350. Yco = 'KOPS' Rco '/' Rhont ;
  3351. Yair = Yair '-' Yco ;
  3352. tic . 'YCO' = Yco ;
  3353. tic . 'Rhomco' = tic . 'Rhomco' 'ET' ('PROG' Rmcon) ;
  3354. 'FINS' ;
  3355. tic . 'YAIR' = Yair ;
  3356. tic . 'Rhomair' = tic . 'Rhomair' 'ET' ('PROG' Rmairn) ;
  3357. *>>21.2 Mise à jour des fractions massiques Yi(n) FIN
  3358. *
  3359. *
  3360. *>>21.3 Mise à jour des propriétés gaz (loi de mélange)
  3361. *
  3362. * Calcul de la constante des gaz du mélange Rgp
  3363. Rgpn = (Rgvap '*' Yvap) '+' (Rgair '*' Yair)
  3364. '+' (Rghe '*' Yhe ) '+' (Rgh2 '*' Yh2 )
  3365. '+' (Rgo2 '*' Yo2 ) '+' (Rgn2 '*' Yn2 )
  3366. '+' (Rgco '*' Yco ) '+' (Rgco2 '*' Yco2) ;
  3367. Rgpn = 'KCHT' $vtf 'SCAL' 'SOMMET' Rgpn ;
  3368. *
  3369. * Calcul du Cp du mélange
  3370. Cp = (Cpvap '*' Yvap) '+' (Cpair '*' Yair)
  3371. '+' (Cphe '*' Yhe ) '+' (Cph2 '*' Yh2 )
  3372. '+' (Cpo2 '*' Yo2 ) '+' (Cpn2 '*' Yn2 )
  3373. '+' (Cpco '*' Yco ) '+' (Cpco2 '*' Yco2) ;
  3374. Cp = 'KCHT' $vtf 'SCAL' 'SOMMET' Cp ;
  3375. *
  3376. * Calcul de la viscosité du mélange Mu
  3377. Mu = (Muvap '*' Yvap) '+' (Muair '*' Yair)
  3378. '+' (Muhe '*' Yhe ) '+' (Muh2 '*' Yh2 )
  3379. '+' (Muo2 '*' Yo2 ) '+' (Mun2 '*' Yn2 )
  3380. '+' (Muco '*' Yco ) '+' (Muco2 '*' Yco2) ;
  3381. Mu = 'KCHT' $vtf 'SCAL' 'SOMMET' Mu ;
  3382. *
  3383. * Calcul des moyennes de Rg, Cp, Cv et Gamma
  3384. Rgpmn = 'SOMT' (Diag '*' Rgpn) '/' VTotal ;
  3385. Cpmn = 'SOMT' (Diag '*' Cp) '/' VTotal ;
  3386. Cvmn = Cpmn '-' Rgpmn ;
  3387. Gamn = Cpmn '/' Cvmn ;
  3388. *
  3389. tic . 'Mu' = Mu ;
  3390. tic . 'Rgp' = Rgpn ;
  3391. tic . 'Rgpm' = tic.'Rgpm' 'ET' ('PROG' Rgpmn) ;
  3392. tic . 'Gamm' = tic.'Gamm' 'ET' ('PROG' Gamn) ;
  3393. tic . 'Cpm' = tic.'Cpm' 'ET' ('PROG' Cpmn) ;
  3394. tic . 'Cvm' = tic.'Cvm' 'ET' ('PROG' Cvmn) ;
  3395. *>>21.3 Mise à jour des propriétés gaz FIN
  3396. *
  3397. *>>21. Actualisation des proprietes physiques FIN
  3398. *
  3399.  
  3400. *
  3401. *>>22. Calcul du terme source de l'equation energie
  3402. stf = DPDT '/' (Cpmn '*' Rhomn) ;
  3403. tic.'STF' = stf ;
  3404. *>>22. Calcul du terme source de l'equation energie FIN
  3405. *
  3406. *
  3407. *>>23. Calcul de l'energie convective
  3408. *FD
  3409. * WARNING : Cette énergie sert à calculer la puissance perdue pour la
  3410. * correction de l'énergie au pas de temps suivant. Mais c'est faux car
  3411. * suivant THERCO on ne fait pas la même chose puisque le 'FLUX' n'est pas
  3412. * le même !
  3413. *FD
  3414. Econvw = 0.0 ;
  3415. Econvi = 0.0 ;
  3416. Econv0 = 0.0 ;
  3417. 'SI' (TBT . 'THERMP' 'ET' TBT . 'TPAROIF') ;
  3418. Tp = tic . 'TP' ;
  3419. Tfpw = 'REDU' tic . 'TF' GEO . 'paroif' ;
  3420. Tbpw = 'REDU' tic . 'TP' GEO . 'paroif' ;
  3421. 'SI' tbt . 'THERCO' ;
  3422. Hconv = 'KCHT' GEO . '$paroif' 'SCAL' 'SOMMET' tic . 'KHW' ;
  3423. 'SINO' ;
  3424. Hconv = 'KCHT' GEO . '$paroif' 'SCAL' 'CENTRE' tic . 'KHW' ;
  3425. Hconv = 'ELNO' GEO . '$paroif' Hconv ;
  3426. 'FINS' ;
  3427. Econvw = 'SOMT' (GEO.'Diagpf' '*' (Hconv '*' (Tfpw '-' Tbpw))) ;
  3428. 'FINS' ;
  3429. 'SI' TBT . 'TTIMP' ;
  3430. NBTIMP = 'DIME' rxt . 'TIMP' ;
  3431. itimp = 'INDE' rxt . 'TIMP' ;
  3432. 'REPE' BBTIMP NBTIMP ;
  3433. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  3434. Tfp1 = 'REDU' Tfn (Btimp.'mtpi') ;
  3435. Tbp1 = tic . (Btimp . 'TBP1') ;
  3436. CKH1 = Btimp . 'KH1' ;
  3437. Hconv = 'KCHT' Btimp . '$mtpi' 'SCAL' 'CENTRE' tic . CKH1 ;
  3438. Hconv = 'ELNO' Btimp . '$mtpi' Hconv ;
  3439. Econvi = Econvi
  3440. '+' ('SOMT' (Btimp . 'Diagif' * (Hconv * (Tfp1 - Tbp1)))) ;
  3441. 'FIN' BBTIMP ;
  3442. 'FINS' ;
  3443. 'SI' TBT . 'TECHANP';
  3444. Tfp0 = 'REDU' Tfn (GEO . 'mtp0') ;
  3445. Tbp0 = tic . 'TBP0' ;
  3446. Hconv = 'KCHT' GEO . '$mtp0' 'SCAL' 'CENTRE' tic . 'KH0' ;
  3447. Hconv = 'ELNO' GEO . '$mtp0' Hconv ;
  3448. Econv0 = 'SOMT' (GEO.'Diag0f' * (Hconv * (Tfp0 - Tbp0))) ;
  3449. 'FINS' ;
  3450. Econvn = Econvw '+' Econvi '+' Econv0 ;
  3451. tic . 'Econv' = tic . 'Econv' 'ET' ('PROG' Econvn) ;
  3452. *>>23. Calcul de l'energie convective FIN
  3453. *
  3454.  
  3455. *
  3456. *>>24. Bilan Aspersion
  3457. Easp = 0.0 ;
  3458. Hasp = 0.0 ;
  3459. Qasp = 0.0 ;
  3460. 'SI' TBT . 'ASPER ' ;
  3461. Td = tic . 'TD' ;
  3462. Hgas = tic . 'HGAS' ;
  3463. Diagvtf = 'DOMA' $vtf 'XXDIAGSI' ;
  3464. Easp = ('SOMT' (Diagvtf '*' (Hgas * (Td - Tfn))))
  3465. '*' Rhomnm '*' Cpmnm ;
  3466. srvp = tic . 'SRVP' ;
  3467. Qasp = 'SOMT' (srvp '*' Volvtf) ;
  3468. Tfe = 'NOEL' $vtf tic . 'TFNM' ;
  3469. Hasp = 'SOMT' ((srvp * (tfe + 273.15) * Volvtf) * Cpvap) ;
  3470. *****modif 2005 (température goutte max et min)
  3471. Td = tic . 'TD' ;
  3472. maTd= 'MAXI' Td;
  3473. tic . 'Tdma' = tic . 'Tdma' 'ET' ('PROG' maTd) ;
  3474. miTd= 'MINI' Td;
  3475. tic . 'Tdmi' = tic . 'Tdmi' 'ET' ('PROG' miTd) ;
  3476. 'FINS' ;
  3477. tic . 'Easpe' = tic . 'Easpe' 'ET' ('PROG' Easp) ;
  3478. tic . 'Haspe' = tic . 'Haspe' 'ET' ('PROG' Hasp) ;
  3479. tic . 'Qaspe' = tic . 'Qaspe' 'ET' ('PROG' Qasp) ;
  3480. *>>24. Bilan Aspersion FIN
  3481. *
  3482.  
  3483. *
  3484. *>>25. Prediction de la condensation pour le pas suivant
  3485. * Qc = Qcw + Qci + Qc1 + Qc2 + QC3 + Qc0
  3486. * paroif $mtpi $mtp1 $mtp2 $mtp3 $mtp0
  3487. * TTIMP TIMP? TIMP2 TIMP3 ????
  3488. Qc = 0. ;
  3489. Econd = 0. ;
  3490. Hcond = 0. ;
  3491. *
  3492. *>>25.1 Condensation en paroi thermique
  3493. 'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TPAROIF') ;
  3494. KHcu = rxt . 'ECHAN' ;
  3495. Qcw Fcondw Econdw Hcondw KKC ROVI FHP HT
  3496. = CONDENS rxt (GEO . '$paroif') 'TP' 'TF' 'RVP' KHcu ;
  3497. tic . 'KKCW' = KKC ;
  3498. tic . 'ROVIW' = ROVI ;
  3499. tic . 'FHPW' = FHP ;
  3500. 'SI' tbt . 'THERCO' ;
  3501. tic . 'KHW' = HT ;
  3502. 'SINO' ;
  3503. tic . 'KHW' = 'NOEL' GEO . '$paroif' HT ;
  3504. 'FINS' ;
  3505. tic.'Fcondw'=Fcondw ;
  3506. *'MESS' 'Calcul des flux condenses ' Qcw 'kg/s';
  3507. Qc = Qc '+' Qcw ;
  3508. Econd = Econd '+' Econdw ;
  3509. Hcond = Hcond '+' Hcondw ;
  3510. 'SINO' ;
  3511. Qcw = 0. ;
  3512. Econdw = 0. ;
  3513. Hcondw = 0. ;
  3514. 'FINS' ;
  3515. *>>25.1 Condensation en paroi thermiqueFIN
  3516. *
  3517. *
  3518. *>>25.2 Condensation en paroi à température imposée i
  3519. 'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TTIMP') ;
  3520. NBTIMP = 'DIME' rxt . 'TIMP' ;
  3521. itimp = 'INDE' rxt . 'TIMP' ;
  3522. 'REPE' BBTIMP NBTIMP ;
  3523. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  3524. tic . (Btimp . 'TPI1') =
  3525. 'KCHT' (Btimp . '$mtpi') 'SCAL' 'SOMMET' tic . (Btimp . 'TBP1') ;
  3526. KHcu = Btimp . 'ECHAN' ;
  3527. CTPI1 = Btimp . 'TPI1' ;
  3528. Qc1 Fcond1 Econd1 Hcond1 KKC ROVI FHP HT
  3529. = CONDENS rxt (Btimp . '$mtpi') CTPI1 'TF' 'RVP' KHcu ;
  3530. CKKC1= Btimp . 'KKC1' ;
  3531. CROVI1 = Btimp . 'ROVI1' ;
  3532. CFHP1= Btimp . 'FHP1' ;
  3533. CKH1 = Btimp . 'KH1' ;
  3534. CFcond1 = Btimp . 'Fcond1' ;
  3535. tic . CKKC1 = KKC ;
  3536. tic . CROVI1 = ROVI ;
  3537. tic . CFHP1 = FHP ;
  3538. tic . CKH1 = 'NOEL' Btimp . '$mtpi' HT ;
  3539. tic . CFcond1 = Fcond1 ;
  3540. Qc = Qc '+' Qc1 ;
  3541. Econd= Econd '+' Econd1 ;
  3542. Hcond= Hcond '+' Hcond1 ;
  3543. CMcond1 = 'CHAI' 'Mcond1' &BBTIMP ;
  3544. Mcond1 = Qc1 '*' tic . 'DT' ;
  3545. McondT1 = 'EXTR' (tic . CMcond1) ndl ;
  3546. McondT1 = McondT1 '+' Mcond1 ;
  3547. tic . CMcond1 = tic . CMcond1 'ET' ('PROG' McondT1) ;
  3548. CQc1 = Btimp . 'Qc1' ;
  3549. tic . CQc1 = tic . CQc1 'ET' ('PROG' Qc1) ;
  3550. 'FIN' BBTIMP ;
  3551. 'FINS' ;
  3552. *>>25.2 Condensation en paroi à température imposée i FIN
  3553. *
  3554. *
  3555. *
  3556. *>>25.5 Condensation en paroi à flux imposé
  3557. 'SI' (TBT . 'VAPEUR' 'ET' TBT . 'TECHANP') ;
  3558. tic . 'TPI0' =
  3559. 'KCHT' (GEO . '$mtp0') 'SCAL' 'SOMMET' (tic . 'TBP0') ;
  3560. KHcu = rxt . 'ECHANP' . 'ECHAN' ;
  3561. Qc0 Fcond0 Econd0 Hcond0 KKC ROVI FHP HT
  3562. = CONDENS rxt (GEO . '$mtp0') 'TPI0' 'TF' 'RVP' KHcu ;
  3563. tic . 'KKC0' = KKC ;
  3564. tic . 'ROVI0' = ROVI ;
  3565. tic . 'FHP0' = FHP ;
  3566. tic . 'KH0' = 'NOEL' GEO . '$mtp0' HT ;
  3567. tic . 'Fcond0' = Fcond0 ;
  3568. Qc = Qc '+' Qc0 ;
  3569. Econd = Econd '+' Econd0 ;
  3570. Hcond = Hcond '+' Hcond0 ;
  3571. 'SINO' ;
  3572. Qc0 = 0. ;
  3573. Econd0 = 0. ;
  3574. Hcond0 = 0. ;
  3575. 'FINS' ;
  3576. *>>25.5 Condensation en paroi à flux imposé FIN
  3577. *
  3578. *>>25. Prediction de la condensation pour le pas suivant FIN
  3579. *
  3580. *
  3581. *>>26. Aspersion
  3582. 'SI' TBT . 'ASPER ' ;
  3583. asparam rxt ;
  3584. 'FINS' ;
  3585. *>>26. Aspersion FIN
  3586. *
  3587.  
  3588. *
  3589. *>>27. Avancement en temps
  3590. *FD
  3591. *WARNING Confusion entre stockage et avancée en temps.
  3592. *WARNING Les deux fonctions devraient être séparées. On devrait avoir
  3593. *WARNING un basculement : xxxnm = xxxn
  3594. *WARNING un stockage : tic . xxx = tic . xxx et (prog xxn)
  3595. *WARNING -> avant la boucle en temps, xxxnm = initialisation
  3596. *FD
  3597.  
  3598. * Calcul densité drho/rho pour le terme de flotabilite
  3599. *FD
  3600. *WARNING Tordre le coup à l'ambiguité entre rho et rhot
  3601. *FD
  3602. *Rhop = (-1.) '*' (Rhomn '-' Rho) '*' (Rho **(-1.0)) ;
  3603. Rhop = (-1.) '*' (Rhomn '-' Rhont) '*' (Rhont **(-1.0)) ;
  3604. Rhop = 'KCHT' $vtf 'SCAL' 'SOMMET' Rhop ;
  3605. *DEBUG
  3606. *'MESS' ' rhop' ;
  3607. *'LIST' rhop ;
  3608. *DEBUG
  3609. rmc = 'NOEL' $vtf Rhop ;
  3610. tic . 'Rhop' = Rhop ;
  3611. 'SI' DIM3D ;
  3612. rogx = 'KCHT' $vtf 'SCAL' 'CENTRE' 0.0 ;
  3613. rogy = 'KCHT' $vtf 'SCAL' 'CENTRE' 0.0 ;
  3614. rogz = 'KCHT' $vtf 'SCAL' 'CENTRE' (-9.81 '*' rmc) ;
  3615. rogx = 'NOMC' 'UX' rogx 'NATU' 'DISCRET' ;
  3616. rogy = 'NOMC' 'UY' rogy 'NATU' 'DISCRET' ;
  3617. rogz = 'NOMC' 'UZ' rogz 'NATU' 'DISCRET' ;
  3618. tic . 'ROG' = 'KCHT' $vtf 'VECT' 'CENTRE' (rogx 'ET' rogy 'ET' rogz) ;
  3619. 'SINO' ;
  3620. rogx = 'KCHT' $vtf 'SCAL' 'CENTRE' 0.0 ;
  3621. rogy = 'KCHT' $vtf 'SCAL' 'CENTRE' (-9.81 '*' rmc) ;
  3622. rogx = 'NOMC' 'UX' rogx 'NATU' 'DISCRET' ;
  3623. rogy = 'NOMC' 'UY' rogy 'NATU' 'DISCRET' ;
  3624. tic . 'ROG' =kcht $vtf 'VECT' 'CENTRE' (rogx 'ET' rogy) ;
  3625. 'FINS' ;
  3626. *
  3627. * Vitesse max
  3628. un = tic . 'UN' ;
  3629. lcu = 'EXTR' un 'COMP' ;
  3630. modu = (un lcu 'PSCA' un lcu) '**' 0.5 ;
  3631. mmu = 'MAXI' modu ;
  3632. tic . 'LMAXU' = tic . 'LMAXU' 'ET' ('PROG' mmu) ;
  3633. *
  3634. * Bilan masse / condensation
  3635. 'MESS' ' Debit condensation Fin pas de temps courant Qc=' Qc ;
  3636. Qcn = Qc ;
  3637. tic . 'Qc' = tic . 'Qc' 'ET' ('PROG' Qc) ;
  3638.  
  3639. Minj = (Qeau '+' Qlj) '*' tic . 'DT' ;
  3640. MinjT = MinjT '+' Minj ;
  3641. Mcond = Qc '*' tic . 'DT' ;
  3642. McondT = McondT '+' Mcond '+' Mliqn ;
  3643. Mrest = (Qeau '-' Qc '+' Qasp) '*' tic . 'DT' '-' Mliqn ;
  3644. MrestT = MrestT '+' Mrest ;
  3645. tic . 'Minj' = tic . 'Minj' 'ET' ('PROG' MinjT) ;
  3646. tic . 'Mcond' = tic . 'Mcond' 'ET' ('PROG' McondT) ;
  3647. tic . 'Mrest' = tic . 'Mrest' 'ET' ('PROG' MrestT) ;
  3648.  
  3649. 'SI' TBT . 'VAPEUR' ;
  3650. *FD
  3651. *WARNING Il manque la structure Parois + TECHANP qui est en commentaire ?
  3652. *FD
  3653. 'SI' TBT . 'TPAROIF';
  3654. Mcondw= Qcw '*' tic . 'DT' ;
  3655. McondTw = McondTw '+' Mcondw ;
  3656. tic . 'Mcondw' = tic . 'Mcondw' 'ET' ('PROG' McondTw) ;
  3657. tic . 'Qcw' = tic . 'Qcw' 'ET' ('PROG' Qcw) ;
  3658. 'FINS' ;
  3659. 'SI' TBT . 'TECHANP';
  3660. Mcond0 = Qc0 '*' tic.'DT' ;
  3661. *McondT0 = McondT0 '+' Mcond0 ;
  3662. *tic . 'Mcond0' = tic . 'Mcond0' 'ET' ('PROG' McondT0) ;
  3663. tic . 'Qc0' = tic . 'Qc0' 'ET' ('PROG' Qc0) ;
  3664. 'FINS' ;
  3665. 'FINS' ;
  3666.  
  3667. Econdn = Econd ;
  3668. tic . 'Econd' = tic . 'Econd' 'ET' ('PROG' Econd) ;
  3669. * tic . 'Econdw' = tic . 'Econdw' 'ET' ('PROG' Econdw) ;
  3670. * tic . 'Econd1' = tic . 'Econd1' 'ET' ('PROG' Econd1) ;
  3671. * tic . 'Econd2' = tic . 'Econd2' 'ET' ('PROG' Econd2) ;
  3672. * tic . 'Econd3' = tic . 'Econd3' 'ET' ('PROG' Econd3) ;
  3673. Hcondn = Hcond ;
  3674. tic . 'Hcond' = tic . 'Hcond' 'ET' ('PROG' Hcond) ;
  3675. * tic . 'Hcondw' = tic . 'Hcondw' 'ET' ('PROG' Hcondw) ;
  3676. * tic . 'Hcond1' = tic . 'Hcond1' 'ET' ('PROG' Hcond1) ;
  3677. * tic . 'Hcond2' = tic . 'Hcond2' 'ET' ('PROG' Hcond2) ;
  3678. * tic . 'Hcond3' = tic . 'Hcond3' 'ET' ('PROG' Hcond3) ;
  3679.  
  3680. *
  3681. *>> Affichage
  3682. 'SI' (TBT . 'IMPR' '>EG' 2) ;
  3683. 'MESS' '************* BILAN au temps' ' ' Tps ' ' '->' ' '
  3684. &bcltps ' ' 'DT=' ' ' tic . 'DT' ' ' '*******' ;
  3685. *
  3686. 'SI' TBT . 'TTbreche' ;
  3687. NBR = 'DIME' rxt . 'Breches' ;
  3688. ibr = 'INDE' rxt . 'Breches' ;
  3689. 'REPE' BBRS NBR ;
  3690. Briches = rxt . 'Breches' . (ibr . &BBRS) ;
  3691. nnbri = 'DIME' Briches . 'Qj' ;
  3692. Qj = 'EXTR' Briches . 'Qj' nnbri ;
  3693. Ksi = 'EXTR' Briches . 'Ksi' nnbri ;
  3694. guj = 'EXTR' Briches . 'guj' nnbri ;
  3695. Hj = 'EXTR' Briches . 'Hj' nnbri ;
  3696. Ej = 'EXTR' Briches . 'Ej' nnbri ;
  3697. 'MESS' '____________________________________________________________';
  3698. 'MESS' '- Data pour la Breche --------' ' ' (ibr . &BBRS) ;
  3699. 'MESS' 'Debit (kg/s)' ' ' Qj ;
  3700. 'MESS' 'Vitesse (m/s)' ' ' guj ;
  3701. 'MESS' 'Densite (kg/m3)' ' ' Briches . 'Roj' ;
  3702. 'MESS' 'Temperature (oC)' ' ' Briches . 'Tj' ;
  3703. 'MESS' 'Enthalpie (J/kg)' ' ' Hj ;
  3704. 'MESS' 'Energie (J/kg)' ' ' Ej ;
  3705. 'MESS' 'R/W (J/kg/K)' ' ' Briches . 'Rgj' ;
  3706. 'SI' TBT . 'VAPEUR' ;
  3707. Ksi = 'EXTR' Briches . 'Ksi' nnbri ;
  3708. 'MESS' 'Ksi (taux de vapeur injectee)' ' ' Ksi ;
  3709. 'FINS' ;
  3710. 'MESS' '____________________________________________________________';
  3711. 'FIN' BBRS ;
  3712. 'FINS' ;
  3713. 'MESS' 'Pression corrigee (Pa)' ' ' Ptmn ;
  3714. 'MESS' '____________________________________________________________';
  3715. 'MESS' ' ' ;
  3716.  
  3717. 'SI' TBT . 'VAPEUR' ;
  3718. 'MESS' '____________________________________________________________';
  3719. 'MESS' '- Bilan sur la vapeur --------------------------------------';
  3720. 'MESS' 'Condensation en paroi (kg/s)' ' ' Qc ;
  3721. 'MESS' 'Condensation en masse (kg/s)' ' '
  3722. (Mliqn '/' tic . 'DT') ;
  3723. 'MESS' 'Masse vapeur injectee (kg)' ' ' Minj
  3724. ' ' '(cumul)' ' ' MinjT ;
  3725. 'MESS' 'Masse vapeur restante (kg)' ' ' Mrest
  3726. ' ' '(cumul)' ' ' MrestT ;
  3727. 'MESS' 'Masse condensee en paroi (kg)' ' ' Mcond
  3728. ' ' '(cumul)' ' ' McondT ;
  3729. 'SI' TBT.'TPAROIF' ;
  3730. 'MESS' 'dont paroi thermique (kg)' ' ' Mcondw
  3731. ' ' '(cumul)' ' ' McondTw ;
  3732. 'FINS' ;
  3733. *FD
  3734. *WARNING Nouvelles structures TTIMP non affichées
  3735. *FD
  3736. 'SI' TBT . 'TTIMP' ;
  3737. NBTIMP = 'DIME' rxt . 'TIMP' ;
  3738. itimp = 'INDE' rxt . 'TIMP' ;
  3739. 'REPE' BBTIMP NBTIMP ;
  3740. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  3741. ndl1 = ndl '+' 1 ;
  3742. CMcondi = 'CHAI' 'Mcond1' &BBTIMP ;
  3743. McondT1 = 'EXTR' (tic . CMcondi) ndl1 ;
  3744. McondT0 = 'EXTR' (tic . CMcondi) ndl ;
  3745. 'MESS' 'dont paroi a T impose (kg)' ' ' (McondT1 '-' McondT0)
  3746. ' ' '(cumul)' ' ' McondT1 ' (' (itimp . &bbtimp) ')' ;
  3747. 'FIN' BBTIMP ;
  3748. 'FINS' ;
  3749. 'MESS' ' ' ;
  3750. 'MESS' 'Puissance condensation (W)' ' ' (QC '*' Lv) ;
  3751. 'MESS' 'Energie extraite par cond.(J)' ' ' Econd;
  3752. 'MESS' '____________________________________________________________';
  3753. 'MESS' ' ' ;
  3754. 'FINS' ;
  3755.  
  3756. 'MESS' '____________________________________________________________';
  3757. 'MESS' '- Grandeurs Moyennes ---------------------------------------';
  3758. 'MESS' 'Pression (Pa)' ' ' Ptmn ;
  3759. 'MESS' 'Temperature gaz (oC)' ' ' Tfmn ;
  3760. 'MESS' 'Densite gaz (kg/m3)' ' ' Rhomn ;
  3761. 'SI' TBT . 'VAPEUR' ;
  3762. 'MESS' 'Vapeur (kg/m3)' ' ' Rmvn ;
  3763. 'FINS' ;
  3764. 'SI' TBT . 'THE' ;
  3765. 'MESS' 'Helium (kg/m3)' ' ' Rmhen ;
  3766. 'FINS' ;
  3767. 'SI' TBT . 'TH2' ;
  3768. 'MESS' 'Hydrogene (kg/m3)' ' ' Rmh2n ;
  3769. 'FINS' ;
  3770. 'SI' TBT . 'TO2' ;
  3771. 'MESS' 'Oxygene (kg/m3)' ' ' Rmo2n ;
  3772. 'FINS' ;
  3773. 'SI' TBT . 'TN2' ;
  3774. 'MESS' 'Azote (kg/m3)' ' ' Rmn2n ;
  3775. 'FINS' ;
  3776. 'SI' TBT . 'TCO' ;
  3777. 'MESS' 'CO (kg/m3)' ' ' Rmcon ;
  3778. 'FINS' ;
  3779. 'SI' TBT . 'TCO2' ;
  3780. 'MESS' 'CO2 (kg/m3)' ' ' Rmco2n ;
  3781. 'FINS' ;
  3782. 'MESS' 'Air (kg/m3)' ' ' Rmairn ;
  3783. 'MESS' 'Energie extraite par convection (J)' ' ' Econvn;
  3784.  
  3785. 'SI' TBT . 'TPAROIF' ;
  3786. 'MESS' ' Temperature des murs (oC)' ' ' Tpm ;
  3787. 'SI' ('EGA' ('TYPE' tic.'KHW') 'FLOTTANT') ;
  3788. KHWm = tic . 'KHW' ;
  3789. 'SINO' ;
  3790. 'SI' tbt . 'THERCO' ;
  3791. KHW1 = tic . 'KHW' ;
  3792. 'SINO' ;
  3793. KHW1 = 'ELNO' GEO . '$paroif' tic . 'KHW' ;
  3794. 'FINS' ;
  3795. KHWm = 'SOMT' (GEO . 'Diagpf' '*' KHW1) '/' GEO . 'Sparoif' ;
  3796. 'FINS' ;
  3797. 'MESS' 'Coeff. echange convectif (W/m2/K)' ' ' KHWm ;
  3798. 'FINS' ;
  3799.  
  3800. 'SI' TBT . 'TTIMP' ;
  3801. NBTIMP = 'DIME' rxt . 'TIMP' ;
  3802. itimp = 'INDE' rxt . 'TIMP' ;
  3803. 'REPE' BBTIMP NBTIMP ;
  3804. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  3805. 'MESS'
  3806. 'Tparoi' ' ' (itimp . &BBTIMP) ' ' '(oC)' tic . (Btimp . 'TBP1') ;
  3807. 'SI' TBT . 'VAPEUR' ;
  3808. CKH1 = Btimp . 'KH1' ;
  3809. KH1 = 'ELNO' Btimp . '$mtpi' (tic . CKH1) ;
  3810. KH1m = 'SOMT' (Btimp . 'Diagif' '*' KH1) '/' Btimp . 'Smtpi' ;
  3811. 'SINO' ;
  3812. KH1m = tic . CKH1 ;
  3813. 'FINS' ;
  3814. 'MESS' 'Coeff. echange convectif (W/m2/K)' ' ' KH1m ;
  3815. 'FIN' BBTIMP ;
  3816. 'FINS' ;
  3817. 'MESS' 'Cp (J/kg/K)' ' ' Cpmn ;
  3818. 'MESS' 'Cv (J/kg/K)' ' ' Cvmn ;
  3819. 'MESS' 'Gamma (-)' ' ' Gamn ;
  3820. 'MESS' 'Rgaz (R/W en J/kg/K)' ' ' Rgpmn ;
  3821. 'SI' ('EGA' ('TYPE' Cpvap) 'FLOTTANT') ;
  3822. 'MESS' 'Cp vap (J/kg/K)' ' ' Cpvap ;
  3823. 'SINO';
  3824. 'MESS' 'Cp vap min/max (J/kg/K)' ' '
  3825. ('MINI' Cpvap) ' ' ('MAXI' Cpvap) ;
  3826. 'FINS';
  3827. 'MESS' '____________________________________________________________';
  3828. 'MESS' ' ' ;
  3829.  
  3830. 'MESS' '____________________________________________________________';
  3831. 'MESS' '- Corrections de masse et d energie ------------------------';
  3832. 'MESS' 'dM totale (kg)' ' ' (dRho '*' Vtotal) ;
  3833. 'SI' TBT . 'VAPEUR' ;
  3834. 'MESS' 'Vapeur (kg)' ' ' (dRhov '*' Vtotal) ;
  3835. 'FINS' ;
  3836. 'SI' TBT . 'THE' ;
  3837. 'MESS' 'Helium (kg)' ' ' (dRhohe '*' Vtotal) ;
  3838. 'FINS' ;
  3839. 'SI' TBT . 'TH2' ;
  3840. 'MESS' 'Hydrogene (kg)' ' ' (dRhoh2 '*' Vtotal) ;
  3841. 'FINS' ;
  3842. 'SI' TBT . 'TO2' ;
  3843. 'MESS' 'Oxygene (kg)' ' ' (dRhoo2 '*' Vtotal) ;
  3844. 'FINS' ;
  3845. 'SI' TBT . 'TN2' ;
  3846. 'MESS' 'Azote (kg)' ' ' (dRhon2 '*' Vtotal) ;
  3847. 'FINS' ;
  3848. 'SI' TBT . 'TCO' ;
  3849. 'MESS' 'CO (kg)' ' ' (dRhoco '*' Vtotal) ;
  3850. 'FINS' ;
  3851. 'SI' TBT . 'TCO2' ;
  3852. 'MESS' 'CO2 (kg)' ' ' (dRhoco2 '*' Vtotal) ;
  3853. 'FINS' ;
  3854. 'MESS' 'Air (kg)' ' ' (dRhoair '*' Vtotal) ;
  3855. 'MESS' ' ' ;
  3856. 'MESS' 'dTf (K)' ' ' dTf ;
  3857. 'MESS' '____________________________________________________________';
  3858.  
  3859. *FD
  3860. * WARNING A mettre ailleurs
  3861. M0D = Rhomn '*' Vtotal ;
  3862. MMD = Rhomnt ;
  3863. E0D = Remn ;
  3864. EMD = Remnt ;
  3865. *FD
  3866. 'MESS' '- Bilans --------- 0D --------- MultiD'
  3867. ' ' '----- Err.Rel.(%)' ;
  3868. 'MESS' 'Masse totale (kg)' ' ' M0D ' ' MMD ' '
  3869. (100. '*' (M0D '-' MMD) '/' M0D) ;
  3870. 'SI' (TBT . 'VAPEUR' 'ET' ('NON' ('EGA' MV0D 0.))) ;
  3871. 'MESS' 'Vapeur (kg)' ' ' MV0D ' ' MVMD ' '
  3872. (100. '*' (MV0D '-' MVMD) '/' MV0D) ;
  3873. 'FINS' ;
  3874. 'SI' (TBT . 'THE' 'ET' ('NON' ('EGA' MHE0D 0.))) ;
  3875. 'MESS' 'Helium (kg)' ' ' MHE0D ' ' MHEMD ' '
  3876. (100. '*' (MHE0D '-' MHEMD) '/' MHE0D) ;
  3877. 'FINS' ;
  3878. 'SI' (TBT . 'TH2' 'ET' ('NON' ('EGA' MH20D 0.))) ;
  3879. 'MESS' 'Hydrogene (kg)' ' ' MH20D ' ' MH2MD ' '
  3880. (100. '*' (MH20D '-' MH2MD) '/' MH20D) ;
  3881. 'FINS' ;
  3882. 'SI' (TBT . 'TO2' 'ET' ('NON' ('EGA' MO20D 0.))) ;
  3883. 'MESS' 'Oxygene (kg)' ' ' MO20D ' ' MO2MD ' '
  3884. (100. '*' (MO20D '-' MO2MD) '/' MO20D) ;
  3885. 'FINS' ;
  3886. 'SI' (TBT . 'TN2' 'ET' ('NON' ('EGA' MN20D 0.))) ;
  3887. 'MESS' 'Azote (kg)' ' ' MN20D ' ' MN2MD ' '
  3888. (100. '*' (MN20D '-' MN2MD) '/' MN20D) ;
  3889. 'FINS' ;
  3890. 'SI' (TBT . 'TCO' 'ET' ('NON' ('EGA' MCO0D 0.))) ;
  3891. 'MESS' 'CO (kg)' ' ' MCO0D ' ' MCOMD ' '
  3892. (100. '*' (MCO0D '-' MCOMD) '/' MCO0D) ;
  3893. 'FINS' ;
  3894. 'SI' (TBT . 'TCO2' 'ET' ('NON' ('EGA' MCO20D 0.))) ;
  3895. 'MESS' 'CO2 (kg)' ' ' MCO20D ' ' MCO2MD ' '
  3896. (100. '*' (MCO20D '-' MCO2MD) '/' MCO20D) ;
  3897. 'FINS' ;
  3898. *** 'SI' (TBT . 'TAIR' 'ET' ('NON' ('EGA' MAIR0D 0.))) ;
  3899. 'SI' ('NON' ('EGA' MAIR0D 0.)) ;
  3900. 'MESS' 'Air (kg)' ' ' MAIR0D ' ' MAIRMD ' '
  3901. (100. '*' (MAIR0D '-' MAIRMD) '/' MAIR0D) ;
  3902. 'FINS' ;
  3903. 'MESS' ' ' ;
  3904. 'MESS' 'Energie (J/m3)' ' ' E0D ' ' EMD ' '
  3905. (100. '*' (E0D '-' EMD) '/' E0D) ;
  3906. 'MESS' '___________________________________________________________' ;
  3907.  
  3908. 'SI' TBT.'THERMP' ;
  3909. 'MESS' ' Energie Stockee Mur (J) ' Emurn Emurm
  3910. (100. '*' (Emurn '-' Emurm) '/' Emurn) ;
  3911. 'MESS' '___________________________________________________________' ;
  3912. 'FINS' ;
  3913. 'FINS' ;
  3914. *>> Affichage FIN
  3915. *
  3916.  
  3917. *
  3918. *>> Copie des inconnues (n)->(n-1) pour le prochain pas de temps
  3919. tic . 'UNM' = 'COPI' tic . 'UN' ;
  3920. tic . 'RHONM' = 'COPI' tic . 'RHO' ;
  3921. *tic . 'RHONM' = Rhon ;
  3922. 'SI' TBT . 'VAPEUR' ; tic . 'RVPNM' = Rvp ; 'FINS' ;
  3923. 'SI' TBT . 'THE' ; tic . 'RHEM' = Rhe ; 'FINS' ;
  3924. 'SI' TBT . 'TH2' ; tic . 'RH2M' = Rh2 ; 'FINS' ;
  3925. 'SI' TBT . 'TO2' ; tic . 'RO2M' = Ro2 ; 'FINS' ;
  3926. 'SI' TBT . 'TN2' ; tic . 'RN2M' = Rn2 ; 'FINS' ;
  3927. 'SI' TBT . 'TCO' ; tic . 'RCOM' = Rco ; 'FINS' ;
  3928. 'SI' TBT . 'TCO2' ; tic . 'RCO2M' = Rco2 ; 'FINS' ;
  3929. *'SI' TBT . 'TAIR' ; tic . 'RAIRM' = Rair ; 'FINS' ;
  3930. * tic . 'RAIRM' = Rair ;
  3931. tic . 'RAIRM' = 'COPI' tic . 'RAIR' ;
  3932. tic . 'TFNM' = Tfn ;
  3933. 'SI' TBT . 'THERMP' ;
  3934. tic . 'TPNM' = Tp ;
  3935. 'FINS' ;
  3936. 'SI' (('EGA' TBT . 'MODTURB' 'KEPSILON')
  3937. 'ET' ('EGA' TBT . 'FEF' 'EFM1')) ;
  3938. tic . 'KNM' = tic . 'KN' ;
  3939. tic . 'ENM' = tic . 'EN' ;
  3940. 'FINS' ;
  3941. 'SI' TBT.'ASPER ';
  3942. tic . 'VNM' = tic .'VN' ;
  3943. tic . 'XDM' = tic .'XD' ;
  3944. tic . 'TDM' = tic .'TD' ;
  3945. tic . 'DDM' = tic .'DD' ;
  3946. 'FINS' ;
  3947. *>> Copie des inconnues (n)->(n-1) FIN
  3948. *
  3949.  
  3950. *
  3951. *>> Gestion du pas de temps en EFM1
  3952. *
  3953. * On impose une 'CFL' de 0.5
  3954. * Il ne peut pas dépasser le pas de temps de référence
  3955. * Si il varie de plus de 10% on limite l'accroissement
  3956. 'SI' ('EGA' TBT . 'FEF' 'EFM1') ;
  3957. DTDIFU = rv . 'PASDETPS' . 'DTDIFU' ;
  3958. DTCONV = rv . 'PASDETPS' . 'DTCONV' ;
  3959. DTEXPL = ('MINI' ('PROG' DTDIFU DTCONV)) * 0.5 ;
  3960. 'MESS' &bcltps ' ' 'dtexpl=' ' ' DTEXPL ' ' DTDIFU ' ' DTCONV ;
  3961. DTM1 = tic . 'DT' ;
  3962.  
  3963. ect = (DTEXPL '-' tic . 'DT') '/' DTEXPL ;
  3964. 'SI' (ect '>' 0.1) ;
  3965. tic . 'DT' = (0.3 '*' DTEXPL) '+' (0.7 '*' tic . 'DT');
  3966. 'FINS' ;
  3967. 'SI' (ect '<' 0.1 ) ;
  3968. tic . 'DT' = DTEXPL ;
  3969. 'FINS' ;
  3970.  
  3971. 'SI' (rxt . 'DT0' < DTEXPL) ;
  3972. tic . 'DT' = rxt . 'DT0' ;
  3973. 'FINS' ;
  3974. rv . 'PASDETPS' . 'NUPASDT' = tic . 'NUPADT' ;
  3975. rv . 'PASDETPS' . 'DELTAT-1' = DTM1 ;
  3976. rv . 'PASDETPS' . 'DELTAT' = 1.e30 ;
  3977. rv . 'PASDETPS' . 'TPS' = tic . 'Tps' ;
  3978. 'FINS' ;
  3979. *
  3980. *>> Couplage avec CATHARE2 : Echanges P, T et Rho moyens
  3981. 'SI' TBT . 'CATHARE2' ;
  3982. cc = 'CHAI' 'echo' PTmn ' ' Tfmn ' ' rhomn ' > ' 'CASCAR' ;
  3983. titi = 'EXTE' cc 'RC' ;
  3984. 'FINS' ;
  3985. *
  3986. *
  3987. *
  3988. 'FIN' BCLTPS ;
  3989. *>> FIN BCLTPS
  3990. *
  3991. *-----------------------------------------------------------
  3992. *----- FIN de la boucle principale sur les pas de temps ----
  3993. *-----------------------------------------------------------
  3994. *
  3995. * Sauvegarde pour reprise
  3996. tic . 'drclvp' = drclvp ;
  3997. tic . 'drclhe' = drclhe ;
  3998. tic . 'drclh2' = drclh2 ;
  3999. tic . 'drclo2' = drclo2 ;
  4000. tic . 'drcln2' = drcln2 ;
  4001. tic . 'drclco' = drclco ;
  4002. tic . 'drclco2' = drclco2 ;
  4003. *
  4004. *
  4005. 'SI' ('ET' (TBT . 'DETMAT') ('>' nbit 0)) ;
  4006.  
  4007. RV = TBT . 'RV' ;
  4008. REPIX RV ;
  4009. *
  4010. * 2022/11/22 : SG
  4011. * Je n'ai pas compris à quoi servent ces lignes car normalement, il n'y
  4012. * a pas de matrices à l'indice 'rvpd'.
  4013. * S'il y en a, il faudra modifier repix.procedur pour les enlever et
  4014. * supprimer les lignes suivantes
  4015. *
  4016.  
  4017. 'SI' ('EXIS' TBT . 'RV' 'PROJ') ;
  4018. rv = TBT . 'RV' ;
  4019. rv = 'ENLE' rv 'rvpd' ;
  4020. TBT . 'RV' = rv ;
  4021. 'FINS' ;
  4022.  
  4023. rtf = TBT . 'RTF' ;
  4024. REPIX rtf ;
  4025.  
  4026. 'SI'((TBT . 'THERMP') 'OU' (TBT . 'TPAROIS')) ;
  4027. rtp = TBT . 'RTP' ;
  4028. REPIX rtp ;
  4029. 'FINS' ;
  4030.  
  4031. 'SI' TBT . 'VAPEUR' ;
  4032. Rrvap = TBT . 'Rrvap' ;
  4033. REPIX Rrvap ;
  4034. 'FINS' ;
  4035.  
  4036. 'SI' TBT . 'THE' ;
  4037. Rrhe = TBT . 'Rrhe' ;
  4038. REPIX Rrhe ;
  4039. 'FINS' ;
  4040.  
  4041. 'SI' TBT . 'TH2' ;
  4042. Rrh2 = TBT . 'Rrh2' ;
  4043. REPIX Rrh2 ;
  4044. 'FINS' ;
  4045.  
  4046. 'SI' TBT . 'TO2' ;
  4047. Rro2 = TBT . 'Rro2' ;
  4048. REPIX Rro2 ;
  4049. 'FINS' ;
  4050.  
  4051. 'SI' TBT . 'TN2' ;
  4052. Rrn2 = TBT . 'Rrn2' ;
  4053. REPIX Rrn2 ;
  4054. 'FINS' ;
  4055.  
  4056. 'SI' TBT . 'TCO2' ;
  4057. Rrco2 = TBT . 'Rrco2' ;
  4058. REPIX Rrco2 ;
  4059. 'FINS' ;
  4060.  
  4061. 'SI' TBT . 'TAIR' ;
  4062. Rrair = TBT . 'Rrair' ;
  4063. REPIX Rrair ;
  4064. 'FINS' ;
  4065.  
  4066. 'SI' TBT . 'TCO' ;
  4067. Rrco = TBT . 'Rrco' ;
  4068. REPIX Rrco ;
  4069. 'FINS' ;
  4070.  
  4071. 'SI' TBT . 'ASPER' ;
  4072. rvn = TBT . 'RVN' ;
  4073. REPIX rvn ;
  4074. rxd = TBT . 'RXD' ;
  4075. REPIX rxd ;
  4076. rdd = TBT . 'RDD' ;
  4077. REPIX rdd ;
  4078. rtd = TBT . 'RTD' ;
  4079. REPIX rtd ;
  4080. 'FINS' ;
  4081.  
  4082. 'FINS' ;
  4083. *
  4084. *
  4085. *-----------------------------------------------------------
  4086. * Post-traitement Graphique
  4087. *-----------------------------------------------------------
  4088. *
  4089. *
  4090. * ltps : Liste des pas de temps servant au tracé
  4091. * ltpsc : Liste du rang des pas de temps de ltps dans la liste des temps calculés
  4092. 'SI' ('EXIS' tic 'LTPSC') ;
  4093. ltpsc = tic . 'LTPSC' ;
  4094. ltps = 'EXTR' (tic . 'LTPS') (tic . 'LTPSC') ;
  4095. 'SINO' ;
  4096. ltps = tic . 'LTPS' ;
  4097. ltpsc = 'LECT' 1 'PAS' 1 ('DIME' ltps) ;
  4098. 'FINS' ;
  4099. *
  4100. * On trace si il y a quelque chose à tracer
  4101. 'SI' (TBT . 'GRAPH' 'ET' ('>EG' ('DIME' ltps) 2)) ;
  4102. *
  4103. tab1 = 'TABLE' ;
  4104. tab1 . 'TITRE' = 'TABLE' ;
  4105. tab1 . 1 = 'MARQ CROI REGU' ;
  4106. tab1 . 2 = 'MARQ TRIU REGU' ;
  4107. tab1 . 3 = 'MARQ LOSA REGU' ;
  4108. tab1 . 4 = 'MARQ CARR REGU' ;
  4109. tab1 . 5 = 'MARQ ROND REGU' ;
  4110. tab1 . 6 = 'MARQ TRID REGU' ;
  4111. tab1 . 7 = 'MARQ TRIL REGU' ;
  4112. tab1 . 8 = 'MARQ TRIR REGU' ;
  4113. *
  4114. * Initialisation
  4115. $vtf = GEO . '$vtf' ;
  4116. mvtf = 'DOMA' $vtf 'MAILLAGE' ;
  4117. *
  4118. un = tic . 'UN' ;
  4119. lcu = 'EXTR' un 'COMP' ;
  4120. modu = ('PSCA' un un lcu lcu) ** 0.5 ;
  4121. mmu = 'MAXI' modu ;
  4122. 'MESS' ' MAXI module de U ********* ' mmu ;
  4123. *
  4124. * Recombineur SIEMENS ou HEATER
  4125. 'SI' ('EXIS' tbt 'RECOMB') ;
  4126.  
  4127. tab2 = table ;
  4128. tab2 . 1 = 'MARQ CROI REGU' ;
  4129. tab2 . 2 = 'MARQ TRIU REGU' ;
  4130. tab2 . 3 = 'MARQ LOSA REGU' ;
  4131. tab2 . 4 = 'MARQ CARR REGU' ;
  4132. tab2 . 5 = 'MARQ ROND REGU' ;
  4133. tab2 . 6 = 'MARQ TRID REGU' ;
  4134. tab2 . 7 = 'MARQ TRIL REGU' ;
  4135. tab2 . 8 = 'MARQ TRIR REGU' ;
  4136. tab2 . 'TITRE' = 'TABLE' ;
  4137.  
  4138. tab2 = 'COPI' tab1 ;
  4139. tab2 . 'TITRE' = 'TABLE' ;
  4140.  
  4141. tab3 = table ;
  4142. tab3 . 1 = 'MARQ CROI REGU' ;
  4143. tab3 . 2 = 'MARQ TRIU REGU' ;
  4144. tab3 . 3 = 'MARQ LOSA REGU' ;
  4145. tab3 . 4 = 'MARQ CARR REGU' ;
  4146. tab3 . 5 = 'MARQ ROND REGU' ;
  4147. tab3 . 6 = 'MARQ TRID REGU' ;
  4148. tab3 . 7 = 'MARQ TRIL REGU' ;
  4149. tab3 . 8 = 'MARQ TRIR REGU' ;
  4150. tab3 . 'TITRE' = 'TABLE' ;
  4151.  
  4152. tab3 = 'COPI' tab1 ;
  4153. tab3 . 'TITRE' = 'TABLE' ;
  4154.  
  4155. Numero = 1 ;
  4156. tab3 . 'TITRE' . Numero = 'H2O' ;
  4157. 'SI' TBT . 'TH2' ;
  4158. Numero = Numero '+' 1 ;
  4159. tab3 . 'TITRE' . Numero = 'H2' ;
  4160. Numero = Numero '+' 1 ;
  4161. tab3 . 'TITRE' . Numero = 'O2' ;
  4162. 'FINS' ;
  4163. 'SI' TBT . 'TN2' ;
  4164. Numero = Numero '+' 1 ;
  4165. tab3 . 'TITRE' . Numero = 'N2' ;
  4166. 'FINS' ;
  4167. 'SI' TBT . 'TCO' ;
  4168. Numero = Numero '+' 1 ;
  4169. tab3 . 'TITRE' . Numero = 'CO' ;
  4170. Numero = Numero '+' 1 ;
  4171. tab3 . 'TITRE' . Numero = 'CO2' ;
  4172. 'FINS' ;
  4173. 'SI' TBT . 'THE' ;
  4174. Numero = Numero '+' 1 ;
  4175. tab3 . 'TITRE' . Numero = 'HE' ;
  4176. 'FINS' ;
  4177. Numero = Numero '+' 1 ;
  4178. tab3 . 'TITRE' . Numero = 'Mixture' ;
  4179.  
  4180. siemens = faux ;
  4181. npar = 'DIME' tbt . 'RECOMB' ;
  4182. 'REPE' blopar npar ;
  4183.  
  4184. tab1 . 'TITRE' . &blopar = 'MOT' ('CHAI' 'PAR' &blopar) ;
  4185. tab2 . 'TITRE' . 1 = 'Inlet' ;
  4186. tab2 . 'TITRE' . 2 = 'Outlet' ;
  4187. tab2 . 'TITRE' . 3 = 'Plates' ;
  4188.  
  4189. tpar = tic . 'RECOMB' . &blopar ;
  4190. evTpla = 'EVOL' 'ORAN' 'MANU' ltps ('EXTR' tpar . 'Tpla' ltpsc) ;
  4191. evTin = 'EVOL' 'CYAN' 'MANU' ltps ('EXTR' tpar . 'Tin' ltpsc) ;
  4192. evTout = 'EVOL' 'ROUG' 'MANU' ltps ('EXTR' tpar . 'Tout' ltpsc) ;
  4193. evUin = 'EVOL' 'CYAN' 'MANU' ltps ('EXTR' tpar . 'Uin' ltpsc) ;
  4194. evUout = 'EVOL' 'ROUG' 'MANU' ltps ('EXTR' tpar . 'Uout' ltpsc) ;
  4195. evUinb = 'EVOL' 'CYAN' 'MANU' ltps (('EXTR' tpar . 'Uin' ltpsc) '+' 1.D-5) ;
  4196. evUoutb = 'EVOL' 'ROUG' 'MANU' ltps (('EXTR' tpar . 'Uout' ltpsc) '+' 1.D-5) ;
  4197. evdeb = 'EVOL' 'ORAN' 'MANU' ltps ('EXTR' tpar . 'DEB' ltpsc) ;
  4198.  
  4199. 'SI' ('EGA' &blopar 1) ;
  4200. fvdeb = evdeb ;
  4201. fvTpla = evTpla ;
  4202. fvTin = evTin ;
  4203. fvTout = evTout ;
  4204. 'SINO' ;
  4205. fvdeb = fvdeb 'ET' evdeb ;
  4206. fvTpla = fvTpla 'ET' evTpla ;
  4207. fvTin = fvTin 'ET' evTin ;
  4208. fvTout = fvTout 'ET' evTout ;
  4209. 'FINS' ;
  4210.  
  4211. 'SI' ('NEG' tbt . 'RECOMB' . &blopar . 'TYPR' 'HEATER') ;
  4212. siemens = vrai ;
  4213. evQe = 'EVOL' 'ORAN' 'MANU' ltps ('EXTR' (tpar . 'DEB' '*' tpar . 'YH2E') ltpsc) ;
  4214. evQs = 'EVOL' 'ORAN' 'MANU' ltps ('EXTR' (tpar . 'DEB' '*' tpar . 'YH2S') ltpsc) ;
  4215. 'SI' ('EGA' &blopar 1) ;
  4216. fvQe = evQe ;
  4217. fvQs = evQs ;
  4218. 'SINO' ;
  4219. fvQe = fvQe 'ET' evQe ;
  4220. fvQs = fvQs 'ET' evQs ;
  4221. 'FINS' ;
  4222. 'FINS' ;
  4223. *
  4224. * Species mass fraction (-) and densities (kg/m3)
  4225. NAME = 'CHAI' 'SREC' 'ent' &blopar ; SENTREE = GEO . NAME ;
  4226. NAME = 'CHAI' 'fgREC' 'ent' &blopar ; FG_ENT = GEO . NAME ;
  4227. NAME = 'CHAI' 'SREC' 'sor' &blopar ; SSORTIE = GEO . NAME ;
  4228. NAME = 'CHAI' 'fgREC' 'sor' &blopar ; FG_SOR = GEO . NAME ;
  4229. RO_IN = (evdeb '/' evUinb) '*' (FG_ENT '/' SENTREE) ;
  4230. RO_OUT = (evdeb '/' evUoutb) '*' (FG_SOR '/' SSORTIE) ;
  4231. *
  4232. evYH2E = 'EVOL' 'ROUG' 'MANU' ltps ('EXTR' tpar . 'YH2E' ltpsc) ;
  4233. evYH2OE = 'EVOL' 'ORAN' 'MANU' ltps ('EXTR' tpar . 'YH2OE' ltpsc) ;
  4234. evYO2E = 'EVOL' 'ROSE' 'MANU' ltps ('EXTR' tpar . 'YO2E' ltpsc) ;
  4235. evYN2E = 'EVOL' 'VERT' 'MANU' ltps ('EXTR' tpar . 'YN2E' ltpsc) ;
  4236. evYHEE = 'EVOL' 'OCEA' 'MANU' ltps ('EXTR' tpar . 'YHEE' ltpsc) ;
  4237. evYCO2E = 'EVOL' 'LAVA' 'MANU' ltps ('EXTR' tpar . 'YCO2E' ltpsc) ;
  4238. evYCOE = 'EVOL' 'BOUT' 'MANU' ltps ('EXTR' tpar . 'YCOE' ltpsc) ;
  4239. *
  4240. evYH2S = 'EVOL' 'ROUG' 'MANU' ltps ('EXTR' tpar . 'YH2S' ltpsc) ;
  4241. evYH2OS = 'EVOL' 'ORAN' 'MANU' ltps ('EXTR' tpar . 'YH2OS' ltpsc) ;
  4242. evYO2S = 'EVOL' 'ROSE' 'MANU' ltps ('EXTR' tpar . 'YO2S' ltpsc) ;
  4243. evYN2S = 'EVOL' 'VERT' 'MANU' ltps ('EXTR' tpar . 'YN2S' ltpsc) ;
  4244. evYHES = 'EVOL' 'OCEA' 'MANU' ltps ('EXTR' tpar . 'YHES' ltpsc) ;
  4245. evYCO2S = 'EVOL' 'LAVA' 'MANU' ltps ('EXTR' tpar . 'YCO2S' ltpsc) ;
  4246. evYCOS = 'EVOL' 'BOUT' 'MANU' ltps ('EXTR' tpar . 'YCOS' ltpsc) ;
  4247. *
  4248. RH2E = RO_IN '*' evYH2E ;
  4249. RH2OE = RO_IN '*' evYH2OE ;
  4250. RO2E = RO_IN '*' evYO2E ;
  4251. RN2E = RO_IN '*' evYN2E ;
  4252. RHEE = RO_IN '*' evYHEE ;
  4253. RCO2E = RO_IN '*' evYCO2E ;
  4254. RCOE = RO_IN '*' evYCOE ;
  4255. *
  4256. RH2S = RO_OUT '*' evYH2S ;
  4257. RH2OS = RO_OUT '*' evYH2OS ;
  4258. RO2S = RO_OUT '*' evYO2S ;
  4259. RN2S = RO_OUT '*' evYN2S ;
  4260. RHES = RO_OUT '*' evYHES ;
  4261. RCO2S = RO_OUT '*' evYCO2S ;
  4262. RCOS = RO_OUT '*' evYCOS ;
  4263. *
  4264. evYE = evYH2OE ;
  4265. evYS = evYH2OS ;
  4266. evRE = RH2OE ;
  4267. evRS = RH2OS ;
  4268. 'SI' TBT . 'TH2' ;
  4269. evYE = evYE 'ET' evYH2E 'ET' evYO2E ;
  4270. evYS = evYS 'ET' evYH2S 'ET' evYO2S ;
  4271. evRE = evRE 'ET' RH2E 'ET' RO2E ;
  4272. evRS = evRS 'ET' RH2S 'ET' RO2S ;
  4273. 'FINS' ;
  4274. 'SI' TBT . 'TN2' ;
  4275. evYE = evYE 'ET' evYN2E ;
  4276. evYS = evYS 'ET' evYN2S ;
  4277. evRE = evRE 'ET' RN2E ;
  4278. evRS = evRS 'ET' RN2S ;
  4279. 'FINS' ;
  4280. 'SI' TBT . 'TCO' ;
  4281. evYE = evYE 'ET' evYCOE 'ET' evYCO2E ;
  4282. evYS = evYS 'ET' evYCOS 'ET' evYCO2S ;
  4283. evRE = evRE 'ET' RCOE 'ET' RCO2E ;
  4284. evRS = evRS 'ET' RCOS 'ET' RCO2S ;
  4285. 'FINS' ;
  4286. 'SI' TBT . 'THE' ;
  4287. evYE = evYE 'ET' evYHEE ;
  4288. evYS = evYS 'ET' evYHES ;
  4289. evRE = evRE 'ET' RHEE ;
  4290. evRS = evRS 'ET' RHES ;
  4291. 'FINS' ;
  4292. evRE = evRE 'ET' (RO_IN 'COUL' 'DEFA') ;
  4293. evRS = evRS 'ET' (RO_OUT 'COUL' 'DEFA') ;
  4294. *
  4295. * Single PAR graphics
  4296. TIT1 = 'MOT' ('CHAI' 'PAR' &blopar '- Mean temperatures') ;
  4297. 'DESS' (evTin 'ET' evTout 'ET' evTpla) 'MIMA' 'TITR' TIT1
  4298. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' ' C' 'LEGE' tab2 ;
  4299.  
  4300. TIT1 = 'MOT' ('CHAI' 'PAR' &blopar '- Mean velocities') ;
  4301. 'DESS' (evUin 'ET' evUout) 'MIMA' 'TITR' TIT1
  4302. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'm/s' 'LEGE' tab2 ;
  4303.  
  4304. TIT1 = 'MOT' ('CHAI' 'PAR' &blopar '- Inlet mass fraction') ;
  4305. 'DESS' evYE 'MIMA' 'TITR' TIT1
  4306. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' '--' 'LEGE' tab3 ;
  4307.  
  4308. TIT1 = 'MOT' ('CHAI' 'PAR' &blopar '- Outlet mass fraction') ;
  4309. 'DESS' evYS 'MIMA' 'TITR' TIT1
  4310. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' '--' 'LEGE' tab3 ;
  4311.  
  4312. TIT1 = 'MOT' ('CHAI' 'PAR' &blopar '- Inlet densities') ;
  4313. 'DESS' evRE 'MIMA' 'TITR' TIT1
  4314. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/m3' 'LEGE' tab3 ;
  4315.  
  4316. TIT1 = 'MOT' ('CHAI' 'PAR' &blopar '- Outlet densities') ;
  4317. 'DESS' evRS 'MIMA' 'TITR' TIT1
  4318. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/m3' 'LEGE' tab3 ;
  4319.  
  4320. 'FIN' blopar ;
  4321. *
  4322. * Global PAR graphics
  4323.  
  4324. 'DESS' fvdeb 'MIMA' 'TITR' 'PAR - Mass flow rate'
  4325. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/s' 'LEGE' tab1 ;
  4326.  
  4327. 'SI' siemens ;
  4328. 'DESS' fvQe 'MIMA' 'TITR' 'PAR - H2 inlet mass flow rate'
  4329. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/s' 'LEGE' tab1 ;
  4330.  
  4331. 'DESS' fvQs 'MIMA' 'TITR' 'PAR - H2 outlet mass flow rate'
  4332. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/s' 'LEGE' tab1 ;
  4333.  
  4334. 'DESS' (fvQs '-' fvQe) 'MIMA' 'TITR' 'PAR - H2 consumption mass flow rate'
  4335. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/s' 'LEGE' tab1 ;
  4336. 'FINS' ;
  4337.  
  4338. 'SI' ('NEG' npar 1) ;
  4339. 'DESS' fvTpla 'MIMA' 'TITR' 'PAR - Plate Temperature'
  4340. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' ' C' 'LEGE' tab1 ;
  4341.  
  4342. 'DESS' fvTin 'MIMA' 'TITR' 'PAR - Inlet Temperature'
  4343. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' ' C' 'LEGE' tab1 ;
  4344.  
  4345. 'DESS' fvTout 'MIMA' 'TITR' 'PAR - Outlet Temperature'
  4346. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' ' C' 'LEGE' tab1 ;
  4347. 'FINS' ;
  4348.  
  4349. 'FINS' ;
  4350. * PAR - FIN
  4351. *
  4352.  
  4353. 'SI' TBT . 'ASPER ' ;
  4354. lqQas = tic . 'Qaspe' ;
  4355. evQas = 'EVOL' 'JAUN' 'MANU'
  4356. 't(s)' ltps 'kg/s' ('EXTR' lqQas ltpsc) ;
  4357. tab1 . 'TITRE' . 1 = 'MOT' 'Qaspe' ;
  4358. 'DESS' evqas 'MIMA' 'TITR' 'Aspsion mass flow rate'
  4359. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/s' 'LEGE' tab1 ;
  4360. 'FINS' ;
  4361.  
  4362. **************************************************************
  4363. **************************************************************
  4364. * Taux d'injection de la vapeur
  4365. 'SI' TBT . 'VAPEUR' ;
  4366.  
  4367. tab1 . 'TITRE' . 1 = 'MOT' 'Tinj ' ;
  4368. tab1 . 'TITRE' . 2 = 'MOT' 'Tinj2' ;
  4369. tab1 . 'TITRE' . 3 = 'MOT' 'Tinj3' ;
  4370.  
  4371. tab1 .'TITRE' . 1 = 'MOT' 'Ksi ' ;
  4372. tab1 .'TITRE' . 2 = 'MOT' 'Ksi2' ;
  4373. tab1 .'TITRE' . 3 = 'MOT' 'Ksi3' ;
  4374.  
  4375. *.............................................................
  4376.  
  4377. * Trace des Debits liquide vapeur et total aux breches
  4378.  
  4379. tab1 . 1 = 'MARQ CROI REGU' ;
  4380. tab1 . 2 = 'MARQ CROI REGU TIRM' ;
  4381. tab1 . 3 = 'MARQ CROI REGU TIRC' ;
  4382. tab1 . 4 = 'MARQ TRIA REGU' ;
  4383. tab1 . 5 = 'MARQ TRIA REGU TIRM' ;
  4384. tab1 . 6 = 'MARQ TRIA REGU TIRC' ;
  4385. tab1 . 7 = 'MARQ LOSA REGU' ;
  4386. tab1 . 8 = 'MARQ LOSA REGU TIRM' ;
  4387. tab1 . 9 = 'MARQ LOSA REGU TIRC' ;
  4388.  
  4389. tab1 . 'TITRE'. 1 = 'MOT' 'Qjtot' ;
  4390. tab1 . 'TITRE'. 2 = 'MOT' 'Qlj ' ;
  4391. tab1 . 'TITRE'. 3 = 'MOT' 'Qj ';
  4392.  
  4393. tab1 . 1 = 'MARQ CROI REGU' ;
  4394. tab1 . 2 = 'MARQ CARR REGU' ;
  4395. tab1 . 3 = 'MARQ LOSA REGU' ;
  4396.  
  4397. *.............................................................
  4398.  
  4399. 'FINS';
  4400. *
  4401. *
  4402. * Débit de condensation : Total, bilan et détails
  4403. *
  4404. *
  4405. 'SI' TBT . 'VAPEUR' ;
  4406. tab2 = table ;
  4407. tab2 . 1 = 'MARQ CROI REGU' ;
  4408. tab2 . 2 = 'MARQ TRIU REGU' ;
  4409. tab2 . 3 = 'MARQ LOSA REGU' ;
  4410. tab2 . 4 = 'MARQ CARR REGU' ;
  4411. tab2 . 5 = 'MARQ ROND REGU' ;
  4412. tab2 . 6 = 'MARQ TRID REGU' ;
  4413. tab2 . 7 = 'MARQ TRIL REGU' ;
  4414. tab2 . 8 = 'MARQ TRIR REGU' ;
  4415. tab2 . 'TITRE' = 'TABLE' ;
  4416. * Wall condensation (total)
  4417. Numero = 1 ;
  4418. evsrcv = 'EVOL' 'VERT' 'MANU'
  4419. 't(s)' ltps 'kg/s' ('EXTR' tic . 'Qc' ltpsc) ;
  4420. evtq = evsrcv ;
  4421. tab2 . 'TITRE' . Numero = 'MOT' 'Qcond' ;
  4422. evqc1 = evsrcv ;
  4423. * Wall condensation (paroi thermique)
  4424. 'SI' ('EXIS' tic 'Qcw') ;
  4425. Numero = Numero + 1 ;
  4426. evqcw = 'EVOL' 'TURQ' 'MANU'
  4427. 't(s)' ltps 'kg/s' ('EXTR' tic . 'Qcw' ltpsc) ;
  4428. evtq = evtq 'ET' evqcw ;
  4429. tab2 . 'TITRE' . Numero = 'MOT' 'Qcw' ;
  4430. evqc1 = evqc1 '-' evqcw ;
  4431. 'FINS' ;
  4432. * Wall Condensation (paroi imposée par l'utilisateur (ECHANP))
  4433. 'SI' ('EXIS' tic 'Qc0') ;
  4434. Numero = Numero + 1 ;
  4435. evqc0 = 'EVOL' 'TURQ' 'MANU'
  4436. 't(s)' ltps 'kg/s' ('EXTR' tic . 'Qc0' ltpsc) ;
  4437. evtq = evtq 'ET' evqc0 ;
  4438. tab2 . 'TITRE' . Numero = 'MOT' 'Qc0' ;
  4439. evqc1 = evqc1 '-' evqc0 ;
  4440. 'FINS' ;
  4441. * Wall Condensation (poroi à température imposée)
  4442. 'SI' TBT . 'TTIMP' ;
  4443. Numero = Numero + 1 ;
  4444. evqc1 = evqc1 'COUL' 'TURQ' ;
  4445. evtq = evtq 'ET' evqc1 ;
  4446. tab2 . 'TITRE' . Numero = 'MOT' 'Qc1' ;
  4447. 'FINS' ;
  4448. * Bulk condensation
  4449. 'SI' ('EXIS' tic 'Qcm') ;
  4450. Numero = Numero + 1 ;
  4451. evqcm = 'EVOL' 'CYAN' 'MANU'
  4452. 't(s)' ltps 'kg/s' ('EXTR' tic . 'Qcm' ltpsc) ;
  4453. evtq = evtq 'ET' evqcm ;
  4454. tab2 . 'TITRE' . Numero = 'MOT' 'Qcm' ;
  4455. 'FINS' ;
  4456.  
  4457. 'DESS' evtq 'MIMA' 'TITR' 'Steam mass condensation distribution'
  4458. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/s' 'LEGE' tab2 ;
  4459. 'FINS' ;
  4460. *
  4461. * Cas des Températures imposées nouvelle méthode
  4462. 'SI' TBT . 'VAPEUR' ;
  4463. 'SI' TBT . 'TTIMP' ;
  4464. NBTIMP = 'DIME' rxt . 'TIMP' ;
  4465. itimp = 'INDE' rxt . 'TIMP' ;
  4466. Numero = 1 ;
  4467. evtq = evqc1 ;
  4468. tab2 . 'TITRE' . Numero = 'MOT' 'Qc1' ;
  4469. 'REPE' BBTIMP NBTIMP ;
  4470. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  4471. CQc1 = Btimp . 'Qc1' ;
  4472. Numero = Numero + 1 ;
  4473. evqci = 'EVOL' 'CYAN' 'MANU'
  4474. 't(s)' ltps 'kg/s' ('EXTR' tic . CQc1 ltpsc) ;
  4475. evtq = evtq 'ET' evqci ;
  4476. tab2 . 'TITRE' . Numero = 'MOT' ('CHAI' itimp . &BBTIMP) ;
  4477. 'FIN' BBTIMP ;
  4478. 'DESS' evtq 'MIMA' 'TITR' 'Steam wall condensation (TIMP)'
  4479. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/s' 'LEGE' tab2 ;
  4480. 'FINS' ;
  4481. 'FINS' ;
  4482. *
  4483. *
  4484. * Eléments pour le bilan d'énergie
  4485. *
  4486. *
  4487. 'SI' TBT . 'VAPEUR' ;
  4488. lqEcd = tic . 'Econd' ;
  4489. evEcd = 'EVOL' 'VERT' 'MANU' 't(s)' ltps 'J' ('EXTR' lqEcd ltpsc);
  4490. tab1 . 'TITRE'. 1 = 'MOT' 'Latent HT' ;
  4491. 'DESS' evEcd 'MIMA' 'TITR' 'Latent heat transfer'
  4492. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'J' 'LEGE' tab1 ;
  4493.  
  4494. lqEcv = tic . 'Econv' ;
  4495. evEcv = 'EVOL' 'CYAN' 'MANU' 't(s)' ltps 'J' ('EXTR' lqEcv ltpsc);
  4496. tab1 . 'TITRE'. 1 = 'MOT' 'Sensible HT' ;
  4497. 'DESS' evEcv 'MIMA' 'TITR' 'Sensible heat transfer'
  4498. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'J' 'LEGE' tab1 ;
  4499.  
  4500. tab1 . 'TITRE' . 1 = 'MOT' 'Latent' ;
  4501. tab1 . 'TITRE' . 2 = 'MOT' 'Sensible' ;
  4502.  
  4503. 'DESS' (evEcd 'ET' evEcv) 'MIMA' 'TITR' 'Heat transfer'
  4504. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'J' 'LEGE' tab1 ;
  4505. 'FINS' ;
  4506. *
  4507. *
  4508. * Eléments pour le bilan de masse en vapeur
  4509. *
  4510. *
  4511. evMinjv = 'EVOL' 'CYAN' 'MANU'
  4512. 't(s)' ltps 'kg' ('EXTR' tic . 'Minj' ltpsc) ;
  4513. evMcond = 'EVOL' 'VERT' 'MANU'
  4514. 't(s)' ltps 'kg' ('EXTR' tic . 'Mcond' ltpsc) ;
  4515. evMrest = 'EVOL' 'ROUG' 'MANU'
  4516. 't(s)' ltps 'kg' ('EXTR' tic . 'Mrest' ltpsc) ;
  4517.  
  4518. 'SI' TBT . 'VAPEUR' ;
  4519. evMcondm = 'EVOL' 'MANU'
  4520. 't(s)' ltps 'kg' ('EXTR' tic . 'Mcondm' ltpsc) ;
  4521. 'SINO' ;
  4522. evMcondm = 0 . '*' evMinjv ;
  4523. 'FINS' ;
  4524.  
  4525. tab1 . 'TITRE'. 1 = 'MOT' 'M_inj ' ;
  4526. tab1 . 'TITRE'. 2 = 'MOT' 'M_cond ' ;
  4527. tab1 . 'TITRE'. 3 = 'MOT' 'M_rest ' ;
  4528. tab1 . 'TITRE'. 4 = 'MOT' 'M_condm' ;
  4529.  
  4530. 'DESS' (evMinjv 'ET' evMcond 'ET' evMrest 'ET' evMcondm) 'MIMA'
  4531. 'TITR' 'Steam mass balance (kg)'
  4532. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4533. *
  4534. *
  4535. * Masse et correction 0D pour chaque constituant
  4536. * (+ ensemble des constituants : Masses, corrrections 0D et densités)
  4537. *
  4538. *
  4539. tab1 = table ;
  4540. tab1 . 1 = 'MARQ CROI REGU' ;
  4541. tab1 . 2 = 'MARQ TRIU REGU' ;
  4542. tab1 . 3 = 'MARQ LOSA REGU' ;
  4543. tab1 . 4 = 'MARQ CARR REGU' ;
  4544. tab1 . 5 = 'MARQ ROND REGU' ;
  4545. tab1 . 6 = 'MARQ TRID REGU' ;
  4546. tab1 . 7 = 'MARQ TRIL REGU' ;
  4547. tab1 . 8 = 'MARQ TRIR REGU' ;
  4548. tab1 . 'TITRE' = 'TABLE' ;
  4549.  
  4550. tab2 = table ;
  4551. tab2 . 1 = 'MARQ CROI REGU' ;
  4552. tab2 . 2 = 'MARQ TRIU REGU' ;
  4553. tab2 . 3 = 'MARQ LOSA REGU' ;
  4554. tab2 . 4 = 'MARQ CARR REGU' ;
  4555. tab2 . 5 = 'MARQ ROND REGU' ;
  4556. tab2 . 6 = 'MARQ TRID REGU' ;
  4557. tab2 . 7 = 'MARQ TRIL REGU' ;
  4558. tab2 . 8 = 'MARQ TRIR REGU' ;
  4559. tab2 . 'TITRE' = 'TABLE' ;
  4560.  
  4561. tab3 = table ;
  4562. tab3 . 1 = 'MARQ CROI REGU' ;
  4563. tab3 . 2 = 'MARQ TRIU REGU' ;
  4564. tab3 . 3 = 'MARQ LOSA REGU' ;
  4565. tab3 . 4 = 'MARQ CARR REGU' ;
  4566. tab3 . 5 = 'MARQ ROND REGU' ;
  4567. tab3 . 6 = 'MARQ TRID REGU' ;
  4568. tab3 . 7 = 'MARQ TRIL REGU' ;
  4569. tab3 . 8 = 'MARQ TRIR REGU' ;
  4570. tab3 . 'TITRE' = 'TABLE' ;
  4571.  
  4572. tab4 = table ;
  4573. tab4 . 1 = 'MARQ CROI REGU' ;
  4574. tab4 . 2 = 'MARQ TRIU REGU' ;
  4575. tab4 . 3 = 'MARQ LOSA REGU' ;
  4576. tab4 . 4 = 'MARQ CARR REGU' ;
  4577. tab4 . 5 = 'MARQ ROND REGU' ;
  4578. tab4 . 6 = 'MARQ TRID REGU' ;
  4579. tab4 . 7 = 'MARQ TRIL REGU' ;
  4580. tab4 . 8 = 'MARQ TRIR REGU' ;
  4581. tab4 . 'TITRE' = 'TABLE' ;
  4582.  
  4583. ID = 1 ;
  4584. tab1 . 'TITRE' . 1 = 'MOT' 'M (kg)' ;
  4585. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4586. tab3 . 'TITRE' . ID = 'MOT' 'Rho' ;
  4587. evM = 'EVOL' 'MANU'
  4588. 't(s)' ltps 'kg' (('EXTR' tic . 'Rhomn' ltpsc) '*' Vtotal) ;
  4589. 'DESS' evM 'MIMA' 'TITR' 'Mixture mass'
  4590. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4591. tab1 . 'TITRE' . 1 = 'MOT' 'dM (kg)' ;
  4592. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4593. evdM = 'EVOL' 'MANU'
  4594. 't(s)' ltps 'kg' (('EXTR' tic . 'drho' ltpsc) '*' Vtotal) ;
  4595. 'DESS' evdM 'MIMA' 'TITR' 'Mixture mass correction'
  4596. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4597. allM = evM ;
  4598. alldM = evdM ;
  4599.  
  4600. ID = ID '+' 1 ;
  4601. tab1 . 'TITRE' . 1 = 'MOT' 'M_air (kg)' ;
  4602. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4603. tab3 . 'TITRE' . ID = 'MOT' 'Rho_air' ;
  4604. evMair = 'EVOL' 'TURQ' 'MANU'
  4605. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomair' ltpsc) '*' Vtotal) ;
  4606. 'DESS' evMair 'MIMA' 'TITR' 'Air mass'
  4607. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4608. tab1 . 'TITRE' . 1 = 'MOT' 'dM_air' ;
  4609. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4610. evdMair = 'EVOL' 'TURQ' 'MANU'
  4611. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdrair' ltpsc) ;
  4612. 'DESS' evdMair 'MIMA' 'TITR' 'Air mass correction'
  4613. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4614. allM = allM 'ET' evMair ;
  4615. alldM = alldM 'ET' evdMair ;
  4616.  
  4617. 'SI' TBT . 'THE' ;
  4618. ID = ID '+' 1 ;
  4619. tab1 . 'TITRE' . 1 = 'MOT' 'M_he (kg)' ;
  4620. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4621. tab3 . 'TITRE' . ID = 'MOT' 'Rho_he' ;
  4622. evMhe = 'EVOL' 'ROUG' 'MANU'
  4623. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomhe' ltpsc) '*' Vtotal) ;
  4624. 'DESS' evMhe 'MIMA' 'TITR' 'He mass'
  4625. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4626. tab1 . 'TITRE' . 1 = 'MOT' 'dM_he' ;
  4627. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4628. evdMhe = 'EVOL' 'ROUG' 'MANU'
  4629. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdrhe' ltpsc) ;
  4630. 'DESS' evdMhe 'MIMA' 'TITR' 'He mass correction'
  4631. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4632. allM = allM 'ET' evMhe ;
  4633. alldM = alldM 'ET' evdMhe ;
  4634. 'FINS' ;
  4635.  
  4636. 'SI' TBT . 'TH2' ;
  4637. ID = ID '+' 1 ;
  4638. tab1 . 'TITRE' . 1 = 'MOT' 'M_h2 (kg)' ;
  4639. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4640. tab3 . 'TITRE' . ID = 'MOT' 'Rho_h2' ;
  4641. evMh2 = 'EVOL' 'ROUG' 'MANU'
  4642. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomh2' ltpsc) '*' Vtotal) ;
  4643. 'DESS' evMh2 'MIMA' 'TITR' 'H2 mass'
  4644. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4645. tab1 . 'TITRE' . 1 = 'MOT' 'dM_h2' ;
  4646. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4647. evdMh2 = 'EVOL' 'ROUG' 'MANU'
  4648. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdrh2' ltpsc) ;
  4649. 'DESS' evdMh2 'MIMA' 'TITR' 'H2 mass correction'
  4650. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4651. allM = allM 'ET' evMh2 ;
  4652. alldM = alldM 'ET' evdMh2 ;
  4653. 'FINS' ;
  4654.  
  4655. 'SI' TBT . 'TO2' ;
  4656. ID = ID '+' 1 ;
  4657. tab1 . 'TITRE' . 1 = 'MOT' 'M_o2 (kg)' ;
  4658. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4659. tab3 . 'TITRE' . ID = 'MOT' 'Rho_o2' ;
  4660. evMo2 = 'EVOL' 'CYAN' 'MANU'
  4661. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomo2' ltpsc) '*' Vtotal) ;
  4662. 'DESS' evMo2 'MIMA' 'TITR' 'O2 mass'
  4663. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4664. tab1 . 'TITRE' . 1 = 'MOT' 'dM_o2' ;
  4665. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4666. evdMo2 = 'EVOL' 'CYAN' 'MANU'
  4667. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdro2' ltpsc) ;
  4668. 'DESS' evdMo2 'MIMA' 'TITR' 'O2 mass correction'
  4669. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4670. allM = allM 'ET' evMo2 ;
  4671. alldM = alldM 'ET' evdMo2 ;
  4672. 'FINS' ;
  4673.  
  4674. 'SI' TBT . 'TN2' ;
  4675. ID = ID '+' 1 ;
  4676. tab1 . 'TITRE' . 1 = 'MOT' 'M_n2 (kg)' ;
  4677. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4678. tab3 . 'TITRE' . ID = 'MOT' 'Rho_n2' ;
  4679. evMn2 = 'EVOL' 'CYAN' 'MANU'
  4680. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomn2' ltpsc) '*' Vtotal) ;
  4681. 'DESS' evMn2 'MIMA' 'TITR' 'N2 mass'
  4682. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4683. tab1 . 'TITRE' . 1 = 'MOT' 'dM_n2' ;
  4684. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4685. evdMn2 = 'EVOL' 'CYAN' 'MANU'
  4686. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdrn2' ltpsc) ;
  4687. 'DESS' evdMn2 'MIMA' 'TITR' 'N2 mass correction'
  4688. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4689. allM = allM 'ET' evMn2 ;
  4690. alldM = alldM 'ET' evdMn2 ;
  4691. 'FINS' ;
  4692.  
  4693. 'SI' TBT . 'TCO' ;
  4694. ID = ID '+' 1 ;
  4695. tab1 . 'TITRE' . 1 = 'MOT' 'M_co (kg)' ;
  4696. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4697. tab3 . 'TITRE' . ID = 'MOT' 'Rho_co' ;
  4698. evMco = 'EVOL' 'ORAN' 'MANU'
  4699. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomco' ltpsc) '*' Vtotal) ;
  4700. 'DESS' evMco 'MIMA' 'TITR' 'CO mass'
  4701. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4702. tab1 . 'TITRE' . 1 = 'MOT' 'dM_co' ;
  4703. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4704. evdMco = 'EVOL' 'ORAN' 'MANU'
  4705. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdrco' ltpsc) ;
  4706. 'DESS' evdMco 'MIMA' 'TITR' 'CO mass correction'
  4707. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4708. allM = allM 'ET' evMco ;
  4709. alldM = alldM 'ET' evdMco ;
  4710. 'FINS' ;
  4711.  
  4712. 'SI' TBT . 'TCO2' ;
  4713. ID = ID '+' 1 ;
  4714. tab1 . 'TITRE' . 1 = 'MOT' 'M_co2 (kg)' ;
  4715. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4716. tab3 . 'TITRE' . ID = 'MOT' 'Rho_co2' ;
  4717. evMco2 = 'EVOL' 'ROSE' 'MANU'
  4718. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomco2' ltpsc) '*' Vtotal) ;
  4719. 'DESS' evMco2 'MIMA' 'TITR' 'CO2 mass'
  4720. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4721. tab1 . 'TITRE' . 1 = 'MOT' 'dM_co2' ;
  4722. tab4 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4723. evdMco2 = 'EVOL' 'ROSE' 'MANU'
  4724. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdrco2' ltpsc) ;
  4725. 'DESS' evdMco2 'MIMA' 'TITR' 'CO2 mass correction'
  4726. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4727. allM = allM 'ET' evMco2 ;
  4728. alldM = alldM 'ET' evdMco2 ;
  4729. 'FINS' ;
  4730.  
  4731. 'SI' TBT . 'VAPEUR' ;
  4732. ID = ID '+' 1 ;
  4733. tab1 . 'TITRE' . 1 = 'MOT' 'M_vap (kg)' ;
  4734. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 1 ;
  4735. tab3 . 'TITRE' . ID = 'MOT' 'Rho_vap' ;
  4736. evMv = 'EVOL' 'VERT' 'MANU'
  4737. 't(s)' ltps 'kg' (('EXTR' tic .'Rhomv' ltpsc) '*' Vtotal) ;
  4738. ID = ID '+' 1 ;
  4739. tab1 . 'TITRE' . 2 = 'MOT' 'M_vg (kg)' ;
  4740. tab2 . 'TITRE' . ID = tab1 . 'TITRE' . 2 ;
  4741. tab3 . 'TITRE' . ID = 'MOT' 'Rho_vg' ;
  4742. evMvg = 'EVOL' 'BOUT' 'MANU'
  4743. 't(s)' ltps 'kg' (('EXTR' tic . 'Rhomvg' ltpsc) '*' Vtotal) ;
  4744. 'DESS' (evMv 'ET' evMvg) 'MIMA' 'TITR' 'Steam mass'
  4745. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4746. tab1 . 'TITRE' . 1 = 'MOT' 'dM_vap' ;
  4747. tab4 . 'TITRE' . (ID-1) = tab1 . 'TITRE' . 1 ;
  4748. evdMv = 'EVOL' 'VERT' 'MANU'
  4749. 't(s)' ltps 'kg' ('EXTR' tic . 'Mdrvap' ltpsc) ;
  4750. 'DESS' evdMv 'MIMA' 'TITR' 'Steam mass correction'
  4751. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab1 ;
  4752. allM = allM 'ET' evMv 'ET' evMvg ;
  4753. alldM = alldM 'ET' evdMv ;
  4754. 'FINS' ;
  4755.  
  4756. 'DESS' allM 'MIMA' 'TITR' 'Mass'
  4757. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab2 ;
  4758. 'DESS' (allM '/' Vtotal) 'MIMA' 'TITR' 'Densities'
  4759. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg/m3' 'LEGE' tab3 ;
  4760. 'DESS' alldM 'MIMA' 'TITR' 'Mass corrections'
  4761. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'kg' 'LEGE' tab4 ;
  4762. *
  4763. * Pressure
  4764. evPT = 'EVOL' 'CYAN' 'MANU'
  4765. 't(s)' ltps 'Pa' ('EXTR' tic . 'PT' ltpsc) ;
  4766. tab1 . 'TITRE' . 1 = 'MOT' 'Ptot' ;
  4767. 'DESS' evPT 'MIMA' 'TITR' 'Mean pressure'
  4768. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'Pa' 'LEGE' tab1 ;
  4769. *
  4770. * Temperature (fluide, parois et correction)
  4771. evtpf = 'EVOL' 'ROUG' 'MANU'
  4772. 't(s)' ltps 'oC ' ('EXTR' tic . 'Tfm' ltpsc) ;
  4773. tab1 . 'TITRE' . 1 = 'MOT' 'Tfm' ;
  4774. *
  4775. evtpf1 = 'EVOL' 'CYAN' 'MANU'
  4776. 't(s)' ltps 'oC' ('EXTR' tic . 'MdTf' ltpsc) ;
  4777. tab1 . 'TITRE' . 2 = 'MOT' 'Maxi dTf' ;
  4778. evtpf = evtpf 'ET' evtpf1 ;
  4779. *
  4780. evtpf2 = 'EVOL' 'ROSE' 'MANU'
  4781. 't(s)' ltps 'oC' ('EXTR' tic . 'mdTf' ltpsc) ;
  4782. tab1 . 'TITRE' . 3 = 'MOT' 'Mini dTf' ;
  4783. evtpf = evtpf 'ET' evtpf2 ;
  4784. *
  4785. ID = 3 ;
  4786. *FD
  4787. * Tpm est complètement faux dans le cas multicouche donc on oublie
  4788. * A faire : Tracer la température de paroi pour TPAROIF
  4789. *FD
  4790. *'SI' TBT . 'THERMP' ;
  4791. * ID = ID + 1 ;
  4792. * evTfp = 'EVOL' 'VERT' 'MANU'
  4793. * 't(s)' ltps 'oC ' ('EXTR' tic . 'Tpm' ltpsc) ;
  4794. * tab1 . 'TITRE' . ID = 'MOT' 'Tfp oC' ;
  4795. * evtpf = evtpf 'ET' evTfp ;
  4796. *'FINS' ;
  4797. 'SI' TBT . 'TTIMP' ;
  4798. NBTIMP = 'DIME' (rxt . 'TIMP') ;
  4799. itimp = 'INDE' (rxt . 'TIMP') ;
  4800. 'REPE' BBTIMP NBTIMP ;
  4801. Btimp = rxt . 'TIMP' . (itimp . &BBTIMP) ;
  4802. ID = ID + 1 ;
  4803. uu = 'CHAI' itimp . &BBTIMP ;
  4804. tab1 . 'TITRE' . ID = 'MOT' uu ;
  4805. evTfpc1 = 'EVOL' 'TURQ' 'MANU'
  4806. 't(s)' ltps 'oC ' ('EXTR' Btimp . 'Ltbpi' ltpsc) ;
  4807. evtpf = evtpf 'ET' evTfpc1 ;
  4808. 'FIN' BBTIMP ;
  4809. 'FINS' ;
  4810.  
  4811. 'DESS' evtpf 'MIMA'
  4812. 'TITR' 'Mean temperature (fluid and TIMP)'
  4813. 'GRIL' 'POIN' 'GRIS' 'TITX' 't(s)' 'TITY' 'oC' 'LEGE' tab1 ;
  4814. *
  4815. 'FINS' ;
  4816. *
  4817. * Post-traitement Graphique FIN
  4818. 'FINPROC' ;
  4819.  
  4820.  
  4821.  
  4822.  
  4823.  
  4824.  
  4825.  

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