Télécharger prim_ther_dem3D.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : prim_ther_dem3D.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ***********************************************************
  5. **** FV "Cell-Centred Formulation" for the solution of ****
  6. **** the Euler equations for a thermally perfect gas. ****
  7. **** Discrete Equation Method for the propagation of ****
  8. **** infinitely thin flames in initially homogeneous ****
  9. **** media. ****
  10. **** PRIM operator ****
  11. **** It computes primitive variables from conservative ****
  12. **** ones. ****
  13. **** 3D case ****
  14. **** ****
  15. **** A. BECCANTINI DEN/DM2S/SFME/LTMF DECEMBER 2010 ****
  16. ***********************************************************
  17. *
  18. * alpha1 = 1 -> unburnt phase
  19. * alpha2 = 1 -> burnt phase
  20. * In exact algebra, alpha2 = 1 - alpha1
  21. * alpha2 can be seen as a progress variable
  22. *
  23. ****************************
  24. **** PRODECURE PRIMCONS ****
  25. ****************************
  26. *
  27. 'DEBPROC' PRIMCONS ;
  28. 'ARGUMENT' PGAS*TABLE TN1*'CHPOINT ' TN2*'CHPOINT '
  29. PN1*'CHPOINT ' PN2*'CHPOINT ' VN1*'CHPOINT ' VN2*'CHPOINT ' ;
  30. *
  31. * ETHER = int_0^T cv(T') dT' T < TMAX
  32. * = int_0^TMAX cv(T') dT' '+'
  33. * cv(TMAX) T >= TMAX
  34. ESP1 = 'EXTRAIRE' (PGAS . 'SPECIES') 1 ;
  35. * DY1 = y_i - y_f for the species 1
  36. DY1 = (('EXTRAIRE' (PGAS . 'MASSFRA') 1) '-'
  37. ('EXTRAIRE' (PGAS . 'MASSFRA') 2)) ;
  38. COEF1 = ('EXTRAIRE' (PGAS . 'CHEMCOEF') 1) '*'
  39. (PGAS . ESP1 . 'W') ;
  40. YFINPH1 = 1.0 ;
  41. YFINPH2 = 1.0 ;
  42. 'SI' (COEF1 > 0) ;
  43. YPH2 = 'EXTRAIRE' (PGAS . 'MASSFRA') 2 ;
  44. YPH1 = YPH2 '+' DY1 ;
  45. 'SINON' ;
  46. YPH1 = 'EXTRAIRE' (PGAS . 'MASSFRA') 2 ;
  47. YPH2 = YPH1 '-' DY1 ;
  48. 'FINSI' ;
  49. YFINPH1 = YFINPH1 '-' YPH1 ;
  50. YFINPH2 = YFINPH2 '-' YPH2 ;
  51. PRYPH1 = 'PROG' YPH1 ;
  52. PRYPH2 = 'PROG' YPH2 ;
  53. 'REPETER' BLESP (('DIME' (PGAS . 'SPECIES')) '-' 2) ;
  54. ESP = 'EXTRAIRE' (PGAS . 'SPECIES') (&BLESP '+' 1) ;
  55. COEF = ('EXTRAIRE' (PGAS . 'CHEMCOEF') (&BLESP '+' 1))
  56. '*' (PGAS . ESP . 'W') ;
  57. DY = (DY1 * (COEF '/' COEF1)) ;
  58. 'SI' (COEF > 0) ;
  59. YPH2 = 'EXTRAIRE' (PGAS . 'MASSFRA') (&BLESP '+' 2) ;
  60. YPH1 = YPH2 '+' DY ;
  61. 'SINON' ;
  62. YPH1 = 'EXTRAIRE' (PGAS . 'MASSFRA') (&BLESP '+' 2) ;
  63. YPH2 = YPH1 '-' DY ;
  64. 'FINSI' ;
  65. PRYPH1 = PRYPH1 'ET' ('PROG' YPH1) ;
  66. PRYPH2 = PRYPH2 'ET' ('PROG' YPH2) ;
  67. YFINPH1 = YFINPH1 '-' YPH1 ;
  68. YFINPH2 = YFINPH2 '-' YPH2 ;
  69. 'FIN' BLESP ;
  70. PRYPH1 = PRYPH1 'ET' ('PROG' YFINPH1) ;
  71. PRYPH2 = PRYPH2 'ET' ('PROG' YFINPH2) ;
  72. 'LISTE' PRYPH1 ;
  73. 'LISTE' PRYPH2 ;
  74. *
  75. TMAX = (PGAS . 'TMAX') ;
  76. * TCAL1 = MIN TN1, TMAX
  77. TCAL1 = 0.5D0 '*' ((TMAX '+' TN1) '-' ('ABS' (TN1 '-' TMAX))) ;
  78. DTN1 = TN1 '-' TCAL1 ;
  79. * TCAL1 = MIN TN1, TMAX
  80. TCAL2 = 0.5D0 '*' ((TMAX '+' TN2) '-' ('ABS' (TN2 '-' TMAX))) ;
  81. DTN2 = TN2 '-' TCAL2 ;
  82. *
  83. * Internal energy (J/kg in SI)
  84. *
  85. ETHER1 = 0.0 ;
  86. CV1 = 0.0 ;
  87. ETHER2 = 0.0 ;
  88. CV2 = 0.0 ;
  89. FUNTN1 = 1.0 ;
  90. FUNTN2 = 1.0 ;
  91. 'REPETER' BLPO ((PGAS . 'NORD') '+' 1) ;
  92. 'REPETER' BLESP ('DIME' (PGAS . 'SPECIES')) ;
  93. ESP = 'EXTRAIRE' (PGAS . 'SPECIES') &BLESP ;
  94. YCEL1 = 'EXTRAIRE' PRYPH1 &BLESP ;
  95. YCEL2 = 'EXTRAIRE' PRYPH2 &BLESP ;
  96. AA = 'EXTRAIRE' (PGAS . ESP . 'A') &BLPO ;
  97. DCV1 = (AA * YCEL1 * FUNTN1) ;
  98. DCV2 = (AA * YCEL2 * FUNTN2) ;
  99. CV1 = CV1 '+' DCV1 ;
  100. CV2 = CV2 '+' DCV2 ;
  101. ETHER1 = ETHER1 '+' (DCV1 * TCAL1 '/' (&BLPO)) ;
  102. ETHER2 = ETHER2 '+' (DCV2 * TCAL2 '/' (&BLPO)) ;
  103. 'FIN' BLESP ;
  104. FUNTN1 = FUNTN1 '*' TCAL1 ;
  105. FUNTN2 = FUNTN2 '*' TCAL2 ;
  106. 'FIN' BLPO ;
  107. ETHER1 = ETHER1 '+' (CV1 '*' DTN1) ;
  108. ETHER2 = ETHER2 '+' (CV2 '*' DTN2) ;
  109. *
  110. * Formation energy/enthalpy (J/kg in SI) and gas constant (J/kg/K)
  111. *
  112. EFORM1 = 0.0 ;
  113. EFORM2 = 0.0 ;
  114. RGAS1 = 0.0 ;
  115. RGAS2 = 0.0 ;
  116. 'REPETER' BLESP ('DIME' (PGAS . 'SPECIES')) ;
  117. ESP = 'EXTRAIRE' (PGAS . 'SPECIES') &BLESP ;
  118. YCEL1 = 'EXTRAIRE' PRYPH1 &BLESP ;
  119. YCEL2 = 'EXTRAIRE' PRYPH2 &BLESP ;
  120. EFORM1 = EFORM1 '+' (YCEL1 * (PGAS . ESP . 'H0K')) ;
  121. EFORM2 = EFORM2 '+' (YCEL2 * (PGAS . ESP . 'H0K')) ;
  122. RGAS1 = RGAS1 '+' (YCEL1 * (PGAS . 'RUNIV') '/'
  123. (PGAS . ESP . 'W')) ;
  124. RGAS2 = RGAS2 '+' (YCEL2 * (PGAS . 'RUNIV') '/'
  125. (PGAS . ESP . 'W')) ;
  126. 'FIN' BLESP ;
  127. 'LISTE' RGAS1 ;
  128. 'LISTE' RGAS2 ;
  129. *
  130. * Computation of the conservative variables
  131. *
  132. RN1 = PN1 '/' (RGAS1 '*' TN1) ;
  133. RN2 = PN2 '/' (RGAS2 '*' TN2) ;
  134. GN1 = RN1 * VN1 ;
  135. GN2 = RN2 * VN2 ;
  136. LVEL = 'MOTS' 'UX' 'UY' 'UZ' ;
  137. ECIN1 = 0.5D0 '*' ('PSCAL' VN1 VN1 LVEL LVEL) ;
  138. ECIN2 = 0.5D0 '*' ('PSCAL' VN2 VN2 LVEL LVEL) ;
  139. RETN1 = RN1 '*' (ETHER1 '+' ECIN1 '+' EFORM1) ;
  140. RETN2 = RN2 '*' (ETHER2 '+' ECIN2 '+' EFORM2) ;
  141. *
  142. 'RESPRO' RN1 RN2 GN1 GN2 RETN1 RETN2 ;
  143. 'FINPROC' ;
  144. *
  145. ********************************
  146. **** FIN PRODECURE PRIMCONS ****
  147. ********************************
  148. *
  149. *
  150. 'OPTION' 'DIME' 3 ;
  151. 'OPTION' 'ELEM' 'CUB8' ;
  152. 'OPTION' 'ECHO' 1 ;
  153. 'OPTION' 'TRAC' 'X';
  154. *
  155. **** GRAPH
  156. *
  157. GRAPH = FAUX ;
  158. * GRAPH = VRAI ;
  159. *
  160. *** We consider a mixture of H2, O2, H2O, N2
  161. *
  162. *************************************************
  163. **** The table for the properties of the gas ****
  164. *************************************************
  165. *
  166. PGAS = 'TABLE' ;
  167. *
  168. **** Order of the polynomial order for cv = cv(T)
  169. * For T > TMAX, cv(T) = cv(Tmax)
  170. *
  171. PGAS . 'TMAX' = 6000.0 ;
  172. PGAS . 'NORD' = 4 ;
  173. *
  174. **** Species involved in the mixture (before or after
  175. * the chemical reaction)
  176. *
  177. PGAS . 'SPECIES' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' 'N2 ' ;
  178. *
  179. *
  180. **** Coefficient of the chemical reaction.
  181. * Note that for the first species this coefficient should be positive
  182. * Normal, we take it equal to 1.
  183. *
  184. * H2 '+' 0.5 O2 ---> H2O
  185. *
  186. PGAS . 'CHEMCOEF' = 'PROG' 1.0 0.5 -1.0 0.0 ;
  187. *
  188. **** Mass fraction of the first species before and after the combustion
  189. * Final mass fractions of the species with positive coefficients.
  190. * Final mass fractions of the species with non-positive coefficient.
  191. * The mass fraction of the last species is not given.
  192. *
  193. PGAS . 'MASSFRA' = 'PROG' 0.285219E-01 0.964039E-11 0.765104E-10
  194. 0.127442E-10 ;
  195. *
  196. **** Coef with the gas properties
  197. *
  198. PGAS . 'H2 ' = 'TABLE' ;
  199. PGAS . 'H2O ' = 'TABLE' ;
  200. PGAS . 'N2 ' = 'TABLE' ;
  201. PGAS . 'O2 ' = 'TABLE' ;
  202. *
  203. **** Runiv (J/mole/K)
  204. *
  205. PGAS . 'RUNIV' = 8.31441 ;
  206. *
  207. **** W (kg/mole). Gas constant (J/kg/K = Runiv/W)
  208. *
  209. PGAS . 'H2 ' . 'W' = 2.016E-3 ;
  210. PGAS . 'O2 ' . 'W' = 31.999E-3 ;
  211. PGAS . 'H2O ' . 'W' = 18.0155E-3 ;
  212. PGAS . 'N2 ' . 'W' = 28.013E-3 ;
  213. *
  214. **** Polynomial coefficients
  215. *
  216. PGAS . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 0.000862203836
  217. -2.37281455E-07 1.84701105E-11 ;
  218. PGAS . 'H2O ' . 'A' = 'PROG' 1155.95625 0.768331151 -5.73129958E-05
  219. -1.82753232E-08 2.44485692E-12 ;
  220. PGAS . 'N2 ' . 'A' = 'PROG' 652.940766 0.288239099 -7.80442298E-05
  221. 8.78233606E-09 -3.05514485E-13 ;
  222. PGAS . 'O2 ' . 'A' = 'PROG' 575.012333 0.350522002 -0.000128294865
  223. 2.33636971E-08 -1.53304905E-12;
  224. *
  225. **** Formation enthalpies (energies) at 0K (J/Kg)
  226. *
  227. PGAS . 'H2 ' . 'H0K' = -4.195D6 ;
  228. PGAS . 'H2O ' . 'H0K' = -1.395D7 ;
  229. PGAS . 'N2 ' . 'H0K' = -2.953D5 ;
  230. PGAS . 'O2 ' . 'H0K' = -2.634D5 ;
  231.  
  232.  
  233. *************************************************
  234. **** The mesh ****
  235. *************************************************
  236.  
  237. A1 = 0.0D0 0.0D0 0.0D0 ;
  238. A2 = 0.0D0 1.0D0 0.0D0 ;
  239. A3 = 1.0D0 0.0D0 0.0D0 ;
  240. A4 = 1.0D0 1.0D0 0.0D0 ;
  241. A5 = 2.0D0 0.0D0 0.0D0 ;
  242. A6 = 2.0D0 1.0D0 0.0D0 ;
  243.  
  244. MAIL1 = 'MANUEL' 'POI1' A1 ;
  245. MAIL1 = (MAIL1 'ET' A2) 'ET' A3 ;
  246. MAIL2 = 'MANUEL' 'POI1' A4 ;
  247. MAIL2 = (MAIL2 'ET' A5) 'ET' A6 ;
  248. MAIL = MAIL1 'ET' MAIL2 ;
  249.  
  250. 'SI' GRAPH ;
  251. 'TRACER' MAIL 'TITRE' 'Domaine' ;
  252. 'FINSI' ;
  253.  
  254.  
  255. *************************************************
  256. **** Initial condition on primitive variables ***
  257. *************************************************
  258.  
  259. TN1 = ('MANUEL' 'CHPO' MAIL1 1 'SCAL' 293.16) '+'
  260. ('MANUEL' 'CHPO' MAIL2 1 'SCAL' 283.16) ;
  261. TN2 = ('MANUEL' 'CHPO' MAIL1 1 'SCAL' 2800.15) '+'
  262. ('MANUEL' 'CHPO' MAIL2 1 'SCAL' 2910.15) ;
  263. PN1 = ('MANUEL' 'CHPO' MAIL1 1 'SCAL' 1.013E5) '+'
  264. ('MANUEL' 'CHPO' MAIL2 1 'SCAL' 1.011E5) ;
  265. PN2 = ('MANUEL' 'CHPO' MAIL1 1 'SCAL' 1.023E5) '+'
  266. ('MANUEL' 'CHPO' MAIL2 1 'SCAL' 1.033E5) ;
  267. VN1 = ('MANUEL' 'CHPO' MAIL1 3 'UX' 122.
  268. 'UY' 101. 'UZ' 0.0 ) '+'
  269. ('MANUEL' 'CHPO' MAIL2 3 'UX' 120.
  270. 'UY' 102. 'UZ' 0.0 ) ;
  271. VN2 = ('MANUEL' 'CHPO' MAIL1 3 'UX' 150.
  272. 'UY' 160. 'UZ' 0.0 ) '+'
  273. ('MANUEL' 'CHPO' MAIL2 3 'UX' 140.
  274. 'UY' 160. 'UZ' 0.0 ) ;
  275. ALPHA1 = ('MANUEL' 'CHPO' MAIL1 1 'SCAL' 0.9) '+'
  276. ('MANUEL' 'CHPO' MAIL2 1 'SCAL' 0.1) ;
  277. ALPHA2 = -1 '*' (ALPHA1 '-' 1.0) ;
  278. *
  279. * Computation of the conservative variables
  280. *
  281. RN1 RN2 GN1 GN2 RETN1 RETN2 = PRIMCONS
  282. PGAS TN1 TN2 PN1 PN2 VN1 VN2 ;
  283.  
  284. *
  285. ARN1 = ALPHA1 * RN1 ;
  286. ARN2 = ALPHA2 * RN2 ;
  287. AGN1 = ALPHA1 * GN1 ;
  288. AGN2 = ALPHA2 * GN2 ;
  289. ARETN1 = ALPHA1 * RETN1 ;
  290. ARETN2 = ALPHA2 * RETN2 ;
  291. *
  292. * K0 = 22.5 ;
  293. EPS = 1.0D-16 ;
  294. *
  295. TG1 = TN1 '*' 10. ;
  296. TG2 = TN2 '/' 10. ;
  297. R1 R2 V1 V2 P1 P2 T1 T2
  298. = 'PRIM' 'DEM' PGAS ALPHA1 ALPHA2
  299. ARN1 ARN2 AGN1 AGN2
  300. ARETN1 ARETN2 TG1 TG2 EPS ;
  301. *
  302. ERRO1 = 'MAXIMUM' ((TN1 '-' T1) '/' TN1) 'ABS' ;
  303. ERRO2 = 'MAXIMUM' ((TN2 '-' T2) '/' TN2) 'ABS' ;
  304. ERRO3 = 'MAXIMUM' ((PN2 '-' P2) '/' PN2) 'ABS' ;
  305. ERRO4 = 'MAXIMUM' ((PN1 '-' P1) '/' PN1) 'ABS' ;
  306. ERRO5 = 'MAXIMUM' ((RN1 '-' R1) '/' RN1) 'ABS' ;
  307. ERRO6 = 'MAXIMUM' ((RN2 '-' R2) '/' RN2) 'ABS' ;
  308. ERRO = 'MAXIMUM' ('PROG' ERRO1 ERRO2 ERRO3 ERRO4
  309. ERRO5 ERRO6) ;
  310. 'SI' (ERRO > 1.0D-12) ;
  311. 'ERREUR' 5 ;
  312. 'FINSI' ;
  313. *
  314. *** We consider a mixture of H2, O2, H2O
  315. *
  316. *************************************************
  317. **** The table for the properties of the gas ****
  318. *************************************************
  319. *
  320. PGAS2 = 'TABLE' ;
  321. *
  322. **** Order of the polynomial order for cv = cv(T)
  323. * For T > TMAX, cv(T) = cv(Tmax)
  324. *
  325. PGAS2 . 'TMAX' = 6000.0 ;
  326. PGAS2 . 'NORD' = 4 ;
  327. *
  328. **** Species involved in the mixture (before or after
  329. * the chemical reaction)
  330. *
  331. PGAS2 . 'SPECIES' = 'MOTS' 'H2 ' 'O2 ' 'H2O ' ;
  332. *
  333. *
  334. **** Coefficient of the chemical reaction.
  335. * Note that for the first species this coefficient should be positive
  336. * Normal, we take it equal to 1.
  337. *
  338. * H2 '+' 0.5 O2 ---> H2O
  339. *
  340. PGAS2 . 'CHEMCOEF' = 'PROG' 1.0 0.5 -1.0 ;
  341. *
  342. **** Coef with the gas properties
  343. *
  344. PGAS2 . 'H2 ' = 'TABLE' ;
  345. PGAS2 . 'H2O ' = 'TABLE' ;
  346. PGAS2 . 'O2 ' = 'TABLE' ;
  347. *
  348. **** Runiv (J/mole/K)
  349. *
  350. PGAS2 . 'RUNIV' = 8.31441 ;
  351. *
  352. **** W (kg/mole). Gas constant (J/kg/K = Runiv/W)
  353. *
  354. PGAS2 . 'H2 ' . 'W' = 2. * 1.00797E-3 ;
  355. PGAS2 . 'O2 ' . 'W' = 2. * 15.9994E-3 ;
  356. PGAS2 . 'H2O ' . 'W' = (PGAS2 . 'H2 ' . 'W' ) '+'
  357. (0.5 * (PGAS2 . 'O2 ' . 'W' )) ;
  358. *
  359. **** Mass fraction of the first species before and after the combustion
  360. * Final mass fractions of the species with positive coefficients.
  361. * Final mass fractions of the species with non-positive coefficient.
  362. * The mass fraction of the last species is not given.
  363. *
  364. NH2 = 1.;
  365. NO2 = 0.4999999999 * NH2 ;
  366. NH2O = 1.0D-12 ;
  367. MH2 = NH2 * (PGAS2 . 'H2 ' . 'W') ;
  368. MO2 = NO2 * (PGAS2 . 'O2 ' . 'W') ;
  369. MH2O = NH2O * (PGAS2 . 'H2O ' . 'W') ;
  370. MTOT = MH2 '+' MO2 '+' MH2O ;
  371. YH2 = MH2 '/' MTOT ;
  372. YO2 = MO2 '/' MTOT ;
  373. YH2O = MH2O '/' MTOT ;
  374. SI FAUX ;
  375. *
  376. **** Complete combustion
  377. *
  378. SI (NH2 > (2.0 * NO2)) ;
  379. YO2F = 1.0D-12 ;
  380. YH2F = YH2 '-' ((YO2 '-' YO2F) * ((PGAS2 . 'H2 ' . 'W') '/'
  381. (0.5 * (PGAS2 . 'O2 ' . 'W')))) ;
  382. 'SINON' ;
  383. YH2F = 1.0D-12 ;
  384. YO2F = YO2 '-' (0.5 * (YH2 '-' YH2F) * ((PGAS2 . 'O2 ' . 'W')
  385. '/'(PGAS2 . 'H2 ' . 'W'))) ;
  386. 'FINSI' ;
  387. 'SINON' ;
  388. YH2F = 1. '/' 3. * YH2 ;
  389. YO2F = YO2 '-' (0.5 * (YH2 '-' YH2F) * ((PGAS2 . 'O2 ' . 'W') '/'
  390. (PGAS2 . 'H2 ' . 'W'))) ;
  391. 'FINSI' ;
  392. YH2OF = YH2O '+' (YH2 '-' YH2F) '+' (YO2 '-' YO2F) ;
  393. ERRO = ((YH2F '+' YO2F '+' YH2OF) '-' 1.0) ;
  394. SI (ERRO > 1.0D-12) ;
  395. 'ERREUR' 21 ;
  396. 'FINSI' ;
  397. *
  398. PGAS2 . 'MASSFRA' = 'PROG' YH2 YH2F YO2F ;
  399. *
  400. **** Polynomial coefficients
  401. *
  402. PGAS2 . 'H2 ' . 'A' = 'PROG' 9834.91866 0.54273926 0.000862203836
  403. -2.37281455E-07 1.84701105E-11 ;
  404. PGAS2 . 'H2O ' . 'A' = 'PROG' 1155.95625 0.768331151 -5.73129958E-05
  405. -1.82753232E-08 2.44485692E-12 ;
  406. PGAS2 . 'O2 ' . 'A' = 'PROG' 575.012333 0.350522002 -0.000128294865
  407. 2.33636971E-08 -1.53304905E-12;
  408. *
  409. **** Formation enthalpies (energies) at 0K (J/Kg)
  410. *
  411. PGAS2 . 'H2 ' . 'H0K' = -4.195D6 ;
  412. PGAS2 . 'H2O ' . 'H0K' = -1.395D7 ;
  413. PGAS2 . 'O2 ' . 'H0K' = -2.634D5 ;
  414. *
  415. *
  416. *************************************************
  417. **** The initial conditions *********************
  418. *************************************************
  419. *
  420. eps = 1.0D-64 ;
  421. K0 = 3000. ;
  422. *
  423. T1 = 473. ;
  424. * alph11 = 1.0 '-' 1.0D-5 ;
  425. alph11 = 1.0 '-' 5.0D-3 ;
  426. * alph12 = 1.0D-5 ;
  427. alph12 = 5.0D-3 ;
  428. alph21 = 1.0 '-' alph11 ;
  429. alph22 = 1.0 - alph12 ;
  430. T2 = 4000. ;
  431. un1 = 1900. ;
  432. un2 = 1200. ;
  433. ut1 = 1221. ;
  434. ut2 = 1432. ;
  435. utt1 = 1231. ;
  436. utt2 = 1439. ;
  437. pre1 = 6.909D5 ;
  438. pre2 = 6.909D5 ;
  439. *
  440. CHVN1 = ('MANUEL' 'CHPO' MAIL 3 'UX' un1
  441. 'UY' ut1 'UZ' utt1) ;
  442. CHVN2 = ('MANUEL' 'CHPO' MAIL 3 'UX' un2
  443. 'UY' ut2 'UZ' utt2) ;
  444. *
  445. CHTN1 = ('MANUEL' 'CHPO' MAIL 1 'SCAL' T1) ;
  446. CHTN2 = ('MANUEL' 'CHPO' MAIL 1 'SCAL' T2) ;
  447. *
  448. CHPN1 = ('MANUEL' 'CHPO' MAIL 1 'SCAL' pre1) ;
  449. CHPN2 = ('MANUEL' 'CHPO' MAIL 1 'SCAL' pre2) ;
  450. *
  451. DOMAL = MAIL1 ;
  452. DOMRES = 'DIFF' MAIL DOMAL ;
  453. CHAL1 = ('MANUEL' 'CHPO' DOMRES 1 'SCAL'
  454. alph11) '+'
  455. ('MANUEL' 'CHPO' DOMAL 1 'SCAL'
  456. alph12) ;
  457. CHAL2 = ('MANUEL' 'CHPO' DOMRES 1 'SCAL'
  458. alph21) '+'
  459. ('MANUEL' 'CHPO' DOMAL 1 'SCAL'
  460. alph22) ;
  461. *
  462. CHRN1 CHRN2 CHGN1 CHGN2 CHRET1 CHRET2 = PRIMCONS
  463. PGAS2 CHTN1 CHTN2 CHPN1 CHPN2 CHVN1 CHVN2 ;
  464. *
  465. RN1 RN2 VN1 VN2 PN1 PN2 TN1 TN2 = 'PRIM' 'DEM' PGAS2 CHAL1 CHAL2
  466. (CHAL1 * CHRN1) (CHAL2 * CHRN2) (CHAL1 * CHGN1)
  467. (CHAL2 * CHGN2) (CHAL1 * CHRET1) (CHAL2 * CHRET2)
  468. CHTN1 CHTN2 EPS ;
  469. TN1M = COPIER TN1 ;
  470. TN2M = COPIER TN2 ;
  471. *
  472. ERRO = 'MAXIMUM' (PRE1 '-' ('REDU' PN1 DOMAL)) 'ABS' ;
  473. ERRO = ERRO '/' (pre1) ;
  474. 'SI' (ERRO > 1.0D-6) ;
  475. 'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
  476. 'ERREUR' 21 ;
  477. 'FINSI' ;
  478. ERRO = 'MAXIMUM' (PRE2 '-' ('REDU' PN2 DOMRES)) 'ABS' ;
  479. ERRO = ERRO '/' (pre2) ;
  480. 'SI' (ERRO > 1.0D-6) ;
  481. 'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
  482. 'ERREUR' 21 ;
  483. 'FINSI' ;
  484. ERRO = 'MAXIMUM' (T1 '-' ('REDU' TN1 DOMAL)) 'ABS' ;
  485. ERRO = ERRO '/' (T1) ;
  486. 'SI' (ERRO > 1.0D-6) ;
  487. 'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
  488. 'ERREUR' 21 ;
  489. 'FINSI' ;
  490. ERRO = 'MAXIMUM' (T2 '-' ('REDU' TN2 DOMRES)) 'ABS' ;
  491. ERRO = ERRO '/' (T2) ;
  492. 'SI' (ERRO > 1.0D-6) ;
  493. 'MESSAGE' ('CHAINE' 'Erreur PRIM ' ERRO);
  494. 'ERREUR' 21 ;
  495. 'FINSI' ;
  496. *
  497. 'FIN' ;
  498.  
  499.  
  500.  
  501.  
  502.  

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