Télécharger konv_resi_dem3D_constant_state.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : konv_resi_dem3D_constant_state.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. **** APPROCHE VF "Cell-Centred Formulation" pour la ****
  6. **** solution des ****
  7. **** Equations d'Euler pour un gaz parfait ****
  8. **** Approche DEM pour la combustion ****
  9. **** OPERATEURS PRET, KONV ****
  10. **** 3D ****
  11. **** ****
  12. **** Consistency (phase 1 and 2) ****
  13. **** ****
  14. **** Methodes: VLH, SS, AUSMPUP ****
  15. **** ****
  16. **** A. BECCANTINI DM2S/SFME/LTMF DECEMBRE 2010 ****
  17. ***********************************************************
  18.  
  19. 'OPTION' 'DIME' 3 'ELEM' 'CUB8' 'ECHO' 1 'TRAC' 'X' ;
  20.  
  21. *
  22. *** GRAPH
  23. *
  24.  
  25. GRAPH = FAUX ;
  26. * GRAPH = VRAI ;
  27.  
  28. **** Cas homogene : la table proprieté de gaz
  29.  
  30. *************************************************
  31. **** The table for the properties of the gas ****
  32. *************************************************
  33. *
  34. PGAS = 'TABLE' ;
  35. *
  36. **** Order of the polynomial order for cv = cv(T)
  37. * For T > TMAX, cv(T) = cv(Tmax)
  38. *
  39. PGAS . 'TMAX' = 6000.0 ;
  40. PGAS . 'NORD' = 4 ;
  41. *
  42. **** Species involved in the mixture (before or after
  43. * the chemical reaction)
  44. *
  45. PGAS . 'SPECIES' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ' ;
  46. *
  47. *
  48. **** Coefficient of the chemical reaction.
  49. * Note that for the first species this coefficient should be positive
  50. * Normal, we take it equal to 1.
  51. *
  52. * H2 '+' 0.5 O2 ---> H2O
  53. *
  54. PGAS . 'CHEMCOEF' = 'PROG' 1.0 0.5 -1.0 0.0 ;
  55. *
  56. **** Mass fraction of the first species before and after the combustion
  57. * Final mass fractions of the species with positive coefficients.
  58. * Final mass fractions of the species with non-positive coefficient.
  59. * The mass fraction of the last species is not given.
  60. *
  61. PGAS . 'MASSFRA' = 'PROG' 0.285219E-01 0.964039E-11 0.765104E-10
  62. 0.127442E-10 ;
  63. PGAS . 'MASSFRA' = 'PROG' 0.285219E-01 0.964039E-11 0.765104E-10
  64. 0.127442E-10 ;
  65. *
  66. **** Coef with the gas properties
  67. *
  68. PGAS . 'H2 ' = 'TABLE' ;
  69. PGAS . 'H2O ' = 'TABLE' ;
  70. PGAS . 'N2 ' = 'TABLE' ;
  71. PGAS . 'O2 ' = 'TABLE' ;
  72. *
  73. **** Runiv (J/mole/K)
  74. *
  75. PGAS . 'RUNIV' = 8.31441 ;
  76. *
  77. **** W (kg/mole). Gas constant (J/kg/K = Runiv/W)
  78. *
  79. PGAS . 'H2 ' . 'W' = 2.016E-3 ;
  80. PGAS . 'O2 ' . 'W' = 31.999E-3 ;
  81. PGAS . 'H2O ' . 'W' = 18.0155E-3 ;
  82. PGAS . 'N2 ' . 'W' = 28.013E-3 ;
  83. *
  84. **** Polynomial coefficients
  85. *
  86. PGAS . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 0.000862203836
  87. -2.37281455E-07 1.84701105E-11 ;
  88. PGAS . 'H2O ' . 'A' = 'PROG' 1155.95625 0.768331151 -5.73129958E-05
  89. -1.82753232E-08 2.44485692E-12 ;
  90. PGAS . 'N2 ' . 'A' = 'PROG' 652.940766 0.288239099 -7.80442298E-05
  91. 8.78233606E-09 -3.05514485E-13 ;
  92. PGAS . 'O2 ' . 'A' = 'PROG' 575.012333 0.350522002 -0.000128294865
  93. 2.33636971E-08 -1.53304905E-12;
  94. *
  95. **** Formation enthalpies (energies) at 0K (J/Kg)
  96. *
  97. PGAS . 'H2 ' . 'H0K' = -4.195D6 ;
  98. PGAS . 'H2O ' . 'H0K' = -1.395D7 ;
  99. PGAS . 'N2 ' . 'H0K' = -2.953D5 ;
  100. PGAS . 'O2 ' . 'H0K' = -2.634D5 ;
  101.  
  102.  
  103. ***************************
  104. ***** DOMAINE SPATIAL ****
  105. ***************************
  106.  
  107. A1 = 0.0D0 0.0D0 0.0;
  108. A2 = 1.0D0 0.0D0 0.0;
  109. A3 = 2.0D0 0.0D0 0.0;
  110. A4 = 2.0D0 1.0D0 0.0;
  111. A5 = 1.0D0 1.0D0 0.0;
  112. A6 = 0.0D0 1.0D0 0.0;
  113.  
  114. L12 = A1 'DROIT' 1 A2;
  115. L23 = A2 'DROIT' 1 A3;
  116. L34 = A3 'DROIT' 1 A4;
  117. L45 = A4 'DROIT' 1 A5;
  118. L56 = A5 'DROIT' 1 A6;
  119. L61 = A6 'DROIT' 1 A1;
  120. L25 = A2 'DROIT' 1 A5;
  121.  
  122.  
  123. BAS1 = 'DALL' L12 L25 L56 L61
  124. 'PLANE';
  125. DOM1 = 'VOLUME' BAS1 'TRANSLATION' 1 (0.0 0.0 1.0) ;
  126. BAS2 = 'DALL' L23 L34 L45 ('INVERSE' L25)
  127. 'PLANE';
  128. DOM2 = 'VOLUME' BAS2 'TRANSLATION' 1 (0.0 0.0 1.0) ;
  129.  
  130. DOM10 = DOM1 ;
  131. DOM20 = DOM2 ;
  132. DOMTOT = DOM1 'ET' DOM2 ;
  133. 'ELIMINATION' 0.0001 DOMTOT ;
  134.  
  135. *
  136. *** Point ou on controlle la consistence
  137. *
  138.  
  139. P10 = 1.0 0.5 0.5 ;
  140.  
  141. $DOMTOT = 'MODELISER' DOMTOT 'EULER';
  142. $DOM1 = 'MODELISER' DOM1 'EULER';
  143. $DOM2 = 'MODELISER' DOM2 'EULER';
  144. TDOMTOT = 'DOMA' $DOMTOT 'VF';
  145. TDOM1 = 'DOMA' $DOM1 'VF';
  146. TDOM2 = 'DOMA' $DOM2 'VF';
  147. MDOM1 = TDOM1 . 'QUAF' ;
  148. MDOM2 = TDOM2 . 'QUAF' ;
  149. MDOMTOT = TDOMTOT . 'QUAF' ;
  150.  
  151. 'ELIM' (MDOMTOT 'ET' MDOM1 'ET' MDOM2) 1.E-6 ;
  152.  
  153.  
  154. 'SI' GRAPH;
  155. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET'
  156. ('DOMA' $DOMTOT 'FACEL') 'ET' P1) 'TITRE' 'Domaine et FACEL';
  157. 'FINSI' ;
  158.  
  159. *
  160. EPS = 1.0D-16 ;
  161. K0 = 10.0 ;
  162. *
  163. *******************************************
  164. *** Etats gauche et droite ****************
  165. *******************************************
  166. *
  167. * There are 3 fluxes to control :
  168. * 1 -> 2 can be checked by considering an exact reactive shock
  169. * 2 -> 1 can be checked by considering an exact reactive shock
  170. * 1 -> 1 can be checked via consistency (or via an exact non-reactive
  171. * or by comparing the results with a non-reactive one)
  172. * 2 -> 2 can be checked via consistency (or via an exact non-reactive
  173. * or by comparing the results with a non-reactive one)
  174. *
  175. * Case 1 -> 1
  176. * Constant state
  177. *
  178. tg1 = 293.16 ;
  179. td1 = 293.16 ;
  180. pg1 = 1.023e5 ;
  181. pd1 = 1.023e5 ;
  182. ung1 = 122.0 ;
  183. und1 = 122.0 ;
  184. utg1 = 101.0 ;
  185. utd1 = 101.0 ;
  186. uvg1 = 107.;
  187. uvd1 = 107.;
  188. tg2 = 2800.15 ;
  189. td2 = 2800.15 ;
  190. pg2 = 1.023e5 ;
  191. pd2 = 1.023e5 ;
  192. ung2 = 150.0 ;
  193. und2 = 150.0 ;
  194. utg2 = 160.0 ;
  195. utd2 = 160.0 ;
  196. uvg2 = 113.0 ;
  197. uvd2 = 113.0 ;
  198.  
  199. TN1 = 'PROG' tg1 td1 ;
  200. TN2 = 'PROG' tg2 td2 ; ;
  201. PN1 = 'PROG' pg1 pd1 ;
  202. PN2 = 'PROG' pg2 pd2 ;
  203. UN1 = 'PROG' ung1 und1 ;
  204. UN2 = 'PROG' ung2 und2 ;
  205. UT1 = 'PROG' utg1 utd1 ;
  206. UT2 = 'PROG' utg2 utd2 ;
  207. UV1 = 'PROG' uvg1 uvd1 ;
  208. UV2 = 'PROG' uvg2 uvd2 ;
  209.  
  210. alph1 = 0.1 ;
  211. alph2 = 1.0 '-' alph1 ;
  212. ALPHA1 = 'PROG' alph1 alph1 ;
  213. ALPHA2 = 'PROG' alph2 alph2 ;
  214.  
  215. *
  216. * ETHER = int_0^T cv(T') dT' T < TMAX
  217. * = int_0^TMAX cv(T') dT' '+'
  218. * cv(TMAX) T >= TMAX
  219. *
  220.  
  221. ESP1 = 'EXTRAIRE' (PGAS . 'SPECIES') 1 ;
  222. * DY1 = y_i - y_f for the species 1
  223. DY1 = (('EXTRAIRE' (PGAS . 'MASSFRA') 1) '-'
  224. ('EXTRAIRE' (PGAS . 'MASSFRA') 2)) ;
  225. COEF1 = ('EXTRAIRE' (PGAS . 'CHEMCOEF') 1) '*'
  226. (PGAS . ESP1 . 'W') ;
  227. YFINPH1 = 1.0 ;
  228. YFINPH2 = 1.0 ;
  229. 'SI' (COEF1 > 0) ;
  230. YPH2 = 'EXTRAIRE' (PGAS . 'MASSFRA') 2 ;
  231. YPH1 = YPH2 '+' DY1 ;
  232. 'SINON' ;
  233. YPH1 = 'EXTRAIRE' (PGAS . 'MASSFRA') 2 ;
  234. YPH2 = YPH1 '-' DY1 ;
  235. 'FINSI' ;
  236. YFINPH1 = YFINPH1 '-' YPH1 ;
  237. YFINPH2 = YFINPH2 '-' YPH2 ;
  238. PRYPH1 = 'PROG' YPH1 ;
  239. PRYPH2 = 'PROG' YPH2 ;
  240. 'REPETER' BLESP (('DIME' (PGAS . 'SPECIES')) '-' 2) ;
  241. ESP = 'EXTRAIRE' (PGAS . 'SPECIES') (&BLESP '+' 1) ;
  242. COEF = ('EXTRAIRE' (PGAS . 'CHEMCOEF') (&BLESP '+' 1))
  243. '*' (PGAS . ESP . 'W') ;
  244. DY = (DY1 * (COEF '/' COEF1)) ;
  245. 'SI' (COEF > 0) ;
  246. YPH2 = 'EXTRAIRE' (PGAS . 'MASSFRA') (&BLESP '+' 2) ;
  247. YPH1 = YPH2 '+' DY ;
  248. 'SINON' ;
  249. YPH1 = 'EXTRAIRE' (PGAS . 'MASSFRA') (&BLESP '+' 2) ;
  250. YPH2 = YPH1 '-' DY ;
  251. 'FINSI' ;
  252. PRYPH1 = PRYPH1 'ET' ('PROG' YPH1) ;
  253. PRYPH2 = PRYPH2 'ET' ('PROG' YPH2) ;
  254. YFINPH1 = YFINPH1 '-' YPH1 ;
  255. YFINPH2 = YFINPH2 '-' YPH2 ;
  256. 'FIN' BLESP ;
  257. PRYPH1 = PRYPH1 'ET' ('PROG' YFINPH1) ;
  258. PRYPH2 = PRYPH2 'ET' ('PROG' YFINPH2) ;
  259. 'LISTE' PRYPH1 ;
  260. 'LISTE' PRYPH2 ;
  261. *
  262. TMAX = ('PROG' ('DIME' ALPHA1) '*' (PGAS . 'TMAX')) ;
  263. * TCAL1 = MIN TN1, TMAX
  264. TCAL1 = 0.5D0 '*' ((TMAX '+' TN1) '-' ('ABS' (TN1 '-' TMAX))) ;
  265. DTN1 = TN1 '-' TCAL1 ;
  266. * TCAL1 = MIN TN1, TMAX
  267. TCAL2 = 0.5D0 '*' ((TMAX '+' TN2) '-' ('ABS' (TN2 '-' TMAX))) ;
  268. DTN2 = TN2 '-' TCAL2 ;
  269. *
  270. * Internal energy (J/kg in SI)
  271. *
  272. ETHER1 = ('PROG' ('DIME' ALPHA1) '*' 0.0) ;
  273. CV1 = ('PROG' ('DIME' ALPHA1) '*' 0.0) ;
  274. ETHER2 = ('PROG' ('DIME' ALPHA1) '*' 0.0) ;
  275. CV2 = ('PROG' ('DIME' ALPHA1) '*' 0.0) ;
  276. FUNTN1 = ('PROG' ('DIME' ALPHA1) '*' 1.0) ;
  277. FUNTN2 = ('PROG' ('DIME' ALPHA1) '*' 1.0) ;
  278. 'REPETER' BLPO ((PGAS . 'NORD') '+' 1) ;
  279. 'REPETER' BLESP ('DIME' (PGAS . 'SPECIES')) ;
  280. ESP = 'EXTRAIRE' (PGAS . 'SPECIES') &BLESP ;
  281. YCEL1 = 'EXTRAIRE' PRYPH1 &BLESP ;
  282. YCEL2 = 'EXTRAIRE' PRYPH2 &BLESP ;
  283. AA = 'EXTRAIRE' (PGAS . ESP . 'A') &BLPO ;
  284. DCV1 = (AA * YCEL1 * FUNTN1) ;
  285. DCV2 = (AA * YCEL2 * FUNTN2) ;
  286. CV1 = CV1 '+' DCV1 ;
  287. CV2 = CV2 '+' DCV2 ;
  288. ETHER1 = ETHER1 '+' (DCV1 * TCAL1 '/' (&BLPO)) ;
  289. ETHER2 = ETHER2 '+' (DCV2 * TCAL2 '/' (&BLPO)) ;
  290. 'FIN' BLESP ;
  291. FUNTN1 = FUNTN1 '*' TCAL1 ;
  292. FUNTN2 = FUNTN2 '*' TCAL2 ;
  293. 'FIN' BLPO ;
  294. ETHER1 = ETHER1 '+' (CV1 '*' DTN1) ;
  295. ETHER2 = ETHER2 '+' (CV2 '*' DTN2) ;
  296. *
  297. * Formation energy/enthalpy (J/kg in SI) and gas constant (J/kg/K)
  298. *
  299. EFORM1 = 0.0 ;
  300. EFORM2 = 0.0 ;
  301. RGAS1 = 0.0 ;
  302. RGAS2 = 0.0 ;
  303. 'REPETER' BLESP ('DIME' (PGAS . 'SPECIES')) ;
  304. ESP = 'EXTRAIRE' (PGAS . 'SPECIES') &BLESP ;
  305. YCEL1 = 'EXTRAIRE' PRYPH1 &BLESP ;
  306. YCEL2 = 'EXTRAIRE' PRYPH2 &BLESP ;
  307. EFORM1 = EFORM1 '+' (YCEL1 * (PGAS . ESP . 'H0K')) ;
  308. EFORM2 = EFORM2 '+' (YCEL2 * (PGAS . ESP . 'H0K')) ;
  309. RGAS1 = RGAS1 '+' (YCEL1 * (PGAS . 'RUNIV') '/'
  310. (PGAS . ESP . 'W')) ;
  311. RGAS2 = RGAS2 '+' (YCEL2 * (PGAS . 'RUNIV') '/'
  312. (PGAS . ESP . 'W')) ;
  313. 'FIN' BLESP ;
  314. EFORM1 = 'PROG' ('DIME' ETHER1) '*' EFORM1 ;
  315. EFORM2 = 'PROG' ('DIME' ETHER2) '*' EFORM2 ;
  316.  
  317. *
  318. * Computation of the conservative variables
  319. *
  320. RN1 = PN1 '/' (RGAS1 '*' TN1) ;
  321. RN2 = PN2 '/' (RGAS2 '*' TN2) ;
  322. GNX1 = RN1 * UN1 ;
  323. GNY1 = RN1 * UT1 ;
  324. GNX2 = RN2 * UN2 ;
  325. GNY2 = RN2 * UT2 ;
  326. ECIN1 = 0.5D0 '*' ('PROG'
  327. ((ung1 * ung1) '+' (utg1 * utg1) '+' (uvg1 * uvg1))
  328. ((und1 * und1) '+' (utd1 * utd1) '+' (uvd1 * uvd1))
  329. );
  330. ECIN2 = 0.5D0 '*' ('PROG'
  331. ((ung2 * ung2) '+' (utg2 * utg2) '+' (uvg2 * uvg2))
  332. ((und2 * und2) '+' (utd2 * utd2) '+' (uvd2 * uvd2)));
  333. RETN1 = RN1 '*' (ETHER1 '+' ECIN1 '+' EFORM1) ;
  334. RETN2 = RN2 '*' (ETHER2 '+' ECIN2 '+' EFORM2) ;
  335. *
  336. * Computation of the resi contribution in (n,t)
  337. *
  338. * State 1
  339. retg1 = MAXI RETN1 ;
  340. rhog1 = 'MAXIMUM' RN1 ;
  341. f1dg1 = (ung1 '*' rhog1) ;
  342. f2dg1 = ((f1dg1 '*' ung1) '+' pg1) ;
  343. f3dg1 = (f1dg1 '*' utg1) ;
  344. f4dg1 = (f1dg1 '*' uvg1) ;
  345. f5dg1 = (ung1 '*' (retg1 '+' pg1)) ;
  346. *
  347. f1dg1 = f1dg1 * alph1 ;
  348. f2dg1 = f2dg1 * alph1 ;
  349. f3dg1 = f3dg1 * alph1 ;
  350. f4dg1 = f4dg1 * alph1 ;
  351. f5dg1 = f5dg1 * alph1 ;
  352.  
  353. * State 2
  354. retg2 = MAXI RETN2 ;
  355. rhog2 = 'MAXIMUM' RN2 ;
  356. f1dg2 = (ung2 '*' rhog2) ;
  357. f2dg2 = ((f1dg2 '*' ung2) '+' pg2) ;
  358. f3dg2 = (f1dg2 '*' utg2) ;
  359. f4dg2 = (f1dg2 '*' uvg2) ;
  360. f5dg2 = (ung2 '*' (retg2 '+' pg2)) ;
  361. *
  362. f1dg2 = f1dg2 * alph2 ;
  363. f2dg2 = f2dg2 * alph2 ;
  364. f3dg2 = f3dg2 * alph2 ;
  365. f4dg2 = f4dg2 * alph2 ;
  366. f5dg2 = f5dg2 * alph2 ;
  367.  
  368. ****************************************************
  369. ****************************************************
  370. ******** Boucle sur les angles *********
  371. ****************************************************
  372. ****************************************************
  373.  
  374. DANGLE = 360 '/' 7.15;
  375. ANGLE = 0.0 ;
  376.  
  377. 'REPETER' BLOC 8;
  378.  
  379. *
  380. *** Rotation
  381. *
  382.  
  383. ANGLE = ANGLE '+' DANGLE;
  384. ORIG = 0.0D0 0.0D0 0.0 ;
  385. P1 = 1.0 1.0 1.0 ;
  386.  
  387. 'MESSAGE' ;
  388. 'MESSAGE' (CHAIN 'Angle de rotation= ' ANGLE);
  389. 'MESSAGE' ;
  390.  
  391. DOM1 = DOM10 'TOURNER' ANGLE ORIG P1 ;
  392. DOM2 = DOM20 'TOURNER' ANGLE ORIG P1 ;
  393. P1FAC = P10 'TOURNER' ANGLE ORIG P1 ;
  394.  
  395. DOMTOT = DOM1 ET DOM2;
  396. 'ELIMINATION' DOMTOT 1D-6;
  397.  
  398. $DOMTOT = 'MODELISER' DOMTOT 'EULER';
  399. $DOM1 = 'MODELISER' DOM1 'EULER';
  400. $DOM2 = 'MODELISER' DOM2 'EULER';
  401. TDOMTOT = 'DOMA' $DOMTOT 'VF';
  402. TDOM1 = 'DOMA' $DOM1 'VF';
  403. TDOM2 = 'DOMA' $DOM2 'VF';
  404. MDOM1 = TDOM1 . 'QUAF' ;
  405. MDOM2 = TDOM2 . 'QUAF' ;
  406. MDOMTOT = TDOMTOT . 'QUAF' ;
  407.  
  408. 'ELIM' (MDOMTOT 'ET' MDOM1 'ET' MDOM2) 1.E-6 ;
  409. GRALP1 = 'NOMC' ('MOTS' 'UX' 'UY' 'UZ') (TDOMTOT . 'XXNORMAF')
  410. ('MOTS' 'P1DX' 'P1DY' 'P1DZ') ;
  411.  
  412. *
  413. VINF = 'MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' 100. ;
  414. *
  415. **** Redefinition de P1FAC dans $DOMTOT 'FACE'
  416. *
  417.  
  418. P1FAC = ('DOMA' $DOMTOT 'FACE') 'POIN' 'PROC' P1FAC ;
  419. XSURF = 'EXTRAIRE' ('DOMA' $DOMTOT 'XXSURFAC') P1FAC 'SCAL' ;
  420. NX = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'MX' ;
  421. NY = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'MY' ;
  422. NZ = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'MZ' ;
  423. TX = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'UX' ;
  424. TY = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'UY' ;
  425. TZ = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'UZ' ;
  426. VX = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'RX' ;
  427. VY = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'RY' ;
  428. VZ = 'EXTRAIRE' (TDOMTOT . 'MATROT') P1FAC 'RZ' ;
  429.  
  430. GEOPC = ('DOMA' $DOMTOT 'FACEL') 'ELEM' 'APPUYE' 'LARGEMENT'
  431. P1FAC ;
  432. AA = 'CHANGER' GEOPC 'POI1' ;
  433. PC1 = 'POIN' 1 AA ;
  434. P2 = 'POIN' 1 ('DOMA' $DOMTOT 'CENTRE') ;
  435. PC2 = 'POIN' 3 AA ;
  436. * Si P3 n'existe pas, probleme en FACEL.
  437. 'SI' ('NEG' PC1 P2) ;
  438. ORIENT = -1 ;
  439. PCD = PC1 ;
  440. PCG = PC2 ;
  441. XVOLD = 'MAXIMUM' (TDOM1 . 'XXVOLUM') ;
  442. XVOLG = 'MAXIMUM' (TDOM2 . 'XXVOLUM') ;
  443. 'SINON' ;
  444. ORIENT = 1 ;
  445. PCD = PC2 ;
  446. PCG = PC1 ;
  447. XVOLG = 'MAXIMUM' (TDOM1 . 'XXVOLUM') ;
  448. XVOLD = 'MAXIMUM' (TDOM2 . 'XXVOLUM') ;
  449. 'FINSI' ;
  450.  
  451. uxg1 = ((ung1 '*' NX) '+' (utg1 '*' TX) '+' (uvg1 '*' VX))
  452. '*' ORIENT ;
  453. uyg1 = ((ung1 '*' NY) '+' (utg1 '*' TY) '+' (uvg1 '*' VY))
  454. '*' ORIENT ;
  455. uzg1 = ((ung1 '*' NZ) '+' (utg1 '*' TZ) '+' (uvg1 '*' VZ))
  456. '*' ORIENT ;
  457. uxg2 = ((ung2 '*' NX) '+' (utg2 '*' TX) '+' (uvg2 '*' VX))
  458. '*' ORIENT ;
  459. uyg2 = ((ung2 '*' NY) '+' (utg2 '*' TY) '+' (uvg2 '*' VY))
  460. '*' ORIENT ;
  461. uzg2 = ((ung2 '*' NZ) '+' (utg2 '*' TZ) '+' (uvg2 '*' VZ))
  462. '*' ORIENT ;
  463. uxd1 = ((und1 '*' NX) '+' (utd1 '*' TX) '+' (uvd1 '*' VX))
  464. '*' ORIENT ;
  465. uyd1 = ((und1 '*' NY) '+' (utd1 '*' TY) '+' (uvd1 '*' VY))
  466. '*' ORIENT ;
  467. uzd1 = ((und1 '*' NZ) '+' (utd1 '*' TZ) '+' (uvd1 '*' VZ))
  468. '*' ORIENT ;
  469. uxd2 = ((und2 '*' NX) '+' (utd2 '*' TX) '+' (uvd2 '*' VX))
  470. '*' ORIENT ;
  471. uyd2 = ((und2 '*' NY) '+' (utd2 '*' TY) '+' (uvd2 '*' VY))
  472. '*' ORIENT ;
  473. uzd2 = ((und2 '*' NZ) '+' (utd2 '*' TZ) '+' (uvd2 '*' VZ))
  474. '*' ORIENT ;
  475. * 'OPTION' DONN 5 ;
  476.  
  477. 'SI' GRAPH;
  478. 'TRACER' (('DOMA' $DOMTOT 'MAILLAGE') 'ET'
  479. ('COULEUR' ('DOMA' $DOMTOT 'FACEL') 'ROUGE') 'ET' P1FAC)
  480. 'TITRE' 'Domaine et FACEL';
  481. 'FINSI' ;
  482.  
  483. MAILIM = 'DIFF' ('DOMA' $DOMTOT 'FACE') ('MANUEL' 'POI1' P1FAC) ;
  484.  
  485. ***********************
  486. **** Les CHPOINTs ****
  487. ***********************
  488.  
  489. CHRN1 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' RN1) ;
  490. CHRN2 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' RN2) ;
  491.  
  492. CHVN1 = ('MANUEL' 'CHPO' (TDOM1 . 'CENTRE') 3 'UX' uxg1
  493. 'UY' uyg1 'UZ' uzg1) '+'
  494. ('MANUEL' 'CHPO' (TDOM2 . 'CENTRE') 3 'UX' uxd1
  495. 'UY' uyd1 'UZ' uzd1) ;
  496. CHVN2 = ('MANUEL' 'CHPO' (TDOM1 . 'CENTRE') 3 'UX' uxg2
  497. 'UY' uyg2 'UZ' uzg2) '+'
  498. ('MANUEL' 'CHPO' (TDOM2 . 'CENTRE') 3 'UX' uxd2
  499. 'UY' uyd2 'UZ' uzd2) ;
  500.  
  501. CHGN1 = CHRN1 '*' CHVN1 ;
  502. CHGN2 = CHRN2 '*' CHVN2 ;
  503.  
  504. CHRET1 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' RETN1) ;
  505. CHRET2 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' RETN2) ;
  506.  
  507. CHTN1 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' TN1) ;
  508. CHTN2 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' TN2) ;
  509.  
  510. CHAL1 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' ALPHA1) ;
  511. CHAL2 = ('MANUEL' 'CHPO' (TDOMTOT . 'CENTRE') 1 'SCAL' ALPHA2) ;
  512.  
  513. R1 R2 V1 V2 P1 P2 T1 T2 = 'PRIM' 'DEM' PGAS CHAL1 CHAL2
  514. (CHAL1 * CHRN1) (CHAL2 * CHRN2) (CHAL1 * CHGN1)
  515. (CHAL2 * CHGN2) (CHAL1 * CHRET1) (CHAL2 * CHRET2)
  516. CHTN1 CHTN2 EPS ;
  517.  
  518. GRADAL1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  519. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0 ;
  520. GRADAL2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  521. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0 ;
  522. LIMAL1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 1
  523. 'P1' 0.0 ;
  524. LIMAL2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 1
  525. 'P1' 0.0 ;
  526. GRADR1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  527. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0;
  528. GRADR2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  529. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0;
  530. LIMR1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 1
  531. 'P1' 0.0 ;
  532. LIMR2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 1
  533. 'P1' 0.0 ;
  534. GRADV1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 9
  535. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0
  536. 'P2DX' 0.0 'P2DY' 0.0 'P2DZ' 0.0
  537. 'P3DX' 0.0 'P3DY' 0.0 'P3DZ' 0.0 ;
  538. GRADV2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 9
  539. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0
  540. 'P2DX' 0.0 'P2DY' 0.0 'P2DZ' 0.0
  541. 'P3DX' 0.0 'P3DY' 0.0 'P3DZ' 0.0 ;
  542. LIMV1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  543. 'P1' 0.0 'P2' 0.0 'P3' 0.0 ;
  544. LIMV2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  545. 'P1' 0.0 'P2' 0.0 'P3' 0.0 ;
  546. GRADP1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  547. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0;
  548. GRADP2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 3
  549. 'P1DX' 0.0 'P1DY' 0.0 'P1DZ' 0.0;
  550. LIMP1 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 1
  551. 'P1' 0.0 ;
  552. LIMP2 = 'MANU' 'CHPO' (TDOMTOT . 'CENTRE') 1
  553. 'P1' 0.0 ;
  554.  
  555. *
  556. **** L'operateur 'PRET'
  557. *
  558.  
  559. CHFAL1 CHFAL2 CHFRN1 CHFRN2 CHFVN1 CHFVN2 CHFPN1 CHFPN2 =
  560. 'PRET' 'DEM' $DOMTOT
  561. CHAL1 (0.0 * GRADAL1) LIMAL1
  562. CHAL2 (0.0 * GRADAL2) LIMAL2
  563. R1 (0.0 * GRADR1) LIMR1
  564. R2 (0.0 * GRADR2) LIMR2
  565. V1 (0.0 * GRADV1) LIMV1
  566. V2 (0.0 * GRADV2) LIMV2
  567. P1 (0.0 * GRADP1) LIMP1
  568. P2 (0.0 * GRADP2) LIMP2 ;
  569. *
  570. SI FAUX ;
  571. CHFRO1 = 'REDU' CHFRN1 geopc ;
  572. CHFV1 = 'REDU' CHFVN1 geopc ;
  573. CHFP1 = 'REDU' CHFPN1 geopc ;
  574. 'OPTION' donn 5 ;
  575. 'FINSI' ;
  576.  
  577.  
  578. *
  579. **** L'operateur 'KONV'
  580. *
  581.  
  582. 'REPETER' BLMETO 3 ;
  583.  
  584. 'SI' ('EGA' &BLMETO 1) ;
  585. METO = 'SS' ;
  586. 'FINSI' ;
  587. 'SI' ('EGA' &BLMETO 2) ;
  588. METO = 'VLH' ;
  589. 'FINSI' ;
  590. 'SI' ('EGA' &BLMETO 3) ;
  591. METO = 'AUSMPUP' ;
  592. 'FINSI' ;
  593.  
  594. 'MESSAGE' ('CHAINE' 'METO = ' METO) ;
  595. LISTINC1 = ('MOTS' 'ALF1' 'RN1' 'RNX1' 'RUY1' 'RUZ1' 'RET1'
  596. 'ALF2' 'RN2' 'RUX2' 'RUY2' 'RUZ2' 'RET2') ;
  597.  
  598. SI ('EGA' METO 'AUSMPUP') ;
  599. CHPRES DT SURF = 'KONV' 'VF' 'DEM' 'RESI' METO 'CONS'
  600. $DOMTOT PGAS LISTINC1 CHAL1 CHAL2 CHFAL1 CHFAL2 CHFRN1 CHFRN2
  601. CHFVN1 CHFVN2 CHFPN1 CHFPN2 K0 GRALP1 EPS MAILIM VINF VINF ;
  602. 'SINON' ;
  603. CHPRES DT SURF = 'KONV' 'VF' 'DEM' 'RESI' METO 'CONS'
  604. $DOMTOT PGAS LISTINC1 CHAL1 CHAL2 CHFAL1 CHFAL2 CHFRN1 CHFRN2
  605. CHFVN1 CHFVN2 CHFPN1 CHFPN2 K0 GRALP1 EPS MAILIM ;
  606. 'FINSI' ;
  607.  
  608. * 'LISTE' ('CHAINE' 'FORMAT' '(E16.10)' ('EXTRAIRE' ETHER1 1)) ;
  609. * 'LISTE' ('CHAINE' 'FORMAT' '(E16.10)' ('EXTRAIRE' ECIN1 1)) ;
  610. * 'LISTE' ('CHAINE' 'FORMAT' '(E16.10)' ('EXTRAIRE' EFORM1 1)) ;
  611. * 'LISTE' ('CHAINE' 'FORMAT' '(E16.10)' (pg1)) ;
  612. * 'LISTE' ('CHAINE' 'FORMAT' '(E16.10)' ('EXTRAIRE' RN1 1)) ;
  613. * 'LISTE' ('CHAINE' 'FORMAT' '(E16.10)' (ung1)) ;
  614. * 'OPTION' DONN 5 ;
  615.  
  616. R_1_1 = 'EXCO' ('EXTRAIRE' LISTINC1 2) CHPRES ;
  617. R_1_2X = 'EXCO' ('EXTRAIRE' LISTINC1 3) CHPRES ;
  618. R_1_2Y = 'EXCO' ('EXTRAIRE' LISTINC1 4) CHPRES ;
  619. R_1_2Z = 'EXCO' ('EXTRAIRE' LISTINC1 5) CHPRES ;
  620. R_1_3 = 'EXCO' ('EXTRAIRE' LISTINC1 6) CHPRES ;
  621.  
  622. R_1_2N = (R_1_2X '*' NX) '+' (R_1_2Y * NY) '+' (R_1_2Z * NZ);
  623. R_1_2T = (R_1_2X '*' TX) '+' (R_1_2Y * TY) '+' (R_1_2Z * TZ);
  624. R_1_2V = (R_1_2X '*' VX) '+' (R_1_2Y * VY) '+' (R_1_2Z * VZ);
  625.  
  626. LOGI1 = VRAI ;
  627.  
  628. f1 = 'EXTRAIRE' R_1_1 'SCAL' PCD ;
  629. f1bis = 'EXTRAIRE' R_1_1 'SCAL' PCG ;
  630. ERRTOL = 1D-8 '*' f1dg1 'ABS' ;
  631. ERRO1 = ('ABS' ((f1 * XVOLD) + (f1bis * XVOLG))) ;
  632. ERRO2 = ('ABS' ((f1dg1 * XSURF) + (f1bis * XVOLG))) ;
  633. LOGI2 = ERRO1 < ERRTOL ;
  634. LOGI1 = LOGI1 'ET' LOGI2;
  635. LOGI2 = ERRO2 < ERRTOL ;
  636. LOGI1 = LOGI1 'ET' LOGI2;
  637. SI ('NON' LOGI1) ;
  638. 'MESSAGE' 'ERROR' ;
  639. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  640. 'FINSI' ;
  641.  
  642. f2 = 'EXTRAIRE' R_1_2N 'SCAL' PCD ;
  643. f2bis = 'EXTRAIRE' R_1_2N 'SCAL' PCG ;
  644. ERRTOL = 1D-8 '*' f2dg1 'ABS' ;
  645. ERRO1 = ('ABS' ((f2 * XVOLD) + (f2bis * XVOLG))) ;
  646. ERRO2 = ('ABS' ((f2dg1 * XSURF) + (f2bis * XVOLG))) ;
  647. LOGI2 = ERRO1 < ERRTOL ;
  648. LOGI1 = LOGI1 'ET' LOGI2;
  649. LOGI2 = ERRO2 < ERRTOL ;
  650. LOGI1 = LOGI1 'ET' LOGI2;
  651. SI ('NON' LOGI1) ;
  652. 'MESSAGE' 'ERROR' ;
  653. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  654. 'FINSI' ;
  655.  
  656. f3 = 'EXTRAIRE' R_1_2T 'SCAL' PCD ;
  657. f3bis = 'EXTRAIRE' R_1_2T 'SCAL' PCG ;
  658. ERRTOL = 1D-8 '*' f3dg1 'ABS' ;
  659. ERRO1 = ('ABS' ((f3 * XVOLD) + (f3bis * XVOLG))) ;
  660. ERRO2 = ('ABS' ((f3dg1 * XSURF) + (f3bis * XVOLG))) ;
  661. LOGI2 = ERRO1 < ERRTOL ;
  662. LOGI1 = LOGI1 'ET' LOGI2;
  663. LOGI2 = ERRO2 < ERRTOL ;
  664. LOGI1 = LOGI1 'ET' LOGI2;
  665. SI ('NON' LOGI1) ;
  666. 'MESSAGE' 'ERROR' ;
  667. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  668. 'FINSI' ;
  669.  
  670. f4 = 'EXTRAIRE' R_1_2V 'SCAL' PCD ;
  671. f4bis = 'EXTRAIRE' R_1_2V 'SCAL' PCG ;
  672. ERRTOL = 1D-8 '*' f4dg1 'ABS' ;
  673. ERRO1 = ('ABS' ((f4 * XVOLD) + (f4bis * XVOLG))) ;
  674. ERRO2 = ('ABS' ((f4dg1 * XSURF) + (f4bis * XVOLG))) ;
  675. LOGI2 = ERRO1 < ERRTOL ;
  676. LOGI1 = LOGI1 'ET' LOGI2;
  677. LOGI2 = ERRO2 < ERRTOL ;
  678. LOGI1 = LOGI1 'ET' LOGI2;
  679. SI ('NON' LOGI1) ;
  680. 'MESSAGE' 'ERROR' ;
  681. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  682. 'FINSI' ;
  683.  
  684. f5 = 'EXTRAIRE' R_1_3 'SCAL' PCD ;
  685. f5bis = 'EXTRAIRE' R_1_3 'SCAL' PCG ;
  686. ERRTOL = 5D-7 '*' f5dg1 'ABS' ;
  687. ERRO1 = ('ABS' ((f5 * XVOLD) + (f5bis * XVOLG))) ;
  688. ERRO2 = ('ABS' ((f5dg1 * XSURF) + (f5bis * XVOLG))) ;
  689. LOGI2 = ERRO1 < ERRTOL ;
  690. LOGI1 = LOGI1 'ET' LOGI2;
  691. LOGI2 = ERRO2 < ERRTOL ;
  692. LOGI1 = LOGI1 'ET' LOGI2;
  693. SI ('NON' LOGI1) ;
  694. 'MESSAGE' 'ERROR' ;
  695. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  696. 'FINSI' ;
  697.  
  698. 'SI' ('NON' LOGI1);
  699. 'MESSAGE' ;
  700. 'MESSAGE' 'OPERATEUR 'KONV', phase 1';
  701. 'MESSAGE' ('CHAINE' METO);
  702. 'MESSAGE' ;
  703. 'ERREUR' 5 ;
  704. 'FINSI' ;
  705.  
  706. * Phase 2
  707.  
  708. R_2_1 = 'EXCO' ('EXTRAIRE' LISTINC1 8) CHPRES ;
  709. R_2_2X = 'EXCO' ('EXTRAIRE' LISTINC1 9) CHPRES ;
  710. R_2_2Y = 'EXCO' ('EXTRAIRE' LISTINC1 10) CHPRES ;
  711. R_2_2Z = 'EXCO' ('EXTRAIRE' LISTINC1 11) CHPRES ;
  712. R_2_3 = 'EXCO' ('EXTRAIRE' LISTINC1 12) CHPRES ;
  713.  
  714. R_2_2N = (R_2_2X '*' NX) '+' (R_2_2Y * NY) '+' (R_2_2Z * NZ);
  715. R_2_2T = (R_2_2X '*' TX) '+' (R_2_2Y * TY) '+' (R_2_2Z * TZ);
  716. R_2_2V = (R_2_2X '*' VX) '+' (R_2_2Y * VY) '+' (R_2_2Z * VZ);
  717.  
  718. LOGI1 = VRAI ;
  719.  
  720. f1 = 'EXTRAIRE' R_2_1 'SCAL' PCD ;
  721. f1bis = 'EXTRAIRE' R_2_1 'SCAL' PCG ;
  722. ERRTOL = 1D-8 '*' f1dg2 'ABS' ;
  723. ERRO1 = ('ABS' ((f1 * XVOLD) + (f1bis * XVOLG))) ;
  724. ERRO2 = ('ABS' ((f1dg2 * XSURF) + (f1bis * XVOLG))) ;
  725. LOGI2 = ERRO1 < ERRTOL ;
  726. LOGI1 = LOGI1 'ET' LOGI2;
  727. LOGI2 = ERRO2 < ERRTOL ;
  728. LOGI1 = LOGI1 'ET' LOGI2;
  729. SI ('NON' LOGI1) ;
  730. 'MESSAGE' 'ERROR' ;
  731. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  732. 'FINSI' ;
  733.  
  734. f2 = 'EXTRAIRE' R_2_2N 'SCAL' PCD ;
  735. f2bis = 'EXTRAIRE' R_2_2N 'SCAL' PCG ;
  736. ERRTOL = 1D-8 '*' f2dg2 'ABS' ;
  737. ERRO1 = ('ABS' ((f2 * XVOLD) + (f2bis * XVOLG))) ;
  738. ERRO2 = ('ABS' ((f2dg2 * XSURF) + (f2bis * XVOLG))) ;
  739. LOGI2 = ERRO1 < ERRTOL ;
  740. LOGI1 = LOGI1 'ET' LOGI2;
  741. LOGI2 = ERRO2 < ERRTOL ;
  742. LOGI1 = LOGI1 'ET' LOGI2;
  743. SI ('NON' LOGI1) ;
  744. 'MESSAGE' 'ERROR' ;
  745. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  746. 'FINSI' ;
  747.  
  748. f3 = 'EXTRAIRE' R_2_2T 'SCAL' PCD ;
  749. f3bis = 'EXTRAIRE' R_2_2T 'SCAL' PCG ;
  750. ERRTOL = 1D-8 '*' f3dg2 'ABS' ;
  751. ERRO1 = ('ABS' ((f3 * XVOLD) + (f3bis * XVOLG))) ;
  752. ERRO2 = ('ABS' ((f3dg2 * XSURF) + (f3bis * XVOLG))) ;
  753. LOGI2 = ERRO1 < ERRTOL ;
  754. LOGI1 = LOGI1 'ET' LOGI2;
  755. LOGI2 = ERRO2 < ERRTOL ;
  756. LOGI1 = LOGI1 'ET' LOGI2;
  757. SI ('NON' LOGI1) ;
  758. 'MESSAGE' 'ERROR' ;
  759. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  760. 'FINSI' ;
  761.  
  762. f4 = 'EXTRAIRE' R_2_2V 'SCAL' PCD ;
  763. f4bis = 'EXTRAIRE' R_2_2V 'SCAL' PCG ;
  764. ERRTOL = 1D-8 '*' f4dg2 'ABS' ;
  765. ERRO1 = ('ABS' ((f4 * XVOLD) + (f4bis * XVOLG))) ;
  766. ERRO2 = ('ABS' ((f4dg2 * XSURF) + (f4bis * XVOLG))) ;
  767. LOGI2 = ERRO1 < ERRTOL ;
  768. LOGI1 = LOGI1 'ET' LOGI2;
  769. LOGI2 = ERRO2 < ERRTOL ;
  770. LOGI1 = LOGI1 'ET' LOGI2;
  771. SI ('NON' LOGI1) ;
  772. 'MESSAGE' 'ERROR' ;
  773. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  774. 'FINSI' ;
  775.  
  776. f5 = 'EXTRAIRE' R_2_3 'SCAL' PCD ;
  777. f5bis = 'EXTRAIRE' R_2_3 'SCAL' PCG ;
  778. ERRTOL = 5D-7 '*' f5dg2 'ABS' ;
  779. ERRO1 = ('ABS' ((f5 * XVOLD) + (f5bis * XVOLG))) ;
  780. ERRO2 = ('ABS' ((f5dg2 * XSURF) + (f5bis * XVOLG))) ;
  781. LOGI2 = ERRO1 < ERRTOL ;
  782. LOGI1 = LOGI1 'ET' LOGI2;
  783. LOGI2 = ERRO2 < ERRTOL ;
  784. LOGI1 = LOGI1 'ET' LOGI2;
  785. SI ('NON' LOGI1) ;
  786. 'MESSAGE' 'ERROR' ;
  787. 'MESSAGE' ('CHAINE' ERRO1 ' ' ERRO2) ;
  788. 'FINSI' ;
  789.  
  790. 'SI' ('NON' LOGI1);
  791. 'MESSAGE' ;
  792. 'MESSAGE' 'OPERATEUR KONV';
  793. 'MESSAGE' ('CHAINE' METO);
  794. 'MESSAGE' ;
  795. 'ERREUR' 5 ;
  796. 'FINSI' ;
  797.  
  798.  
  799.  
  800. 'FIN' BLMETO ;
  801.  
  802. ****************************************************
  803. ****************************************************
  804. ******** Fin boucle sur les angles *********
  805. ****************************************************
  806. ****************************************************
  807.  
  808. 'FIN' BLOC;
  809.  
  810. 'FIN' ;
  811.  
  812.  
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  

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