Télécharger clmult2D.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : clmult2D.dgibi
  2. *********************************************************************
  3. * VF, Condition Limites en 2D pour les Equations d'Euler *
  4. * multiespeces *
  5. * Kudriakov S., DM2S/SFME/LTMF, FEVRIER 2003 *
  6. * *
  7. * Beccantini A., DM2S/SFME/LTMF, FEVRIER 2006: *
  8. * BC of RESErvoir type *
  9. *********************************************************************
  10.  
  11. TYEL = 'QUA8' ;
  12. * TYEL = 'TRI6' ;
  13.  
  14. 'OPTION' 'DIME' 2 'ELEM' TYEL 'ISOV' 'SULI'
  15. 'ECHO' 1 'TRAC' 'X' ;
  16.  
  17.  
  18. GRAPH = VRAI ;
  19. GRAPH = FAUX ;
  20.  
  21. ******************
  22. **** MAILLAGE ****
  23. ******************
  24. *
  25. * P2 P3
  26. *
  27.  
  28. DX = 0.5 ;
  29. P2 = 0.0 0.0 ;
  30. P3 = DX DX ;
  31. P2P3 = P2 'DROIT' 1 P3 ;
  32.  
  33. LIGHAU = (P2P3) 'PLUS' (4 '*' ((-1*DX) DX)) ;
  34.  
  35. DOMINT = P2P3 'REGLER' 4 LIGHAU ;
  36.  
  37. DOMINT = 'CHANGER' DOMINT 'QUAF' ;
  38.  
  39. *
  40. **** Creation of DOMAINE tables via the MODEL object
  41. *
  42.  
  43. MDOMINT = 'MODELISER' DOMINT 'NAVIER_STOKES' 'LINE' ;
  44. MP2P3 = 'MODELISER' P2P3 'NAVIER_STOKES' 'LINE' ;
  45.  
  46. $DOMINT = 'DOMA' MDOMINT 'TABLE' ;
  47. $P2P3 = 'DOMA' MP2P3 'TABLE' ;
  48.  
  49. DOMINT = 'DOMA' MDOMINT 'MAILLAGE' ;
  50. P2P3 = 'DOMA' MP2P3 'MAILLAGE' ;
  51.  
  52. PCEN = ($DOMINT . 'CENTRE') 'POIN' 'PROC' ((DX '/' 2) (DX /2)) ;
  53.  
  54. MDICEN = $DOMINT . 'CENTRE' ;
  55. MFCEN = $P2P3 . 'CENTRE' ;
  56.  
  57. 'SI' GRAPH ;
  58. 'TRACER' (DOMINT 'ET' PCEN) ;
  59. 'FINSI' ;
  60.  
  61. **********************************************************************************
  62. **********************************************************************************
  63. *************************** Riemann invariants, inlet ***************************
  64. **********************************************************************************
  65. **********************************************************************************
  66. NESP = 4 ;
  67.  
  68. *-----------------------------------------------------
  69. *** GAS: H_2, O_2, H_2O, N_2
  70. *
  71. * CP, CV en J/Kg/K @ T = 3000
  72. *-----------------------------------------------------
  73.  
  74. PGAS = 'TABLE' ;
  75.  
  76. PGAS . 'CP' = 'TABLE' ;
  77. PGAS . 'CP' . 'H2 ' = .18729066D+05 ;
  78. PGAS . 'CP' . 'O2 ' = .11886820D+04 ;
  79. PGAS . 'CP' . 'H2O ' = .31209047D+04 ;
  80. PGAS . 'CP' . 'N2 ' = .12993995D+04 ;
  81.  
  82.  
  83.  
  84. PGAS . 'CV' = 'TABLE' ;
  85. PGAS . 'CV' . 'H2 ' = .14571861D+05 ;
  86. PGAS . 'CV' . 'O2 ' = .92885670D+03 ;
  87. PGAS . 'CV' . 'H2O ' = .26589930D+04 ;
  88. PGAS . 'CV' . 'N2 ' = .10024563D+04;
  89.  
  90. *----------------------------------------------------
  91. **** Especes qui sont dans les equations d'Euler
  92. *----------------------------------------------------
  93.  
  94. PGAS . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  95.  
  96. *----------------------------------------------------
  97. **** Espece qui n'y est pas
  98. *----------------------------------------------------
  99.  
  100.  
  101. PGAS . 'ESPNEULE' = 'N2 ' ;
  102.  
  103. *-----------------
  104. *** CP ****
  105. *-----------------
  106. CP = ('MANUEL' 'CHPO' MDICEN 1 'H2'
  107. (PGAS . 'CP' . 'H2 ') 'NATU' 'DISCRET') 'ET'
  108. ('MANUEL' 'CHPO' MDICEN 1 'O2'
  109. (PGAS . 'CP' . 'O2 ') 'NATU' 'DISCRET') 'ET'
  110. ('MANUEL' 'CHPO' MDICEN 1 'H2O'
  111. (PGAS . 'CP' . 'H2O ') 'NATU' 'DISCRET') 'ET'
  112. ('MANUEL' 'CHPO' MDICEN 1 'N2'
  113. (PGAS . 'CP' . 'N2 ') 'NATU' 'DISCRET') ;
  114. ***************************
  115. CPCEL = ('MANUEL' 'CHPO' MFCEN 1 'H2'
  116. (PGAS . 'CP' . 'H2 ') 'NATU' 'DISCRET') 'ET'
  117. ('MANUEL' 'CHPO' MFCEN 1 'O2'
  118. (PGAS . 'CP' . 'O2 ') 'NATU' 'DISCRET') 'ET'
  119. ('MANUEL' 'CHPO' MFCEN 1 'H2O'
  120. (PGAS . 'CP' . 'H2O ') 'NATU' 'DISCRET') 'ET'
  121. ('MANUEL' 'CHPO' MFCEN 1 'N2'
  122. (PGAS . 'CP' . 'N2 ') 'NATU' 'DISCRET') ;
  123. *-----------------
  124. *** CV ****
  125. *-----------------
  126. CV = ('MANUEL' 'CHPO' MDICEN 1 'H2'
  127. (PGAS . 'CV' . 'H2 ') 'NATU' 'DISCRET') 'ET'
  128. ('MANUEL' 'CHPO' MDICEN 1 'O2'
  129. (PGAS . 'CV' . 'O2 ') 'NATU' 'DISCRET') 'ET'
  130. ('MANUEL' 'CHPO' MDICEN 1 'H2O'
  131. (PGAS . 'CV' . 'H2O ') 'NATU' 'DISCRET') 'ET'
  132. ('MANUEL' 'CHPO' MDICEN 1 'N2'
  133. (PGAS . 'CV' . 'N2 ') 'NATU' 'DISCRET') ;
  134. *****************************
  135. CVCEL = ('MANUEL' 'CHPO' MFCEN 1 'H2'
  136. (PGAS . 'CV' . 'H2 ') 'NATU' 'DISCRET') 'ET'
  137. ('MANUEL' 'CHPO' MFCEN 1 'O2'
  138. (PGAS . 'CV' . 'O2 ') 'NATU' 'DISCRET') 'ET'
  139. ('MANUEL' 'CHPO' MFCEN 1 'H2O'
  140. (PGAS . 'CV' . 'H2O ') 'NATU' 'DISCRET') 'ET'
  141. ('MANUEL' 'CHPO' MFCEN 1 'N2'
  142. (PGAS . 'CV' . 'N2 ') 'NATU' 'DISCRET') ;
  143. ***********************************************************
  144. ***********************************************************
  145.  
  146. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.110 ;
  147. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.41 ;
  148. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 0.1 'UX' 1.65 ;
  149. YN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'H2' 0.3 'O2' 0.5
  150. 'H2O' 0.1 ;
  151. YN1 = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'H2' 0.3 'O2' 0.5
  152. 'H2O' 0.1 'NATU' 'DISCRET' ;
  153. **********************************************************
  154. UNCH = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.0 ;
  155. YNESP = UNCH '-' ('PSCAL' UNCH YN ('MOTS' 'SCAL' 'SCAL' 'SCAL')
  156. (PGAS . 'ESPEULE')) ;
  157. YNESP = 'NOMC' 'N2 ' YNESP 'NATU' 'DISCRET' ;
  158. YNTOT = YN1 'ET' YNESP ;
  159. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  160. CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
  161. CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
  162. GAMN = CPTOT '/' CVTOT ;
  163. **********************************************************
  164.  
  165. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 7 'RN' 2.11 'PN' 111.4
  166. 'UX' 2.0 'UY' 1.0 'H2' 0.1 'O2' 0.7 'H2O' 0.05 ;
  167.  
  168.  
  169. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' 'VAR6' 'VAR7' ;
  170. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' 'H2 ' 'O2 ' 'H2O ' ;
  171.  
  172. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  173. PGAS LISTC LISTP
  174. RN VN PN YN CHPLI 'INRI' ;
  175. ************************************************************
  176. **** On calcule les variables conservatives **************
  177. ************************************************************
  178. RAZM = NESP '+' 3 ;
  179.  
  180. GN = RN '*' VN ('MOTS' 'SCAL' 'SCAL')
  181. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY') ;
  182. LMOT1 = 'MOTS' 'UX' 'UY' ;
  183. VVV = 'PSCAL' VN VN LMOT1 LMOT1 ;
  184. ECIN = 0.5D0 '*' RN '*' VVV ;
  185.  
  186. RETN = 'NOMC' 'SCAL' ((PN '/' (GAMN '-' 1.0)) '+' ECIN)
  187. 'NATU' 'DISCRET' ;
  188.  
  189. LMOT1 = (PGAS . 'ESPEULE') ;
  190. LMOT2 = 'MOTS' 'SCAL' 'SCAL' 'SCAL' ;
  191. LMOT3 = (PGAS . 'ESPEULE') ;
  192.  
  193. RYN = YN '*' RN LMOT1 LMOT2 LMOT3 ;
  194.  
  195. VIT PRES TTEMP FRAM GAMM = 'PRIM' 'PERFMULT' PGAS RN GN RETN RYN ;
  196.  
  197.  
  198. ERR1 = 'MAXIMUM' (PRES '-' PN) 'ABS' ;
  199. ERR2 = 'MAXIMUM' (GN '-' (RN '*' VIT ('MOTS' 'SCAL' 'SCAL' )
  200. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) 'ABS' ;
  201. XXTOL = 1.D-12;
  202. 'SI' (ERR1 > XXTOL) ;
  203. CHAI1 = CHAI 'ERREUR NUMERO 1 : ' ERR1 'POUR ' XXTOL;
  204. 'MESS' CHAI1;
  205. 'ERREUR' 5 ;
  206. 'FINSI' ;
  207.  
  208. 'SI' (ERR2 > XXTOL) ;
  209. CHAI2 = CHAI 'ERREUR NUMERO 2 : ' ERR2 'POUR ' XXTOL;
  210. 'MESS' CHAI2;
  211. 'ERREUR' 5 ;
  212. 'FINSI' ;
  213.  
  214. *****************************************
  215. **** On calcule RCHLIM en gibiane
  216. *****************************************
  217.  
  218. UNC = (('EXCO' VN 'UY' 'SCAL') '-' ('EXCO' VN 'UX' 'SCAL')) '/' (2
  219. '**' 0.5) ;
  220.  
  221. GAMMA = 'MAXIMUM' GAMN ;
  222. GM1 = '-' GAMMA 1. ;
  223. USGM1 = 1. '/' GM1 ;
  224. DSGM1 = 2. '*' USGM1 ;
  225.  
  226. ASONC = GAMMA * (PN '/' RN) ;
  227. ASONC = ASONC '**' 0.5 ;
  228.  
  229. G1 = UNC '-' (DSGM1 * ASONC) ;
  230. G1 = 'EXTRAIRE' G1 PCEN 'SCAL' ;
  231. *******************************************************
  232. RNCEL= 'EXCO' CHPLI 'RN' ;
  233. PNCEL = 'EXCO' CHPLI 'PN' ;
  234. UNCELC = (('EXCO' CHPLI 'UY' 'SCAL') '-' ('EXCO' CHPLI 'UX' 'SCAL'))
  235. '/' (2 '**' 0.5) ;
  236. UTCELC = (('EXCO' CHPLI 'UY' 'SCAL') '+' ('EXCO' CHPLI 'UX' 'SCAL'))
  237. '/' (-1*(2 '**' 0.5)) ;
  238. YH2CEL = 'EXCO' CHPLI 'H2' 'NATU' 'DISCRET' ;
  239. YO2CEL = 'EXCO' CHPLI 'O2' 'NATU' 'DISCRET' ;
  240. YHOCEL = 'EXCO' CHPLI 'H2O' 'NATU' 'DISCRET' ;
  241. YNCEL = YH2CEL 'ET' YO2CEL ;
  242. YNCEL = YNCEL 'ET' YHOCEL ;
  243. **********************************************************
  244. YNTCEL = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'H2' 0.1 'O2' 0.7
  245. 'H2O' 0.05 'N2' 0.15 'NATU' 'DISCRET' ;
  246. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  247. CVTOT = 'PSCAL' YNTCEL CVCEL LMOT1 LMOT1 ;
  248. CPTOT = 'PSCAL' YNTCEL CPCEL LMOT1 LMOT1 ;
  249. GAMCEL = CPTOT '/' CVTOT ;
  250. ***********************************************************
  251. GAMF = 'MAXIMUM' GAMCEL ;
  252. GM1F = '-' GAMF 1. ;
  253. USGM1F = 1. '/' GM1F ;
  254. DSGM1F = 2. '*' USGM1F ;
  255.  
  256. ASONF = GAMF * (PNCEL '/' RNCEL) ;
  257. ASONF = ASONF '**' 0.5 ;
  258.  
  259. G3 = UNCELC '+' (DSGM1F * ASONF) ;
  260. G3 = 'EXTRAIRE' G3 ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ;
  261. S = PNCEL '/' (RNCEL** GAMF) ;
  262. S = 'EXTRAIRE' S ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ;
  263.  
  264. GAMID = (GAMMA '+' GAMF) '/' 2.0D0 ;
  265. GM1M = '-' GAMID 1. ;
  266. USGM1M = 1. '/' GM1M ;
  267. DSGM1M = 2. '*' USGM1M ;
  268.  
  269. ASON2=(0.5D0*(G3-G1)) ;
  270. ASON2=ASON2/DSGM1F ;
  271. ASON2=ASON2*ASON2 ;
  272. RHO=ASON2/(GAMF*S) ;
  273. RHO=RHO**USGM1F ;
  274. P=(RHO*ASON2)/GAMF ;
  275. UNCEL = 0.5 '*' (G3 '+' G1) ;
  276. UTCEL = 'EXTRAIRE' UTCELC ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ;
  277.  
  278. UX = (UNCEL '+' UTCEL) '/' (-1*(2 '**' 0.5)) ;
  279. UY = (UNCEL '-' UTCEL) '/' (2 '**' 0.5) ;
  280.  
  281.  
  282. CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 7 'RN' RHO 'UX'
  283. UX 'UY' UY 'PN' P 'H2' 0.1 'O2' 0.7 'H2O' 0.05 ;
  284.  
  285. ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ;
  286.  
  287. XXTOL = 1.D-12;
  288. 'SI' (ERRO > XXTOL) ;
  289. CHAI1 = CHAI 'ERREUR NUMERO 3 : ' ERRO 'POUR ' XXTOL;
  290. 'MESS' CHAI1;
  291. 'ERREUR' 5 ;
  292. 'FINSI' ;
  293.  
  294. 'FINSI' ;
  295.  
  296. ******************************************************************
  297. **** Jacobian with respect to primitive variable
  298. ******************************************************************
  299.  
  300. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  301. PGAS LISTC LISTP
  302. RN VN PN YN CHPLI 'INRI' ;
  303. EPS=1.0D-6 ;
  304. ERROM = 1.0D-3 ;
  305. * RN ****************** RN ******* RN *********************
  306.  
  307. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  308. ELE1 = 'MANUEL' 'POI1' PCEN ;
  309. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  310.  
  311. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  312. PGAS LISTC LISTP
  313. (RN '+' DR) VN PN YN CHPLI 'INRI' ;
  314.  
  315. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  316. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 1.0
  317. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  318. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  319.  
  320. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  321.  
  322. XXTOL = ERROM;
  323. ERR1 = ERRO;
  324. 'SI' (ERR1 > XXTOL) ;
  325. CHAI1 = CHAI 'ERREUR NUMERO 4 : ' ERR1 'POUR ' XXTOL;
  326. 'MESS' CHAI1;
  327. 'ERREUR' 5 ;
  328. 'FINSI' ;
  329.  
  330.  
  331. * UX ***** UX ****** UX ****** UX ************************
  332.  
  333. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  334. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  335.  
  336. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  337. PGAS LISTC LISTP
  338. RN (VN '+' DUX) PN YN CHPLI 'INRI' ;
  339.  
  340. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  341. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  342. 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0) ;
  343. MMM = 'MAXIMUM' DRESDUX 'ABS' ;
  344.  
  345. ERRO = 'MAXIMUM' ((DRESDUX '-' DRESDUXN) '/' MMM) 'ABS' ;
  346.  
  347. XXTOL = ERROM;
  348. ERR1 = ERRO;
  349. 'SI' (ERR1 > XXTOL) ;
  350. CHAI1 = CHAI 'ERREUR NUMERO 5 : ' ERR1 'POUR ' XXTOL;
  351. 'MESS' CHAI1;
  352. 'ERREUR' 5 ;
  353. 'FINSI' ;
  354.  
  355.  
  356. *** UY *************** UY ************* UY *******************
  357.  
  358. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  359. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  360.  
  361. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  362. PGAS LISTC LISTP
  363. RN (VN '+' DUY) PN YN CHPLI 'INRI' ;
  364.  
  365. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  366. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  367. 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  368.  
  369. MMM = 'MAXIMUM' DRESDUY 'ABS' ;
  370.  
  371. ERRO = 'MAXIMUM' ((DRESDUY '-' DRESDUYN) '/' MMM) 'ABS' ;
  372.  
  373. XXTOL = ERROM;
  374. ERR1 = ERRO;
  375. 'SI' (ERR1 > XXTOL) ;
  376. CHAI1 = CHAI 'ERREUR NUMERO 6 : ' ERR1 'POUR ' XXTOL;
  377. 'MESS' CHAI1;
  378. 'ERREUR' 5 ;
  379. 'FINSI' ;
  380.  
  381.  
  382. **** PN ********** PN ************ PN ***********************
  383.  
  384. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  385. ELE1 = 'MANUEL' 'POI1' PCEN ;
  386. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  387.  
  388. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  389. PGAS LISTC LISTP
  390. RN VN (PN '+' DP) YN CHPLI 'INRI' ;
  391.  
  392. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  393. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  394. 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  395.  
  396. MMM = 'MAXIMUM' DRESDP 'ABS' ;
  397.  
  398. ERRO = 'MAXIMUM' ((DRESDP '-' DRESDPN)'/' MMM) 'ABS' ;
  399.  
  400.  
  401. XXTOL = ERROM;
  402. ERR1 = ERRO;
  403. 'SI' (ERR1 > XXTOL) ;
  404. CHAI1 = CHAI 'ERREUR NUMERO 7 : ' ERR1 'POUR ' XXTOL;
  405. 'MESS' CHAI1;
  406. 'ERREUR' 5 ;
  407. 'FINSI' ;
  408.  
  409.  
  410. **** YH2 ********** YH2 ************ YH2 ***********************
  411.  
  412. DYH2SCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ;
  413. ELE1 = 'MANUEL' 'POI1' PCEN ;
  414. DYH2 = ('MANUEL' 'CHPO' ELE1 1 'H2' DYH2SCAL ) ;
  415.  
  416. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  417. PGAS LISTC LISTP
  418. RN VN PN (YN1 '+' DYH2) CHPLI 'INRI' ;
  419.  
  420. DRESDYN = ( RCHRES1 '-' RCHRES) '/' DYH2SCAL ;
  421. DRESDY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  422. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ;
  423.  
  424. MMM = 'MAXIMUM' DRESDY 'ABS' ;
  425.  
  426. ERRO = 'MAXIMUM' ((DRESDY '-' DRESDYN)'/' MMM) 'ABS' ;
  427.  
  428. XXTOL = ERROM;
  429. ERR1 = ERRO;
  430. 'SI' (ERR1 > XXTOL) ;
  431. CHAI1 = CHAI 'ERREUR NUMERO 8 : ' ERR1 'POUR ' XXTOL;
  432. 'MESS' CHAI1;
  433. 'ERREUR' 5 ;
  434. 'FINSI' ;
  435.  
  436.  
  437. ***** YO2 ****** YO2 *********** YO2 ******************
  438.  
  439. DYO2SCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ;
  440.  
  441. ELE1 = 'MANUEL' 'POI1' PCEN ;
  442. DYO2 = ('MANUEL' 'CHPO' ELE1 1 'O2' DYO2SCAL ) ;
  443.  
  444. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  445. PGAS LISTC LISTP
  446. RN VN PN (YN1 '+' DYO2) CHPLI 'INRI' ;
  447.  
  448. DRESDYN = ( RCHRES1 '-' RCHRES) '/' DYO2SCAL ;
  449. DRESDY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  450. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ;
  451.  
  452. MMM = 'MAXIMUM' DRESDY 'ABS' ;
  453.  
  454. ERRO = 'MAXIMUM' ((DRESDY '-' DRESDYN)'/' MMM) 'ABS' ;
  455.  
  456. XXTOL = ERROM;
  457. ERR1 = ERRO;
  458. 'SI' (ERR1 > XXTOL) ;
  459. CHAI1 = CHAI 'ERREUR NUMERO 9 : ' ERR1 'POUR ' XXTOL;
  460. 'MESS' CHAI1;
  461. 'ERREUR' 5 ;
  462. 'FINSI' ;
  463.  
  464.  
  465. ***** YHO ****** YHO *********** YHO ******************
  466.  
  467. DYHOSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ;
  468.  
  469. ELE1 = 'MANUEL' 'POI1' PCEN ;
  470. DYHO = ('MANUEL' 'CHPO' ELE1 1 'H2O' DYHOSCAL ) ;
  471.  
  472. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  473. PGAS LISTC LISTP
  474. RN VN PN (YN1 '+' DYHO) CHPLI 'INRI' ;
  475.  
  476. DRESDYN = ( RCHRES1 '-' RCHRES) '/' DYHOSCAL ;
  477. DRESDY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  478. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ;
  479.  
  480. MMM = 'MAXIMUM' DRESDY 'ABS' ;
  481.  
  482. ERRO = 'MAXIMUM' ((DRESDY '-' DRESDYN)'/' MMM) 'ABS' ;
  483.  
  484. XXTOL = ERROM;
  485. ERR1 = ERRO;
  486. 'SI' (ERR1 > XXTOL) ;
  487. CHAI1 = CHAI 'ERREUR NUMERO 10: ' ERR1 'POUR ' XXTOL;
  488. 'MESS' CHAI1;
  489. 'ERREUR' 5 ;
  490. 'FINSI' ;
  491.  
  492.  
  493. **************************************************************
  494. **** Jacobian with respect to conservative variables
  495. **************************************************************
  496.  
  497. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  498. PGAS LISTC LISTP
  499. RN VN PN YN CHPLI 'INRI' ;
  500.  
  501. ******** RN ************* RN ********** RN **************
  502.  
  503. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  504. ELE1 = 'MANUEL' 'POI1' PCEN ;
  505. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  506.  
  507. RN1 = RN '+' DR ;
  508. GN1 = 'COPIER' GN ;
  509. RETN1 = 'COPIER' RETN ;
  510. RYN1 = 'COPIER' RYN ;
  511.  
  512. VN1 PN1 TTEMP YN1 GAMM =
  513. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  514.  
  515. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  516. PGAS LISTC LISTP
  517. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  518.  
  519. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  520. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 1.0
  521. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0
  522. 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  523.  
  524. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  525. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  526.  
  527. XXTOL = ERROM;
  528. ERR1 = ERRO;
  529. 'SI' (ERR1 > XXTOL) ;
  530. CHAI1 = CHAI 'ERREUR NUMERO 11: ' ERR1 'POUR ' XXTOL;
  531. 'MESS' CHAI1;
  532. 'ERREUR' 5 ;
  533. 'FINSI' ;
  534.  
  535. ***** RUX ******* RUX ******** RUX *******************
  536.  
  537. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  538. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  539.  
  540. RN1 = 'COPIER' RN ;
  541. GN1 = GN '+' DUX ;
  542. RETN1 = 'COPIER' RETN ;
  543. RYN1 = 'COPIER' RYN ;
  544.  
  545. VN1 PN1 TTEMP YN1 GAMM =
  546. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  547.  
  548. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  549. PGAS LISTC LISTP
  550. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  551.  
  552. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  553. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  554. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0
  555. 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  556.  
  557. MMM = 'MAXIMUM' DRESDUX 'ABS' ;
  558. ERRO = 'MAXIMUM' ((DRESDUX '-' DRESDUXN) '/' MMM) 'ABS' ;
  559.  
  560. XXTOL = ERROM;
  561. ERR1 = ERRO;
  562. 'SI' (ERR1 > XXTOL) ;
  563. CHAI1 = CHAI 'ERREUR NUMERO 12: ' ERR1 'POUR ' XXTOL;
  564. 'MESS' CHAI1;
  565. 'ERREUR' 5 ;
  566. 'FINSI' ;
  567.  
  568. ***** RUY ******* RUY ******** RUY *******************
  569.  
  570. DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  571. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  572.  
  573. RN1 = 'COPIER' RN ;
  574. GN1 = GN '+' DUY ;
  575. RETN1 = 'COPIER' RETN ;
  576. RYN1 = 'COPIER' RYN ;
  577.  
  578. VN1 PN1 TTEMP YN1 GAMM =
  579. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  580.  
  581. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  582. PGAS LISTC LISTP
  583. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  584.  
  585. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  586. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  587. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0
  588. 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  589.  
  590. MMM = 'MAXIMUM' DRESDUY 'ABS' ;
  591. ERRO = 'MAXIMUM' ((DRESDUY '-' DRESDUYN) '/' MMM) 'ABS' ;
  592.  
  593. XXTOL = ERROM;
  594. ERR1 = ERRO;
  595. 'SI' (ERR1 > XXTOL) ;
  596. CHAI1 = CHAI 'ERREUR NUMERO 13: ' ERR1 'POUR ' XXTOL;
  597. 'MESS' CHAI1;
  598. 'ERREUR' 5 ;
  599. 'FINSI' ;
  600.  
  601. ******** RETN ************ RETN ************************
  602.  
  603. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  604. ELE1 = 'MANUEL' 'POI1' PCEN ;
  605. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  606.  
  607. RN1 = 'COPIER' RN ;
  608. GN1 = 'COPIER' GN ;
  609. RETN1 = RETN '+' DR ;
  610. RYN1 = 'COPIER' RYN ;
  611.  
  612. VN1 PN1 TTEMP YN1 GAMM =
  613. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  614.  
  615. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  616. PGAS LISTC LISTP
  617. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  618.  
  619. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  620. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  621. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0
  622. 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  623.  
  624. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  625. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  626.  
  627. XXTOL = ERROM;
  628. ERR1 = ERRO;
  629. 'SI' (ERR1 > XXTOL) ;
  630. CHAI1 = CHAI 'ERREUR NUMERO 14: ' ERR1 'POUR ' XXTOL;
  631. 'MESS' CHAI1;
  632. 'ERREUR' 5 ;
  633. 'FINSI' ;
  634.  
  635. ******** RYN ************ RYN ************************
  636.  
  637. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ;
  638. ELE1 = 'MANUEL' 'POI1' PCEN ;
  639. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  640.  
  641. RN1 = 'COPIER' RN ;
  642. GN1 = 'COPIER' GN ;
  643. RETN1 = RETN ;
  644. RYN1 = RYN '+' DR ;
  645.  
  646. VN1 PN1 TTEMP YN1 GAMM =
  647. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  648.  
  649. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  650. PGAS LISTC LISTP
  651. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  652.  
  653. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  654. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  655. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0
  656. 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  657.  
  658. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  659. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  660.  
  661. XXTOL = ERROM;
  662. ERR1 = ERRO;
  663. 'SI' (ERR1 > XXTOL) ;
  664. CHAI1 = CHAI 'ERREUR NUMERO 15: ' ERR1 'POUR ' XXTOL;
  665. 'MESS' CHAI1;
  666. 'ERREUR' 5 ;
  667. 'FINSI' ;
  668.  
  669. ******** RYN ************ RYN ************************
  670.  
  671. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ;
  672. ELE1 = 'MANUEL' 'POI1' PCEN ;
  673. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  674.  
  675. RN1 = 'COPIER' RN ;
  676. GN1 = 'COPIER' GN ;
  677. RETN1 = RETN ;
  678. RYN1 = RYN '+' DR ;
  679.  
  680. VN1 PN1 TTEMP YN1 GAMM =
  681. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  682.  
  683. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  684. PGAS LISTC LISTP
  685. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  686.  
  687. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  688. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  689. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0
  690. 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  691.  
  692. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  693. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  694.  
  695. XXTOL = ERROM;
  696. ERR1 = ERRO;
  697. 'SI' (ERR1 > XXTOL) ;
  698. CHAI1 = CHAI 'ERREUR NUMERO 16: ' ERR1 'POUR ' XXTOL;
  699. 'MESS' CHAI1;
  700. 'ERREUR' 5 ;
  701. 'FINSI' ;
  702.  
  703. ******** RYNH2 ************ RYNH2 ************************
  704.  
  705. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ;
  706. ELE1 = 'MANUEL' 'POI1' PCEN ;
  707. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  708.  
  709. RN1 = 'COPIER' RN ;
  710. GN1 = 'COPIER' GN ;
  711. RETN1 = RETN ;
  712. RYN1 = RYN '+' DR ;
  713.  
  714. VN1 PN1 TTEMP YN1 GAMM =
  715. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  716.  
  717. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  718. PGAS LISTC LISTP
  719. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  720.  
  721. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  722. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  723. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0
  724. 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  725.  
  726. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  727. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  728.  
  729. XXTOL = ERROM;
  730. ERR1 = ERRO;
  731. 'SI' (ERR1 > XXTOL) ;
  732. CHAI1 = CHAI 'ERREUR NUMERO 17: ' ERR1 'POUR ' XXTOL;
  733. 'MESS' CHAI1;
  734. 'ERREUR' 5 ;
  735. 'FINSI' ;
  736.  
  737. ******** RYNO2 ************ RYNO2 ************************
  738.  
  739. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ;
  740. ELE1 = 'MANUEL' 'POI1' PCEN ;
  741. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  742.  
  743. RN1 = 'COPIER' RN ;
  744. GN1 = 'COPIER' GN ;
  745. RETN1 = RETN ;
  746. RYN1 = RYN '+' DR ;
  747.  
  748. VN1 PN1 TTEMP YN1 GAMM =
  749. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  750.  
  751. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  752. PGAS LISTC LISTP
  753. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  754.  
  755. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  756. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  757. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0
  758. 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ;
  759.  
  760. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  761. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  762.  
  763. XXTOL = ERROM;
  764. ERR1 = ERRO;
  765. 'SI' (ERR1 > XXTOL) ;
  766. CHAI1 = CHAI 'ERREUR NUMERO 18: ' ERR1 'POUR ' XXTOL;
  767. 'MESS' CHAI1;
  768. 'ERREUR' 5 ;
  769. 'FINSI' ;
  770.  
  771.  
  772. ******** RYNH20 ************ RYNH20 ************************
  773.  
  774. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ;
  775. ELE1 = 'MANUEL' 'POI1' PCEN ;
  776. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  777.  
  778. RN1 = 'COPIER' RN ;
  779. GN1 = 'COPIER' GN ;
  780. RETN1 = RETN ;
  781. RYN1 = RYN '+' DR ;
  782.  
  783. VN1 PN1 TTEMP YN1 GAMM =
  784. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  785.  
  786. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  787. PGAS LISTC LISTP
  788. RN1 VN1 PN1 YN1 CHPLI 'INRI' ;
  789.  
  790. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  791. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  792. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0
  793. 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ;
  794.  
  795. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  796. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  797.  
  798. XXTOL = ERROM;
  799. ERR1 = ERRO;
  800. 'SI' (ERR1 > XXTOL) ;
  801. CHAI1 = CHAI 'ERREUR NUMERO 19: ' ERR1 'POUR ' XXTOL;
  802. 'MESS' CHAI1;
  803. 'ERREUR' 5 ;
  804. 'FINSI' ;
  805.  
  806. ******************************************************************************
  807. ******************************************************************************
  808. *************************** INJE ********************************************
  809. ******************************************************************************
  810. ******************************************************************************
  811. *
  812. * We impose RT and the normal momentum at the inlet.
  813. * (les fractions massiques sont impsees aussi)
  814. ***** Calcul du residu dans le cas particulier UF = UC
  815. *****************************************************************************
  816. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  817. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  818. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 15. 'UX' -15. ;
  819. YN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'H2' 0.3 'O2' 0.5
  820. 'H2O' 0.1 ;
  821.  
  822. GN = RN '*' VN ;
  823. MOME = (15 '*' (2. '**' 0.5)) * 1.1 ;
  824. RT = 2.1 '/' 1.1 ;
  825.  
  826. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  827. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  828. PC = ('EXTRAIRE' PN 'SCAL' PCEN) ;
  829. RC = ('EXTRAIRE' RN 'SCAL' PCEN) ;
  830. YH2 = ('EXTRAIRE' YN 'H2' PCEN) ;
  831. YO2 = ('EXTRAIRE' YN 'O2' PCEN) ;
  832. YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ;
  833.  
  834. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 5 'RT' RT
  835. 'MOME' MOME 'H2' 0.3 'O2' 0.5 'H2O' 0.1 ;
  836.  
  837.  
  838. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' 'VAR6' 'VAR7' ;
  839. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' 'H2 ' 'O2 ' 'H2O ' ;
  840.  
  841. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  842. PGAS LISTC LISTP
  843. RN VN PN YN CHPLI 'INJE' ;
  844. *---------------------------------------
  845. ** Testing RCHLIM !!!!!
  846. *---------------------------------------
  847. RCHLIM1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 7 'RN' RC 'PN' PC 'UX' UXC
  848. 'UY' UYC 'H2' 0.3 'O2' 0.5 'H2O' 0.1 ;
  849.  
  850. ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ;
  851.  
  852. XXTOL = 1.D-12;
  853. ERR1 = ERRO;
  854. 'SI' (ERR1 > XXTOL) ;
  855. CHAI1 = CHAI 'ERREUR NUMERO 20: ' ERR1 'POUR ' XXTOL;
  856. 'MESS' CHAI1;
  857. 'ERREUR' 5 ;
  858. 'FINSI' ;
  859.  
  860. *-------------------------------------
  861. ** Testing RCHRES !!!!!
  862. *-------------------------------------
  863. 'SI' ('EGA' TYEL 'QUA8') ;
  864. SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ;
  865. 'SINON' ;
  866. SURSVOL = 2. '/' ((2 '**' 0.5) * 0.5) ;
  867. 'FINSI' ;
  868. *-------------------------------------------------------------
  869. YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ;
  870. YNTOT = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'H2' YH2 'O2' YO2
  871. 'H2O' YH2O 'N2' YN2 ;
  872. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  873. CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
  874. CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
  875. GAMN = CPTOT '/' CVTOT ;
  876. GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ;
  877. *--------------------------------------------------------------
  878. FMASS = MOME ;
  879. FUX = (MOME * UXC) '-' (PC '/' (2. '**' 0.5)) ;
  880. FUY = (MOME * UYC) '+' (PC '/' (2. '**' 0.5)) ;
  881. HIN = (GAMC/(GAMC-1)) '*' (PC '/' RC) ;
  882. ECIN = 0.5 '*' ((UXC '*' UXC) '+' (UYC '*' UYC)) ;
  883. FEN = MOME '*' (HIN '+' ECIN)
  884. ;
  885. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 7
  886. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*'
  887. SURSVOL) 'VAR4' (FEN '*' SURSVOL) 'VAR5' (FMASS '*' YH2 '*' SURSVOL)
  888. 'VAR6' (FMASS '*' YO2'*'SURSVOL) 'VAR7' (FMASS '*' YH2O'*'SURSVOL);
  889.  
  890. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  891.  
  892. XXTOL = 1.D-10;
  893. ERR1 = ERRO;
  894. 'SI' (ERR1 > XXTOL) ;
  895. CHAI1 = CHAI 'ERREUR NUMERO 21: ' ERR1 'POUR ' XXTOL;
  896. 'MESS' CHAI1;
  897. 'ERREUR' 5 ;
  898. 'FINSI' ;
  899.  
  900. ****************************************************************
  901. ************* JACOBIANS ***************************************
  902. ****************************************************************
  903.  
  904. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  905. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  906. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 1.11 'UX' -1.3 ;
  907. YN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'H2' 0.3 'O2' 0.5
  908. 'H2O' 0.1 ;
  909. YH2 = ('EXTRAIRE' YN 'H2' PCEN) ;
  910. YO2 = ('EXTRAIRE' YN 'O2' PCEN) ;
  911. YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ;
  912. YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ;
  913. YNTOT = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'H2' YH2 'O2' YO2
  914. 'H2O' YH2O 'N2' YN2 ;
  915. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  916. CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
  917. CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
  918. GAMN = CPTOT '/' CVTOT ;
  919. GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ;
  920.  
  921. LMOT1 = (PGAS . 'ESPEULE') ;
  922. LMOT2 = 'MOTS' 'SCAL' 'SCAL' 'SCAL' ;
  923. LMOT3 = (PGAS . 'ESPEULE') ;
  924.  
  925. RYN = YN '*' RN LMOT1 LMOT2 LMOT3 ;
  926.  
  927. ************************************************
  928.  
  929. GN = RN '*' VN ;
  930. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  931. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  932. MOME = 0.111 ;
  933. RT = 4.1 ;
  934.  
  935. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 5 'RT' RT
  936. 'MOME' MOME 'H2' 0.1 'O2' 0.5 'H2O' 0.3 ;
  937.  
  938.  
  939. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' 'VAR6' 'VAR7' ;
  940. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' 'H2 ' 'O2 ' 'H2O ' ;
  941.  
  942. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  943. PGAS LISTC LISTP
  944. RN VN PN YN CHPLI 'INJE' ;
  945.  
  946. ***************************************************************
  947. ***** Jacobian with respect to the primitive variables ********
  948. ***************************************************************
  949.  
  950. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  951. PGAS LISTC LISTP
  952. RN VN PN YN CHPLI 'INJE' ;
  953.  
  954. * EPS=1.0D-6 ;
  955. * ERROM = 1.0D-5 ;
  956.  
  957. ************ RN *************** RN *****************************
  958.  
  959. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  960. ELE1 = 'MANUEL' 'POI1' PCEN ;
  961. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  962.  
  963. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  964. PGAS LISTC LISTP
  965. (RN '+' DR) VN PN YN CHPLI 'INJE' ;
  966.  
  967. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  968. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 1.0
  969. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  970.  
  971. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  972.  
  973. XXTOL = ERROM;
  974. ERR1 = ERRO;
  975. 'SI' (ERR1 > XXTOL) ;
  976. CHAI1 = CHAI 'ERREUR NUMERO 22: ' ERR1 'POUR ' XXTOL;
  977. 'MESS' CHAI1;
  978. 'ERREUR' 5 ;
  979. 'FINSI' ;
  980.  
  981.  
  982. ************ UX *************** UX *****************************
  983.  
  984. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  985. ELE1 = 'MANUEL' 'POI1' PCEN ;
  986. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  987.  
  988. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  989. PGAS LISTC LISTP
  990. RN (VN '+' DR) PN YN CHPLI 'INJE' ;
  991.  
  992. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  993. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  994. 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  995.  
  996. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  997.  
  998. XXTOL = ERROM;
  999. ERR1 = ERRO;
  1000. 'SI' (ERR1 > XXTOL) ;
  1001. CHAI1 = CHAI 'ERREUR NUMERO 23: ' ERR1 'POUR ' XXTOL;
  1002. 'MESS' CHAI1;
  1003. 'ERREUR' 5 ;
  1004. 'FINSI' ;
  1005.  
  1006. ************ UY *************** UY *****************************
  1007.  
  1008. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  1009. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1010. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  1011.  
  1012. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1013. PGAS LISTC LISTP
  1014. RN (VN '+' DR) PN YN CHPLI 'INJE' ;
  1015.  
  1016. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1017. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1018. 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  1019.  
  1020. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1021.  
  1022. XXTOL = ERROM;
  1023. ERR1 = ERRO;
  1024. 'SI' (ERR1 > XXTOL) ;
  1025. CHAI1 = CHAI 'ERREUR NUMERO 24: ' ERR1 'POUR ' XXTOL;
  1026. 'MESS' CHAI1;
  1027. 'ERREUR' 5 ;
  1028. 'FINSI' ;
  1029.  
  1030. ************ PN *************** PN *****************************
  1031.  
  1032. DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1033. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1034. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1035.  
  1036. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1037. PGAS LISTC LISTP
  1038. RN VN (PN '+' DR) YN CHPLI 'INJE' ;
  1039.  
  1040. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1041. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1042. 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  1043.  
  1044. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1045.  
  1046. XXTOL = ERROM;
  1047. ERR1 = ERRO;
  1048. 'SI' (ERR1 > XXTOL) ;
  1049. CHAI1 = CHAI 'ERREUR NUMERO 25: ' ERR1 'POUR ' XXTOL;
  1050. 'MESS' CHAI1;
  1051. 'ERREUR' 5 ;
  1052. 'FINSI' ;
  1053.  
  1054. ************ H2 *************** H2 *****************************
  1055.  
  1056. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ;
  1057. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1058. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  1059.  
  1060. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1061. PGAS LISTC LISTP
  1062. RN VN PN (YN '+' DR) CHPLI 'INJE' ;
  1063.  
  1064. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1065. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1066. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ;
  1067.  
  1068. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1069.  
  1070. XXTOL = ERROM;
  1071. ERR1 = ERRO;
  1072. 'SI' (ERR1 > XXTOL) ;
  1073. CHAI1 = CHAI 'ERREUR NUMERO 26: ' ERR1 'POUR ' XXTOL;
  1074. 'MESS' CHAI1;
  1075. 'ERREUR' 5 ;
  1076. 'FINSI' ;
  1077.  
  1078. ************ O2 *************** O2 *****************************
  1079.  
  1080. DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ;
  1081. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1082. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  1083.  
  1084. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1085. PGAS LISTC LISTP
  1086. RN VN PN (YN '+' DR) CHPLI 'INJE' ;
  1087.  
  1088. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1089. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1090. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ;
  1091.  
  1092. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1093.  
  1094. XXTOL = ERROM;
  1095. ERR1 = ERRO;
  1096. 'SI' (ERR1 > XXTOL) ;
  1097. CHAI1 = CHAI 'ERREUR NUMERO 27: ' ERR1 'POUR ' XXTOL;
  1098. 'MESS' CHAI1;
  1099. 'ERREUR' 5 ;
  1100. 'FINSI' ;
  1101.  
  1102. ************ H2O *************** H2O *****************************
  1103.  
  1104. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ;
  1105. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1106. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  1107.  
  1108. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1109. PGAS LISTC LISTP
  1110. RN VN PN (YN '+' DR) CHPLI 'INJE' ;
  1111.  
  1112. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1113. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1114. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ;
  1115.  
  1116. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1117.  
  1118. XXTOL = ERROM;
  1119. ERR1 = ERRO;
  1120. 'SI' (ERR1 > XXTOL) ;
  1121. CHAI1 = CHAI 'ERREUR NUMERO 28: ' ERR1 'POUR ' XXTOL;
  1122. 'MESS' CHAI1;
  1123. 'ERREUR' 5 ;
  1124. 'FINSI' ;
  1125.  
  1126. ************************************************************
  1127. **** Jacobian with respect to conservative variables ******
  1128. ************************************************************
  1129.  
  1130. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1131. PGAS LISTC LISTP
  1132. RN VN PN YN CHPLI 'INJE' ;
  1133.  
  1134. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  1135. PGAS LISTC LISTP
  1136. RN VN PN YN CHPLI 'INJE' ;
  1137.  
  1138. ***************** RN ************************************
  1139.  
  1140. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1141. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1142. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1143.  
  1144. RN1 = RN '+' DR ;
  1145. GN1 = 'COPIER' GN ;
  1146. RETN1 = 'COPIER' RETN ;
  1147. RYN1 = 'COPIER' RYN ;
  1148.  
  1149. VN1 PN1 TTEMP YN1 GAMM =
  1150. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1151.  
  1152. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1153. PGAS LISTC LISTP
  1154. RN1 VN1 PN1 YN1 CHPLI 'INJE' ;
  1155.  
  1156. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1157. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 1.0
  1158. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1159.  
  1160. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1161.  
  1162. XXTOL = ERROM;
  1163. ERR1 = ERRO;
  1164. 'SI' (ERR1 > XXTOL) ;
  1165. CHAI1 = CHAI 'ERREUR NUMERO 29: ' ERR1 'POUR ' XXTOL;
  1166. 'MESS' CHAI1;
  1167. 'ERREUR' 5 ;
  1168. 'FINSI' ;
  1169.  
  1170. ***************** RUX ************************************
  1171.  
  1172. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  1173. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1174. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  1175.  
  1176. RN1 = 'COPIER' RN ;
  1177. GN1 = GN '+' DR ;
  1178. RETN1 = 'COPIER' RETN ;
  1179. RYN1 = 'COPIER' RYN ;
  1180.  
  1181. VN1 PN1 TTEMP YN1 GAMM =
  1182. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1183.  
  1184. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1185. PGAS LISTC LISTP
  1186. RN1 VN1 PN1 YN1 CHPLI 'INJE' ;
  1187.  
  1188. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1189. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1190. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1191.  
  1192. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1193.  
  1194. XXTOL = ERROM;
  1195. ERR1 = ERRO;
  1196. 'SI' (ERR1 > XXTOL) ;
  1197. CHAI1 = CHAI 'ERREUR NUMERO 30: ' ERR1 'POUR ' XXTOL;
  1198. 'MESS' CHAI1;
  1199. 'ERREUR' 5 ;
  1200. 'FINSI' ;
  1201.  
  1202. ***************** RUY ************************************
  1203.  
  1204. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  1205. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1206. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  1207.  
  1208. RN1 = 'COPIER' RN ;
  1209. GN1 = GN '+' DR ;
  1210. RETN1 = 'COPIER' RETN ;
  1211. RYN1 = 'COPIER' RYN ;
  1212.  
  1213. VN1 PN1 TTEMP YN1 GAMM =
  1214. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1215.  
  1216. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1217. PGAS LISTC LISTP
  1218. RN1 VN1 PN1 YN1 CHPLI 'INJE' ;
  1219.  
  1220. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1221. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1222. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1223.  
  1224. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1225.  
  1226. XXTOL = ERROM;
  1227. ERR1 = ERRO;
  1228. 'SI' (ERR1 > XXTOL) ;
  1229. CHAI1 = CHAI 'ERREUR NUMERO 31: ' ERR1 'POUR ' XXTOL;
  1230. 'MESS' CHAI1;
  1231. 'ERREUR' 5 ;
  1232. 'FINSI' ;
  1233.  
  1234.  
  1235. ***************** RETN ************************************
  1236.  
  1237. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  1238. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1239. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1240.  
  1241. RN1 = 'COPIER' RN ;
  1242. GN1 = 'COPIER' GN ;
  1243. RETN1 = RETN '+' DR ;
  1244. RYN1 = 'COPIER' RYN ;
  1245.  
  1246. VN1 PN1 TTEMP YN1 GAMM =
  1247. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1248.  
  1249. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1250. PGAS LISTC LISTP
  1251. RN1 VN1 PN1 YN1 CHPLI 'INJE' ;
  1252.  
  1253. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1254. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1255. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1256.  
  1257. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1258.  
  1259. XXTOL = ERROM;
  1260. ERR1 = ERRO;
  1261. 'SI' (ERR1 > XXTOL) ;
  1262. CHAI1 = CHAI 'ERREUR NUMERO 32: ' ERR1 'POUR ' XXTOL;
  1263. 'MESS' CHAI1;
  1264. 'ERREUR' 5 ;
  1265. 'FINSI' ;
  1266.  
  1267.  
  1268. ***************** RYH2 ************************************
  1269.  
  1270. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ;
  1271. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1272. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  1273.  
  1274. RN1 = 'COPIER' RN ;
  1275. GN1 = 'COPIER' GN ;
  1276. RETN1 = 'COPIER' RETN ;
  1277. RYN1 = RYN '+' DR ;
  1278.  
  1279. VN1 PN1 TTEMP YN1 GAMM =
  1280. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1281.  
  1282. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1283. PGAS LISTC LISTP
  1284. RN1 VN1 PN1 YN1 CHPLI 'INJE' ;
  1285.  
  1286. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1287. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1288. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1289.  
  1290. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1291.  
  1292. XXTOL = ERROM;
  1293. ERR1 = ERRO;
  1294. 'SI' (ERR1 > XXTOL) ;
  1295. CHAI1 = CHAI 'ERREUR NUMERO 33: ' ERR1 'POUR ' XXTOL;
  1296. 'MESS' CHAI1;
  1297. 'ERREUR' 5 ;
  1298. 'FINSI' ;
  1299.  
  1300.  
  1301. ***************** RYO2 ************************************
  1302.  
  1303. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ;
  1304. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1305. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  1306.  
  1307. RN1 = 'COPIER' RN ;
  1308. GN1 = 'COPIER' GN ;
  1309. RETN1 = 'COPIER' RETN ;
  1310. RYN1 = RYN '+' DR ;
  1311.  
  1312. VN1 PN1 TTEMP YN1 GAMM =
  1313. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1314.  
  1315. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1316. PGAS LISTC LISTP
  1317. RN1 VN1 PN1 YN1 CHPLI 'INJE' ;
  1318.  
  1319. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1320. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1321. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ;
  1322.  
  1323. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1324.  
  1325. XXTOL = ERROM;
  1326. ERR1 = ERRO;
  1327. 'SI' (ERR1 > XXTOL) ;
  1328. CHAI1 = CHAI 'ERREUR NUMERO 34: ' ERR1 'POUR ' XXTOL;
  1329. 'MESS' CHAI1;
  1330. 'ERREUR' 5 ;
  1331. 'FINSI' ;
  1332.  
  1333.  
  1334. ***************** RYH2O ************************************
  1335.  
  1336. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ;
  1337. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1338. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  1339.  
  1340. RN1 = 'COPIER' RN ;
  1341. GN1 = 'COPIER' GN ;
  1342. RETN1 = 'COPIER' RETN ;
  1343. RYN1 = RYN '+' DR ;
  1344.  
  1345. VN1 PN1 TTEMP YN1 GAMM =
  1346. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1347.  
  1348. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1349. PGAS LISTC LISTP
  1350. RN1 VN1 PN1 YN1 CHPLI 'INJE' ;
  1351.  
  1352. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1353. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1354. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ;
  1355.  
  1356. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1357.  
  1358. XXTOL = ERROM;
  1359. ERR1 = ERRO;
  1360. 'SI' (ERR1 > XXTOL) ;
  1361. CHAI1 = CHAI 'ERREUR NUMERO 35: ' ERR1 'POUR ' XXTOL;
  1362. 'MESS' CHAI1;
  1363. 'ERREUR' 5 ;
  1364. 'FINSI' ;
  1365.  
  1366.  
  1367. ************************************************************************
  1368. ************************************************************************
  1369. *************************** Pressure at the outlet ********************
  1370. ************************************************************************
  1371. ************************************************************************
  1372. *
  1373. * We solve a Riemann probleme between the state in the center and
  1374. * the same state but the pressure equal to the pressure at the outlet
  1375. * We use AUSMPLUS
  1376. *
  1377. *
  1378. ***** Calcul du residu dans le cas particulier PF = PC
  1379.  
  1380. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  1381. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  1382. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ;
  1383. YN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'H2' 0.3 'O2' 0.5
  1384. 'H2O' 0.1 ;
  1385.  
  1386. GN = RN '*' VN ;
  1387. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 1 'PN' 2.1 ;
  1388. *----------------------------------------------------------
  1389. YH2 = ('EXTRAIRE' YN 'H2' PCEN) ;
  1390. YO2 = ('EXTRAIRE' YN 'O2' PCEN) ;
  1391. YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ;
  1392. YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ;
  1393. YNTOT = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'H2' YH2 'O2' YO2
  1394. 'H2O' YH2O 'N2' YN2 ;
  1395. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  1396. CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
  1397. CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
  1398. GAMN = CPTOT '/' CVTOT ;
  1399. GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ;
  1400. *----------------------------------------------------------
  1401. LMOT1 = (PGAS . 'ESPEULE') ;
  1402. LMOT2 = 'MOTS' 'SCAL' 'SCAL' 'SCAL' ;
  1403. LMOT3 = (PGAS . 'ESPEULE') ;
  1404.  
  1405. RYN = YN '*' RN LMOT1 LMOT2 LMOT3 ;
  1406.  
  1407. ************************************************
  1408.  
  1409. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  1410. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  1411.  
  1412. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' 'VAR6' 'VAR7' ;
  1413. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' 'H2 ' 'O2 ' 'H2O ' ;
  1414.  
  1415. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1416. PGAS LISTC LISTP
  1417. RN VN PN YN CHPLI 'OUTP' ;
  1418.  
  1419. *-----------------------------------------------
  1420. 'SI' ('EGA' TYEL 'QUA8') ;
  1421. SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ;
  1422. 'SINON' ;
  1423. SURSVOL = -2. '/' ((2 '**' 0.5) * 0.5) ;
  1424. 'FINSI' ;
  1425. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  1426. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  1427. UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ;
  1428. UT = (UXC '+' UYC) '/' (2. '**' 0.5) ;
  1429. PC = 'EXTRAIRE' PN PCEN 'SCAL' ;
  1430. RC = 'EXTRAIRE' RN PCEN 'SCAL' ;
  1431.  
  1432. FMASS = RC '*' UNORM ;
  1433. FUN = (RC '*' UNORM '*' UNORM) '+' PC ;
  1434. FUT = (RC '*' UNORM '*' UT) ;
  1435. FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ;
  1436. FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ;
  1437. FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+'
  1438. (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UT '*' UT)))
  1439. ;
  1440. FYH2 = YH2 '*' RC '*' UNORM ;
  1441. FYO2 = YO2 '*' RC '*' UNORM ;
  1442. FYH2O = YH2O '*' RC '*' UNORM ;
  1443.  
  1444. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 7
  1445. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*'
  1446. SURSVOL) 'VAR4' (FEN '*' SURSVOL) 'VAR5' (FYH2 '*' SURSVOL)
  1447. 'VAR6' (FYO2 '*' SURSVOL) 'VAR7' (FYH2O '*' SURSVOL) ;
  1448.  
  1449. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  1450.  
  1451. XXTOL = 1.D-12;
  1452. ERR1 = ERRO;
  1453. 'SI' (ERR1 > XXTOL) ;
  1454. CHAI1 = CHAI 'ERREUR NUMERO 36: ' ERR1 'POUR ' XXTOL;
  1455. 'MESS' CHAI1;
  1456. 'ERREUR' 5 ;
  1457. 'FINSI' ;
  1458.  
  1459.  
  1460. *------------------------------------------------------------
  1461. ***** Jacobian with respect to the primitive variables ******
  1462. *------------------------------------------------------------
  1463. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 1 'PN' 4.1 ;
  1464. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1465. PGAS LISTC LISTP
  1466. RN VN PN YN CHPLI 'OUTP' ;
  1467.  
  1468. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  1469. PGAS LISTC LISTP
  1470. RN VN PN YN CHPLI 'OUTP' ;
  1471.  
  1472.  
  1473. ************* RN *********** RN ***********************
  1474.  
  1475. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1476. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1477. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1478.  
  1479. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1480. PGAS LISTC LISTP
  1481. (RN '+' DR) VN PN YN CHPLI 'OUTP' ;
  1482.  
  1483. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1484. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 1.0
  1485. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  1486.  
  1487. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1488.  
  1489. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1490.  
  1491. XXTOL = ERROM;
  1492. ERR1 = ERRO;
  1493. 'SI' (ERR1 > XXTOL) ;
  1494. CHAI1 = CHAI 'ERREUR NUMERO 37: ' ERR1 'POUR ' XXTOL;
  1495. 'MESS' CHAI1;
  1496. 'ERREUR' 5 ;
  1497. 'FINSI' ;
  1498.  
  1499.  
  1500. ************* UX *********** UX ***********************
  1501.  
  1502. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  1503. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1504. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  1505.  
  1506. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1507. PGAS LISTC LISTP
  1508. RN (VN '+' DR) PN YN CHPLI 'OUTP' ;
  1509.  
  1510. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1511. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1512. 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  1513.  
  1514. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1515.  
  1516. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1517.  
  1518. XXTOL = ERROM;
  1519. ERR1 = ERRO;
  1520. 'SI' (ERR1 > XXTOL) ;
  1521. CHAI1 = CHAI 'ERREUR NUMERO 38: ' ERR1 'POUR ' XXTOL;
  1522. 'MESS' CHAI1;
  1523. 'ERREUR' 5 ;
  1524. 'FINSI' ;
  1525.  
  1526.  
  1527. ************* UY *********** UY ***********************
  1528.  
  1529. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  1530. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1531. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  1532.  
  1533. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1534. PGAS LISTC LISTP
  1535. RN (VN '+' DR) PN YN CHPLI 'OUTP' ;
  1536.  
  1537. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1538. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1539. 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  1540.  
  1541. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1542.  
  1543. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1544.  
  1545. XXTOL = ERROM;
  1546. ERR1 = ERRO;
  1547. 'SI' (ERR1 > XXTOL) ;
  1548. CHAI1 = CHAI 'ERREUR NUMERO 39: ' ERR1 'POUR ' XXTOL;
  1549. 'MESS' CHAI1;
  1550. 'ERREUR' 5 ;
  1551. 'FINSI' ;
  1552.  
  1553.  
  1554. ************* PN *********** PN ***********************
  1555.  
  1556. DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1557. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1558. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1559.  
  1560. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1561. PGAS LISTC LISTP
  1562. RN VN (PN '+' DR) YN CHPLI 'OUTP' ;
  1563.  
  1564. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1565. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1566. 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  1567.  
  1568. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1569.  
  1570. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1571.  
  1572. XXTOL = ERROM;
  1573. ERR1 = ERRO;
  1574. 'SI' (ERR1 > XXTOL) ;
  1575. CHAI1 = CHAI 'ERREUR NUMERO 40: ' ERR1 'POUR ' XXTOL;
  1576. 'MESS' CHAI1;
  1577. 'ERREUR' 5 ;
  1578. 'FINSI' ;
  1579.  
  1580.  
  1581. ************* H2 *********** H2 ***********************
  1582.  
  1583. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ;
  1584. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1585. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  1586.  
  1587. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1588. PGAS LISTC LISTP
  1589. RN VN PN (YN '+' DR) CHPLI 'OUTP' ;
  1590.  
  1591. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1592. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1593. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ;
  1594.  
  1595. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1596.  
  1597. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1598.  
  1599. XXTOL = ERROM;
  1600. ERR1 = ERRO;
  1601. 'SI' (ERR1 > XXTOL) ;
  1602. CHAI1 = CHAI 'ERREUR NUMERO 41: ' ERR1 'POUR ' XXTOL;
  1603. 'MESS' CHAI1;
  1604. 'ERREUR' 5 ;
  1605. 'FINSI' ;
  1606.  
  1607.  
  1608. ************* O2 *********** O2 ***********************
  1609.  
  1610. DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ;
  1611. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1612. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  1613.  
  1614. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1615. PGAS LISTC LISTP
  1616. RN VN PN (YN '+' DR) CHPLI 'OUTP' ;
  1617.  
  1618. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1619. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1620. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ;
  1621.  
  1622. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1623.  
  1624. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1625.  
  1626. XXTOL = ERROM;
  1627. ERR1 = ERRO;
  1628. 'SI' (ERR1 > XXTOL) ;
  1629. CHAI1 = CHAI 'ERREUR NUMERO 42: ' ERR1 'POUR ' XXTOL;
  1630. 'MESS' CHAI1;
  1631. 'ERREUR' 5 ;
  1632. 'FINSI' ;
  1633.  
  1634.  
  1635.  
  1636. ************* H2O *********** H2O ***********************
  1637.  
  1638. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ;
  1639. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1640. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  1641.  
  1642. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1643. PGAS LISTC LISTP
  1644. RN VN PN (YN '+' DR) CHPLI 'OUTP' ;
  1645.  
  1646. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1647. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  1648. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ;
  1649.  
  1650. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1651.  
  1652. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1653.  
  1654. XXTOL = ERROM;
  1655. ERR1 = ERRO;
  1656. 'SI' (ERR1 > XXTOL) ;
  1657. CHAI1 = CHAI 'ERREUR NUMERO 43: ' ERR1 'POUR ' XXTOL;
  1658. 'MESS' CHAI1;
  1659. 'ERREUR' 5 ;
  1660. 'FINSI' ;
  1661.  
  1662.  
  1663. *----------------------------------------------------------
  1664. **** Jacobian with respect to conservative variables
  1665. *---------------------------------------------------------
  1666.  
  1667. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  1668. PGAS LISTC LISTP
  1669. RN VN PN YN CHPLI 'OUTP' ;
  1670.  
  1671. *************** RN **************** RN *******************
  1672.  
  1673. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1674. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1675. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1676.  
  1677. RN1 = RN '+' DR ;
  1678. GN1 = 'COPIER' GN ;
  1679. RETN1 = 'COPIER' RETN ;
  1680. RYN1 = 'COPIER' RYN ;
  1681.  
  1682. VN1 PN1 TTEMP YN1 GAMM =
  1683. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1684.  
  1685. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1686. PGAS LISTC LISTP
  1687. RN1 VN1 PN1 YN1 CHPLI 'OUTP' ;
  1688.  
  1689. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1690. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 1.0
  1691. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1692.  
  1693. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1694.  
  1695. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN)'/' MMM) 'ABS' ;
  1696.  
  1697. XXTOL = ERROM;
  1698. ERR1 = ERRO;
  1699. 'SI' (ERR1 > XXTOL) ;
  1700. CHAI1 = CHAI 'ERREUR NUMERO 44: ' ERR1 'POUR ' XXTOL;
  1701. 'MESS' CHAI1;
  1702. 'ERREUR' 5 ;
  1703. 'FINSI' ;
  1704.  
  1705.  
  1706. ***************** RUX ************************************
  1707.  
  1708. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  1709. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1710. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  1711.  
  1712. RN1 = 'COPIER' RN ;
  1713. GN1 = GN '+' DR ;
  1714. RETN1 = 'COPIER' RETN ;
  1715. RYN1 = 'COPIER' RYN ;
  1716.  
  1717. VN1 PN1 TTEMP YN1 GAMM =
  1718. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1719.  
  1720. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1721. PGAS LISTC LISTP
  1722. RN1 VN1 PN1 YN1 CHPLI 'OUTP' ;
  1723.  
  1724. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1725. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1726. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1727.  
  1728. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1729.  
  1730. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1731.  
  1732. XXTOL = ERROM;
  1733. ERR1 = ERRO;
  1734. 'SI' (ERR1 > XXTOL) ;
  1735. CHAI1 = CHAI 'ERREUR NUMERO 45: ' ERR1 'POUR ' XXTOL;
  1736. 'MESS' CHAI1;
  1737. 'ERREUR' 5 ;
  1738. 'FINSI' ;
  1739.  
  1740.  
  1741. ***************** RUY ************************************
  1742.  
  1743. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  1744. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1745. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  1746.  
  1747. RN1 = 'COPIER' RN ;
  1748. GN1 = GN '+' DR ;
  1749. RETN1 = 'COPIER' RETN ;
  1750. RYN1 = 'COPIER' RYN ;
  1751.  
  1752. VN1 PN1 TTEMP YN1 GAMM =
  1753. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1754.  
  1755. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1756. PGAS LISTC LISTP
  1757. RN1 VN1 PN1 YN1 CHPLI 'OUTP' ;
  1758.  
  1759. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1760. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1761. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1762.  
  1763. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1764.  
  1765. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1766.  
  1767. XXTOL = ERROM;
  1768. ERR1 = ERRO;
  1769. 'SI' (ERR1 > XXTOL) ;
  1770. CHAI1 = CHAI 'ERREUR NUMERO 46: ' ERR1 'POUR ' XXTOL;
  1771. 'MESS' CHAI1;
  1772. 'ERREUR' 5 ;
  1773. 'FINSI' ;
  1774.  
  1775.  
  1776. ***************** RETN ************************************
  1777.  
  1778. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  1779. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1780. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1781.  
  1782. RN1 = 'COPIER' RN ;
  1783. GN1 = 'COPIER' GN ;
  1784. RETN1 = RETN '+' DR ;
  1785. RYN1 = 'COPIER' RYN ;
  1786.  
  1787. VN1 PN1 TTEMP YN1 GAMM =
  1788. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1789.  
  1790. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1791. PGAS LISTC LISTP
  1792. RN1 VN1 PN1 YN1 CHPLI 'OUTP' ;
  1793.  
  1794. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1795. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1796. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1797.  
  1798. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1799.  
  1800. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1801.  
  1802. XXTOL = ERROM;
  1803. ERR1 = ERRO;
  1804. 'SI' (ERR1 > XXTOL) ;
  1805. CHAI1 = CHAI 'ERREUR NUMERO 47: ' ERR1 'POUR ' XXTOL;
  1806. 'MESS' CHAI1;
  1807. 'ERREUR' 5 ;
  1808. 'FINSI' ;
  1809.  
  1810.  
  1811. ***************** RYH2 ************************************
  1812.  
  1813. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ;
  1814. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1815. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  1816.  
  1817. RN1 = 'COPIER' RN ;
  1818. GN1 = 'COPIER' GN ;
  1819. RETN1 = 'COPIER' RETN ;
  1820. RYN1 = RYN '+' DR ;
  1821.  
  1822. VN1 PN1 TTEMP YN1 GAMM =
  1823. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1824.  
  1825. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1826. PGAS LISTC LISTP
  1827. RN1 VN1 PN1 YN1 CHPLI 'OUTP' ;
  1828.  
  1829. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1830. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1831. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  1832.  
  1833. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1834.  
  1835. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1836.  
  1837. XXTOL = ERROM;
  1838. ERR1 = ERRO;
  1839. 'SI' (ERR1 > XXTOL) ;
  1840. CHAI1 = CHAI 'ERREUR NUMERO 48: ' ERR1 'POUR ' XXTOL;
  1841. 'MESS' CHAI1;
  1842. 'ERREUR' 5 ;
  1843. 'FINSI' ;
  1844.  
  1845.  
  1846. ***************** RYO2 ************************************
  1847.  
  1848. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ;
  1849. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1850. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  1851.  
  1852. RN1 = 'COPIER' RN ;
  1853. GN1 = 'COPIER' GN ;
  1854. RETN1 = 'COPIER' RETN ;
  1855. RYN1 = RYN '+' DR ;
  1856.  
  1857. VN1 PN1 TTEMP YN1 GAMM =
  1858. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1859.  
  1860. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1861. PGAS LISTC LISTP
  1862. RN1 VN1 PN1 YN1 CHPLI 'OUTP' ;
  1863.  
  1864. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1865. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1866. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ;
  1867.  
  1868. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1869.  
  1870. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1871.  
  1872. XXTOL = ERROM;
  1873. ERR1 = ERRO;
  1874. 'SI' (ERR1 > XXTOL) ;
  1875. CHAI1 = CHAI 'ERREUR NUMERO 49: ' ERR1 'POUR ' XXTOL;
  1876. 'MESS' CHAI1;
  1877. 'ERREUR' 5 ;
  1878. 'FINSI' ;
  1879.  
  1880.  
  1881. ***************** RYH2O ************************************
  1882.  
  1883. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ;
  1884. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1885. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  1886.  
  1887. RN1 = 'COPIER' RN ;
  1888. GN1 = 'COPIER' GN ;
  1889. RETN1 = 'COPIER' RETN ;
  1890. RYN1 = RYN '+' DR ;
  1891.  
  1892. VN1 PN1 TTEMP YN1 GAMM =
  1893. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  1894.  
  1895. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1896. PGAS LISTC LISTP
  1897. RN1 VN1 PN1 YN1 CHPLI 'OUTP' ;
  1898.  
  1899. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1900. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  1901. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ;
  1902.  
  1903. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  1904.  
  1905. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  1906.  
  1907. XXTOL = ERROM;
  1908. ERR1 = ERRO;
  1909. 'SI' (ERR1 > XXTOL) ;
  1910. CHAI1 = CHAI 'ERREUR NUMERO 50: ' ERR1 'POUR ' XXTOL;
  1911. 'MESS' CHAI1;
  1912. 'ERREUR' 5 ;
  1913. 'FINSI' ;
  1914.  
  1915.  
  1916. *******************************************************************
  1917. *******************************************************************
  1918. *************************** INSU *********************************
  1919. *******************************************************************
  1920. *******************************************************************
  1921. * Total enthalpy, entropy, tangential velocity at the inlet
  1922. * Normal velocity inside
  1923. *
  1924. * We solve a Riemann probleme between the state at the interface thus
  1925. * reconstructed and the state at the center
  1926. *
  1927. ***** Calcul du residu dans le cas particulier UF = UC
  1928. *
  1929.  
  1930. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  1931. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  1932. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 15. 'UX' -15. ;
  1933. YN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'H2' 0.3 'O2' 0.5
  1934. 'H2O' 0.1 ;
  1935.  
  1936. GN = RN '*' VN ;
  1937. *----------------------------------------------------------
  1938. YH2 = ('EXTRAIRE' YN 'H2' PCEN) ;
  1939. YO2 = ('EXTRAIRE' YN 'O2' PCEN) ;
  1940. YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ;
  1941. YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ;
  1942. YNTOT = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'H2' YH2 'O2' YO2
  1943. 'H2O' YH2O 'N2' YN2 ;
  1944. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  1945. CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
  1946. CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
  1947. GAMN = CPTOT '/' CVTOT ;
  1948. GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ;
  1949. *----------------------------------------------------------
  1950. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  1951. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  1952. RHTN = RETN '+' PN ;
  1953. HTN = RHTN '/' RN ;
  1954. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  1955. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  1956. UTC = -1 '*' (UXC '+' UYC) '/' (2. '**' 0.5) ;
  1957.  
  1958. SN = PN '/' (RN '**' ('MAXI' GAMN)) ;
  1959.  
  1960. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 5 'HT' ('MAXIMUM' HTN)
  1961. 'S' ('MAXIMUM' SN) 'H2' 0.3 'O2' 0.5 'H2O' 0.1;
  1962.  
  1963. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' 'VAR6' 'VAR7' ;
  1964. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' 'H2 ' 'O2 ' 'H2O ' ;
  1965.  
  1966. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  1967. PGAS LISTC LISTP
  1968. RN VN PN YN CHPLI 'INSU' ;
  1969.  
  1970. *-------------------------------------------------------------
  1971.  
  1972. 'SI' ('EGA' TYEL 'QUA8') ;
  1973. SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ;
  1974. 'SINON' ;
  1975. SURSVOL = -2. '/' ((2 '**' 0.5) * 0.5) ;
  1976. 'FINSI' ;
  1977.  
  1978. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  1979. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  1980. UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ;
  1981. UT = (UXC '+' UYC) '/' (2. '**' 0.5) ;
  1982. PC = 'EXTRAIRE' PN PCEN 'SCAL' ;
  1983. RC = 'EXTRAIRE' RN PCEN 'SCAL' ;
  1984. GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ;
  1985.  
  1986. RCHLIM2 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 7 'RN' RC 'PN' PC 'UX'
  1987. UXC 'UY' UYC 'H2' YH2 'O2' YO2 'H2O' YH2O ;
  1988.  
  1989. ERRO = 'MAXIMUM' (RCHLIM '-' RCHLIM2) 'ABS' ;
  1990.  
  1991. XXTOL = 1.D-6;
  1992. ERR1 = ERRO;
  1993. 'SI' (ERR1 > XXTOL) ;
  1994. CHAI1 = CHAI 'ERREUR NUMERO 51: ' ERR1 'POUR ' XXTOL;
  1995. 'MESS' CHAI1;
  1996. 'ERREUR' 5 ;
  1997. 'FINSI' ;
  1998.  
  1999.  
  2000. FMASS = RC '*' UNORM ;
  2001. FUN = (RC '*' UNORM '*' UNORM) '+' PC ;
  2002. FUT = (RC '*' UNORM '*' UT) ;
  2003. FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ;
  2004. FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ;
  2005. FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+'
  2006. (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+'
  2007. (UT '*' UT))) ;
  2008. FH2 = RC '*' UNORM '*' YH2 ;
  2009. FO2 = RC '*' UNORM '*' YO2 ;
  2010. FHO = RC '*' UNORM '*' YH2O ;
  2011. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 7
  2012. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL)
  2013. 'VAR3' (FUY '*' SURSVOL) 'VAR4' (FEN '*' SURSVOL)
  2014. 'VAR5' (FH2 '*' SURSVOL) 'VAR6' (FO2 '*' SURSVOL)
  2015. 'VAR7' (FHO '*' SURSVOL) ;
  2016.  
  2017. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  2018.  
  2019.  
  2020. XXTOL = 1.D-6;
  2021. ERR1 = ERRO;
  2022. 'SI' (ERR1 > XXTOL) ;
  2023. CHAI1 = CHAI 'ERREUR NUMERO 52: ' ERR1 'POUR ' XXTOL;
  2024. 'MESS' CHAI1;
  2025. 'ERREUR' 5 ;
  2026. 'FINSI' ;
  2027.  
  2028. *------------------------------------------------------------
  2029. ***** Jacobian with respect to the primitive variables ******
  2030. *------------------------------------------------------------
  2031. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 5 'HT' 250.0
  2032. 'S' 2.0 'H2' 0.1 'O2' 0.7 'H2O' 0.2;
  2033.  
  2034. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2035. PGAS LISTC LISTP
  2036. RN VN PN YN CHPLI 'INSU' ;
  2037.  
  2038. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  2039. PGAS LISTC LISTP
  2040. RN VN PN YN CHPLI 'INSU' ;
  2041.  
  2042. ************* RN *********** RN ***********************
  2043.  
  2044. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  2045. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2046. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2047.  
  2048. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2049. PGAS LISTC LISTP
  2050. (RN '+' DR) VN PN YN CHPLI 'INSU' ;
  2051.  
  2052. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2053. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 1.0
  2054. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2055.  
  2056. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2057.  
  2058. 'SI' (MMM < ERROM) ;
  2059. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2060. 'SINON' ;
  2061. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2062. 'FINSI' ;
  2063.  
  2064.  
  2065. XXTOL = ERROM;
  2066. ERR1 = ERRO;
  2067. 'SI' (ERR1 > XXTOL) ;
  2068. CHAI1 = CHAI 'ERREUR NUMERO 53: ' ERR1 'POUR ' XXTOL;
  2069. 'MESS' CHAI1;
  2070. 'ERREUR' 5 ;
  2071. 'FINSI' ;
  2072.  
  2073.  
  2074. ************* UX *********** UX ***********************
  2075.  
  2076. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  2077. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2078. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  2079.  
  2080. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2081. PGAS LISTC LISTP
  2082. RN (VN '+' DR) PN YN CHPLI 'INSU' ;
  2083.  
  2084. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2085. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2086. 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2087.  
  2088. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2089.  
  2090.  
  2091. 'SI' (MMM < ERROM) ;
  2092. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2093. 'SINON' ;
  2094. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2095. 'FINSI' ;
  2096.  
  2097. XXTOL = ERROM;
  2098. ERR1 = ERRO;
  2099. 'SI' (ERR1 > XXTOL) ;
  2100. CHAI1 = CHAI 'ERREUR NUMERO 54: ' ERR1 'POUR ' XXTOL;
  2101. 'MESS' CHAI1;
  2102. 'ERREUR' 5 ;
  2103. 'FINSI' ;
  2104.  
  2105.  
  2106. ************* UY *********** UY ***********************
  2107.  
  2108. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  2109. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2110. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  2111.  
  2112. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2113. PGAS LISTC LISTP
  2114. RN (VN '+' DR) PN YN CHPLI 'INSU' ;
  2115.  
  2116. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2117. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2118. 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2119.  
  2120. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2121.  
  2122. 'SI' (MMM < ERROM) ;
  2123. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2124. 'SINON' ;
  2125. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2126. 'FINSI' ;
  2127.  
  2128. XXTOL = ERROM;
  2129. ERR1 = ERRO;
  2130. 'SI' (ERR1 > XXTOL) ;
  2131. CHAI1 = CHAI 'ERREUR NUMERO 55: ' ERR1 'POUR ' XXTOL;
  2132. 'MESS' CHAI1;
  2133. 'ERREUR' 5 ;
  2134. 'FINSI' ;
  2135.  
  2136.  
  2137. ************* PN *********** PN ***********************
  2138.  
  2139. DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  2140. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2141. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2142.  
  2143. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2144. PGAS LISTC LISTP
  2145. RN VN (PN '+' DR) YN CHPLI 'INSU' ;
  2146.  
  2147. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2148. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2149. 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2150.  
  2151. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2152.  
  2153. 'SI' (MMM < ERROM) ;
  2154. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2155. 'SINON' ;
  2156. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2157. 'FINSI' ;
  2158.  
  2159. XXTOL = ERROM;
  2160. ERR1 = ERRO;
  2161. 'SI' (ERR1 > XXTOL) ;
  2162. CHAI1 = CHAI 'ERREUR NUMERO 56: ' ERR1 'POUR ' XXTOL;
  2163. 'MESS' CHAI1;
  2164. 'ERREUR' 5 ;
  2165. 'FINSI' ;
  2166.  
  2167.  
  2168. ************* H2 *********** H2 ***********************
  2169.  
  2170. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ;
  2171. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2172. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  2173.  
  2174. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2175. PGAS LISTC LISTP
  2176. RN VN PN (YN '+' DR) CHPLI 'INSU' ;
  2177.  
  2178. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2179. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2180. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ;
  2181.  
  2182. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2183.  
  2184. 'SI' (MMM < ERROM) ;
  2185. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2186. 'SINON' ;
  2187. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2188. 'FINSI' ;
  2189.  
  2190. XXTOL = ERROM;
  2191. ERR1 = ERRO;
  2192. 'SI' (ERR1 > XXTOL) ;
  2193. CHAI1 = CHAI 'ERREUR NUMERO 57: ' ERR1 'POUR ' XXTOL;
  2194. 'MESS' CHAI1;
  2195. 'ERREUR' 5 ;
  2196. 'FINSI' ;
  2197.  
  2198. ************* O2 *********** O2 ***********************
  2199.  
  2200. DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ;
  2201. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2202. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  2203.  
  2204. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2205. PGAS LISTC LISTP
  2206. RN VN PN (YN '+' DR) CHPLI 'INSU' ;
  2207.  
  2208. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2209. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2210. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ;
  2211.  
  2212. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2213.  
  2214. 'SI' (MMM < ERROM) ;
  2215. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2216. 'SINON' ;
  2217. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2218. 'FINSI' ;
  2219.  
  2220. XXTOL = ERROM;
  2221. ERR1 = ERRO;
  2222. 'SI' (ERR1 > XXTOL) ;
  2223. CHAI1 = CHAI 'ERREUR NUMERO 58: ' ERR1 'POUR ' XXTOL;
  2224. 'MESS' CHAI1;
  2225. 'ERREUR' 5 ;
  2226. 'FINSI' ;
  2227.  
  2228.  
  2229.  
  2230. ************* H2O *********** H2O ***********************
  2231.  
  2232. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ;
  2233. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2234. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  2235.  
  2236. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2237. PGAS LISTC LISTP
  2238. RN VN PN (YN '+' DR) CHPLI 'INSU' ;
  2239.  
  2240. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2241. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2242. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ;
  2243.  
  2244. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2245.  
  2246. 'SI' (MMM < ERROM) ;
  2247. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2248. 'SINON' ;
  2249. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2250. 'FINSI' ;
  2251.  
  2252.  
  2253. XXTOL = ERROM;
  2254. ERR1 = ERRO;
  2255. 'SI' (ERR1 > XXTOL) ;
  2256. CHAI1 = CHAI 'ERREUR NUMERO 59: ' ERR1 'POUR ' XXTOL;
  2257. 'MESS' CHAI1;
  2258. 'ERREUR' 5 ;
  2259. 'FINSI' ;
  2260.  
  2261.  
  2262. *----------------------------------------------------------
  2263. **** Jacobian with respect to conservative variables
  2264. *---------------------------------------------------------
  2265.  
  2266. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  2267. PGAS LISTC LISTP
  2268. RN VN PN YN CHPLI 'INSU' ;
  2269.  
  2270.  
  2271. *************** RN **************** RN *******************
  2272.  
  2273. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  2274. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2275. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2276.  
  2277. RN1 = RN '+' DR ;
  2278. GN1 = 'COPIER' GN ;
  2279. RETN1 = 'COPIER' RETN ;
  2280. RYN1 = 'COPIER' RYN ;
  2281.  
  2282. VN1 PN1 TTEMP YN1 GAMM =
  2283. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  2284.  
  2285. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2286. PGAS LISTC LISTP
  2287. RN1 VN1 PN1 YN1 CHPLI 'INSU' ;
  2288.  
  2289. NNN = 'MAXIMUM' RCHRES 'ABS' ;
  2290.  
  2291. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2292. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 1.0
  2293. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  2294.  
  2295. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2296.  
  2297. 'SI' (MMM < ERROM) ;
  2298. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2299. 'SINON' ;
  2300. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2301. 'FINSI' ;
  2302.  
  2303. * 'OPTION' DONN 5 ;
  2304.  
  2305. XXTOL = ERROM;
  2306. ERR1 = ERRO;
  2307. 'SI' (ERR1 > XXTOL) ;
  2308. CHAI1 = CHAI 'ERREUR NUMERO 60: ' ERR1 'POUR ' XXTOL;
  2309. 'MESS' CHAI1;
  2310. 'ERREUR' 5 ;
  2311. 'FINSI' ;
  2312.  
  2313.  
  2314. ***************** RUX ************************************
  2315.  
  2316. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  2317. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2318. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  2319.  
  2320. RN1 = 'COPIER' RN ;
  2321. GN1 = GN '+' DR ;
  2322. RETN1 = 'COPIER' RETN ;
  2323. RYN1 = 'COPIER' RYN ;
  2324.  
  2325. VN1 PN1 TTEMP YN1 GAMM =
  2326. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  2327.  
  2328. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2329. PGAS LISTC LISTP
  2330. RN1 VN1 PN1 YN1 CHPLI 'INSU' ;
  2331.  
  2332. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2333. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  2334. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  2335.  
  2336. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2337.  
  2338. 'SI' (MMM < ERROM) ;
  2339. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2340. 'SINON' ;
  2341. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2342. 'FINSI' ;
  2343.  
  2344. * 'OPTION' DONN 5 ;
  2345.  
  2346. XXTOL = ERROM;
  2347. ERR1 = ERRO;
  2348. 'SI' (ERR1 > XXTOL) ;
  2349. CHAI1 = CHAI 'ERREUR NUMERO 61: ' ERR1 'POUR ' XXTOL;
  2350. 'MESS' CHAI1;
  2351. 'ERREUR' 5 ;
  2352. 'FINSI' ;
  2353.  
  2354.  
  2355. ***************** RUY ************************************
  2356.  
  2357. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  2358. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2359. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  2360.  
  2361. RN1 = 'COPIER' RN ;
  2362. GN1 = GN '+' DR ;
  2363. RETN1 = 'COPIER' RETN ;
  2364. RYN1 = 'COPIER' RYN ;
  2365.  
  2366. VN1 PN1 TTEMP YN1 GAMM =
  2367. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  2368.  
  2369. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2370. PGAS LISTC LISTP
  2371. RN1 VN1 PN1 YN1 CHPLI 'INSU' ;
  2372.  
  2373. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2374. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  2375. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  2376.  
  2377. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2378.  
  2379. 'SI' (MMM < ERROM) ;
  2380. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2381. 'SINON' ;
  2382. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2383. 'FINSI' ;
  2384.  
  2385. XXTOL = ERROM;
  2386. ERR1 = ERRO;
  2387. 'SI' (ERR1 > XXTOL) ;
  2388. CHAI1 = CHAI 'ERREUR NUMERO 62: ' ERR1 'POUR ' XXTOL;
  2389. 'MESS' CHAI1;
  2390. 'ERREUR' 5 ;
  2391. 'FINSI' ;
  2392.  
  2393.  
  2394. ***************** RETN ************************************
  2395.  
  2396. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  2397. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2398. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2399.  
  2400. RN1 = 'COPIER' RN ;
  2401. GN1 = 'COPIER' GN ;
  2402. RETN1 = RETN '+' DR ;
  2403. RYN1 = 'COPIER' RYN ;
  2404.  
  2405. VN1 PN1 TTEMP YN1 GAMM =
  2406. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  2407.  
  2408. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2409. PGAS LISTC LISTP
  2410. RN1 VN1 PN1 YN1 CHPLI 'INSU' ;
  2411.  
  2412. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2413. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  2414. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  2415.  
  2416. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2417.  
  2418. 'SI' (MMM < ERROM) ;
  2419. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2420. 'SINON' ;
  2421. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2422. 'FINSI' ;
  2423.  
  2424. XXTOL = ERROM;
  2425. ERR1 = ERRO;
  2426. 'SI' (ERR1 > XXTOL) ;
  2427. CHAI1 = CHAI 'ERREUR NUMERO 63: ' ERR1 'POUR ' XXTOL;
  2428. 'MESS' CHAI1;
  2429. 'ERREUR' 5 ;
  2430. 'FINSI' ;
  2431.  
  2432. ***************** RYH2 ************************************
  2433.  
  2434. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ;
  2435. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2436. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  2437.  
  2438. RN1 = 'COPIER' RN ;
  2439. GN1 = 'COPIER' GN ;
  2440. RETN1 = 'COPIER' RETN ;
  2441. RYN1 = RYN '+' DR ;
  2442.  
  2443. VN1 PN1 TTEMP YN1 GAMM =
  2444. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  2445.  
  2446. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2447. PGAS LISTC LISTP
  2448. RN1 VN1 PN1 YN1 CHPLI 'INSU' ;
  2449.  
  2450. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2451. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  2452. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  2453.  
  2454. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2455.  
  2456. 'SI' (MMM < ERROM) ;
  2457. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2458. 'SINON' ;
  2459. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2460. 'FINSI' ;
  2461.  
  2462. XXTOL = ERROM;
  2463. ERR1 = ERRO;
  2464. 'SI' (ERR1 > XXTOL) ;
  2465. CHAI1 = CHAI 'ERREUR NUMERO 64: ' ERR1 'POUR ' XXTOL;
  2466. 'MESS' CHAI1;
  2467. 'ERREUR' 5 ;
  2468. 'FINSI' ;
  2469.  
  2470.  
  2471. ***************** RYO2 ************************************
  2472.  
  2473. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ;
  2474. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2475. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  2476.  
  2477. RN1 = 'COPIER' RN ;
  2478. GN1 = 'COPIER' GN ;
  2479. RETN1 = 'COPIER' RETN ;
  2480. RYN1 = RYN '+' DR ;
  2481.  
  2482. VN1 PN1 TTEMP YN1 GAMM =
  2483. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  2484.  
  2485. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2486. PGAS LISTC LISTP
  2487. RN1 VN1 PN1 YN1 CHPLI 'INSU' ;
  2488.  
  2489. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2490. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  2491. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ;
  2492.  
  2493. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2494.  
  2495. 'SI' (MMM < ERROM) ;
  2496. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2497. 'SINON' ;
  2498. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2499. 'FINSI' ;
  2500.  
  2501. XXTOL = ERROM;
  2502. ERR1 = ERRO;
  2503. 'SI' (ERR1 > XXTOL) ;
  2504. CHAI1 = CHAI 'ERREUR NUMERO 65: ' ERR1 'POUR ' XXTOL;
  2505. 'MESS' CHAI1;
  2506. 'ERREUR' 5 ;
  2507. 'FINSI' ;
  2508.  
  2509.  
  2510. ***************** RYH2O ************************************
  2511.  
  2512. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ;
  2513. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2514. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  2515.  
  2516. RN1 = 'COPIER' RN ;
  2517. GN1 = 'COPIER' GN ;
  2518. RETN1 = 'COPIER' RETN ;
  2519. RYN1 = RYN '+' DR ;
  2520.  
  2521. VN1 PN1 TTEMP YN1 GAMM =
  2522. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  2523.  
  2524. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2525. PGAS LISTC LISTP
  2526. RN1 VN1 PN1 YN1 CHPLI 'INSU' ;
  2527.  
  2528. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2529. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  2530. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ;
  2531.  
  2532. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2533.  
  2534. 'SI' (MMM < ERROM) ;
  2535. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2536. 'SINON' ;
  2537. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2538. 'FINSI' ;
  2539.  
  2540. XXTOL = ERROM;
  2541. ERR1 = ERRO;
  2542. 'SI' (ERR1 > XXTOL) ;
  2543. CHAI1 = CHAI 'ERREUR NUMERO 66: ' ERR1 'POUR ' XXTOL;
  2544. 'MESS' CHAI1;
  2545. 'ERREUR' 5 ;
  2546. 'FINSI' ;
  2547.  
  2548.  
  2549. *************************************************************
  2550. *************************************************************
  2551. *------- 'INOU' -------*
  2552. *************************************************************
  2553. *************************************************************
  2554. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  2555. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  2556. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 15. 'UX' -15. ;
  2557. VN1 = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 25. ;
  2558. VN2 = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 25. ;
  2559. YN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 3 'H2' 0.3 'O2' 0.5
  2560. 'H2O' 0.1 ;
  2561.  
  2562. GN = RN '*' VN ;
  2563. GN2 = RN '*' VN1 ;
  2564. *---------------------------------------------------------
  2565. YH2 = ('EXTRAIRE' YN 'H2' PCEN) ;
  2566. YO2 = ('EXTRAIRE' YN 'O2' PCEN) ;
  2567. YH2O = ('EXTRAIRE' YN 'H2O' PCEN) ;
  2568. YN2 = 1.0D0 '-' (YH2 '+' YO2 '+' YH2O) ;
  2569. YNTOT = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'H2' YH2 'O2' YO2
  2570. 'H2O' YH2O 'N2' YN2 ;
  2571. LMOT1 = (PGAS . 'ESPEULE') 'ET' ('MOTS' (PGAS . 'ESPNEULE')) ;
  2572. CVTOT = 'PSCAL' YNTOT CV LMOT1 LMOT1 ;
  2573. CPTOT = 'PSCAL' YNTOT CP LMOT1 LMOT1 ;
  2574. GAMN = CPTOT '/' CVTOT ;
  2575. GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ;
  2576. *----------------------------------------------------------
  2577. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  2578. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  2579. RETN2 =(('INVERSE' (GAMN '-' 1)) '*' PN) '+'
  2580. (0.5 '*' ('PSCAL' VN1 GN2
  2581. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  2582.  
  2583. RHTN = RETN '+' PN ;
  2584. HTN = RHTN '/' RN ;
  2585. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  2586. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  2587. UTC = -1 '*' (UXC '+' UYC) '/' (2. '**' 0.5) ;
  2588.  
  2589. SN = PN '/' (RN '**' ('MAXI' GAMN)) ;
  2590.  
  2591. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 6 'HT' ('MAXIMUM' HTN)
  2592. 'S' ('MAXIMUM' SN) 'H2' 0.3 'O2' 0.5 'H2O' 0.1 'PN' 50.0 ;
  2593.  
  2594. CHPLI1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 5 'HT' ('MAXIMUM' HTN)
  2595. 'S' ('MAXIMUM' SN) 'H2' 0.3 'O2' 0.5 'H2O' 0.1 ;
  2596.  
  2597. CHPLI2 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 1 'PN' 50.0 ;
  2598.  
  2599. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' 'VAR6' 'VAR7' ;
  2600. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' 'H2 ' 'O2 ' 'H2O ' ;
  2601.  
  2602. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2603. PGAS LISTC LISTP
  2604. RN VN PN YN CHPLI 'INOU' ;
  2605.  
  2606. RCHLIM1 RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2607. PGAS LISTC LISTP
  2608. RN VN PN YN CHPLI1 'INSU' ;
  2609.  
  2610. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  2611. ERRO1 = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ;
  2612.  
  2613. * 'OPTION' DONN 5 ;
  2614.  
  2615. XXTOL = 1.D-9;
  2616. ERR1 = ERRO;
  2617. 'SI' (ERR1 > XXTOL) ;
  2618. CHAI1 = CHAI 'ERREUR NUMERO 67: ' ERR1 'POUR ' XXTOL;
  2619. 'MESS' CHAI1;
  2620. 'ERREUR' 5 ;
  2621. 'FINSI' ;
  2622.  
  2623. XXTOL = 1.D-12;
  2624. ERR1 = ERRO1;
  2625. 'SI' (ERR1 > XXTOL) ;
  2626. CHAI1 = CHAI 'ERREUR NUMERO 68: ' ERR1 'POUR ' XXTOL;
  2627. 'MESS' CHAI1;
  2628. 'ERREUR' 5 ;
  2629. 'FINSI' ;
  2630. *--------------------------------------------------------------
  2631. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2632. PGAS LISTC LISTP
  2633. RN VN1 PN YN CHPLI 'INOU' ;
  2634.  
  2635.  
  2636. RCHLIM2 RCHRES2 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2637. PGAS LISTC LISTP
  2638. RN VN1 PN YN CHPLI2 'OUTP' ;
  2639.  
  2640. ERRO = 'MAXIMUM' (RCHRES2 '-' RCHRES) 'ABS' ;
  2641. ERRO1 = 'MAXIMUM' (RCHLIM2 '-' RCHLIM) 'ABS' ;
  2642.  
  2643. XXTOL = 1.D-12;
  2644. ERR1 = ERRO;
  2645. 'SI' (ERR1 > XXTOL) ;
  2646. CHAI1 = CHAI 'ERREUR NUMERO 69: ' ERR1 'POUR ' XXTOL;
  2647. 'MESS' CHAI1;
  2648. 'ERREUR' 5 ;
  2649. 'FINSI' ;
  2650.  
  2651. XXTOL = 1.D-12;
  2652. ERR1 = ERRO1;
  2653. 'SI' (ERR1 > XXTOL) ;
  2654. CHAI1 = CHAI 'ERREUR NUMERO 70: ' ERR1 'POUR ' XXTOL;
  2655. 'MESS' CHAI1;
  2656. 'ERREUR' 5 ;
  2657. 'FINSI' ;
  2658.  
  2659. *------------------------------------------------------------
  2660. ***** Jacobian with respect to the primitive variables ******
  2661. *------------------------------------------------------------
  2662. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 6 'HT' 250.0
  2663. 'S' 2.0 'H2' 0.1 'O2' 0.7 'H2O' 0.2 'PN' 50.0 ;
  2664.  
  2665. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2666. PGAS LISTC LISTP
  2667. RN VN PN YN CHPLI 'INOU' ;
  2668.  
  2669. RCHLIM2 RCHRES2 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2670. PGAS LISTC LISTP
  2671. RN VN1 PN YN CHPLI 'INOU' ;
  2672.  
  2673. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  2674. PGAS LISTC LISTP
  2675. RN VN PN YN CHPLI 'INOU' ;
  2676.  
  2677.  
  2678. RJACO2 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  2679. PGAS LISTC LISTP
  2680. RN VN1 PN YN CHPLI 'INOU' ;
  2681. ************* RN *********** RN ***********************
  2682.  
  2683. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  2684. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2685. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2686.  
  2687. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2688. PGAS LISTC LISTP
  2689. (RN '+' DR) VN PN YN CHPLI 'INOU' ;
  2690.  
  2691. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2692. PGAS LISTC LISTP
  2693. (RN '+' DR) VN1 PN YN CHPLI 'INOU' ;
  2694.  
  2695. DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  2696. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 1.0
  2697. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2698.  
  2699. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2700. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 1.0
  2701. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2702.  
  2703. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2704. 'SI' (MMM < ERROM) ;
  2705. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2706. 'SINON' ;
  2707. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2708. 'FINSI' ;
  2709. *---------------------------
  2710. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  2711. 'SI' (MMM < ERROM) ;
  2712. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  2713. 'SINON' ;
  2714. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  2715. 'FINSI' ;
  2716.  
  2717. XXTOL = ERROM;
  2718. ERR1 = ERRO;
  2719. 'SI' (ERR1 > XXTOL) ;
  2720. CHAI1 = CHAI 'ERREUR NUMERO 71: ' ERR1 'POUR ' XXTOL;
  2721. 'MESS' CHAI1;
  2722. 'ERREUR' 5 ;
  2723. 'FINSI' ;
  2724.  
  2725. XXTOL = ERROM;
  2726. ERR1 = ERRO2;
  2727. 'SI' (ERR1 > XXTOL) ;
  2728. CHAI1 = CHAI 'ERREUR NUMERO 72: ' ERR1 'POUR ' XXTOL;
  2729. 'MESS' CHAI1;
  2730. 'ERREUR' 5 ;
  2731. 'FINSI' ;
  2732.  
  2733.  
  2734. ************* UX *********** UX ***********************
  2735.  
  2736. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  2737. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2738. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  2739. *-------------------------------------------
  2740. DRSCAL2 = EPS '*' ('EXTRAIRE' VN2 'UX' PCEN) ;
  2741. DR2 = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL2) ;
  2742. *-------------------------------------------
  2743.  
  2744. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2745. PGAS LISTC LISTP
  2746. RN (VN '+' DR) PN YN CHPLI 'INOU' ;
  2747.  
  2748. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2749. PGAS LISTC LISTP
  2750. RN (VN1 '+' DR2) PN YN CHPLI 'INOU' ;
  2751.  
  2752. DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL2 ;
  2753. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2754. 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2755.  
  2756. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2757. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2758. 'UX' 1.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2759.  
  2760. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2761. 'SI' (MMM < ERROM) ;
  2762. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2763. 'SINON' ;
  2764. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2765. 'FINSI' ;
  2766. *---------------------------
  2767. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  2768. 'SI' (MMM < ERROM) ;
  2769. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  2770. 'SINON' ;
  2771. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  2772. 'FINSI' ;
  2773.  
  2774. XXTOL = ERROM;
  2775. ERR1 = ERRO;
  2776. 'SI' (ERR1 > XXTOL) ;
  2777. CHAI1 = CHAI 'ERREUR NUMERO 73: ' ERR1 'POUR ' XXTOL;
  2778. 'MESS' CHAI1;
  2779. 'ERREUR' 5 ;
  2780. 'FINSI' ;
  2781.  
  2782. XXTOL = ERROM;
  2783. ERR1 = ERRO2;
  2784. 'SI' (ERR1 > XXTOL) ;
  2785. CHAI1 = CHAI 'ERREUR NUMERO 74: ' ERR1 'POUR ' XXTOL;
  2786. 'MESS' CHAI1;
  2787. 'ERREUR' 5 ;
  2788. 'FINSI' ;
  2789.  
  2790. ************* UY *********** UY ***********************
  2791.  
  2792. DRSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  2793. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2794. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  2795. *-------------------------------------------
  2796. DRSCAL2 = EPS '*' ('EXTRAIRE' VN2 'UY' PCEN) ;
  2797. DR2 = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL2) ;
  2798. *-------------------------------------------
  2799.  
  2800. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2801. PGAS LISTC LISTP
  2802. RN (VN '+' DR) PN YN CHPLI 'INOU' ;
  2803.  
  2804. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2805. PGAS LISTC LISTP
  2806. RN (VN1 '+' DR2) PN YN CHPLI 'INOU' ;
  2807.  
  2808. DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL2 ;
  2809. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2810. 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2811.  
  2812. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2813. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2814. 'UX' 0.0 'UY' 1.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2815.  
  2816. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2817. 'SI' (MMM < ERROM) ;
  2818. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2819. 'SINON' ;
  2820. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2821. 'FINSI' ;
  2822. *---------------------------
  2823. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  2824. 'SI' (MMM < ERROM) ;
  2825. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  2826. 'SINON' ;
  2827. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  2828. 'FINSI' ;
  2829.  
  2830. XXTOL = ERROM;
  2831. ERR1 = ERRO;
  2832. 'SI' (ERR1 > XXTOL) ;
  2833. CHAI1 = CHAI 'ERREUR NUMERO 75: ' ERR1 'POUR ' XXTOL;
  2834. 'MESS' CHAI1;
  2835. 'ERREUR' 5 ;
  2836. 'FINSI' ;
  2837.  
  2838. XXTOL = ERROM;
  2839. ERR1 = ERRO2;
  2840. 'SI' (ERR1 > XXTOL) ;
  2841. CHAI1 = CHAI 'ERREUR NUMERO 76: ' ERR1 'POUR ' XXTOL;
  2842. 'MESS' CHAI1;
  2843. 'ERREUR' 5 ;
  2844. 'FINSI' ;
  2845.  
  2846.  
  2847. ************* PN *********** PN ***********************
  2848.  
  2849. DRSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  2850. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2851. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2852.  
  2853. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2854. PGAS LISTC LISTP
  2855. RN VN (PN '+' DR) YN CHPLI 'INOU' ;
  2856.  
  2857. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2858. PGAS LISTC LISTP
  2859. RN VN1 (PN '+' DR) YN CHPLI 'INOU' ;
  2860.  
  2861. DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  2862. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2863. 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2864.  
  2865. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2866. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2867. 'UX' 0.0 'UY' 0.0 'PN' 1.0 'H2' 0.0 'O2' 0.0 'H2O' 0.0 ) ;
  2868.  
  2869. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2870. 'SI' (MMM < ERROM) ;
  2871. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2872. 'SINON' ;
  2873. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2874. 'FINSI' ;
  2875. *---------------------------
  2876. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  2877. 'SI' (MMM < ERROM) ;
  2878. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  2879. 'SINON' ;
  2880. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  2881. 'FINSI' ;
  2882.  
  2883. XXTOL = ERROM;
  2884. ERR1 = ERRO;
  2885. 'SI' (ERR1 > XXTOL) ;
  2886. CHAI1 = CHAI 'ERREUR NUMERO 77: ' ERR1 'POUR ' XXTOL;
  2887. 'MESS' CHAI1;
  2888. 'ERREUR' 5 ;
  2889. 'FINSI' ;
  2890.  
  2891. XXTOL = ERROM;
  2892. ERR1 = ERRO2;
  2893. 'SI' (ERR1 > XXTOL) ;
  2894. CHAI1 = CHAI 'ERREUR NUMERO 78: ' ERR1 'POUR ' XXTOL;
  2895. 'MESS' CHAI1;
  2896. 'ERREUR' 5 ;
  2897. 'FINSI' ;
  2898.  
  2899.  
  2900. ************* H2 *********** H2 ***********************
  2901.  
  2902. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2' PCEN) ;
  2903. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2904. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  2905.  
  2906. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2907. PGAS LISTC LISTP
  2908. RN VN PN (YN '+' DR) CHPLI 'INOU' ;
  2909.  
  2910. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2911. PGAS LISTC LISTP
  2912. RN VN1 PN (YN '+' DR) CHPLI 'INOU' ;
  2913.  
  2914. DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  2915. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2916. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ;
  2917.  
  2918. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2919. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2920. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 1.0 'O2' 0.0 'H2O' 0.0 ) ;
  2921.  
  2922. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2923. 'SI' (MMM < ERROM) ;
  2924. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2925. 'SINON' ;
  2926. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2927. 'FINSI' ;
  2928. *---------------------------
  2929. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  2930. 'SI' (MMM < ERROM) ;
  2931. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  2932. 'SINON' ;
  2933. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  2934. 'FINSI' ;
  2935.  
  2936. XXTOL = ERROM;
  2937. ERR1 = ERRO;
  2938. 'SI' (ERR1 > XXTOL) ;
  2939. CHAI1 = CHAI 'ERREUR NUMERO 79: ' ERR1 'POUR ' XXTOL;
  2940. 'MESS' CHAI1;
  2941. 'ERREUR' 5 ;
  2942. 'FINSI' ;
  2943.  
  2944. XXTOL = ERROM;
  2945. ERR1 = ERRO2;
  2946. 'SI' (ERR1 > XXTOL) ;
  2947. CHAI1 = CHAI 'ERREUR NUMERO 80: ' ERR1 'POUR ' XXTOL;
  2948. 'MESS' CHAI1;
  2949. 'ERREUR' 5 ;
  2950. 'FINSI' ;
  2951.  
  2952.  
  2953. ************* O2 *********** O2 ***********************
  2954.  
  2955. DRSCAL = EPS '*' ('EXTRAIRE' YN 'O2' PCEN) ;
  2956. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2957. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  2958.  
  2959. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2960. PGAS LISTC LISTP
  2961. RN VN PN (YN '+' DR) CHPLI 'INOU' ;
  2962.  
  2963. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  2964. PGAS LISTC LISTP
  2965. RN VN1 PN (YN '+' DR) CHPLI 'INOU' ;
  2966.  
  2967. DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  2968. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2969. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ;
  2970.  
  2971. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2972. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  2973. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 1.0 'H2O' 0.0 ) ;
  2974.  
  2975. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  2976. 'SI' (MMM < ERROM) ;
  2977. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2978. 'SINON' ;
  2979. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  2980. 'FINSI' ;
  2981. *---------------------------
  2982. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  2983. 'SI' (MMM < ERROM) ;
  2984. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  2985. 'SINON' ;
  2986. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  2987. 'FINSI' ;
  2988.  
  2989.  
  2990. XXTOL = ERROM;
  2991. ERR1 = ERRO;
  2992. 'SI' (ERR1 > XXTOL) ;
  2993. CHAI1 = CHAI 'ERREUR NUMERO 81: ' ERR1 'POUR ' XXTOL;
  2994. 'MESS' CHAI1;
  2995. 'ERREUR' 5 ;
  2996. 'FINSI' ;
  2997.  
  2998. XXTOL = ERROM;
  2999. ERR1 = ERRO2;
  3000. 'SI' (ERR1 > XXTOL) ;
  3001. CHAI1 = CHAI 'ERREUR NUMERO 82: ' ERR1 'POUR ' XXTOL;
  3002. 'MESS' CHAI1;
  3003. 'ERREUR' 5 ;
  3004. 'FINSI' ;
  3005.  
  3006.  
  3007. ************* H20 *********** H20 ***********************
  3008.  
  3009. DRSCAL = EPS '*' ('EXTRAIRE' YN 'H2O' PCEN) ;
  3010. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3011. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  3012.  
  3013. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3014. PGAS LISTC LISTP
  3015. RN VN PN (YN '+' DR) CHPLI 'INOU' ;
  3016.  
  3017. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3018. PGAS LISTC LISTP
  3019. RN VN1 PN (YN '+' DR) CHPLI 'INOU' ;
  3020.  
  3021. DRESDRN2 = ( RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  3022. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  3023. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ;
  3024.  
  3025. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  3026. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'RN' 0.0
  3027. 'UX' 0.0 'UY' 0.0 'PN' 0.0 'H2' 0.0 'O2' 0.0 'H2O' 1.0 ) ;
  3028.  
  3029. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3030. 'SI' (MMM < ERROM) ;
  3031. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3032. 'SINON' ;
  3033. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3034. 'FINSI' ;
  3035. *---------------------------
  3036. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3037. 'SI' (MMM < ERROM) ;
  3038. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3039. 'SINON' ;
  3040. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3041. 'FINSI' ;
  3042.  
  3043. XXTOL = ERROM;
  3044. ERR1 = ERRO;
  3045. 'SI' (ERR1 > XXTOL) ;
  3046. CHAI1 = CHAI 'ERREUR NUMERO 83: ' ERR1 'POUR ' XXTOL;
  3047. 'MESS' CHAI1;
  3048. 'ERREUR' 5 ;
  3049. 'FINSI' ;
  3050.  
  3051. XXTOL = ERROM;
  3052. ERR1 = ERRO2;
  3053. 'SI' (ERR1 > XXTOL) ;
  3054. CHAI1 = CHAI 'ERREUR NUMERO 84: ' ERR1 'POUR ' XXTOL;
  3055. 'MESS' CHAI1;
  3056. 'ERREUR' 5 ;
  3057. 'FINSI' ;
  3058.  
  3059. *----------------------------------------------------------
  3060. **** Jacobian with respect to conservative variables
  3061. *---------------------------------------------------------
  3062.  
  3063. RJACO = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  3064. PGAS LISTC LISTP
  3065. RN VN PN YN CHPLI 'INOU' ;
  3066.  
  3067.  
  3068. RJACO2 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  3069. PGAS LISTC LISTP
  3070. RN VN1 PN YN CHPLI 'INOU' ;
  3071.  
  3072. *************** RN **************** RN *******************
  3073.  
  3074. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  3075. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3076. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  3077.  
  3078. RN1 = RN '+' DR ;
  3079. GN1 = 'COPIER' GN ;
  3080. RETN1 = 'COPIER' RETN ;
  3081. RYN1 = 'COPIER' RYN ;
  3082.  
  3083. VN1 PN1 TTEMP YN1 GAMM =
  3084. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  3085. VN2 PN2 TTEMP YN2 GAMM =
  3086. 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ;
  3087.  
  3088. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3089. PGAS LISTC LISTP
  3090. RN1 VN1 PN1 YN1 CHPLI 'INOU' ;
  3091.  
  3092. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3093. PGAS LISTC LISTP
  3094. RN1 VN2 PN2 YN2 CHPLI 'INOU' ;
  3095.  
  3096.  
  3097. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  3098. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 1.0
  3099. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3100.  
  3101. DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  3102. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 1.0
  3103. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3104.  
  3105. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3106.  
  3107. 'SI' (MMM < ERROM) ;
  3108. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3109. 'SINON' ;
  3110. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3111. 'FINSI' ;
  3112. *---------------------------
  3113. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3114. 'SI' (MMM < ERROM) ;
  3115. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3116. 'SINON' ;
  3117. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3118. 'FINSI' ;
  3119.  
  3120. XXTOL = ERROM;
  3121. ERR1 = ERRO;
  3122. 'SI' (ERR1 > XXTOL) ;
  3123. CHAI1 = CHAI 'ERREUR NUMERO 85: ' ERR1 'POUR ' XXTOL;
  3124. 'MESS' CHAI1;
  3125. 'ERREUR' 5 ;
  3126. 'FINSI' ;
  3127.  
  3128. XXTOL = ERROM;
  3129. ERR1 = ERRO2;
  3130. 'SI' (ERR1 > XXTOL) ;
  3131. CHAI1 = CHAI 'ERREUR NUMERO 86: ' ERR1 'POUR ' XXTOL;
  3132. 'MESS' CHAI1;
  3133. 'ERREUR' 5 ;
  3134. 'FINSI' ;
  3135.  
  3136.  
  3137. *************** RUX **************** RUX *******************
  3138.  
  3139. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  3140. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3141. DR = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL) ;
  3142. *---------------------------------------------
  3143. DRSCAL2 = EPS '*' ('EXTRAIRE' GN2 'UX' PCEN) ;
  3144. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3145. DR2 = ('MANUEL' 'CHPO' ELE1 1 'UX' DRSCAL2) ;
  3146.  
  3147. RN1 = 'COPIER' RN ;
  3148. GN1 = GN '+' DR ;
  3149. GN3 = GN2 '+' DR2 ;
  3150. RETN1 = 'COPIER' RETN ;
  3151. RYN1 = 'COPIER' RYN ;
  3152.  
  3153. VN1 PN1 TTEMP YN1 GAMM =
  3154. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  3155. VN2 PN2 TTEMP YN2 GAMM =
  3156. 'PRIM' 'PERFMULT' PGAS RN1 GN3 RETN2 RYN1 ;
  3157.  
  3158. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3159. PGAS LISTC LISTP
  3160. RN1 VN1 PN1 YN1 CHPLI 'INOU' ;
  3161.  
  3162. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3163. PGAS LISTC LISTP
  3164. RN1 VN2 PN2 YN2 CHPLI 'INOU' ;
  3165.  
  3166.  
  3167. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  3168. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3169. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3170.  
  3171. DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL2 ;
  3172. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3173. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3174.  
  3175. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3176.  
  3177. 'SI' (MMM < ERROM) ;
  3178. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3179. 'SINON' ;
  3180. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3181. 'FINSI' ;
  3182. *---------------------------
  3183. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3184. 'SI' (MMM < ERROM) ;
  3185. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3186. 'SINON' ;
  3187. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3188. 'FINSI' ;
  3189.  
  3190. XXTOL = ERROM;
  3191. ERR1 = ERRO;
  3192. 'SI' (ERR1 > XXTOL) ;
  3193. CHAI1 = CHAI 'ERREUR NUMERO 87: ' ERR1 'POUR ' XXTOL;
  3194. 'MESS' CHAI1;
  3195. 'ERREUR' 5 ;
  3196. 'FINSI' ;
  3197.  
  3198. XXTOL = ERROM;
  3199. ERR1 = ERRO2;
  3200. 'SI' (ERR1 > XXTOL) ;
  3201. CHAI1 = CHAI 'ERREUR NUMERO 88: ' ERR1 'POUR ' XXTOL;
  3202. 'MESS' CHAI1;
  3203. 'ERREUR' 5 ;
  3204. 'FINSI' ;
  3205.  
  3206.  
  3207. *************** RUY **************** RUY *******************
  3208.  
  3209. DRSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  3210. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3211. DR = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL) ;
  3212. *---------------------------------------------
  3213. DRSCAL2 = EPS '*' ('EXTRAIRE' GN2 'UY' PCEN) ;
  3214. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3215. DR2 = ('MANUEL' 'CHPO' ELE1 1 'UY' DRSCAL2) ;
  3216.  
  3217. RN1 = 'COPIER' RN ;
  3218. GN1 = GN '+' DR ;
  3219. GN3 = GN2 '+' DR2 ;
  3220. RETN1 = 'COPIER' RETN ;
  3221. RYN1 = 'COPIER' RYN ;
  3222.  
  3223. VN1 PN1 TTEMP YN1 GAMM =
  3224. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  3225. VN2 PN2 TTEMP YN2 GAMM =
  3226. 'PRIM' 'PERFMULT' PGAS RN1 GN3 RETN2 RYN1 ;
  3227.  
  3228. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3229. PGAS LISTC LISTP
  3230. RN1 VN1 PN1 YN1 CHPLI 'INOU' ;
  3231.  
  3232. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3233. PGAS LISTC LISTP
  3234. RN1 VN2 PN2 YN2 CHPLI 'INOU' ;
  3235.  
  3236.  
  3237. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  3238. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3239. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3240.  
  3241. DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL2 ;
  3242. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3243. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3244.  
  3245. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3246.  
  3247. 'SI' (MMM < ERROM) ;
  3248. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3249. 'SINON' ;
  3250. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3251. 'FINSI' ;
  3252. *---------------------------
  3253. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3254. 'SI' (MMM < ERROM) ;
  3255. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3256. 'SINON' ;
  3257. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3258. 'FINSI' ;
  3259.  
  3260. XXTOL = ERROM;
  3261. ERR1 = ERRO;
  3262. 'SI' (ERR1 > XXTOL) ;
  3263. CHAI1 = CHAI 'ERREUR NUMERO 89: ' ERR1 'POUR ' XXTOL;
  3264. 'MESS' CHAI1;
  3265. 'ERREUR' 5 ;
  3266. 'FINSI' ;
  3267.  
  3268. XXTOL = ERROM;
  3269. ERR1 = ERRO2;
  3270. 'SI' (ERR1 > XXTOL) ;
  3271. CHAI1 = CHAI 'ERREUR NUMERO 90: ' ERR1 'POUR ' XXTOL;
  3272. 'MESS' CHAI1;
  3273. 'ERREUR' 5 ;
  3274. 'FINSI' ;
  3275.  
  3276.  
  3277. *************** RETN **************** RETN *******************
  3278.  
  3279. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  3280. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3281. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  3282. *---------------------------------------------
  3283. DRSCAL2 = EPS '*' ('EXTRAIRE' RETN2 'SCAL' PCEN) ;
  3284. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3285. DR2 = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL2) ;
  3286.  
  3287. RN1 = 'COPIER' RN ;
  3288. GN1 = 'COPIER' GN ;
  3289. RETN1 = (RETN '+' DR) ;
  3290. RETN3 = (RETN2 '+' DR2) ;
  3291. RYN1 = 'COPIER' RYN ;
  3292.  
  3293. VN1 PN1 TTEMP YN1 GAMM =
  3294. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  3295. VN2 PN2 TTEMP YN2 GAMM =
  3296. 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN3 RYN1 ;
  3297.  
  3298. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3299. PGAS LISTC LISTP
  3300. RN1 VN1 PN1 YN1 CHPLI 'INOU' ;
  3301.  
  3302. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3303. PGAS LISTC LISTP
  3304. RN1 VN2 PN2 YN2 CHPLI 'INOU' ;
  3305.  
  3306.  
  3307. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  3308. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3309. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3310.  
  3311. DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL2 ;
  3312. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3313. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3314.  
  3315. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3316.  
  3317. 'SI' (MMM < ERROM) ;
  3318. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3319. 'SINON' ;
  3320. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3321. 'FINSI' ;
  3322. *---------------------------
  3323. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3324. 'SI' (MMM < ERROM) ;
  3325. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3326. 'SINON' ;
  3327. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3328. 'FINSI' ;
  3329.  
  3330. XXTOL = ERROM;
  3331. ERR1 = ERRO;
  3332. 'SI' (ERR1 > XXTOL) ;
  3333. CHAI1 = CHAI 'ERREUR NUMERO 91: ' ERR1 'POUR ' XXTOL;
  3334. 'MESS' CHAI1;
  3335. 'ERREUR' 5 ;
  3336. 'FINSI' ;
  3337.  
  3338. XXTOL = ERROM;
  3339. ERR1 = ERRO2;
  3340. 'SI' (ERR1 > XXTOL) ;
  3341. CHAI1 = CHAI 'ERREUR NUMERO 92: ' ERR1 'POUR ' XXTOL;
  3342. 'MESS' CHAI1;
  3343. 'ERREUR' 5 ;
  3344. 'FINSI' ;
  3345.  
  3346.  
  3347. *************** RH2 **************** RH2 *******************
  3348.  
  3349. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2' PCEN) ;
  3350. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3351. DR = ('MANUEL' 'CHPO' ELE1 1 'H2' DRSCAL) ;
  3352.  
  3353. RN1 = 'COPIER' RN ;
  3354. GN1 = 'COPIER' GN ;
  3355. RETN1 = 'COPIER' RETN ;
  3356. RYN1 = RYN '+' DR ;
  3357.  
  3358. VN1 PN1 TTEMP YN1 GAMM =
  3359. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  3360. VN2 PN2 TTEMP YN2 GAMM =
  3361. 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ;
  3362.  
  3363. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3364. PGAS LISTC LISTP
  3365. RN1 VN1 PN1 YN1 CHPLI 'INOU' ;
  3366.  
  3367. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3368. PGAS LISTC LISTP
  3369. RN1 VN2 PN2 YN2 CHPLI 'INOU' ;
  3370.  
  3371.  
  3372. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  3373. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3374. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3375.  
  3376. DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  3377. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3378. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 1.0 'VAR6' 0.0 'VAR7' 0.0 ) ;
  3379.  
  3380. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3381.  
  3382. 'SI' (MMM < ERROM) ;
  3383. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3384. 'SINON' ;
  3385. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3386. 'FINSI' ;
  3387. *---------------------------
  3388. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3389. 'SI' (MMM < ERROM) ;
  3390. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3391. 'SINON' ;
  3392. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3393. 'FINSI' ;
  3394.  
  3395. *----------------------------
  3396. * 'OPTION' DONN 5 ;
  3397.  
  3398. XXTOL = ERROM;
  3399. ERR1 = ERRO;
  3400. 'SI' (ERR1 > XXTOL) ;
  3401. CHAI1 = CHAI 'ERREUR NUMERO 93: ' ERR1 'POUR ' XXTOL;
  3402. 'MESS' CHAI1;
  3403. 'ERREUR' 5 ;
  3404. 'FINSI' ;
  3405.  
  3406. XXTOL = ERROM;
  3407. ERR1 = ERRO2;
  3408. 'SI' (ERR1 > XXTOL) ;
  3409. CHAI1 = CHAI 'ERREUR NUMERO 94: ' ERR1 'POUR ' XXTOL;
  3410. 'MESS' CHAI1;
  3411. 'ERREUR' 5 ;
  3412. 'FINSI' ;
  3413.  
  3414.  
  3415. *************** RO2 **************** RO2 *******************
  3416.  
  3417. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'O2' PCEN) ;
  3418. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3419. DR = ('MANUEL' 'CHPO' ELE1 1 'O2' DRSCAL) ;
  3420.  
  3421. RN1 = 'COPIER' RN ;
  3422. GN1 = 'COPIER' GN ;
  3423. RETN1 = 'COPIER' RETN ;
  3424. RYN1 = RYN '+' DR ;
  3425.  
  3426. VN1 PN1 TTEMP YN1 GAMM =
  3427. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  3428. VN2 PN2 TTEMP YN2 GAMM =
  3429. 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ;
  3430.  
  3431. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3432. PGAS LISTC LISTP
  3433. RN1 VN1 PN1 YN1 CHPLI 'INOU' ;
  3434.  
  3435. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3436. PGAS LISTC LISTP
  3437. RN1 VN2 PN2 YN2 CHPLI 'INOU' ;
  3438.  
  3439. NNN = 'MAXIMUM' RCHRES 'ABS' ;
  3440. VERH = (RCHRES1 '-' RCHRES) '/' NNN ;
  3441. DRESDRN = VERH '/' DRSCAL ;
  3442. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3443. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ;
  3444.  
  3445. DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  3446. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3447. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 1.0 'VAR7' 0.0 ) ;
  3448.  
  3449. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3450.  
  3451. 'SI' (MMM < ERROM) ;
  3452. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3453. 'SINON' ;
  3454. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3455. 'FINSI' ;
  3456. *---------------------------
  3457. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3458. 'SI' (MMM < ERROM) ;
  3459. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3460. 'SINON' ;
  3461. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3462. 'FINSI' ;
  3463.  
  3464. * 'OPTION' DONN 5 ;
  3465. XXTOL = ERROM;
  3466. ERR1 = ERRO;
  3467. 'SI' (ERR1 > XXTOL) ;
  3468. CHAI1 = CHAI 'ERREUR NUMERO 95: ' ERR1 'POUR ' XXTOL;
  3469. 'MESS' CHAI1;
  3470. 'ERREUR' 5 ;
  3471. 'FINSI' ;
  3472.  
  3473. XXTOL = ERROM;
  3474. ERR1 = ERRO2;
  3475. 'SI' (ERR1 > XXTOL) ;
  3476. CHAI1 = CHAI 'ERREUR NUMERO 96: ' ERR1 'POUR ' XXTOL;
  3477. 'MESS' CHAI1;
  3478. 'ERREUR' 5 ;
  3479. 'FINSI' ;
  3480.  
  3481.  
  3482. *************** RH2O **************** RH2O *******************
  3483.  
  3484. DRSCAL = EPS '*' ('EXTRAIRE' RYN 'H2O' PCEN) ;
  3485. ELE1 = 'MANUEL' 'POI1' PCEN ;
  3486. DR = ('MANUEL' 'CHPO' ELE1 1 'H2O' DRSCAL) ;
  3487.  
  3488. RN1 = 'COPIER' RN ;
  3489. GN1 = 'COPIER' GN ;
  3490. RETN1 = 'COPIER' RETN ;
  3491. RYN1 = RYN '+' DR ;
  3492.  
  3493. VN1 PN1 TTEMP YN1 GAMM =
  3494. 'PRIM' 'PERFMULT' PGAS RN1 GN1 RETN1 RYN1 ;
  3495. VN2 PN2 TTEMP YN2 GAMM =
  3496. 'PRIM' 'PERFMULT' PGAS RN1 GN2 RETN2 RYN1 ;
  3497.  
  3498. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3499. PGAS LISTC LISTP
  3500. RN1 VN1 PN1 YN1 CHPLI 'INOU' ;
  3501.  
  3502. RCHLIM RCHRES3 = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3503. PGAS LISTC LISTP
  3504. RN1 VN2 PN2 YN2 CHPLI 'INOU' ;
  3505.  
  3506.  
  3507. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  3508. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3509. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ;
  3510.  
  3511. DRESDRN2 = (RCHRES3 '-' RCHRES2) '/' DRSCAL ;
  3512. DRESDR2 = 'KOPS' RJACO2 '*' ('MANUEL' 'CHPO' ELE1 7 'VAR1' 0.0
  3513. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0 'VAR5' 0.0 'VAR6' 0.0 'VAR7' 1.0 ) ;
  3514.  
  3515. MMM = 'MAXIMUM' DRESDR 'ABS' ;
  3516.  
  3517. 'SI' (MMM < ERROM) ;
  3518. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  3519. 'SINON' ;
  3520. ERRO = 'MAXIMUM' ((DRESDR '-' DRESDRN) '/' MMM) 'ABS' ;
  3521. 'FINSI' ;
  3522. *---------------------------
  3523. MMM = 'MAXIMUM' DRESDR2 'ABS' ;
  3524. 'SI' (MMM < ERROM) ;
  3525. ERRO2 = 'MAXIMUM' (DRESDR2 '-' DRESDRN2) 'ABS' ;
  3526. 'SINON' ;
  3527. ERRO2 = 'MAXIMUM' ((DRESDR2 '-' DRESDRN2) '/' MMM) 'ABS' ;
  3528. 'FINSI' ;
  3529.  
  3530. *----------------------------
  3531. * 'OPTION' DONN 5 ;
  3532.  
  3533. XXTOL = ERROM;
  3534. ERR1 = ERRO;
  3535. 'SI' (ERR1 > XXTOL) ;
  3536. CHAI1 = CHAI 'ERREUR NUMERO 97: ' ERR1 'POUR ' XXTOL;
  3537. 'MESS' CHAI1;
  3538. 'ERREUR' 5 ;
  3539. 'FINSI' ;
  3540.  
  3541. XXTOL = ERROM;
  3542. ERR1 = ERRO2;
  3543. 'SI' (ERR1 > XXTOL) ;
  3544. CHAI1 = CHAI 'ERREUR NUMERO 98: ' ERR1 'POUR ' XXTOL;
  3545. 'MESS' CHAI1;
  3546. 'ERREUR' 5 ;
  3547. 'FINSI' ;
  3548.  
  3549.  
  3550. *
  3551. * BC of 'RESE'rvoir type
  3552. *
  3553. SURSVOL = ('MAXIMUM' ('DOMA' MP2P3 'VOLUME')) '/'
  3554. ('MAXIMUM' ('DOMA' MDOMINT . 'VOLUME')) ;
  3555. *
  3556. * We give the pressure of the reservoir, the density, the homogeneous
  3557. * composition. We suppose that the tangential velocity is zero.
  3558. * We compute the inlet boundary conditions by supposing that the inlet
  3559. * is at the throat, namely the inlet pressure is equal to the maximum
  3560. * between the critical and the inlet pressure.
  3561. * The inlet density and velocity are found using the Riemann invariant.
  3562. *
  3563. * Two species
  3564. * HELIUM
  3565. * AIR
  3566. *
  3567. PGAS = 'TABLE' ;
  3568.  
  3569. PGAS . 'CP' = 'TABLE' ;
  3570. PGAS . 'CP' . 'AIR ' = 1.00D+03 ;
  3571. PGAS . 'CP' . 'HE ' = 5.18D+03 ;
  3572.  
  3573.  
  3574.  
  3575. PGAS . 'CV' = 'TABLE' ;
  3576. PGAS . 'CV' . 'AIR ' = .717D+03 ;
  3577. PGAS . 'CV' . 'HE ' = 3.10D+03 ;
  3578.  
  3579. *----------------------------------------------------
  3580. **** Especes qui sont dans les equations d'Euler
  3581. *----------------------------------------------------
  3582.  
  3583. PGAS . 'ESPEULE' = 'MOTS' 'AIR ' ;
  3584.  
  3585. *----------------------------------------------------
  3586. **** Espece qui n'y est pas
  3587. *----------------------------------------------------
  3588.  
  3589.  
  3590. PGAS . 'ESPNEULE' = 'HE ' ;
  3591.  
  3592. *
  3593. * Reservoir conditions
  3594. *
  3595.  
  3596. P0 = 200.0D5 ;
  3597. RHO0 = 32.1D0 ;
  3598. Y0 = 1.0D-5 ;
  3599. gamf = ((PGAS . 'CP' . 'HE ') '*' (1. '-' Y0)) '+'
  3600. ((PGAS . 'CP' . 'AIR ') '*' (Y0)) ;
  3601. gamf = gamf '/'
  3602. (((PGAS . 'CV' . 'HE ') '*' (1. '-' Y0)) '+'
  3603. ((PGAS . 'CV' . 'AIR ') '*' (Y0))) ;
  3604. PCR = (2. '/' (gamf '+' 1.)) ;
  3605. PCR = PCR '**' (gamf '/' (gamf '-' 1.)) ;
  3606. PCR = PCR '*' P0 ;
  3607. RCR = (PCR '/' P0) '**' (1. '/' gamf) ;
  3608. RCR = RCR '*' RHO0 ;
  3609. UCR = (2 '*' gamf '/' (gamf '-' 1.0D0)) '*' ((P0 '/' RHO0) '-'
  3610. (PCR '/' RCR)) ;
  3611. UCR = UCR '**' 0.5 ;
  3612. 'SI' ('NEG' (ucr * ucr) (gamf * pcr '/' rcr) (1.0D-12 *ucr)) ;
  3613. 'MESSAGE' 'RESE BC' ;
  3614. 'ERREUR' 5 ;
  3615. 'FINSI' ;
  3616.  
  3617. *
  3618. * Case 1: internal pressure lower than critical pressure
  3619. *
  3620. P1 = 1.0D5 ;
  3621. RHO1 = 0.954D0 ;
  3622. Y1 = 0.99999 ;
  3623.  
  3624. *
  3625.  
  3626. YN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'AIR' Y1 ;
  3627. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' RHO1 ;
  3628. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' P1 ;
  3629. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UX' 0.0 'UY' 0.0 ;
  3630.  
  3631. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 3 'RN' RHO0 'PN' P0
  3632. 'AIR ' y0 ;
  3633.  
  3634. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' 'VAR5' ;
  3635. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' 'AIR ' ;
  3636.  
  3637. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3638. PGAS LISTC LISTP
  3639. RN VN PN YN CHPLI 'RESE' ;
  3640.  
  3641. aa = 'MAXIMUM' ('EXCO' RCHLIM 'RN') ;
  3642. 'SI' ('NEG' (rcr) (aa) (1.0D-12 * aa)) ;
  3643. 'MESSAGE' 'RESE BC' ;
  3644. 'ERREUR' 5 ;
  3645. 'FINSI' ;
  3646. bb = 'MAXIMUM' ('EXCO' RCHLIM 'PN') ;
  3647. 'SI' ('NEG' (pcr) (bb) (1.0D-12 * bb)) ;
  3648. 'MESSAGE' 'RESE BC' ;
  3649. 'ERREUR' 5 ;
  3650. 'FINSI' ;
  3651. cc = 'MAXIMUM' ('EXCO' RCHLIM 'UX') ;
  3652. dd = 'MAXIMUM' ('EXCO' RCHLIM 'UY') ;
  3653. ee = (cc * cc) '+' (dd * dd) ;
  3654. ee = ee '**' 0.5 ;
  3655. 'SI' ('NEG' (ee) (ucr) (1.0D-12 * ee)) ;
  3656. 'MESSAGE' 'RESE BC' ;
  3657. 'ERREUR' 5 ;
  3658. 'FINSI' ;
  3659. *
  3660. aa = 'MAXIMUM' ('EXCO' RCHRES 'VAR1') ;
  3661. bb = SURSVOL '*' rcr * ucr ;
  3662. 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ;
  3663. 'MESSAGE' 'RESE BC' ;
  3664. 'ERREUR' 5 ;
  3665. 'FINSI' ;
  3666. *
  3667. htot = (gamf '/' (gamf '-' 1.0)) '*' p0 '/' rho0 ;
  3668. aa = htot * rcr * ucr * sursvol ;
  3669. bb = 'MAXIMUM' ('EXCO' RCHRES 'VAR4') ;
  3670. 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ;
  3671. 'MESSAGE' 'RESE BC' ;
  3672. 'ERREUR' 5 ;
  3673. 'FINSI' ;
  3674. *
  3675. * Case 2: internal pressure larger than critical pressure
  3676. *
  3677. P1 = 1.0D7 ;
  3678. *
  3679. R1 = (P1 '/' P0) '**' (1. '/' gamf) ;
  3680. R1 = R1 '*' RHO0 ;
  3681. U1 = (2 '*' gamf '/' (gamf '-' 1.0D0)) '*' ((P0 '/' RHO0) '-'
  3682. (P1 '/' R1)) ;
  3683. U1 = U1 '**' 0.5 ;
  3684. *
  3685. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' P1 ;
  3686.  
  3687. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3688. PGAS LISTC LISTP
  3689. RN VN PN YN CHPLI 'RESE' ;
  3690.  
  3691.  
  3692. aa = 'MAXIMUM' ('EXCO' RCHLIM 'RN') ;
  3693. 'SI' ('NEG' (r1) (aa) (1.0D-12 * aa)) ;
  3694. 'MESSAGE' 'RESE BC' ;
  3695. 'ERREUR' 5 ;
  3696. 'FINSI' ;
  3697.  
  3698. bb = 'MAXIMUM' ('EXCO' RCHLIM 'PN') ;
  3699. 'SI' ('NEG' (p1) (bb) (1.0D-12 * bb)) ;
  3700. 'MESSAGE' 'RESE BC' ;
  3701. 'ERREUR' 5 ;
  3702. 'FINSI' ;
  3703.  
  3704. cc = 'MAXIMUM' ('EXCO' RCHLIM 'UX') ;
  3705. dd = 'MAXIMUM' ('EXCO' RCHLIM 'UY') ;
  3706. ee = (cc * cc) '+' (dd * dd) ;
  3707. ee = ee '**' 0.5 ;
  3708. 'SI' ('NEG' (ee) (u1) (1.0D-12 * ee)) ;
  3709. 'MESSAGE' 'RESE BC' ;
  3710. 'ERREUR' 5 ;
  3711. 'FINSI' ;
  3712.  
  3713. *
  3714. aa = 'MAXIMUM' ('EXCO' RCHRES 'VAR1') ;
  3715. bb = SURSVOL '*' r1 * u1 ;
  3716. 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ;
  3717. 'MESSAGE' 'RESE BC' ;
  3718. 'ERREUR' 5 ;
  3719. 'FINSI' ;
  3720. *
  3721. aa = htot * r1 * u1 * sursvol ;
  3722. bb = 'MAXIMUM' ('EXCO' RCHRES 'VAR4') ;
  3723. 'SI' ('NEG' (bb) (aa) (1.0D-12 * aa)) ;
  3724. 'MESSAGE' 'RESE BC' ;
  3725. 'ERREUR' 5 ;
  3726. 'FINSI' ;
  3727.  
  3728. *
  3729. * Case 3: internal pressure larger than reservoir pressure
  3730. *
  3731.  
  3732. P1 = 210.0D5 ;
  3733. *
  3734. *
  3735. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' P1 ;
  3736.  
  3737. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMULT' 'CLIM' 'RESI' MDOMINT MP2P3
  3738. PGAS LISTC LISTP
  3739. RN VN PN YN CHPLI 'RESE' ;
  3740.  
  3741.  
  3742. aa = 'MAXIMUM' ('EXCO' RCHLIM 'RN') ;
  3743. 'SI' ('NEG' (rho0) (aa) (1.0D-12 * aa)) ;
  3744. 'MESSAGE' 'RESE BC' ;
  3745. 'ERREUR' 5 ;
  3746. 'FINSI' ;
  3747.  
  3748. bb = 'MAXIMUM' ('EXCO' RCHLIM 'PN') ;
  3749. 'SI' ('NEG' (p0) (bb) (1.0D-12 * bb)) ;
  3750. 'MESSAGE' 'RESE BC' ;
  3751. 'ERREUR' 5 ;
  3752. 'FINSI' ;
  3753. cc = 'MAXIMUM' ('EXCO' RCHLIM 'UX') ;
  3754. dd = 'MAXIMUM' ('EXCO' RCHLIM 'UY') ;
  3755. ee = (cc * cc) '+' (dd * dd) ;
  3756. ee = ee '**' 0.5 ;
  3757. 'SI' ('NEG' (ee) (0.0) (1.0D-12 * ucr)) ;
  3758. 'MESSAGE' 'RESE BC' ;
  3759. 'ERREUR' 5 ;
  3760. 'FINSI' ;
  3761.  
  3762. *
  3763. aa = 'MAXIMUM' ('EXCO' RCHRES 'VAR1') ;
  3764. bb = 0.0 ;
  3765. 'SI' ('NEG' (bb) (aa) (1.0D-12 * rcr * ucr)) ;
  3766. 'MESSAGE' 'RESE BC' ;
  3767. 'ERREUR' 5 ;
  3768. 'FINSI' ;
  3769. *
  3770. aa = 0.0 ;
  3771. bb = 'MAXIMUM' ('EXCO' RCHRES 'VAR4') ;
  3772. 'SI' ('NEG' (bb) (aa) (1.0D-12 * rcr * (ucr ** 3))) ;
  3773. 'MESSAGE' 'RESE BC' ;
  3774. 'ERREUR' 5 ;
  3775. 'FINSI' ;
  3776. *
  3777. cc = 'MAXIMUM' ('EXCO' RCHRES 'VAR2') ;
  3778. dd = 'MAXIMUM' ('EXCO' RCHRES 'VAR3') ;
  3779. ee = (cc * cc) '+' (dd * dd) ;
  3780. ee = ee '**' 0.5 ;
  3781. ff = SURSVOL * p1 ;
  3782. 'SI' ('NEG' (ee) (ff) (1.0D-12 * ee)) ;
  3783. 'MESSAGE' 'RESE BC' ;
  3784. 'ERREUR' 5 ;
  3785. 'FINSI' ;
  3786.  
  3787. 'FIN' ;
  3788.  
  3789.  
  3790.  
  3791.  
  3792.  
  3793.  
  3794.  

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