Télécharger mistra.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : mistra.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4.  
  5. GRAPH = FAUX ;
  6.  
  7. **********************************************************************
  8. * mistra.dgibi : bas Mach avec Condensation en Paroi *
  9. **********************************************************************
  10. * JEU DE DONNEES POUR TESTER LE BON FONCTIONNEMENT DES OPERATEURS *
  11. * NSKE, PRESSION, TSCAL, QOND, FIMP, LAPN. *
  12. * INJECTION DE VAPEUR DANS UN VOLUME FERME, *
  13. * PRESSURISATION, CONDENSATION EN PAROI ET ECHAUFFEMENT DE LA PAROI. *
  14. * ALGORITHME 'FAIBLE MACH' POUR LES EQUATIONS NAVIER-STOKES *
  15. * FAIBLEMENT COMPRESSIBLES + MODELE DE TURBULENCE K-E. *
  16. * ON TESTE LA TEMPERATURE DE PEAU DE LA PAROI ET LA PRESSION MOYENNE *
  17. * P. CORNET SEMT/TTMF DECEMBRE 1997 (A PARTIR DE BASMACHQ.DGIBI) *
  18. * FORMULATION EF ELEMENTS QUA8 *
  19. **********************************************************************
  20.  
  21. *************************************************************
  22. * PROCEDURE CALCUL1 *
  23. *************************************************************
  24.  
  25. DEBPROC CALCUL1 ;
  26. ARGU RVX*'TABLE' ;
  27. RV = RVX.'EQEX' ;
  28. $MT = RV.'DOMAINE' ;
  29. D0 = RV.'D0' ;
  30.  
  31. * on récupère le pas de temps (tn - tn-1)
  32.  
  33. Dt = RV.PASDETPS.'DELTAT-1' ;
  34. SI (RV.PASDETPS.'NUPASDT' EGA 1) ;
  35. RV.PASDETPS.'DELTAT' = 1.0E-5 ;
  36. DT = 0. ;
  37. FINSI ;
  38.  
  39. * calcul de la densite totale moyenne (kg/m3)
  40.  
  41. Q0 = RV.INCO.'DEBIT' ;
  42. MPO = RV.INCO.'MPOINC' ;
  43. QC = kops MPO '*' VOL ;
  44. QC = somt QC ;
  45. DRO = DT*(Q0+QC)/VOLT ;
  46. ROT0D = RV.INCO.'ROT0D' + DRO ;
  47. RV.INCO.'ROT0D' = ROT0D ;
  48.  
  49. * calcul de la densite de vapeur moyenne (kg/m3)
  50.  
  51. QV = Q0*YH2Ojet ;
  52. DROV = DT*(QV+QC)/VOLT ;
  53. ROV0D = RV.INCO.'ROV0D' + DROV ;
  54. RV.INCO.'ROV0D' = ROV0D ;
  55.  
  56. * filtre sur la fraction massique de vapeur et calcul fraction air
  57.  
  58. YH2O = RV.INCO.'YH2O' ;
  59. YH2O = KOPS YH2O '|<' 0. ;
  60. YH2O = KOPS YH2O '>|' 1. ;
  61. YAIR = KOPS 1.0 '-' YH2O ;
  62.  
  63. * calcul de Cv, R et rcp = R/Cp du mélange
  64.  
  65. CV1 = kops YH2O '*' CVH2O ;
  66. CV2 = kops YAIR '*' CVAIR ;
  67. CV = kops CV1 '+' CV2 ;
  68.  
  69. CP1 = kops YH2O '*' CPH2O ;
  70. CP2 = kops YAIR '*' CPAIR ;
  71. CP = kops CP1 '+' CP2 ;
  72.  
  73. RR1 = kops YH2O '*' RH2O ;
  74. RR2 = kops YAIR '*' RAIR ;
  75. RR = kops RR1 '+' RR2 ;
  76.  
  77. RV.INCO.'RCP' = kops RR '/' CP ;
  78.  
  79. * calcul de l'énergie emmenée par la condensation (J/m3)
  80.  
  81. RT = RV.INCO.'PSIN' ;
  82. ENS = kops RT '*' CVH2O ;
  83. ENS = kops ENS '/' RR ;
  84. ENC = noel $mt ENS ;
  85. ENC = kops ENC '*' MPO ;
  86. ENC = kops ENC '*' VOL ;
  87. ENC = (somt ENC) ;
  88.  
  89. * calcul de l'énergie moyenne (J/m3)
  90.  
  91. DES = (Q0*EMjet) + Etran + ENC ;
  92. DES = DES*DT/VOLT ;
  93. ES0D = RV.INCO.'ES0D' + DES ;
  94. RV.INCO.'ES0D' = ES0D ;
  95.  
  96. * Cp et Cv 0D du mélange
  97.  
  98. YV0D = ROV0D/ROT0D ;
  99. YA0D = 1.0 - YV0D ;
  100. CP0D = (YV0D*CPH2O) + (YA0D*CPAIR) ;
  101. CV0D = (YV0D*CVH2O) + (YA0D*CVAIR) ;
  102.  
  103. * calcul de la pression 0D
  104.  
  105. GAM0D = CP0D/CV0D ;
  106. RV.INCO.'PR0D' = (GAM0D - 1.0)*ES0D ;
  107.  
  108. * calcul de la masse volumique
  109.  
  110. RHO = kops (RV.INCO.'PM') '/' (RV.INCO.'PSIN') ;
  111. ROM = kops D0 '*' RHO ;
  112. ROM = (somt ROM)/VOLT ;
  113. DRO = RV.INCO.'ROT0D' - ROM ;
  114. DRHO = kcht $mt SCAL SOMMET DRO ;
  115. RV.INCO.'RHO' = kops RHO '+' DRHO ;
  116. RV.INCO.'RHOC' = NOEL $MT RV.INCO.'RHO' ;
  117.  
  118. * contrainte sur rhoh2o pour conservation 0D
  119.  
  120. ROVM = kops YH2O '*' RHO ;
  121. ROVM = kops D0 '*' ROVM ;
  122. ROVM = (somt ROVM)/VOLT ;
  123. DROV = RV.INCO.'ROV0D' - ROVM ;
  124. DYV = DROV/ROM ;
  125. DYH2O = kcht $mt SCAL SOMMET DYV ;
  126. YH2OC = kops YH2O '+' DYH2O ;
  127. YH2OF = kops YH2OC '|<' 0. ;
  128. YH2OF = kops YH2OF '>|' 1. ;
  129. RV.INCO.'YH2O' = YH2OF ;
  130.  
  131. * contrainte sur l'énergie e=rho.Cv.T pour conservation 0D
  132.  
  133. RCR = kops RHO '*' CV ;
  134. RCR = kops RCR '/' RR ;
  135. ENM = kops RCR '*' RT ;
  136. ENM = kops D0 '*' ENM ;
  137. ENM = (somt ENM)/VOLT ;
  138. DEN = RV.INCO.'ES0D' - ENM ;
  139. RCRM = kops D0 '*' RCR ;
  140. RCRM = (somt RCRM)/VOLT ;
  141. DRT = DEN/RCRM ;
  142. DPSI = kcht $mt SCAL SOMMET DRT ;
  143. RV.INCO.'PSIN' = kops RT '+' DPSI ;
  144. RV.INCO.'PSIN1' = RT ;
  145.  
  146. * calcul du flux de masse condensé (kg/m2/s)
  147.  
  148. PI = kcht $PAROI SCAL CENTRE RV.INCO.'PM' ;
  149. YH2OI = kcht $PAROI SCAL SOMMET YH2OF ;
  150. YH2OI = noel $PAROI YH2OI ;
  151. TI = kcht $PAROI SCAL SOMMET RV.INCO.'TP' ;
  152. TI = noel $PAROI TI ;
  153. FCOND = 'QOND' CPH2O DH2O ALPHA RV.INCO.'HI' TI
  154. PI RV.INCO.'YVI' YH2OI ;
  155. RV.INCO.'FCOND' = FCOND ;
  156.  
  157. * calcul du puits de masse de vapeur (kg/m3/s)
  158.  
  159. FLMA = 'KOPS' FCOND '*' SURFI ;
  160. FLMA = 'KCHT' $FLUID SCAL FACE FLMA ;
  161. FLMA = 'NOMC' 'FLUX' FLMA ;
  162. *MPOM = 'DIVU' MODI $FLUID FLMA ORII ;
  163. MPOM = 'DIVU' MODI FLMA ORII ;
  164. MPOM= KCHT $FLUID SCAL CENTRE MPOM ;
  165. MPOIN = 'KOPS' MPOM '/' VOL ;
  166. RV.INCO.'MPOINC' = kops (-1.) '*' MPOIN ;
  167.  
  168. * calcul du flux de chaleur par condensation dans la paroi (Km/s)
  169.  
  170. FENER = kops FCOND '*' LAT ;
  171. FENER = kops FENER '/' RCPac ;
  172. RV.INCO.'FLEN' = FENER ;
  173.  
  174. * calcul du terme (rho-rhom)*g de la QDM
  175.  
  176. DRHO = KOPS (RV.INCO.'RHOC') '-' (RV.INCO.'ROT0D') ;
  177. rogx = KCHT (RV.'DOMAINE') SCAL CENTRE 0. ;
  178. rogy = KCHT (RV.'DOMAINE') SCAL CENTRE (-9.81*DRHO) ;
  179. rogx = nomc 'UX' rogx 'NATU' 'DISCRET' ;
  180. rogy = nomc 'UY' rogy 'NATU' 'DISCRET' ;
  181. RV.INCO.'ROG' = KCHT (RV.'DOMAINE') VECT CENTRE (rogx ET rogy) ;
  182.  
  183. * calcul la vitesse à partir de la qdm
  184.  
  185. GN = RV.INCO.'GN' ;
  186. gnx= kcht (rv.'DOMAINE') scal sommet (exco 'UX' gn) ;
  187. gny= kcht (rv.'DOMAINE') scal sommet (exco 'UY' gn) ;
  188. unx = kops gnx '/' RV.INCO.'RHO' ;
  189. uny = kops gny '/' RV.INCO.'RHO' ;
  190. unx = nomc 'UX' unx 'NATU' 'DISCRET' ;
  191. uny = nomc 'UY' uny 'NATU' 'DISCRET' ;
  192. un = kcht (RV.'DOMAINE') vect sommet (unx et uny) ;
  193. RV.INCO.'UN' = un ;
  194.  
  195. * calcul de nut à partir de mut et de rho
  196.  
  197. RV.INCO.'NUT' = KOPS (RV.INCO.'MUT') '/' (RV.INCO.'RHOC') ;
  198.  
  199. * suivi masse condensée
  200.  
  201. RV.INCO.'MASCD' = RV.INCO.'MASCD'!- (QC*Dt) ;
  202.  
  203. FINPROC ;
  204.  
  205. **********************************************************************
  206. * PROCEDURE CALCUL2 *
  207. **********************************************************************
  208.  
  209. DEBPROC CALCUL2 ;
  210. ARGU RVX*'TABLE' ;
  211. RV = RVX.'EQEX' ;
  212. $MT = RV.'DOMAINE' ;
  213.  
  214. * on récupère le pas de temps
  215.  
  216. Dt = RV.PASDETPS.'DELTAT' ;
  217. Dt = Dt * RV.'ALFA' ;
  218.  
  219. * calcul l'intégrale se trouvant dans le terme Dp/Dt.
  220.  
  221. ZT = KOPS (RV.INCO.'PSIN') '-' (RV.INCO.'PSI1') ;
  222. ZT = KOPS ZT '/' Dt ;
  223. ZT = KOPS ZT '/' (RV.INCO.'PSIN') ;
  224.  
  225. ZZ = KOPS ZT '*' RV.INCO.'RHO' ;
  226. ZZ = NOEL $MT ZZ ;
  227. ZZ = KCHT $MT 'SCAL' 'CENTRE' ZZ ;
  228. ZZT = SOMT ( KOPS ZZ '*' VOL ) ;
  229.  
  230. RV.INCO.'PSI1' = KCHT $MT 'SCAL' 'SOMMET' (RV.INCO.'PSIN') ;
  231.  
  232. * calcul de dPdt
  233.  
  234. * Q0 = 'DBIT' RV.INCO.'GN' $INJ ;
  235. RV.INCO.'DEBIT' = Q0 ;
  236. mvol = kops RV.INCO.'MPOINC' '*' VOL ;
  237. qvap = somt mvol ;
  238. dPdt = ZZT + q0 + qvap ;
  239. dPdt = dPdt*(RV.INCO.'PM')/VOLT/RV.INCO.'ROT0D' ;
  240.  
  241. * terme source de l'équation d'énergie
  242.  
  243. ROCP = noel $mt RV.INCO.'RCP' ;
  244. TOTO = KOPS dPdt '/' RV.INCO.'RHOC' ;
  245. TOTO = KOPS TOTO '*' ROCP ;
  246. RV.INCO.'S' = KCHT $MT 'SCAL' 'CENTRE' TOTO ;
  247.  
  248. * terme source équation de Poisson
  249.  
  250. Z1 = dPdt/RV.INCO.'PM' ;
  251. ZP = KOPS RV.INCO.'RHOC' '*' Z1 ;
  252. ZS = KOPS ZP '-' ZZ ;
  253. ZS = KOPS ZS '-' RV.INCO.'MPOINC' ;
  254. ZZS = KOPS ZS '*' VOL ;
  255. ZZS = ZZS * (-1.0) ;
  256. RV.INCO.'ZS' = KCHT $MT 'SCAL' 'CENTRE' ZZS ;
  257.  
  258. * terme source équation de fraction massique vapeur
  259.  
  260. yvap = noel $mt RV.INCO.'YH2O' ;
  261. SY = kops 1. '-' yvap ;
  262. SY = kops sy '*' RV.INCO.'MPOINC' ;
  263. SY = kops sy '/' RV.INCO.'RHOC' ;
  264. RV.INCO.'SY' = KCHT $MT 'SCAL' 'CENTRE' SY ;
  265.  
  266. * calcul de l'évolution de la pression
  267.  
  268. RV.INCO.'PM' = RV.INCO.'PM' + (dPdt*dt) ;
  269.  
  270. * affichage et suivi d'informations toutes les NSAUV iterations
  271.  
  272. DD = RV.PASDETPS.'NUPASDT' ;
  273. NN = DD/NSAUV ;
  274. LO = (DD-(NSAUV*NN)) EGA 0 ;
  275. SI ( LO ) ;
  276.  
  277. MESSAGE '=============================================================';
  278. mess 'TEMPS = ' RV.PASDETPS.'TPS' 'PRESSION =' RV.INCO.'PM' ;
  279. RV.INCO.'PT0D' = RV.INCO.'PT0D' ET (PROG RV.INCO.'PR0D') ;
  280. RV.INCO.'TEMPS' = RV.INCO.'TEMPS' ET (PROG RV.'PASDETPS'.'TPS') ;
  281. RV.INCO.'PRESS' = RV.INCO.'PRESS' ET (PROG RV.INCO.'PM') ;
  282. RV.INCO.'MCOND' = RV.INCO.'MCOND' ET (PROG RV.INCO.'MASCD') ;
  283.  
  284. FINSI ;
  285.  
  286. FINPROC ;
  287.  
  288. *******************************************************************
  289. * JEU DE DONNEES DE DISTRIBUTION DE TYPE "MISTRA" *
  290. * ALGORITHME 'COMPRESSIBLE FAIBLE MACH' SEMI-IMPLICITE *
  291. * === INJECTION + CONDENSATION === *
  292. *******************************************************************
  293.  
  294. opti elem qua8 ;
  295. opti mode axis ;
  296.  
  297. *========================================================*
  298. * GENERATION DU MAILLAGE *
  299. *========================================================*
  300.  
  301. L_A = 2.0 ;
  302. H_A = 6.0 ;
  303. L_B = 0.1 ;
  304. H_B = H_A ;
  305.  
  306. DINJ = 0.5 ;
  307.  
  308. DX = 0.5 ;
  309. DY = 0.5 ;
  310. DZ = 0.02 ;
  311.  
  312. epsi = (DZ/10.) ;
  313.  
  314. ****************
  315. * ZONE A = GAZ *
  316. ****************
  317.  
  318. A7 = 0. 0. ;
  319. A1 = DINJ 0. ;
  320. A2 = L_A 0.0 ;
  321. A5 = L_A H_A ;
  322. A6 = 0. H_A ;
  323.  
  324. N71 = 'ENTIER' (DINJ/DX) ;
  325. N12 = 'ENTIER' ((L_A-DINJ)/DX) ;
  326. N25 = 'ENTIER' (H_A/DY) ;
  327. N56 = N71 + N12 ;
  328. N67 = N25 ;
  329.  
  330. A7A1 = A7 'DROI' N71 A1 ;
  331. A1A2 = A1 'DROI' N12 A2 ;
  332. A2A5 = A2 'DROI' N25 A5 ;
  333. A5A6 = A5 'DROI' N56 A6 ;
  334. A6A7 = A6 'DROI' N67 A7 ;
  335.  
  336. BAS_A = A7A1 ET A1A2 ;
  337. DRO_A = A2A5 ;
  338. HAU_A = A5A6 ;
  339. GAU_A = A6A7 ;
  340.  
  341. COMP_A = 'DALLER' BAS_A DRO_A HAU_A GAU_A 'PLAN' ;
  342.  
  343. ****************
  344. * ZONE B = MUR *
  345. ****************
  346.  
  347. A3 = (L_A+L_B) 0. ;
  348. A4 = (L_A+L_B) H_B ;
  349.  
  350. N23 = 'ENTIER' (L_B/DZ) ;
  351. N34 = N25 ;
  352. N45 = N23 ;
  353.  
  354. A2A3 = A2 'DROI' N23 A3 ;
  355. A3A4 = A3 'DROI' N34 A4 ;
  356. A4A5 = A4 'DROI' N45 A5 ;
  357.  
  358. BAS_B = A2A3 ;
  359. DRO_B = A3A4 ;
  360. HAU_B = A4A5 ;
  361. GAU_B = INVE A2A5 ;
  362.  
  363. ZONE_B = 'DALLER' BAS_B DRO_B HAU_B GAU_B 'PLAN' ;
  364.  
  365. ********************
  366. * MAILLAGE COMPLET *
  367. ********************
  368.  
  369. MT = COMP_A ET ZONE_B ;
  370. 'ELIM' epsi MT ;
  371.  
  372. 'ORIE' MT ;
  373. CNT = 'CONT' MT ;
  374. CNT = CNT ET GAU_B ;
  375.  
  376. ******************
  377. * TABLES DOMAINE *
  378. ******************
  379.  
  380. $MT = 'DOMA' MT epsi 'MACRO' ;
  381.  
  382. $FLUID = 'DOMA' COMP_A 'MACRO' 'INCL' $MT epsi ;
  383. $INJ = 'DOMA' BAS_A 'MACRO' 'INCL' $MT epsi ;
  384. $MUR = 'DOMA' ZONE_B 'MACRO' 'INCL' $MT epsi ;
  385. $PAROI = 'DOMA' GAU_B 'MACRO' 'INCL' $MT epsi ;
  386. MT = $MT.MAILLAGE ;
  387. MFLUID = $FLUID.MAILLAGE ;
  388. MUR = $MUR.MAILLAGE ;
  389. ****************************************************************
  390. * on définit le maillage complet pour le modèle DARCY
  391. *****************************************************************
  392. MCOMP_A= CHAN COMP_A QUAF ;
  393. Q4COMPA= CHAN MCOMP_A QUA4 ;
  394. QCOMPA= CHAN Q4COMPA QUAF ;
  395. ELIM ( QCOMPA ET $PAROI.CENTRE ET $FLUID.CENTRE) EPSI ;
  396. ELIM ( QCOMPA ET $PAROI.FACE ET $FLUID.FACE) EPSI ;
  397. MODI = 'MODE' QCOMPA 'DARCY' ;
  398. *******************************
  399. * DONNEES POUR LES PROCEDURES *
  400. *******************************
  401.  
  402. VOL = 'DOMA' $FLUID 'VOLUME' ;
  403. VOLT = 'SOMT' VOL ;
  404. SURFI = 'DOMA' $PAROI 'VOLUME' ;
  405. NEMT = NBEL MT ;
  406.  
  407. *ORII = 'DOMA' $FLUID 'ORIENTAT' ;
  408. ORII = 'DOMA' MODI 'ORIENTAT' ;
  409. *MODI = 'MODE' MFLUID 'DARCY' ;
  410.  
  411. ******************************************
  412. * FRONTIERES POUR CONDITIONS AUX LIMITES *
  413. ******************************************
  414.  
  415. MUR_HOR = A1A2 ET A5A6 ;
  416. MUR_VER = A2A5 ET A6A7 ;
  417. PAROI = A2A5 ;
  418. BRECHE = A7A1 ;
  419.  
  420. *====================================================================*
  421. * DONNEES PHYSIQUES DU CALCUL *
  422. *====================================================================*
  423.  
  424. *--------------------------------------
  425. * masses molaires et constantes des gaz
  426. *--------------------------------------
  427.  
  428. MH2O = 18.0E-3 ;
  429. MAIR = 28.8E-3 ;
  430. Rg = 8.313 ;
  431. RH2O = Rg/MH2O ;
  432. RAIR = Rg/MAIR ;
  433.  
  434. *----------------------------------------------------------
  435. * fractions molaires des differents constituants du melange
  436. *----------------------------------------------------------
  437. XH2O = 0.1 ;
  438. XAIR = 1.0 - XH2O ;
  439.  
  440. *---------------------------------------------
  441. * masse molaire du melange et constante du gaz
  442. *---------------------------------------------
  443. M = (XH2O*MH2O) + (XAIR*MAIR) ;
  444. R = Rg/M ;
  445.  
  446. *------------------------------------------------------------
  447. * pression, temperature et densite du melange (loi d'etat GP)
  448. *------------------------------------------------------------
  449. P = 1.0E5 ;
  450. T = 373.0 ;
  451. PSI = R*T ;
  452. RHO = P/PSI ;
  453.  
  454. *-------------------------------------------------
  455. * fractions massiques des differents constituants
  456. *-------------------------------------------------
  457. YAIR = XAIR*MAIR/M ;
  458. YH2O = XH2O*MH2O/M ;
  459.  
  460. *----------------------------------------------------
  461. * Cp et Cv des différents constituants et du mélange
  462. *----------------------------------------------------
  463. CPH2O = 1715.632 + (0.552805*T) ;
  464. CPN2 = 1006.15 + (0.1387166*T) ;
  465. CPO2 = 907.580 + (0.1420522*T) ;
  466. CPAIR = (0.2*CPO2) + (0.8*CPN2) ;
  467. CVH2O = CPH2O - RH2O ;
  468. CVAIR = CPAIR - RAIR ;
  469.  
  470. CP = (YH2O*CPH2O) + (YAIR*CPAIR) ;
  471. CV = (YH2O*CVH2O) + (YAIR*CVAIR) ;
  472.  
  473. gamma = CP/(CP-R) ;
  474. RCP = R/CP ;
  475.  
  476. *------------------------
  477. * Caractéristiques du jet
  478. * (Qjet en kg/s)
  479. *------------------------
  480.  
  481. XH2OJet = 1.0 ;
  482. XAIRJet = 1.0 - XH2OJet ;
  483. MJet = (XH2OJet*MH2O) + (XAIRJet*MAIR) ;
  484. RJet = Rg/MJet ;
  485. YH2OJet = XH2OJet*MH2O/MJet ;
  486. YAIRJet = XAIRJet*MAIR/MJet ;
  487. CVJet = (YH2OJet*CVH2O) + (YAIRJet*CVAIR) ;
  488. TJet = 473.0 ;
  489. QJet = 0.1 ;
  490. PSIJet = Rjet*Tjet ;
  491. RhoJet = P/PSIJet ;
  492. EMJet = CVJet*TJet ;
  493. EJet = QJet*EMJet ;
  494. SJet1 = PI*DINJ*DINJ/4.0 ;
  495. SJet2 = PI*(DINJ+(DX*1.515))*(DINJ+(DX*1.515))/4.0 ;
  496. GJet = QJet/SJet2 ;
  497. UJet = GJet/RhoJet ;
  498. * K et epsilon
  499. KJet = 0.05*UJet*UJet ;
  500. EPJet = 0.02*(UJet**3.)/DINJ ;
  501. * débit réel (oper DBIT)
  502. Q0 = 0.100128190433278419 ;
  503. * énergie de transvasement PUjSj
  504. Etran = Q0*Rjet*Tjet ;
  505.  
  506. *-------------------------------------------------
  507. * energie, enthalpie massique et masses du melange
  508. *-------------------------------------------------
  509.  
  510. ESini = RHO*CV*T ;
  511. ETini = ESini*VOLT ;
  512. Pini = (gamma-1.)*ESini ;
  513. LAT = 2.3E6 ;
  514. MASINI = RHO*VOLT ;
  515. Hini = gamma*ETini/MASINI + LAT ;
  516.  
  517. MH2OINI = MASINI*YH2O ;
  518. MAIRINI = MASINI*YAIR ;
  519. RHOH2O = MH2OINI/VOLT ;
  520. RHOAIR = MAIRINI/VOLT ;
  521.  
  522. *----------------------------------------------------
  523. * calcul de vitesses de référence (tracés et filtre)
  524. *----------------------------------------------------
  525.  
  526. ampl = 0.1/Ujet ;
  527. U0 = 1.0*UJet ;
  528. L0 = DINJ ;
  529.  
  530. *------------------------------------------------------------------------
  531. * Prandtl, Schmidt, viscosité (loi de Sutherland), conductivité thermique
  532. * coefficients de diffusion moléculaire
  533. *------------------------------------------------------------------------
  534. Pr = 0.7 ;
  535. Prt = 1.0 ;
  536. Sct = 1.0 ;
  537.  
  538. Mu = 1.716E-5*((T/273.0)**1.5)*(273.0+110.5)/(T+110.5) ;
  539. Nu = Mu/RHO ;
  540. Lambda = Mu*CP/Pr ;
  541. alpha = Lambda/RHO/CP ;
  542.  
  543. DH2O = 2.55E-5 ;
  544. DH2 = 7.12E-5 ;
  545. DO2 = 2.06E-5 ;
  546.  
  547. *--------------------------------------------------------
  548. * propriétés de la paroi (acier) et température initiale
  549. *--------------------------------------------------------
  550.  
  551. lambac = 16.0 ;
  552. RHOac = 7800.0 ;
  553. CPac = 460.0 ;
  554. RCPac = RHOac*CPac ;
  555. alphac = lambac/RCPac ;
  556.  
  557. TPini = 300.0 ;
  558.  
  559. opti echo 0 ;
  560. mess '______________________________________________________________';
  561. mess ' ' ;
  562. mess 'VOLUME FLUIDE = ' VOLT 'NOMBRE D ELEMENTS TOTAL =' nemt ;
  563. mess 'MASSE TOTALE ini =' MASINI 'MAIRini =' MAIRINI
  564. 'MH2Oini =' MH2OINI ;
  565. mess 'YH2Oini =' YH2O 'YAIRini =' YAIR ;
  566. mess 'RHOini =' RHO 'RHOH2Oini =' RHOH2O 'RHOAIRini =' RHOAIR ;
  567. mess 'RTini =' PSI 'RTjet =' PSIJet ;
  568. mess 'ETOTini (J) =' ETini 'Ejet (J/s) =' Ejet 'ESini (J/m3) =' ESini ;
  569. mess 'Etransv (J/s) =' Etran 'Pini =' Pini ;
  570. mess 'CPAIR =' CPAIR 'CPH2O =' CPH2O 'CPini =' CP ;
  571. mess 'CVAIR =' CVAIR 'CVH2O =' CVH2O 'CVini =' CV ;
  572. mess 'RAIR =' RAIR 'RH2O =' RH2O 'Rini =' R ;
  573. mess 'YH2OJet =' YH2OJet 'YAIRJet =' YAIRJet ;
  574. mess 'RHOjet =' RhoJet 'Gjet =' GJet 'UJet =' UJet ;
  575. mess 'NU =' nu 'alpha gaz =' alpha 'alpha acier =' alphac ;
  576. mess 'GAMMA =' gamma ;
  577. mess '______________________________________________________________';
  578. opti echo 1 ;
  579.  
  580. *====================================================================*
  581. * DESCRIPTION DES EQUATIONS A RESOUDRE (TABLE EQEX) *
  582. * 0) FILTRE K-E --> PROCEDURE FILTREKE *
  583. * 1) QUANTITE DE MOUVEMENT --> OPERATEUR NSKE *
  584. * 2) ENERGIE DU GAZ (RT) --> OPERATEUR TSCAL *
  585. * 3) TRANSPORT DE LA VAPEUR --> OPERATEUR TSCAL *
  586. * 4) ENERGIE DU MUR --> OPERATEUR LAPN *
  587. * 5) COND. LIM. DU MUR --> OPERATEUR FIMP *
  588. * AINSI QUE 2 PROCEDURES (CALCUL1 ET CALCUL2) POUR L'ALGORITHME *
  589. * 'FAIBLE MACH' ET LA CONDENSATION *
  590. * 6) CONDITIONS AUX LIMITES POUR LE GAZ *
  591. *====================================================================*
  592.  
  593. RV = 'EQEX' $FLUID 'ITMA' 100 'ALFA' 0.9 'TFINAL' 4.0
  594. 'DOMINC' 'TP' $MUR
  595. 'ZONE' $FLUID 'OPER' 'CALCUL1'
  596. 'ZONE' $FLUID 'OPER' 'FILTREKE' U0 L0 'INCO' 'KN' 'EN'
  597. 'OPTI' 'CONS' 'SUPG'
  598. 'ZONE' $FLUID 'OPER' 'NSKE' 'RHOC' MU 'MUT' 'UN' 'ROG'
  599. 'INCO' 'GN' 'KN' 'EN'
  600. 'OPTI' 'NOCONS' 'PSI'
  601. 'ZONE' $FLUID 'OPER' 'TSCAL' alpha 'UN' 'S' 'NUT' Prt 'INCO' 'PSIN' ;
  602.  
  603. RV = 'EQEX' RV
  604. 'OPTI' 'NOCONS' 'PSI'
  605. 'ZONE' $FLUID 'OPER' 'TSCAL' DH2O 'UN' SY 'NUT' Sct 'INCO' 'YH2O'
  606.  
  607. 'ZONE' $MUR 'OPER' 'LAPN' alphac 'INCO' 'TP'
  608. 'ZONE' $PAROI 'OPER' 'FIMP' 'FLEN' 'INCO' 'TP'
  609.  
  610. 'ZONE' $FLUID 'OPER' 'CALCUL2' ;
  611.  
  612.  
  613. *================ conditions aux limites =========================
  614.  
  615. RV = 'EQEX' RV
  616. 'CLIM' 'GN' 'UIMP' MUR_VER 0.0
  617. 'GN' 'VIMP' MUR_HOR 0.0
  618. 'GN' 'UIMP' BRECHE 0.0
  619. 'GN' 'VIMP' BRECHE GJet
  620. 'KN' 'TIMP' BRECHE KJet
  621. 'EN' 'TIMP' BRECHE EPJet ;
  622. RV = 'EQEX' RV
  623. 'CLIM' 'PSIN' 'TIMP' BRECHE PSIJet
  624. 'YH2O' 'TIMP' BRECHE YH2OJet ;
  625.  
  626. *===========================================================
  627. * TABLE EQPR POUR L'EQUATION DE POISSON (SOLVEUR ELLIPTIQUE)
  628. *===========================================================
  629.  
  630. RVP = 'EQPR' $FLUID KTYPI 1
  631. 'ZONE' $FLUID 'OPER' 'PRESSION' 'ZS'
  632. 'PIMP' 0. ;
  633.  
  634.  
  635. *==========================================================
  636. * TABLE INCO CONTENANT LES INCONNUES ET DONNEES DU PROBLEME
  637. *==========================================================
  638.  
  639. RV.'PRESSION' = RVP ;
  640. RV.'NOMVI' = 'GN' ;
  641. RV.'INCO' = 'TABLE' 'INCO' ;
  642. RVP.'INCO' = RV.'INCO' ;
  643.  
  644. * inconnues des équations différentielles
  645. RV.INCO.'GN' = kcht $FLUID VECT SOMMET (0. 0.) ;
  646. RV.INCO.'EN' = kcht $FLUID SCAL SOMMET 1.E-5 ;
  647. RV.INCO.'KN' = kcht $FLUID SCAL SOMMET 1.E-5 ;
  648. RV.INCO.'YH2O' = kcht $FLUID SCAL SOMMET YH2O ;
  649. RV.INCO.'PSIN' = kcht $FLUID SCAL SOMMET PSI ;
  650. RV.INCO.'PSI1' = kcht $FLUID SCAL SOMMET PSI ;
  651. RV.INCO.'TP' = kcht $MUR SCAL SOMMET TPini ;
  652. * matrice masse pour calcul des moyennes aux noeuds
  653. RV.'D0' = DOMA $FLUID 'XXDIAGSI' ;
  654. * variables 0D : masse totale, masse vapeur, energie, pression
  655. RV.INCO.'ROT0D' = RHO ;
  656. RV.INCO.'ROV0D' = RHOH2O ;
  657. RV.INCO.'ES0D' = ESini ;
  658. RV.INCO.'PR0D' = P ;
  659. * debit masse injecté, masse condensée cumulée, pression moyenne 2D
  660. RV.INCO.'DEBIT' = 0. ;
  661. RV.INCO.'MASCD' = 0. ;
  662. RV.INCO.'PM' = P ;
  663. * vitesse
  664. RV.INCO.'UN' = kcht $FLUID VECT SOMMET (0. 0.);
  665. * variables modèle de turbulence
  666. RV.INCO.'MUT' = kcht $FLUID SCAL CENTRE Mu ;
  667. RV.INCO.'NUT' = kcht $FLUID SCAL CENTRE Nu ;
  668. * masse volumique
  669. RV.INCO.'RHO' = kcht $FLUID SCAL SOMMET RHO ;
  670. RV.INCO.'RHOC'= kcht $FLUID SCAL CENTRE RHO ;
  671. * fractions massiques
  672. RV.INCO.'YAIR' = kcht $FLUID SCAL SOMMET YAIR ;
  673. * R/Cp du mélange
  674. RV.INCO.'RCP' = kcht $FLUID SCAL SOMMET RCP ;
  675. * à la paroi (interface) coef d'ech, frac vap/eau, température
  676. RV.INCO.'HI' = kcht $PAROI SCAL CENTRE 40. ;
  677. RV.INCO.'YVI' = kcht $PAROI SCAL CENTRE 1. ;
  678. RV.INCO.'TI' = kcht $PAROI SCAL CENTRE TPini ;
  679. * flux à la paroi : masse et énergie
  680. RV.INCO.'FCOND' = kcht $PAROI SCAL CENTRE 0. ;
  681. RV.INCO.'FLEN' = kcht $PAROI SCAL CENTRE 0. ;
  682. * termes sources : énergie, vapeur, qdm, Poisson, condensation
  683. RV.INCO.'S' = kcht $FLUID SCAL CENTRE 0. ;
  684. RV.INCO.'SY' = kcht $FLUID SCAL CENTRE 0. ;
  685. RV.INCO.'ROG'= kcht $FLUID VECT CENTRE (0. 0.) ;
  686. RV.INCO.'ZS' = KCHT $FLUID SCAL CENTRE 0. ;
  687. RV.INCO.'MPOINC'= kcht $FLUID SCAL CENTRE 0. ;
  688. * suivi des valeurs moyennes
  689. RV.INCO.'TEMPS' = PROG 0. ;
  690. RV.INCO.'PRESS' = PROG P ;
  691. RV.INCO.'PT0D' = PROG P ;
  692. RV.INCO.'MCOND' = PROG 0. ;
  693.  
  694.  
  695. *===================================================================*
  696. * EXECUTION ET SAUVEGARDE *
  697. *===================================================================*
  698.  
  699. * opti trac ps ;
  700.  
  701. NSAUV = 1 ;
  702. RV.'FIDT' = NSAUV ;
  703.  
  704. exec rv ;
  705.  
  706. * REPIX RV ;
  707. * opti sauv '/test2/cornet/mistra/resultat.4s' ;
  708. * SAUV ;
  709.  
  710. *===================================================================*
  711. * DESSINS *
  712. *===================================================================*
  713. SI GRAPH ;
  714.  
  715. gn1 = 'VECT' (RV.'INCO'.'GN') ampl UX UY VERT ;
  716. 'TRAC' gn1 mt
  717. 'TITR' ' CHAMP DE LA VITESSE MASSIQUE rho.u (Kg.m-².s-1)' ;
  718.  
  719. 'TRAC' 8 RV.'INCO'.'YH2O' MFLUID
  720. 'TITR' 'CHAMP DE LA FRACTION MASSIQUE DE VAPEUR YH2O' ;
  721.  
  722. TP = kops RV.'INCO'.'TP' '-' 273.0 ;
  723. 'TRAC' 8 TP MUR
  724. 'TITR' 'TEMPERATURE DU MUR (en °C)' ;
  725.  
  726. EVOLP1 = EVOL MANU 'TEMPS [s]' RV.INCO.'TEMPS' 'PRESSION'
  727. RV.INCO.'PRESS' ;
  728. EVOLP2 = EVOL MANU 'TEMPS [s]' RV.INCO.'TEMPS' 'PRESSION'
  729. RV.INCO.'PT0D' ;
  730. EVOLP1 = EVOLP1 coul vert ;
  731. TAB1 = TABLE ;
  732. TAB1.1 = 'REGU MARQ CROI ' ;
  733. TAB1.2 = 'REGU MARQ PLUS ' ;
  734. TAB1 . 'TITRE' = TABLE ;
  735. TAB1.'TITRE' . 1 = MOT 'MULTI-D' ;
  736. TAB1.'TITRE' . 2 = MOT '0D' ;
  737. DESS (EVOLP1 ET EVOLP2) LEGE MIMA TAB1 TITR 'PRESSION MOYENNE (Pa)' ;
  738.  
  739. EVOLM = EVOL MANU 'TEMPS [s]' RV.INCO.'TEMPS' 'MASSE CONDENSEE'
  740. RV.INCO.'MCOND' ;
  741. DESS EVOLM MIMA TITR 'MASSE CONDENSEE CUMULEE (kg)' ;
  742.  
  743. FCONDS = ELNO $PAROI RV.INCO.'FCOND' ;
  744. EVOC = EVOL CHPO FCONDS PAROI ;
  745. DESS EVOC MIMA TITX 'haut PAROI (m)' TITY 'FLUX CONDENSE'
  746. TITR 'DENSITE DE FLUX DE MASSE CONDENSEE (kg/m2/s)' ;
  747. FINSI ;
  748.  
  749. *===================================================================*
  750. * TESTS DE BON FONCTIONNEMENT (à 5%) *
  751. *===================================================================*
  752.  
  753. TP1 = 'EXTR' RV.INCO.'TP' SCAL A5 ;
  754. DTP1 = (TP1 - TPini - 0.511)/0.511 ;
  755. DPR = (RV.INCO.'PM' - P - 813.)/813. ;
  756.  
  757. SI ( (ABS DTP1) > 0.2 ) ;
  758. ERREUR 5 ;
  759. FINSI ;
  760.  
  761. SI ( (ABS DPR) > 0.2 ) ;
  762. ERREUR 5 ;
  763. FINSI ;
  764.  
  765. FIN ;
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  

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