Télécharger basmachQ.dgibi

Retour à la liste

Numérotation des lignes :

  1. *****************************************************
  2. * fichier : basmachQ.dgibi *
  3. ** modifie le 15/06/2014 passage EQPR -> EQEX *
  4. *****************************************************
  5.  
  6. *******************************************************************
  7. * JEU DE DONNEES POUR TESTER LE BON FONCTIONNEMENT DES OPERATEURS *
  8. * NSKE, PRESSION, TSCAL. INJECTION D'UN MELANGE DE GAZ DANS UN *
  9. * VOLUME FERME ET PRESSURISATION. ALGORITHME 'FAIBLES MACH' POUR *
  10. * LES EQUATIONS NAVIER-STOKES FAIBLEMENT COMPRESSIBLES + MODELE *
  11. * DE TURBULENCE K-E. ON TESTE SUR LA CONSERVATION DE LA MASSE *
  12. * H. PAILLERE SEMT/TTMF AVRIL 1997 *
  13. * FORMULATION EF ELEMENTS QUA8 *
  14. *******************************************************************
  15.  
  16. *************************************************************
  17. * PROCEDURE PROCINJ *
  18. *************************************************************
  19.  
  20. DEBPROC PROCINJ ;
  21. ARGU RVX*'TABLE' ;
  22.  
  23. RV = RVX.'EQEX' ;
  24.  
  25. * recuperation des anciennes conditions aux limites :
  26.  
  27. cl_YH2 = 'EXCO' 'YH2' RV.'CLIM' 'YH2' ;
  28. cl_YO2 = 'EXCO' 'YO2' RV.'CLIM' 'YO2' ;
  29. cl_YH2O = 'EXCO' 'YH2O' RV.'CLIM' 'YH2O' ;
  30. cl_GNX = 'EXCO' '1GN' RV.'CLIM' '1GN' ;
  31. cl_GNY = 'EXCO' '2GN' RV.'CLIM' '2GN' ;
  32. cl_KN = 'EXCO' 'KN' RV.'CLIM' 'KN' ;
  33. cl_EN = 'EXCO' 'EN' RV.'CLIM' 'EN' ;
  34. cl_PSI = 'EXCO' 'PSIN' RV.'CLIM' 'PSIN' ;
  35.  
  36. * modification des conditions aux limites :
  37.  
  38. RHOJet = RV.INCO.'PM'/PSIJET ;
  39. UJet = GJet/RHOJet ;
  40.  
  41. KJet = 0.05*UJet*UJet ;
  42. EJet = 0.02*(UJet**3.)/DINJ ;
  43.  
  44. cl_KN = 0.D0 * cl_KN + KJet ;
  45. cl_EN = 0.D0 * cl_EN + EJet ;
  46.  
  47. * reimposition des conditions aux limites :
  48.  
  49. RV.'CLIM' = cl_YH2 + cl_YO2 + cl_YH2O + cl_GNX + cl_GNY +
  50. cl_KN + cl_EN + cl_PSI ;
  51.  
  52. detr cl_YH2 ;
  53. detr cl_YO2 ;
  54. detr cl_YH2O ;
  55. detr cl_GNX ;
  56. detr cl_GNY ;
  57. detr cl_KN ;
  58. detr cl_EN ;
  59. detr cl_PSI ;
  60. *tc mise en commentaire du finsi ci-dessous
  61. *FINSI ;
  62.  
  63. as2 ama1 = 'KOPS' 'MATRIK' ;
  64. 'FINPROC' as2 ama1 ;
  65.  
  66. *********************************************************************
  67. * PROCEDURE CALCUL1
  68. *********************************************************************
  69. DEBPROC CALCUL1 ;
  70. ARGU RVX*'TABLE' ;
  71. RV = RVX.'EQEX' ;
  72.  
  73. RV.PASDETPS.'DELTAT' = 0.01 ;
  74.  
  75. * filtres sur fractions massiques et calcul de la fraction massique d'azote
  76.  
  77. YH2 = RV.INCO.'YH2' ;
  78. YO2 = RV.INCO.'YO2' ;
  79. YH2O = RV.INCO.'YH2O' ;
  80. YH2 = KOPS YH2 '|<' 0. ;
  81. YO2 = KOPS YO2 '|<' 0. ;
  82. YH2O = KOPS YH2O '|<' 0. ;
  83.  
  84. RV.INCO.'YH2' = YH2 ;
  85. RV.INCO.'YO2' = YO2 ;
  86. RV.INCO.'YH2O' = YH2O ;
  87. RV.INCO.'YN2' = KOPS 1.0 '-' RV.INCO.'YH2O' ;
  88. RV.INCO.'YN2' = KOPS RV.INCO.'YN2' '-' RV.INCO.'YH2' ;
  89. RV.INCO.'YN2' = KOPS RV.INCO.'YN2' '-' RV.INCO.'YO2' ;
  90.  
  91. * calcul de rho à partir de la loi d'état des gaz parfaits
  92.  
  93. RV.INCO.'RHO' = KOPS (RV.INCO.'PM') '/' (RV.INCO.'PSIN') ;
  94. RV.INCO.'RHOC' = NOEL $MT RV.INCO.'RHO' ;
  95. RV.INCO.'RHOC' = KCHT $MT 'SCAL' 'CENTRE' (RV.INCO.'RHOC') ;
  96. RHOM = (SOMT (KOPS RV.INCO.'RHOC' '*' VOL))/VOLT ;
  97. RV.INCO.'RHOM' = RHOM ;
  98.  
  99. * calcul du terme (rho-rhom)*g de la QDM
  100.  
  101. DRHO = KOPS (RV.INCO.'RHOC') '-' (RV.INCO.'RHOM') ;
  102. rogx = KCHT $MT SCAL CENTRE 0. ;
  103. rogy = KCHT $MT SCAL CENTRE (-9.81*DRHO) ;
  104. rogx = nomc 'UX' rogx 'NATU' 'DISCRET' ;
  105. rogy = nomc 'UY' rogy 'NATU' 'DISCRET' ;
  106. RV.INCO.'ROG' = KCHT $MT VECT CENTRE (rogx ET rogy) ;
  107.  
  108. * calcul la vitesse à partir de la qdm
  109.  
  110. GN = RV.INCO.'GN' ;
  111. gnx= kcht $MT scal sommet (exco 'UX' gn) ;
  112. gny= kcht $MT scal sommet (exco 'UY' gn) ;
  113. unx = kops gnx '/' RV.INCO.'RHO' ;
  114. uny = kops gny '/' RV.INCO.'RHO' ;
  115. unx = nomc 'UX' unx 'NATU' 'DISCRET' ;
  116. uny = nomc 'UY' uny 'NATU' 'DISCRET' ;
  117. un = kcht $MT vect sommet (unx et uny) ;
  118. RV.INCO.'UN' = un ;
  119.  
  120. * calcul de nut à partir de mut et de rho
  121.  
  122. RV.INCO.'NUT' = KOPS (RV.INCO.'MUT') '/' (RV.INCO.'RHOC') ;
  123.  
  124. as2 ama1 = 'KOPS' 'MATRIK' ;
  125. 'FINPROC' as2 ama1 ;
  126.  
  127. *********************************************************************
  128. * PROCEDURE CALCUL2
  129. *********************************************************************
  130. DEBPROC CALCUL2 ;
  131. ARGU RVX*'TABLE' ;
  132.  
  133. RV = RVX.'EQEX' ;
  134.  
  135. * on récupère le pas de temps
  136.  
  137. Dt = RV.PASDETPS.'DELTAT' ;
  138. Dt = Dt * RV.'ALFA' ;
  139.  
  140. * calcul l'intégrale se trouvant dans le terme Dp/Dt.
  141.  
  142. ZT = KOPS (RV.INCO.'PSIN') '-' (RV.INCO.'PSI1') ;
  143. ZT = KOPS ZT '/' Dt ;
  144. ZT = KOPS ZT '/' (RV.INCO.'PSIN') ;
  145.  
  146. ZZ = KOPS ZT '*' RV.INCO.'RHO' ;
  147. ZZ = NOEL $MT ZZ ;
  148. ZZ = KCHT $MT 'SCAL' 'CENTRE' ZZ ;
  149. ZZT = SOMT ( KOPS ZZ '*' VOL ) ;
  150.  
  151. RV.INCO.'PSI1' = KCHT $MT 'SCAL' 'SOMMET' (RV.INCO.'PSIN') ;
  152.  
  153. * calcul de dPdt
  154.  
  155. q0 = 'DBIT' RV.INCO.'GN' $INJ ;
  156. RV.INCO.'DEBIT' = q0 ;
  157. dPdt = ZZT + q0 ;
  158. dPdt = dPdt*(RV.INCO.'PM')/VOLT/RV.INCO.'RHOM' ;
  159.  
  160. * terme source de l'équation d'énergie
  161.  
  162. zuzu = (gamma-1.)/gamma ;
  163.  
  164. QC = NOEL $MT RV.INCO.'Q' ;
  165. QC = KCHT $MT 'SCAL' 'CENTRE' QC ;
  166. TOTO = KOPS QC '+' dPdt ;
  167. TOTO = KOPS TOTO '/' RV.INCO.'RHOC' ;
  168. TOTO = KOPS TOTO '*' zuzu ;
  169. RV.INCO.'S' = KCHT $MT 'SCAL' 'CENTRE' TOTO ;
  170.  
  171. * terme source équation de Poisson
  172.  
  173. Z1 = dPdt/RV.INCO.'PM' ;
  174. ZP = KOPS RV.INCO.'RHOC' '*' Z1 ;
  175. ZS = KOPS ZP '-' ZZ ;
  176. ZZS = KOPS ZS '*' VOL ;
  177. ZZS = ZZS * (-1.0) ;
  178. RV.INCO.'ZS' = KCHT $MT 'SCAL' 'CENTRE' ZZS ;
  179.  
  180. * calcul de l'évolution de la pression
  181.  
  182. RV.INCO.'PM' = RV.INCO.'PM' + (dPdt*dt) ;
  183.  
  184. * affichage informations toutes les 5 iterations
  185.  
  186. DD = RV.PASDETPS.'NUPASDT' ;
  187. NN = DD/5 ;
  188. LO = (DD-(5*NN)) EGA 0 ;
  189. SI ( LO ) ;
  190. MESSAGE '==========================================================' ;
  191. MESSAGE 'TEMPS = ' RV.PASDETPS.'TPS' ' PRESSION = ' RV.INCO.'PM' ;
  192. MESSAGE 'MASSE INI =' MASINI ' MASSE TOTALE = ' (RV.INCO.'RHOM'*VOLT) ;
  193. PT = PROG RV.'PASDETPS'.'TPS' ;
  194. PP = PROG RV.INCO.'PM' ;
  195. PMTO = PROG (RV.INCO.'RHOM'*VOLT) ;
  196. RV.INCO.'TEMPS' = RV.INCO.'TEMPS' ET PT ;
  197. RV.INCO.'PRESS' = RV.INCO.'PRESS' ET PP ;
  198. RV.INCO.'MTOTA' = RV.INCO.'MTOTA' ET PMTO ;
  199. MESSAGE '==========================================================' ;
  200. FINSI ;
  201.  
  202. as2 ama1 = 'KOPS' 'MATRIK' ;
  203. 'FINPROC' as2 ama1 ;
  204.  
  205. ***************************************************************
  206. * JEU DE DONNEES NURETH-8 : CALCUL DE DISTRIBUTION/COMBUSTION *
  207. * ALGORITHME 'COMPRESSIBLE FAIBLE MACH' SEMI-IMPLICITE *
  208. * === DISTRIBUTION === *
  209. ***************************************************************
  210.  
  211. opti elem qua8 ;
  212. opti isov suli ;
  213.  
  214. DISCR = 'MACRO' ;
  215. KPRES = 'CENTRE' ;
  216. BETAP = 1. ;
  217.  
  218.  
  219. *========================================================*
  220. * GENERATION DU MAILLAGE *
  221. *========================================================*
  222.  
  223. L_A = 4.0 ;
  224. H_A = 4.0 ;
  225. L_B = 4.0 ;
  226. H_B = H_A ;
  227.  
  228. HINJ = 1.0 ;
  229. DINJ = 1.0 ;
  230.  
  231. HAB = 1. ;
  232. DAB = 2.0 ;
  233. LAB = 1. ;
  234.  
  235. DX = 1. ;
  236. DY = 1. ;
  237.  
  238. epsi = (DX/10.) ;
  239.  
  240. ******************
  241. * COMPARTIMENT A *
  242. ******************
  243.  
  244. A7 = 0. 0. ;
  245. A8 = HINJ 0. ;
  246. A1 = (HINJ+DINJ) 0. ;
  247. A2 = L_A 0.0 ;
  248. A3 = L_A HAB ;
  249. A4 = L_A (HAB+DAB) ;
  250. A5 = L_A H_A ;
  251. A6 = 0. H_A ;
  252.  
  253. N78 = 'ENTIER' (HINJ/DX) ;
  254. N81 = 'ENTIER' (DINJ/DX) ;
  255. N12 = 'ENTIER' ((L_A-HINJ-DINJ)/DX) ;
  256. N23 = 'ENTIER' (HAB/DY) ;
  257. N34 = 'ENTIER' (DAB/DY) ;
  258. N45 = 'ENTIER' ((H_A-HAB-DAB)/DY) ;
  259. N56 = N78 + N81 + N12 ;
  260. N67 = N23 + N34 + N45 ;
  261.  
  262. A7A8 = A7 'DROI' N78 A8 ;
  263. A8A1 = A8 'DROI' N81 A1 ;
  264. A1A2 = A1 'DROI' N12 A2 ;
  265. A2A3 = A2 'DROI' N23 A3 ;
  266. A3A4 = A3 'DROI' N34 A4 ;
  267. A4A5 = A4 'DROI' N45 A5 ;
  268. A5A6 = A5 'DROI' N56 A6 ;
  269. A6A7 = A6 'DROI' N67 A7 ;
  270.  
  271. BAS_A = A7A8 ET A8A1 ET A1A2 ;
  272. DRO_A = A2A3 ET A3A4 ET A4A5 ;
  273. HAU_A = A5A6 ;
  274. GAU_A = A6A7 ;
  275.  
  276. COMP_A = 'DALLER' BAS_A DRO_A HAU_A GAU_A 'PLAN' ;
  277.  
  278. ******************
  279. * COMPARTIMENT B *
  280. ******************
  281.  
  282. B1 = (L_A+LAB) 0. ;
  283. B2 = (L_A+LAB+L_B) 0. ;
  284. B3 = (L_A+LAB+L_B) H_B ;
  285. B6 = (L_A+LAB) H_B ;
  286. B7 = (L_A+LAB) (HAB+DAB) ;
  287. B8 = (L_A+LAB) HAB ;
  288.  
  289. N23 = 'ENTIER' (H_B/DY) ;
  290. N36 = 'ENTIER' (L_B/DX) ;
  291. N67 = 'ENTIER' ((H_B-HAB-DAB)/DY) ;
  292. N78 = 'ENTIER' (DAB/DY) ;
  293. N81 = N23 - N67 - N78 ;
  294. N12 = N36 ;
  295.  
  296. B1B2 = B1 'DROI' N12 B2 ;
  297. B2B3 = B2 'DROI' N23 B3 ;
  298. B3B6 = B3 'DROI' N36 B6 ;
  299. B6B7 = B6 'DROI' N67 B7 ;
  300. B7B8 = B7 'DROI' N78 B8 ;
  301. B8B1 = B8 'DROI' N81 B1 ;
  302.  
  303. BAS_B = B1B2 ;
  304. DRO_B = B2B3 ;
  305. HAU_B = B3B6 ;
  306. GAU_B = B6B7 ET B7B8 ET B8B1 ;
  307.  
  308. COMP_B = 'DALLER' BAS_B DRO_B HAU_B GAU_B 'PLAN' ;
  309.  
  310. ***************
  311. * JONCTION AB *
  312. ***************
  313.  
  314. NX = 'ENTIER' (LAB/DX) ;
  315. NY = 'ENTIER' (DAB/DY) ;
  316.  
  317. BAS_AB = A3 'DROI' NX B8 ;
  318. DRO_AB = B8 'DROI' NY B7 ;
  319. HAU_AB = B7 'DROI' NX A4 ;
  320. GAU_AB = A4 'DROI' NY A3 ;
  321.  
  322. J_AB = 'DALLER' BAS_AB DRO_AB HAU_AB GAU_AB 'PLAN' ;
  323.  
  324. ********************
  325. * MAILLAGE COMPLET *
  326. ********************
  327.  
  328. COMP_A = COMP_A 'COUL' 'ROUG' ;
  329. COMP_B = COMP_B 'COUL' 'VERT' ;
  330.  
  331. J_AB = J_AB 'COUL' 'BLAN' ;
  332.  
  333. MT = COMP_A ET COMP_B ET J_AB ;
  334. 'ELIM' epsi MT ;
  335.  
  336. 'ORIE' MT ;
  337. CNT = 'CONT' MT ;
  338.  
  339. ******************
  340. * TABLES DOMAINE *
  341. ******************
  342.  
  343. Mmt = 'CHAN' mt 'QUAF' ;
  344. Minj = 'CHAN' BAS_A 'QUAF' ;
  345. MCOMP_A = 'CHAN' comp_A 'QUAF' ;
  346. MCOMP_B = 'CHAN' comp_B 'QUAF' ;
  347. MJ_AB = 'CHAN' J_AB 'QUAF' ;
  348.  
  349. 'ELIM' (Mmt 'ET' Minj 'ET' MCOMP_A 'ET' MCOMP_B 'ET' MJ_AB) epsi;
  350.  
  351. $MT = 'MODE' MMT 'NAVIER_STOKES' DISCR ;
  352. $INJ = 'MODE' Minj 'NAVIER_STOKES' DISCR ;
  353. $COMP_A = 'MODE' MCOMP_A 'NAVIER_STOKES' DISCR ;
  354. $COMP_B = 'MODE' MCOMP_B 'NAVIER_STOKES' DISCR ;
  355. $J_AB = 'MODE' MJ_AB 'NAVIER_STOKES' DISCR ;
  356.  
  357. MT = 'DOMA' $MT 'MAILLAGE' ;
  358. inj = 'DOMA' $INJ 'MAILLAGE' ;
  359. comp_A = 'DOMA' $COMP_A 'MAILLAGE' ;
  360. comp_B = 'DOMA' $COMP_B 'MAILLAGE' ;
  361. j_AB = 'DOMA' $J_AB 'MAILLAGE' ;
  362.  
  363. VOL = 'DOMA' $MT 'VOLUME' ;
  364. VOLT = 'SOMT' VOL ;
  365. VOL = KCHT $MT 'SCAL' 'CENTRE' VOL ;
  366.  
  367. 'MESSAGE' 'VOLUME TOTAL = ' VOLT ;
  368.  
  369. ******************************************
  370. * FRONTIERES POUR CONDITIONS AUX LIMITES *
  371. ******************************************
  372.  
  373. MUR_HOR = A7A8 ET A1A2 ET BAS_AB ET B1B2 ET B3B6
  374. ET HAU_AB ET A5A6 ;
  375. MUR_VER = A2A3 ET B8B1 ET B2B3 ET B6B7 ET A4A5 ET A6A7 ;
  376. BRECHE = A8A1 ;
  377.  
  378. MUR_HOR = MUR_HOR 'COUL' 'VERT' ;
  379. MUR_VER = MUR_VER 'COUL' 'ROUG' ;
  380. BRECHE = BRECHE 'COUL' 'JAUNE' ;
  381.  
  382. *========================================================*
  383. * DONNEES DU CALCUL DE DISTRIBUTION *
  384. *========================================================*
  385.  
  386. *--------------------------------------
  387. * masses molaires et constantes des gaz
  388. *--------------------------------------
  389. MH2 = 2.0E-3 ;
  390. MO2 = 32.0E-3 ;
  391. MN2 = 28.0E-3 ;
  392. MH2O = 18.0E-3 ;
  393.  
  394. Rg = 8.313 ;
  395.  
  396. RH2 = Rg/MH2 ;
  397. RO2 = Rg/MO2 ;
  398. RN2 = Rg/MN2 ;
  399. RH2O = Rg/MH2O ;
  400.  
  401. *----------------------------------------------------------
  402. * fractions molaires des differents constituants du melange
  403. *----------------------------------------------------------
  404. XH2 = 0.0 ;
  405. XH2O = 0.1 ;
  406. XO2 = 0.21*(1.0 - XH2 - XH2O) ;
  407. XN2 = 1.0 - XH2 - XH2O - XO2 ;
  408.  
  409. *---------------------------------------------
  410. * masse molaire du melange et constante du gaz
  411. *---------------------------------------------
  412. M = (XH2*MH2) + (XO2*MO2) + (XN2*MN2) + (XH2O*MH2O) ;
  413. R = Rg/M ;
  414.  
  415. *------------------------------------------------------------
  416. * pression, temperature et densite du melange (loi d'etat GP)
  417. *------------------------------------------------------------
  418. P = 1.0E5 ;
  419. T = 400.0 ;
  420. PSI = R*T ;
  421. RHO = P/PSI ;
  422.  
  423. *------------------------
  424. * Caractéristiques du jet
  425. *------------------------
  426.  
  427. XH2Jet = 0.1 ;
  428. XH2OJet = 0.3 ;
  429. XO2Jet = 0.21*( 1.0 - XH2Jet - XH2OJet ) ;
  430. XN2Jet = 1.0 - XH2Jet - XH2OJet - XO2Jet ;
  431. MJet = (XH2Jet*MH2) + (XH2OJet*MH2O) + (XO2Jet*MO2) +
  432. (XN2Jet*MN2) ;
  433. RJet = Rg/MJet ;
  434. TJet = 650.0 ;
  435. PSIJet = Rjet*Tjet ;
  436. RhoJet = P/PSIJet ;
  437. GJet = 10.*DINJ/(DINJ+(DX*0.5)) ;
  438. UJet = GJet/RhoJet ;
  439. KJet = 0.05*UJet*UJet ;
  440. EJet = 0.02*(UJet**3.)/DINJ ;
  441.  
  442. *------------------------------------------------
  443. * fractions massiques des differents constituants
  444. *------------------------------------------------
  445. YH2 = XH2*MH2/M ;
  446. YO2 = XO2*MO2/M ;
  447. YN2 = XN2*MN2/M ;
  448. YH2O = XH2O*MH2O/M ;
  449. YH2Jet = XH2Jet*MH2/MJet ;
  450. YH2OJet =XH2OJet*MH2O/MJet ;
  451. YO2Jet = XO2Jet*MO2/MJet ;
  452. YN2Jet =XN2Jet*MN2/MJet ;
  453.  
  454. *------------------------------------------------------------------
  455. * Cp des différents constituants et du mélange (supposés constants)
  456. *------------------------------------------------------------------
  457. CPH2 = 13514.04 + (1.684537*T) ;
  458. CPH2O = 1715.632 + (0.552805*T) ;
  459. CPN2 = 1006.15 + (0.1387166*T) ;
  460. CPO2 = 907.580 + (0.1420522*T) ;
  461.  
  462. CP = (YH2*CPH2) + (YH2O*CPH2O) + (YO2*CPO2) + (YN2*CPN2) ;
  463.  
  464. gamma = CP/(CP-R) ;
  465.  
  466. *----------------------------------------------------
  467. * calcul d'une vitesse de référence (pour les tracés)
  468. *----------------------------------------------------
  469.  
  470. uref = gamma*R*T ;
  471. uref = uref**0.5 ;
  472. uref = 0.01*uref ;
  473. ampl = 1./uref ;
  474.  
  475. *------------------------------------------------------------------------
  476. * Prandtl, Schmidt, viscosité (loi de Sutherland), conductivité thermique
  477. * coefficients de diffusion moléculaire
  478. *------------------------------------------------------------------------
  479. Pr = 0.7 ;
  480. Prt = 1.0 ;
  481. Sct = 1.0 ;
  482.  
  483. Mu = 1.716E-5*((T/273.0)**1.5)*(273.0+110.5)/(T+110.5) ;
  484. Nu = Mu/RHO ;
  485. Lambda = Mu*CP/Pr ;
  486.  
  487. alpha = Lambda/RHO/CP ;
  488.  
  489. DH2O = 2.55E-5 ;
  490. DH2 = 7.12E-5 ;
  491. DO2 = 2.06E-5 ;
  492.  
  493. *==============================================================
  494. * TABLE EQEX CONTENANT LES EQUATIONS A RESOUDRE :
  495. * 0) FILTRE K-E
  496. * 1) QUANTITE DE MOUVEMENT --- OPERATEUR NSKE
  497. * 2) EQUATION DE L'ENERGIE --- OPERATEUR TSCAL
  498. * 3) TRANSPORT DES ESPECES --- OPERATEUR TSCAL
  499. * AINSI QUE 2 PROCEDURES (CALCUL1 ET CALCUL2) POUR L'ALGORITHME
  500. * 'FAIBLE MACH'
  501. * 4) CONDITIONS AUX LIMITES
  502. *==============================================================
  503.  
  504. RV = 'EQEX' $MT 'ITMA' 30 'ALFA' 0.9
  505. 'ZONE' $MT 'OPER' 'PROCINJ'
  506. 'ZONE' $MT 'OPER' 'CALCUL1'
  507. 'ZONE' $MT 'OPER' 'FILTREKE' UJet DINJ 'INCO' 'KN' 'EN'
  508. 'OPTI' 'CONS'
  509. 'ZONE' $MT 'OPER' 'NSKE' 'RHOC' MU 'MUT' 'UN' 'ROG'
  510. 'INCO' 'GN' 'KN' 'EN'
  511. 'OPTI' 'NOCONS'
  512. 'ZONE' $MT 'OPER' 'TSCAL' alpha 'UN' 'S' 'NUT' Prt
  513. 'INCO' 'PSIN' ;
  514.  
  515. RV = 'EQEX' RV
  516. 'ZONE' $MT 'OPER' 'TSCAL' DH2 'UN' 0.0 'NUT' SCT
  517. 'INCO' 'YH2'
  518. 'ZONE' $MT 'OPER' 'TSCAL' DO2 'UN' 0.0 'NUT' SCT
  519. 'INCO' 'YO2'
  520. 'ZONE' $MT 'OPER' 'TSCAL' DH2O 'UN' 0.0 'NUT' SCT
  521. 'INCO' 'YH2O'
  522. 'ZONE' $MT 'OPER' 'CALCUL2' ;
  523.  
  524. RV = 'EQEX' RV
  525. 'CLIM' 'GN' 'UIMP' MUR_VER 0.0
  526. 'GN' 'VIMP' MUR_HOR 0.0
  527. 'GN' 'UIMP' BRECHE 0.0
  528. 'GN' 'VIMP' BRECHE GJet
  529. 'KN' 'TIMP' BRECHE KJet
  530. 'EN' 'TIMP' BRECHE EJet ;
  531. RV = 'EQEX' RV
  532. 'CLIM' 'PSIN' 'TIMP' BRECHE PSIJet
  533. 'YH2' 'TIMP' BRECHE YH2Jet
  534. 'YO2' 'TIMP' BRECHE YO2Jet
  535. 'YH2O' 'TIMP' BRECHE YH2OJet ;
  536.  
  537. RV=EQEX RV OPTI EFM1 'CENTREE'
  538. 'ZONE' $MT 'OPER' 'DFDT' 1. 'GN' 'DELTAT' 'INCO' 'GN'
  539. 'ZONE' $MT 'OPER' 'DFDT' 1. 'KN' 'DELTAT' 'INCO' 'KN'
  540. 'ZONE' $MT 'OPER' 'DFDT' 1. 'EN' 'DELTAT' 'INCO' 'EN'
  541. 'ZONE' $MT 'OPER' 'DFDT' 1. 'PSIN' 'DELTAT' 'INCO' 'PSIN'
  542. 'ZONE' $MT 'OPER' 'DFDT' 1. 'YH2' 'DELTAT' 'INCO' 'YH2'
  543. 'ZONE' $MT 'OPER' 'DFDT' 1. 'YO2' 'DELTAT' 'INCO' 'YO2'
  544. 'ZONE' $MT 'OPER' 'DFDT' 1. 'YH2O' 'DELTAT' 'INCO' 'YH2O' ;
  545.  
  546. *===========================================================
  547. * TABLE EQEX POUR L'EQUATION DE POISSON (SOLVEUR ELLIPTIQUE)
  548. *===========================================================
  549.  
  550. PPI = 'POIN' ('DOMA' $mt KPRES) 'PROC' ('BARY' mt) ;
  551. MPI = 'MANU' 'POI1' PPI ;
  552. RVP = EQEX 'OPTI' 'EF' KPRES
  553. 'ZONE' $MT OPER KBBT -1. betap INCO 'GN' 'PRES'
  554. 'OPTI' 'EF' 'CENTREE' 'INCOD' KPRES
  555. 'ZONE' $MT OPER FIMP 'ZS' 'INCO' 'PRES'
  556. 'CLIM' 'PRES' 'TIMP' MPI 0.
  557. ;
  558.  
  559. rvp.'METHINV'.TYPINV=1 ;
  560. rvp.'METHINV'.IMPINV=0 ;
  561. rvp.'METHINV'.NITMAX=300;
  562. rvp.'METHINV'.PRECOND=3 ;
  563. rvp.'METHINV'.RESID =1.e-8 ;
  564. rvp.'METHINV' . 'FCPRECT'=100 ;
  565. rvp.'METHINV' . 'FCPRECI'=100 ;
  566.  
  567. RV.'PROJ' =RVP ;
  568.  
  569. *==========================================================
  570. * TABLE INCO CONTENANT LES INCONNUES ET DONNEES DU PROBLEME
  571. *==========================================================
  572.  
  573. RV.'NOMVI' = 'GN' ;
  574.  
  575. RV.'INCO' = 'TABLE' 'INCO' ;
  576. RVP.'INCO' = RV.'INCO' ;
  577.  
  578. * vitesse et quantité de mouvement
  579. RV.INCO.'UN' = kcht $MT VECT SOMMET (0. 0.);
  580. RV.INCO.'GN' = kcht $MT VECT SOMMET (0. 0.);
  581. * pression
  582. RV.INCO.'PRES' = kcht $MT SCAL KPRES 0. ;
  583. * température
  584. RV.INCO.'PSIN' = kcht $MT SCAL SOMMET PSI ;
  585. RV.INCO.'PSI1' = kcht $MT SCAL SOMMET PSI ;
  586. * variables modèle de turbulence
  587. RV.INCO.'EN' = kcht $MT SCAL SOMMET 1.E-5 ;
  588. RV.INCO.'KN' = kcht $MT SCAL SOMMET 1.E-5 ;
  589. RV.INCO.'MUT' = kcht $MT SCAL CENTRE Mu ;
  590. RV.INCO.'NUT' = kcht $MT SCAL CENTRE Nu ;
  591. * masse volumique
  592. RV.INCO.'RHO' = kcht $MT SCAL SOMMET RHO ;
  593. RV.INCO.'RHOC'= kcht $MT SCAL CENTRE RHO ;
  594. RV.INCO.'RHOM'= RHO ;
  595. * fractions massiques
  596. RV.INCO.'YH2' = kcht $MT SCAL SOMMET YH2 ;
  597. RV.INCO.'YO2' = kcht $MT SCAL SOMMET YO2 ;
  598. RV.INCO.'YN2' = kcht $MT SCAL SOMMET YN2 ;
  599. RV.INCO.'YH2O'= kcht $MT SCAL SOMMET YH2O ;
  600. * termes sources (Poisson/énergie/QDM)
  601. RV.INCO.'S'=kcht $MT SCAL CENTRE 0. ;
  602. RV.INCO.'Q'=kcht $MT SCAL SOMMET 0. ;
  603. RV.INCO.'ROG'=kcht $MT VECT CENTRE (0. 0.) ;
  604. RV.INCO.'ZS' = KCHT $MT SCAL CENTRE 0.0 ;
  605. * pression
  606. RV.INCO.'PM' = P ;
  607. * progressions contenant certaines données
  608. RV.INCO.'TEMPS' = PROG 0. ;
  609. RV.INCO.'PRESS' = PROG P ;
  610. RV.INCO.'MTOTA' = PROG (RHO*VOLT) ;
  611. * debit de masse
  612. RV.INCO.'DEBIT' = 0. ;
  613.  
  614. MASINI = KOPS RV.INCO.'RHOC' '*' VOL ;
  615. MASINI = SOMT MASINI ;
  616.  
  617. exec rv ;
  618.  
  619. MTHEO = MASINI + (RV.INCO.'DEBIT' * RV.PASDETPS.'TPS') ;
  620. MESSAGE MTHEO ;
  621. SI ( (MAXI RV.INCO.'MTOTA') < (0.95*MTHEO) ) ;
  622. ERREUR 5 ;
  623. FINSI ;
  624.  
  625. FIN ;
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  

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