Télécharger prim_ther_multi.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : prim_ther_multi.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. **** APPROCHE VF "Cell-Centred Formulation" pour la ****
  6. **** solution des ****
  7. **** Equations d'Euler pour un gaz parfait ****
  8. **** OPERATEUR PRIM ****
  9. **** Gaz multi-especes "thermally perfect" ****
  10. **** ****
  11. **** A. BECCANTINI DRN/DMT/SEMT/LTMF FEVRIER 2000 ****
  12. **** MODIFS : ****
  13. **** A. BECCANTINI DEN/DM2S/SFME/LTMF FEVRIER 2000 ****
  14. **** ****
  15. **** Ajoute des propriete's de D2 et D2O ****
  16. ***********************************************************
  17. *
  18. 'OPTION' 'DIME' 2 ;
  19. 'OPTION' 'ELEM' QUA4 ;
  20. 'OPTION' 'ECHO' 0 ;
  21. 'OPTION' 'TRAC' 'X';
  22. *
  23. *
  24. **** GRAPH
  25. *
  26. *
  27. GRAPH = FAUX ;
  28. * GRAPH = VRAI ;
  29. *
  30.  
  31. *
  32. *** On considere une melange H2, O2, H2O, N2
  33. *
  34. * De la table JANAF on a, pour les cp (J/Kg/K)
  35. *
  36.  
  37. LTEMP = 'PROG' .2000D+03 .3000D+03 .4000D+03 .5000D+03 .6000D+03
  38. .7000D+03 .8000D+03 .9000D+03 .1000D+04 .1100D+04
  39. .1200D+04 .1300D+04 .1400D+04 .1500D+04 .1600D+04
  40. .1700D+04 .1800D+04 .1900D+04 .2000D+04 .2100D+04
  41. .2200D+04 .2300D+04 .2400D+04 .2500D+04 .2600D+04 ;
  42.  
  43. LTEMP = LTEMP 'ET' ('PROG'
  44. .2700D+04 .2800D+04 .2900D+04 .3000D+04 .3100D+04
  45. .3200D+04 .3300D+04 .3400D+04 .3500D+04 .3600D+04
  46. .4000D+04 .4500D+04 .5000D+04 .5500D+04 .6000D+04) ;
  47.  
  48. LCVH2 = 'PROG' .9944D+04 .1018D+05 .1035D+05 .1039D+05 .1042D+05
  49. .1048D+05 .1057D+05 .1070D+05 .1086D+05 .1104D+05
  50. .1125D+05 .1147D+05 .1168D+05 .1190D+05 .1211D+05
  51. .1231D+05 .1251D+05 .1270D+05 .1288D+05 .1305D+05
  52. .1321D+05 .1337D+05 .1351D+05 .1365D+05 .1378D+05 ;
  53.  
  54. LCVH2 = LCVH2 'ET' ('PROG'
  55. .1391D+05 .1403D+05 .1415D+05 .1426D+05 .1438D+05
  56. .1449D+05 .1460D+05 .1471D+05 .1480D+05 .1490D+05
  57. .1528D+05 .1573D+05 .1613D+05 .1646D+05 .1669D+05 ) ;
  58.  
  59. LCVH2O='PROG' .1389D+04 .1403D+04 .1440D+04 .1493D+04 .1554D+04
  60. .1619D+04 .1687D+04 .1758D+04 .1829D+04 .1899D+04
  61. .1968D+04 .2033D+04 .2094D+04 .2152D+04 .2205D+04
  62. .2254D+04 .2300D+04 .2341D+04 .2379D+04 .2414D+04
  63. .2446D+04 .2476D+04 .2503D+04 .2528D+04 .2552D+04 ;
  64.  
  65. LCVH2O = LCVH2O 'ET' ( 'PROG'
  66. .2574D+04 .2595D+04 .2615D+04 .2634D+04 .2652D+04
  67. .2670D+04 .2686D+04 .2703D+04 .2718D+04 .2734D+04
  68. .2759D+04 .2801D+04 .2835D+04 .2868D+04 .2900D+04 ) ;
  69.  
  70. LCVO2 = 'PROG' .6500D+03 .6580D+03 .6810D+03 .7120D+03 .7430D+03
  71. .7710D+03 .7940D+03 .8140D+03 .8300D+03 .8430D+03
  72. .8550D+03 .8650D+03 .8740D+03 .8820D+03 .8900D+03
  73. .8970D+03 .9040D+03 .9110D+03 .9180D+03 .9250D+03
  74. .9320D+03 .9390D+03 .9450D+03 .9520D+03 .9580D+03 ;
  75.  
  76. LCVO2 = LCVO2 'ET' ('PROG'
  77. .9640D+03 .9700D+03 .9760D+03 .9810D+03 .9870D+03
  78. .9920D+03 .9970D+03 .1001D+04 .1006D+04 .1010D+04
  79. .1034D+04 .1054D+04 .1074D+04 .1097D+04 .1127D+04 ) ;
  80.  
  81. LCVN2 ='PROG' .7420D+03 .7430D+03 .7470D+03 .7590D+03 .7780D+03
  82. .8010D+03 .8250D+03 .8490D+03 .8700D+03 .8900D+03
  83. .9070D+03 .9220D+03 .9350D+03 .9470D+03 .9570D+03
  84. .9660D+03 .9730D+03 .9800D+03 .9870D+03 .9920D+03
  85. .9970D+03 .1002D+04 .1006D+04 .1009D+04 .1013D+04 ;
  86.  
  87. LCVN2 = LCVN2 'ET' ('PROG'
  88. .1016D+04 .1019D+04 .1021D+04 .1024D+04 .1026D+04
  89. .1028D+04 .1030D+04 .1032D+04 .1034D+04 .1035D+04
  90. .1043D+04 .1050D+04 .1056D+04 .1062D+04 .1069D+04 ) ;
  91.  
  92. 'MESSAGE' ;
  93. 'MESSAGE' ('cv_i = polynoms de 4-eme degre');
  94. 'MESSAGE' ;
  95.  
  96. ERRMAX = 1.0D-6 ;
  97.  
  98.  
  99. *) Degre de polynome = 4
  100.  
  101. ***********************
  102. **** LA TABLE PGAZ ****
  103. ***********************
  104.  
  105. PGAZ = 'TABLE' ;
  106.  
  107. *
  108. **** Ordre des polynoms
  109. *
  110.  
  111. PGAZ . 'NORD' = 4 ;
  112.  
  113. *
  114. **** Especes qui sont dans les equations d'Euler
  115. *
  116.  
  117. PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O '
  118. 'D2 ' 'D2O ' ;
  119.  
  120. *
  121. **** Espece qui n'y est pas
  122. *
  123.  
  124.  
  125. PGAZ . 'ESPNEULE' = 'N2 ';
  126.  
  127. *
  128.  
  129. PGAZ . 'H2 ' = 'TABLE' ;
  130. PGAZ . 'H2O ' = 'TABLE' ;
  131. PGAZ . 'N2 ' = 'TABLE' ;
  132. PGAZ . 'O2 ' = 'TABLE' ;
  133. PGAZ . 'D2 ' = 'TABLE' ;
  134. PGAZ . 'D2O ' = 'TABLE' ;
  135.  
  136. *
  137. **** R (J/Kg/K)
  138. *
  139.  
  140. mH2 = 2. '*' 1.00797E-3 ;
  141. mo2 = 2. '*' 15.9994E-3 ;
  142. mH2O = mh2 '+' (0.5 '*' mo2) ;
  143. mN2 = 2 '*' 14.0067E-3 ;
  144. mD2 = mH2 * 2 ;
  145. mD2O = mD2 '+' (0.5 '*' mo2) ;
  146. RGAS = 8.31441 ;
  147.  
  148. PGAZ . 'H2 ' . 'R' = RGAS '/' mh2 ;
  149. PGAZ . 'H2O ' . 'R' = RGAS '/' mh2o ;
  150. PGAZ . 'N2 ' . 'R' = RGAS '/' mn2 ;
  151. PGAZ . 'O2 ' . 'R' = RGAS '/' mo2 ;
  152. PGAZ . 'D2 ' . 'R' = RGAS '/' md2 ;
  153. PGAZ . 'D2O ' . 'R' = RGAS '/' md2o ;
  154.  
  155.  
  156.  
  157. *
  158. **** Regressions polynomials
  159. *
  160.  
  161. PGAZ . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 0.000862203836
  162. -2.37281455E-07 1.84701105E-11 ;
  163. PGAZ . 'H2O ' . 'A' = 'PROG' 1155.95625 0.768331151 -5.73129958E-05
  164. -1.82753232E-08 2.44485692E-12 ;
  165. PGAZ . 'N2 ' . 'A' = 'PROG' 652.940766 0.288239099 -7.80442298E-05
  166. 8.78233606E-09 -3.05514485E-13 ;
  167. PGAZ . 'O2 ' . 'A' = 'PROG' 575.012333 0.350522002 -0.000128294865
  168. 2.33636971E-08 -1.53304905E-12;
  169. PGAZ . 'D2 ' . 'A' = 'PROG' 0.49174593E+04 0.27136963E+00
  170. 0.43110192E-03 -0.11864073E-06 0.92350553E-11 ;
  171. PGAZ . 'D2O ' . 'A' = 'PROG' 0.10396191E+04 0.69100516E+00
  172. -0.51544931E-04 -0.16436067E-07 0.21988029E-11 ;
  173.  
  174. *
  175. **** "Enthalpies" (ou energies) de formations a OK (J/Kg)
  176. *
  177.  
  178. PGAZ . 'H2 ' . 'H0K' = -4.195D6 ;
  179. PGAZ . 'H2O ' . 'H0K' = -1.395D7 ;
  180. PGAZ . 'N2 ' . 'H0K' = -2.953D5 ;
  181. PGAZ . 'O2 ' . 'H0K' = -2.634D5 ;
  182. PGAZ . 'D2 ' . 'H0K' = -2.0975D6 ;
  183. PGAZ . 'D2O ' . 'H0K' = -1.25461D7 ;
  184.  
  185.  
  186. *
  187. *** Fin PGAZ
  188. *
  189.  
  190. A0H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 1 ;
  191. A1H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 2 ;
  192. A2H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 3 ;
  193. A3H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 4 ;
  194. A4H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 5 ;
  195.  
  196. A0H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 1 ;
  197. A1H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 2 ;
  198. A2H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 3 ;
  199. A3H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 4 ;
  200. A4H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 5 ;
  201.  
  202. A0N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 1 ;
  203. A1N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 2 ;
  204. A2N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 3 ;
  205. A3N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 4 ;
  206. A4N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 5 ;
  207.  
  208. A0O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 1 ;
  209. A1O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 2 ;
  210. A2O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 3 ;
  211. A3O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 4 ;
  212. A4O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 5 ;
  213.  
  214. A0D2 = 'EXTRAIRE' (PGAZ . 'D2 ' . 'A') 1 ;
  215. A1D2 = 'EXTRAIRE' (PGAZ . 'D2 ' . 'A') 2 ;
  216. A2D2 = 'EXTRAIRE' (PGAZ . 'D2 ' . 'A') 3 ;
  217. A3D2 = 'EXTRAIRE' (PGAZ . 'D2 ' . 'A') 4 ;
  218. A4D2 = 'EXTRAIRE' (PGAZ . 'D2 ' . 'A') 5 ;
  219.  
  220. A0D2O= 'EXTRAIRE' (PGAZ . 'D2O ' . 'A') 1 ;
  221. A1D2O= 'EXTRAIRE' (PGAZ . 'D2O ' . 'A') 2 ;
  222. A2D2O= 'EXTRAIRE' (PGAZ . 'D2O ' . 'A') 3 ;
  223. A3D2O= 'EXTRAIRE' (PGAZ . 'D2O ' . 'A') 4 ;
  224. A4D2O= 'EXTRAIRE' (PGAZ . 'D2O ' . 'A') 5 ;
  225.  
  226. LCV1H2 = 'PROG' ;
  227. LCV1H2O = 'PROG' ;
  228. LCV1N2 = 'PROG' ;
  229. LCV1O2 = 'PROG' ;
  230. LCV1D2 = 'PROG' ;
  231. LCV1D2O = 'PROG' ;
  232.  
  233. 'REPETER' BL1 ('DIME' LTEMP ) ;
  234. T = 'EXTRAIRE' LTEMP &BL1 ;
  235. T2 = T * T ;
  236. T3 = T2 * T ;
  237. T4 = T3 * T;
  238. LCV1H2 = LCV1H2 'ET' ('PROG'
  239. (A0H2 '+' (A1H2 * T) '+' (A2H2 * T2) '+' (A3H2 * T3) '+'
  240. (A4H2 * T4))) ;
  241. LCV1H2O = LCV1H2O 'ET' ('PROG'
  242. (A0H2O '+' (A1H2O * T) '+' (A2H2O * T2) '+' (A3H2O * T3) '+'
  243. (A4H2O * T4))) ;
  244. LCV1N2 = LCV1N2 'ET' ('PROG'
  245. (A0N2 '+' (A1N2 * T) '+' (A2N2 * T2) '+' (A3N2 * T3) '+'
  246. (A4N2 * T4))) ;
  247. LCV1O2 = LCV1O2 'ET' ('PROG'
  248. (A0O2 '+' (A1O2 * T) '+' (A2O2 * T2) '+' (A3O2 * T3) '+'
  249. (A4O2 * T4))) ;
  250. LCV1D2 = LCV1D2 'ET' ('PROG'
  251. (A0D2 '+' (A1D2 * T) '+' (A2D2 * T2) '+' (A3D2 * T3) '+'
  252. (A4D2 * T4))) ;
  253. LCV1D2O = LCV1D2O 'ET' ('PROG'
  254. (A0D2O '+' (A1D2O * T) '+' (A2D2O * T2) '+' (A3D2O * T3) '+'
  255. (A4D2O * T4))) ;
  256. 'FIN' BL1 ;
  257.  
  258. LCVH2 = LCVH2 * mh2 ;
  259. LCV1H2 = LCV1H2 * mh2 ;
  260. LCVH2O = LCVH2O * mh2o ;
  261. LCV1H2O = LCV1H2O * mh2o ;
  262. LCVN2 = LCVN2 * mn2 ;
  263. LCV1N2 = LCV1N2 * mn2 ;
  264. LCVO2 = LCVO2 * mo2 ;
  265. LCV1O2 = LCV1O2 * mo2 ;
  266. LCV1D2 = LCV1D2 * md2 ;
  267. LCV1D2O = LCV1D2O * md2o ;
  268.  
  269. EVCVH2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCVH2 ;
  270. EVCV1H2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCV1H2 ;
  271. EVCVH2O = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCVH2O ;
  272. EVCV1H2O = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCV1H2O ;
  273. EVCVN2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCVN2 ;
  274. EVCV1N2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCV1N2 ;
  275. EVCVO2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCVO2 ;
  276. EVCV1O2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCV1O2 ;
  277. EVCV1D2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCV1D2 ;
  278. EVCV1D2O = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/mol/K)' LCV1D2O ;
  279.  
  280. TAB1 = 'TABLE' ;
  281. TAB1 . 'TITRE' = 'TABLE' ;
  282. TAB1 . 1 ='TIRR ';
  283. TAB1 . 'TITRE' . 1 = 'JANAF DATA';
  284. TAB1 . 2 = 'MARQ CROI';
  285. TAB1 . 'TITRE' . 2 = 'POLYN. REGR.';
  286.  
  287. 'SI' GRAPH ;
  288. 'DESSIN' (EVCVH2 'ET' EVCV1H2) 'LEGE' TAB1 'TITRE'
  289. 'H2, polynome de 4-eme degre' ;
  290. 'DESSIN' (EVCVH2O 'ET' EVCV1H2O) 'LEGE' TAB1 'TITRE'
  291. 'H2O, polynome de 4-eme degre' ;
  292. 'DESSIN' (EVCVN2 'ET' EVCV1N2) 'LEGE' TAB1 'TITRE'
  293. 'N2, polynome de 4-eme degre' ;
  294. 'DESSIN' (EVCVO2 'ET' EVCV1O2) 'LEGE' TAB1 'TITRE'
  295. 'O2, polynome de 4-eme degre' ;
  296. 'DESSIN' (EVCVH2 'ET' EVCV1D2) 'LEGE' TAB1 'TITRE'
  297. 'H2-D2, polynome de 4-eme degre' ;
  298. 'DESSIN' (EVCVH2O 'ET' EVCV1D2O) 'LEGE' TAB1 'TITRE'
  299. 'H2O-D2O, polynome de 4-eme degre' ;
  300. 'FINSI' ;
  301.  
  302. ***************************
  303. ***** DOMAINE SPATIAL ****
  304. ***************************
  305.  
  306.  
  307. A1 = 0.0D0 0.0D0;
  308. A2 = 2.0D0 0.0D0;
  309. A3 = 3.0D0 0.0D0;
  310. A4 = 4.0D0 1.0D0;
  311.  
  312. L12 = A1 'DROIT' 1 A2;
  313. L23 = A2 'DROIT' 2 A3;
  314. L34 = A3 'DROIT' 3 A4;
  315. L41 = A4 'DROIT' 2 A1;
  316.  
  317. LDOM1 = L12 'ET' L23 'ET' L34 'ET' L41 ;
  318. DOM1 = 'SURFACE' LDOM1 'PLANE';
  319.  
  320. 'SI' GRAPH ;
  321. 'TRACER' DOM1 'TITRE' 'Domaine' ;
  322. 'FINSI' ;
  323.  
  324. $DOM1 = 'DOMA' DOM1 ;
  325.  
  326. MAIL = $DOM1 . 'CENTRE' ;
  327.  
  328. *
  329. **** Pression, densite, temperature et vitesse
  330. *
  331.  
  332. RN = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  333. TN = 'BRUI' 'BLAN' 'UNIF' 5000 1000 MAIL ;
  334. YH2 = 'BRUI' 'BLAN' 'UNIF' 0.3 0.1 MAIL ;
  335. YO2 = 'BRUI' 'BLAN' 'UNIF' 0.2 0.1 MAIL ;
  336. YH2O = 'BRUI' 'BLAN' 'UNIF' 0.1 0.05 MAIL ;
  337. YD2 = 'BRUI' 'BLAN' 'UNIF' 0.01 0.001 MAIL ;
  338. YD2O = 'BRUI' 'BLAN' 'UNIF' 0.01 0.005 MAIL ;
  339.  
  340. YN2 = 1.0 '-' (YH2 '+' YO2 '+' YH2O + YD2 + YD2O) ;
  341.  
  342. RYH2 = RN * YH2 ;
  343. RYH2O = RN * YH2O ;
  344. RYO2 = RN * YO2 ;
  345. RYN2 = RN * YN2 ;
  346. RYD2 = RN * YD2 ;
  347. RYD2O = RN * YD2O ;
  348.  
  349. YH2 = 'NOMC' YH2 'H2 ' 'NATU' 'DISCRET' ;
  350. YH2O = 'NOMC' YH2O 'H2O ' 'NATU' 'DISCRET' ;
  351. YD2 = 'NOMC' YD2 'D2 ' 'NATU' 'DISCRET' ;
  352. YD2O = 'NOMC' YD2O 'D2O ' 'NATU' 'DISCRET' ;
  353. YO2 = 'NOMC' YO2 'O2 ' 'NATU' 'DISCRET' ;
  354. YN2 = 'NOMC' YN2 'N2 ' 'NATU' 'DISCRET' ;
  355. YN = YH2 'ET' YO2 'ET' YH2O 'ET'
  356. YD2 'ET' YD2O ;
  357.  
  358. RYH2 = 'NOMC' RYH2 'H2 ' 'NATU' 'DISCRET' ;
  359. RYH2O = 'NOMC' RYH2O 'H2O ' 'NATU' 'DISCRET' ;
  360. RYD2 = 'NOMC' RYD2 'D2 ' 'NATU' 'DISCRET' ;
  361. RYD2O = 'NOMC' RYD2O 'D2O ' 'NATU' 'DISCRET' ;
  362. RYO2 = 'NOMC' RYO2 'O2 ' 'NATU' 'DISCRET' ;
  363. RYN2 = 'NOMC' RYN2 'N2 ' 'NATU' 'DISCRET' ;
  364.  
  365. VNX = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  366. VNY = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  367.  
  368. VN = ('NOMC' VNX 'UX' 'NATU' 'DISCRET' ) 'ET'
  369. ('NOMC' VNY 'UY' 'NATU' 'DISCRET' ) ;
  370.  
  371. GN = ('NOMC' (VNX * RN) 'UX' 'NATU' 'DISCRET' ) 'ET'
  372. ('NOMC' (VNY * RN) 'UY' 'NATU' 'DISCRET' ) ;
  373.  
  374. RYN = RYH2 'ET' RYH2O 'ET' RYO2 'ET'
  375. RYD2 'ET' RYD2O;
  376.  
  377. *
  378. * Calcul de l'energie thermique et du gamma
  379. *
  380. * Ether = \sum_{i=1,4} Y_i \int_{0}^{T} cv_i(x) dx
  381. * gamma = (\sum_{i=1,4} Y_i cp_i) / (\sum_{i=1,4} Y_i cv_i)
  382. *
  383.  
  384. T2 = TN * TN ;
  385. T3 = T2 * TN ;
  386. T4 = T3 * TN ;
  387. T5 = T4 * TN ;
  388.  
  389. ETERH2 = 'NOMC' ((A0H2 * TN) '+' ((A1H2 '/' 2.0) * T2) '+'
  390. ((A2H2 '/' 3.0) * T3) '+' ((A3H2 '/' 4.0) * T4) '+'
  391. ((A4H2 '/' 5.0) * T5)) 'H2 ' 'NATU' 'DISCRET' ;
  392.  
  393. ETERH2O = 'NOMC' ((A0H2O * TN) '+' ((A1H2O '/' 2.0) * T2) '+'
  394. ((A2H2O '/' 3.0) * T3) '+' ((A3H2O '/' 4.0) * T4) '+'
  395. ((A4H2O '/' 5.0) * T5)) 'H2O ' 'NATU' 'DISCRET' ;
  396.  
  397. ETERD2 = 'NOMC' ((A0D2 * TN) '+' ((A1D2 '/' 2.0) * T2) '+'
  398. ((A2D2 '/' 3.0) * T3) '+' ((A3D2 '/' 4.0) * T4) '+'
  399. ((A4D2 '/' 5.0) * T5)) 'D2 ' 'NATU' 'DISCRET' ;
  400.  
  401. ETERD2O = 'NOMC' ((A0D2O * TN) '+' ((A1D2O '/' 2.0) * T2) '+'
  402. ((A2D2O '/' 3.0) * T3) '+' ((A3D2O '/' 4.0) * T4) '+'
  403. ((A4D2O '/' 5.0) * T5)) 'D2O ' 'NATU' 'DISCRET' ;
  404.  
  405. ETERO2 = 'NOMC' ((A0O2 * TN) '+' ((A1O2 '/' 2.0) * T2) '+'
  406. ((A2O2 '/' 3.0) * T3) '+' ((A3O2 '/' 4.0) * T4) '+'
  407. ((A4O2 '/' 5.0) * T5)) 'O2 ' 'NATU' 'DISCRET' ;
  408.  
  409. ETERN2 = 'NOMC' ((A0N2 * TN) '+' ((A1N2 '/' 2.0) * T2) '+'
  410. ((A2N2 '/' 3.0) * T3) '+' ((A3N2 '/' 4.0) * T4) '+'
  411. ((A4N2 '/' 5.0) * T5)) 'N2 ' 'NATU' 'DISCRET' ;
  412.  
  413. ETHERSIN = ETERD2 'ET' ETERD2O 'ET'ETERH2 'ET'
  414. ETERH2O 'ET' ETERO2 'ET' ETERN2 ;
  415.  
  416.  
  417. LISCOM1 = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 '
  418. 'D2 ' 'D2O ';
  419. RETHER = 'PSCAL' ETHERSIN (RYN 'ET' RYN2) LISCOM1 LISCOM1 ;
  420.  
  421. LISCOM2 = 'MOTS' 'UX ' 'UY ';
  422. RECIN = 'PSCAL' (0.5 '*' VN) GN LISCOM2 LISCOM2 ;
  423.  
  424. RET = RECIN '+' RETHER ;
  425.  
  426. CVH2 = 'NOMC' (A0H2 '+' (A1H2 * TN) '+'
  427. (A2H2 * T2) '+' (A3H2 * T3) '+'
  428. (A4H2 * T4)) 'H2 ' 'NATU' 'DISCRET' ;
  429.  
  430. CVH2O = 'NOMC' (A0H2O '+' (A1H2O * TN) '+'
  431. (A2H2O * T2) '+' (A3H2O * T3) '+'
  432. (A4H2O * T4)) 'H2O ' 'NATU' 'DISCRET' ;
  433.  
  434. CVD2 = 'NOMC' (A0D2 '+' (A1D2 * TN) '+'
  435. (A2D2 * T2) '+' (A3D2 * T3) '+'
  436. (A4D2 * T4)) 'D2 ' 'NATU' 'DISCRET' ;
  437.  
  438. CVD2O = 'NOMC' (A0D2O '+' (A1D2O * TN) '+'
  439. (A2D2O * T2) '+' (A3D2O * T3) '+'
  440. (A4D2O * T4)) 'D2O ' 'NATU' 'DISCRET' ;
  441.  
  442. CVO2 = 'NOMC' (A0O2 '+' (A1O2 * TN) '+'
  443. (A2O2 * T2) '+' (A3O2 * T3) '+'
  444. (A4O2 * T4)) 'O2 ' 'NATU' 'DISCRET' ;
  445.  
  446. CVN2 = 'NOMC' (A0N2 '+' (A1N2 * TN) '+'
  447. (A2N2 * T2) '+' (A3N2 * T3) '+'
  448. (A4N2 * T4)) 'N2 ' 'NATU' 'DISCRET' ;
  449.  
  450.  
  451. CPH2 = CVH2 '+' (PGAZ . 'H2 ' . 'R') ;
  452. CPH2O = CVH2O '+' (PGAZ . 'H2O ' . 'R') ;
  453. CPD2 = CVD2 '+' (PGAZ . 'D2 ' . 'R') ;
  454. CPD2O = CVD2O '+' (PGAZ . 'D2O ' . 'R') ;
  455. CPN2 = CVN2 '+' (PGAZ . 'N2 ' . 'R') ;
  456. CPO2 = CVO2 '+' (PGAZ . 'O2 ' . 'R') ;
  457.  
  458. CPSIN = CPH2 'ET' CPH2O 'ET' CPN2 'ET' CPO2 'ET'
  459. CPD2 'ET' CPD2O ;
  460.  
  461. CPTOT = 'PSCAL' CPSIN (YN 'ET' YN2) LISCOM1 LISCOM1 ;
  462.  
  463. CVSIN = CVD2 'ET' CVD2O 'ET'CVH2 'ET' CVH2O 'ET' CVN2 'ET' CVO2 ;
  464. CVTOT = 'PSCAL' CVSIN (YN 'ET'YN2) LISCOM1 LISCOM1 ;
  465.  
  466. GAMN = CPTOT '/' CVTOT ;
  467.  
  468. RTOT = CPTOT '-' CVTOT ;
  469.  
  470. PN = (RTOT '*' TN) '*' RN ;
  471.  
  472. * YN1 = RYN / RN ;
  473. * CHUN = MANU CHPO MAIL 1 'SCAL' 1.0d0 ;
  474. * YTOT = PSCA CHUN YN1 (MOTS
  475. * 'SCAL' 'SCAL' 'SCAL' 'SCAL' 'SCAL')
  476. * (EXTR YN1 COMP) ;
  477. * LIST YTOT ;
  478. *
  479. **** PRIM
  480. *
  481.  
  482. VITESSE PRES TEMPNEW YNNEW GAMNEW
  483. = 'PRIM' 'PERFTEMP' PGAZ RN GN RET RYN ;
  484.  
  485. *
  486. **** TEST
  487. *
  488.  
  489. ERRV = ('MAXIMUM' (VN '-' VITESSE) 'ABS')
  490. '/' ('MAXIMUM' VN) ;
  491.  
  492. ERRP = 'MAXIMUM' ((PRES '-' PN) '/' PN) 'ABS';
  493.  
  494. ERRT = 'MAXIMUM' ((TEMPNEW '-' TN) '/' TN) 'ABS';
  495.  
  496. ERRG = 'MAXIMUM' ((GAMN '-' GAMNEW) '/' GAMN) 'ABS';
  497.  
  498. ERRY = ('MAXIMUM' (YN '-' YNNEW) 'ABS')
  499. '/' ('MAXIMUM' YN) ;
  500.  
  501.  
  502. 'SI' (('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY )) '>'
  503. ERRMAX);
  504. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  505. 'LISTE' ('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY
  506. ));
  507. 'ERREUR' 5;
  508. 'FINSI' ;
  509.  
  510. **** Avec une temperature de premier tentative
  511.  
  512. VITESSE PRES TEMPNEW2 YNNEW GAMNEW
  513. = 'PRIM' 'PERFTEMP' PGAZ RN GN RET RYN TEMPNEW ;
  514.  
  515. ERRT = 'MAXIMUM' ((TEMPNEW '-' TEMPNEW2) '/' TEMPNEW) 'ABS';
  516.  
  517.  
  518. 'SI' (ERRT > ERRMAX);
  519. 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRT) ;
  520. 'ERREUR' 5;
  521. 'FINSI' ;
  522.  
  523. **** On teste aussi la difference entre l'energie initiale et celle la.
  524.  
  525. T2 = TEMPNEW * TEMPNEW ;
  526. T3 = T2 * TEMPNEW ;
  527. T4 = T3 * TEMPNEW ;
  528. T5 = T4 * TEMPNEW ;
  529.  
  530. ETERH2 = 'NOMC' ((A0H2 * TEMPNEW) '+' ((A1H2 '/' 2.0) * T2) '+'
  531. ((A2H2 '/' 3.0) * T3) '+' ((A3H2 '/' 4.0) * T4) '+'
  532. ((A4H2 '/' 5.0) * T5)) 'H2 ' 'NATU' 'DISCRET' ;
  533.  
  534. ETERH2O = 'NOMC' ((A0H2O * TEMPNEW) '+' ((A1H2O '/' 2.0) * T2) '+'
  535. ((A2H2O '/' 3.0) * T3) '+' ((A3H2O '/' 4.0) * T4) '+'
  536. ((A4H2O '/' 5.0) * T5)) 'H2O ' 'NATU' 'DISCRET' ;
  537.  
  538. ETERD2 = 'NOMC' ((A0D2 * TEMPNEW) '+' ((A1D2 '/' 2.0) * T2) '+'
  539. ((A2D2 '/' 3.0) * T3) '+' ((A3D2 '/' 4.0) * T4) '+'
  540. ((A4D2 '/' 5.0) * T5)) 'D2 ' 'NATU' 'DISCRET' ;
  541.  
  542. ETERD2O = 'NOMC' ((A0D2O * TEMPNEW) '+' ((A1D2O '/' 2.0) * T2) '+'
  543. ((A2D2O '/' 3.0) * T3) '+' ((A3D2O '/' 4.0) * T4) '+'
  544. ((A4D2O '/' 5.0) * T5)) 'D2O ' 'NATU' 'DISCRET' ;
  545.  
  546. ETERO2 = 'NOMC' ((A0O2 * TEMPNEW) '+' ((A1O2 '/' 2.0) * T2) '+'
  547. ((A2O2 '/' 3.0) * T3) '+' ((A3O2 '/' 4.0) * T4) '+'
  548. ((A4O2 '/' 5.0) * T5)) 'O2 ' 'NATU' 'DISCRET' ;
  549.  
  550. ETERN2 = 'NOMC' ((A0N2 * TEMPNEW) '+' ((A1N2 '/' 2.0) * T2) '+'
  551. ((A2N2 '/' 3.0) * T3) '+' ((A3N2 '/' 4.0) * T4) '+'
  552. ((A4N2 '/' 5.0) * T5)) 'N2 ' 'NATU' 'DISCRET' ;
  553.  
  554. ETHERSIN = ETERD2 'ET' ETERD2O 'ET' ETERH2 'ET' ETERH2O
  555. 'ET' ETERO2 'ET' ETERN2 ;
  556.  
  557.  
  558. LISCOM1 = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ' 'D2 ' 'D2O ' ;
  559. RETHER_N = 'PSCAL' ETHERSIN (RYN 'ET' RYN2) LISCOM1 LISCOM1 ;
  560.  
  561. ERRET = 'MAXIMUM' ((RETHER '-' RETHER_N) '/' RETHER) 'ABS' ;
  562.  
  563. 'SI' (ERRET > ERRMAX);
  564. 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRET) ;
  565. 'ERREUR' 5;
  566. 'FINSI' ;
  567.  
  568.  
  569.  
  570. * Splitting de scalaires passifs
  571.  
  572.  
  573. PGAZ . 'SCALPASS' = 'MOTS' 'REPS' 'RTAU' ;
  574.  
  575. TABS = ('NOMC' ('BRUI' 'BLAN' 'UNIF' 0.5 0.1 MAIL) 'RTAU') 'ET'
  576. ('NOMC' ('BRUI' 'BLAN' 'UNIF' 0.5 0.1 MAIL) 'REPS') ;
  577.  
  578. RTABS = RN '*' TABS ('MOTS' 'SCAL' 'SCAL') ('MOTS' 'RTAU ' 'REPS')
  579. ('MOTS' 'RTAU' 'REPS') ;
  580.  
  581. RTABS1 = 'COPIER' RTABS ;
  582.  
  583. VITESSE PRES TEMPNEW2 YNNEW TABSNEW GAMNEW
  584. = 'PRIM' 'PERFTEMP' PGAZ RN GN RET RYN RTABS TEMPNEW ;
  585.  
  586.  
  587. ERRV = ('MAXIMUM' (VN '-' VITESSE) 'ABS')
  588. '/' ('MAXIMUM' VN) ;
  589.  
  590. ERRP = 'MAXIMUM' ((PRES '-' PN) '/' PN) 'ABS';
  591.  
  592. ERRT = 'MAXIMUM' ((TEMPNEW2 '-' TN) '/' TN) 'ABS';
  593.  
  594. ERRG = 'MAXIMUM' ((GAMN '-' GAMNEW) '/' GAMN) 'ABS';
  595.  
  596. ERRY = ('MAXIMUM' (YN '-' YNNEW) 'ABS')
  597. '/' ('MAXIMUM' YN) ;
  598.  
  599.  
  600. ERRTAB = ('MAXIMUM' (TABS '-' TABSNEW) 'ABS') '/'
  601. ('MAXIMUM' TABS 'ABS') ;
  602.  
  603. ERRROT = ('MAXIMUM' (RTABS '-' RTABS1) 'ABS') '/'
  604. ('MAXIMUM' RTABS 'ABS') ;
  605.  
  606.  
  607.  
  608. 'SI' (('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY ERRTAB ERRROT)) '>'
  609. ERRMAX);
  610. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  611. 'LISTE' ('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY ERRTAB ERRROT
  612. ));
  613. 'ERREUR' 5;
  614. 'FINSI' ;
  615.  
  616.  
  617. ***************************************************************************
  618.  
  619. 'MESSAGE' ;
  620. 'MESSAGE' ('cv_i = polynoms constants');
  621. 'MESSAGE' ;
  622.  
  623.  
  624. *) Ordre de polynome = 0
  625.  
  626. ERRMAX = 1.0D-12 ;
  627.  
  628. ***********************
  629. **** LA TABLE PGAZ ****
  630. ***********************
  631.  
  632. PGAZ = 'TABLE' ;
  633.  
  634. *
  635. **** Ordre des polynoms
  636. *
  637.  
  638. PGAZ . 'NORD' = 0 ;
  639.  
  640. *
  641. **** Especes qui sont dans les equations d'Euler
  642. *
  643.  
  644. PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  645.  
  646. *
  647. **** Espece qui n'y est pas
  648. *
  649.  
  650.  
  651. PGAZ . 'ESPNEULE' = 'N2 ';
  652.  
  653. *
  654.  
  655. PGAZ . 'H2 ' = 'TABLE' ;
  656. PGAZ . 'H2O ' = 'TABLE' ;
  657. PGAZ . 'N2 ' = 'TABLE' ;
  658. PGAZ . 'O2 ' = 'TABLE' ;
  659.  
  660. *
  661. **** R (J/Kg/K)
  662. *
  663.  
  664. PGAZ . 'H2 ' . 'R' = 4130.0 ;
  665. PGAZ . 'H2O ' . 'R' = 461.4 ;
  666. PGAZ . 'N2 ' . 'R' = 296.8 ;
  667. PGAZ . 'O2 ' . 'R' = 259.8 ;
  668.  
  669.  
  670. *
  671. **** Regressions polynomials
  672. *
  673.  
  674.  
  675. *
  676. * Cas particulier: gaz "calorically perfect"
  677. *
  678.  
  679. PGAZ . 'H2 ' . 'A' = 'PROG' 9834.91866 ;
  680. PGAZ . 'H2O ' . 'A' = 'PROG' 1155.95625 ;
  681. PGAZ . 'N2 ' . 'A' = 'PROG' 652.940766 ;
  682. PGAZ . 'O2 ' . 'A' = 'PROG' 575.012333 ;
  683.  
  684. *
  685. **** "Enthalpies" (ou energies) de formations a OK (J/Kg)
  686. *
  687.  
  688. PGAZ . 'H2 ' . 'H0K' = -4.195D6 ;
  689. PGAZ . 'H2O ' . 'H0K' = -1.395D7 ;
  690. PGAZ . 'N2 ' . 'H0K' = -2.953D5 ;
  691. PGAZ . 'O2 ' . 'H0K' = -2.634D5 ;
  692.  
  693. *
  694. *** Fin PGAZ
  695. *
  696.  
  697. A0H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 1 ;
  698.  
  699. A0H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 1 ;
  700.  
  701. A0N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 1 ;
  702.  
  703. A0O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 1 ;
  704.  
  705.  
  706. *
  707. **** Pression, densite, temperature et vitesse
  708. *
  709.  
  710. RN = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  711. TN = 'BRUI' 'BLAN' 'UNIF' 5000 1000 MAIL ;
  712. YH2 = 'BRUI' 'BLAN' 'UNIF' 0.3 0.1 MAIL ;
  713. YO2 = 'BRUI' 'BLAN' 'UNIF' 0.2 0.1 MAIL ;
  714. YH2O = 'BRUI' 'BLAN' 'UNIF' 0.1 0.05 MAIL ;
  715.  
  716. YN2 = 1.0 '-' (YH2 '+' YO2 '+' YH2O) ;
  717.  
  718. RYH2 = RN * YH2 ;
  719. RYH2O = RN * YH2O ;
  720. RYO2 = RN * YO2 ;
  721. RYN2 = RN * YN2 ;
  722.  
  723. YH2 = 'NOMC' YH2 'H2 ' 'NATU' 'DISCRET' ;
  724. YH2O = 'NOMC' YH2O 'H2O ' 'NATU' 'DISCRET' ;
  725. YO2 = 'NOMC' YO2 'O2 ' 'NATU' 'DISCRET' ;
  726. YN2 = 'NOMC' YN2 'N2 ' 'NATU' 'DISCRET' ;
  727. YN = YH2 'ET' YO2 'ET' YH2O ;
  728.  
  729. RYH2 = 'NOMC' RYH2 'H2 ' 'NATU' 'DISCRET' ;
  730. RYH2O = 'NOMC' RYH2O 'H2O ' 'NATU' 'DISCRET' ;
  731. RYO2 = 'NOMC' RYO2 'O2 ' 'NATU' 'DISCRET' ;
  732. RYN2 = 'NOMC' RYN2 'N2 ' 'NATU' 'DISCRET' ;
  733.  
  734. VNX = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  735. VNY = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  736.  
  737. VN = ('NOMC' VNX 'UX' 'NATU' 'DISCRET' ) 'ET'
  738. ('NOMC' VNY 'UY' 'NATU' 'DISCRET' ) ;
  739.  
  740. GN = ('NOMC' (VNX * RN) 'UX' 'NATU' 'DISCRET' ) 'ET'
  741. ('NOMC' (VNY * RN) 'UY' 'NATU' 'DISCRET' ) ;
  742.  
  743. RYN = RYH2 'ET' RYH2O 'ET' RYO2 ;
  744.  
  745. *
  746. * Calcul de l'energie thermique et du gamma
  747. *
  748.  
  749. ETERH2 = 'NOMC' ((A0H2 * TN) ) 'H2 ' 'NATU' 'DISCRET' ;
  750.  
  751. ETERH2O = 'NOMC' ((A0H2O * TN)) 'H2O ' 'NATU' 'DISCRET' ;
  752.  
  753. ETERO2 = 'NOMC' ((A0O2 * TN)) 'O2 ' 'NATU' 'DISCRET' ;
  754.  
  755. ETERN2 = 'NOMC' ((A0N2 * TN)) 'N2 ' 'NATU' 'DISCRET' ;
  756.  
  757. ETHERSIN = ETERH2 'ET' ETERH2O 'ET' ETERO2 'ET' ETERN2 ;
  758.  
  759.  
  760. LISCOM1 = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ';
  761. RETHER = 'PSCAL' ETHERSIN (RYN 'ET' RYN2) LISCOM1 LISCOM1 ;
  762.  
  763. LISCOM2 = 'MOTS' 'UX ' 'UY ';
  764. RECIN = 'PSCAL' (0.5 '*' VN) GN LISCOM2 LISCOM2 ;
  765.  
  766. RET = RECIN '+' RETHER ;
  767.  
  768. CHUN = 'MANUEL' 'CHPO' MAIL 1 'SCAL' 1.0 ;
  769.  
  770. CVH2 = 'NOMC' (A0H2 '*' CHUN) 'H2 ' 'NATU' 'DISCRET' ;
  771.  
  772. CVH2O = 'NOMC' (A0H2O '*' CHUN) 'H2O ' 'NATU' 'DISCRET' ;
  773.  
  774. CVO2 = 'NOMC' (A0O2 '*' CHUN) 'O2 ' 'NATU' 'DISCRET' ;
  775.  
  776. CVN2 = 'NOMC' (A0N2 '*' CHUN) 'N2 ' 'NATU' 'DISCRET' ;
  777.  
  778.  
  779. CPH2 = CVH2 '+' (PGAZ . 'H2 ' . 'R') ;
  780. CPH2O = CVH2O '+' (PGAZ . 'H2O ' . 'R') ;
  781. CPN2 = CVN2 '+' (PGAZ . 'N2 ' . 'R') ;
  782. CPO2 = CVO2 '+' (PGAZ . 'O2 ' . 'R') ;
  783.  
  784. CPSIN = CPH2 'ET' CPH2O 'ET' CPN2 'ET' CPO2 ;
  785. CPTOT = 'PSCAL' CPSIN (YN 'ET' YN2) LISCOM1 LISCOM1 ;
  786.  
  787. CVSIN = CVH2 'ET' CVH2O 'ET' CVN2 'ET' CVO2 ;
  788. CVTOT = 'PSCAL' CVSIN (YN 'ET'YN2) LISCOM1 LISCOM1 ;
  789.  
  790. GAMN = CPTOT '/' CVTOT ;
  791.  
  792. RTOT = CPTOT '-' CVTOT ;
  793.  
  794. PN = (RTOT '*' TN) '*' RN ;
  795.  
  796. *
  797. **** PRIM
  798. *
  799.  
  800. VITESSE PRES TEMPNEW YNNEW GAMNEW
  801. = 'PRIM' 'PERFTEMP' PGAZ RN GN RET RYN ;
  802.  
  803.  
  804. *
  805. **** TEST
  806. *
  807.  
  808.  
  809. ERRV = ('MAXIMUM' (VN '-' VITESSE) 'ABS')
  810. '/' ('MAXIMUM' VN) ;
  811.  
  812. ERRP = 'MAXIMUM' ((PRES '-' PN) '/' PN) 'ABS';
  813.  
  814. ERRT = 'MAXIMUM' ((TEMPNEW '-' TN) '/' TN) 'ABS';
  815.  
  816. ERRG = 'MAXIMUM' ((GAMN '-' GAMNEW) '/' GAMN) 'ABS';
  817.  
  818. ERRY = ('MAXIMUM' (YN '-' YNNEW) 'ABS')
  819. '/' ('MAXIMUM' YN) ;
  820.  
  821. ERRMAX = 1.0D-8 ;
  822.  
  823. 'SI' (('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY )) '>'
  824. ERRMAX);
  825. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  826. 'LISTE' ('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY
  827. ));
  828. 'ERREUR' 5;
  829. 'FINSI' ;
  830.  
  831. **** Avec une temperature de premier tentative
  832.  
  833. VITESSE PRES TEMPNEW2 YNNEW GAMNEW
  834. = 'PRIM' 'PERFTEMP' PGAZ RN GN RET RYN TEMPNEW ;
  835.  
  836. ERRT = 'MAXIMUM' ((TEMPNEW '-' TEMPNEW2) '/' TEMPNEW) 'ABS';
  837.  
  838.  
  839. 'SI' (ERRT > ERRMAX);
  840. 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRT) ;
  841. 'ERREUR' 5;
  842. 'FINSI' ;
  843.  
  844. **** On teste aussi la difference entre l'energie initiale et celle la.
  845.  
  846.  
  847. ETERH2 = 'NOMC' ((A0H2 * TEMPNEW)) 'H2 ' 'NATU' 'DISCRET' ;
  848.  
  849. ETERH2O = 'NOMC' ((A0H2O * TEMPNEW)) 'H2O ' 'NATU' 'DISCRET' ;
  850.  
  851. ETERO2 = 'NOMC' ((A0O2 * TEMPNEW)) 'O2 ' 'NATU' 'DISCRET' ;
  852.  
  853. ETERN2 = 'NOMC' ((A0N2 * TEMPNEW)) 'N2 ' 'NATU' 'DISCRET' ;
  854.  
  855. ETHERSIN = ETERH2 'ET' ETERH2O 'ET' ETERO2 'ET' ETERN2 ;
  856.  
  857.  
  858. LISCOM1 = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ';
  859. RETHER_N = 'PSCAL' ETHERSIN (RYN 'ET' RYN2) LISCOM1 LISCOM1 ;
  860.  
  861. ERRET = 'MAXIMUM' ((RETHER '-' RETHER_N) '/' RETHER) 'ABS' ;
  862.  
  863. 'SI' (ERRET > ERRMAX);
  864. 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRET) ;
  865. 'ERREUR' 5;
  866. 'FINSI' ;
  867.  
  868. *) Ordre de polynome = 6
  869.  
  870. 'MESSAGE' ;
  871. 'MESSAGE' ('cv_i = polynoms de 6-eme degre');
  872. 'MESSAGE' ;
  873.  
  874. ERRMAX = 1.0D-6 ;
  875.  
  876. ***********************
  877. **** LA TABLE PGAZ ****
  878. ***********************
  879.  
  880. PGAZ = 'TABLE' ;
  881.  
  882. *
  883. **** Degree des polynoms
  884. *
  885.  
  886. PGAZ . 'NORD' = 6 ;
  887.  
  888. *
  889. **** Especes qui sont dans les equations d'Euler
  890. *
  891.  
  892. PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  893.  
  894. *
  895. **** Espece qui n'y est pas
  896. *
  897.  
  898.  
  899. PGAZ . 'ESPNEULE' = 'N2 ';
  900.  
  901. *
  902.  
  903. PGAZ . 'H2 ' = 'TABLE' ;
  904. PGAZ . 'H2O ' = 'TABLE' ;
  905. PGAZ . 'N2 ' = 'TABLE' ;
  906. PGAZ . 'O2 ' = 'TABLE' ;
  907.  
  908. *
  909. **** R (J/Kg/K)
  910. *
  911.  
  912. PGAZ . 'H2 ' . 'R' = 4130.0 ;
  913. PGAZ . 'H2O ' . 'R' = 461.4 ;
  914. PGAZ . 'N2 ' . 'R' = 296.8 ;
  915. PGAZ . 'O2 ' . 'R' = 259.8 ;
  916.  
  917.  
  918. *
  919. **** Regressions polynomials
  920. *
  921.  
  922. PGAZ . 'H2 ' . 'A' = 'PROG' 10248.0372 -1.03957227 0.00255509482
  923. -9.58464375e-07 1.48148549e-10 -7.8001118e-15 -7.79545492e-20;
  924.  
  925. PGAZ . 'H2O ' . 'A' = 'PROG' 1360.58141 -0.125858285 0.0011033462
  926. -6.6747447e-07 1.78610037e-10 -2.28470046e-14 1.13454102e-18;
  927.  
  928. PGAZ . 'N2 ' . 'A' = 'PROG' 728.668971 -0.0529645705 0.000381479798
  929. -2.58652439e-07 7.53087309e-11 -1.02222342e-14 5.29069427e-19;
  930.  
  931. PGAZ . 'O2 ' . 'A' = 'PROG' 556.260207 0.41690925 -0.000189280713
  932. 4.17265093e-08 -1.90948012e-12 -5.80397913e-16 6.12867501e-20;
  933.  
  934. *
  935. **** "Enthalpies" (ou energies) de formations a OK (J/Kg)
  936. *
  937.  
  938. PGAZ . 'H2 ' . 'H0K' = -4.195D6 ;
  939. PGAZ . 'H2O ' . 'H0K' = -1.395D7 ;
  940. PGAZ . 'N2 ' . 'H0K' = -2.953D5 ;
  941. PGAZ . 'O2 ' . 'H0K' = -2.634D5 ;
  942.  
  943. *
  944. *** Fin PGAZ
  945. *
  946.  
  947. A0H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 1 ;
  948. A1H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 2 ;
  949. A2H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 3 ;
  950. A3H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 4 ;
  951. A4H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 5 ;
  952. A5H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 6 ;
  953. A6H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 7 ;
  954.  
  955. A0H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 1 ;
  956. A1H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 2 ;
  957. A2H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 3 ;
  958. A3H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 4 ;
  959. A4H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 5 ;
  960. A5H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 6 ;
  961. A6H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 7 ;
  962.  
  963. A0N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 1 ;
  964. A1N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 2 ;
  965. A2N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 3 ;
  966. A3N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 4 ;
  967. A4N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 5 ;
  968. A5N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 6 ;
  969. A6N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 7 ;
  970.  
  971. A0O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 1 ;
  972. A1O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 2 ;
  973. A2O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 3 ;
  974. A3O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 4 ;
  975. A4O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 5 ;
  976. A5O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 6 ;
  977. A6O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 7 ;
  978.  
  979. LCV1H2 = 'PROG' ;
  980. LCV1H2O = 'PROG' ;
  981. LCV1N2 = 'PROG' ;
  982. LCV1O2 = 'PROG' ;
  983.  
  984. 'REPETER' BL1 ('DIME' LTEMP ) ;
  985. T = 'EXTRAIRE' LTEMP &BL1 ;
  986. T2 = T * T ;
  987. T3 = T2 * T ;
  988. T4 = T3 * T;
  989. T5 = T4 * T;
  990. T6 = T5 * T;
  991. LCV1H2 = LCV1H2 'ET' ('PROG'
  992. (A0H2 '+' (A1H2 * T) '+' (A2H2 * T2) '+' (A3H2 * T3) '+'
  993. (A4H2 * T4) '+' (A5H2 * T5) '+' (A6H2 * T6))) ;
  994. LCV1H2O = LCV1H2O 'ET' ('PROG'
  995. (A0H2O '+' (A1H2O * T) '+' (A2H2O * T2) '+' (A3H2O * T3) '+'
  996. (A4H2O * T4) '+' (A5H2O * T5) '+' (A6H2O * T6))) ;
  997. LCV1N2 = LCV1N2 'ET' ('PROG'
  998. (A0N2 '+' (A1N2 * T) '+' (A2N2 * T2) '+' (A3N2 * T3) '+'
  999. (A4N2 * T4) '+' (A5N2 * T5) '+' (A6N2 * T6))) ;
  1000. LCV1O2 = LCV1O2 'ET' ('PROG'
  1001. (A0O2 '+' (A1O2 * T) '+' (A2O2 * T2) '+' (A3O2 * T3) '+'
  1002. (A4O2 * T4)'+' (A5O2 * T5) '+' (A6O2 * T6))) ;
  1003. 'FIN' BL1 ;
  1004.  
  1005. EVCVH2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCVH2 ;
  1006. EVCV1H2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCV1H2 ;
  1007. EVCVH2O = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCVH2O ;
  1008. EVCV1H2O = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCV1H2O ;
  1009. EVCVN2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCVN2 ;
  1010. EVCV1N2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCV1N2 ;
  1011. EVCVO2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCVO2 ;
  1012. EVCV1O2 = 'EVOL' 'MANU' 'T(K)' LTEMP 'CV (J/Kg/K)' LCV1O2 ;
  1013.  
  1014. TAB1 = 'TABLE' ;
  1015. TAB1 . 'TITRE' = 'TABLE' ;
  1016. TAB1 . 1 ='TIRR ';
  1017. TAB1 . 'TITRE' . 1 = 'JANAF DATA';
  1018. TAB1 . 2 = 'MARQ CROI';
  1019. TAB1 . 'TITRE' . 2 = 'POLYN. REGR.';
  1020.  
  1021. 'SI' GRAPH ;
  1022. 'DESSIN' (EVCVH2 'ET' EVCV1H2) 'LEGE' TAB1 'TITRE'
  1023. 'H2, polynome du 6-eme degre' ;
  1024. 'DESSIN' (EVCVH2O 'ET' EVCV1H2O) 'LEGE' TAB1 'TITRE'
  1025. 'H2O, polynome du 6-eme degre' ;
  1026. 'DESSIN' (EVCVN2 'ET' EVCV1N2) 'LEGE' TAB1 'TITRE'
  1027. 'N2, polynome du 6-eme degre' ;
  1028. 'DESSIN' (EVCVO2 'ET' EVCV1O2) 'LEGE' TAB1 'TITRE'
  1029. 'O2, polynome du 6-eme degre' ;
  1030. 'FINSI' ;
  1031.  
  1032. *
  1033. **** Pression, densite, temperature et vitesse
  1034. *
  1035.  
  1036. RN = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  1037. TN = 'BRUI' 'BLAN' 'UNIF' 5000 1000 MAIL ;
  1038. YH2 = 'BRUI' 'BLAN' 'UNIF' 0.3 0.1 MAIL ;
  1039. YO2 = 'BRUI' 'BLAN' 'UNIF' 0.2 0.1 MAIL ;
  1040. YH2O = 'BRUI' 'BLAN' 'UNIF' 0.1 0.05 MAIL ;
  1041.  
  1042. YN2 = 1.0 '-' (YH2 '+' YO2 '+' YH2O) ;
  1043.  
  1044. RYH2 = RN * YH2 ;
  1045. RYH2O = RN * YH2O ;
  1046. RYO2 = RN * YO2 ;
  1047. RYN2 = RN * YN2 ;
  1048.  
  1049. YH2 = 'NOMC' YH2 'H2 ' 'NATU' 'DISCRET' ;
  1050. YH2O = 'NOMC' YH2O 'H2O ' 'NATU' 'DISCRET' ;
  1051. YO2 = 'NOMC' YO2 'O2 ' 'NATU' 'DISCRET' ;
  1052. YN2 = 'NOMC' YN2 'N2 ' 'NATU' 'DISCRET' ;
  1053. YN = YH2 'ET' YO2 'ET' YH2O ;
  1054.  
  1055. RYH2 = 'NOMC' RYH2 'H2 ' 'NATU' 'DISCRET' ;
  1056. RYH2O = 'NOMC' RYH2O 'H2O ' 'NATU' 'DISCRET' ;
  1057. RYO2 = 'NOMC' RYO2 'O2 ' 'NATU' 'DISCRET' ;
  1058. RYN2 = 'NOMC' RYN2 'N2 ' 'NATU' 'DISCRET' ;
  1059.  
  1060. VNX = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  1061. VNY = 'BRUI' 'BLAN' 'UNIF' 1.0 0.1 MAIL ;
  1062.  
  1063. VN = ('NOMC' VNX 'UX' 'NATU' 'DISCRET' ) 'ET'
  1064. ('NOMC' VNY 'UY' 'NATU' 'DISCRET' ) ;
  1065.  
  1066. GN = ('NOMC' (VNX * RN) 'UX' 'NATU' 'DISCRET' ) 'ET'
  1067. ('NOMC' (VNY * RN) 'UY' 'NATU' 'DISCRET' ) ;
  1068.  
  1069. RYN = RYH2 'ET' RYH2O 'ET' RYO2 ;
  1070.  
  1071. *
  1072. * Calcul de l'energie thermique et du gamma
  1073. *
  1074. * Ether = \sum_{i=1,4} Y_i \int_{0}^{T} cv_i(x) dx
  1075. * gamma = (\sum_{i=1,4} Y_i cp_i) / (\sum_{i=1,4} Y_i cv_i)
  1076. *
  1077.  
  1078. T2 = TN * TN ;
  1079. T3 = T2 * TN ;
  1080. T4 = T3 * TN ;
  1081. T5 = T4 * TN ;
  1082. T6 = T5 * TN ;
  1083. T7 = T6 * TN ;
  1084.  
  1085. ETERH2 = 'NOMC' ((A0H2 * TN) '+' ((A1H2 '/' 2.0) * T2) '+'
  1086. ((A2H2 '/' 3.0) * T3) '+' ((A3H2 '/' 4.0) * T4) '+'
  1087. ((A4H2 '/' 5.0) * T5) '+' ((A5H2 '/' 6.0) * T6) '+'
  1088. ((A6H2 '/' 7.0) * T7)) 'H2 ' 'NATU' 'DISCRET' ;
  1089.  
  1090. ETERH2O = 'NOMC' ((A0H2O * TN) '+' ((A1H2O '/' 2.0) * T2) '+'
  1091. ((A2H2O '/' 3.0) * T3) '+' ((A3H2O '/' 4.0) * T4) '+'
  1092. ((A4H2O '/' 5.0) * T5)'+' ((A5H2O '/' 6.0) * T6) '+'
  1093. ((A6H2O '/' 7.0) * T7)) 'H2O ' 'NATU' 'DISCRET' ;
  1094.  
  1095. ETERO2 = 'NOMC' ((A0O2 * TN) '+' ((A1O2 '/' 2.0) * T2) '+'
  1096. ((A2O2 '/' 3.0) * T3) '+' ((A3O2 '/' 4.0) * T4) '+'
  1097. ((A4O2 '/' 5.0) * T5) '+' ((A5O2 '/' 6.0) * T6) '+'
  1098. ((A6O2 '/' 7.0) * T7)) 'O2 ' 'NATU' 'DISCRET' ;
  1099.  
  1100. ETERN2 = 'NOMC' ((A0N2 * TN) '+' ((A1N2 '/' 2.0) * T2) '+'
  1101. ((A2N2 '/' 3.0) * T3) '+' ((A3N2 '/' 4.0) * T4) '+'
  1102. ((A4N2 '/' 5.0) * T5)'+' ((A5N2 '/' 6.0) * T6) '+'
  1103. ((A6N2 '/' 7.0) * T7)) 'N2 ' 'NATU' 'DISCRET' ;
  1104.  
  1105. ETHERSIN = ETERH2 'ET' ETERH2O 'ET' ETERO2 'ET' ETERN2 ;
  1106.  
  1107.  
  1108. LISCOM1 = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ';
  1109. RETHER = 'PSCAL' ETHERSIN (RYN 'ET' RYN2) LISCOM1 LISCOM1 ;
  1110.  
  1111. LISCOM2 = 'MOTS' 'UX ' 'UY ';
  1112. RECIN = 'PSCAL' (0.5 '*' VN) GN LISCOM2 LISCOM2 ;
  1113.  
  1114. RET = RECIN '+' RETHER ;
  1115.  
  1116. CVH2 = 'NOMC' (A0H2 '+' (A1H2 * TN) '+'
  1117. (A2H2 * T2) '+' (A3H2 * T3) '+'
  1118. (A4H2 * T4) '+' (A5H2 * T5) '+'
  1119. (A6H2 * T6)) 'H2 ' 'NATU' 'DISCRET' ;
  1120.  
  1121. CVH2O = 'NOMC' (A0H2O '+' (A1H2O * TN) '+'
  1122. (A2H2O * T2) '+' (A3H2O * T3) '+'
  1123. (A4H2O * T4) '+' (A5H2O * T5) '+'
  1124. (A6H2O * T6)) 'H2O ' 'NATU' 'DISCRET' ;
  1125.  
  1126. CVO2 = 'NOMC' (A0O2 '+' (A1O2 * TN) '+'
  1127. (A2O2 * T2) '+' (A3O2 * T3) '+'
  1128. (A4O2 * T4) '+' (A5O2 * T5) '+'
  1129. (A6O2 * T6)) 'O2 ' 'NATU' 'DISCRET' ;
  1130.  
  1131. CVN2 = 'NOMC' (A0N2 '+' (A1N2 * TN) '+'
  1132. (A2N2 * T2) '+' (A3N2 * T3) '+'
  1133. (A4N2 * T4) '+' (A5N2 * T5) '+'
  1134. (A6N2 * T6)) 'N2 ' 'NATU' 'DISCRET' ;
  1135.  
  1136.  
  1137. CPH2 = CVH2 '+' (PGAZ . 'H2 ' . 'R') ;
  1138. CPH2O = CVH2O '+' (PGAZ . 'H2O ' . 'R') ;
  1139. CPN2 = CVN2 '+' (PGAZ . 'N2 ' . 'R') ;
  1140. CPO2 = CVO2 '+' (PGAZ . 'O2 ' . 'R') ;
  1141.  
  1142. CPSIN = CPH2 'ET' CPH2O 'ET' CPN2 'ET' CPO2 ;
  1143. CPTOT = 'PSCAL' CPSIN (YN 'ET' YN2) LISCOM1 LISCOM1 ;
  1144.  
  1145. CVSIN = CVH2 'ET' CVH2O 'ET' CVN2 'ET' CVO2 ;
  1146. CVTOT = 'PSCAL' CVSIN (YN 'ET'YN2) LISCOM1 LISCOM1 ;
  1147.  
  1148. GAMN = CPTOT '/' CVTOT ;
  1149.  
  1150. RTOT = CPTOT '-' CVTOT ;
  1151.  
  1152. PN = (RTOT '*' TN) '*' RN ;
  1153.  
  1154. *
  1155. **** PRIM
  1156. *
  1157.  
  1158. VITESSE PRES TEMPNEW YNNEW GAMNEW
  1159. = 'PRIM' 'PERFTEMP' PGAZ RN GN RET RYN ;
  1160.  
  1161.  
  1162. *
  1163. **** TEST
  1164. *
  1165.  
  1166.  
  1167. ERRV = ('MAXIMUM' (VN '-' VITESSE) 'ABS')
  1168. '/' ('MAXIMUM' VN) ;
  1169.  
  1170. ERRP = 'MAXIMUM' ((PRES '-' PN) '/' PN) 'ABS';
  1171.  
  1172. ERRT = 'MAXIMUM' ((TEMPNEW '-' TN) '/' TN) 'ABS';
  1173.  
  1174. ERRG = 'MAXIMUM' ((GAMN '-' GAMNEW) '/' GAMN) 'ABS';
  1175.  
  1176. ERRY = ('MAXIMUM' (YN '-' YNNEW) 'ABS')
  1177. '/' ('MAXIMUM' YN) ;
  1178.  
  1179.  
  1180. 'SI' (('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY )) '>'
  1181. ERRMAX);
  1182. 'MESSAGE' ('CHAINE' 'Erreur maximum');
  1183. 'LISTE' ('MAXIMUM' ('PROG' ERRV ERRP ERRT ERRG ERRY
  1184. ));
  1185. 'ERREUR' 5;
  1186. 'FINSI' ;
  1187.  
  1188. **** Avec une temperature de premier tentative
  1189.  
  1190. VITESSE PRES TEMPNEW2 YNNEW GAMNEW
  1191. = 'PRIM' 'PERFTEMP' PGAZ RN GN RET RYN TEMPNEW ;
  1192.  
  1193. ERRT = 'MAXIMUM' ((TEMPNEW '-' TEMPNEW2) '/' TEMPNEW) 'ABS';
  1194.  
  1195.  
  1196. 'SI' (ERRT > ERRMAX);
  1197. 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRT) ;
  1198. 'ERREUR' 5;
  1199. 'FINSI' ;
  1200.  
  1201. **** On teste aussi la difference entre l'energie initiale et celle la.
  1202.  
  1203.  
  1204. T2 = TEMPNEW * TEMPNEW ;
  1205. T3 = T2 * TEMPNEW ;
  1206. T4 = T3 * TEMPNEW ;
  1207. T5 = T4 * TEMPNEW ;
  1208. T6 = T5 * TEMPNEW ;
  1209. T7 = T6 * TEMPNEW ;
  1210.  
  1211. ETERH2 = 'NOMC' ((A0H2 * TEMPNEW) '+' ((A1H2 '/' 2.0) * T2) '+'
  1212. ((A2H2 '/' 3.0) * T3) '+' ((A3H2 '/' 4.0) * T4) '+'
  1213. ((A4H2 '/' 5.0) * T5) '+' ((A5H2 '/' 6.0) * T6) '+'
  1214. ((A6H2 '/' 7.0) * T7)) 'H2 ' 'NATU' 'DISCRET' ;
  1215.  
  1216. ETERH2O = 'NOMC' ((A0H2O * TEMPNEW) '+' ((A1H2O '/' 2.0) * T2) '+'
  1217. ((A2H2O '/' 3.0) * T3) '+' ((A3H2O '/' 4.0) * T4) '+'
  1218. ((A4H2O '/' 5.0) * T5)'+' ((A5H2O '/' 6.0) * T6) '+'
  1219. ((A6H2O '/' 7.0) * T7)) 'H2O ' 'NATU' 'DISCRET' ;
  1220.  
  1221. ETERO2 = 'NOMC' ((A0O2 * TEMPNEW) '+' ((A1O2 '/' 2.0) * T2) '+'
  1222. ((A2O2 '/' 3.0) * T3) '+' ((A3O2 '/' 4.0) * T4) '+'
  1223. ((A4O2 '/' 5.0) * T5) '+' ((A5O2 '/' 6.0) * T6) '+'
  1224. ((A6O2 '/' 7.0) * T7)) 'O2 ' 'NATU' 'DISCRET' ;
  1225.  
  1226. ETERN2 = 'NOMC' ((A0N2 * TEMPNEW) '+' ((A1N2 '/' 2.0) * T2) '+'
  1227. ((A2N2 '/' 3.0) * T3) '+' ((A3N2 '/' 4.0) * T4) '+'
  1228. ((A4N2 '/' 5.0) * T5)'+' ((A5N2 '/' 6.0) * T6) '+'
  1229. ((A6N2 '/' 7.0) * T7)) 'N2 ' 'NATU' 'DISCRET' ;
  1230.  
  1231. ETHERSIN = ETERH2 'ET' ETERH2O 'ET' ETERO2 'ET' ETERN2 ;
  1232.  
  1233.  
  1234. LISCOM1 = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ';
  1235. RETHER_N = 'PSCAL' ETHERSIN (RYN 'ET' RYN2) LISCOM1 LISCOM1 ;
  1236.  
  1237. ERRET = 'MAXIMUM' ((RETHER '-' RETHER_N) '/' RETHER) 'ABS' ;
  1238.  
  1239.  
  1240. 'SI' (ERRET > ERRMAX) ;
  1241. 'MESSAGE' ('CHAINE' 'Erreur maximum' ERRET) ;
  1242. 'ERREUR' 5 ;
  1243. 'FINSI' ;
  1244.  
  1245.  
  1246. 'FIN' ;
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  

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