Télécharger konv_resi_ther_cons2.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : konv_resi_ther_cons2.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. **** APPROCHE VF "Cell-Centred Formulation" pour la ****
  6. **** solution des ****
  7. **** Equations d'Euler pour un gaz parfait ****
  8. **** OPERATEURS PRET, KONV ****
  9. **** ****
  10. **** Cas gaz multi-especes "thermally perfect" ****
  11. **** Consistence ****
  12. **** Splitting des scalaires passifs ****
  13. **** ****
  14. **** Methodes: VLH, SS ****
  15. **** ****
  16. **** A. BECCANTINI DRN/DMT/SEMT/LTMF AVRIL 2001 ****
  17. ***********************************************************
  18.  
  19. 'OPTION' 'DIME' 2 ;
  20. 'OPTION' 'ELEM' QUA4 ;
  21. 'OPTION' 'ECHO' 0 ;
  22. 'OPTION' 'TRAC' 'X' ;
  23.  
  24. *
  25. *** GRAPH
  26. *
  27.  
  28. GRAPH = FAUX ;
  29. * GRAPH = VRAI ;
  30.  
  31. ***********************
  32. **** LA TABLE PGAZ ****
  33. ***********************
  34.  
  35. PGAZ = 'TABLE' ;
  36. PGAZ2 = 'TABLE' ;
  37.  
  38. *
  39. **** Ordre des polynoms cv_i
  40. *
  41.  
  42. PGAZ . 'NORD' = 1 ;
  43. PGAZ2 . 'NORD' = 1 ;
  44.  
  45. *
  46. **** Especes qui sont dans les equations d'Euler
  47. *
  48.  
  49. PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  50. PGAZ2 . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  51.  
  52. *
  53. **** Espece qui n'y est pas
  54. *
  55.  
  56.  
  57. PGAZ . 'ESPNEULE' = 'N2 ';
  58. PGAZ2 . 'ESPNEULE' = 'N2 ';
  59.  
  60. *
  61.  
  62. PGAZ . 'H2 ' = 'TABLE' ;
  63. PGAZ . 'H2O ' = 'TABLE' ;
  64. PGAZ . 'N2 ' = 'TABLE' ;
  65. PGAZ . 'O2 ' = 'TABLE' ;
  66. PGAZ2 . 'H2 ' = 'TABLE' ;
  67. PGAZ2 . 'H2O ' = 'TABLE' ;
  68. PGAZ2 . 'N2 ' = 'TABLE' ;
  69. PGAZ2 . 'O2 ' = 'TABLE' ;
  70.  
  71. *
  72. **** R (J/Kg/K)
  73. *
  74.  
  75. PGAZ . 'H2 ' . 'R' = 4130.0 ;
  76. PGAZ . 'H2O ' . 'R' = 461.4 ;
  77. PGAZ . 'N2 ' . 'R' = 296.8 ;
  78. PGAZ . 'O2 ' . 'R' = 259.8 ;
  79. PGAZ2 . 'H2 ' . 'R' = 4130.0 ;
  80. PGAZ2 . 'H2O ' . 'R' = 461.4 ;
  81. PGAZ2 . 'N2 ' . 'R' = 296.8 ;
  82. PGAZ2 . 'O2 ' . 'R' = 259.8 ;
  83.  
  84.  
  85. *
  86. **** Regressions polynomials
  87. *
  88.  
  89. PGAZ . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 ;
  90. PGAZ . 'H2O ' . 'A' = 'PROG' 1155.95625 0.768331151 ;
  91. PGAZ . 'N2 ' . 'A' = 'PROG' 652.940766 0.288239099 ;
  92. PGAZ . 'O2 ' . 'A' = 'PROG' 575.012333 0.350522002 ;
  93. PGAZ2 . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 ;
  94. PGAZ2 . 'H2O ' . 'A' = 'PROG' 1155.95625 0.768331151 ;
  95. PGAZ2 . 'N2 ' . 'A' = 'PROG' 652.940766 0.288239099 ;
  96. PGAZ2 . 'O2 ' . 'A' = 'PROG' 575.012333 0.350522002 ;
  97.  
  98.  
  99. *
  100. **** "Enthalpies" (ou energies) de formations a OK (J/Kg)
  101. * Note: ce sont des entites numeriques
  102.  
  103. PGAZ . 'H2 ' . 'H0K' = -4.195D6 ;
  104. PGAZ . 'H2O ' . 'H0K' = -1.395D7 ;
  105. PGAZ . 'N2 ' . 'H0K' = -2.953D5 ;
  106. PGAZ . 'O2 ' . 'H0K' = -2.634D5 ;
  107. PGAZ2 . 'H2 ' . 'H0K' = -4.195D6 ;
  108. PGAZ2 . 'H2O ' . 'H0K' = -1.395D7 ;
  109. PGAZ2 . 'N2 ' . 'H0K' = -2.953D5 ;
  110. PGAZ2 . 'O2 ' . 'H0K' = -2.634D5 ;
  111.  
  112.  
  113. * PGAZ2: transport de scalaires passifs
  114.  
  115. PGAZ2 . 'SCALPASS' = 'MOTS' 'TUTU' 'TATA' ;
  116.  
  117.  
  118. ***************************
  119. ***** DOMAINE SPATIAL ****
  120. ***************************
  121.  
  122.  
  123. A1 = 0.0D0 0.0D0;
  124. A2 = 1.0D0 0.0D0;
  125. A3 = 2.0D0 0.0D0;
  126. A4 = 2.0D0 1.0D0;
  127. A5 = 1.0D0 1.0D0;
  128. A6 = 0.0D0 1.0D0;
  129.  
  130. L12 = A1 'DROIT' 1 A2;
  131. L23 = A2 'DROIT' 1 A3;
  132. L34 = A3 'DROIT' 1 A4;
  133. L45 = A4 'DROIT' 1 A5;
  134. L56 = A5 'DROIT' 1 A6;
  135. L61 = A6 'DROIT' 1 A1;
  136. L25 = A2 'DROIT' 1 A5;
  137.  
  138.  
  139. DOM10 = 'DALL' L12 L25 L56 L61
  140. 'PLANE';
  141. DOM20 = 'DALL' L23 L34 L45 ('INVERSE' L25)
  142. 'PLANE';
  143. *
  144. *** Point ou on controlle la consistence
  145. *
  146.  
  147. P10 = 1.0 0.5;
  148.  
  149. *
  150. *** Etats gauche et droite
  151. *
  152.  
  153. rogd = 1.412 ;
  154. pgd = 1.17D6 ;
  155. ungd = 8.34 ;
  156. utgd = 18.2 ;
  157. yh2gd = 0.1 ;
  158. yh2Ogd = 0.2 ;
  159. yN2gd = 0.15 ;
  160. yO2gd = 1 '-' (yh2gd '+' yh2Ogd '+' yn2gd) ;
  161. tutugd = 14.9 ;
  162. tatagd = 23.8 ;
  163.  
  164. *
  165. **** tg
  166. *
  167.  
  168. tgd = pgd '/' (rogd *
  169. ((yh2gd * (PGAZ . 'H2 ' . 'R')) '+'
  170. (yh2Ogd * (PGAZ . 'H2O ' . 'R')) '+'
  171. (yn2gd * (PGAZ . 'N2 ' . 'R')) '+'
  172. (yo2gd * (PGAZ . 'O2 ' . 'R')))) ;
  173.  
  174.  
  175. *
  176. **** gamg, gamd , htg , htd
  177. *
  178. *
  179.  
  180. A0H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 1 ;
  181. A1H2 = 'EXTRAIRE' (PGAZ . 'H2 ' . 'A') 2 ;
  182.  
  183. A0H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 1 ;
  184. A1H2O= 'EXTRAIRE' (PGAZ . 'H2O ' . 'A') 2 ;
  185.  
  186. A0N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 1 ;
  187. A1N2 = 'EXTRAIRE' (PGAZ . 'N2 ' . 'A') 2 ;
  188.  
  189. A0O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 1 ;
  190. A1O2 = 'EXTRAIRE' (PGAZ . 'O2 ' . 'A') 2 ;
  191.  
  192. T = tgd ;
  193. T2 = T * T ;
  194.  
  195.  
  196. ETGD = (yh2gd *
  197. ((A0H2 * T) '+' (A1H2 * T2 '/' 2)));
  198.  
  199. ETGD = ETGD '+' (yH2Ogd *
  200. ((A0H2O * T) '+' (A1H2O * T2 '/' 2)));
  201.  
  202. ETGD = ETGD '+' (yN2gd *
  203. ((A0N2 * T) '+' (A1N2 * T2 '/' 2)));
  204.  
  205. ETGD = ETGD '+' (yO2gd *
  206. ((A0O2 * T) '+' (A1O2 * T2 '/' 2))) ;
  207.  
  208. ecingd = 0.5D0 '*' ((ungd '*' ungd) '+' (utgd '*' utgd));
  209.  
  210. retgd = rogd '*' (ETGd '+' ecingd) ;
  211.  
  212. *
  213. *** flux en (n,t)
  214. *
  215.  
  216. f1gd = ungd '*' rogd ;
  217. f2gd = (rogd '*' (ungd '*' ungd)) '+' pgd ;
  218. f3gd = rogd '*' ungd '*' utgd ;
  219. f4gd = ungd '*' (retgd '+' pgd);
  220. f5gd = ungd '*' rogd '*' yh2gd ;
  221. f6gd = ungd '*' rogd '*' yo2gd ;
  222. f7gd = ungd '*' rogd '*' yh2ogd ;
  223. ftutugd = ungd '*' rogd '*' tutugd ;
  224. ftatagd = ungd '*' rogd '*' tatagd ;
  225.  
  226.  
  227. ****************************************************
  228. ****************************************************
  229. ******** Boucle sur les angles *********
  230. ****************************************************
  231. ****************************************************
  232.  
  233. DANGLE = 360 '/' 7.15;
  234. ANGLE = 11.3 ;
  235.  
  236. 'REPETER' BLOC 8;
  237.  
  238. *
  239. *** Rotation
  240. *
  241.  
  242.  
  243. ANGLE = ANGLE '+' DANGLE;
  244. ORIG = 0.0D0 0.0D0;
  245.  
  246. 'MESSAGE' ;
  247. 'MESSAGE' ('CHAINE' 'Angle de rotation= ' ANGLE);
  248. 'MESSAGE' ;
  249.  
  250. DOM1 = DOM10 'TOURNER' ANGLE ORIG;
  251. DOM2 = DOM20 'TOURNER' ANGLE ORIG;
  252. P1 = P10 'TOURNER' ANGLE ORIG;
  253.  
  254. DOMTOT = DOM1 'ET' DOM2;
  255. 'ELIMINATION' DOMTOT 1D-6;
  256.  
  257. $DOMTOT = 'MODELISER' DOMTOT 'EULER';
  258. $DOM1 = 'MODELISER' DOM1 'EULER';
  259. $DOM2 = 'MODELISER' DOM2 'EULER';
  260. TDOMTOT = 'DOMA' $DOMTOT 'VF';
  261. TDOM1 = 'DOMA' $DOM1 'VF';
  262. TDOM2 = 'DOMA' $DOM2 'VF';
  263. MDOM1 = TDOM1 . 'QUAF' ;
  264. MDOM2 = TDOM2 . 'QUAF' ;
  265. MDOMTOT = TDOMTOT . 'QUAF' ;
  266.  
  267. 'ELIM' (MDOMTOT 'ET' MDOM1 'ET' MDOM2) 1.E-6 ;
  268.  
  269. 'SI' GRAPH;
  270. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET'
  271. ('DOMA' $DOMTOT 'FACEL') 'ET' P1) 'TITRE' 'Domaine et FACEL';
  272. 'FINSI' ;
  273.  
  274. *
  275. **** Redefinition de P1 dans $DOMTOT 'FACE'
  276. *
  277.  
  278. P1 = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P1;
  279.  
  280. ***********************
  281. **** Les CHPOINTs ****
  282. ***********************
  283.  
  284. uxgd = (ungd '*' ('COS' ANGLE)) '-' (utgd '*' ('SIN' ANGLE));
  285. uygd = (ungd '*' ('SIN' ANGLE)) '+' (utgd '*' ('COS' ANGLE));
  286.  
  287.  
  288. RN = 'MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' rogd
  289. 'NATU' 'DISCRET' ;
  290.  
  291. VN = 'MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 2 'UX' uxgd
  292. 'UY' uygd 'NATU' 'DISCRET' ;
  293.  
  294. PN = 'MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 1 'SCAL' pgd
  295. 'NATU' 'DISCRET' ;
  296.  
  297. * attention: PGAZ . 'ESPEULE' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  298.  
  299. YN = 'MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 3
  300. 'H2 ' yh2gd 'O2 ' yo2gd
  301. 'H2O ' yh2ogd 'NATU' 'DISCRET' ;
  302.  
  303. * attention: PGAZ . 'SCALPASS' = 'MOTS' 'TUTU' 'TATA' ;
  304.  
  305. SCAN = 'MANU' 'CHPO' ('DOMA' $DOMTOT 'CENTRE') 2 'TUTU' tutugd
  306. 'TATA' tatagd 'NATU' 'DISCRET' ;
  307.  
  308. ***************************
  309. **** L'operateur PRET****
  310. ***************************
  311.  
  312. ORDESP = 1;
  313. ORDTEM = 1;
  314.  
  315.  
  316. ROF VITF PF YF = 'PRET' 'PERFTEMP' ORDESP ORDTEM
  317. $DOMTOT PGAZ RN VN PN YN ;
  318.  
  319.  
  320. ROF2 VITF2 PF2 YF2 SCAF = 'PRET' 'PERFTEMP' ORDESP ORDTEM
  321. $DOMTOT PGAZ2 RN VN PN YN SCAN ;
  322.  
  323. GEOP1 = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
  324. GEOP2 = ('DOMA' $DOMTOT 'FACE') 'ELEM' 'APPUYE' 'LARGEMENT' P1;
  325.  
  326.  
  327. REFGEOP1 = 'REDU' VITF GEOP2;
  328.  
  329. *
  330. **** Orientation de la normal n de castem par raport a la
  331. * notre; t est par consequence
  332. *
  333.  
  334. NCOS = 'EXTRAIRE' REFGEOP1 'NX' 1 1 1;
  335. NSIN = 'EXTRAIRE' REFGEOP1 'NY' 1 1 1;
  336.  
  337. 'SI' (('ABS' NCOS) > ('ABS' NSIN));
  338. ORIENT = ('COS' ANGLE) '/' NCOS;
  339. 'SINON';
  340. ORIENT = ('SIN' ANGLE) '/' NSIN;
  341. 'FINSI' ;
  342.  
  343. ORIENT = 'SIGN' ORIENT;
  344.  
  345. *
  346. **** Test 'KONV'
  347. *
  348.  
  349. 'REPETER' BLMETO 2 ;
  350.  
  351. 'SI' ('EGA' &BLMETO 1) ;
  352. METO = 'VLH' ;
  353. 'FINSI' ;
  354.  
  355. 'SI' ('EGA' &BLMETO 2) ;
  356. METO = 'SS' ;
  357. 'FINSI' ;
  358.  
  359. 'MESSAGE' ('CHAINE' 'METO = ' METO) ;
  360. LISTINC1 = ('MOTS' 'RN' 'RUNX' 'RUNY' 'RETN' 'H2' 'O2' 'H20')
  361. ;
  362. CHPFLU DT = 'KONV' 'VF' 'PERFTEMP' 'FLUX' METO
  363. $DOMTOT PGAZ LISTINC1 ROF VITF PF YF ;
  364.  
  365. FLUX1 = 'EXCO' ('EXTRAIRE' LISTINC1 1) CHPFLU ;
  366. FLUX2X = 'EXCO' ('EXTRAIRE' LISTINC1 2) CHPFLU ;
  367. FLUX2Y = 'EXCO' ('EXTRAIRE' LISTINC1 3) CHPFLU ;
  368. FLUX3 = 'EXCO' ('EXTRAIRE' LISTINC1 4) CHPFLU ;
  369.  
  370. FLUX2N = (FLUX2X '*' ('COS' ANGLE)) '+' (FLUX2Y * ('SIN' ANGLE));
  371. FLUX2T = (FLUX2Y '*' ('COS' ANGLE)) '-' (FLUX2X * ('SIN' ANGLE));
  372.  
  373. FLUX4 = 'EXCO' ('MOTS' 'H2' 'O2' 'H20') CHPFLU
  374. (PGAZ . 'ESPEULE') 'NATU' 'DISCRET' ;
  375.  
  376.  
  377. f1 = 'EXTRAIRE' FLUX1 'SCAL' P1;
  378. ERRO = 'ABS' (1D-8 '*' f1gd);
  379. LOGI1 = ('ABS' ((f1 '*' ORIENT) '-' f1gd)) < ERRO;
  380.  
  381. f2 = 'EXTRAIRE' FLUX2N 'SCAL' P1;
  382. ERRO = 'ABS' (1D-8 '*' f2gd);
  383. LOGI2 = ('ABS' ((f2 '*' ORIENT) '-' f2gd)) < ERRO;
  384. LOGI1 = LOGI1 'ET' LOGI2;
  385.  
  386. f3 = 'EXTRAIRE' FLUX2T 'SCAL' P1;
  387. ERRO = 'ABS' (1D-8 '*' f3gd) ;
  388. LOGI2 = ('ABS' ((f3 '*' ORIENT) '-' f3gd)) < ERRO;
  389. LOGI1 = LOGI1 'ET' LOGI2;
  390.  
  391. f4 = 'EXTRAIRE' FLUX3 'SCAL' P1;
  392. ERRO = 'ABS' (1D-8 '*' f4gd) ;
  393. LOGI2 = ('ABS' ((f4 '*' ORIENT) '-' f4gd)) < ERRO;
  394. LOGI1 = LOGI1 'ET' LOGI2;
  395.  
  396. f5 = 'EXTRAIRE' FLUX4 'H2 ' P1;
  397. ERRO = 'ABS' (1D-8 '*' f5gd) ;
  398. LOGI2 = ('ABS' ((f5 '*' ORIENT) '-' f5gd)) < ERRO;
  399. LOGI1 = LOGI1 'ET' LOGI2;
  400.  
  401. f6 = 'EXTRAIRE' FLUX4 'O2 ' P1;
  402. ERRO = 'ABS' (1D-8 '*' f6gd) ;
  403. LOGI2 = ('ABS' ((f6 '*' ORIENT) '-' f6gd)) < ERRO;
  404. LOGI1 = LOGI1 'ET' LOGI2;
  405.  
  406. f7 = 'EXTRAIRE' FLUX4 'H2O ' P1;
  407. ERRO = 'ABS' (1D-8 '*' f7gd) ;
  408. LOGI2 = ('ABS' ((f7 '*' ORIENT) '-' f7gd)) < ERRO;
  409. LOGI1 = LOGI1 'ET' LOGI2;
  410.  
  411.  
  412. 'SI' ('NON' LOGI1);
  413. 'MESSAGE' ;
  414. 'MESSAGE' 'OPERATEUR KONV';
  415. 'MESSAGE' ('CHAINE' METO);
  416. 'MESSAGE' ;
  417. 'MESSAGE' ('CHAINE' 'df1 ' ('ABS' (f1gd '-' (ORIENT '*'f1)))
  418. ' f1 ' f1);
  419. 'MESSAGE' ('CHAINE' 'df2 ' ('ABS' (f2gd '-' (ORIENT '*'f2)))
  420. ' f2 ' f2);
  421. 'MESSAGE' ('CHAINE' 'df3 ' ('ABS' (f3gd '-' (ORIENT '*'f3)))
  422. ' f3 ' f3);
  423. 'MESSAGE' ('CHAINE' 'df4 ' ('ABS' (f4gd '-' (ORIENT '*'f4)))
  424. ' f4 ' f4);
  425. 'MESSAGE' ('CHAINE' 'df5 ' ('ABS' (f5gd '-' (ORIENT '*'f5)))
  426. ' f5 ' f5);
  427. 'MESSAGE' ('CHAINE' 'df6 ' ('ABS' (f6gd '-' (ORIENT '*'f6)))
  428. ' f6 ' f6);
  429. 'MESSAGE' ('CHAINE' 'df7 ' ('ABS' (f7gd '-' (ORIENT '*'f7)))
  430. ' f7 ' f7);
  431. 'ERREUR' 5;
  432. 'FINSI' ;
  433.  
  434. ************************************************
  435. ***** Splitting des scalaires passifs **********
  436. ************************************************
  437.  
  438. 'MESSAGE' ('CHAINE' 'METO = ' METO ' (scalaires passifs)') ;
  439. LISTINC2 = ('MOTS' 'RN' 'RUNX' 'RUNY' 'RETN' 'H2' 'O2' 'H20'
  440. 'TUTU' 'TATA') ;
  441. CHPFLU2 DT2 = 'KONV' 'VF' 'PERFTEMP' 'FLUX' METO
  442. $DOMTOT PGAZ2 LISTINC2 ROF VITF PF YF SCAF ;
  443.  
  444.  
  445. CHPFLU3 = 'EXCO' LISTINC1 CHPFLU2 LISTINC1 ;
  446.  
  447. 'SI' (('MAXIMUM' (CHPFLU3 '-' CHPFLU) 'ABS') > 1.0D-15) ;
  448. 'MESSAGE' 'Probleme dans les transport de scalaires passifs' ;
  449. 'ERREUR' 5;
  450. 'FINSI' ;
  451.  
  452.  
  453. *
  454. **** Test 'KONV'
  455. *
  456.  
  457. fceltutu = 'EXTRAIRE' CHPFLU2 'TUTU' P1;
  458. LOGI1 = ('ABS' ((fceltutu '*' ORIENT) '-' ftutugd)) <
  459. ('ABS' (1.0D-8 * fceltutu)) ;
  460.  
  461. fceltata = 'EXTRAIRE' CHPFLU2 'TATA' P1;
  462. LOGI2 = ('ABS' ((fceltata '*' ORIENT) '-' ftatagd)) <
  463. ('ABS' (1.0D-8 * fceltata)) ;
  464. LOGI1 = LOGI1 'ET' LOGI2;
  465.  
  466. 'SI' ('NON' LOGI1);
  467. 'MESSAGE' ;
  468. 'MESSAGE' 'OPERATEUR KONV';
  469. 'MESSAGE' 'Transport de scalaires passifs' ;
  470. 'ERREUR' 5;
  471. 'FINSI' ;
  472.  
  473.  
  474. *
  475. ****** Le residu
  476. *
  477. *
  478. ****** CHPDIR = chpoint sur les face de chaque elts
  479. *
  480. *
  481. * NB Dans ce cas particulier, DOMTOT n'a que de QUA4,
  482. * donc ($DOMTOT . 'XXNORMAE') contient une seule
  483. * zona elementaire!
  484.  
  485.  
  486. RESI MATCEL = 'KOPS' 'MATRIK' ;
  487. MAICHA = 'EXTRAIRE' ('DOMA' $DOMTOT 'XXNORMAE') 'MAILLAGE' ;
  488. NBELEM = 'NBEL' MAICHA ;
  489.  
  490. 'REPETER' BLELE NBELEM ;
  491. CHPDIR MATCEL = 'KOPS' 'MATRIK' ;
  492. ELEM1 = &BLELE 'ELEM' MAICHA ;
  493. ELEMC1 = 'CHANGER' ELEM1 'POI1' ;
  494. NBPOIN = 'NBNO' ELEMC1 ;
  495. PCEN = ('DOMA' $DOMTOT 'CENTRE') 'POIN' &BLELE ;
  496. XVOL = ('DOMA' $DOMTOT 'XXVOLUM') 'EXTRAIRE' PCEN 'SCAL' ;
  497. MAICEN = 'MANU' 'POI1'PCEN ;
  498. 'REPETER' BLEPO NBPOIN ;
  499. P1 = &BLEPO 'POIN' ELEMC1 ;
  500. ELEP1 = 'MANUEL' 'POI1' P1 ;
  501. COEFNO = 'EXTRAIRE' ('DOMA' $DOMTOT 'XXNORMAE')
  502. 'SCAL' 1 &BLELE &BLEPO ;
  503. CHPDIR = CHPDIR 'ET' ('MANUEL' 'CHPO' ELEP1 1 'SCAL'
  504. COEFNO 'NATU' 'DISCRET') ;
  505. 'FIN' BLEPO ;
  506. MAIDIR = 'EXTRAIRE' CHPDIR 'MAILLAGE' ;
  507. *
  508. ********* Le flux qui sort
  509. *
  510. FLUSOR = CHPDIR '*' ('REDU' CHPFLU2 MAIDIR)
  511. ('MOTS' 'SCAL' 'SCAL' 'SCAL' 'SCAL' 'SCAL' 'SCAL'
  512. 'SCAL' 'SCAL' 'SCAL' )
  513. LISTINC2 LISTINC2 ;
  514. CHPUN = 'MANUEL' 'CHPO' MAIDIR 1 'SCAL' (-1./XVOL) ;
  515. NBCOMP = 'DIME' LISTINC2 ;
  516. 'REPETER' BLCOM NBCOMP ;
  517. NOMCOM = 'EXTRAIRE' LISTINC2 &BLCOM ;
  518. CELSCA = 'XTY' FLUSOR CHPUN ('MOTS' NOMCOM)
  519. ('MOTS' 'SCAL') ;
  520. RESI = RESI 'ET' ('MANUEL' 'CHPO' MAICEN 1
  521. NOMCOM CELSCA 'NATU' 'DISCRET') ;
  522. 'FIN' BLCOM ;
  523. 'FIN' BLELE ;
  524.  
  525. CHPRES DT1 = 'KONV' 'VF' 'PERFTEMP' 'RESI' METO
  526. $DOMTOT PGAZ2 LISTINC2 ROF VITF PF YF SCAF ;
  527.  
  528. ERRO = 'MAXIMUM' (RESI '-' CHPRES) 'ABS' ;
  529. 'SI' (ERRO > 1.0D-8) ;
  530. 'MESSAGE' ;
  531. 'MESSAGE' 'Probleme dans KONV' ;
  532. 'ERREUR' 5 ;
  533. 'FINSI' ;
  534.  
  535. ERRO = 'ABS' (DT '-' DT1) ;
  536. 'SI' (ERRO > 1.0D-15) ;
  537. 'MESSAGE' ;
  538. 'MESSAGE' 'Probleme dans KONV' ;
  539. 'ERREUR' 5 ;
  540. 'FINSI' ;
  541.  
  542.  
  543.  
  544. 'FIN' BLMETO ;
  545.  
  546.  
  547. ****************************************************
  548. ****************************************************
  549. ******** Fin boucle sur les angles *********
  550. ****************************************************
  551. ****************************************************
  552.  
  553. 'FIN' BLOC;
  554.  
  555. 'FIN' ;
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562.  
  563.  
  564.  
  565.  
  566.  

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