* fichier : mistra.dgibi ************************************************************************ ************************************************************************ GRAPH = FAUX ; ********************************************************************** * mistra.dgibi : bas Mach avec Condensation en Paroi * ********************************************************************** * JEU DE DONNEES POUR TESTER LE BON FONCTIONNEMENT DES OPERATEURS * * NSKE, PRESSION, TSCAL, QOND, FIMP, LAPN. * * INJECTION DE VAPEUR DANS UN VOLUME FERME, * * PRESSURISATION, CONDENSATION EN PAROI ET ECHAUFFEMENT DE LA PAROI. * * ALGORITHME 'FAIBLE MACH' POUR LES EQUATIONS NAVIER-STOKES * * FAIBLEMENT COMPRESSIBLES + MODELE DE TURBULENCE K-E. * * ON TESTE LA TEMPERATURE DE PEAU DE LA PAROI ET LA PRESSION MOYENNE * * P. CORNET SEMT/TTMF DECEMBRE 1997 (A PARTIR DE BASMACHQ.DGIBI) * * FORMULATION EF ELEMENTS QUA8 * ********************************************************************** ************************************************************* * PROCEDURE CALCUL1 * ************************************************************* DEBPROC CALCUL1 ; $MT = RV.'DOMAINE' ; D0 = RV.'D0' ; * on récupère le pas de temps (tn - tn-1) Dt = RV.PASDETPS.'DELTAT-1' ; SI (RV.PASDETPS.'NUPASDT' EGA 1) ; RV.PASDETPS.'DELTAT' = 1.0E-5 ; DT = 0. ; FINSI ; * calcul de la densite totale moyenne (kg/m3) Q0 = RV.INCO.'DEBIT' ; MPO = RV.INCO.'MPOINC' ; DRO = DT*(Q0+QC)/VOLT ; ROT0D = RV.INCO.'ROT0D' + DRO ; RV.INCO.'ROT0D' = ROT0D ; * calcul de la densite de vapeur moyenne (kg/m3) QV = Q0*YH2Ojet ; DROV = DT*(QV+QC)/VOLT ; ROV0D = RV.INCO.'ROV0D' + DROV ; RV.INCO.'ROV0D' = ROV0D ; * filtre sur la fraction massique de vapeur et calcul fraction air YH2O = RV.INCO.'YH2O' ; * calcul de Cv, R et rcp = R/Cp du mélange * calcul de l'énergie emmenée par la condensation (J/m3) RT = RV.INCO.'PSIN' ; * calcul de l'énergie moyenne (J/m3) DES = (Q0*EMjet) + Etran + ENC ; DES = DES*DT/VOLT ; ES0D = RV.INCO.'ES0D' + DES ; RV.INCO.'ES0D' = ES0D ; * Cp et Cv 0D du mélange YV0D = ROV0D/ROT0D ; YA0D = 1.0 - YV0D ; CP0D = (YV0D*CPH2O) + (YA0D*CPAIR) ; CV0D = (YV0D*CVH2O) + (YA0D*CVAIR) ; * calcul de la pression 0D GAM0D = CP0D/CV0D ; RV.INCO.'PR0D' = (GAM0D - 1.0)*ES0D ; * calcul de la masse volumique DRO = RV.INCO.'ROT0D' - ROM ; * contrainte sur rhoh2o pour conservation 0D DROV = RV.INCO.'ROV0D' - ROVM ; DYV = DROV/ROM ; RV.INCO.'YH2O' = YH2OF ; * contrainte sur l'énergie e=rho.Cv.T pour conservation 0D DEN = RV.INCO.'ES0D' - ENM ; DRT = DEN/RCRM ; RV.INCO.'PSIN1' = RT ; * calcul du flux de masse condensé (kg/m2/s) PI RV.INCO.'YVI' YH2OI ; RV.INCO.'FCOND' = FCOND ; * calcul du puits de masse de vapeur (kg/m3/s) *MPOM = 'DIVU' MODI $FLUID FLMA ORII ; * calcul du flux de chaleur par condensation dans la paroi (Km/s) RV.INCO.'FLEN' = FENER ; * calcul du terme (rho-rhom)*g de la QDM * calcul la vitesse à partir de la qdm GN = RV.INCO.'GN' ; RV.INCO.'UN' = un ; * calcul de nut à partir de mut et de rho * suivi masse condensée RV.INCO.'MASCD' = RV.INCO.'MASCD' - (QC*Dt) ; FINPROC ; ********************************************************************** * PROCEDURE CALCUL2 * ********************************************************************** DEBPROC CALCUL2 ; $MT = RV.'DOMAINE' ; * on récupère le pas de temps Dt = RV.PASDETPS.'DELTAT' ; Dt = Dt * RV.'ALFA' ; * calcul l'intégrale se trouvant dans le terme Dp/Dt. * calcul de dPdt * Q0 = 'DBIT' RV.INCO.'GN' $INJ ; RV.INCO.'DEBIT' = Q0 ; dPdt = ZZT + q0 + qvap ; dPdt = dPdt*(RV.INCO.'PM')/VOLT/RV.INCO.'ROT0D' ; * terme source de l'équation d'énergie * terme source équation de Poisson Z1 = dPdt/RV.INCO.'PM' ; ZZS = ZZS * (-1.0) ; * terme source équation de fraction massique vapeur * calcul de l'évolution de la pression RV.INCO.'PM' = RV.INCO.'PM' + (dPdt*dt) ; * affichage et suivi d'informations toutes les NSAUV iterations DD = RV.PASDETPS.'NUPASDT' ; NN = DD/NSAUV ; LO = (DD-(NSAUV*NN)) EGA 0 ; SI ( LO ) ; MESSAGE '============================================================='; FINSI ; FINPROC ; ******************************************************************* * JEU DE DONNEES DE DISTRIBUTION DE TYPE "MISTRA" * * ALGORITHME 'COMPRESSIBLE FAIBLE MACH' SEMI-IMPLICITE * * === INJECTION + CONDENSATION === * ******************************************************************* *========================================================* * GENERATION DU MAILLAGE * *========================================================* L_A = 2.0 ; H_A = 6.0 ; L_B = 0.1 ; DINJ = 0.5 ; DX = 0.5 ; DY = 0.5 ; DZ = 0.02 ; **************** * ZONE A = GAZ * **************** A7 = 0. 0. ; A1 = DINJ 0. ; A2 = L_A 0.0 ; A5 = L_A H_A ; A6 = 0. H_A ; N71 = 'ENTIER' (DINJ/DX) ; N12 = 'ENTIER' ((L_A-DINJ)/DX) ; N25 = 'ENTIER' (H_A/DY) ; N56 = N71 + N12 ; N67 = N25 ; BAS_A = A7A1 ET A1A2 ; DRO_A = A2A5 ; HAU_A = A5A6 ; GAU_A = A6A7 ; COMP_A = 'DALLER' BAS_A DRO_A HAU_A GAU_A 'PLAN' ; **************** * ZONE B = MUR * **************** A3 = (L_A+L_B) 0. ; N23 = 'ENTIER' (L_B/DZ) ; N34 = N25 ; N45 = N23 ; BAS_B = A2A3 ; DRO_B = A3A4 ; HAU_B = A4A5 ; ZONE_B = 'DALLER' BAS_B DRO_B HAU_B GAU_B 'PLAN' ; ******************** * MAILLAGE COMPLET * ******************** MT = COMP_A ET ZONE_B ; 'ORIE' MT ; CNT = CNT ET GAU_B ; ****************** * TABLES DOMAINE * ****************** MT = $MT.MAILLAGE ; MFLUID = $FLUID.MAILLAGE ; MUR = $MUR.MAILLAGE ; **************************************************************** * on définit le maillage complet pour le modèle DARCY ***************************************************************** ******************************* * DONNEES POUR LES PROCEDURES * ******************************* *ORII = 'DOMA' $FLUID 'ORIENTAT' ; *MODI = 'MODE' MFLUID 'DARCY' ; ****************************************** * FRONTIERES POUR CONDITIONS AUX LIMITES * ****************************************** MUR_HOR = A1A2 ET A5A6 ; MUR_VER = A2A5 ET A6A7 ; PAROI = A2A5 ; BRECHE = A7A1 ; *====================================================================* * DONNEES PHYSIQUES DU CALCUL * *====================================================================* *-------------------------------------- * masses molaires et constantes des gaz *-------------------------------------- MH2O = 18.0E-3 ; MAIR = 28.8E-3 ; Rg = 8.313 ; RH2O = Rg/MH2O ; RAIR = Rg/MAIR ; *---------------------------------------------------------- * fractions molaires des differents constituants du melange *---------------------------------------------------------- XH2O = 0.1 ; XAIR = 1.0 - XH2O ; *--------------------------------------------- * masse molaire du melange et constante du gaz *--------------------------------------------- M = (XH2O*MH2O) + (XAIR*MAIR) ; R = Rg/M ; *------------------------------------------------------------ * pression, temperature et densite du melange (loi d'etat GP) *------------------------------------------------------------ P = 1.0E5 ; T = 373.0 ; PSI = R*T ; RHO = P/PSI ; *------------------------------------------------- * fractions massiques des differents constituants *------------------------------------------------- YAIR = XAIR*MAIR/M ; YH2O = XH2O*MH2O/M ; *---------------------------------------------------- * Cp et Cv des différents constituants et du mélange *---------------------------------------------------- CPH2O = 1715.632 + (0.552805*T) ; CPN2 = 1006.15 + (0.1387166*T) ; CPO2 = 907.580 + (0.1420522*T) ; CPAIR = (0.2*CPO2) + (0.8*CPN2) ; CVH2O = CPH2O - RH2O ; CVAIR = CPAIR - RAIR ; CP = (YH2O*CPH2O) + (YAIR*CPAIR) ; CV = (YH2O*CVH2O) + (YAIR*CVAIR) ; gamma = CP/(CP-R) ; RCP = R/CP ; *------------------------ * Caractéristiques du jet * (Qjet en kg/s) *------------------------ XH2OJet = 1.0 ; XAIRJet = 1.0 - XH2OJet ; MJet = (XH2OJet*MH2O) + (XAIRJet*MAIR) ; RJet = Rg/MJet ; YH2OJet = XH2OJet*MH2O/MJet ; YAIRJet = XAIRJet*MAIR/MJet ; CVJet = (YH2OJet*CVH2O) + (YAIRJet*CVAIR) ; TJet = 473.0 ; QJet = 0.1 ; PSIJet = Rjet*Tjet ; RhoJet = P/PSIJet ; EMJet = CVJet*TJet ; EJet = QJet*EMJet ; SJet1 = PI*DINJ*DINJ/4.0 ; SJet2 = PI*(DINJ+(DX*1.515))*(DINJ+(DX*1.515))/4.0 ; GJet = QJet/SJet2 ; UJet = GJet/RhoJet ; * K et epsilon KJet = 0.05*UJet*UJet ; EPJet = 0.02*(UJet**3.)/DINJ ; * débit réel (oper DBIT) Q0 = 0.100128190433278419 ; * énergie de transvasement PUjSj Etran = Q0*Rjet*Tjet ; *------------------------------------------------- * energie, enthalpie massique et masses du melange *------------------------------------------------- ESini = RHO*CV*T ; ETini = ESini*VOLT ; Pini = (gamma-1.)*ESini ; LAT = 2.3E6 ; MASINI = RHO*VOLT ; Hini = gamma*ETini/MASINI + LAT ; MH2OINI = MASINI*YH2O ; MAIRINI = MASINI*YAIR ; RHOH2O = MH2OINI/VOLT ; RHOAIR = MAIRINI/VOLT ; *---------------------------------------------------- * calcul de vitesses de référence (tracés et filtre) *---------------------------------------------------- ampl = 0.1/Ujet ; U0 = 1.0*UJet ; L0 = DINJ ; *------------------------------------------------------------------------ * Prandtl, Schmidt, viscosité (loi de Sutherland), conductivité thermique * coefficients de diffusion moléculaire *------------------------------------------------------------------------ Pr = 0.7 ; Prt = 1.0 ; Sct = 1.0 ; Mu = 1.716E-5*((T/273.0)**1.5)*(273.0+110.5)/(T+110.5) ; Nu = Mu/RHO ; Lambda = Mu*CP/Pr ; alpha = Lambda/RHO/CP ; DH2O = 2.55E-5 ; DH2 = 7.12E-5 ; DO2 = 2.06E-5 ; *-------------------------------------------------------- * propriétés de la paroi (acier) et température initiale *-------------------------------------------------------- lambac = 16.0 ; RHOac = 7800.0 ; CPac = 460.0 ; RCPac = RHOac*CPac ; alphac = lambac/RCPac ; TPini = 300.0 ; mess '______________________________________________________________'; mess ' ' ; 'MH2Oini =' MH2OINI ; mess '______________________________________________________________'; *====================================================================* * DESCRIPTION DES EQUATIONS A RESOUDRE (TABLE EQEX) * * 0) FILTRE K-E --> PROCEDURE FILTREKE * * 1) QUANTITE DE MOUVEMENT --> OPERATEUR NSKE * * 2) ENERGIE DU GAZ (RT) --> OPERATEUR TSCAL * * 3) TRANSPORT DE LA VAPEUR --> OPERATEUR TSCAL * * 4) ENERGIE DU MUR --> OPERATEUR LAPN * * 5) COND. LIM. DU MUR --> OPERATEUR FIMP * * AINSI QUE 2 PROCEDURES (CALCUL1 ET CALCUL2) POUR L'ALGORITHME * * 'FAIBLE MACH' ET LA CONDENSATION * * 6) CONDITIONS AUX LIMITES POUR LE GAZ * *====================================================================* 'DOMINC' 'TP' $MUR 'ZONE' $FLUID 'OPER' 'CALCUL1' 'ZONE' $FLUID 'OPER' 'FILTREKE' U0 L0 'INCO' 'KN' 'EN' 'OPTI' 'CONS' 'SUPG' 'ZONE' $FLUID 'OPER' 'NSKE' 'RHOC' MU 'MUT' 'UN' 'ROG' 'INCO' 'GN' 'KN' 'EN' 'OPTI' 'NOCONS' 'PSI' 'ZONE' $FLUID 'OPER' 'TSCAL' alpha 'UN' 'S' 'NUT' Prt 'INCO' 'PSIN' ; RV = 'EQEX' RV 'OPTI' 'NOCONS' 'PSI' 'ZONE' $FLUID 'OPER' 'TSCAL' DH2O 'UN' SY 'NUT' Sct 'INCO' 'YH2O' 'ZONE' $MUR 'OPER' 'LAPN' alphac 'INCO' 'TP' 'ZONE' $PAROI 'OPER' 'FIMP' 'FLEN' 'INCO' 'TP' 'ZONE' $FLUID 'OPER' 'CALCUL2' ; *================ conditions aux limites ========================= RV = 'EQEX' RV 'CLIM' 'GN' 'UIMP' MUR_VER 0.0 'GN' 'VIMP' MUR_HOR 0.0 'GN' 'UIMP' BRECHE 0.0 'GN' 'VIMP' BRECHE GJet 'KN' 'TIMP' BRECHE KJet 'EN' 'TIMP' BRECHE EPJet ; RV = 'EQEX' RV 'CLIM' 'PSIN' 'TIMP' BRECHE PSIJet 'YH2O' 'TIMP' BRECHE YH2OJet ; *=========================================================== * TABLE EQPR POUR L'EQUATION DE POISSON (SOLVEUR ELLIPTIQUE) *=========================================================== 'ZONE' $FLUID 'OPER' 'PRESSION' 'ZS' 'PIMP' 0. ; *========================================================== * TABLE INCO CONTENANT LES INCONNUES ET DONNEES DU PROBLEME *========================================================== RV.'PRESSION' = RVP ; RV.'NOMVI' = 'GN' ; RV.'INCO' = 'TABLE' 'INCO' ; RVP.'INCO' = RV.'INCO' ; * inconnues des équations différentielles * matrice masse pour calcul des moyennes aux noeuds * variables 0D : masse totale, masse vapeur, energie, pression RV.INCO.'ROT0D' = RHO ; RV.INCO.'ROV0D' = RHOH2O ; RV.INCO.'ES0D' = ESini ; RV.INCO.'PR0D' = P ; * debit masse injecté, masse condensée cumulée, pression moyenne 2D RV.INCO.'DEBIT' = 0. ; RV.INCO.'MASCD' = 0. ; RV.INCO.'PM' = P ; * vitesse * variables modèle de turbulence * masse volumique * fractions massiques * R/Cp du mélange * à la paroi (interface) coef d'ech, frac vap/eau, température * flux à la paroi : masse et énergie * termes sources : énergie, vapeur, qdm, Poisson, condensation * suivi des valeurs moyennes *===================================================================* * EXECUTION ET SAUVEGARDE * *===================================================================* * opti trac ps ; NSAUV = 1 ; RV.'FIDT' = NSAUV ; exec rv ; * REPIX RV ; * opti sauv '/test2/cornet/mistra/resultat.4s' ; * SAUV ; *===================================================================* * DESSINS * *===================================================================* SI GRAPH ; 'TRAC' gn1 mt 'TRAC' 8 RV.'INCO'.'YH2O' MFLUID 'TITR' 'CHAMP DE LA FRACTION MASSIQUE DE VAPEUR YH2O' ; 'TRAC' 8 TP MUR RV.INCO.'PRESS' ; RV.INCO.'PT0D' ; TAB1 = TABLE ; TAB1.1 = 'REGU MARQ CROI ' ; TAB1 . 'TITRE' = TABLE ; RV.INCO.'MCOND' ; FINSI ; *===================================================================* * TESTS DE BON FONCTIONNEMENT (à 5%) * *===================================================================* DTP1 = (TP1 - TPini - 0.511)/0.511 ; DPR = (RV.INCO.'PM' - P - 813.)/813. ; SI ( (ABS DTP1) > 0.2 ) ; ERREUR 5 ; FINSI ; SI ( (ABS DPR) > 0.2 ) ; ERREUR 5 ; FINSI ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales