Télécharger tube_multi.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : tube_multi.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ******************************************************************
  5. * CALCUL DU TUBE A CHOC; CAS MULTIESPECE *
  6. * *
  7. * FORMULATION VF COMPRESSIBLE EXPLICITE *
  8. * DIFFERENTS SOLVEURS *
  9. * *
  10. * A. BECCANTINI TTMF NOVEMBRE 1998 *
  11. ******************************************************************
  12.  
  13. 'OPTION' 'DIME' 2 ;
  14. 'OPTION' 'ELEM' 'QUA4' ;
  15. 'OPTION' 'ISOV' 'SULI' ;
  16. 'OPTION' 'ECHO' 0 ;
  17. 'OPTION' 'TRAC' 'X';
  18.  
  19. GRAPH = FAUX ;
  20. * GRAPH = VRAI ;
  21.  
  22. *
  23. *** Methodes possibles :
  24. *
  25. * 'VANLEER'
  26. * 'VLH '
  27. * 'HUSVL '
  28. * 'HUSVLH '
  29. * 'GODUNOV'
  30. *
  31.  
  32. METO = 'VLH' ;
  33.  
  34.  
  35. ************
  36. * MAILLAGE *
  37. ************
  38.  
  39. RAF = 4 ;
  40. NY = RAF ;
  41. NX = 12 '*' RAF ;
  42.  
  43. L = 1.0D0 ;
  44. DX = L '/' NX '/' 2.0D0;
  45. H = NY '*' DX ;
  46.  
  47. xD = 0.5D0 '*' L ;
  48. xG = -1.0D0 '*' xD ;
  49. yH = 0.5D0 '*' H ;
  50. yB = -1.0D0 '*' yH ;
  51.  
  52. A1 = xG yB ;
  53. A2 = 0.0D0 yB ;
  54. A3 = xD yB ;
  55. A4 = xD yH ;
  56. A5 = 0.0D0 yH ;
  57. A6 = xG yH ;
  58. VECTG = XG 0.0D0 ;
  59. VECTD = XD 0.0D0 ;
  60.  
  61. xBG = xG '-' DX;
  62. XBD = xD '+' DX;
  63.  
  64. B1 = xBG yB;
  65. B2 = xBG yH;
  66. B3 = xBD yB;
  67. B4 = xBD yH;
  68.  
  69. BAS1 = A1 'DROI' NX A2 ;
  70. BAS2 = A2 'DROI' NX A3 ;
  71. HAU2 = A4 'DROI' NX A5 ;
  72. HAU1 = A5 'DROI' NX A6 ;
  73. LATG = B1 'DROI' NY B2 ;
  74. LAT1 = A1 'DROI' NY A6 ;
  75. LAT12 = A2 'DROI' NY A5 ;
  76. LAT2 = A3 'DROI' NY A4 ;
  77. LATD = B3 'DROI' NY B4 ;
  78.  
  79.  
  80. DOM1 = LAT12 'TRANSLATION' NX VECTG ;
  81.  
  82. DOM2 = LAT12 'TRANSLATION' NX VECTD ;
  83.  
  84. VECTFG = (-1.0D0 '*' DX) 0.0D0;
  85. VECTFD = DX 0.0D0;
  86.  
  87. FRONTG = LAT1 'TRANSLATION' 1 VECTFG;
  88. FRONTG = FRONTG 'COUL' ROUG ;
  89.  
  90. FRONTD = LAT2 'TRANSLATION' 1 VECTFD;
  91. FRONTD = FRONTD 'COUL' VERT ;
  92.  
  93. *
  94. *** Rotation
  95. *
  96.  
  97. ANGLE = 30.0D0;
  98. ORIG = 0.0D0 0.0D0;
  99.  
  100. 'MESSAGE';
  101. 'MESSAGE' (CHAIN 'ANGLE = ' ANGLE);
  102. 'MESSAGE';
  103.  
  104. DOM1 = DOM1 'TOURNER' ANGLE ORIG;
  105. DOM2 = DOM2 'TOURNER' ANGLE ORIG;
  106. FRONTG = FRONTG 'TOURNER' ANGLE ORIG;
  107. FRONTD = FRONTD 'TOURNER' ANGLE ORIG;
  108.  
  109. DOMINT = DOM1 'ET' DOM2 ;
  110. 'ELIMINATION' DOMINT 1D-6;
  111.  
  112. FRONT = FRONTG 'ET' FRONTD ;
  113. 'ELIMINATION' FRONT 1D-6;
  114.  
  115. DOMTOT = DOMINT 'ET' FRONT;
  116. 'ELIMINATION' DOMTOT 1D-6;
  117.  
  118. MAILVID = 'DIFF' DOM1 DOM1 ;
  119. **********************
  120. *** OBJETS MODELES ***
  121. **********************
  122.  
  123. 'SI' VRAI ;
  124. $DOMTOT = 'MODE' DOMTOT 'EULER' ;
  125. $DOMINT = 'MODE' DOMINT 'EULER' ;
  126. $DOM1 = 'MODE' DOM1 'EULER' ;
  127. $DOM2 = 'MODE' DOM2 'EULER' ;
  128. $FRONTG = 'MODE' FRONTG 'EULER' ;
  129. $FRONTD = 'MODE' FRONTD 'EULER' ;
  130. $FRONT = 'MODE' FRONT 'EULER' ;
  131.  
  132. TDOMTOT = 'DOMA' $DOMTOT 'VF' ;
  133. TDOMINT = 'DOMA' $DOMINT 'VF' ;
  134. TDOM1 = 'DOMA' $DOM1 'VF' ;
  135. TDOM2 = 'DOMA' $DOM2 'VF' ;
  136. TFRONTG = 'DOMA' $FRONTG 'VF' ;
  137. TFRONTD = 'DOMA' $FRONTD 'VF' ;
  138. TFRONT = 'DOMA' $FRONT 'VF' ;
  139.  
  140. MDOMTOT = TDOMTOT . 'QUAF' ;
  141. MDOMINT = TDOMINT . 'QUAF' ;
  142. MDOM1 = TDOM1 . 'QUAF' ;
  143. MDOM2 = TDOM2 . 'QUAF' ;
  144. MFRONTG = TFRONTG . 'QUAF' ;
  145. MFRONTD = TFRONTD . 'QUAF' ;
  146. MFRONT = TFRONT . 'QUAF' ;
  147. 'ELIM' (MDOMTOT 'ET' MDOMINT 'ET' MDOM1 'ET' MDOM2 'ET'
  148. MFRONTG 'ET' MFRONTD 'ET' MFRONT) 1.E-5 ;
  149. 'SINON' ;
  150. MDOMTOT = 'CHANGER' DOMTOT 'QUAF' ;
  151. MDOMINT = 'CHANGER' DOMINT 'QUAF' ;
  152. MDOM1 = 'CHANGER' DOM1 'QUAF' ;
  153. MDOM2 = 'CHANGER' DOM2 'QUAF' ;
  154. MFRONTG = 'CHANGER' FRONTG 'QUAF' ;
  155. MFRONTD = 'CHANGER' FRONTD 'QUAF' ;
  156. MFRONT = 'CHANGER' FRONT 'QUAF' ;
  157. 'ELIM' (MDOMTOT 'ET' MDOMINT 'ET' MDOM1 'ET' MDOM2 'ET'
  158. MFRONTG 'ET' MFRONTD 'ET' MFRONT) 1.E-5;
  159. $DOMTOT = 'MODE' MDOMTOT 'NAVIER_STOKES' 'LINE' ;
  160. $DOMINT = 'MODE' MDOMINT 'NAVIER_STOKES' 'LINE' ;
  161. $DOM1 = 'MODE' MDOM1 'NAVIER_STOKES' 'LINE' ;
  162. $DOM2 = 'MODE' MDOM2 'NAVIER_STOKES' 'LINE' ;
  163. $FRONTG = 'MODE' MFRONTG 'NAVIER_STOKES' 'LINE' ;
  164. $FRONTD = 'MODE' MFRONTD 'NAVIER_STOKES' 'LINE' ;
  165. $FRONT = 'MODE' MFRONT 'NAVIER_STOKES' 'LINE' ;
  166. 'FINSI' ;
  167.  
  168.  
  169. *
  170. ******* Creation de la ligne Utilisée pour le Post-Traitement
  171. * reliant les points centres
  172. *
  173.  
  174. XINIT = XG '+' (0.5D0 '*' DX) ;
  175. YINIT = YB '+' (0.5D0 '*' DX) ;
  176. XFIN = XD '-' (0.5D0 '*' DX) ;
  177. YFIN = YINIT ;
  178. PINI = XINIT YINIT;
  179. PFIN = XFIN YFIN ;
  180. IAUX = (2 '*' NX) '-' 1 ;
  181. COURB = PINI 'DROIT' IAUX PFIN;
  182. COURB = COURB 'TOURNER' ANGLE ORIG;
  183. COURB = COURB 'COULEUR' 'VERT';
  184. 'ELIMINATION' 0.001 Courb ('DOMA' $DOMTOT 'CENTRE') ;
  185.  
  186. 'SI' GRAPH ;
  187. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET' COURB)
  188. 'TITRE' ('CHAINE' 'Maillage ');
  189. 'FINSI' ;
  190.  
  191. ************************************************************
  192. * CONDITIONS INITIALES ET LIMITES. *
  193. ************************************************************
  194.  
  195. *
  196. **** Proprietes de gaz
  197. *
  198.  
  199. *
  200. *** GAZ: H_2, O_2, H_2O, N_2
  201. *
  202. * CP, CV en J/Kg/K @ T = 3000
  203. *
  204.  
  205. PGAZ = 'TABLE' ;
  206.  
  207. PGAZ . 'CP' = 'TABLE' ;
  208. PGAZ . 'CP' . 'H2 ' = .18729066D+05 ;
  209. PGAZ . 'CP' . 'O2 ' = .11886820D+04 ;
  210. PGAZ . 'CP' . 'H2O ' = .31209047D+04 ;
  211. PGAZ . 'CP' . 'N2 ' = .12993995D+04 ;
  212.  
  213. PGAZ . 'CV' = 'TABLE' ;
  214. PGAZ . 'CV' . 'H2 ' = .14571861D+05 ;
  215. PGAZ . 'CV' . 'O2 ' = .92885670D+03 ;
  216. PGAZ . 'CV' . 'H2O ' = .26589930D+04 ;
  217. PGAZ . 'CV' . 'N2 ' = .10024563D+04;
  218.  
  219. *
  220. **** Especes qui sont dans les equations d'Euler
  221. *
  222.  
  223. PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  224.  
  225. *
  226. **** Espece qui n'y est pas
  227. *
  228.  
  229. PGAZ . 'ESPNEULE' = 'N2 ';
  230.  
  231. *
  232. *** Etat gauche
  233. *
  234.  
  235. rog = 1.0 ;
  236. ung = 0.0 ;
  237. utg = 0.0 ;
  238. pg = 1.0D3 ;
  239. yg = 'PROG' 0.01 0.2 0.3 ;
  240.  
  241. *
  242. *** gamg
  243. *
  244.  
  245. YTOT = 0.0 ;
  246. CPTOT = 0.0 ;
  247. CVTOT = 0.0 ;
  248.  
  249. 'REPETER' BL1 ('DIME' (PGAZ . 'ESPEULE') );
  250. CELCAR = 'EXTRAIRE' &BL1 (PGAZ . 'ESPEULE');
  251. CPCEL = PGAZ . 'CP' . CELCAR ;
  252. CVCEL = PGAZ . 'CV' . CELCAR ;
  253. YCEL = 'EXTRAIRE' &BL1 yg ;
  254. YTOT = YTOT '+' YCEL ;
  255. CPTOT = CPTOT '+' (YCEL '*' CPCEL) ;
  256. CVTOT = CVTOT '+' (YCEL '*' CVCEL) ;
  257. 'FIN' BL1 ;
  258.  
  259. CELCAR = (PGAZ . 'ESPNEULE') ;
  260. CPCEL = PGAZ . 'CP' . CELCAR ;
  261. CVCEL = PGAZ . 'CV' . CELCAR ;
  262. YCEL = 1.0D0 '-' YTOT;
  263. CPTOT = CPTOT '+' (YCEL '*' CPCEL) ;
  264. CVTOT = CVTOT '+' (YCEL '*' CVCEL) ;
  265.  
  266. gamg = CPTOT '/' CVTOT ;
  267.  
  268. *
  269.  
  270. rouxg = ((ung '*' ('COS' ANGLE)) '-'
  271. (utg '*' ('SIN' ANGLE))) '*' rog ;
  272. rouyg = ((ung '*' ('SIN' ANGLE)) '+'
  273. (utg '*' ('COS' ANGLE))) '*' rog;
  274.  
  275. recing = 0.5D0 '*' rog '*' ((ung '*' ung) '+' (utg '*' utg));
  276. retg = (pg '/' (gamg '-' 1.0)) '+' recing;
  277.  
  278. *
  279. *** Etat droite
  280. *
  281.  
  282. rod = 1.250D-1 ;
  283. und = 0.0D0 ;
  284. utd = 0.0D0 ;
  285. pd = 1.0D0 ;
  286. yd = 'PROG' 0.2 0.4 0.1;
  287.  
  288. *
  289. *** gamd
  290. *
  291.  
  292. YTOT = 0.0 ;
  293. CPTOT = 0.0 ;
  294. CVTOT = 0.0 ;
  295.  
  296. 'REPETER' BL1 ('DIME' (PGAZ . 'ESPEULE') );
  297. CELCAR = 'EXTRAIRE' &BL1 (PGAZ . 'ESPEULE');
  298. CPCEL = PGAZ . 'CP' . CELCAR ;
  299. CVCEL = PGAZ . 'CV' . CELCAR ;
  300. YCEL = 'EXTRAIRE' &BL1 yd ;
  301. YTOT = YTOT '+' YCEL ;
  302. CPTOT = CPTOT '+' (YCEL '*' CPCEL) ;
  303. CVTOT = CVTOT '+' (YCEL '*' CVCEL) ;
  304. 'FIN' BL1 ;
  305.  
  306. CELCAR = (PGAZ . 'ESPNEULE') ;
  307. CPCEL = PGAZ . 'CP' . CELCAR ;
  308. CVCEL = PGAZ . 'CV' . CELCAR ;
  309. YCEL = 1.0D0 '-' YTOT;
  310. CPTOT = CPTOT '+' (YCEL '*' CPCEL) ;
  311. CVTOT = CVTOT '+' (YCEL '*' CVCEL) ;
  312.  
  313. gamd = CPTOT '/' CVTOT ;
  314.  
  315. *
  316.  
  317. rouxd = ((und '*' ('COS' ANGLE)) '-'
  318. (utd '*' ('SIN' ANGLE))) '*' rod;
  319. rouyd = ((und '*' ('SIN' ANGLE)) '+'
  320. (utd '*' ('COS' ANGLE))) '*' rod;
  321.  
  322. recind = 0.5D0 '*' rod '*' ((und '*' und) '+' (utd '*' utd));
  323. retd = (pd '/' (gamd '-' 1.0)) '+' recind;
  324.  
  325.  
  326. *
  327. *** ro
  328. *
  329.  
  330.  
  331. RO_f1 = 'KCHT' $FRONTG 'SCAL' 'CENTRE' rog ;
  332. RO_f2 = 'KCHT' $FRONTD 'SCAL' 'CENTRE' rod ;
  333. RO_f = 'KCHT' $FRONT 'SCAL' 'CENTRE' (RO_f1 'ET' RO_f2) ;
  334.  
  335. RO_i1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' rog;
  336. RO_i2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' rod;
  337. RO_i = 'KCHT' $DOMINT 'SCAL' 'CENTRE' (RO_i1 'ET' RO_i2);
  338.  
  339. RN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RO_i 'ET' RO_f) ;
  340.  
  341.  
  342. *
  343. *** ro u, ro v
  344. *
  345.  
  346. GN_f1 = 'KCHT' $FRONTG 'VECT' 'CENTRE' (rouxg rouyg);
  347. GN_f2 = 'KCHT' $FRONTD 'VECT' 'CENTRE' (rouxd rouyd);
  348. GN_f = 'KCHT' $FRONT 'VECT' 'CENTRE' (GN_f1 'ET' GN_f2);
  349.  
  350. GN_i1 = 'KCHT' $DOM1 'VECT' 'CENTRE' (rouxg rouyg);
  351. GN_i2 = 'KCHT' $DOM2 'VECT' 'CENTRE' (rouxd rouyd);
  352. GN_i = 'KCHT' $DOMINT 'VECT' 'CENTRE' (GN_i1 'ET' GN_i2);
  353.  
  354. GN = 'KCHT' $DOMTOT 'VECT' 'CENTRE' (GN_i 'ET' GN_f) ;
  355.  
  356.  
  357. *
  358. *** ro e
  359. *
  360.  
  361. RE_f1 = 'KCHT' $FRONTG 'SCAL' 'CENTRE' retg ;
  362. RE_f2 = 'KCHT' $FRONTD 'SCAL' 'CENTRE' retd ;
  363. RE_f = 'KCHT' $FRONT 'SCAL' 'CENTRE' (RE_f1 'ET' RE_f2) ;
  364.  
  365. RE_i1 = 'KCHT' $DOM1 'SCAL' 'CENTRE' retg ;
  366. RE_i2 = 'KCHT' $DOM2 'SCAL' 'CENTRE' retd ;
  367. RE_i = 'KCHT' $DOMINT 'SCAL' 'CENTRE' (RE_i1 'ET' RE_i2);
  368.  
  369. RETN = 'KCHT' $DOMTOT 'SCAL' 'CENTRE' (RE_i ET RE_f) ;
  370.  
  371. *
  372. *** ro y
  373. *
  374.  
  375.  
  376. 'REPETER' BL1 ('DIME' (PGAZ . 'ESPEULE') );
  377. CELCAR = 'EXTRAIRE' &BL1 (PGAZ . 'ESPEULE');
  378. YCELG = 'EXTRAIRE' &BL1 yg ;
  379. YCELD = 'EXTRAIRE' &BL1 yd ;
  380. ROY_f1 = 'KCHT' $FRONTG 'SCAL' 'CENTRE'
  381. 'COMP' CELCAR (rog '*' ycelg);
  382. ROY_f2 = 'KCHT' $FRONTD 'SCAL' 'CENTRE'
  383. 'COMP' CELCAR (rod '*' yceld);
  384. ROY_i1 = 'KCHT' $DOM1 'SCAL' 'CENTRE'
  385. 'COMP' CELCAR (rog '*' ycelg);
  386. ROY_i2 = 'KCHT' $DOM2 'SCAL' 'CENTRE'
  387. 'COMP' CELCAR (rod '*' yceld);
  388. 'SI' (&BL1 'EGA' 1);
  389. ROY_f = 'KCHT' $FRONT 'SCAL' 'CENTRE' 'COMP' CELCAR
  390. (ROY_f1 'ET' ROY_f2) ;
  391. ROY_i = 'KCHT' $DOMINT 'SCAL' 'CENTRE' 'COMP' CELCAR
  392. (ROY_i1 'ET' ROY_i2);
  393. 'SINON' ;
  394. ROY_f = ROY_f 'ET'
  395. ('KCHT' $FRONT 'SCAL' 'CENTRE' 'COMP' CELCAR
  396. (ROY_f1 'ET' ROY_f2)) ;
  397. ROY_i = ROY_I 'ET'
  398. ('KCHT' $DOMINT 'SCAL' 'CENTRE' 'COMP' CELCAR
  399. (ROY_i1 'ET' ROY_i2));
  400. 'FINSI' ;
  401. 'FIN' BL1 ;
  402.  
  403. RYNLIM = ROY_f ;
  404. RYN = ROY_i 'ET' ROY_f ;
  405.  
  406.  
  407. ********************************************************
  408. *** CREATION DE 'MODE' POUR GRAPHIQUER LE CHAMELEM ***
  409. ********************************************************
  410.  
  411. MOD1 = 'MODELISER' ('DOMA' $DOMTOT 'MAILLAGE') 'THERMIQUE' ;
  412.  
  413. *
  414. **** Les debits dans le repaire tube
  415. *
  416.  
  417. GNX = 'EXCO' 'UX' GN;
  418. GNY = 'EXCO' 'UY' GN;
  419.  
  420. GNN = (GNX * ('COS' ANGLE)) '+'
  421. (GNY * ('SIN' ANGLE));
  422.  
  423. GNT = (GNY * ('COS' ANGLE)) '-'
  424. (GNX * ('SIN' ANGLE));
  425.  
  426. *
  427. *** GRAPHIQUE DES C.I.
  428. *
  429.  
  430. 'SI' GRAPH ;
  431.  
  432. *
  433. *** CREATION DE CHAMELEM
  434. *
  435.  
  436. CHM_RN = 'KCHA' $DOMTOT 'CHAM' RN ;
  437. CHM_GNN = 'KCHA' $DOMTOT 'CHAM' GNN ;
  438. CHM_GNT = 'KCHA' $DOMTOT 'CHAM' GNT ;
  439. CHM_RETN = 'KCHA' $DOMTOT 'CHAM' RETN ;
  440. TRAC CHM_RN MOD1 'TITR' ('CHAINE' 'RO at t=' 0.0);
  441. TRAC CHM_RETN MOD1 'TITR' ('CHAINE' 'ROET at t=' 0.0);
  442. TRAC CHM_GNN MOD1 'TITR' ('CHAINE' 'ROUN at t=' 0.0);
  443. TRAC CHM_GNT MOD1 'TITR' ('CHAINE' 'ROUT at t=' 0.0);
  444.  
  445. 'FINSI' ;
  446.  
  447. ******************************************
  448. ************* Computation ****************
  449. ******************************************
  450.  
  451. SAFFAC = 0.3D0 ;
  452. NITER = 1000 ;
  453. TFINAL = 0.0075 ;
  454. LOGSO = VRAI ;
  455.  
  456. *
  457. **** Les variables primitives
  458. *
  459.  
  460. VN PN TN YN GAMN = 'PRIM' 'PERFMULT' PGAZ RN GN RETN RYN ;
  461.  
  462. *
  463. **** Les gradients
  464. *
  465.  
  466. CACCA CHLIM COEFSCAL = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'NOLIMITE'
  467. ('MOTS' 'SCAL') RN ;
  468.  
  469. CACCA CHLIM COEFVECT = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'NOLIMITE'
  470. ('MOTS' 'UX' 'UY') VN ;
  471.  
  472. * Names of the residuum components
  473.  
  474. LISTINCO = 'MOTS' 'RN' 'RUX' 'RUY' 'RETN' 'H2 ' 'O2 ' 'H2O ' ;
  475.  
  476.  
  477. TPS = 0.0 ;
  478. ZERO = 1.0D-12 ;
  479. 'TEMPS' 'ZERO' ;
  480. 'REPETER' BL1 NITER ;
  481.  
  482. VN PN TN YN GAMN = 'PRIM' 'PERFMULT' PGAZ
  483. RN GN RETN RYN ;
  484.  
  485. 'SI' LOGSO ;
  486.  
  487. GRADR ALR = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
  488. ('MOTS' 'SCAL') RN 'GRADGEO' COEFSCAL ;
  489.  
  490. GRADP ALP = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
  491. ('MOTS' 'SCAL') PN 'GRADGEO' COEFSCAL ;
  492.  
  493. GRADV ALV = 'PENT' $DOMTOT 'CENTRE' 'EULEVECT' 'LIMITEUR'
  494. ('MOTS' 'UX' 'UY') VN 'GRADGEO' COEFVECT ;
  495.  
  496. GRADY ALY = 'PENT' $DOMTOT 'CENTRE' 'EULESCAL' 'LIMITEUR'
  497. PGAZ . 'ESPEULE' YN 'GRADGEO' COEFSCAL ;
  498.  
  499. ROF VITF PF YF GAMF = 'PRET' 'PERFMULT' 2 1
  500. $DOMTOT PGAZ
  501. RN GRADR ALR
  502. VN GRADV ALV
  503. PN GRADP ALP
  504. YN GRADY ALY
  505. GAMN ;
  506.  
  507. 'SINON' ;
  508.  
  509. ROF VITF PF YF GAMF = 'PRET' 'PERFMULT' 1 1
  510. $DOMTOT
  511. RN
  512. VN
  513. PN
  514. YN
  515. GAMN ;
  516.  
  517. 'FINSI' ;
  518.  
  519. RESIDU DELTAT = 'KONV' 'VF' 'PERFMULT' 'RESI' METO
  520. $DOMTOT PGAZ LISTINCO ROF VITF PF GAMF YF MAILVID ;
  521.  
  522. DT_CON = SAFFAC '*' DELTAT ;
  523. *
  524. **** The time step linked to tps
  525. *
  526. DTTPS = (TFINAL '-' TPS) * (1. '+' ZERO) ;
  527. *
  528. **** Total time step
  529. *
  530. DTMIN = 'MINIMUM' ('PROG' DT_CON DTTPS) ;
  531. *
  532. **** Increment of the variables (convection)
  533. *
  534. RESIDU = DTMIN '*' RESIDU ;
  535.  
  536. DRN = 'EXCO' 'RN' RESIDU 'SCAL' ;
  537. DGN = 'EXCO' ('MOTS' 'RUX' 'RUY') RESIDU
  538. ('MOTS' 'UX' 'UY') ;
  539. DRETN = 'EXCO' 'RETN' RESIDU 'SCAL' ;
  540. DRYN = 'EXCO' (PGAZ . 'ESPEULE') RESIDU
  541. (PGAZ . 'ESPEULE') ;
  542.  
  543. TPS = TPS '+' DTMIN ;
  544. RN = RN '+' DRN ;
  545. GN = GN '+' DGN ;
  546. RETN = RETN '+' DRETN ;
  547. RYN = RYN '+' DRYN ;
  548.  
  549. 'SI' (((&BL1 '/' 20) '*' 20) 'EGA' &BL1) ;
  550. 'MESSAGE' ('CHAINE' 'ITER =' &BL1 ' TPS =' TPS) ;
  551. 'FINSI' ;
  552.  
  553. 'SI' (TPS > TFINAL) ;
  554. 'QUITTER' BL1 ;
  555. 'FINSI' ;
  556.  
  557. 'FIN' BL1 ;
  558. 'TEMPS' ;
  559. *
  560. ***** On calcule les variables primitive
  561. *
  562.  
  563. *
  564. **** Les variables primitives
  565. *
  566.  
  567. VN PN TN YN GAMN = 'PRIM' 'PERFMULT' PGAZ
  568. RN GN RETN RYN ;
  569.  
  570. *
  571. **** La vitesse dans le repaire tube
  572. *
  573.  
  574. VNX = 'EXCO' 'UX' VN;
  575. VNY = 'EXCO' 'UY' VN;
  576.  
  577. VNN = (VNX * ('COS' ANGLE)) '+'
  578. (VNY * ('SIN' ANGLE));
  579.  
  580. VNT = (VNY * ('COS' ANGLE)) '-'
  581. (VNX * ('SIN' ANGLE));
  582.  
  583. GNN = VNN * RN;
  584. GNT = VNT * RN;
  585.  
  586. *
  587. *** GRAPHIQUE DES SOLUTIONS
  588. *
  589.  
  590. 'SI' GRAPH ;
  591.  
  592. *
  593. *** CREATION DE CHAMELEM
  594. *
  595.  
  596. CHM_RN = 'KCHA' $DOMTOT 'CHAM' RN;
  597. CHM_GNN = 'KCHA' $DOMTOT 'CHAM' GNN ;
  598. CHM_GNT = 'KCHA' $DOMTOT 'CHAM' GNT ;
  599. CHM_RETN = 'KCHA' $DOMTOT 'CHAM' RETN;
  600. TRAC CHM_RN MOD1 'TITR' ('CHAINE' 'RO at t=' TFIN);
  601. TRAC CHM_RETN MOD1 'TITR' ('CHAINE' 'ROET at t=' TFIN);
  602. TRAC CHM_GNN MOD1 'TITR' ('CHAINE' 'ROUN at t=' TFIN);
  603. TRAC CHM_GNT MOD1 'TITR' ('CHAINE' 'ROUT at t=' TFIN);
  604.  
  605. 'FINSI' ;
  606.  
  607. *
  608. *** Objects evolutions
  609. *
  610.  
  611. xx yy = 'COORDONNEE' Courb;
  612. ss = 'KOPS' ('KOPS' ('COS' ANGLE) '*' xx) '+'
  613. ('KOPS' ('SIN' ANGLE) '*' yy);
  614.  
  615. evxx = 'EVOL' 'CHPO' ss Courb ;
  616. lxx = 'EXTRAIRE' evxx 'ORDO' ;
  617.  
  618. x0 = 'MINIMUM' lxx;
  619. x1 = 'MAXIMUM' lxx ;
  620.  
  621. * ro
  622.  
  623. evro = 'EVOL' 'CHPO' RN Courb ;
  624. lro = 'EXTRAIRE' evro 'ORDO' ;
  625. evro = 'EVOL' 'MANU' 'x' lxx 'ro' lro;
  626. tro = CHAINE '1D ' METO ' : RO IT ' IT ' IE ' IE
  627. ' tmps ' TFIN ' elem ' 'QUA4' ;
  628.  
  629. * u
  630.  
  631. evu = 'EVOL' 'CHPO' VNN Courb ;
  632. lu = 'EXTRAIRE' evu 'ORDO' ;
  633. evu = 'EVOL' 'MANU' 'x' lxx 'u' lu ;
  634. tu = CHAINE '1D ' METO ' : U IT ' IT ' IE ' IE
  635. ' tmps ' TFIN ' elem ' 'QUA4' ;
  636.  
  637. * v
  638.  
  639. evv = 'EVOL' 'CHPO' VNT Courb ;
  640. lv = 'EXTRAIRE' evv 'ORDO' ;
  641. evv = 'EVOL' 'MANU' 'x' lxx 'v' lv ;
  642. tv = CHAINE '1D ' METO ' : V IT ' IT ' IE ' IE
  643. ' tmps ' TFIN ' elem ' 'QUA4' ;
  644.  
  645. 'SI' GRAPH ;
  646. 'DESSIN' evv 'TITRE' tv 'XBOR' x0 x1;
  647. 'FINSI' ;
  648.  
  649. * p
  650.  
  651. evp = 'EVOL' 'CHPO' PN Courb ;
  652. lp = 'EXTRAIRE' evp 'ORDO' ;
  653. evp = 'EVOL' 'MANU' 'x' lxx 'p' lp ;
  654. tp = CHAINE '1D ' METO ' : P IT ' IT ' IE ' IE
  655. ' tmps ' TFIN ' elem ' 'QUA4' ;
  656.  
  657. * gamma
  658.  
  659. evgam = 'EVOL' 'CHPO' GAMN Courb ;
  660. lgam = 'EXTRAIRE' evgam 'ORDO' ;
  661. evgam = 'EVOL' 'MANU' 'x' lxx 'gamma' lgam ;
  662. tgam = CHAINE '1D ' METO ' : GAMMA IT ' IT ' IE ' IE
  663. ' tmps ' TFIN ' elem ' 'QUA4' ;
  664.  
  665. * s
  666.  
  667. ls = 'PROG' ;
  668. 'REPETER' BL1 ('DIME' lro);
  669. rocel = 'EXTRAIRE' &BL1 lro ;
  670. pcel = 'EXTRAIRE' &BL1 lp ;
  671. gamcel = 'EXTRAIRE' &BL1 lgam ;
  672. scel = pcel '/' (rocel '**' gamcel) ;
  673. ls = ls 'ET' ('PROG' scel) ;
  674. 'FIN' BL1 ;
  675. evs = 'EVOL' 'MANU' 'x' lxx 's' ls ;
  676. ts = CHAINE '1D ' METO ' : s IT ' IT ' IE ' IE
  677. ' tmps ' TFIN ' elem ' 'QUA4' ;
  678.  
  679. * Fractions massiques
  680.  
  681.  
  682. EVY = 'TABLE' ;
  683. TY = CHAINE '1D ' METO ' : Y IT ' IT ' IE ' IE
  684. ' tmps ' TFIN ' elem ' 'QUA4' ;
  685. YOLD = 'COPIER' YN ;
  686. NOMECO = 'EXTR' YOLD 'COMP';
  687. NUMECO = 'DIME' NOMECO ;
  688. 'REPETER' BLOCCO NUMECO;
  689. NOMCEL = 'EXTRAIRE' NOMECO &BLOCCO ;
  690. Y0 = 'KCHT' $DOMTOT 'SCAL' 'CENTRE'
  691. 'COMP' NOMCEL
  692. ('EXCO' NOMCEL YOLD NOMCEL) ;
  693. N0 = NOMCEL ;
  694. EVY0 = 'EVOL' 'CHPO' Y0 Courb ;
  695. LY0 = 'EXTRAIRE' EVY0 'ORDO' ;
  696. EVY0 = 'EVOL' 'MANU' 'x' lxx N0 LY0 ;
  697. EVY . &BLOCCO = EVY0;
  698. 'FIN' BLOCCO;
  699.  
  700.  
  701. lroan = 'PROG'
  702. 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00
  703. 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00
  704. 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00
  705. 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00
  706. 1.00000E+00 1.00000E+00 1.00000E+00 9.72615E-01 9.38586E-01
  707. 9.05613E-01 8.73668E-01 8.42723E-01 8.12749E-01 7.83722E-01
  708. 7.55614E-01 7.28401E-01 7.02057E-01 6.76559E-01 6.51882E-01 ;
  709.  
  710. lroan = lroan 'ET' ('PROG'
  711. 6.28004E-01 6.04902E-01 5.82554E-01 5.60938E-01 5.40035E-01
  712. 5.19822E-01 5.00281E-01 4.81392E-01 4.63135E-01 4.45493E-01
  713. 4.28448E-01 4.11981E-01 3.96075E-01 3.80715E-01 3.65884E-01
  714. 3.51565E-01 3.37744E-01 3.24404E-01 3.11533E-01 2.99115E-01
  715. 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01
  716. 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01
  717. 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01);
  718.  
  719. lroan = lroan 'ET' ('PROG'
  720. 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01 2.98571E-01
  721. 2.98571E-01 2.98571E-01 9.89151E-01 9.89151E-01 9.89151E-01
  722. 9.89151E-01 1.25000E-01 1.25000E-01 1.25000E-01 1.25000E-01
  723. 1.25000E-01 1.25000E-01 1.25000E-01 1.25000E-01 1.25000E-01
  724. 1.25000E-01 1.25000E-01 1.25000E-01 1.25000E-01 1.25000E-01
  725. 1.25000E-01) ;
  726.  
  727. lpan = 'PROG'
  728. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  729. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  730. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  731. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  732. 1.00000E+03 1.00000E+03 1.00000E+03 9.66342E+02 9.24825E+02
  733. 8.84930E+02 8.46600E+02 8.09779E+02 7.74414E+02 7.40454E+02
  734. 7.07847E+02 6.76547E+02 6.46505E+02 6.17676E+02 5.90016E+02 ;
  735.  
  736. lpan = lpan 'ET' ('PROG'
  737. 5.63482E+02 5.38033E+02 5.13630E+02 4.90233E+02 4.67806E+02
  738. 4.46312E+02 4.25715E+02 4.05984E+02 3.87084E+02 3.68984E+02
  739. 3.51654E+02 3.35065E+02 3.19187E+02 3.03993E+02 2.89458E+02
  740. 2.75555E+02 2.62259E+02 2.49546E+02 2.37395E+02 2.25781E+02
  741. 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02
  742. 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02
  743. 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02) ;
  744.  
  745. lpan = lpan 'ET' ('PROG'
  746. 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02
  747. 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02 2.25275E+02
  748. 2.25275E+02 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00
  749. 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00
  750. 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00 1.00000E+00
  751. 1.00000E+00) ;
  752.  
  753. luan = 'PROG'
  754. 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
  755. 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
  756. 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
  757. 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
  758. 0.00000E+00 0.00000E+00 0.00000E+00 9.73439E-01 2.21738E+00
  759. 3.46133E+00 4.70528E+00 5.94922E+00 7.19317E+00 8.43711E+00
  760. 9.68106E+00 1.09250E+01 1.21689E+01 1.34129E+01 1.46568E+01 ;
  761.  
  762. luan = luan 'ET' ('PROG'
  763. 1.59008E+01 1.71447E+01 1.83887E+01 1.96326E+01 2.08766E+01
  764. 2.21205E+01 2.33645E+01 2.46084E+01 2.58524E+01 2.70963E+01
  765. 2.83402E+01 2.95842E+01 3.08281E+01 3.20721E+01 3.33160E+01
  766. 3.45600E+01 3.58039E+01 3.70479E+01 3.82918E+01 3.95358E+01
  767. 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01
  768. 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01
  769. 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01) ;
  770.  
  771. luan = luan 'ET' ('PROG'
  772. 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01
  773. 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01 3.95913E+01
  774. 3.95913E+01 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
  775. 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
  776. 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
  777. 0.00000E+00) ;
  778.  
  779. lsan = 'PROG'
  780. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  781. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  782. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  783. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  784. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  785. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  786. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 ;
  787.  
  788. lsan = lsan 'ET' ('PROG'
  789. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  790. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  791. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  792. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  793. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  794. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  795. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03);
  796.  
  797. lsan = lsan 'ET' ('PROG'
  798. 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03 1.00000E+03
  799. 1.00000E+03 1.00000E+03 2.28438E+02 2.28438E+02 2.28438E+02
  800. 2.28438E+02 1.42582E+01 1.42582E+01 1.42582E+01 1.42582E+01
  801. 1.42582E+01 1.42582E+01 1.42582E+01 1.42582E+01 1.42582E+01
  802. 1.42582E+01 1.42582E+01 1.42582E+01 1.42582E+01 1.42582E+01
  803. 1.42582E+01) ;
  804.  
  805. lgaman = 'PROG'
  806. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  807. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  808. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  809. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  810. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  811. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  812. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 ;
  813.  
  814. lgaman = lgaman 'ET' ('PROG'
  815. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  816. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  817. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  818. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  819. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  820. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  821. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00) ;
  822.  
  823. lgaman = lgaman 'ET' ('PROG'
  824. 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00 1.23304E+00
  825. 1.23304E+00 1.23304E+00 1.27791E+00 1.27791E+00 1.27791E+00
  826. 1.27791E+00 1.27791E+00 1.27791E+00 1.27791E+00 1.27791E+00
  827. 1.27791E+00 1.27791E+00 1.27791E+00 1.27791E+00 1.27791E+00
  828. 1.27791E+00 1.27791E+00 1.27791E+00 1.27791E+00 1.27791E+00
  829. 1.27791E+00) ;
  830.  
  831. lyan = 'TABLE' ;
  832.  
  833. lyan . 1 = 'PROG'
  834. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  835. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  836. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  837. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  838. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  839. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  840. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 ;
  841.  
  842. lyan . 1 = lyan . 1 'ET' ('PROG'
  843. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  844. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  845. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  846. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  847. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  848. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  849. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 );
  850.  
  851. lyan . 1 = lyan . 1 'ET' ('PROG'
  852. 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02 1.00000E-02
  853. 1.00000E-02 1.00000E-02 2.00000E-01 2.00000E-01 2.00000E-01
  854. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  855. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  856. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  857. 2.00000E-01) ;
  858.  
  859. lyan . 2 = 'PROG'
  860. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  861. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  862. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  863. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  864. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  865. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  866. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 ;
  867.  
  868. lyan . 2 = lyan . 2 'ET' ('PROG'
  869. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  870. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  871. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  872. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  873. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  874. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  875. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 );
  876.  
  877. lyan . 2 = lyan . 2 'ET' ('PROG'
  878. 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01 2.00000E-01
  879. 2.00000E-01 2.00000E-01 4.00000E-01 4.00000E-01 4.00000E-01
  880. 4.00000E-01 4.00000E-01 4.00000E-01 4.00000E-01 4.00000E-01
  881. 4.00000E-01 4.00000E-01 4.00000E-01 4.00000E-01 4.00000E-01
  882. 4.00000E-01 4.00000E-01 4.00000E-01 4.00000E-01 4.00000E-01
  883. 4.00000E-01 ) ;
  884.  
  885. lyan . 3 = 'PROG'
  886. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  887. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  888. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  889. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  890. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  891. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  892. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 ;
  893.  
  894. lyan . 3 = lyan . 3 'ET' ('PROG'
  895. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  896. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  897. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  898. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  899. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  900. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  901. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01);
  902.  
  903. lyan . 3 = lyan . 3 'ET' ('PROG'
  904. 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01 3.00000E-01
  905. 3.00000E-01 3.00000E-01 1.00000E-01 1.00000E-01 1.00000E-01
  906. 1.00000E-01 1.00000E-01 1.00000E-01 1.00000E-01 1.00000E-01
  907. 1.00000E-01 1.00000E-01 1.00000E-01 1.00000E-01 1.00000E-01
  908. 1.00000E-01 1.00000E-01 1.00000E-01 1.00000E-01 1.00000E-01
  909. 1.00000E-01 ) ;
  910.  
  911. ERRO = 'ABS' (LRO '-' LROAN) ;
  912. ERP = 'ABS' (LP '-' LPAN) ;
  913. ERU = 'ABS' (LU '-' LUAN) ;
  914. ERS = 'ABS' (LS '-' LSAN) ;
  915.  
  916. L1RO = 0.0 ;
  917. L1P = 0.0 ;
  918. L1U = 0.0 ;
  919. L1S = 0.0 ;
  920.  
  921. NDIM = 'DIME' erro ;
  922.  
  923. 'REPETER' BL1 NDIM ;
  924. L1RO = L1RO '+' ('EXTRAIRE' &BL1 ERRO) ;
  925. L1P = L1P '+' ('EXTRAIRE' &BL1 ERP) ;
  926. L1U = L1U '+' ('EXTRAIRE' &BL1 ERU) ;
  927. L1S = L1S '+' ('EXTRAIRE' &BL1 ERS) ;
  928. 'FIN' BL1 ;
  929.  
  930. L1RO = L1RO '/' (NDIM * ('MAXIMUM' lroan)) ;
  931.  
  932.  
  933. L1P = L1P '/' (NDIM * ('MAXIMUM' lpan)) ;
  934.  
  935. L1U = L1U '/' (NDIM * ('MAXIMUM' luan)) ;
  936. L1S = L1S '/' (NDIM * ('MAXIMUM' lsan)) ;
  937.  
  938.  
  939. 'SI' (L1RO > 5.0D-2);
  940. 'ERREUR' 5 ;
  941. 'FINSI' ;
  942.  
  943. 'SI' (L1P > 1.0D-2);
  944. 'ERREUR' 5 ;
  945. 'FINSI' ;
  946.  
  947. 'SI' (L1U > 5.0D-2);
  948. 'ERREUR' 5 ;
  949. 'FINSI' ;
  950.  
  951. 'SI' (L1S > 5.0D-2);
  952. 'ERREUR' 5 ;
  953. 'FINSI' ;
  954.  
  955. 'SI' (('MAXIMUM' LV 'ABS') > 1.0D-6) ;
  956. 'ERREUR' 5 ;
  957. 'FINSI' ;
  958.  
  959. *
  960. *** Quelque DESSIN
  961. *
  962.  
  963. 'SI' GRAPH ;
  964. evroa = 'EVOL' 'MANU' 'x' lxx 'ro' lroan ;
  965. evpa = 'EVOL' 'MANU' 'x' lxx 'p' lpan ;
  966. evua = 'EVOL' 'MANU' 'x' lxx 'ua' luan ;
  967. evsa = 'EVOL' 'MANU' 'x' lxx 's' lsan ;
  968. evgama = 'EVOL' 'MANU' 'x' lxx 'gamma' lgaman ;
  969. TAB1=TABLE;
  970. TAB1.'TITRE'= TABLE ;
  971. TAB1.1='MARQ TRIB REGU';
  972. TAB1.'TITRE' . 1 = MOT 'Numerique' ;
  973. TAB1.2='MARQ CROI REGU';
  974. TAB1.'TITRE' . 2 = MOT 'Exacte' ;
  975. 'DESSIN' (evp 'ET' evpa) 'TITRE' tp 'XBOR' x0 x1
  976. 'LEGE' TAB1;
  977. 'DESSIN' (evu 'ET' evua) 'TITRE' tu 'XBOR' x0 x1
  978. 'LEGE' TAB1;
  979. 'DESSIN' (evgam 'ET' evgama) 'TITRE' tgam 'XBOR' x0 x1
  980. 'LEGE' TAB1;
  981. 'DESSIN' (evs 'ET' evsa) 'TITRE' ts 'XBOR' x0 x1
  982. 'LEGE' TAB1;
  983.  
  984. 'REPETER' BL 3 ;
  985. NOMCEL = 'EXTRAIRE' NOMECO &BL ;
  986. evyacel = 'EVOL' 'MANU' 'x' lxx nomcel
  987. (lyan . &BL ) ;
  988. 'DESSIN' ((evy . &BL) 'ET' evyacel) 'TITRE' TY
  989. 'XBOR' x0 x1 'YBOR' -0.01 1.01 'LEGE' TAB1;
  990. 'FIN' BL;
  991.  
  992. 'FINSI' ;
  993.  
  994. 'FIN' ;
  995.  
  996.  
  997.  
  998.  
  999.  

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