Télécharger tube3D_multi_ther.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : tube3D_multi_ther.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ******************************************************************
  5. * CALCUL DU TUBE A CHOC *
  6. * FORMULATION VF COMPRESSIBLE EXPLICITE *
  7. * DIFFERENTS SOLVEURS *
  8. * *
  9. * A. BECCANTINI TTMF MARS 1998 *
  10. * Remise à jours : JUIILETT 2001 *
  11. * Remise à jours : SEPTEMBRE 2002 (syntaxe de 'KONV' changé) *
  12. ******************************************************************
  13.  
  14. 'OPTION' 'DIME' 3 ;
  15. 'OPTION' 'ELEM' 'CUB8' ;
  16. 'OPTION' 'ISOV' 'SULI' ;
  17. 'OPTION' 'ECHO' 0 ;
  18. 'OPTION' 'TRAC' 'X' ;
  19.  
  20. GRAPH = VRAI ;
  21. GRAPH = FAUX ;
  22.  
  23. *
  24. *** Methodes possibles :
  25. *
  26. * VLH
  27. * SS
  28. *
  29.  
  30. METO = 'VLH' ;
  31. LOGSO = VRAI ;
  32. SAFFAC = 0.7 ;
  33. NITER = 1000 ;
  34. TFINAL = 0.0075 ;
  35.  
  36.  
  37. ************
  38. * MAILLAGE *
  39. ************
  40.  
  41. RAF = 4 ;
  42. NY = RAF ;
  43. NX = 12 '*' RAF ;
  44. NZ = RAF;
  45.  
  46. L = 1.0D0 ;
  47. DX = L '/' NX '/' 2.0D0;
  48. H = NY '*' DX ;
  49. P = NZ '*' DX ;
  50. xD = 0.5D0 '*' L ;
  51. xG = -1.0D0 '*' xD ;
  52. yH = 0.5D0 '*' H ;
  53. yB = -1.0D0 '*' yH ;
  54.  
  55. A1 = xG yB 0.0D0 ;
  56. A2 = 0.0D0 yB 0.0D0 ;
  57. A3 = xD yB 0.0D0 ;
  58. A4 = xD yH 0.0D0 ;
  59. A5 = 0.0D0 yH 0.0D0 ;
  60. A6 = xG yH 0.0D0 ;
  61. VECTG = XG 0.0D0 0.0D0;
  62. VECTD = XD 0.0D0 0.0D0;
  63.  
  64. xBG = xG '-' DX;
  65. XBD = xD '+' DX;
  66.  
  67. B1 = xBG yB 0.0D0 ;
  68. B2 = xBG yH 0.0D0 ;
  69. B3 = xBD yB 0.0D0 ;
  70. B4 = xBD yH 0.0D0 ;
  71.  
  72. BAS1 = A1 'DROI' NX A2 ;
  73. BAS2 = A2 'DROI' NX A3 ;
  74. HAU2 = A4 'DROI' NX A5 ;
  75. HAU1 = A5 'DROI' NX A6 ;
  76. LATG = B1 'DROI' NY B2 ;
  77. LAT1 = A1 'DROI' NY A6 ;
  78. SUR1 = LAT1 'TRANSLATION' NZ (0.0 0.0 P);
  79. LAT12 = A2 'DROI' NY A5 ;
  80. LAT2 = A3 'DROI' NY A4 ;
  81. SUR2 = LAT2 'TRANSLATION' NZ (0.0 0.0 P);
  82. LATD = B3 'DROI' NY B4 ;
  83.  
  84.  
  85. DOM11 = LAT12 'TRANSLATION' NX VECTG ;
  86. DOM1 = 'VOLUME' DOM11 'TRANSLATION' NZ (0.0 0.0 P);
  87.  
  88. DOM21 = LAT12 'TRANSLATION' NX VECTD ;
  89. DOM2 = 'VOLUME' DOM21 'TRANSLATION' NZ (0.0 0.0 P);
  90.  
  91.  
  92. VECTFG = (-1.0D0 '*' DX) 0.0D0 0.0D0;
  93. VECTFD = DX 0.0D0 0.0D0;
  94.  
  95. FRONTG = 'VOLUME' SUR1 'TRANSLATION' 1 VECTFG;
  96. FRONTG = FRONTG 'COUL' ROUG ;
  97.  
  98. FRONTD = 'VOLUME' SUR2 'TRANSLATION' 1 VECTFD;
  99. FRONTD = FRONTD 'COUL' VERT ;
  100.  
  101. *
  102. *** Rotation
  103. *
  104.  
  105. ANGLE = 30.0D0;
  106. ORIG = 0.0D0 0.0D0 0.0D0;
  107. ORIG2 = 0.0D0 0.0D0 1.0D0;
  108.  
  109. 'MESSAGE';
  110. 'MESSAGE' (CHAIN 'ANGLE = ' ANGLE);
  111. 'MESSAGE';
  112.  
  113. DOM1 = DOM1 'TOURNER' ANGLE ORIG ORIG2;
  114. DOM2 = DOM2 'TOURNER' ANGLE ORIG ORIG2;
  115. FRONTG = FRONTG 'TOURNER' ANGLE ORIG ORIG2;
  116. FRONTD = FRONTD 'TOURNER' ANGLE ORIG ORIG2;
  117.  
  118. DOMINT = DOM1 'ET' DOM2 ;
  119. 'ELIMINATION' DOMINT 1D-6;
  120.  
  121. FRONT = FRONTG 'ET' FRONTD ;
  122. 'ELIMINATION' FRONT 1D-6;
  123.  
  124. DOMTOT = DOMINT 'ET' FRONT;
  125. 'ELIMINATION' DOMTOT 1D-6;
  126.  
  127.  
  128. $DOMTOT = 'MODE' DOMTOT 'EULER' ;
  129. $DOMINT = 'MODE' DOMINT 'EULER' ;
  130. $DOM1 = 'MODE' DOM1 'EULER' ;
  131. $DOM2 = 'MODE' DOM2 'EULER' ;
  132. $FRONTG = 'MODE' FRONTG 'EULER' ;
  133. $FRONTD = 'MODE' FRONTD 'EULER' ;
  134. $FRONT = 'MODE' FRONT 'EULER' ;
  135.  
  136. TDOMTOT = 'DOMA' $DOMTOT 'VF' ;
  137. TDOMINT = 'DOMA' $DOMINT 'VF' ;
  138. TDOM1 = 'DOMA' $DOM1 'VF' ;
  139. TDOM2 = 'DOMA' $DOM2 'VF' ;
  140. TFRONTG = 'DOMA' $FRONTG 'VF' ;
  141. TFRONTD = 'DOMA' $FRONTD 'VF' ;
  142. TFRONT = 'DOMA' $FRONT 'VF' ;
  143.  
  144. MDOMTOT = TDOMTOT . 'QUAF' ;
  145. MDOMINT = TDOMINT . 'QUAF' ;
  146. MDOM1 = TDOM1 . 'QUAF' ;
  147. MDOM2 = TDOM2 . 'QUAF' ;
  148. MFRONTG = TFRONTG . 'QUAF' ;
  149. MFRONTD = TFRONTD . 'QUAF' ;
  150. MFRONT = TFRONT . 'QUAF' ;
  151. 'ELIM' (MDOMTOT 'ET' MDOMINT 'ET' MDOM1 'ET' MDOM2 'ET'
  152. MFRONTG 'ET' MFRONTD 'ET' MFRONT) 1.E-5 ;
  153.  
  154. *
  155. ******* Creation de la ligne Utilisée pour le Post-Traitement
  156. * reliant les points centres
  157. *
  158.  
  159. XINIT = XG '+' (0.5D0 '*' DX) ;
  160. YINIT = YB '+' (0.5D0 '*' DX) ;
  161. ZINIT = 0.5D0 '*' DX ;
  162. XFIN = XD '-' (0.5D0 '*' DX) ;
  163. YFIN = YINIT ;
  164. ZFIN = ZINIT ;
  165. PINI = XINIT YINIT ZINIT;
  166. PFIN = XFIN YFIN ZFIN;
  167. IAUX = (2 '*' NX) '-' 1 ;
  168. COURB = PINI 'DROIT' IAUX PFIN;
  169. COURB = COURB 'TOURNER' ANGLE ORIG ORIG2;
  170. COURB = COURB 'COULEUR' 'VERT';
  171. 'ELIMINATION' 0.001 Courb ('DOMA' $DOMTOT 'CENTRE') ;
  172.  
  173. 'SI' GRAPH ;
  174. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET' COURB)
  175. 'TITRE' ('CHAINE' 'Maillage ');
  176. 'FINSI' ;
  177.  
  178.  
  179. ***********************
  180. **** LA TABLE PGAZ ****
  181. ***********************
  182.  
  183. PGAZ = 'TABLE' ;
  184.  
  185. *
  186. **** Ordre des polynoms cv_i
  187. *
  188.  
  189. PGAZ . 'NORD' = 0 ;
  190.  
  191. *
  192. **** Especes qui sont dans les equations d'Euler
  193. *
  194.  
  195. PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  196.  
  197. *
  198. **** Espece qui n'y est pas
  199. *
  200.  
  201.  
  202. PGAZ . 'ESPNEULE' = 'N2 ';
  203.  
  204. *
  205.  
  206. PGAZ . 'H2 ' = 'TABLE' ;
  207. PGAZ . 'H2O ' = 'TABLE' ;
  208. PGAZ . 'N2 ' = 'TABLE' ;
  209. PGAZ . 'O2 ' = 'TABLE' ;
  210.  
  211. *
  212. **** R (J/Kg/K)
  213. *
  214.  
  215. PGAZ . 'H2 ' . 'R' = 4130.0 ;
  216. PGAZ . 'H2O ' . 'R' = 461.4 ;
  217. PGAZ . 'N2 ' . 'R' = 296.8 ;
  218. PGAZ . 'O2 ' . 'R' = 259.8 ;
  219.  
  220.  
  221. *
  222. **** Regressions polynomials
  223. *
  224.  
  225.  
  226. *
  227. * Cas particulier: gaz "calorically perfect"
  228. *
  229.  
  230. PGAZ . 'H2 ' . 'A' = 'PROG' .14571861D+05 ;
  231. PGAZ . 'H2O ' . 'A' = 'PROG' .26589930D+04 ;
  232. PGAZ . 'N2 ' . 'A' = 'PROG' .10024563D+04 ;
  233. PGAZ . 'O2 ' . 'A' = 'PROG' .92885670D+03 ;
  234.  
  235. *
  236. **** "Enthalpies" (ou energies) de formations a OK (J/Kg)
  237. * Note: ce sont des entites numeriques
  238. * h_i = h_i(T0) '-' \int_0^{T0} cp_i(x) dx =
  239. * h_i(T0) '-' (\int_0^{T0} cv_i(x) dx '+' R_i * T0)
  240. *
  241. * Pour H2, H20, O2, N2 on a:
  242. *
  243. * T0 = 298.15
  244. *
  245.  
  246. PGAZ . 'H2 ' . 'H0K' = -4.195D6 ;
  247. PGAZ . 'H2O ' . 'H0K' = -1.395D7 ;
  248. PGAZ . 'N2 ' . 'H0K' = -2.953D5 ;
  249. PGAZ . 'O2 ' . 'H0K' = -2.634D5 ;
  250.  
  251. *
  252. *** Fin PGAZ
  253. *
  254.  
  255. *
  256. *** Etat gauche
  257. *
  258.  
  259. rog = 1.0 ;
  260. ung = 0.0 ;
  261. utg = 0.0 ;
  262. uvg = 0.0 ;
  263. retg = .4291145555695540D+04 ;
  264. yh2g = 0.01 ;
  265. yo2g = 0.2 ;
  266. yh2og = 0.3 ;
  267.  
  268.  
  269. *
  270.  
  271. rouxg = ((ung '*' ('COS' ANGLE)) '-'
  272. (utg '*' ('SIN' ANGLE))) '*' rog ;
  273.  
  274. rouyg = ((ung '*' ('SIN' ANGLE)) '+'
  275. (utg '*' ('COS' ANGLE))) '*' rog;
  276.  
  277. rouzg = rog '*' uvg ;
  278. *
  279. *** Etat droite
  280. *
  281.  
  282. rod = 1.250D-1 ;
  283. und = 0.0D0 ;
  284. utd = 0.0D0 ;
  285. uvd = 0.0D0 ;
  286. retd = .3598345082089522D+01 ;
  287. yh2d = 0.2 ;
  288. yo2d = 0.4 ;
  289. yh2od = 0.1 ;
  290.  
  291. *rod = rog ;
  292. *und = 0.0D0 ;
  293. *utd = 0.0D0 ;
  294. *retd = retg;
  295. *yh2d = yh2g ;
  296. *yo2d = yo2g ;
  297. *yh2od = yh2og ;
  298. *
  299.  
  300. rouxd = ((und '*' ('COS' ANGLE)) '-'
  301. (utd '*' ('SIN' ANGLE))) '*' rod;
  302. rouyd = ((und '*' ('SIN' ANGLE)) '+'
  303. (utd '*' ('COS' ANGLE))) '*' rod;
  304. rouzd = rod '*' uvd ;
  305. *
  306. *** ro
  307. *
  308.  
  309. RO_f1 = 'KCHT' $FRONTG 'SCAL' 'CENTRE' rog ;
  310. RO_f2 = 'KCHT' $FRONTD 'SCAL' 'CENTRE' rod ;
  311. RO_f = 'KCHT' $FRONT 'SCAL' 'CENTRE' (RO_f1 'ET' RO_f2) ;
  312.  
  313. RO_i1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' rog;
  314. RO_i2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' rod;
  315. RO_i = 'KCHT' $DOMINT 'SCAL' 'CENTRE' (RO_i1 'ET' RO_i2);
  316.  
  317. RN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RO_i 'ET' RO_f) ;
  318.  
  319. *
  320. *** ro u, ro v
  321. *
  322.  
  323. GN_f1 = 'KCHT' $FRONTG 'VECT' 'CENTRE' (rouxg rouyg rouzg);
  324. GN_f2 = 'KCHT' $FRONTD 'VECT' 'CENTRE' (rouxd rouyd rouzd);
  325. GN_f = 'KCHT' $FRONT 'VECT' 'CENTRE' (GN_f1 'ET' GN_f2);
  326.  
  327. GN_i1 = 'KCHT' $DOM1 'VECT' 'CENTRE' (rouxg rouyg rouzg);
  328. GN_i2 = 'KCHT' $DOM2 'VECT' 'CENTRE' (rouxd rouyd rouzd);
  329. GN_i = 'KCHT' $DOMINT 'VECT' 'CENTRE' (GN_i1 'ET' GN_i2);
  330.  
  331. GN = 'KCHT' $DOMTOT 'VECT' 'CENTRE' (GN_i 'ET' GN_f) ;
  332.  
  333. *
  334. *** ro e
  335. *
  336.  
  337. RE_f1 = 'KCHT' $FRONTG 'SCAL' 'CENTRE' retg ;
  338. RE_f2 = 'KCHT' $FRONTD 'SCAL' 'CENTRE' retd ;
  339. RE_f = 'KCHT' $FRONT 'SCAL' 'CENTRE' (RE_f1 'ET' RE_f2) ;
  340.  
  341. RE_i1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' retg ;
  342. RE_i2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' retd ;
  343. RE_i = 'KCHT' $DOMINT 'SCAL' 'CENTRE' (RE_i1 'ET' RE_i2);
  344.  
  345. RETN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RE_i ET RE_f) ;
  346.  
  347. *
  348. *** ro y
  349. *
  350.  
  351. RYH2 =('KCHT' $FRONTG 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rog '*' yh2g)) 'ET'
  352. ('KCHT' $DOM1 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rog '*' yh2g)) 'ET'
  353. ('KCHT' $FRONTD 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rod '*' yh2d)) 'ET'
  354. ('KCHT' $DOM2 'SCAL' 'CENTRE' 'COMP' 'H2 ' (rod '*' yh2d));
  355.  
  356. RYO2 =('KCHT' $FRONTG 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rog '*' yO2g)) 'ET'
  357. ('KCHT' $DOM1 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rog '*' yO2g)) 'ET'
  358. ('KCHT' $FRONTD 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rod '*' yO2d)) 'ET'
  359. ('KCHT' $DOM2 'SCAL' 'CENTRE' 'COMP' 'O2 ' (rod '*' yO2d));
  360.  
  361. RYH2O =('KCHT' $FRONTG 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rog '*' yH2Og))
  362. 'ET' ('KCHT' $DOM1 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rog '*' yH2Og))
  363. 'ET' ('KCHT' $FRONTD 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rod '*' yH2Od))
  364. 'ET' ('KCHT' $DOM2 'SCAL' 'CENTRE' 'COMP' 'H2O ' (rod '*' yH2Od));
  365.  
  366. RYN = RYH2 'ET' RYO2 'ET' RYH2O ;
  367.  
  368. ********************************************************
  369. *** CREATION DE 'MODE' POUR GRAPHIQUER LE CHAMELEM ***
  370. ********************************************************
  371.  
  372. MOD1 = 'MODELISER' ('DOMA' $DOMTOT 'MAILLAGE') 'THERMIQUE' ;
  373.  
  374. *
  375. **** Les debits dans le repaire tube
  376. *
  377.  
  378. GNX = 'EXCO' 'UX' GN;
  379. GNY = 'EXCO' 'UY' GN;
  380.  
  381. GNN = (GNX * ('COS' ANGLE)) '+'
  382. (GNY * ('SIN' ANGLE));
  383.  
  384. GNT = (GNY * ('COS' ANGLE)) '-'
  385. (GNX * ('SIN' ANGLE));
  386. GNV = 'EXCO' 'UZ' GN ;
  387. *
  388. *** GRAPHIQUE DES C.I.
  389. *
  390.  
  391. 'SI' GRAPH ;
  392. * 'SI' FAUX ;
  393. *
  394. *** CREATION DE CHAMELEM
  395. *
  396.  
  397. CHM_RN = 'KCHA' $DOMTOT 'CHAM' RN ;
  398. CHM_GNN = 'KCHA' $DOMTOT 'CHAM' GNN ;
  399. CHM_GNT = 'KCHA' $DOMTOT 'CHAM' GNT ;
  400. CHM_GNV = 'KCHA' $DOMTOT 'CHAM' GNV ;
  401. CHM_RETN = 'KCHA' $DOMTOT 'CHAM' RETN ;
  402. CHM_RH2 = 'KCHA' $DOMTOT 'CHAM' RYH2 ;
  403. CHM_RO2 = 'KCHA' $DOMTOT 'CHAM' RYO2 ;
  404. CHM_RH2O = 'KCHA' $DOMTOT 'CHAM' RYH2O ;
  405. TRAC CHM_RN MOD1 'TITR' ('CHAINE' 'RO at t=' 0.0);
  406. TRAC CHM_RETN MOD1 'TITR' ('CHAINE' 'ROET at t=' 0.0);
  407. TRAC CHM_GNN MOD1 'TITR' ('CHAINE' 'ROUN at t=' 0.0);
  408. TRAC CHM_GNT MOD1 'TITR' ('CHAINE' 'ROUT at t=' 0.0);
  409. TRAC CHM_GNV MOD1 'TITR' ('CHAINE' 'ROUV at t=' 0.0);
  410. TRAC CHM_RH2 MOD1 'TITR' ('CHAINE' 'RYH2 at t=' 0.0);
  411. TRAC CHM_RO2 MOD1 'TITR' ('CHAINE' 'RYO2 at t=' 0.0);
  412.  
  413.  
  414. 'FINSI' ;
  415.  
  416. *
  417. **** Les variables primitives
  418. *
  419.  
  420. VN PN TN YN GAMN = 'PRIM' 'PERFTEMP' PGAZ
  421. RN GN RETN RYN ;
  422.  
  423. *
  424. **** Les gradients
  425. *
  426. CACCA CHLIM COEFSCAL = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'NOLIMITE'
  427. ('MOTS' 'SCAL') RN ;
  428. CACCA CHLIM COEFVECT = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'NOLIMITE'
  429. ('MOTS' 'UX' 'UY' 'UZ') VN ;
  430.  
  431. * Names of the residuum components
  432.  
  433. LISTINCO = 'MOTS' 'RN' 'RUX' 'RUY' 'RUZ' 'RETN' 'H2 ' 'O2 ' 'H2O ' ;
  434.  
  435.  
  436. *
  437. **** Le calcul
  438. *
  439. TPS = 0.0 ;
  440. ZERO = 1.0D-12 ;
  441. 'TEMPS' 'ZERO' ;
  442. 'REPETER' BL1 NITER ;
  443. *
  444. **** Primitive variables
  445. *
  446. VN PN TN YN GAMN = 'PRIM' 'PERFTEMP' PGAZ
  447. RN GN RETN RYN ;
  448.  
  449. 'SI' LOGSO ;
  450.  
  451. GRADR ALR = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
  452. ('MOTS' 'SCAL') RN 'GRADGEO' COEFSCAL ;
  453.  
  454. GRADP ALP = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
  455. ('MOTS' 'SCAL') PN 'GRADGEO' COEFSCAL ;
  456.  
  457. GRADV ALV = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'LIMITEUR'
  458. ('MOTS' 'UX' 'UY' 'UZ') VN 'GRADGEO' COEFVECT ;
  459.  
  460. GRADY ALY = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
  461. PGAZ . 'ESPEULE' YN 'GRADGEO' COEFSCAL ;
  462.  
  463. ROF VITF PF YF = 'PRET' 'PERFTEMP' 2 1
  464. $DOMTOT PGAZ
  465. RN GRADR ALR
  466. VN GRADV ALV
  467. PN GRADP ALP
  468. YN GRADY ALY ;
  469.  
  470. 'SINON' ;
  471.  
  472. ROF VITF PF YF = 'PRET' 'PERFTEMP' 1 1
  473. $DOMTOT PGAZ
  474. RN
  475. VN
  476. PN
  477. YN ;
  478.  
  479. 'FINSI' ;
  480.  
  481. RESIDU DELTAT = 'KONV' 'VF' 'PERFTEMP' 'RESI' METO
  482. $DOMTOT PGAZ LISTINCO ROF VITF PF YF ;
  483.  
  484. DT_CON = SAFFAC '*' DELTAT ;
  485. *
  486. **** The time step linked to tps
  487. *
  488. DTTPS = (TFINAL '-' TPS) * (1. '+' ZERO) ;
  489. *
  490. **** Total time step
  491. *
  492. DTMIN = 'MINIMUM' ('PROG' DT_CON DTTPS) ;
  493. *
  494. **** Increment of the variables (convection)
  495. *
  496. RESIDU = DTMIN '*' RESIDU ;
  497.  
  498. DRN = 'EXCO' 'RN' RESIDU 'SCAL' ;
  499. DGN = 'EXCO' ('MOTS' 'RUX' 'RUY' 'RUZ') RESIDU
  500. ('MOTS' 'UX' 'UY' 'UZ') ;
  501. DRETN = 'EXCO' 'RETN' RESIDU 'SCAL' ;
  502. DRYN = 'EXCO' (PGAZ . 'ESPEULE') RESIDU
  503. (PGAZ . 'ESPEULE') ;
  504.  
  505. TPS = TPS '+' DTMIN ;
  506. RN = RN '+' DRN ;
  507. GN = GN '+' DGN ;
  508. RETN = RETN '+' DRETN ;
  509. RYN = RYN '+' DRYN ;
  510.  
  511. 'SI' (((&BL1 '/' 20) '*' 20) 'EGA' &BL1) ;
  512. 'MESSAGE' ('CHAINE' 'ITER =' &BL1 ' TPS =' TPS) ;
  513. 'FINSI' ;
  514.  
  515. 'SI' (TPS > TFINAL) ;
  516. 'QUITTER' BL1 ;
  517. 'FINSI' ;
  518.  
  519. 'FIN' BL1 ;
  520. 'TEMPS' ;
  521. *
  522. ***** On calcule les variables primitive
  523. *
  524.  
  525. VN PN TN YN GAMMAN = 'PRIM' 'PERFTEMP' PGAZ RN GN RETN RYN ;
  526.  
  527. 'SI' GRAPH ;
  528.  
  529. CHM_RN = 'KCHA' $DOMTOT 'CHAM' RN ;
  530. CHM_VN = 'KCHA' $DOMTOT 'CHAM' VN ;
  531. CHM_PN = 'KCHA' $DOMTOT 'CHAM' PN ;
  532. CHM_TN = 'KCHA' $DOMTOT 'CHAM' TN ;
  533. CHM_YN = 'KCHA' $DOMTOT 'CHAM' YN ;
  534.  
  535. 'TRAC' CHM_RN MOD1
  536. 'TITR' ('CHAINE' 'rho at t=' TPS) ;
  537. 'TRAC' CHM_VN MOD1
  538. 'TITR' ('CHAINE' 'v at t= ' TPS) ;
  539. 'TRAC' CHM_PN MOD1
  540. 'TITR' ('CHAINE' 'p at t= ' TPS) ;
  541. 'TRAC' CHM_TN MOD1
  542. 'TITR' ('CHAINE' 'T at t= ' TPS) ;
  543. 'TRAC' CHM_YN MOD1
  544. 'TITR' ('CHAINE' 'y at t= ' TPS) ;
  545.  
  546. 'FINSI' ;
  547.  
  548. *
  549. **** La vitesse dans le repaire tube
  550. *
  551.  
  552. VNX = 'EXCO' 'UX' VN;
  553. VNY = 'EXCO' 'UY' VN;
  554.  
  555. VNN = (VNX * ('COS' ANGLE)) '+'
  556. (VNY * ('SIN' ANGLE));
  557.  
  558. VNT = (VNY * ('COS' ANGLE)) '-'
  559. (VNX * ('SIN' ANGLE));
  560.  
  561. GNN = VNN * RN;
  562. GNT = VNT * RN;
  563.  
  564.  
  565. *
  566. *** Objects evolutions
  567. *
  568.  
  569. xx yy zz = 'COORDONNEE' Courb;
  570. ss = 'KOPS' ('KOPS' ('COS' ANGLE) '*' xx) '+'
  571. ('KOPS' ('SIN' ANGLE) '*' yy);
  572.  
  573. evxx = 'EVOL' 'CHPO' ss Courb ;
  574. lxx = 'EXTRAIRE' evxx 'ORDO' ;
  575.  
  576. x0 = 'MINIMUM' lxx;
  577. x1 = 'MAXIMUM' lxx ;
  578.  
  579. * ro
  580.  
  581. evro = 'EVOL' 'CHPO' RN Courb ;
  582. lro = 'EXTRAIRE' evro 'ORDO' ;
  583. evro = 'EVOL' 'MANU' 'x' lxx 'ro' lro;
  584. tro = CHAINE '1D ' METO ' : RO IT ' IT ' IE ' IE
  585. ' tmps ' TFIN ' elem ' 'QUA4' ;
  586.  
  587. * u
  588.  
  589. evu = 'EVOL' 'CHPO' VNN Courb ;
  590. lu = 'EXTRAIRE' evu 'ORDO' ;
  591. evu = 'EVOL' 'MANU' 'x' lxx 'u' lu ;
  592. tu = CHAINE '1D ' METO ' : U IT ' IT ' IE ' IE
  593. ' tmps ' TFIN ' elem ' 'QUA4' ;
  594.  
  595. * v
  596.  
  597. evv = 'EVOL' 'CHPO' VNT Courb ;
  598. lv = 'EXTRAIRE' evv 'ORDO' ;
  599. evv = 'EVOL' 'MANU' 'x' lxx 'v' lv ;
  600. tv = CHAINE '1D ' METO ' : V IT ' IT ' IE ' IE
  601. ' tmps ' TFIN ' elem ' 'QUA4' ;
  602.  
  603. 'SI' GRAPH ;
  604. 'DESSIN' evv 'TITRE' tv 'XBOR' x0 x1;
  605. 'FINSI' ;
  606.  
  607. * p
  608.  
  609. evp = 'EVOL' 'CHPO' PN Courb ;
  610. lp = 'EXTRAIRE' evp 'ORDO' ;
  611. evp = 'EVOL' 'MANU' 'x' lxx 'p' lp ;
  612. tp = CHAINE '1D ' METO ' : P IT ' IT ' IE ' IE
  613.  
  614. ' tmps ' TFIN ' elem ' 'QUA4' ;
  615. * gamma
  616.  
  617. evgam = 'EVOL' 'CHPO' GAMN Courb ;
  618. lgam = 'EXTRAIRE' evgam 'ORDO' ;
  619. evgam = 'EVOL' 'MANU' 'x' lxx 'gamma' lgam ;
  620. tgam = CHAINE '1D ' METO ' : GAMMA IT ' IT ' IE ' IE
  621. ' tmps ' TFIN ' elem ' 'QUA4' ;
  622.  
  623.  
  624. * s
  625.  
  626. ls = 'PROG' ;
  627. 'REPETER' BL1 ('DIME' lro);
  628. rocel = 'EXTRAIRE' &BL1 lro ;
  629. pcel = 'EXTRAIRE' &BL1 lp ;
  630. gamcel = 'EXTRAIRE' &BL1 lgam ;
  631. scel = pcel '/' (rocel '**' gamcel) ;
  632. ls = ls 'ET' ('PROG' scel) ;
  633. 'FIN' BL1 ;
  634. evs = 'EVOL' 'MANU' 'x' lxx 's' ls ;
  635. ts = CHAINE '1D ' METO ' : s IT ' IT ' IE ' IE
  636. ' tmps ' TFIN ' elem ' 'QUA4' ;
  637.  
  638. * Fractions massiques
  639.  
  640.  
  641. EVY = 'TABLE' ;
  642. TY = CHAINE '1D ' METO ' : Y IT ' IT ' IE ' IE
  643. ' tmps ' TFIN ' elem ' 'QUA4' ;
  644. YOLD = 'COPIER' YN ;
  645. NOMECO = 'EXTR' YOLD 'COMP';
  646. NUMECO = 'DIME' NOMECO ;
  647. 'REPETER' BLOCCO NUMECO;
  648. NOMCEL = 'EXTRAIRE' NOMECO &BLOCCO ;
  649. Y0 = 'KCHT' $DOMTOT 'SCAL' 'CENTRE'
  650. 'COMP' NOMCEL
  651. ('EXCO' NOMCEL YOLD NOMCEL) ;
  652. N0 = NOMCEL ;
  653. EVY0 = 'EVOL' 'CHPO' Y0 Courb ;
  654. LY0 = 'EXTRAIRE' EVY0 'ORDO' ;
  655. EVY0 = 'EVOL' 'MANU' 'x' lxx N0 LY0 ;
  656. EVY . &BLOCCO = EVY0;
  657. 'FIN' BLOCCO;
  658.  
  659. lroan = 'PROG'
  660. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  661. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  662. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  663. .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01 .10000000D+01
  664. .10000000D+01 .10000000D+01 .10000000D+01 .97328030D+00 .93919980D+00
  665. .90617814D+00 .87418663D+00 .84319724D+00 .81318261D+00 .78411600D+00 ;
  666.  
  667. lroan = lroan 'ET' ('PROG'
  668. .75597130D+00 .72872302D+00 .70234626D+00 .67681672D+00 .65211066D+00
  669. .62820492D+00 .60507689D+00 .58270451D+00 .56106625D+00 .54014110D+00
  670. .51990856D+00 .50034865D+00 .48144185D+00 .46316916D+00 .44551201D+00
  671. .42845233D+00 .41197248D+00 .39605527D+00 .38068395D+00 .36584219D+00
  672. .35151407D+00 .33768408D+00 .32433713D+00 .31145849D+00 .29903383D+00
  673. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00);
  674.  
  675. lroan = lroan 'ET' ('PROG'
  676. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00
  677. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00
  678. .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00 .29845131D+00
  679. .29845131D+00 .99363934D+00 .99363934D+00 .99363934D+00 .99363934D+00
  680. .99363934D+00 .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00
  681. .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00) ;
  682.  
  683. lroan = lroan 'ET' ('PROG'
  684. .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00 .12500000D+00
  685. .12500000D+00) ;
  686.  
  687. lpan = 'PROG'
  688. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  689. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  690. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  691. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  692. .99867381D+03 .99867381D+03 .99867381D+03 .96588232D+03 .92436107D+03
  693. .88446286D+03 .84613062D+03 .80930907D+03 .77394466D+03 .73998551D+03;
  694.  
  695. lpan = lpan 'ET' ('PROG'
  696. .70738140D+03 .67608370D+03 .64604531D+03 .61722065D+03 .58956562D+03
  697. .56303751D+03 .53759501D+03 .51319816D+03 .48980829D+03 .46738801D+03
  698. .44590117D+03 .42531280D+03 .40558909D+03 .38669738D+03 .36860608D+03
  699. .35128469D+03 .33470372D+03 .31883470D+03 .30365012D+03 .28912341D+03
  700. .27522894D+03 .26194192D+03 .24923848D+03 .23709554D+03 .22549085D+03
  701. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03);
  702.  
  703. lpan = lpan 'ET' ('PROG'
  704. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  705. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  706. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  707. .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03 .22494948D+03
  708. .22494948D+03 .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00
  709. .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00);
  710.  
  711. lpan = lpan 'ET' ('PROG'
  712. .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00 .99482065D+00
  713. .99482065D+00) ;
  714.  
  715. luan = 'PROG'
  716. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  717. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  718. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  719. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  720. .00000000D+00 .00000000D+00 .00000000D+00 .94876987D+00 .21928876D+01
  721. .34370054D+01 .46811232D+01 .59252410D+01 .71693587D+01 .84134765D+01;
  722.  
  723. luan = luan 'ET' ('PROG'
  724. .96575943D+01 .10901712D+02 .12145830D+02 .13389948D+02 .14634065D+02
  725. .15878183D+02 .17122301D+02 .18366419D+02 .19610537D+02 .20854654D+02
  726. .22098772D+02 .23342890D+02 .24587008D+02 .25831125D+02 .27075243D+02
  727. .28319361D+02 .29563479D+02 .30807596D+02 .32051714D+02 .33295832D+02
  728. .34539950D+02 .35784068D+02 .37028185D+02 .38272303D+02 .39516421D+02
  729. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02);
  730.  
  731. luan = luan 'ET' ('PROG'
  732. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  733. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  734. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  735. .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02 .39575864D+02
  736. .39575864D+02 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  737. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00);
  738.  
  739. luan = luan 'ET' ('PROG'
  740. .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00 .00000000D+00
  741. .00000000D+00) ;
  742.  
  743. lsan = 'PROG'
  744. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  745. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  746. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  747. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  748. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  749. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03;
  750.  
  751. lsan = lsan 'ET' ('PROG'
  752. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  753. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  754. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  755. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  756. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  757. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03);
  758.  
  759. lsan = lsan 'ET' ('PROG'
  760. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  761. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  762. .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03 .99867381D+03
  763. .99867381D+03 .22678920D+03 .22678920D+03 .22678920D+03 .22678920D+03
  764. .22678920D+03 .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02
  765. .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02);
  766.  
  767. lsan = lsan 'ET' ('PROG'
  768. .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02 .14141927D+02
  769. .14141927D+02) ;
  770.  
  771. lgaman = 'PROG'
  772. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  773. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  774. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  775. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  776. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  777. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01;
  778.  
  779. lgaman = lgaman 'ET' ('PROG'
  780. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  781. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  782. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  783. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  784. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  785. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01);
  786.  
  787. lgaman = lgaman 'ET' ('PROG'
  788. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  789. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  790. .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01 .12327290D+01
  791. .12327290D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01
  792. .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01
  793. .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01);
  794.  
  795. lgaman = lgaman 'ET' ('PROG'
  796. .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01 .12764662D+01
  797. .12764662D+01) ;
  798.  
  799. lyan = 'TABLE' ;
  800.  
  801. lyan . 1 = 'PROG'
  802. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  803. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  804. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  805. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  806. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  807. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01;
  808.  
  809. lyan . 1 = lyan . 1 'ET' ('PROG'
  810. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  811. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  812. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  813. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  814. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  815. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01);
  816.  
  817. lyan . 1 = lyan . 1 'ET' ('PROG'
  818. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  819. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  820. .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01 .10000000D-01
  821. .10000000D-01 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  822. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  823. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00);
  824.  
  825. lyan . 1 = lyan . 1 'ET' ('PROG'
  826. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  827. .20000000D+00) ;
  828.  
  829. lyan . 2 = 'PROG'
  830. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  831. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  832. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  833. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  834. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  835. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00;
  836.  
  837. lyan . 2 = lyan . 2 'ET' ('PROG'
  838. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  839. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  840. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  841. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  842. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  843. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00);
  844.  
  845. lyan . 2 = lyan . 2 'ET' ('PROG'
  846. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  847. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  848. .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00 .20000000D+00
  849. .20000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00
  850. .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00
  851. .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00);
  852.  
  853. lyan . 2 = lyan . 2 'ET' ('PROG'
  854. .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00 .40000000D+00
  855. .40000000D+00) ;
  856.  
  857. lyan . 3 = 'PROG'
  858. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  859. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  860. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  861. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  862. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  863. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00;
  864.  
  865. lyan . 3 = lyan . 3 'ET' ('PROG'
  866. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  867. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  868. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  869. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  870. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  871. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00);
  872.  
  873. lyan . 3 = lyan . 3 'ET' ('PROG'
  874. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  875. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  876. .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00 .30000000D+00
  877. .30000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00
  878. .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00
  879. .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00);
  880.  
  881. lyan . 3 = lyan . 3 'ET' ('PROG'
  882. .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00 .10000000D+00
  883. .10000000D+00 ) ;
  884.  
  885. ERRO = 'ABS' (LRO '-' LROAN) ;
  886. ERP = 'ABS' (LP '-' LPAN) ;
  887. ERU = 'ABS' (LU '-' LUAN) ;
  888. ERS = 'ABS' (LS '-' LSAN) ;
  889.  
  890. L1RO = 0.0 ;
  891. L1P = 0.0 ;
  892. L1U = 0.0 ;
  893. L1S = 0.0 ;
  894.  
  895. NDIM = 'DIME' erro ;
  896.  
  897. 'REPETER' BL1 NDIM ;
  898. L1RO = L1RO '+' ('EXTRAIRE' &BL1 ERRO) ;
  899. L1P = L1P '+' ('EXTRAIRE' &BL1 ERP) ;
  900. L1U = L1U '+' ('EXTRAIRE' &BL1 ERU) ;
  901. L1S = L1S '+' ('EXTRAIRE' &BL1 ERS) ;
  902. 'FIN' BL1 ;
  903.  
  904. L1RO = L1RO '/' (NDIM * ('MAXIMUM' lroan)) ;
  905.  
  906.  
  907. L1P = L1P '/' (NDIM * ('MAXIMUM' lpan)) ;
  908.  
  909. L1U = L1U '/' (NDIM * ('MAXIMUM' luan)) ;
  910. L1S = L1S '/' (NDIM * ('MAXIMUM' lsan)) ;
  911.  
  912.  
  913.  
  914. *
  915. *** Quelque DESSIN
  916. *
  917.  
  918. 'SI' GRAPH ;
  919. evroa = 'EVOL' 'MANU' 'x' lxx 'ro' lroan ;
  920. evpa = 'EVOL' 'MANU' 'x' lxx 'p' lpan ;
  921. evua = 'EVOL' 'MANU' 'x' lxx 'ua' luan ;
  922. evsa = 'EVOL' 'MANU' 'x' lxx 's' lsan ;
  923. evgama = 'EVOL' 'MANU' 'x' lxx 'gamma' lgaman ;
  924. TAB1=TABLE;
  925. TAB1.'TITRE'= TABLE ;
  926. TAB1.1='MARQ TRIB REGU';
  927. TAB1.'TITRE' . 1 = MOT 'Numerique' ;
  928. TAB1.2='MARQ CROI REGU';
  929. TAB1.'TITRE' . 2 = MOT 'Exacte' ;
  930. 'DESSIN' (evro 'ET' evroa) 'TITRE' tro 'XBOR' x0 x1
  931. 'LEGE' TAB1;
  932. 'DESSIN' (evp 'ET' evpa) 'TITRE' tp 'XBOR' x0 x1
  933. 'LEGE' TAB1;
  934. 'DESSIN' (evu 'ET' evua) 'TITRE' tu 'XBOR' x0 x1
  935. 'LEGE' TAB1;
  936. 'DESSIN' (evs 'ET' evsa) 'TITRE' ts 'XBOR' x0 x1
  937. 'LEGE' TAB1;
  938. 'DESSIN' (evgam 'ET' evgama) 'TITRE' tgam 'XBOR' x0 x1
  939. 'LEGE' TAB1;
  940. 'REPETER' BL 3 ;
  941. NOMCEL = 'EXTRAIRE' NOMECO &BL ;
  942. evyacel = 'EVOL' 'MANU' 'x' lxx nomcel
  943. (lyan . &BL ) ;
  944. 'DESSIN' ((evy . &BL) 'ET' evyacel) 'TITRE' TY
  945. 'XBOR' x0 x1 'YBOR' -0.01 1.01 'LEGE' TAB1;
  946. 'FIN' BL;
  947.  
  948. 'FINSI' ;
  949.  
  950.  
  951. 'SI' (L1RO > 5.0D-2);
  952. 'ERREUR' 5 ;
  953. 'FINSI' ;
  954.  
  955. 'SI' (L1P > 1.0D-2);
  956. 'ERREUR' 5 ;
  957. 'FINSI' ;
  958.  
  959. 'SI' (L1U > 5.0D-2);
  960. 'ERREUR' 5 ;
  961. 'FINSI' ;
  962.  
  963. 'SI' (L1S > 5.0D-2);
  964. 'ERREUR' 5 ;
  965. 'FINSI' ;
  966.  
  967. 'FIN' ;
  968.  
  969.  
  970.  
  971.  
  972.  

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