Télécharger tube_multi_ther.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : tube_multi_ther.dgibi
  2. ******************************************************************
  3. * Calcul du tube a choc; CAS MULTIESPECE *
  4. * GAZ multi-especes "calorically perfect", *
  5. * avec le modele "thermally perfect" *
  6. * *
  7. * *
  8. * FORMULATION VF COMPRESSIBLE EXPLICITE *
  9. * SOLVEUR: Van Leer - Hanel *
  10. * *
  11. * A. BECCANTINI TTMF DECEMBRE 1998 *
  12. ******************************************************************
  13.  
  14. 'MESSAGE' 'A mettre à jour' ;
  15. 'FIN' ;
  16.  
  17. 'OPTION' 'DIME' 2 ;
  18. 'OPTION' 'ELEM' 'QUA4' ;
  19. 'OPTION' 'ISOV' 'SULI' ;
  20. 'OPTION' 'ECHO' 0 ;
  21. 'OPTION' 'TRAC' 'X';
  22.  
  23. * GRAPH = VRAI ;
  24. GRAPH = FAUX ;
  25.  
  26. *
  27. *** Methodes possibles :
  28. *
  29. * 'VLH '
  30. *
  31.  
  32. METO = 'VLH' ;
  33. * METO = 'CG' ;
  34.  
  35. *****************************************************
  36. *****************************************************
  37. ** PROCEDURE EXEX POUR FORMULATION VF COMPRESSIBLE **
  38. ** CAS MULTIESPECES "THERMALLY PERFECT" **
  39. *****************************************************
  40. *****************************************************
  41.  
  42. 'DEBPROC' EXEX ;
  43. 'ARGUMENT' RV*TABLE ;
  44.  
  45. *******************************************
  46. **** Recherche de RV . *KONV . IDEUL ****
  47. *******************************************
  48.  
  49. *
  50. **** Nom de la table RV . *'KONV' -> NOMT
  51. *
  52.  
  53. NBOP = 'DIME' (RV . 'LISTOPER' ) ;
  54.  
  55. 'REPETER' BL1 NBOP;
  56. MCEL = 'EXTRAIRE' &BL1 RV . 'LISTOPER';
  57. 'SI' ( 'EGA' MCEL 'KONV ');
  58. NOMT = 'MOT' ('TEXTE' ('CHAINE' &BL1 MCEL));
  59. 'QUITTER' BL1;
  60. 'FINSI' ;
  61. 'FIN' BL1;
  62.  
  63. IEUL = RV . NOMT . 'KOPT' . 'IDEUL';
  64. 'SI' ('NON' (IEUL 'EGA' 3));
  65. 'MESSAGE' 'EULERMST ???';
  66. 'ERREUR' 21;
  67. 'FINSI' ;
  68.  
  69. * Mono-espece ou multi-especes
  70.  
  71. 'SI' ('EXISTE' (RV . NOMT) 'ARG5') ;
  72. LOGMUL = VRAI ;
  73. 'SINON' ;
  74. LOGMUL = FAUX ;
  75. 'FINSI' ;
  76.  
  77. *
  78. **** CL
  79. *
  80.  
  81.  
  82. LOGLIM = RV . 'INCO' . 'CLIM' ;
  83.  
  84.  
  85. ******************************************
  86. **** Ordre en espace, ordre en temps ****
  87. ******************************************
  88.  
  89. ORD_ESP = RV . 'ORDREESP' ;
  90. ORD_TPS = RV . 'ORDRETPS' ;
  91.  
  92. 'MESSAGE' '--------------------------';
  93. 'MESSAGE' 'Ordre en Espace :' ord_esp;
  94. 'MESSAGE' 'Ordre en Temps :' ord_tps;
  95. 'MESSAGE' '--------------------------';
  96.  
  97. 'SI' ((ORD_ESP 'EGA' 1) 'ET' (ORD_TPS 'EGA' 2));
  98. 'MESSAGE' ;
  99. 'MESSAGE' (CHAINE 'Ordre en Espace doit etre 2');
  100. 'MESSAGE' (CHAINE 'On impose ça.');
  101. 'MESSAGE' ;
  102. RV . 'ORDREESP' = 2 ;
  103. 'MESSAGE' ;
  104. 'MESSAGE' '--------------------------';
  105. 'MESSAGE' 'Ordre en Espace :' ord_esp;
  106. 'MESSAGE' 'Ordre en Temps :' ord_tps;
  107. 'MESSAGE' '--------------------------';
  108. 'FINSI' ;
  109.  
  110.  
  111. ******************************
  112. **** La table 'PASDETPS' ****
  113. ******************************
  114.  
  115. TPSI = RV . 'TPSI' ;
  116. TFIN = RV . 'TFINAL';
  117. RV . 'PASDETPS' . 'TPS' = TPSI;
  118.  
  119. *
  120. **** DELTAT-1 est un argument de PRET (prediction)
  121. * Donc on doit l'initialiser.
  122. *
  123.  
  124. RV . 'PASDETPS' . 'DELTAT-1' = 0.0D0;
  125. CFL = rv.'ALFA' ;
  126.  
  127.  
  128. *********************
  129. **** Les TABLES *****
  130. *********************
  131.  
  132. *
  133. **** RV . 'INCO'
  134. * RV . 'DOMAINE'
  135. * RV . 'KIZD'
  136. * RV . 'KIZG'
  137.  
  138.  
  139. *
  140. **** RV . 'INCO' -> KINCO
  141. *
  142.  
  143. KINCO = (RV . 'INCO') ;
  144.  
  145.  
  146. *
  147. **** RV . 'DOMAINE' -> KDOMA
  148. *
  149.  
  150. *KDOMA = (RV . 'DOMAINE') ;
  151. KDOMA = (RV . 'MODTOT') ;
  152. KDOMA2 = (RV . 'DOMAINE') ;
  153.  
  154. *
  155. **** RV . 'KIZD' contient les volumes des ELTs
  156. *
  157.  
  158. 'SI' ('NON' ('EXISTE' RV 'KIZD')) ;
  159. 'KDIA' RV ;
  160. 'FINSI' ;
  161.  
  162. *
  163. ***** RV . 'KIZG' contient les flux aux interfaces.
  164. *
  165.  
  166. 'SI' ('NON' ('EXISTE' RV 'KIZG')) ;
  167. RV . 'KIZG' = 'TABLE' 'KIZG' ;
  168. 'FINSI' ;
  169.  
  170. 'SI' LOGMUL ;
  171.  
  172. *********************************************************
  173. **** Multi-especes, boucle Sur les Pas de Temps ****
  174. *********************************************************
  175.  
  176. *
  177. **** Evaluation de coeff pour le calcule des pentes
  178. *
  179.  
  180. KINCO . 'V' KINCO . 'P' KINCO . 'T' KINCO . 'Y'
  181. KINCO . 'GAMMA' = 'PRIM' 'PERFTEMP' (KINCO . 'IPGAZ')
  182. (KINCO . 'RNI') (KINCO . 'GNI') (KINCO . 'ENI')
  183. (KINCO. 'RYNI');
  184.  
  185. GRADR ALR COEFR = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  186. (KINCO . 'RNI');
  187.  
  188. GRADP ALP COEFP = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  189. (KINCO . 'P');
  190.  
  191. GRADV ALV COEFV = 'PENT' KDOMA 'CENTRE' 'EULEVECT' 'LIMITEUR'
  192. (KINCO . 'V');
  193.  
  194. GRADY ALY COEFY = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  195. (KINCO . 'Y');
  196.  
  197.  
  198. I = 0 ;
  199.  
  200. 'REPETER' BLOC1 (RV . 'ITMA') ;
  201.  
  202. I = I + 1 ;
  203.  
  204. *
  205. ***** Les variables primitives
  206. *
  207. KINCO . 'V' KINCO . 'P' KINCO . 'T' KINCO . 'Y'
  208. KINCO . 'GAMMA' = 'PRIM' 'PERFTEMP' (KINCO . 'IPGAZ')
  209. (KINCO . 'RNI') (KINCO . 'GNI') (KINCO . 'ENI')
  210. (KINCO. 'RYNI');
  211.  
  212. 'SI' (ORD_ESP 'EGA' 1) ;
  213.  
  214. ROF VITF PF YF = 'PRET' 'PERFTEMP'
  215. ORD_ESP ORD_TPS KDOMA (KINCO . 'IPGAZ') (KINCO . 'RNI')
  216. (KINCO . 'V') (KINCO . 'P') (KINCO . 'Y') ;
  217.  
  218. 'SINON';
  219.  
  220. *
  221. ***** Ordre 2 en espace => calcul des pentes
  222. *
  223.  
  224. GRADR ALR = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  225. (KINCO . 'RNI') 'GRADGEO' COEFR ;
  226.  
  227. GRADP ALP = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  228. (KINCO . 'P') 'GRADGEO' COEFP ;
  229.  
  230. GRADV ALV = 'PENT' KDOMA 'CENTRE' 'EULEVECT' 'LIMITEUR'
  231. (KINCO . 'V') 'GRADGEO' COEFV ;
  232.  
  233. GRADY ALY = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  234. (KINCO . 'Y') 'GRADGEO' COEFY ;
  235.  
  236.  
  237. 'SI' (ORD_TPS 'EGA' 1);
  238.  
  239. ROF VITF PF YF = 'PRET' 'PERFTEMP' ORD_ESP ORD_TPS
  240. KDOMA (KINCO . 'IPGAZ')
  241. (KINCO . 'RNI') GRADR ALR
  242. (KINCO . 'V') GRADV ALV
  243. (KINCO . 'P') GRADP ALP
  244. (KINCO . 'Y') GRADY ALY ;
  245.  
  246.  
  247. 'SINON' ;
  248. *
  249. ********* Ordre 2 en temps
  250. *
  251. ROF VITF PF YF = 'PRET' 'PERFTEMP' ORD_ESP ORD_TPS
  252. KDOMA (KINCO . 'IPGAZ')
  253. (KINCO . 'RNI') GRADR ALR
  254. (KINCO . 'V') GRADV ALV
  255. (KINCO . 'P') GRADP ALP
  256. (KINCO . 'Y') GRADY ALY
  257. (KINCO . 'GAMMA')
  258. ((RV . 'PASDETPS' . 'DELTAT-1')/2.0);
  259. 'FINSI' ;
  260.  
  261. 'FINSI' ;
  262.  
  263. *
  264. *********** Creation de MCHAML de type 'FACEL' pour les
  265. * calcul de flux aux interfaces
  266.  
  267.  
  268.  
  269. KINCO . 'RNF' = ROF ;
  270. KINCO . 'VITNF' = VITF ;
  271. KINCO . 'PNF' = PF ;
  272. KINCO . 'YF' = YF ;
  273.  
  274.  
  275. *
  276. ********* Boucle sur les operateurs
  277. *
  278.  
  279. 'REPETER' BLOC2 NBOP ;
  280. NOMPER = 'EXTRAIRE' &BLOC2 (RV . 'LISTOPER');
  281. NOTABLE = 'MOT' ('TEXTE' ('CHAINE' &BLOC2 NOMPER) ) ;
  282. ('TEXTE' NOMPER) (RV . NOTABLE) ;
  283. 'FIN' BLOC2 ;
  284.  
  285. *
  286. ********* Mise a jour de la table RV . 'PASDETPS'
  287. *
  288.  
  289. 'SI' ('EXISTE' RV 'DTI');
  290. DTI = 'MINIMUM'
  291. ('PROG' ((RV . 'DTI') '/' CFL)
  292. (RV . 'PASDETPS' . 'DTCONV') );
  293. 'SINON';
  294. DTI = (RV . 'PASDETPS' . 'DTCONV');
  295. 'FINSI';
  296.  
  297. RV . 'PASDETPS' . 'DELTAT' = DTI ;
  298.  
  299. TMPS = RV . 'PASDETPS' . 'TPS';
  300. DTI0 = TFIN '-' TMPS;
  301. DTI0 = DTI0 '/' CFL;
  302.  
  303. 'SI' (DTI0 '<EG' DTI);
  304. DTI = DTI0;
  305. RV . 'PASDETPS' . 'DELTAT' = DTI ;
  306. LOGQUIT = VRAI;
  307. 'SINON' ;
  308. LOGQUIT = FAUX ;
  309. 'FINSI' ;
  310.  
  311.  
  312. *
  313. ******** On avance au pas de temps suivant
  314. *
  315. * N.B. Tn+1 = Tn + (CFL * RV . 'PASDETPS' . 'DELTAT');
  316. *
  317.  
  318. 'AVCT' RV CFL 'IMPR' (RV.'FIDT') ;
  319.  
  320. *
  321. ******** On detrui les choses qui ne servent plus
  322. *
  323. *
  324. * Les variables primitives
  325. *
  326. 'DETR' ( KINCO . 'V');
  327. 'DETR' ( KINCO . 'P');
  328. 'DETR' ( KINCO . 'T');
  329. 'DETR' ( KINCO . 'Y');
  330. 'DETR' ( KINCO . 'GAMMA');
  331. 'OUBL' KINCO 'V';
  332. 'OUBL' KINCO 'P';
  333. 'OUBL' KINCO 'T';
  334. 'OUBL' KINCO 'Y';
  335. 'OUBL' KINCO 'GAMMA';
  336. *
  337. * Les MCHAML faces
  338. *
  339. 'DETR' ROF ;
  340. 'DETR' VITF ;
  341. 'DETR' PF ;
  342. 'DETR' YF;
  343. 'OUBL' KINCO 'RNF';
  344. 'OUBL' KINCO 'VITNF';
  345. 'OUBL' KINCO 'PNF';
  346. 'OUBL' KINCO 'YF';
  347.  
  348. *
  349. * Les pentes 'ET' les limiteurs
  350. *
  351. 'SI' (ORD_ESP 'EGA' 2);
  352. 'DETR' GRADR;
  353. 'DETR' GRADP;
  354. 'DETR' GRADV;
  355. 'DETR' GRADY;
  356. 'DETR' ALR;
  357. 'DETR' ALP;
  358. 'DETR' ALV;
  359. 'DETR' ALY;
  360. 'FINSI' ;
  361.  
  362.  
  363. *
  364. ******** On impose le CL
  365. *
  366. *
  367. 'SI' LOGLIM;
  368. PROLIM RV ;
  369. 'FINSI' ;
  370.  
  371.  
  372. 'SI' LOGQUIT;
  373. 'QUITTER' BLOC1;
  374. 'FINSI';
  375.  
  376.  
  377. 'MENAGE' ;
  378.  
  379. 'FIN' BLOC1 ;
  380.  
  381. ********************************************
  382. **** FIN de Boucle Sur les Pas de Temps ***
  383. ********************************************
  384.  
  385. 'SINON' ;
  386.  
  387.  
  388. *********************************************************
  389. **** Mono-espece, boucle sur les pas de temps ****
  390. *********************************************************
  391.  
  392.  
  393. KINCO . 'V' KINCO . 'P' KINCO . 'T'
  394. KINCO . 'GAMMA' = 'PRIM' 'PERFTEMP' (KINCO . 'IPGAZ')
  395. (KINCO . 'RNI') (KINCO . 'GNI') (KINCO . 'ENI') ;
  396.  
  397.  
  398. GRADR ALR COEFR = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  399. (KINCO . 'RNI');
  400.  
  401. GRADP ALP COEFP = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  402. (KINCO . 'P');
  403.  
  404. GRADV ALV COEFV = 'PENT' KDOMA 'CENTRE' 'EULEVECT' 'LIMITEUR'
  405. (KINCO . 'V');
  406.  
  407.  
  408. I = 0 ;
  409.  
  410. 'REPETER' BLOC1 (RV . 'ITMA') ;
  411.  
  412. I = I + 1 ;
  413.  
  414. *
  415. ***** Les variables primitives
  416. *
  417. KINCO . 'V' KINCO . 'P' KINCO . 'T'
  418. KINCO . 'GAMMA' = 'PRIM' 'PERFTEMP' (KINCO . 'IPGAZ')
  419. (KINCO . 'RNI') (KINCO . 'GNI') (KINCO . 'ENI') ;
  420.  
  421. 'SI' (ORD_ESP 'EGA' 1) ;
  422.  
  423. ROF VITF PF = 'PRET' 'PERFTEMP'
  424. ORD_ESP ORD_TPS KDOMA (KINCO . 'IPGAZ') (KINCO . 'RNI')
  425. (KINCO . 'V') (KINCO . 'P') ;
  426.  
  427. 'SINON';
  428.  
  429. *
  430. ***** Ordre 2 en espace => calcul des pentes
  431. *
  432.  
  433.  
  434. GRADR ALR = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  435. (KINCO . 'RNI') 'GRADGEO' COEFR ;
  436.  
  437. GRADP ALP = 'PENT' KDOMA 'CENTRE' 'EULESCAL' 'LIMITEUR'
  438. (KINCO . 'P') 'GRADGEO' COEFP ;
  439.  
  440. GRADV ALV = 'PENT' KDOMA 'CENTRE' 'EULEVECT' 'LIMITEUR'
  441. (KINCO . 'V') 'GRADGEO' COEFV ;
  442.  
  443.  
  444. 'SI' (ORD_TPS 'EGA' 1);
  445.  
  446. ROF VITF PF = 'PRET' 'PERFTEMP' ORD_ESP ORD_TPS
  447. KDOMA (KINCO . 'IPGAZ')
  448. (KINCO . 'RNI') GRADR ALR
  449. (KINCO . 'V') GRADV ALV
  450. (KINCO . 'P') GRADP ALP ;
  451.  
  452. 'SINON' ;
  453. *
  454. ********* Ordre 2 en temps
  455. *
  456. ROF VITF PF = 'PRET' 'PERFTEMP' ORD_ESP ORD_TPS
  457. KDOMA (KINCO . 'IPGAZ')
  458. (KINCO . 'RNI') GRADR ALR
  459. (KINCO . 'V') GRADV ALV
  460. (KINCO . 'P') GRADP ALP
  461. (KINCO . 'GAMMA')
  462. ((RV . 'PASDETPS' . 'DELTAT-1')/2.0);
  463. 'FINSI' ;
  464.  
  465. 'FINSI' ;
  466.  
  467. *
  468. *********** Creation de MCHAML de type 'FACEL' pour les
  469. * calcul de flux aux interfaces
  470.  
  471.  
  472.  
  473. KINCO . 'RNF' = ROF ;
  474. KINCO . 'VITNF' = VITF ;
  475. KINCO . 'PNF' = PF ;
  476.  
  477. *
  478. ********* Boucle sur les operateurs
  479. *
  480.  
  481. 'REPETER' BLOC2 NBOP ;
  482. NOMPER = 'EXTRAIRE' &BLOC2 (RV . 'LISTOPER');
  483. NOTABLE = 'MOT' ('TEXTE' ('CHAINE' &BLOC2 NOMPER) ) ;
  484. ('TEXTE' NOMPER) (RV . NOTABLE) ;
  485. 'FIN' BLOC2 ;
  486.  
  487. *
  488. ********* Mise a jour de la table RV . 'PASDETPS'
  489. *
  490.  
  491. 'SI' ('EXISTE' RV 'DTI');
  492. DTI = 'MINIMUM'
  493. ('PROG' ((RV . 'DTI') '/' CFL)
  494. (RV . 'PASDETPS' . 'DTCONV') );
  495. 'SINON';
  496. DTI = (RV . 'PASDETPS' . 'DTCONV');
  497. 'FINSI';
  498.  
  499. RV . 'PASDETPS' . 'DELTAT' = DTI ;
  500.  
  501. TMPS = RV . 'PASDETPS' . 'TPS';
  502. DTI0 = TFIN '-' TMPS;
  503. DTI0 = DTI0 '/' CFL;
  504.  
  505. 'SI' (DTI0 '<EG' DTI);
  506. DTI = DTI0;
  507. RV . 'PASDETPS' . 'DELTAT' = DTI ;
  508. LOGQUIT = VRAI;
  509. 'SINON' ;
  510. LOGQUIT = FAUX ;
  511. 'FINSI' ;
  512.  
  513.  
  514. *
  515. ******** On avance au pas de temps suivant
  516. *
  517. * N.B. Tn+1 = Tn + (CFL * RV . 'PASDETPS' . 'DELTAT');
  518. *
  519.  
  520. 'AVCT' RV CFL 'IMPR' (RV.'FIDT') ;
  521.  
  522. *
  523. ******** On detrui les choses qui ne servent plus
  524. *
  525. *
  526. * Les variables primitives
  527. *
  528. 'DETR' ( KINCO . 'V');
  529. 'DETR' ( KINCO . 'P');
  530. 'DETR' ( KINCO . 'T');
  531. 'DETR' ( KINCO . 'GAMMA');
  532. 'OUBL' KINCO 'V';
  533. 'OUBL' KINCO 'P';
  534. 'OUBL' KINCO 'T';
  535. 'OUBL' KINCO 'GAMMA';
  536. *
  537. * Les MCHAML faces
  538. *
  539. 'DETR' ROF ;
  540. 'DETR' VITF ;
  541. 'DETR' PF ;
  542. 'OUBL' KINCO 'RNF';
  543. 'OUBL' KINCO 'VITNF';
  544. 'OUBL' KINCO 'PNF';
  545. *
  546. * Les pentes 'ET' les limiteurs
  547. *
  548. 'SI' (ORD_ESP 'EGA' 2);
  549. 'DETR' GRADR;
  550. 'DETR' GRADP;
  551. 'DETR' GRADV;
  552. 'DETR' ALR;
  553. 'DETR' ALP;
  554. 'DETR' ALV;
  555. 'FINSI' ;
  556.  
  557.  
  558. *
  559. ******** On impose le CL
  560. *
  561. *
  562. 'SI' LOGLIM;
  563. PROLIM RV ;
  564. 'FINSI' ;
  565.  
  566.  
  567. 'SI' LOGQUIT;
  568. 'QUITTER' BLOC1;
  569. 'FINSI';
  570.  
  571.  
  572. 'MENAGE' ;
  573.  
  574. 'FIN' BLOC1 ;
  575.  
  576. ********************************************
  577. **** FIN de Boucle Sur les Pas de Temps ***
  578. ********************************************
  579.  
  580. 'FINSI' ;
  581.  
  582. 'FINPROC' ;
  583.  
  584. *****************************************************
  585. *****************************************************
  586. ** FIN PROCEDURE EXEX **
  587. *****************************************************
  588. *****************************************************
  589.  
  590.  
  591. *****************************************************
  592. *****************************************************
  593. ***** PROCEDURE PROLIM *****
  594. *****************************************************
  595. *****************************************************
  596.  
  597.  
  598. *****************************************************
  599. *****************************************************
  600. ***** FIN PROCEDURE PROLIM *****
  601. *****************************************************
  602. *****************************************************
  603.  
  604.  
  605. ************
  606. * MAILLAGE *
  607. ************
  608.  
  609. RAF = 4 ;
  610. NY = RAF ;
  611. NX = 12 '*' RAF ;
  612.  
  613. L = 1.0D0 ;
  614. DX = L '/' NX '/' 2.0D0;
  615. H = NY '*' DX ;
  616.  
  617. xD = 0.5D0 '*' L ;
  618. xG = -1.0D0 '*' xD ;
  619. yH = 0.5D0 '*' H ;
  620. yB = -1.0D0 '*' yH ;
  621.  
  622. A1 = xG yB ;
  623. A2 = 0.0D0 yB ;
  624. A3 = xD yB ;
  625. A4 = xD yH ;
  626. A5 = 0.0D0 yH ;
  627. A6 = xG yH ;
  628. VECTG = XG 0.0D0 ;
  629. VECTD = XD 0.0D0 ;
  630.  
  631. xBG = xG '-' DX;
  632. XBD = xD '+' DX;
  633.  
  634. B1 = xBG yB;
  635. B2 = xBG yH;
  636. B3 = xBD yB;
  637. B4 = xBD yH;
  638.  
  639. BAS1 = A1 'DROI' NX A2 ;
  640. BAS2 = A2 'DROI' NX A3 ;
  641. HAU2 = A4 'DROI' NX A5 ;
  642. HAU1 = A5 'DROI' NX A6 ;
  643. LATG = B1 'DROI' NY B2 ;
  644. LAT1 = A1 'DROI' NY A6 ;
  645. LAT12 = A2 'DROI' NY A5 ;
  646. LAT2 = A3 'DROI' NY A4 ;
  647. LATD = B3 'DROI' NY B4 ;
  648.  
  649.  
  650. DOM1 = LAT12 'TRANSLATION' NX VECTG ;
  651.  
  652. DOM2 = LAT12 'TRANSLATION' NX VECTD ;
  653.  
  654. VECTFG = (-1.0D0 '*' DX) 0.0D0;
  655. VECTFD = DX 0.0D0;
  656.  
  657. FRONTG = LAT1 'TRANSLATION' 1 VECTFG;
  658. FRONTG = FRONTG 'COUL' ROUG ;
  659.  
  660. FRONTD = LAT2 'TRANSLATION' 1 VECTFD;
  661. FRONTD = FRONTD 'COUL' VERT ;
  662.  
  663. *
  664. *** Rotation
  665. *
  666.  
  667. ANGLE = 30.0D0;
  668. ORIG = 0.0D0 0.0D0;
  669.  
  670. 'MESSAGE';
  671. 'MESSAGE' (CHAIN 'ANGLE = ' ANGLE);
  672. 'MESSAGE';
  673.  
  674. DOM1 = DOM1 'TOURNER' ANGLE ORIG;
  675. DOM2 = DOM2 'TOURNER' ANGLE ORIG;
  676. FRONTG = FRONTG 'TOURNER' ANGLE ORIG;
  677. FRONTD = FRONTD 'TOURNER' ANGLE ORIG;
  678.  
  679. DOMINT = DOM1 'ET' DOM2 ;
  680. 'ELIMINATION' DOMINT 1D-6;
  681.  
  682. FRONT = FRONTG 'ET' FRONTD ;
  683. 'ELIMINATION' FRONT 1D-6;
  684.  
  685. DOMTOT = DOMINT 'ET' FRONT;
  686. 'ELIMINATION' DOMTOT 1D-6;
  687.  
  688. **********************
  689. *** OBJETS MODELES ***
  690. **********************
  691. MDOMTOT = 'CHANGER' DOMTOT 'QUAF' ;
  692. MDOMINT = 'CHANGER' DOMINT 'QUAF' ;
  693. MDOM1 = 'CHANGER' DOM1 'QUAF' ;
  694. MDOM2 = 'CHANGER' DOM2 'QUAF' ;
  695. MFRONTG = 'CHANGER' FRONTG 'QUAF' ;
  696. MFRONTD = 'CHANGER' FRONTD 'QUAF' ;
  697. MFRONT = 'CHANGER' FRONT 'QUAF' ;
  698. 'ELIM' (MDOMTOT 'ET' MDOMINT 'ET' MDOM1 'ET' MDOM2 'ET'
  699. MFRONTG 'ET' MFRONTD 'ET' MFRONT) 1.E-5;
  700. MDNS = 'EULER' ;
  701. $DOMTOT = 'MODE' MDOMTOT MDNS ;
  702. $DOMINT = 'MODE' MDOMINT MDNS ;
  703. $DOM1 = 'MODE' MDOM1 MDNS ;
  704. $DOM2 = 'MODE' MDOM2 MDNS ;
  705. $FRONTG = 'MODE' MFRONTG MDNS ;
  706. $FRONTD = 'MODE' MFRONTD MDNS ;
  707. $FRONT = 'MODE' MFRONT MDNS ;
  708.  
  709. *
  710. ******* Creation de la ligne Utilisée pour le Post-Traitement
  711. * reliant les points centres
  712. *
  713.  
  714. XINIT = XG '+' (0.5D0 '*' DX) ;
  715. YINIT = YB '+' (0.5D0 '*' DX) ;
  716. XFIN = XD '-' (0.5D0 '*' DX) ;
  717. YFIN = YINIT ;
  718. PINI = XINIT YINIT;
  719. PFIN = XFIN YFIN ;
  720. IAUX = (2 '*' NX) '-' 1 ;
  721. COURB = PINI 'DROIT' IAUX PFIN;
  722. COURB = COURB 'TOURNER' ANGLE ORIG;
  723. COURB = COURB 'COULEUR' 'VERT';
  724. 'ELIMINATION' 0.001 Courb ('DOMA' $DOMTOT 'CENTRE') ;
  725.  
  726. 'SI' GRAPH ;
  727. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET' COURB)
  728. 'TITRE' ('CHAINE' 'Maillage ');
  729. 'FINSI' ;
  730.  
  731.  
  732. ***********************
  733. **** LA TABLE PGAZ ****
  734. ***********************
  735.  
  736. PGAZ = 'TABLE' ;
  737.  
  738. *
  739. **** Ordre des polynoms cv_i
  740. *
  741.  
  742. PGAZ . 'NORD' = 0 ;
  743.  
  744. *
  745. **** Especes qui sont dans les equations d'Euler
  746. *
  747.  
  748. PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  749.  
  750. *
  751. **** Espece qui n'y est pas
  752. *
  753.  
  754.  
  755. PGAZ . 'ESPNEULE' = 'N2 ';
  756.  
  757. *
  758.  
  759. PGAZ . 'H2 ' = 'TABLE' ;
  760. PGAZ . 'H2O ' = 'TABLE' ;
  761. PGAZ . 'N2 ' = 'TABLE' ;
  762. PGAZ . 'O2 ' = 'TABLE' ;
  763.  
  764. *
  765. **** R (J/Kg/K)
  766. *
  767.  
  768. PGAZ . 'H2 ' . 'R' = 4130.0 ;
  769. PGAZ . 'H2O ' . 'R' = 461.4 ;
  770. PGAZ . 'N2 ' . 'R' = 296.8 ;
  771. PGAZ . 'O2 ' . 'R' = 259.8 ;
  772.  
  773.  
  774. *
  775. **** Regressions polynomials
  776. *
  777.  
  778.  
  779. *
  780. * Cas particulier: gaz "calorically perfect"
  781. *
  782.  
  783. PGAZ . 'H2 ' . 'A' = 'PROG' .14571861D+05 ;
  784. PGAZ . 'H2O ' . 'A' = 'PROG' .26589930D+04 ;
  785. PGAZ . 'N2 ' . 'A' = 'PROG' .10024563D+04 ;
  786. PGAZ . 'O2 ' . 'A' = 'PROG' .92885670D+03 ;
  787.  
  788. *
  789. **** "Enthalpies" (ou energies) de formations a OK (J/Kg)
  790. * Note: ce sont des entites numeriques
  791. * h_i = h_i(T0) '-' \int_0^{T0} cp_i(x) dx =
  792. * h_i(T0) '-' (\int_0^{T0} cv_i(x) dx '+' R_i * T0)
  793. *
  794. * Pour H2, H20, O2, N2 on a:
  795. *
  796. * T0 = 298.15
  797. *
  798.  
  799. PGAZ . 'H2 ' . 'H0K' = -4.195D6 ;
  800. PGAZ . 'H2O ' . 'H0K' = -1.395D7 ;
  801. PGAZ . 'N2 ' . 'H0K' = -2.953D5 ;
  802. PGAZ . 'O2 ' . 'H0K' = -2.634D5 ;
  803.  
  804. *
  805. *** Fin PGAZ
  806. *
  807.  
  808. *
  809. *** Etat gauche
  810. *
  811.  
  812. rog = 1.0 ;
  813. ung = 0.0 ;
  814. utg = 0.0 ;
  815. retg = .4291145555695540D+04 ;
  816. yh2g = 0.01 ;
  817. yo2g = 0.2 ;
  818. yh2og = 0.3 ;
  819.  
  820.  
  821. *
  822.  
  823. rouxg = ((ung '*' ('COS' ANGLE)) '-'
  824. (utg '*' ('SIN' ANGLE))) '*' rog ;
  825.  
  826. rouyg = ((ung '*' ('SIN' ANGLE)) '+'
  827. (utg '*' ('COS' ANGLE))) '*' rog;
  828.  
  829.  
  830. *
  831. *** Etat droite
  832. *
  833.  
  834. rod = 1.250D-1 ;
  835. und = 0.0D0 ;
  836. utd = 0.0D0 ;
  837. retd = .3598345082089522D+01 ;
  838. yh2d = 0.2 ;
  839. yo2d = 0.4 ;
  840. yh2od = 0.1 ;
  841.  
  842.  
  843. rouxd = ((und '*' ('COS' ANGLE)) '-'
  844. (utd '*' ('SIN' ANGLE))) '*' rod;
  845. rouyd = ((und '*' ('SIN' ANGLE)) '+'
  846. (utd '*' ('COS' ANGLE))) '*' rod;
  847.  
  848. *
  849. *** ro
  850. *
  851.  
  852. RO_f1 = 'KCHT' $FRONTG 'SCAL' 'CENTRE' rog ;
  853. RO_f2 = 'KCHT' $FRONTD 'SCAL' 'CENTRE' rod ;
  854. RO_f = 'KCHT' $FRONT 'SCAL' 'CENTRE' (RO_f1 'ET' RO_f2) ;
  855.  
  856. RO_i1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' rog;
  857. RO_i2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' rod;
  858. RO_i = 'KCHT' $DOMINT 'SCAL' 'CENTRE' (RO_i1 'ET' RO_i2);
  859.  
  860. RN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RO_i 'ET' RO_f) ;
  861.  
  862. *
  863. *** ro u, ro v
  864. *
  865.  
  866. GN_f1 = 'KCHT' $FRONTG 'VECT' 'CENTRE' (rouxg rouyg);
  867. GN_f2 = 'KCHT' $FRONTD 'VECT' 'CENTRE' (rouxd rouyd);
  868. GN_f = 'KCHT' $FRONT 'VECT' 'CENTRE' (GN_f1 'ET' GN_f2);
  869.  
  870. GN_i1 = 'KCHT' $DOM1 'VECT' 'CENTRE' (rouxg rouyg);
  871. GN_i2 = 'KCHT' $DOM2 'VECT' 'CENTRE' (rouxd rouyd);
  872. GN_i = 'KCHT' $DOMINT 'VECT' 'CENTRE' (GN_i1 'ET' GN_i2);
  873.  
  874. GN = 'KCHT' $DOMTOT 'VECT' 'CENTRE' (GN_i 'ET' GN_f) ;
  875.  
  876. *
  877. *** ro e
  878. *
  879.  
  880. RE_f1 = 'KCHT' $FRONTG 'SCAL' 'CENTRE' retg ;
  881. RE_f2 = 'KCHT' $FRONTD 'SCAL' 'CENTRE' retd ;
  882. RE_f = 'KCHT' $FRONT 'SCAL' 'CENTRE' (RE_f1 'ET' RE_f2) ;
  883.  
  884. RE_i1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' retg ;
  885. RE_i2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' retd ;
  886. RE_i = 'KCHT' $DOMINT 'SCAL' 'CENTRE' (RE_i1 'ET' RE_i2);
  887.  
  888. REN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RE_i ET RE_f) ;
  889.  
  890. *
  891. *** ro y
  892. *
  893.  
  894. RYH2 =('KCHT' $FRONTG 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rog '*' yh2g)) 'ET'
  895. ('KCHT' $DOM1 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rog '*' yh2g)) 'ET'
  896. ('KCHT' $FRONTD 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rod '*' yh2d)) 'ET'
  897. ('KCHT' $DOM2 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rod '*' yh2d));
  898.  
  899. RYO2 =('KCHT' $FRONTG 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rog '*' yO2g)) 'ET'
  900. ('KCHT' $DOM1 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rog '*' yO2g)) 'ET'
  901. ('KCHT' $FRONTD 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rod '*' yO2d)) 'ET'
  902. ('KCHT' $DOM2 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rod '*' yO2d));
  903.  
  904. RYH2O =('KCHT' $FRONTG 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rog '*' yH2Og))
  905. 'ET' ('KCHT' $DOM1 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rog '*' yH2Og))
  906. 'ET' ('KCHT' $FRONTD 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rod '*' yH2Od))
  907. 'ET' ('KCHT' $DOM2 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rod '*' yH2Od));
  908.  
  909. RYN = RYH2 'ET' RYO2 'ET' RYH2O ;
  910.  
  911. ********************************************************
  912. *** CREATION DE 'MODE' POUR GRAPHIQUER LE CHAMELEM ***
  913. ********************************************************
  914.  
  915. MOD1 = 'MODELISER' ('DOMA' $DOMTOT 'MAILLAGE') 'THERMIQUE' ;
  916.  
  917. *
  918. **** Les debits dans le repaire tube
  919. *
  920.  
  921. GNX = 'EXCO' 'UX' GN;
  922. GNY = 'EXCO' 'UY' GN;
  923.  
  924. GNN = (GNX * ('COS' ANGLE)) '+'
  925. (GNY * ('SIN' ANGLE));
  926.  
  927. GNT = (GNY * ('COS' ANGLE)) '-'
  928. (GNX * ('SIN' ANGLE));
  929.  
  930. *
  931. *** GRAPHIQUE DES C.I.
  932. *
  933.  
  934. 'SI' GRAPH ;
  935. * 'SI' FAUX ;
  936. *
  937. *** CREATION DE CHAMELEM
  938. *
  939.  
  940. CHM_RN = 'KCHA' $DOMTOT 'CHAM' RN ;
  941. CHM_GNN = 'KCHA' $DOMTOT 'CHAM' GNN ;
  942. CHM_GNT = 'KCHA' $DOMTOT 'CHAM' GNT ;
  943. CHM_REN = 'KCHA' $DOMTOT 'CHAM' REN ;
  944. CHM_RH2 = 'KCHA' $DOMTOT 'CHAM' RYH2 ;
  945. CHM_RO2 = 'KCHA' $DOMTOT 'CHAM' RYO2 ;
  946. CHM_RH2O = 'KCHA' $DOMTOT 'CHAM' RYH2O ;
  947. TRAC CHM_RN MOD1 'TITR' ('CHAINE' 'RO at t=' 0.0);
  948. TRAC CHM_REN MOD1 'TITR' ('CHAINE' 'ROET at t=' 0.0);
  949. TRAC CHM_GNN MOD1 'TITR' ('CHAINE' 'ROUN at t=' 0.0);
  950. TRAC CHM_GNT MOD1 'TITR' ('CHAINE' 'ROUT at t=' 0.0);
  951. TRAC CHM_RH2 MOD1 'TITR' ('CHAINE' 'RYH2 at t=' 0.0);
  952. TRAC CHM_RO2 MOD1 'TITR' ('CHAINE' 'RYO2 at t=' 0.0);
  953.  
  954.  
  955. 'FINSI' ;
  956.  
  957.  
  958. ***********************
  959. **** La table EQEX ****
  960. ***********************
  961.  
  962.  
  963. CFL = 1.4D0 ;
  964. NITER = 10000 ;
  965. TFIN = 0.0075 ;
  966.  
  967. RV = 'EQEX' ('DOMA' $DOMTOT 'TABLE') 'ITMA' NITER 'ALFA' CFL
  968. 'TPSI' 0. 'TFINAL' TFIN
  969. *
  970. ***** Option VF = volumes finis
  971. * CONS = conservative
  972. * EULERMST = euler "thermally perfect"
  973. * METO = methode
  974. *
  975. 'OPTI' 'VF' 'CONS' 'EULERMST' METO
  976. *
  977. ***** Operateur 'KONV'
  978. *
  979. 'ZONE' $DOMTOT 'OPER' 'KONV'
  980. *
  981. ***** Arguments de 'KONV' (maximum 8 chatacters)
  982. *
  983. 'IPGAZ' 'RNF' 'VITNF' 'PNF' 'YF'
  984. *
  985. ***** LIST des inconnues
  986. *
  987. 'INCO' 'RNI' 'GNI' 'ENI' 'RYNI' ;
  988.  
  989.  
  990. *
  991. *** La table RV . INCO (de soustype INCO);
  992. *
  993.  
  994. RV . 'INCO' = TABLE 'INCO' ;
  995.  
  996. *
  997. *** Stokage des inconnues des equations d'Euler.
  998. *
  999.  
  1000. RV . 'INCO' . 'RNI' = 'COPIER' RN ;
  1001. RV . 'INCO' . 'GNI' = 'COPIER' GN ;
  1002. RV . 'INCO' . 'ENI' = 'COPIER' REN ;
  1003. RV . 'INCO' . 'RYNI' = 'COPIER' RYN ;
  1004.  
  1005. *
  1006. *** Le gaz
  1007. *
  1008.  
  1009. RV . 'INCO' . 'IPGAZ' = PGAZ ;
  1010.  
  1011. *
  1012. *** CONDITIONS LIMITS
  1013. *
  1014.  
  1015. RV . 'INCO' . 'CLIM' = FAUX ;
  1016.  
  1017. *
  1018. **** Ordre en espace
  1019. * Ordre en temps
  1020. *
  1021.  
  1022. IE = 2 ;
  1023. IT = 2 ;
  1024.  
  1025. RV . 'ORDREESP' = IE ;
  1026. RV . 'ORDRETPS' = IT ;
  1027.  
  1028. *???
  1029. RV . 'MODTOT' = $DOMTOT ;
  1030.  
  1031. *
  1032. ***********************************
  1033. *** Execution EXEX ***
  1034. ***********************************
  1035. *
  1036.  
  1037.  
  1038. 'MESSAGE' ;
  1039. 'MESSAGE' '**************************';
  1040. 'MESSAGE' ('CHAINE' 'METHODE : ' METO) ;
  1041. 'MESSAGE' '**************************';
  1042. 'MESSAGE' ;
  1043.  
  1044.  
  1045.  
  1046. 'TEMPS' ;
  1047. EXEX RV ;
  1048. 'TEMPS' ;
  1049.  
  1050.  
  1051. TFIN = RV. 'PASDETPS'. 'TPS';
  1052.  
  1053. *
  1054. **** SOLUTIONS
  1055. *
  1056.  
  1057. *
  1058. **** Les variables conservatives
  1059. *
  1060.  
  1061. RN = 'COPIER' (RV . 'INCO' . 'RNI');
  1062. GN = 'COPIER' (RV . 'INCO'. 'GNI');
  1063. REN = 'COPIER' (RV . 'INCO'. 'ENI');
  1064. RYN = 'COPIER' (RV . 'INCO'. 'RYNI');
  1065.  
  1066. *
  1067. **** Les variables primitives
  1068. *
  1069.  
  1070. VN PN TN YN GAMN = 'PRIM' 'PERFTEMP' PGAZ
  1071. RN GN REN RYN ;
  1072.  
  1073. *
  1074. **** La vitesse dans le repaire tube
  1075. *
  1076.  
  1077. VNX = 'EXCO' 'UX' VN;
  1078. VNY = 'EXCO' 'UY' VN;
  1079.  
  1080. VNN = (VNX * ('COS' ANGLE)) '+'
  1081. (VNY * ('SIN' ANGLE));
  1082.  
  1083. VNT = (VNY * ('COS' ANGLE)) '-'
  1084. (VNX * ('SIN' ANGLE));
  1085.  
  1086. GNN = VNN * RN;
  1087. GNT = VNT * RN;
  1088.  
  1089. *
  1090. *** GRAPHIQUE DES SOLUTIONS
  1091. *
  1092.  
  1093. 'SI' GRAPH ;
  1094.  
  1095. *
  1096. *** CREATION DE CHAMELEM
  1097. *
  1098.  
  1099. CHM_RN = 'KCHA' $DOMTOT 'CHAM' RN;
  1100. CHM_GNN = 'KCHA' $DOMTOT 'CHAM' GNN ;
  1101. CHM_GNT = 'KCHA' $DOMTOT 'CHAM' GNT ;
  1102. CHM_REN = 'KCHA' $DOMTOT 'CHAM' REN;
  1103. TRAC CHM_RN MOD1 'TITR' ('CHAINE' 'RO at t=' TFIN);
  1104. TRAC CHM_REN MOD1 'TITR' ('CHAINE' 'ROET at t=' TFIN);
  1105. TRAC CHM_GNN MOD1 'TITR' ('CHAINE' 'ROUN at t=' TFIN);
  1106. TRAC CHM_GNT MOD1 'TITR' ('CHAINE' 'ROUT at t=' TFIN);
  1107.  
  1108. 'FINSI' ;
  1109.  
  1110. *
  1111. *** Objects evolutions
  1112. *
  1113.  
  1114. xx yy = 'COORDONNEE' Courb;
  1115. ss = 'KOPS' ('KOPS' ('COS' ANGLE) '*' xx) '+'
  1116. ('KOPS' ('SIN' ANGLE) '*' yy);
  1117.  
  1118. evxx = 'EVOL' 'CHPO' ss Courb ;
  1119. lxx = 'EXTRAIRE' evxx 'ORDO' ;
  1120.  
  1121. x0 = 'MINIMUM' lxx;
  1122. x1 = 'MAXIMUM' lxx ;
  1123.  
  1124. * ro
  1125.  
  1126. evro = 'EVOL' 'CHPO' RN Courb ;
  1127. lro = 'EXTRAIRE' evro 'ORDO' ;
  1128. evro = 'EVOL' 'MANU' 'x' lxx 'ro' lro;
  1129. tro = CHAINE '1D ' METO ' : RO IT ' IT ' IE ' IE
  1130. ' tmps ' TFIN ' elem ' 'QUA4' ;
  1131.  
  1132. * u
  1133.  
  1134. evu = 'EVOL' 'CHPO' VNN Courb ;
  1135. lu = 'EXTRAIRE' evu 'ORDO' ;
  1136. evu = 'EVOL' 'MANU' 'x' lxx 'u' lu ;
  1137. tu = CHAINE '1D ' METO ' : U IT ' IT ' IE ' IE
  1138. ' tmps ' TFIN ' elem ' 'QUA4' ;
  1139.  
  1140. * v
  1141.  
  1142. evv = 'EVOL' 'CHPO' VNT Courb ;
  1143. lv = 'EXTRAIRE' evv 'ORDO' ;
  1144. evv = 'EVOL' 'MANU' 'x' lxx 'v' lv ;
  1145. tv = CHAINE '1D ' METO ' : V IT ' IT ' IE ' IE
  1146. ' tmps ' TFIN ' elem ' 'QUA4' ;
  1147.  
  1148. 'SI' GRAPH ;
  1149. 'DESSIN' evv 'TITRE' tv 'XBOR' x0 x1;
  1150. 'FINSI' ;
  1151.  
  1152. * p
  1153.  
  1154. evp = 'EVOL' 'CHPO' PN Courb ;
  1155. lp = 'EXTRAIRE' evp 'ORDO' ;
  1156. evp = 'EVOL' 'MANU' 'x' lxx 'p' lp ;
  1157. tp = CHAINE '1D ' METO ' : P IT ' IT ' IE ' IE
  1158.  
  1159. ' tmps ' TFIN ' elem ' 'QUA4' ;
  1160. * gamma
  1161.  
  1162. evgam = 'EVOL' 'CHPO' GAMN Courb ;
  1163. lgam = 'EXTRAIRE' evgam 'ORDO' ;
  1164. evgam = 'EVOL' 'MANU' 'x' lxx 'gamma' lgam ;
  1165. tgam = CHAINE '1D ' METO ' : GAMMA IT ' IT ' IE ' IE
  1166. ' tmps ' TFIN ' elem ' 'QUA4' ;
  1167.  
  1168.  
  1169. * s
  1170.  
  1171. ls = 'PROG' ;
  1172. 'REPETER' BL1 ('DIME' lro);
  1173. rocel = 'EXTRAIRE' &BL1 lro ;
  1174. pcel = 'EXTRAIRE' &BL1 lp ;
  1175. gamcel = 'EXTRAIRE' &BL1 lgam ;
  1176. scel = pcel '/' (rocel '**' gamcel) ;
  1177. ls = ls 'ET' ('PROG' scel) ;
  1178. 'FIN' BL1 ;
  1179. evs = 'EVOL' 'MANU' 'x' lxx 's' ls ;
  1180. ts = CHAINE '1D ' METO ' : s IT ' IT ' IE ' IE
  1181. ' tmps ' TFIN ' elem ' 'QUA4' ;
  1182.  
  1183. * Fractions massiques
  1184.  
  1185.  
  1186. EVY = 'TABLE' ;
  1187. TY = CHAINE '1D ' METO ' : Y IT ' IT ' IE ' IE
  1188. ' tmps ' TFIN ' elem ' 'QUA4' ;
  1189. YOLD = 'COPIER' YN ;
  1190. NOMECO = 'EXTR' YOLD 'COMP';
  1191. NUMECO = 'DIME' NOMECO ;
  1192. 'REPETER' BLOCCO NUMECO;
  1193. NOMCEL = 'EXTRAIRE' NOMECO &BLOCCO ;
  1194. Y0 = 'KCHT' $DOMTOT 'SCAL' 'CENTRE'
  1195. 'COMP' NOMCEL
  1196. ('EXCO' NOMCEL YOLD NOMCEL) ;
  1197. N0 = NOMCEL ;
  1198. EVY0 = 'EVOL' 'CHPO' Y0 Courb ;
  1199. LY0 = 'EXTRAIRE' EVY0 'ORDO' ;
  1200. EVY0 = 'EVOL' 'MANU' 'x' lxx N0 LY0 ;
  1201. EVY . &BLOCCO = EVY0;
  1202. 'FIN' BLOCCO;
  1203.  
  1204. lroan = 'PROG'
  1205. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  1206. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  1207. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  1208. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  1209. .10000000D+01 .10000000D+01 .10000000D+01 .97328030D+00 .93919980D+00
  1210. .90617814D+00 .87418663D+00 .84319724D+00 .81318261D+00 .78411600D+00 ;
  1211.  
  1212. lroan = lroan 'ET' ('PROG'
  1213. .75597130D+00 .72872302D+00 .70234626D+00 .67681672D+00 .65211066D+00
  1214. .62820492D+00 .60507689D+00 .58270451D+00 .56106625D+00 .54014110D+00
  1215. .51990856D+00 .50034865D+00 .48144185D+00 .46316916D+00 .44551201D+00
  1216. .42845233D+00 .41197248D+00 .39605527D+00 .38068395D+00 .36584219D+00
  1217. .35151407D+00 .33768408D+00 .32433713D+00 .31145849D+00 .29903383D+00
  1218. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00);
  1219.  
  1220. lroan = lroan 'ET' ('PROG'
  1221. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00
  1222. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00
  1223. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00
  1224. .29845131D+00 .99363934D+00 .99363934D+00 .99363934D+00 .99363934D+00
  1225. .99363934D+00 .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00
  1226. .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00) ;
  1227.  
  1228. lroan = lroan 'ET' ('PROG'
  1229. .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00
  1230. .12500000D+00) ;
  1231.  
  1232. lpan = 'PROG'
  1233. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1234. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1235. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1236. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1237. .99867381D+03 .99867381D+03 .99867381D+03 .96588232D+03 .92436107D+03
  1238. .88446286D+03 .84613062D+03 .80930907D+03 .77394466D+03 .73998551D+03;
  1239.  
  1240. lpan = lpan 'ET' ('PROG'
  1241. .70738140D+03 .67608370D+03 .64604531D+03 .61722065D+03 .58956562D+03
  1242. .56303751D+03 .53759501D+03 .51319816D+03 .48980829D+03 .46738801D+03
  1243. .44590117D+03 .42531280D+03 .40558909D+03 .38669738D+03 .36860608D+03
  1244. .35128469D+03 .33470372D+03 .31883470D+03 .30365012D+03 .28912341D+03
  1245. .27522894D+03 .26194192D+03 .24923848D+03 .23709554D+03 .22549085D+03
  1246. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03);
  1247.  
  1248. lpan = lpan 'ET' ('PROG'
  1249. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  1250. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  1251. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  1252. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  1253. .22494948D+03 .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00
  1254. .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00);
  1255.  
  1256. lpan = lpan 'ET' ('PROG'
  1257. .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00
  1258. .99482065D+00) ;
  1259.  
  1260. luan = 'PROG'
  1261. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  1262. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  1263. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  1264. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  1265. .00000000D+00 .00000000D+00 .00000000D+00 .94876987D+00 .21928876D+01
  1266. .34370054D+01 .46811232D+01 .59252410D+01 .71693587D+01 .84134765D+01;
  1267.  
  1268. luan = luan 'ET' ('PROG'
  1269. .96575943D+01 .10901712D+02 .12145830D+02 .13389948D+02 .14634065D+02
  1270. .15878183D+02 .17122301D+02 .18366419D+02 .19610537D+02 .20854654D+02
  1271. .22098772D+02 .23342890D+02 .24587008D+02 .25831125D+02 .27075243D+02
  1272. .28319361D+02 .29563479D+02 .30807596D+02 .32051714D+02 .33295832D+02
  1273. .34539950D+02 .35784068D+02 .37028185D+02 .38272303D+02 .39516421D+02
  1274. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02);
  1275.  
  1276. luan = luan 'ET' ('PROG'
  1277. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  1278. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  1279. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  1280. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  1281. .39575864D+02 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  1282. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00);
  1283.  
  1284. luan = luan 'ET' ('PROG'
  1285. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  1286. .00000000D+00) ;
  1287.  
  1288. lsan = 'PROG'
  1289. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1290. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1291. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1292. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1293. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1294. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03;
  1295.  
  1296. lsan = lsan 'ET' ('PROG'
  1297. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1298. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1299. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1300. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1301. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1302. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03);
  1303.  
  1304. lsan = lsan 'ET' ('PROG'
  1305. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1306. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1307. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  1308. .99867381D+03 .22678920D+03 .22678920D+03 .22678920D+03 .22678920D+03
  1309. .22678920D+03 .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02
  1310. .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02);
  1311.  
  1312. lsan = lsan 'ET' ('PROG'
  1313. .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02
  1314. .14141927D+02) ;
  1315.  
  1316. lgaman = 'PROG'
  1317. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1318. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1319. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1320. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1321. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1322. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01;
  1323.  
  1324. lgaman = lgaman 'ET' ('PROG'
  1325. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1326. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1327. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1328. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1329. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1330. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01);
  1331.  
  1332. lgaman = lgaman 'ET' ('PROG'
  1333. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1334. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1335. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  1336. .12327290D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01
  1337. .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01
  1338. .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01);
  1339.  
  1340. lgaman = lgaman 'ET' ('PROG'
  1341. .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01
  1342. .12764662D+01) ;
  1343.  
  1344. lyan = 'TABLE' ;
  1345.  
  1346. lyan . 1 = 'PROG'
  1347. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1348. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1349. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1350. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1351. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1352. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01;
  1353.  
  1354. lyan . 1 = lyan . 1 'ET' ('PROG'
  1355. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1356. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1357. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1358. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1359. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1360. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01);
  1361.  
  1362. lyan . 1 = lyan . 1 'ET' ('PROG'
  1363. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1364. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1365. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  1366. .10000000D-01 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1367. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1368. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00);
  1369.  
  1370. lyan . 1 = lyan . 1 'ET' ('PROG'
  1371. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1372. .20000000D+00) ;
  1373.  
  1374. lyan . 2 = 'PROG'
  1375. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1376. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1377. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1378. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1379. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1380. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00;
  1381.  
  1382. lyan . 2 = lyan . 2 'ET' ('PROG'
  1383. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1384. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1385. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1386. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1387. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1388. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00);
  1389.  
  1390. lyan . 2 = lyan . 2 'ET' ('PROG'
  1391. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1392. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1393. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  1394. .20000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00
  1395. .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00
  1396. .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00);
  1397.  
  1398. lyan . 2 = lyan . 2 'ET' ('PROG'
  1399. .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00
  1400. .40000000D+00) ;
  1401.  
  1402. lyan . 3 = 'PROG'
  1403. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1404. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1405. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1406. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1407. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1408. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00;
  1409.  
  1410. lyan . 3 = lyan . 3 'ET' ('PROG'
  1411. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1412. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1413. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1414. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1415. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1416. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00);
  1417.  
  1418. lyan . 3 = lyan . 3 'ET' ('PROG'
  1419. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1420. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1421. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  1422. .30000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00
  1423. .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00
  1424. .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00);
  1425.  
  1426. lyan . 3 = lyan . 3 'ET' ('PROG'
  1427. .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00
  1428. .10000000D+00 ) ;
  1429.  
  1430. ERRO = 'ABS' (LRO '-' LROAN) ;
  1431. ERP = 'ABS' (LP '-' LPAN) ;
  1432. ERU = 'ABS' (LU '-' LUAN) ;
  1433. ERS = 'ABS' (LS '-' LSAN) ;
  1434.  
  1435. L1RO = 0.0 ;
  1436. L1P = 0.0 ;
  1437. L1U = 0.0 ;
  1438. L1S = 0.0 ;
  1439.  
  1440. NDIM = 'DIME' erro ;
  1441.  
  1442. 'REPETER' BL1 NDIM ;
  1443. L1RO = L1RO '+' ('EXTRAIRE' &BL1 ERRO) ;
  1444. L1P = L1P '+' ('EXTRAIRE' &BL1 ERP) ;
  1445. L1U = L1U '+' ('EXTRAIRE' &BL1 ERU) ;
  1446. L1S = L1S '+' ('EXTRAIRE' &BL1 ERS) ;
  1447. 'FIN' BL1 ;
  1448.  
  1449. L1RO = L1RO '/' (NDIM * ('MAXIMUM' lroan)) ;
  1450.  
  1451.  
  1452. L1P = L1P '/' (NDIM * ('MAXIMUM' lpan)) ;
  1453.  
  1454. L1U = L1U '/' (NDIM * ('MAXIMUM' luan)) ;
  1455. L1S = L1S '/' (NDIM * ('MAXIMUM' lsan)) ;
  1456.  
  1457.  
  1458.  
  1459. *
  1460. *** Quelque DESSIN
  1461. *
  1462.  
  1463. 'SI' GRAPH ;
  1464. evroa = 'EVOL' 'MANU' 'x' lxx 'ro' lroan ;
  1465. evpa = 'EVOL' 'MANU' 'x' lxx 'p' lpan ;
  1466. evua = 'EVOL' 'MANU' 'x' lxx 'ua' luan ;
  1467. evsa = 'EVOL' 'MANU' 'x' lxx 's' lsan ;
  1468. evgama = 'EVOL' 'MANU' 'x' lxx 'gamma' lgaman ;
  1469. TAB1=TABLE;
  1470. TAB1.'TITRE'= TABLE ;
  1471. TAB1.1='MARQ TRIB REGU';
  1472. TAB1.'TITRE' . 1 = MOT 'Numerique' ;
  1473. TAB1.2='MARQ CROI REGU';
  1474. TAB1.'TITRE' . 2 = MOT 'Exacte' ;
  1475. 'DESSIN' (evro 'ET' evroa) 'TITRE' tro 'XBOR' x0 x1
  1476. 'LEGE' TAB1;
  1477. 'DESSIN' (evp 'ET' evpa) 'TITRE' tp 'XBOR' x0 x1
  1478. 'LEGE' TAB1;
  1479. 'DESSIN' (evu 'ET' evua) 'TITRE' tu 'XBOR' x0 x1
  1480. 'LEGE' TAB1;
  1481. 'DESSIN' (evs 'ET' evsa) 'TITRE' ts 'XBOR' x0 x1
  1482. 'LEGE' TAB1;
  1483. 'DESSIN' (evgam 'ET' evgama) 'TITRE' tgam 'XBOR' x0 x1
  1484. 'LEGE' TAB1;
  1485. 'REPETER' BL 3 ;
  1486. NOMCEL = 'EXTRAIRE' NOMECO &BL ;
  1487. evyacel = 'EVOL' 'MANU' 'x' lxx nomcel
  1488. (lyan . &BL ) ;
  1489. 'DESSIN' ((evy . &BL) 'ET' evyacel) 'TITRE' TY
  1490. 'XBOR' x0 x1 'YBOR' -0.01 1.01 'LEGE' TAB1;
  1491. 'FIN' BL;
  1492.  
  1493. 'FINSI' ;
  1494.  
  1495. 'SI' (L1RO > 5.0D-2);
  1496. 'ERREUR' 5 ;
  1497. 'FINSI' ;
  1498.  
  1499. 'SI' (L1P > 1.0D-2);
  1500. 'ERREUR' 5 ;
  1501. 'FINSI' ;
  1502.  
  1503. 'SI' (L1U > 5.0D-2);
  1504. 'ERREUR' 5 ;
  1505. 'FINSI' ;
  1506.  
  1507. 'SI' (L1S > 5.0D-2);
  1508. 'ERREUR' 5 ;
  1509. 'FINSI' ;
  1510.  
  1511. 'FIN' ;
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  

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