Télécharger basmachT.dgibi

Retour à la liste

Numérotation des lignes :

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

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