Télécharger clim.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : clim.dgibi
  2. *********************************************************************
  3. * VF, CLIM 2D *
  4. * *
  5. * BECCANTINI A., DM2S/SFME/LTMF, JANVIER 2002 *
  6. *********************************************************************
  7.  
  8. TYEL = 'QUA8' ;
  9. * TYEL = 'TRI6' ;
  10.  
  11. 'OPTION' 'DIME' 2 'ELEM' TYEL 'ISOV' 'SULI'
  12. 'ECHO' 1 'TRAC' 'X' ;
  13.  
  14.  
  15. GRAPH = VRAI ;
  16. GRAPH = FAUX ;
  17.  
  18. ******************
  19. **** MAILLAGE ****
  20. ******************
  21. *
  22. * P2 P3
  23. *
  24.  
  25. DX = 0.5 ;
  26. P2 = 0.0 0.0 ;
  27. P3 = DX DX ;
  28. P2P3 = P2 'DROIT' 1 P3 ;
  29.  
  30. LIGHAU = (P2P3) 'PLUS' (4 '*' ((-1*DX) DX)) ;
  31.  
  32. DOMINT = P2P3 'REGLER' 4 LIGHAU ;
  33.  
  34. DOMINT = 'CHANGER' DOMINT 'QUAF' ;
  35.  
  36. *
  37. **** Creation of DOMAINE tables via the MODEL object
  38. *
  39.  
  40. MDOMINT = 'MODELISER' DOMINT 'NAVIER_STOKES' 'LINE' ;
  41. MP2P3 = 'MODELISER' P2P3 'NAVIER_STOKES' 'LINE' ;
  42.  
  43. $DOMINT = 'DOMA' MDOMINT 'TABLE' ;
  44. $P2P3 = 'DOMA' MP2P3 'TABLE' ;
  45.  
  46. DOMINT = 'DOMA' MDOMINT 'MAILLAGE' ;
  47. P2P3 = 'DOMA' MP2P3 'MAILLAGE' ;
  48.  
  49. PCEN = ($DOMINT . 'CENTRE') 'POIN' 'PROC' ((DX '/' 2) (DX /2)) ;
  50.  
  51. 'SI' GRAPH ;
  52. 'TRACER' (DOMINT 'ET' PCEN) ;
  53. 'FINSI' ;
  54.  
  55. **********************************************************************************
  56. **********************************************************************************
  57. *************************** Riemann invariants, inlet ***************************
  58. **********************************************************************************
  59. **********************************************************************************
  60.  
  61. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.110 ;
  62. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.41 ;
  63. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  64. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 0.1 'UX' 1.65 ;
  65.  
  66. GN = RN '*' VN ;
  67. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  68. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  69.  
  70. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' 2.11 'PN' 111.4
  71. 'UX' 2.0 'UY' 1.0 ;
  72.  
  73. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  74. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  75.  
  76. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  77. LISTC LISTP
  78. RN VN PN GAMN CHPLI 'INRI' ;
  79.  
  80. *
  81. **** On calcule RCHLIM en gibiane
  82. *
  83.  
  84. UNC = (('EXCO' VN 'UY' 'SCAL') '-' ('EXCO' VN 'UX' 'SCAL')) '/' (2
  85. '**' 0.5) ;
  86.  
  87. GAMMA = 'MAXIMUM' GAMN ;
  88. GM1 = '-' GAMMA 1. ;
  89. USGM1 = 1. '/' GM1 ;
  90. DSGM1 = 2. '*' USGM1 ;
  91.  
  92. ASONC = GAMMA * (PN '/' RN) ;
  93. ASONC = ASONC '**' 0.5 ;
  94.  
  95. G1 = UNC '-' (DSGM1 * ASONC) ;
  96. G1 = 'EXTRAIRE' G1 PCEN 'SCAL' ;
  97.  
  98. RNCEL= 'EXCO' CHPLI 'RN' ;
  99. PNCEL = 'EXCO' CHPLI 'PN' ;
  100. UNCELC = (('EXCO' CHPLI 'UY' 'SCAL') '-' ('EXCO' CHPLI 'UX' 'SCAL'))
  101. '/' (2 '**' 0.5) ;
  102. UTCELC = (('EXCO' CHPLI 'UY' 'SCAL') '+' ('EXCO' CHPLI 'UX' 'SCAL'))
  103. '/' (-1*(2 '**' 0.5)) ;
  104.  
  105. ASONC = GAMMA * (PNCEL '/' RNCEL) ;
  106. ASONC = ASONC '**' 0.5 ;
  107.  
  108. G3 = UNCELC '+' (DSGM1 * ASONC) ;
  109. G3 = 'EXTRAIRE' G3 ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ;
  110. S = PNCEL '/' (RNCEL** GAMMA) ;
  111. S = 'EXTRAIRE' S ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ;
  112.  
  113. ASON2=(0.5D0*(G3-G1)) ;
  114. ASON2=ASON2/DSGM1 ;
  115. ASON2=ASON2*ASON2 ;
  116. RHO=ASON2/(GAMMA*S) ;
  117. RHO=RHO**USGM1 ;
  118. P=(RHO*ASON2)/GAMMA ;
  119. UNCEL = 0.5 '*' (G3 '+' G1) ;
  120. UTCEL = 'EXTRAIRE' UTCELC ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ;
  121.  
  122. UX = (UNCEL '+' UTCEL) '/' (-1*(2 '**' 0.5)) ;
  123. UY = (UNCEL '-' UTCEL) '/' (2 '**' 0.5) ;
  124.  
  125.  
  126. CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RHO 'UX'
  127. UX 'UY' UY 'PN' P ;
  128.  
  129. ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ;
  130.  
  131. 'SI' (ERRO > 1.0D-12) ;
  132. 'ERREUR' 5 ;
  133. 'FINSI' ;
  134. 'FINSI' ;
  135.  
  136. *
  137. **** Jacobian with respect to primitive variable
  138. *
  139.  
  140. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  141. LISTC LISTP
  142. RN VN PN GAMN CHPLI 'INRI' ;
  143.  
  144. EPS=1.0D-6 ;
  145.  
  146. * RN
  147.  
  148. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  149. ELE1 = 'MANUEL' 'POI1' PCEN ;
  150. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  151.  
  152. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  153. LISTC LISTP
  154. (RN '+' DR) VN PN GAMN CHPLI 'INRI' ;
  155.  
  156. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  157. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0
  158. 'UX' 0.0 'UY' 0.0 'PN' 0.0) ;
  159.  
  160. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  161.  
  162. 'SI' (ERRO > 1.0D-3) ;
  163. 'ERREUR' 5 ;
  164. 'FINSI' ;
  165.  
  166. * UX
  167.  
  168. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  169. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  170.  
  171. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  172. LISTC LISTP
  173. RN (VN '+' DUX) PN GAMN CHPLI 'INRI' ;
  174.  
  175. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  176. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  177. 'UX' 1.0 'UY' 0.0 'PN' 0.0) ;
  178.  
  179. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  180.  
  181. 'SI' (ERRO > 1.0D-3) ;
  182. 'ERREUR' 5 ;
  183. 'FINSI' ;
  184.  
  185. * UY
  186.  
  187. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  188. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  189.  
  190. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  191. LISTC LISTP
  192. RN (VN '+' DUY) PN GAMN CHPLI 'INRI' ;
  193.  
  194. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  195. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  196. 'UX' 0.0 'UY' 1.0 'PN' 0.0) ;
  197.  
  198. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  199.  
  200. 'SI' (ERRO > 1.0D-3) ;
  201. 'ERREUR' 5 ;
  202. 'FINSI' ;
  203.  
  204. * PN
  205.  
  206. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  207. ELE1 = 'MANUEL' 'POI1' PCEN ;
  208. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  209.  
  210. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  211. LISTC LISTP
  212. RN VN (PN '+' DP) GAMN CHPLI 'INRI' ;
  213.  
  214. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  215. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  216. 'UX' 0.0 'UY' 0.0 'PN' 1.0) ;
  217.  
  218. ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;
  219.  
  220. 'SI' (ERRO > 1.0D-3) ;
  221. 'ERREUR' 5 ;
  222. 'FINSI' ;
  223.  
  224. *
  225. **** Jacobian with respect to conservative variables
  226. *
  227.  
  228. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  229. LISTC LISTP
  230. RN VN PN GAMN CHPLI 'INRI' ;
  231.  
  232. EPS=1.0D-6 ;
  233.  
  234. * RN
  235.  
  236. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  237. ELE1 = 'MANUEL' 'POI1' PCEN ;
  238. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  239.  
  240. RN1 = RN '+' DR ;
  241. GN1 = 'COPIER' GN ;
  242. RETN1 = 'COPIER' RETN ;
  243.  
  244. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  245.  
  246. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  247. LISTC LISTP
  248. RN1 VN1 PN1 GAMN CHPLI 'INRI' ;
  249.  
  250. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  251. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0
  252. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ;
  253.  
  254. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  255.  
  256. 'SI' (ERRO > 1.0D-3) ;
  257. 'ERREUR' 5 ;
  258. 'FINSI' ;
  259.  
  260. * RUX
  261.  
  262. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  263. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  264.  
  265. RN1 = 'COPIER' RN ;
  266. GN1 = GN '+' DUX ;
  267. RETN1 = 'COPIER' RETN ;
  268.  
  269. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  270.  
  271. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  272. LISTC LISTP
  273. RN1 VN1 PN1 GAMN CHPLI 'INRI' ;
  274.  
  275. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  276. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  277. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ;
  278.  
  279. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  280.  
  281. 'SI' (ERRO > 1.0D-3) ;
  282. 'ERREUR' 5 ;
  283. 'FINSI' ;
  284.  
  285. * RUY
  286.  
  287. DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  288. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  289.  
  290. RN1 = 'COPIER' RN ;
  291. GN1 = GN '+' DUY ;
  292. RETN1 = 'COPIER' RETN ;
  293.  
  294. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  295.  
  296. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  297. LISTC LISTP
  298. RN1 VN1 PN1 GAMN CHPLI 'INRI' ;
  299.  
  300. DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  301. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  302. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ;
  303.  
  304. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  305.  
  306. 'SI' (ERRO > 1.0D-3) ;
  307. 'ERREUR' 5 ;
  308. 'FINSI' ;
  309.  
  310.  
  311. * RETN
  312.  
  313. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  314. ELE1 = 'MANUEL' 'POI1' PCEN ;
  315. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  316.  
  317. RN1 = 'COPIER' RN ;
  318. GN1 = 'COPIER' GN ;
  319. RETN1 = RETN '+' DR ;
  320.  
  321. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  322.  
  323. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  324. LISTC LISTP
  325. RN1 VN1 PN1 GAMN CHPLI 'INRI' ;
  326.  
  327. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  328. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  329. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ;
  330.  
  331. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  332.  
  333. 'SI' (ERRO > 1.0D-3) ;
  334. 'ERREUR' 5 ;
  335. 'FINSI' ;
  336.  
  337. **********************************************************************************
  338. **********************************************************************************
  339. *************************** Riemann invariants, outlet **************************
  340. **********************************************************************************
  341. **********************************************************************************
  342.  
  343.  
  344. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  345. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  346. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  347. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -0.1 'UX' 1. ;
  348.  
  349. GN = RN '*' VN ;
  350. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  351. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  352.  
  353. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' 1.11 'PN' 2.13
  354. 'UX' 1.1 'UY' -0.1 ;
  355.  
  356. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  357. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  358.  
  359. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  360. LISTC LISTP
  361. RN VN PN GAMN CHPLI 'OUTRI' ;
  362.  
  363. *
  364. **** On calcule RCHLIM en gibiane
  365. *
  366.  
  367. UNC = (('EXCO' VN 'UY' 'SCAL') '-' ('EXCO' VN 'UX' 'SCAL')) '/'
  368. (-1*(2 '**' 0.5)) ;
  369. UTC = (('EXCO' VN 'UY' 'SCAL') '+' ('EXCO' VN 'UX' 'SCAL')) '/'
  370. (2 '**' 0.5) ;
  371.  
  372. GAMMA = 'MAXIMUM' GAMN ;
  373. GM1 = '-' GAMMA 1. ;
  374. USGM1 = 1. '/' GM1 ;
  375. DSGM1 = 2. '*' USGM1 ;
  376.  
  377. ASONC = GAMMA * (PN '/' RN) ;
  378. ASONC = ASONC '**' 0.5 ;
  379.  
  380. G3 = UNC '+' (DSGM1 * ASONC) ;
  381. G3 = 'EXTRAIRE' G3 PCEN 'SCAL' ;
  382. S = PN '/' (RN** GAMMA) ;
  383. S = 'EXTRAIRE' S PCEN 'SCAL' ;
  384.  
  385. RNCEL= 'EXCO' CHPLI 'RN' ;
  386. PNCEL = 'EXCO' CHPLI 'PN' ;
  387. UNCELC = -1 * (('EXCO' CHPLI 'UY' 'SCAL') '-'
  388. ('EXCO' CHPLI 'UX' 'SCAL')) '/' (2 '**' 0.5) ;
  389.  
  390. ASONC = GAMMA * (PNCEL '/' RNCEL) ;
  391. ASONC = ASONC '**' 0.5 ;
  392.  
  393. G1 = UNCELC '-' (DSGM1 * ASONC) ;
  394. G1 = 'EXTRAIRE' G1 ('POIN' 1 ($P2P3 . 'CENTRE')) 'SCAL' ;
  395.  
  396. ASON2=(0.5D0*(G3-G1)) ;
  397. ASON2=ASON2/DSGM1 ;
  398. ASON2=ASON2*ASON2 ;
  399. RHO=ASON2/(GAMMA*S) ;
  400. RHO=RHO**USGM1 ;
  401. P=(RHO*ASON2)/GAMMA ;
  402. UNCEL = 0.5 '*' (G3 '+' G1) ;
  403. UTCEL = 'EXTR' UTC 'SCAL' PCEN ;
  404.  
  405. UX = (UNCEL '+' UTCEL) '/' ((2 '**' 0.5)) ;
  406. UY = (UNCEL '-' UTCEL) '/' (-1*(2 '**' 0.5)) ;
  407.  
  408. CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RHO 'UX'
  409. UX 'UY' UY 'PN' P ;
  410.  
  411. ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ;
  412.  
  413. 'SI' (ERRO > 1.0D-12) ;
  414. 'ERREUR' 5 ;
  415. 'FINSI' ;
  416.  
  417. *
  418. **** Jacobian with respect to primitive variable
  419. *
  420.  
  421. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  422. LISTC LISTP
  423. RN VN PN GAMN CHPLI 'OUTRI' ;
  424.  
  425. EPS=1.0D-6 ;
  426.  
  427. * RN
  428.  
  429. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  430. ELE1 = 'MANUEL' 'POI1' PCEN ;
  431. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  432.  
  433. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  434. LISTC LISTP
  435. (RN '+' DR) VN PN GAMN CHPLI 'OUTRI' ;
  436.  
  437. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  438. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0
  439. 'UX' 0.0 'UY' 0.0 'PN' 0.0) ;
  440.  
  441. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  442.  
  443. 'SI' (ERRO > 1.0D-3) ;
  444. 'ERREUR' 5 ;
  445. 'FINSI' ;
  446.  
  447.  
  448. * UX
  449.  
  450. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  451. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  452.  
  453. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  454. LISTC LISTP
  455. RN (VN '+' DUX) PN GAMN CHPLI 'OUTRI' ;
  456.  
  457. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  458. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  459. 'UX' 1.0 'UY' 0.0 'PN' 0.0) ;
  460.  
  461. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  462.  
  463. 'SI' (ERRO > 1.0D-3) ;
  464. 'ERREUR' 5 ;
  465. 'FINSI' ;
  466.  
  467.  
  468. * UY
  469.  
  470. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  471. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  472.  
  473. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  474. LISTC LISTP
  475. RN (VN '+' DUY) PN GAMN CHPLI 'OUTRI' ;
  476.  
  477. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  478. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  479. 'UX' 0.0 'UY' 1.0 'PN' 0.0) ;
  480.  
  481. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  482.  
  483. 'SI' (ERRO > 1.0D-3) ;
  484. 'ERREUR' 5 ;
  485. 'FINSI' ;
  486.  
  487. * PN
  488.  
  489. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  490. ELE1 = 'MANUEL' 'POI1' PCEN ;
  491. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  492.  
  493. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  494. LISTC LISTP
  495. RN VN (PN '+' DP) GAMN CHPLI 'OUTRI' ;
  496.  
  497. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  498. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  499. 'UX' 0.0 'UY' 0.0 'PN' 1.0) ;
  500.  
  501. ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;
  502.  
  503. 'SI' (ERRO > 1.0D-3) ;
  504. 'ERREUR' 5 ;
  505. 'FINSI' ;
  506.  
  507. *
  508. **** Jacobian with respect to conservative variables
  509. *
  510.  
  511. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  512. LISTC LISTP
  513. RN VN PN GAMN CHPLI 'OUTRI' ;
  514.  
  515. EPS=1.0D-6 ;
  516.  
  517. * RN
  518.  
  519. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  520. ELE1 = 'MANUEL' 'POI1' PCEN ;
  521. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  522.  
  523. RN1 = RN '+' DR ;
  524. GN1 = 'COPIER' GN ;
  525. RETN1 = 'COPIER' RETN ;
  526.  
  527. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  528.  
  529. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  530. LISTC LISTP
  531. RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ;
  532.  
  533. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  534. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0
  535. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ;
  536.  
  537. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  538.  
  539. 'SI' (ERRO > 1.0D-3) ;
  540. 'ERREUR' 5 ;
  541. 'FINSI' ;
  542.  
  543. * RUX
  544.  
  545. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  546. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  547.  
  548. RN1 = 'COPIER' RN ;
  549. GN1 = GN '+' DUX ;
  550. RETN1 = 'COPIER' RETN ;
  551.  
  552. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  553.  
  554. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  555. LISTC LISTP
  556. RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ;
  557.  
  558. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  559. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  560. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ;
  561.  
  562. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  563.  
  564. 'SI' (ERRO > 1.0D-3) ;
  565. 'ERREUR' 5 ;
  566. 'FINSI' ;
  567.  
  568. * 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.  
  577. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  578.  
  579. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  580. LISTC LISTP
  581. RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ;
  582.  
  583. DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  584. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  585. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ;
  586.  
  587. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  588.  
  589. 'SI' (ERRO > 1.0D-3) ;
  590. 'ERREUR' 5 ;
  591. 'FINSI' ;
  592.  
  593.  
  594. * RETN
  595.  
  596. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  597. ELE1 = 'MANUEL' 'POI1' PCEN ;
  598. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  599.  
  600. RN1 = 'COPIER' RN ;
  601. GN1 = 'COPIER' GN ;
  602. RETN1 = RETN '+' DR ;
  603.  
  604. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  605.  
  606. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  607. LISTC LISTP
  608. RN1 VN1 PN1 GAMN CHPLI 'OUTRI' ;
  609.  
  610. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  611. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  612. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ;
  613.  
  614. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  615.  
  616. 'SI' (ERRO > 1.0D-3) ;
  617. 'ERREUR' 5 ;
  618. 'FINSI' ;
  619.  
  620. **********************************************************************************
  621. **********************************************************************************
  622. *************************** Supersonic inlet ************************************
  623. **********************************************************************************
  624. **********************************************************************************
  625.  
  626. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  627. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  628. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  629. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 15. 'UX' 1. ;
  630.  
  631. GN = RN '*' VN ;
  632. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  633. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  634.  
  635. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' 1.11 'PN' 2.13
  636. 'UX' -11. 'UY' 2. ;
  637.  
  638. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  639. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  640.  
  641. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  642. LISTC LISTP
  643. RN VN PN GAMN CHPLI 'INSS' ;
  644.  
  645. ERRO = 'MAXIMUM' (RCHLIM '-' CHPLI) 'ABS' ;
  646.  
  647. 'SI' (ERRO > 1.0D-12) ;
  648. 'ERREUR' 5 ;
  649. 'FINSI' ;
  650.  
  651. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  652. LISTC LISTP
  653. RN VN PN GAMN CHPLI 'INSS' ;
  654.  
  655. AA = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'VAR1' 1.11 'VAR2' 1.13
  656. 'VAR3' 1.15 'VAR4' 1.17 ;
  657.  
  658. ERRO = 'MAXIMUM' ('KOPS' 'MULT' RJACO AA) 'ABS' ;
  659.  
  660. 'SI' (ERRO > 1.0D-12) ;
  661. 'ERREUR' 5 ;
  662. 'FINSI' ;
  663.  
  664. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  665. LISTC LISTP
  666. RN VN PN GAMN CHPLI 'INSS' ;
  667.  
  668. AA = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 4 'RN' 1.11 'UX' 1.13
  669. 'UY' 1.15 'PN' 1.17 ;
  670.  
  671. ERRO = 'MAXIMUM' ('KOPS' 'MULT' RJACO AA) 'ABS' ;
  672.  
  673. 'SI' (ERRO > 1.0D-12) ;
  674. 'ERREUR' 5 ;
  675. 'FINSI' ;
  676.  
  677. **********************************************************************************
  678. **********************************************************************************
  679. *************************** Supersonic outlet ***********************************
  680. **********************************************************************************
  681. **********************************************************************************
  682.  
  683. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  684. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  685. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  686. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ;
  687.  
  688. GN = RN '*' VN ;
  689. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  690. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  691.  
  692. CHPLI CACCA = 'KOPS' MATRIK ;
  693.  
  694. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  695. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  696.  
  697. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  698. LISTC LISTP
  699. RN VN PN GAMN CHPLI 'OUTSS' ;
  700.  
  701. * Calcul de RCHLIM en gibiane
  702.  
  703. RC = 'EXTRAIRE' RN PCEN 'SCAL' ;
  704. UXC = 'EXTRAIRE' VN PCEN 'UX' ;
  705. UYC = 'EXTRAIRE' VN PCEN 'UY' ;
  706. PC = 'EXTRAIRE' PN PCEN 'SCAL' ;
  707.  
  708. CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'UX'
  709. UXC 'UY' UYC 'PN' PC ;
  710.  
  711. ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) ;
  712.  
  713. 'SI' (ERRO > 1.0D-12) ;
  714. 'ERREUR' 5 ;
  715. 'FINSI' ;
  716.  
  717. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  718. LISTC LISTP
  719. RN VN PN GAMN CHPLI 'OUTSS' ;
  720.  
  721. EPS=1.0D-6 ;
  722.  
  723. * RN
  724.  
  725. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  726. ELE1 = 'MANUEL' 'POI1' PCEN ;
  727. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  728.  
  729. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  730. LISTC LISTP
  731. (RN '+' DR) VN PN GAMN CHPLI 'OUTSS' ;
  732.  
  733. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  734. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0
  735. 'UX' 0.0 'UY' 0.0 'PN' 0.0) ;
  736.  
  737. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  738.  
  739. 'SI' (ERRO > 1.0D-3) ;
  740. 'ERREUR' 5 ;
  741. 'FINSI' ;
  742.  
  743.  
  744. * UX
  745.  
  746. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  747. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  748.  
  749. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  750. LISTC LISTP
  751. RN (VN '+' DUX) PN GAMN CHPLI 'OUTSS' ;
  752.  
  753. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  754. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  755. 'UX' 1.0 'UY' 0.0 'PN' 0.0) ;
  756.  
  757. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  758.  
  759. 'SI' (ERRO > 1.0D-3) ;
  760. 'ERREUR' 5 ;
  761. 'FINSI' ;
  762.  
  763.  
  764. * UY
  765.  
  766. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  767. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  768.  
  769. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  770. LISTC LISTP
  771. RN (VN '+' DUY) PN GAMN CHPLI 'OUTSS' ;
  772.  
  773. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  774. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  775. 'UX' 0.0 'UY' 1.0 'PN' 0.0) ;
  776.  
  777. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  778.  
  779. 'SI' (ERRO > 1.0D-3) ;
  780. 'ERREUR' 5 ;
  781. 'FINSI' ;
  782.  
  783. * PN
  784.  
  785. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  786. ELE1 = 'MANUEL' 'POI1' PCEN ;
  787. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  788.  
  789. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  790. LISTC LISTP
  791. RN VN (PN '+' DP) GAMN CHPLI 'OUTSS' ;
  792.  
  793. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  794. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  795. 'UX' 0.0 'UY' 0.0 'PN' 1.0) ;
  796.  
  797. ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;
  798.  
  799. 'SI' (ERRO > 1.0D-3) ;
  800. 'ERREUR' 5 ;
  801. 'FINSI' ;
  802.  
  803.  
  804. *
  805. **** Jacobian with respect to conservative variables
  806. *
  807.  
  808. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  809. LISTC LISTP
  810. RN VN PN GAMN CHPLI 'OUTSS' ;
  811.  
  812. EPS=1.0D-6 ;
  813.  
  814. * RN
  815.  
  816. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  817. ELE1 = 'MANUEL' 'POI1' PCEN ;
  818. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  819.  
  820. RN1 = RN '+' DR ;
  821. GN1 = 'COPIER' GN ;
  822. RETN1 = 'COPIER' RETN ;
  823.  
  824. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  825.  
  826. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  827. LISTC LISTP
  828. RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ;
  829.  
  830. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  831. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0
  832. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ;
  833.  
  834. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  835.  
  836. 'SI' (ERRO > 1.0D-3) ;
  837. 'ERREUR' 5 ;
  838. 'FINSI' ;
  839.  
  840. * RUX
  841.  
  842. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  843. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  844.  
  845. RN1 = 'COPIER' RN ;
  846. GN1 = GN '+' DUX ;
  847. RETN1 = 'COPIER' RETN ;
  848.  
  849. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  850.  
  851. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  852. LISTC LISTP
  853. RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ;
  854.  
  855. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  856. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  857. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ;
  858.  
  859. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  860.  
  861. 'SI' (ERRO > 1.0D-3) ;
  862. 'ERREUR' 5 ;
  863. 'FINSI' ;
  864.  
  865. * RUY
  866.  
  867. DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  868. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  869.  
  870. RN1 = 'COPIER' RN ;
  871. GN1 = GN '+' DUY ;
  872. RETN1 = 'COPIER' RETN ;
  873.  
  874. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  875.  
  876. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  877. LISTC LISTP
  878. RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ;
  879.  
  880. DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  881. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  882. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ;
  883.  
  884. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  885.  
  886. 'SI' (ERRO > 1.0D-3) ;
  887. 'ERREUR' 5 ;
  888. 'FINSI' ;
  889.  
  890.  
  891. * RETN
  892.  
  893. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  894. ELE1 = 'MANUEL' 'POI1' PCEN ;
  895. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  896.  
  897. RN1 = 'COPIER' RN ;
  898. GN1 = 'COPIER' GN ;
  899. RETN1 = RETN '+' DR ;
  900.  
  901. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  902.  
  903. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  904. LISTC LISTP
  905. RN1 VN1 PN1 GAMN CHPLI 'OUTSS' ;
  906.  
  907. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  908. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  909. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ;
  910.  
  911. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  912.  
  913. 'SI' (ERRO > 1.0D-3) ;
  914. 'ERREUR' 5 ;
  915. 'FINSI' ;
  916.  
  917. **********************************************************************************
  918. **********************************************************************************
  919. *************************** Pressure at the outlet ******************************
  920. **********************************************************************************
  921. **********************************************************************************
  922. *
  923. * We solve a Riemann probleme between the state in the center and
  924. * the same state but the pressure equal to the pressure at the outlet
  925. * We use AUSMPLUS
  926. *
  927. *
  928. ***** Calcul du residu dans le cas particulier PF = PC
  929. *
  930.  
  931. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  932. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  933. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  934. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ;
  935.  
  936. GN = RN '*' VN ;
  937. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  938. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  939.  
  940. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 1 'PN' 2.1 ;
  941.  
  942. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  943. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  944.  
  945. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  946. LISTC LISTP
  947. RN VN PN GAMN CHPLI 'OUTP' ;
  948.  
  949. SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ;
  950. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  951. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  952. UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ;
  953. UT = (UXC '+' UYC) '/' (2. '**' 0.5) ;
  954. PC = 'EXTRAIRE' PN PCEN 'SCAL' ;
  955. RC = 'EXTRAIRE' RN PCEN 'SCAL' ;
  956. GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ;
  957.  
  958. FMASS = RC '*' UNORM ;
  959. FUN = (RC '*' UNORM '*' UNORM) '+' PC ;
  960. FUT = (RC '*' UNORM '*' UT) ;
  961. FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ;
  962. FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ;
  963. FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+'
  964. (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UT '*' UT)))
  965. ;
  966. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4
  967. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*'
  968. SURSVOL) 'VAR4' (FEN '*' SURSVOL) ;
  969.  
  970. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  971.  
  972. 'SI' (ERRO > 1.0D-12) ;
  973. 'ERREUR' 5 ;
  974. 'FINSI' ;
  975.  
  976. * Calcul de RCHLIM en gibiane
  977.  
  978. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  979. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  980. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  981. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 1. ;
  982.  
  983. GN = RN '*' VN ;
  984. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  985. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  986.  
  987. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 1 'PN' 4.1 ;
  988.  
  989. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  990. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  991.  
  992. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  993. LISTC LISTP
  994. RN VN PN GAMN CHPLI 'OUTP' ;
  995.  
  996. * Calcul de RCHLIM en gibiane
  997.  
  998. RC = 'EXTRAIRE' RN PCEN 'SCAL' ;
  999. UXC = 'EXTRAIRE' VN PCEN 'UX' ;
  1000. UYC = 'EXTRAIRE' VN PCEN 'UY' ;
  1001. PF = 'MAXIMUM' CHPLI ;
  1002.  
  1003. CHLIM2 = 'MANU' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'UX'
  1004. UXC 'UY' UYC 'PN' PF ;
  1005.  
  1006. ERRO = 'MAXIMUM' (CHLIM2 '-' RCHLIM) 'ABS' ;
  1007.  
  1008. 'SI' (ERRO > 1.0D-12) ;
  1009. 'ERREUR' 5 ;
  1010. 'FINSI' ;
  1011.  
  1012. *
  1013. ***** Jacobian with respect to the primitive variables
  1014. *
  1015.  
  1016. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  1017. LISTC LISTP
  1018. RN VN PN GAMN CHPLI 'OUTP' ;
  1019.  
  1020. EPS=1.0D-6 ;
  1021.  
  1022. * RN
  1023.  
  1024. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1025. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1026. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1027.  
  1028. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1029. LISTC LISTP
  1030. (RN '+' DR) VN PN GAMN CHPLI 'OUTP' ;
  1031.  
  1032. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1033. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0
  1034. 'UX' 0.0 'UY' 0.0 'PN' 0.0) ;
  1035.  
  1036. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1037.  
  1038. 'SI' (ERRO > 1.0D-3) ;
  1039. 'ERREUR' 5 ;
  1040. 'FINSI' ;
  1041.  
  1042.  
  1043. * UX
  1044.  
  1045. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  1046. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  1047.  
  1048. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1049. LISTC LISTP
  1050. RN (VN '+' DUX) PN GAMN CHPLI 'OUTP' ;
  1051.  
  1052. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  1053. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1054. 'UX' 1.0 'UY' 0.0 'PN' 0.0) ;
  1055.  
  1056. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  1057.  
  1058. 'SI' (ERRO > 1.0D-3) ;
  1059. 'ERREUR' 5 ;
  1060. 'FINSI' ;
  1061.  
  1062.  
  1063. * UY
  1064.  
  1065. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  1066. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  1067.  
  1068. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1069. LISTC LISTP
  1070. RN (VN '+' DUY) PN GAMN CHPLI 'OUTP' ;
  1071.  
  1072. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  1073. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1074. 'UX' 0.0 'UY' 1.0 'PN' 0.0) ;
  1075.  
  1076. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  1077.  
  1078. 'SI' (ERRO > 1.0D-3) ;
  1079. 'ERREUR' 5 ;
  1080. 'FINSI' ;
  1081.  
  1082. * PN
  1083.  
  1084. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1085. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1086. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  1087.  
  1088. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1089. LISTC LISTP
  1090. RN VN (PN '+' DP) GAMN CHPLI 'OUTP' ;
  1091.  
  1092. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  1093. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1094. 'UX' 0.0 'UY' 0.0 'PN' 1.0) ;
  1095.  
  1096. ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;
  1097.  
  1098. 'SI' (ERRO > 1.0D-3) ;
  1099. 'ERREUR' 5 ;
  1100. 'FINSI' ;
  1101.  
  1102.  
  1103. *
  1104. **** Jacobian with respect to conservative variables
  1105. *
  1106.  
  1107. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  1108. LISTC LISTP
  1109. RN VN PN GAMN CHPLI 'OUTP' ;
  1110.  
  1111. EPS=1.0D-6 ;
  1112.  
  1113. * RN
  1114.  
  1115. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1116. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1117. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1118.  
  1119. RN1 = RN '+' DR ;
  1120. GN1 = 'COPIER' GN ;
  1121. RETN1 = 'COPIER' RETN ;
  1122.  
  1123. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1124.  
  1125. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1126. LISTC LISTP
  1127. RN1 VN1 PN1 GAMN CHPLI 'OUTP' ;
  1128.  
  1129. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1130. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0
  1131. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ;
  1132.  
  1133. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1134.  
  1135. 'SI' (ERRO > 1.0D-3) ;
  1136. 'ERREUR' 5 ;
  1137. 'FINSI' ;
  1138.  
  1139. * RUX
  1140.  
  1141. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  1142. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  1143.  
  1144. RN1 = 'COPIER' RN ;
  1145. GN1 = GN '+' DUX ;
  1146. RETN1 = 'COPIER' RETN ;
  1147.  
  1148. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1149.  
  1150. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1151. LISTC LISTP
  1152. RN1 VN1 PN1 GAMN CHPLI 'OUTP' ;
  1153.  
  1154. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  1155. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1156. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ;
  1157.  
  1158. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  1159.  
  1160. 'SI' (ERRO > 1.0D-3) ;
  1161. 'ERREUR' 5 ;
  1162. 'FINSI' ;
  1163.  
  1164. * RUY
  1165.  
  1166. DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  1167. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  1168.  
  1169. RN1 = 'COPIER' RN ;
  1170. GN1 = GN '+' DUY ;
  1171. RETN1 = 'COPIER' RETN ;
  1172.  
  1173. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1174.  
  1175. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1176. LISTC LISTP
  1177. RN1 VN1 PN1 GAMN CHPLI 'OUTP' ;
  1178.  
  1179. DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  1180. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1181. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ;
  1182.  
  1183. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  1184.  
  1185. 'SI' (ERRO > 1.0D-3) ;
  1186. 'ERREUR' 5 ;
  1187. 'FINSI' ;
  1188.  
  1189.  
  1190. * RETN
  1191.  
  1192. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  1193. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1194. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1195.  
  1196. RN1 = 'COPIER' RN ;
  1197. GN1 = 'COPIER' GN ;
  1198. RETN1 = RETN '+' DR ;
  1199.  
  1200. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1201.  
  1202. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1203. LISTC LISTP
  1204. RN1 VN1 PN1 GAMN CHPLI 'OUTP' ;
  1205.  
  1206. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1207. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1208. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ;
  1209.  
  1210. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1211.  
  1212. 'SI' (ERRO > 1.0D-3) ;
  1213. 'ERREUR' 5 ;
  1214. 'FINSI' ;
  1215.  
  1216. **********************************************************************************
  1217. **********************************************************************************
  1218. *************************** INSU ************************************************
  1219. **********************************************************************************
  1220. **********************************************************************************
  1221. *
  1222. * Total enthalpy, entropy, tangential velocity at the inlet
  1223. * Normal velocity inside
  1224. *
  1225. * We solve a Riemann probleme between the state at the interface thus
  1226. * reconstructed and the state at the center
  1227. *
  1228. ***** Calcul du residu dans le cas particulier UF = UC
  1229. *
  1230.  
  1231. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  1232. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  1233. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  1234. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' -15. 'UX' 15. ;
  1235.  
  1236. GN = RN '*' VN ;
  1237. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  1238. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  1239. RHTN = RETN '+' PN ;
  1240. HTN = RHTN '/' RN ;
  1241. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  1242. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  1243. UTC = -1 '*' (UXC '+' UYC) '/' (2. '**' 0.5) ;
  1244.  
  1245. SN = PN '/' (RN '**' ('MAXI' GAMN)) ;
  1246.  
  1247. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'HT' ('MAXIMUM' HTN)
  1248. 'S' ('MAXIMUM' SN) ;
  1249.  
  1250. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  1251. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  1252.  
  1253. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1254. LISTC LISTP
  1255. RN VN PN GAMN CHPLI 'INSU' ;
  1256.  
  1257. SURSVOL = -1. '/' ((2 '**' 0.5) * 0.5) ;
  1258. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  1259. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  1260. UNORM = (UXC '-' UYC) '/' (2. '**' 0.5) ;
  1261. UT = (UXC '+' UYC) '/' (2. '**' 0.5) ;
  1262. PC = 'EXTRAIRE' PN PCEN 'SCAL' ;
  1263. RC = 'EXTRAIRE' RN PCEN 'SCAL' ;
  1264. GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ;
  1265.  
  1266. RCHLIM2 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'PN' PC 'UX'
  1267. UXC 'UY' UYC ;
  1268.  
  1269. ERRO = 'MAXIMUM' (RCHLIM '-' RCHLIM2) 'ABS' ;
  1270.  
  1271. 'SI' (ERRO > 1.0D-6) ;
  1272. 'ERREUR' 5 ;
  1273. 'FINSI' ;
  1274.  
  1275. FMASS = RC '*' UNORM ;
  1276. FUN = (RC '*' UNORM '*' UNORM) '+' PC ;
  1277. FUT = (RC '*' UNORM '*' UT) ;
  1278. FUX = (FUN '+' FUT) '/' (2. '**' 0.5) ;
  1279. FUY = (FUT '-' FUN) '/' (2. '**' 0.5) ;
  1280. FEN = (UNORM '*' ((GAMC/(GAMC-1)) '*' PC)) '+'
  1281. (0.5 '*' UNORM '*' RC '*' ((UNORM '*' UNORM) '+' (UT '*' UT)))
  1282. ;
  1283. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4
  1284. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*'
  1285. SURSVOL) 'VAR4' (FEN '*' SURSVOL) ;
  1286.  
  1287. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  1288.  
  1289. 'SI' (ERRO > 1.0D-6) ;
  1290. 'ERREUR' 5 ;
  1291. 'FINSI' ;
  1292.  
  1293. * JACOBIANS
  1294.  
  1295.  
  1296. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  1297. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  1298.  
  1299. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1300. LISTC LISTP
  1301. RN VN PN GAMN CHPLI 'INSU' ;
  1302. *
  1303. ***** Jacobian with respect to the primitive variables
  1304. *
  1305.  
  1306. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  1307. LISTC LISTP
  1308. RN VN PN GAMN CHPLI 'INSU' ;
  1309.  
  1310. EPS=1.0D-8 ;
  1311.  
  1312. * RN
  1313.  
  1314. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1315. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1316. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1317.  
  1318. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1319. LISTC LISTP
  1320. (RN '+' DR) VN PN GAMN CHPLI 'INSU' ;
  1321.  
  1322. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1323. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0
  1324. 'UX' 0.0 'UY' 0.0 'PN' 0.0) ;
  1325.  
  1326. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1327.  
  1328. 'SI' (ERRO > 1.0D-3) ;
  1329. 'ERREUR' 5 ;
  1330. 'FINSI' ;
  1331.  
  1332.  
  1333. * UX
  1334.  
  1335. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  1336. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  1337.  
  1338. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1339. LISTC LISTP
  1340. RN (VN '+' DUX) PN GAMN CHPLI 'INSU' ;
  1341.  
  1342. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  1343. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1344. 'UX' 1.0 'UY' 0.0 'PN' 0.0) ;
  1345.  
  1346. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  1347.  
  1348. 'SI' (ERRO > 1.0D-3) ;
  1349. 'ERREUR' 5 ;
  1350. 'FINSI' ;
  1351.  
  1352.  
  1353. * UY
  1354.  
  1355. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  1356. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  1357.  
  1358. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1359. LISTC LISTP
  1360. RN (VN '+' DUY) PN GAMN CHPLI 'INSU' ;
  1361.  
  1362. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  1363. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1364. 'UX' 0.0 'UY' 1.0 'PN' 0.0) ;
  1365.  
  1366. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  1367.  
  1368. 'SI' (ERRO > 1.0D-3) ;
  1369. 'ERREUR' 5 ;
  1370. 'FINSI' ;
  1371.  
  1372. * PN
  1373.  
  1374. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1375. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1376. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  1377.  
  1378. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1379. LISTC LISTP
  1380. RN VN (PN '+' DP) GAMN CHPLI 'INSU' ;
  1381.  
  1382. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  1383. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1384. 'UX' 0.0 'UY' 0.0 'PN' 1.0) ;
  1385.  
  1386. ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;
  1387.  
  1388. 'SI' (ERRO > 1.0D-3) ;
  1389. 'ERREUR' 5 ;
  1390. 'FINSI' ;
  1391.  
  1392.  
  1393. *
  1394. **** Jacobian with respect to conservative variables
  1395. *
  1396.  
  1397. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  1398. LISTC LISTP
  1399. RN VN PN GAMN CHPLI 'INSU' ;
  1400.  
  1401.  
  1402. * RN
  1403.  
  1404. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1405. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1406. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1407.  
  1408. RN1 = RN '+' DR ;
  1409. GN1 = 'COPIER' GN ;
  1410. RETN1 = 'COPIER' RETN ;
  1411.  
  1412. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1413.  
  1414.  
  1415. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1416. LISTC LISTP
  1417. RN1 VN1 PN1 GAMN CHPLI 'INSU' ;
  1418.  
  1419.  
  1420. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1421. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0
  1422. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ;
  1423.  
  1424. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1425.  
  1426. 'SI' (ERRO > 1.0D-3) ;
  1427. 'ERREUR' 5 ;
  1428. 'FINSI' ;
  1429.  
  1430. * RUX
  1431.  
  1432. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  1433. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  1434.  
  1435. RN1 = 'COPIER' RN ;
  1436. GN1 = GN '+' DUX ;
  1437. RETN1 = 'COPIER' RETN ;
  1438.  
  1439. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1440.  
  1441. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1442. LISTC LISTP
  1443. RN1 VN1 PN1 GAMN CHPLI 'INSU' ;
  1444.  
  1445. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  1446. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1447. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ;
  1448.  
  1449. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  1450.  
  1451. 'SI' (ERRO > 1.0D-3) ;
  1452. 'ERREUR' 5 ;
  1453. 'FINSI' ;
  1454.  
  1455. * RUY
  1456.  
  1457. DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  1458. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  1459.  
  1460. RN1 = 'COPIER' RN ;
  1461. GN1 = GN '+' DUY ;
  1462. RETN1 = 'COPIER' RETN ;
  1463.  
  1464. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1465.  
  1466. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1467. LISTC LISTP
  1468. RN1 VN1 PN1 GAMN CHPLI 'INSU' ;
  1469.  
  1470. DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  1471. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1472. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ;
  1473.  
  1474. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  1475.  
  1476. 'SI' (ERRO > 1.0D-3) ;
  1477. 'ERREUR' 5 ;
  1478. 'FINSI' ;
  1479.  
  1480.  
  1481. * RETN
  1482.  
  1483. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  1484. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1485. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1486.  
  1487. RN1 = 'COPIER' RN ;
  1488. GN1 = 'COPIER' GN ;
  1489. RETN1 = RETN '+' DR ;
  1490.  
  1491. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1492.  
  1493. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1494. LISTC LISTP
  1495. RN1 VN1 PN1 GAMN CHPLI 'INSU' ;
  1496.  
  1497. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1498. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1499. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ;
  1500.  
  1501. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1502.  
  1503. 'SI' (ERRO > 1.0D-3) ;
  1504. 'ERREUR' 5 ;
  1505. 'FINSI' ;
  1506.  
  1507. **********************************************************************************
  1508. **********************************************************************************
  1509. *************************** INJELM **********************************************
  1510. **********************************************************************************
  1511. **********************************************************************************
  1512. * Injection at low Mach regime
  1513. *
  1514. * We impose RT and the normal momentum at the inlet.
  1515. *
  1516. ***** Calcul du residu dans le cas particulier UF = UC
  1517. *
  1518.  
  1519. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  1520. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  1521. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  1522. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 15. 'UX' -15. ;
  1523.  
  1524. GN = RN '*' VN ;
  1525. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  1526. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  1527. MOME = (15 '*' (2. '**' 0.5)) * 1.1 ;
  1528. RT = 2.1 '/' 1.1 ;
  1529.  
  1530. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  1531. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  1532. PC = ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1533. RC = ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1534.  
  1535. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT
  1536. 'MOME' MOME ;
  1537.  
  1538. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  1539. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  1540.  
  1541. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1542. LISTC LISTP
  1543. RN VN PN GAMN CHPLI 'INJELM' ;
  1544.  
  1545. RCHLIM1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RC 'PN' PC 'UX' UXC
  1546. 'UY' UYC ;
  1547.  
  1548. ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ;
  1549.  
  1550. 'SI' (ERRO > 1.0D-6) ;
  1551. 'ERREUR' 5 ;
  1552. 'FINSI' ;
  1553.  
  1554. SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ;
  1555. GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ;
  1556.  
  1557. FMASS = MOME ;
  1558. FUX = (MOME * UXC) '-' (PC '/' (2. '**' 0.5)) ;
  1559. FUY = (MOME * UYC) '+' (PC '/' (2. '**' 0.5)) ;
  1560. HIN = (GAMC/(GAMC-1)) '*' (PC '/' RC) ;
  1561. ECIN = 0.5 '*' ((UXC '*' UXC) '+' (UYC '*' UYC)) ;
  1562. FEN = MOME '*' (HIN '+' ECIN)
  1563. ;
  1564. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4
  1565. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*'
  1566. SURSVOL) 'VAR4' (FEN '*' SURSVOL) ;
  1567.  
  1568. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  1569.  
  1570. 'SI' (ERRO > 1.0D-6) ;
  1571. 'ERREUR' 5 ;
  1572. 'FINSI' ;
  1573.  
  1574. * JACOBIANS
  1575.  
  1576. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  1577. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  1578. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  1579. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 1.11 'UX' -1.3 ;
  1580.  
  1581. GN = RN '*' VN ;
  1582. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  1583. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  1584. MOME = 0.111 ;
  1585. RT = 4.1 ;
  1586.  
  1587. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT
  1588. 'MOME' MOME ;
  1589.  
  1590. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  1591. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  1592.  
  1593. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1594. LISTC LISTP
  1595. RN VN PN GAMN CHPLI 'INJELM' ;
  1596.  
  1597. *
  1598. ***** Jacobian with respect to the primitive variables
  1599. *
  1600.  
  1601. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  1602. LISTC LISTP
  1603. RN VN PN GAMN CHPLI 'INJELM' ;
  1604.  
  1605. EPS=1.0D-6 ;
  1606.  
  1607. * RN
  1608.  
  1609. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1610. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1611. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1612.  
  1613. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1614. LISTC LISTP
  1615. (RN '+' DR) VN PN GAMN CHPLI 'INJELM' ;
  1616.  
  1617. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1618. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0
  1619. 'UX' 0.0 'UY' 0.0 'PN' 0.0) ;
  1620.  
  1621. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1622.  
  1623. 'SI' (ERRO > 1.0D-3) ;
  1624. 'ERREUR' 5 ;
  1625. 'FINSI' ;
  1626.  
  1627.  
  1628. * UX
  1629.  
  1630. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  1631. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  1632.  
  1633. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1634. LISTC LISTP
  1635. RN (VN '+' DUX) PN GAMN CHPLI 'INJELM' ;
  1636.  
  1637. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  1638. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1639. 'UX' 1.0 'UY' 0.0 'PN' 0.0) ;
  1640.  
  1641. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  1642.  
  1643. 'SI' (ERRO > 1.0D-3) ;
  1644. 'ERREUR' 5 ;
  1645. 'FINSI' ;
  1646.  
  1647.  
  1648. * UY
  1649.  
  1650. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  1651. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  1652.  
  1653. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1654. LISTC LISTP
  1655. RN (VN '+' DUY) PN GAMN CHPLI 'INJELM' ;
  1656.  
  1657. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  1658. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1659. 'UX' 0.0 'UY' 1.0 'PN' 0.0) ;
  1660.  
  1661. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  1662.  
  1663. 'SI' (ERRO > 1.0D-3) ;
  1664. 'ERREUR' 5 ;
  1665. 'FINSI' ;
  1666.  
  1667. * PN
  1668.  
  1669. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1670. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1671. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  1672.  
  1673. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1674. LISTC LISTP
  1675. RN VN (PN '+' DP) GAMN CHPLI 'INJELM' ;
  1676.  
  1677. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  1678. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1679. 'UX' 0.0 'UY' 0.0 'PN' 1.0) ;
  1680.  
  1681.  
  1682. ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;
  1683.  
  1684. 'SI' (ERRO > 1.0D-3 ) ;
  1685. 'ERREUR' 5 ;
  1686. 'FINSI' ;
  1687.  
  1688. *
  1689. **** Jacobian with respect to conservative variables
  1690. *
  1691.  
  1692. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1693. LISTC LISTP
  1694. RN VN PN GAMN CHPLI 'INJELM' ;
  1695.  
  1696. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  1697. LISTC LISTP
  1698. RN VN PN GAMN CHPLI 'INJELM' ;
  1699.  
  1700. EPS=1.0D-6 ;
  1701.  
  1702. * RN
  1703.  
  1704. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1705. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1706. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1707.  
  1708. RN1 = RN '+' DR ;
  1709. GN1 = 'COPIER' GN ;
  1710. RETN1 = 'COPIER' RETN ;
  1711.  
  1712. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1713.  
  1714. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1715. LISTC LISTP
  1716. RN1 VN1 PN1 GAMN CHPLI 'INJELM' ;
  1717.  
  1718. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1719. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0
  1720. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ;
  1721.  
  1722. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1723.  
  1724. * 'SI' (ERRO > 1.0D-3) ;
  1725. * 'ERREUR' 5 ;
  1726. * 'FINSI' ;
  1727.  
  1728. * RUX
  1729.  
  1730. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  1731. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  1732.  
  1733. RN1 = 'COPIER' RN ;
  1734. GN1 = GN '+' DUX ;
  1735. RETN1 = 'COPIER' RETN ;
  1736.  
  1737. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1738.  
  1739. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1740. LISTC LISTP
  1741. RN1 VN1 PN1 GAMN CHPLI 'INJELM' ;
  1742.  
  1743. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  1744. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1745. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ;
  1746.  
  1747. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  1748.  
  1749. 'SI' (ERRO > 1.0D-3) ;
  1750. 'ERREUR' 5 ;
  1751. 'FINSI' ;
  1752.  
  1753. * RUY
  1754.  
  1755. DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  1756. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  1757.  
  1758. RN1 = 'COPIER' RN ;
  1759. GN1 = GN '+' DUY ;
  1760. RETN1 = 'COPIER' RETN ;
  1761.  
  1762. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1763.  
  1764. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1765. LISTC LISTP
  1766. RN1 VN1 PN1 GAMN CHPLI 'INJELM' ;
  1767.  
  1768. DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  1769. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1770. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ;
  1771.  
  1772. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  1773.  
  1774. 'SI' (ERRO > 1.0D-3) ;
  1775. 'ERREUR' 5 ;
  1776. 'FINSI' ;
  1777.  
  1778.  
  1779. * RETN
  1780.  
  1781. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  1782. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1783. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1784.  
  1785. RN1 = 'COPIER' RN ;
  1786. GN1 = 'COPIER' GN ;
  1787. RETN1 = RETN '+' DR ;
  1788.  
  1789. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  1790.  
  1791. RCHLIM1 RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1792. LISTC LISTP
  1793. RN1 VN1 PN1 GAMN CHPLI 'INJELM' ;
  1794.  
  1795. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1796. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  1797. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ;
  1798.  
  1799. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1800.  
  1801. 'SI' (ERRO > 1.0D-3) ;
  1802. 'ERREUR' 5 ;
  1803. 'FINSI' ;
  1804.  
  1805. **********************************************************************************
  1806. **********************************************************************************
  1807. *************************** INJE **********************************************
  1808. **********************************************************************************
  1809. **********************************************************************************
  1810. *
  1811. * We impose RT and the normal momentum at the inlet.
  1812. *
  1813.  
  1814. *********************************************************
  1815. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  1816. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  1817. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  1818. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 4. 'UX' -4. ;
  1819.  
  1820. GN = RN '*' VN ;
  1821. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  1822. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  1823. MOME = (15 '*' (2. '**' 0.5)) * 1.1 ;
  1824. RT = 4.1 '/' 1.1 ;
  1825.  
  1826. UXC = ('EXTRAIRE' VN 'UX' PCEN) ;
  1827. UYC = ('EXTRAIRE' VN 'UY' PCEN) ;
  1828. PC = ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1829. RC = ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1830. GAMC = ('EXTRAIRE' GAMN 'SCAL' PCEN) ;
  1831. UNC = 4. '*' (2. '**' 0.5) ;
  1832. CC = GAMC * (PC '/' RC) ;
  1833. CC = CC '**' 0.5 ;
  1834. ACEL = CC '/' GAMC ;
  1835. BCEL = ACEL '-' UNC ;
  1836. CCEL = (MOME '/' PC) '*' RT ;
  1837. PF = BCEL '+' (((BCEL * BCEL) '+' (4 '*' ACEL '*' CCEL)) '**' 0.5) ;
  1838. PF = PC '*' (PF '/' (2 '*' ACEL)) ;
  1839. RF = PF '/' RT ;
  1840. UNF = MOME '/' RF ;
  1841. UXF = UNF '/' (-1 '*' (2 '**' 0.5)) ;
  1842. UYF = UNF '/' (2 '**' 0.5) ;
  1843.  
  1844. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT
  1845. 'MOME' MOME ;
  1846.  
  1847. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  1848. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  1849.  
  1850. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1851. LISTC LISTP
  1852. RN VN PN GAMN CHPLI 'INJE' ;
  1853.  
  1854. RCHLIM1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RF 'PN' PF 'UX' UXF
  1855. 'UY' UYF ;
  1856.  
  1857. ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ;
  1858.  
  1859. 'SI' (ERRO > 1.0D-6) ;
  1860. 'ERREUR' 5 ;
  1861. 'FINSI' ;
  1862.  
  1863. SURSVOL = 1. '/' ((2 '**' 0.5) * 0.5) ;
  1864. GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ;
  1865.  
  1866. FMASS = MOME ;
  1867. FUX = (MOME * UXF) '-' (PF '/' (2. '**' 0.5)) ;
  1868. FUY = (MOME * UYF) '+' (PF '/' (2. '**' 0.5)) ;
  1869. HIN = (GAMC/(GAMC-1)) '*' (PF '/' RF) ;
  1870. ECIN = 0.5 '*' ((UXF '*' UXF) '+' (UYF '*' UYF)) ;
  1871. FEN = MOME '*' (HIN '+' ECIN)
  1872. ;
  1873. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4
  1874. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*'
  1875. SURSVOL) 'VAR4' (FEN '*' SURSVOL) ;
  1876.  
  1877. ERRO = 'MAXIMUM' (RCHRES1 '-' RCHRES) 'ABS' ;
  1878.  
  1879. 'SI' (ERRO > 1.0D-6) ;
  1880. 'ERREUR' 5 ;
  1881. 'FINSI' ;
  1882.  
  1883. * JACOBIANS
  1884.  
  1885. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  1886. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 2.1 ;
  1887. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.37 ;
  1888. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 1.11 'UX' -1.3 ;
  1889.  
  1890. GN = RN '*' VN ;
  1891. RETN = (('INVERSE' (GAMN '-' 1)) '*' PN) '+' (0.5 '*' ('PSCAL' VN GN
  1892. ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY'))) ;
  1893. MOME = 0.111 ;
  1894. RT = 4.1 ;
  1895.  
  1896. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'RT' RT
  1897. 'MOME' MOME ;
  1898.  
  1899. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  1900. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  1901.  
  1902. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1903. LISTC LISTP
  1904. RN VN PN GAMN CHPLI 'INJE' ;
  1905.  
  1906. *
  1907. ***** Jacobian with respect to the primitive variables
  1908. *
  1909.  
  1910. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOPRIM' MDOMINT MP2P3
  1911. LISTC LISTP
  1912. RN VN PN GAMN CHPLI 'INJE' ;
  1913.  
  1914. EPS=1.0D-6 ;
  1915.  
  1916.  
  1917. * RN
  1918.  
  1919. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  1920. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1921. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  1922.  
  1923. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1924. LISTC LISTP
  1925. (RN '+' DR) VN PN GAMN CHPLI 'INJE' ;
  1926.  
  1927. DRESDRN = ( RCHRES1 '-' RCHRES) '/' DRSCAL ;
  1928. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 1.0
  1929. 'UX' 0.0 'UY' 0.0 'PN' 0.0) ;
  1930.  
  1931. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  1932.  
  1933. 'SI' (ERRO > 1.0D-4) ;
  1934. 'ERREUR' 5 ;
  1935. 'FINSI' ;
  1936.  
  1937.  
  1938. * UX
  1939.  
  1940. DUXSCAL = EPS '*' ('EXTRAIRE' VN 'UX' PCEN) ;
  1941. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  1942.  
  1943. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1944. LISTC LISTP
  1945. RN (VN '+' DUX) PN GAMN CHPLI 'INJE' ;
  1946.  
  1947. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  1948. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1949. 'UX' 1.0 'UY' 0.0 'PN' 0.0) ;
  1950.  
  1951. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  1952.  
  1953. 'SI' (ERRO > 1.0D-3) ;
  1954. 'ERREUR' 5 ;
  1955. 'FINSI' ;
  1956.  
  1957.  
  1958. * UY
  1959.  
  1960. DUYSCAL = EPS '*' ('EXTRAIRE' VN 'UY' PCEN) ;
  1961. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  1962.  
  1963. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1964. LISTC LISTP
  1965. RN (VN '+' DUY) PN GAMN CHPLI 'INJE' ;
  1966.  
  1967. DRESDUYN = ( RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  1968. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1969. 'UX' 0.0 'UY' 1.0 'PN' 0.0) ;
  1970.  
  1971. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  1972.  
  1973. 'SI' (ERRO > 1.0D-3) ;
  1974. 'ERREUR' 5 ;
  1975. 'FINSI' ;
  1976.  
  1977. * PN
  1978.  
  1979. DPSCAL = EPS '*' ('EXTRAIRE' PN 'SCAL' PCEN) ;
  1980. ELE1 = 'MANUEL' 'POI1' PCEN ;
  1981. DP = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DPSCAL) ;
  1982.  
  1983. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  1984. LISTC LISTP
  1985. RN VN (PN '+' DP) GAMN CHPLI 'INJE' ;
  1986.  
  1987. DRESDPN = ( RCHRES1 '-' RCHRES) '/' DPSCAL ;
  1988. DRESDP = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'RN' 0.0
  1989. 'UX' 0.0 'UY' 0.0 'PN' 1.0) ;
  1990.  
  1991.  
  1992. ERRO = 'MAXIMUM' (DRESDP '-' DRESDPN) 'ABS' ;
  1993.  
  1994. 'SI' (ERRO > 1.0D-3 ) ;
  1995. 'ERREUR' 5 ;
  1996. 'FINSI' ;
  1997.  
  1998. *
  1999. **** Jacobian with respect to conservative variables
  2000. *
  2001.  
  2002. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  2003. LISTC LISTP
  2004. RN VN PN GAMN CHPLI 'INJE' ;
  2005.  
  2006. RJACO = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'JACOCONS' MDOMINT MP2P3
  2007. LISTC LISTP
  2008. RN VN PN GAMN CHPLI 'INJE' ;
  2009.  
  2010. EPS=1.0D-6 ;
  2011.  
  2012. * RN
  2013.  
  2014. DRSCAL = EPS '*' ('EXTRAIRE' RN 'SCAL' PCEN) ;
  2015. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2016. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2017.  
  2018. RN1 = RN '+' DR ;
  2019. GN1 = 'COPIER' GN ;
  2020. RETN1 = 'COPIER' RETN ;
  2021.  
  2022. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  2023.  
  2024. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  2025. LISTC LISTP
  2026. RN1 VN1 PN1 GAMN CHPLI 'INJE' ;
  2027.  
  2028. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2029. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 1.0
  2030. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 0.0) ;
  2031.  
  2032. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2033.  
  2034. * 'SI' (ERRO > 1.0D-3) ;
  2035. * 'ERREUR' 5 ;
  2036. * 'FINSI' ;
  2037.  
  2038. * RUX
  2039.  
  2040. DUXSCAL = EPS '*' ('EXTRAIRE' GN 'UX' PCEN) ;
  2041. DUX = ('MANUEL' 'CHPO' ELE1 1 'UX' DUXSCAL) ;
  2042.  
  2043. RN1 = 'COPIER' RN ;
  2044. GN1 = GN '+' DUX ;
  2045. RETN1 = 'COPIER' RETN ;
  2046.  
  2047. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  2048.  
  2049. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  2050. LISTC LISTP
  2051. RN1 VN1 PN1 GAMN CHPLI 'INJE' ;
  2052.  
  2053. DRESDUXN = ( RCHRES1 '-' RCHRES) '/' DUXSCAL ;
  2054. DRESDUX = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  2055. 'VAR2' 1.0 'VAR3' 0.0 'VAR4' 0.0) ;
  2056.  
  2057. ERRO = 'MAXIMUM' (DRESDUX '-' DRESDUXN) 'ABS' ;
  2058.  
  2059. 'SI' (ERRO > 1.0D-3) ;
  2060. 'ERREUR' 5 ;
  2061. 'FINSI' ;
  2062.  
  2063. * RUY
  2064.  
  2065. DUYSCAL = EPS '*' ('EXTRAIRE' GN 'UY' PCEN) ;
  2066. DUY = ('MANUEL' 'CHPO' ELE1 1 'UY' DUYSCAL) ;
  2067.  
  2068. RN1 = 'COPIER' RN ;
  2069. GN1 = GN '+' DUY ;
  2070. RETN1 = 'COPIER' RETN ;
  2071.  
  2072. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  2073.  
  2074. RCHLIM RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  2075. LISTC LISTP
  2076. RN1 VN1 PN1 GAMN CHPLI 'INJE' ;
  2077.  
  2078. DRESDUYN = (RCHRES1 '-' RCHRES) '/' DUYSCAL ;
  2079. DRESDUY = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  2080. 'VAR2' 0.0 'VAR3' 1.0 'VAR4' 0.0) ;
  2081.  
  2082. ERRO = 'MAXIMUM' (DRESDUY '-' DRESDUYN) 'ABS' ;
  2083.  
  2084. 'SI' (ERRO > 1.0D-3) ;
  2085. 'ERREUR' 5 ;
  2086. 'FINSI' ;
  2087.  
  2088.  
  2089. * RETN
  2090.  
  2091. DRSCAL = EPS '*' ('EXTRAIRE' RETN 'SCAL' PCEN) ;
  2092. ELE1 = 'MANUEL' 'POI1' PCEN ;
  2093. DR = ('MANUEL' 'CHPO' ELE1 1 'SCAL' DRSCAL) ;
  2094.  
  2095. RN1 = 'COPIER' RN ;
  2096. GN1 = 'COPIER' GN ;
  2097. RETN1 = RETN '+' DR ;
  2098.  
  2099. VN1 PN1 = 'PRIM' 'PERFMONO' RN1 GN1 RETN1 GAMN ;
  2100.  
  2101. RCHLIM1 RCHRES1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  2102. LISTC LISTP
  2103. RN1 VN1 PN1 GAMN CHPLI 'INJE' ;
  2104.  
  2105. DRESDRN = (RCHRES1 '-' RCHRES) '/' DRSCAL ;
  2106. DRESDR = 'KOPS' RJACO '*' ('MANUEL' 'CHPO' ELE1 4 'VAR1' 0.0
  2107. 'VAR2' 0.0 'VAR3' 0.0 'VAR4' 1.0) ;
  2108.  
  2109. ERRO = 'MAXIMUM' (DRESDR '-' DRESDRN) 'ABS' ;
  2110.  
  2111. 'SI' (ERRO > 1.0D-3) ;
  2112. 'ERREUR' 5 ;
  2113. 'FINSI' ;
  2114.  
  2115. **********************************************************************************
  2116. **********************************************************************************
  2117. *************************** INSO **********************************************
  2118. **********************************************************************************
  2119. **********************************************************************************
  2120. *
  2121. * We impose the stagnation pressure and density in the tank
  2122. * and assume the sonic flow at the boundary.
  2123. * The values at the boundary are found using three conditions:
  2124. * 1) entropy in the tank and at the inlet are equal
  2125. * 2) enthalpy in the tank and at the inlet are equal
  2126. * 3) fluid velocity at the inlet equal to sonic velocity at
  2127. * the inlet
  2128. **********************************************************************************
  2129. RN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.1 ;
  2130. PN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.D5 ;
  2131. GAMN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 1 'SCAL' 1.4 ;
  2132. VN = 'MANUEL' 'CHPO' ($DOMINT . 'CENTRE') 2 'UY' 0. 'UX' 0.0 ;
  2133. ****** stagnation values
  2134. RAIR = 288.2944D0 ;
  2135. P_ST = 100.0D5 ;
  2136. T_ST = 300.0D0 ;
  2137. R_ST = P_ST '/' (RAIR '*' T_ST) ;
  2138.  
  2139. CHPLI = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 2 'PSTA' P_ST
  2140. 'RSTA' R_ST ;
  2141.  
  2142. S0 = P_ST '/' (R_ST '**' 1.4) ;
  2143. RF = (2.0D0 '/' (1.4 '+' 1.0D0)) '**' (1.0D0 '/' (1.4 '-' 1.0D0))
  2144. '*' R_ST ;
  2145. PF = S0 '*' (RF '**' 1.4) ;
  2146. PF1 = (2.0D0 '/' (1.4 '+' 1.0D0)) '**' (1.4D0 '/' (1.4 '-' 1.0D0)) ;
  2147. PF1 = PF1 '*' P_ST ;
  2148.  
  2149. UNF = (1.4D0 '*' PF '/' RF) '**' 0.5D0 ;
  2150. UXF = UNF '/' (-1.0D0 '*' (2.0D0 '**' 0.5D0)) ;
  2151. UYF = UNF '/' (2.0D0 '**' 0.5D0) ;
  2152.  
  2153.  
  2154. LISTC = 'MOTS' 'VAR1' 'VAR2' 'VAR3' 'VAR4' ;
  2155. LISTP = 'MOTS' 'RN ' 'UX ' 'UY ' 'PN ' ;
  2156.  
  2157. RCHLIM RCHRES = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI' MDOMINT MP2P3
  2158. LISTC LISTP
  2159. RN VN PN GAMN CHPLI 'INSO' ;
  2160. ************** checking the boundary conditions
  2161. RCHLIM1 = 'MANUEL' 'CHPO' ($P2P3 . 'CENTRE') 4 'RN' RF 'PN' PF 'UX' UXF
  2162. 'UY' UYF ;
  2163.  
  2164. ERRO = 'MAXIMUM' (RCHLIM1 '-' RCHLIM) 'ABS' ;
  2165.  
  2166. 'SI' (ERRO > 3.0D-6) ;
  2167. 'ERREUR' 5 ;
  2168. 'FINSI' ;
  2169. ************** checking the residual
  2170. SURSVOL = 1. '/' ((2.0D0 '**' 0.5D0) * 0.5D0) ;
  2171. GAMC = 'EXTRAIRE' GAMN PCEN 'SCAL' ;
  2172.  
  2173. FMASS = RF '*' UNF ;
  2174. FUX = (FMASS * UXF) '-' (PF '/' (2. '**' 0.5)) ;
  2175. FUY = (FMASS * UYF) '+' (PF '/' (2. '**' 0.5)) ;
  2176. HIN = (GAMC/(GAMC-1.0)) '*' (PF '/' RF) ;
  2177. ECIN = 0.5 '*' ((UXF '*' UXF) '+' (UYF '*' UYF)) ;
  2178. FEN = FMASS '*' (HIN '+' ECIN)
  2179. ;
  2180. RCHRES1 = 'MANUEL' 'CHPO' ('MANUEL' 'POI1' PCEN) 4
  2181. 'VAR1' (SURSVOL '*' FMASS) 'VAR2' (FUX '*' SURSVOL) 'VAR3' (FUY '*'
  2182. SURSVOL) 'VAR4' (FEN '*' SURSVOL) ;
  2183.  
  2184. TVAR1 = 'EXCO' RCHRES 'VAR1' ;
  2185. TV1 = 'MAXIMUM' TVAR1 ;
  2186. *---------------------------
  2187. TVAR2 = 'EXCO' RCHRES 'VAR2' ;
  2188. TV2 = 'MAXIMUM' TVAR2 ;
  2189. *---------------------------
  2190. TVAR3 = 'EXCO' RCHRES 'VAR3' ;
  2191. TV3 = 'MAXIMUM' TVAR3 ;
  2192. *---------------------------
  2193. TVAR4 = 'EXCO' RCHRES 'VAR4' ;
  2194. TV4 = 'MAXIMUM' TVAR4 ;
  2195. *---------------------------
  2196. ERRV1 = 'ABS' ((TV1 '-' (SURSVOL '*' FMASS)) '/' TV1) ;
  2197. ERRV2 = 'ABS' ((TV2 '-' (FUX '*' SURSVOL)) '/' TV2) ;
  2198. ERRV3 = 'ABS' ((TV3 '-' (FUY '*' SURSVOL)) '/' TV3) ;
  2199. ERRV4 = 'ABS' ((TV4 '-' (FEN '*' SURSVOL)) '/' TV4) ;
  2200.  
  2201. LERRV = 'PROG' ERRV1 ERRV2 ERRV3 ERRV4 ;
  2202.  
  2203. ERRO = 'MAXIMUM' LERRV ;
  2204. 'SI' (ERRO > 1.0D-6) ;
  2205. 'ERREUR' 5 ;
  2206. 'FINSI' ;
  2207.  
  2208.  
  2209.  
  2210. 'FIN' ;
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  

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