Télécharger clim3d.dgibi

Retour à la liste

Numérotation des lignes :

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

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