Télécharger sinebum_fmm2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : sinebum_fmm2.dgibi
  2. *********************************************************************
  3. * *
  4. * SINE-SHAPED BUMP *
  5. * *
  6. * CALCUL DE L ECOULEMENT SUBSONIQUE ISENTROPIQUE STATIONNAIRE DANS *
  7. * UN CANAL *
  8. * *
  9. * Methode implicite sans matrice *
  10. * *
  11. * BECCANTINI A., SFME/LTMF, MAI 2002 *
  12. * *
  13. * JANVIER 2003: *
  14. * Boundary conditions imposed on the border without using ghost *
  15. * cells. *
  16. * Boundary conditions correctly taken into account into the *
  17. * explicit and implicit part. *
  18. * They are not recomputed at each Jacobi iteration. *
  19. * *
  20. *********************************************************************
  21.  
  22. TYEL = 'QUA4' ;
  23.  
  24. 'OPTION' 'DIME' 2 'ELEM' TYEL 'ISOV' 'SULI'
  25. 'ECHO' 0 'TRAC' 'X' ;
  26.  
  27.  
  28. GRAPH = VRAI ;
  29. GRAPH = FAUX ;
  30.  
  31. ******************
  32. ******************
  33. ******************
  34. **** MAILLAGE ****
  35. ******************
  36. ******************
  37. ******************
  38. ******************
  39. *
  40. *
  41.  
  42. RAF = 2 ;
  43.  
  44. NY = 5 '*' RAF ;
  45. NX1 = 4 '*' RAF ;
  46. NX2 = 2 '*' NX1 ;
  47. NX3 = NX1 ;
  48. NX = (NX1 '+' NX2 '+' NX3) ;
  49. DX = (4.0 '/' NX) ;
  50.  
  51. A0 = -2.0 0.0 ;
  52. A1 = -1.0 0.0 ;
  53. A2 = 1.0 0.0 ;
  54. A3 = 2.0 0.0 ;
  55. A4 = 2.0 1.0 ;
  56. A5 = -2.0 1.0 ;
  57.  
  58. *
  59. **** LIGB
  60. *
  61.  
  62. LIGB1 = A0 'DROIT' NX1 A1 ;
  63.  
  64. * LIGB2 (On utilise un propriete de 'ET' ; si 'ET' change ?)
  65.  
  66. xcel = ('COORDONNEE' 1 A1) '+' DX ;
  67. ycel = 0.1 '*' ( 1.0 '+' ('COS' (180 '*' xcel)));
  68. ACEL = xcel ycel ;
  69. LIGB2 = A1 'DROIT' 1 ACEL ;
  70. 'REPETER' BL1 (NX2 '-' 2) ;
  71. ACEL0 = ACEL ;
  72. xcel = xcel '+' DX ;
  73. ycel = 0.1 '*' ( 1.0 '+' ('COS' (180 '*' xcel)));
  74. ACEL = xcel ycel ;
  75. LIGB2 = LIGB2 'ET' (ACEL0 'DROIT' 1 ACEL) ;
  76. 'FIN' BL1;
  77. LIGB2 = LIGB2 'ET' (ACEL 'DROIT' 1 A2) ;
  78.  
  79.  
  80. LIGB3 = A2 'DROIT' NX3 A3 ;
  81.  
  82. LIGB = LIGB1 'ET' LIGB2 'ET' LIGB3 ;
  83.  
  84. *
  85. **** LIGH
  86. *
  87.  
  88. LIGH = A4 'DROIT' NX A5 ;
  89.  
  90. *
  91. **** DOMINT
  92. *
  93.  
  94. DOMINT = LIGH 'REGLER' NY ('INVERSE' LIGB) ;
  95. LIGCON = 'CONTOUR' DOMINT ;
  96.  
  97. *
  98. *** LIGG
  99. *
  100.  
  101. LIGG = LIGCON 'ELEM' 'COMP' A5 A0 ;
  102.  
  103. *
  104. **** LIGD
  105. *
  106.  
  107. LIGD = LIGCON 'ELEM' 'COMP' A3 A4 ;
  108.  
  109. *
  110. **** Creation of MODELS
  111. *
  112.  
  113. MDOMINT = 'MODELISER' DOMINT 'EULER' ;
  114. MLIGG = 'MODELISER' LIGG 'EULER' ;
  115. MLIGD = 'MODELISER' LIGD 'EULER' ;
  116.  
  117. *
  118. **** Creation of DOMAINE tables via the MODEL object
  119. *
  120.  
  121. TDOMINT = 'DOMA' MDOMINT 'VF' ;
  122. TLIGG = 'DOMA' MLIGG 'VF' ;
  123. TLIGD = 'DOMA' MLIGD 'VF' ;
  124.  
  125. QDOMINT = TDOMINT . 'QUAF' ;
  126. QLIGD = TLIGD . 'QUAF' ;
  127. QLIGG = TLIGG . 'QUAF' ;
  128.  
  129. 'ELIMINATION' QDOMINT (1.0D-3 '/' RAF) QLIGG ;
  130. 'ELIMINATION' QDOMINT (1.0D-3 '/' RAF) QLIGD ;
  131.  
  132. 'SI' GRAPH ;
  133. 'TRACER' DOMINT 'TITRE' 'Domaine' ;
  134. 'FINSI' ;
  135.  
  136. ***************************************************************
  137. ***************************************************************
  138. ***************************************************************
  139. ************** Initial conditions *****************************
  140. ***************************************************************
  141. ***************************************************************
  142. ***************************************************************
  143.  
  144. GAMAIR = 1.4 ;
  145. RO = 1.4 ;
  146. P = 1.0 ;
  147. U = 0.5;
  148.  
  149.  
  150. ***************************************************************
  151. ***************************************************************
  152. ***************************************************************
  153. ************** Boundary Conditions ****************************
  154. ***************************************************************
  155. ***************************************************************
  156. ***************************************************************
  157. * Subsonic inlet.
  158. * We impose the total enthalpy and the entropy.
  159. * The velocity direction is supposed to be 90 degrees
  160. *
  161. HTIN = (GAMAIR '/' (GAMAIR '-' 1.0)) '*' P ;
  162. ECIN = 0.5 '*' RO '*' U '*' U ;
  163. HTIN = HTIN '+' ECIN ;
  164. HTIN = HTIN '/' RO ;
  165. SINL = P '/' (RO '**' GAMAIR) ;
  166.  
  167. CHPINL = 'MANUEL' 'CHPO' ('DOMA' MLIGG 'CENTRE') 2 'HT' HTIN
  168. 'S' sinl ;
  169.  
  170.  
  171. * Subsonic outlet
  172. * We impose the pressure
  173. *
  174.  
  175. CHPOUT = 'MANUEL' 'CHPO' ('DOMA' MLIGD 'CENTRE') 1 'PN' P ;
  176.  
  177. ***************************************************************
  178. ***** PROCEDURE POUR CALCULER LES VARIABLES CONSERVATIVES *****
  179. ***************************************************************
  180.  
  181. 'DEBPROC' CONS ;
  182. 'ARGUMENT' RN*'CHPOINT' VN*'CHPOINT' PN*'CHPOINT' GAMN*'CHPOINT' ;
  183.  
  184. RVN = RN '*' VN ('MOTS' 'SCAL' 'SCAL') ('MOTS' 'UX' 'UY')
  185. ('MOTS' 'UX' 'UY') ;
  186. CELL = 'PSCAL' RVN VN ('MOTS' 'UX' 'UY') ('MOTS' 'UX' 'UY') ;
  187. RECIN = 0.5 '*' CELL ;
  188. REIN = PN '/' (GAMN '-' 1.0) ;
  189. RETN = RECIN '+' REIN ;
  190.  
  191. DETR CELL ;
  192. DETR RECIN ;
  193. DETR REIN ;
  194. 'RESPRO' RVN RETN ;
  195.  
  196. 'FINPROC' ;
  197.  
  198. ***************************************************************
  199. ***************************************************************
  200. ***************************************************************
  201.  
  202. RN0 = 'MANU' 'CHPO' ('DOMA' MDOMINT 'CENTRE') 1 'SCAL' ro
  203. 'NATURE' 'DISCRET' ;
  204.  
  205. VN0 = 'MANU' 'CHPO' ('DOMA' MDOMINT 'CENTRE') 2 'UX' u
  206. 'UY' 0.0 'NATURE' 'DISCRET' ;
  207.  
  208. PN0 = 'MANU' 'CHPO' ('DOMA' MDOMINT 'CENTRE') 1 'SCAL' p
  209. 'NATURE' 'DISCRET' ;
  210.  
  211. GAMN = 'MANU' 'CHPO' ('DOMA' MDOMINT 'CENTRE') 1 'SCAL' GAMAIR
  212. 'NATURE' 'DISCRET' ;
  213.  
  214. GN0 RETN0 = CONS RN0 VN0 PN0 GAMN ;
  215.  
  216. VN1 PN1 = 'PRIM' 'PERFMONO' RN0 GN0 RETN0 GAMN ;
  217.  
  218. ERRO = 'MAXIMUM' (PN1 '-' PN0) 'ABS' ;
  219.  
  220. 'SI' (ERRO > 1.0D-6) ;
  221. 'MESSAGE' 'Problem in the ic file!!!'
  222. 'ERREUR' 5 ;
  223. 'FINSI' ;
  224.  
  225. *
  226. **** Plot of IC
  227. *
  228.  
  229. MOD1 = 'MODELISER' ('DOMA' MDOMINT 'MAILLAGE' ) 'THERMIQUE';
  230.  
  231. 'SI' FAUX ;
  232.  
  233. CHM_RN = 'KCHA' MDOMINT 'CHAM' RN0 ;
  234. CHM_PN = 'KCHA' MDOMINT 'CHAM' PN0 ;
  235. CHM_VN = 'KCHA' MDOMINT 'CHAM' VN0 ;
  236.  
  237. 'TRACER' CHM_RN MOD1
  238. 'TITR' ('CHAINE' 'RN at t=' 0.0);
  239. 'TRACER' CHM_PN MOD1
  240. 'TITR' ('CHAINE' 'PN at t=' 0.0);
  241. 'TRACER' CHM_VN MOD1
  242. 'TITR' ('CHAINE' 'MACHN at t=' 0.0);
  243.  
  244. 'FINSI' ;
  245.  
  246. MOTRN = 'RN' ;
  247. MOTGNX = 'RUX' ;
  248. MOTGNY = 'RUY' ;
  249. MOTGN = 'MOTS' MOTGNX MOTGNY ;
  250. MOTVNX = 'UX' ;
  251. MOTVNY = 'UY' ;
  252. MOTVN = 'MOTS' MOTVNX MOTVNY ;
  253. MOTRETN = 'RETN' ;
  254. MOTPN = 'PN' ;
  255.  
  256. LISTINCO = 'MOTS' MOTRN MOTGNX MOTGNY MOTRETN ;
  257. LISTPRIM = 'MOTS' MOTRN MOTVNX MOTVNY MOTPN ;
  258.  
  259. **********************************************************
  260. **********************************************************
  261. **********************************************************
  262. ************** COMPUTATION OF THE SOLUTION ***************
  263. **********************************************************
  264. **********************************************************
  265. **********************************************************
  266. **********************************************************
  267.  
  268. ZERO = 1.0D-8 ;
  269.  
  270. *
  271. **** Parameter for the computations
  272. *
  273. *
  274.  
  275. * Upwind scheme
  276. METO = 'VLH' ;
  277. * METO = 'SS' ;
  278. * METO = 'GODUNOV' ;
  279. * METO = 'AUSMPLUS' ;
  280.  
  281. * Reconstruction
  282. * Iterations
  283. * Final time
  284.  
  285. LOGREC = VRAI ;
  286. NITER = 1000 ;
  287. TFINAL = 10000.0D0 ;
  288.  
  289. * Overcoming of LCB (freezing of limiters)
  290. NLCB = 4000 ;
  291. TYPELIM = 'NOLIMITE' ;
  292. * TYPELIM = 'LIMITEUR' ;
  293. *
  294. * Safety Factor fot the time step
  295. * If SAFFAC < SAFFACM, then each FSAF-th iteration we compute
  296. * SAFFAC = SAFFAC * 2 ;
  297. *
  298. SAFFAC = 10. ;
  299. SAFFACM = 20. ;
  300. FSAF = 400 ;
  301.  
  302. * Jacobi iterations
  303.  
  304. NJAC = 15 ;
  305. EPSJAC = 1.0D-16 ;
  306.  
  307.  
  308. RN = 'COPIER' RN0 ;
  309. GN = 'COPIER' GN0 ;
  310. RETN = 'COPIER' RETN0 ;
  311.  
  312. *
  313. **** Coeff to compute gradients
  314. * Boundary conditions have to be taken into account
  315. *
  316.  
  317. SCALBC = 'MANUEL' 'CHPO' (('DOMA' MLIGD 'CENTRE') 'ET'
  318. ('DOMA' MLIGG 'CENTRE')) 1 'SCAL' 1.0 ;
  319. VECTBC = 'MANUEL' 'CHPO' (('DOMA' MLIGD 'CENTRE') 'ET'
  320. ('DOMA' MLIGG 'CENTRE')) 2 'UX' 1.0 'UY' 1.0 ;
  321.  
  322. VN PN = 'PRIM' 'PERFMONO' RN GN RETN GAMN ;
  323. GRADRN ALRN MCHRNC = 'PENT' MDOMINT 'CENTRE' 'EULESCAL' TYPELIM
  324. ('MOTS' 'SCAL') RN 'CLIM' SCALBC ;
  325. GRADPN ALPN MCHPNC = 'PENT' MDOMINT 'CENTRE' 'EULESCAL' TYPELIM
  326. ('MOTS' 'SCAL') PN 'CLIM' SCALBC ;
  327. GRADVN ALVN MCHVNC = 'PENT' MDOMINT 'CENTRE' 'EULEVECT' TYPELIM
  328. ('MOTS' 'UX' 'UY') VN 'CLIM' VECTBC ;
  329.  
  330. *
  331.  
  332. TPS = 0.0 ;
  333.  
  334. *
  335. **** Temporal loop
  336. *
  337.  
  338. 'MESSAGE' ;
  339. 'MESSAGE' ('CHAINE' 'Methode = ' METO) ;
  340. 'MESSAGE' ('CHAINE' 'SAFFAC = ' SAFFAC) ;
  341. 'MESSAGE' ;
  342.  
  343. LISTLINF = 'PROG' ;
  344. LISTTPS = 'PROG' ;
  345. LISTITER = 'PROG' ;
  346.  
  347. 'TEMPS' ;
  348.  
  349. 'REPETER' BL1 NITER ;
  350.  
  351. *
  352. **** Primitive variables
  353. *
  354.  
  355. VN PN = 'PRIM' 'PERFMONO' RN GN RETN GAMN ;
  356.  
  357. *
  358. *** Boundary conditions
  359. * Subsonic inlet and subsonic outlet
  360. *
  361.  
  362. RCHLIM1 RESLIM1 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI'
  363. MDOMINT MLIGG LISTINCO LISTPRIM
  364. RN VN PN GAMN CHPINL 'INSU' ;
  365.  
  366. RCHLIM2 RESLIM2 = 'KONV' 'VF' 'PERFMONO' 'CLIM' 'RESI'
  367. MDOMINT MLIGD LISTINCO LISTPRIM
  368. * RN VN PN GAMN CHPOUT 'OUTP' ;
  369. RN VN PN GAMN CHPOUT 'OUTP' ;
  370.  
  371. * RCHLIM = primitive variables on the boundary
  372. * RCHRESL = contribution of boundary conditions to the residuum
  373.  
  374. RESLIM = RESLIM1 '+' RESLIM2 ;
  375. RCHLIM = RCHLIM1 '+' RCHLIM2 ;
  376. MAILLIM = 'EXTR' RCHLIM 'MAILLAGE' ;
  377.  
  378. *
  379.  
  380. 'SI' LOGREC ;
  381. GRADRN ALRN = 'PENT' MDOMINT 'CENTRE' 'EULESCAL' TYPELIM
  382. ('MOTS' 'SCAL') RN
  383. 'CLIM' ('EXCO' MOTRN RCHLIM 'SCAL') 'GRADGEO' MCHRNC ;
  384. GRADPN ALPN = 'PENT' MDOMINT 'CENTRE' 'EULESCAL' TYPELIM
  385. ('MOTS' 'SCAL') PN
  386. 'CLIM' ('EXCO' MOTPN RCHLIM 'SCAL') 'GRADGEO' MCHPNC ;
  387. GRADVN ALVN = 'PENT' MDOMINT 'CENTRE' 'EULEVECT' TYPELIM
  388. ('MOTS' 'UX' 'UY') VN
  389. 'CLIM' ('EXCO' MOTVN RCHLIM MOTVN) 'GRADGEO' MCHVNC ;
  390.  
  391. 'SI' (&BL1 < NLCB) ;
  392. * Limiters zero on ghost cells
  393. ALRN0 = 'COPIER' ALRN ;
  394. ALPN0 = 'COPIER' ALPN ;
  395. ALVN0 = 'COPIER' ALVN ;
  396. 'SINON' ;
  397. 'SI' (&BL1 'EGA' NLCB) ;
  398. 'MESSAGE' ;
  399. 'MESSAGE' 'On gele les limiteurs!!!' ;
  400. 'MESSAGE' ;
  401. 'FINSI' ;
  402. 'FINSI' ;
  403.  
  404. ROF VITF PF GAMF = 'PRET' 'PERFMONO' 2 1
  405. MDOMINT
  406. RN GRADRN ALRN0
  407. VN GRADVN ALVN0
  408. PN GRADPN ALPN0
  409. GAMN ;
  410. 'SINON' ;
  411. ROF VITF PF GAMF = 'PRET' 'PERFMONO' 1 1
  412. MDOMINT
  413. RN VN PN GAMN ;
  414. 'FINSI' ;
  415.  
  416.  
  417. RESIDU DELTAT = 'KONV' 'VF' 'PERFMONO' 'RESI' METO
  418. MDOMINT LISTINCO ROF VITF PF GAMF MAILLIM ;
  419.  
  420. RESIDU = RESIDU '+' RESLIM ;
  421.  
  422. *
  423. *** Time step
  424. *
  425.  
  426. DTPS = DELTAT '*' SAFFAC ;
  427. DTPS = 'MINIMUM' ('PROG' DTPS ((TFINAL '-' TPS) '*' 1.0001)) ;
  428. TPS = TPS '+' DTPS ;
  429.  
  430. *
  431. *** JACOBI
  432. *
  433.  
  434. RNL0 = 'COPIER' RN ;
  435. GNL0 = 'COPIER' GN ;
  436. RETNL0 = 'COPIER' RETN ;
  437.  
  438. *
  439. *** We do take into account the boundary conditions into 'AN' and
  440. * 'BN'
  441.  
  442. ANI = 'KONV' 'VF' 'PMONOFMM' 'AN' LISTINCO
  443. MDOMINT RN GN RETN GAMN SAFFAC 'CLIM' LISTPRIM RCHLIM ;
  444.  
  445. BNI = 'KONV' 'VF' 'PMONOFMM' 'BN' LISTINCO
  446. MDOMINT RN GN RETN GAMN 'CLIM' LISTPRIM RCHLIM ;
  447.  
  448. UNSANI = ('INVERSE' ANI) ;
  449.  
  450. DUN = UNSANI '*' RESIDU ;
  451.  
  452. DRN = 'EXCO' MOTRN DUN 'SCAL' ;
  453. DGN = 'EXCO' MOTGN DUN MOTVN ;
  454. DRETN = 'EXCO' MOTRETN DUN 'SCAL' ;
  455.  
  456. RN = RNL0 '+' DRN ;
  457. GN = GNL0 '+' DGN ;
  458. RETN = RETNL0 '+' DRETN ;
  459.  
  460. 'REPETER' BLJAC NJAC ;
  461.  
  462. DUN0 = DUN ;
  463.  
  464. BNP1 = 'KONV' 'VF' 'PMONOFMM' 'BN' LISTINCO
  465. MDOMINT RN GN RETN GAMN 'CLIM' LISTPRIM RCHLIM ;
  466.  
  467. RESP1 = RESIDU '+' (BNI '-' BNP1) ;
  468.  
  469. DUN = UNSANI '*' RESP1 ;
  470.  
  471. DRN = 'EXCO' MOTRN DUN 'SCAL' ;
  472. DGN = 'EXCO' MOTGN DUN MOTVN ;
  473. DRETN = 'EXCO' MOTRETN DUN 'SCAL' ;
  474.  
  475. RN = RNL0 '+' DRN ;
  476. GN = GNL0 '+' DGN ;
  477. RETN = RETNL0 '+' DRETN ;
  478.  
  479. ERRINF = 'MAXIMUM' (DUN '-' DUN0) 'ABS' ;
  480.  
  481. 'SI' (ERRINF < EPSJAC) ;
  482. 'MESSAGE'
  483. ('CHAINE' 'ITER =' &BL1 ' IJAC =' &BLJAC ' LINF =' ERRINF) ;
  484. 'QUITTER' BLJAC ;
  485. 'SINON' ;
  486. 'SI' (&BLJAC 'EGA' NJAC) ;
  487. 'MESSAGE' ('CHAINE' 'ITER =' &BL1
  488. ' IJAC =' &BLJAC ' LINF =' ERRINF) ;
  489. 'FINSI' ;
  490. 'FINSI' ;
  491.  
  492. 'FIN' BLJAC ;
  493.  
  494. 'SI' (((&BL1 '/' 20) '*' 20) 'EGA' &BL1) ;
  495. ERRINF = 'MAXIMUM' DUN 'ABS' ;
  496. LISTLINF = LISTLINF 'ET' ('PROG' ERRINF) ;
  497. LISTITER = LISTITER 'ET' ('PROG' &BL1) ;
  498. LISTTPS = LISTTPS 'ET' ('PROG' TPS) ;
  499. 'MESSAGE' ;
  500. 'MESSAGE'
  501. ('CHAINE' 'ITER =' &BL1 ' TPS =' TPS ' LINF =' ERRINF) ;
  502. 'MESSAGE' ;
  503. 'FINSI' ;
  504.  
  505. 'SI' (((&BL1 '/' FSAF) '*' FSAF) 'EGA' &BL1) ;
  506. 'SI' (SAFFAC < SAFFACM) ;
  507. SAFFAC = SAFFAC '*' 2 ;
  508. 'MESSAGE' ;
  509. 'MESSAGE' ('CHAINE' 'SAFFAC = ' SAFFAC) ;
  510. 'MESSAGE' ;
  511. 'FINSI' ;
  512. 'FINSI' ;
  513.  
  514. 'SI' (TPS '>EG' TFINAL) ;
  515. 'QUITTER' BL1 ;
  516. 'FINSI' ;
  517.  
  518. 'FIN' BL1 ;
  519.  
  520. 'TEMPS' ;
  521.  
  522. SI GRAPH ;
  523.  
  524. **********************************************************
  525. **********************************************************
  526. **********************************************************
  527. ************** PLOTS *************************************
  528. **********************************************************
  529. **********************************************************
  530. **********************************************************
  531. **********************************************************
  532.  
  533. *
  534. **** The mesh
  535. *
  536.  
  537. 'TRACER' DOMINT 'TITR' 'Maillage' ;
  538.  
  539. *
  540. **** Initial conditions
  541. *
  542.  
  543. MOD1 = 'MODELISER' ('DOMA' MDOMINT 'MAILLAGE') 'THERMIQUE' ;
  544.  
  545. 'SI' VRAI ;
  546.  
  547. VN PN0 = 'PRIM' 'PERFMONO'
  548. RN0 GN0 RETN0 GAMN 'TRICHE' ;
  549.  
  550. CHM_RN = 'KCHA' MDOMINT 'CHAM' RN0 ;
  551. CHM_VN = 'KCHA' MDOMINT 'CHAM' VN ;
  552. CHM_PN = 'KCHA' MDOMINT 'CHAM' PN0 ;
  553.  
  554. 'TRAC' CHM_RN MOD1 ('CONTOUR' DOMINT)
  555. 'TITR' ('CHAINE' 'rho at t=' 0.0) ;
  556. 'TRAC' CHM_VN MOD1 ('CONTOUR' DOMINT)
  557. 'TITR' ('CHAINE' 'v at t= ' 0.0) ;
  558. 'TRAC' CHM_PN MOD1 ('CONTOUR' DOMINT)
  559. 'TITR' ('CHAINE' 'p at t= ' 0.0) ;
  560.  
  561. 'FINSI' ;
  562.  
  563. *
  564. **** The 2D graphics
  565. *
  566.  
  567. VN PN = 'PRIM' 'PERFMONO' RN GN RETN GAMN 'TRICHE' ;
  568. CN2 = GAMN '*' (PN '/' RN) ;
  569. VN2 = 'PSCAL' VN VN MOTVN MOTVN ;
  570. MACHN2 = VN2 '/' CN2 ;
  571. MACHN = MACHN2 '**' 0.5 ;
  572.  
  573. 'SI' ('EGA' ('TYPE' TPS) 'CHPOINT') ;
  574. tps = 'MINIMUM' TPS ;
  575. 'FINSI' ;
  576.  
  577. 'SI' VRAI ;
  578.  
  579.  
  580. CHM_RN = 'KCHA' MDOMINT 'CHAM' RN ;
  581. CHM_VN = 'KCHA' MDOMINT 'CHAM' VN ;
  582. CHM_PN = 'KCHA' MDOMINT 'CHAM' PN ;
  583. CHM_MN = 'KCHA' MDOMINT 'CHAM' MACHN ;
  584.  
  585. 'TRAC' CHM_RN MOD1 ('CONTOUR' DOMINT)
  586. 'TITR' ('CHAINE' 'rho at t=' TPS) ;
  587. 'TRAC' CHM_VN MOD1 ('CONTOUR' DOMINT)
  588. 'TITR' ('CHAINE' 'v at t= ' TPS) ;
  589. 'TRAC' CHM_PN MOD1 ('CONTOUR' DOMINT)
  590. 'TITR' ('CHAINE' 'p at t= ' TPS) ;
  591. 'TRAC' CHM_MN MOD1 ('CONTOUR' DOMINT)
  592. 'TITR' ('CHAINE' 'Mach at t= ' TPS) ;
  593.  
  594. 'FINSI' ;
  595.  
  596. everr = 'EVOL' 'MANU' 'niter' LISTITER 'Log(Linf)'
  597. (('LOG' LISTLINF) '/' ('LOG' 10.)) ;
  598. 'DESSIN' everr 'TITRE' ('CHAINE' 'Convergence at ' tps) ;
  599.  
  600. 'FINSI' ;
  601.  
  602. *
  603. **** Test de convergence
  604. *
  605.  
  606. AA = 'EXTRAIRE' LISTLINF ('DIME' LISTLINF) ;
  607.  
  608. 'SI' (AA > 1.0D-8) ;
  609. 'MESSAGE' 'Probleme en KONV' ;
  610. * 'ERREUR' 5 ;
  611. 'FINSI' ;
  612.  
  613. *
  614. *** Production d'entropie
  615. *
  616.  
  617. SN0 = ('LOG' PN0) '-' (GAMN * ('LOG' RN0)) ;
  618. SN0 = 'EXP' SN0 ;
  619.  
  620. SN = ('LOG' PN) '-' (GAMN * ('LOG' RN)) ;
  621. SN = 'EXP' SN ;
  622.  
  623. ERR = SN '-' SN0 ;
  624. CH_ERR = 'KCHA' MDOMINT 'CHAM' ERR ;
  625.  
  626. 'SI' GRAPH ;
  627. 'OPTION' 'ISOV' 'SULI' ;
  628. 'TRAC' CH_ERR MOD1 ('CONTOUR' DOMINT)
  629. 'TITR' ('CHAINE' 'Delta s at t=' TPS) ;
  630. 'FINSI' ;
  631.  
  632. AA = 'MAXIMUM' ERR 'ABS' ;
  633.  
  634. 'SI' (AA > 1.0d-2) ;
  635. 'MESSAGE' 'Probleme en KONV' ;
  636. * 'ERREUR' 5 ;
  637. 'FINSI' ;
  638.  
  639. 'FIN' ;
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  

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