* 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 ;
ARGU RVX*'TABLE' ;
RV = RVX.'EQEX' ;
$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' ;
QC = kops MPO '*' VOL ;
QC = somt QC ;
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' ;
YH2O = KOPS YH2O '|<' 0. ;
YH2O = KOPS YH2O '>|' 1. ;
YAIR = KOPS 1.0 '-' YH2O ;
* calcul de Cv, R et rcp = R/Cp du mélange
CV1 = kops YH2O '*' CVH2O ;
CV2 = kops YAIR '*' CVAIR ;
CV = kops CV1 '+' CV2 ;
CP1 = kops YH2O '*' CPH2O ;
CP2 = kops YAIR '*' CPAIR ;
CP = kops CP1 '+' CP2 ;
RR1 = kops YH2O '*' RH2O ;
RR2 = kops YAIR '*' RAIR ;
RR = kops RR1 '+' RR2 ;
RV.INCO.'RCP' = kops RR '/' CP ;
* calcul de l'énergie emmenée par la condensation (J/m3)
RT = RV.INCO.'PSIN' ;
ENS = kops RT '*' CVH2O ;
ENS = kops ENS '/' RR ;
ENC = noel $mt ENS ;
ENC = kops ENC '*' MPO ;
ENC = kops ENC '*' VOL ;
ENC = (somt ENC) ;
* 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
RHO = kops (RV.INCO.'PM') '/' (RV.INCO.'PSIN') ;
ROM = kops D0 '*' RHO ;
ROM = (somt ROM)/VOLT ;
DRO = RV.INCO.'ROT0D' - ROM ;
DRHO = kcht $mt SCAL SOMMET DRO ;
RV.INCO.'RHO' = kops RHO '+' DRHO ;
RV.INCO.'RHOC' = NOEL $MT RV.INCO.'RHO' ;
* contrainte sur rhoh2o pour conservation 0D
ROVM = kops YH2O '*' RHO ;
ROVM = kops D0 '*' ROVM ;
ROVM = (somt ROVM)/VOLT ;
DROV = RV.INCO.'ROV0D' - ROVM ;
DYV = DROV/ROM ;
DYH2O = kcht $mt SCAL SOMMET DYV ;
YH2OC = kops YH2O '+' DYH2O ;
YH2OF = kops YH2OC '|<' 0. ;
YH2OF = kops YH2OF '>|' 1. ;
RV.INCO.'YH2O' = YH2OF ;
* contrainte sur l'énergie e=rho.Cv.T pour conservation 0D
RCR = kops RHO '*' CV ;
RCR = kops RCR '/' RR ;
ENM = kops RCR '*' RT ;
ENM = kops D0 '*' ENM ;
ENM = (somt ENM)/VOLT ;
DEN = RV.INCO.'ES0D' - ENM ;
RCRM = kops D0 '*' RCR ;
RCRM = (somt RCRM)/VOLT ;
DRT = DEN/RCRM ;
DPSI = kcht $mt SCAL SOMMET DRT ;
RV.INCO.'PSIN' = kops RT '+' DPSI ;
RV.INCO.'PSIN1' = RT ;
* calcul du flux de masse condensé (kg/m2/s)
PI = kcht $PAROI SCAL CENTRE RV.INCO.'PM' ;
YH2OI = kcht $PAROI SCAL SOMMET YH2OF ;
YH2OI = noel $PAROI YH2OI ;
TI = kcht $PAROI SCAL SOMMET RV.INCO.'TP' ;
TI = noel $PAROI TI ;
FCOND = 'QOND' CPH2O DH2O ALPHA RV.INCO.'HI' TI
PI RV.INCO.'YVI' YH2OI ;
RV.INCO.'FCOND' = FCOND ;
* calcul du puits de masse de vapeur (kg/m3/s)
FLMA = 'KOPS' FCOND '*' SURFI ;
FLMA = 'KCHT' $FLUID SCAL FACE FLMA ;
FLMA = 'NOMC' 'FLUX' FLMA ;
*MPOM = 'DIVU' MODI $FLUID FLMA ORII ;
MPOM = 'DIVU' MODI FLMA ORII ;
MPOM= KCHT $FLUID SCAL CENTRE MPOM ;
MPOIN = 'KOPS' MPOM '/' VOL ;
RV.INCO.'MPOINC' = kops (-1.) '*' MPOIN ;
* calcul du flux de chaleur par condensation dans la paroi (Km/s)
FENER = kops FCOND '*' LAT ;
FENER = kops FENER '/' RCPac ;
RV.INCO.'FLEN' = FENER ;
* calcul du terme (rho-rhom)*g de la QDM
DRHO = KOPS (RV.INCO.'RHOC') '-' (RV.INCO.'ROT0D') ;
rogx = KCHT (RV.'DOMAINE') SCAL CENTRE 0. ;
rogy = KCHT (RV.'DOMAINE') SCAL CENTRE (-9.81*DRHO) ;
rogx = nomc 'UX' rogx 'NATU' 'DISCRET' ;
rogy = nomc 'UY' rogy 'NATU' 'DISCRET' ;
RV.INCO.'ROG' = KCHT (RV.'DOMAINE') VECT CENTRE (rogx ET rogy) ;
* calcul la vitesse à partir de la qdm
GN = RV.INCO.'GN' ;
gnx= kcht (rv.'DOMAINE') scal sommet (exco 'UX' gn) ;
gny= kcht (rv.'DOMAINE') scal sommet (exco 'UY' gn) ;
unx = kops gnx '/' RV.INCO.'RHO' ;
uny = kops gny '/' RV.INCO.'RHO' ;
unx = nomc 'UX' unx 'NATU' 'DISCRET' ;
uny = nomc 'UY' uny 'NATU' 'DISCRET' ;
un = kcht (RV.'DOMAINE') vect sommet (unx et uny) ;
RV.INCO.'UN' = un ;
* calcul de nut à partir de mut et de rho
RV.INCO.'NUT' = KOPS (RV.INCO.'MUT') '/' (RV.INCO.'RHOC') ;
* suivi masse condensée
RV.INCO.'MASCD' = RV.INCO.'MASCD' - (QC*Dt) ;
FINPROC ;
**********************************************************************
* PROCEDURE CALCUL2 *
**********************************************************************
DEBPROC CALCUL2 ;
ARGU RVX*'TABLE' ;
RV = RVX.'EQEX' ;
$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.
ZT = KOPS (RV.INCO.'PSIN') '-' (RV.INCO.'PSI1') ;
ZT = KOPS ZT '/' Dt ;
ZT = KOPS ZT '/' (RV.INCO.'PSIN') ;
ZZ = KOPS ZT '*' RV.INCO.'RHO' ;
ZZ = NOEL $MT ZZ ;
ZZ = KCHT $MT 'SCAL' 'CENTRE' ZZ ;
ZZT = SOMT ( KOPS ZZ '*' VOL ) ;
RV.INCO.'PSI1' = KCHT $MT 'SCAL' 'SOMMET' (RV.INCO.'PSIN') ;
* calcul de dPdt
* Q0 = 'DBIT' RV.INCO.'GN' $INJ ;
RV.INCO.'DEBIT' = Q0 ;
mvol = kops RV.INCO.'MPOINC' '*' VOL ;
qvap = somt mvol ;
dPdt = ZZT + q0 + qvap ;
dPdt = dPdt*(RV.INCO.'PM')/VOLT/RV.INCO.'ROT0D' ;
* terme source de l'équation d'énergie
ROCP = noel $mt RV.INCO.'RCP' ;
TOTO = KOPS dPdt '/' RV.INCO.'RHOC' ;
TOTO = KOPS TOTO '*' ROCP ;
RV.INCO.'S' = KCHT $MT 'SCAL' 'CENTRE' TOTO ;
* terme source équation de Poisson
Z1 = dPdt/RV.INCO.'PM' ;
ZP = KOPS RV.INCO.'RHOC' '*' Z1 ;
ZS = KOPS ZP '-' ZZ ;
ZS = KOPS ZS '-' RV.INCO.'MPOINC' ;
ZZS = KOPS ZS '*' VOL ;
ZZS = ZZS * (-1.0) ;
RV.INCO.'ZS' = KCHT $MT 'SCAL' 'CENTRE' ZZS ;
* terme source équation de fraction massique vapeur
yvap = noel $mt RV.INCO.'YH2O' ;
SY = kops 1. '-' yvap ;
SY = kops sy '*' RV.INCO.'MPOINC' ;
SY = kops sy '/' RV.INCO.'RHOC' ;
RV.INCO.'SY' = KCHT $MT 'SCAL' 'CENTRE' SY ;
* 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 '=============================================================';
mess 'TEMPS = ' RV.PASDETPS.'TPS' 'PRESSION =' RV.INCO.'PM' ;
RV.INCO.'PT0D' = RV.INCO.'PT0D' ET (PROG RV.INCO.'PR0D') ;
RV.INCO.'TEMPS' = RV.INCO.'TEMPS' ET (PROG RV.'PASDETPS'.'TPS') ;
RV.INCO.'PRESS' = RV.INCO.'PRESS' ET (PROG RV.INCO.'PM') ;
RV.INCO.'MCOND' = RV.INCO.'MCOND' ET (PROG RV.INCO.'MASCD') ;
FINSI ;
FINPROC ;
*******************************************************************
* JEU DE DONNEES DE DISTRIBUTION DE TYPE "MISTRA" *
* ALGORITHME 'COMPRESSIBLE FAIBLE MACH' SEMI-IMPLICITE *
* === INJECTION + CONDENSATION === *
*******************************************************************
opti dime 2 ;
opti elem qua8 ;
opti mode axis ;
*========================================================*
* GENERATION DU MAILLAGE *
*========================================================*
L_A = 2.0 ;
H_A = 6.0 ;
L_B = 0.1 ;
H_B = H_A ;
DINJ = 0.5 ;
DX = 0.5 ;
DY = 0.5 ;
DZ = 0.02 ;
epsi = (DZ/10.) ;
****************
* 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 ;
A7A1 = A7 'DROI' N71 A1 ;
A1A2 = A1 'DROI' N12 A2 ;
A2A5 = A2 'DROI' N25 A5 ;
A5A6 = A5 'DROI' N56 A6 ;
A6A7 = A6 'DROI' N67 A7 ;
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. ;
A4 = (L_A+L_B) H_B ;
N23 = 'ENTIER' (L_B/DZ) ;
N34 = N25 ;
N45 = N23 ;
A2A3 = A2 'DROI' N23 A3 ;
A3A4 = A3 'DROI' N34 A4 ;
A4A5 = A4 'DROI' N45 A5 ;
BAS_B = A2A3 ;
DRO_B = A3A4 ;
HAU_B = A4A5 ;
GAU_B = INVE A2A5 ;
ZONE_B = 'DALLER' BAS_B DRO_B HAU_B GAU_B 'PLAN' ;
********************
* MAILLAGE COMPLET *
********************
MT = COMP_A ET ZONE_B ;
'ELIM' epsi MT ;
'ORIE' MT ;
CNT = 'CONT' MT ;
CNT = CNT ET GAU_B ;
******************
* TABLES DOMAINE *
******************
$MT = 'DOMA' MT epsi 'MACRO' ;
$FLUID = 'DOMA' COMP_A 'MACRO' 'INCL' $MT epsi ;
$INJ = 'DOMA' BAS_A 'MACRO' 'INCL' $MT epsi ;
$MUR = 'DOMA' ZONE_B 'MACRO' 'INCL' $MT epsi ;
$PAROI = 'DOMA' GAU_B 'MACRO' 'INCL' $MT epsi ;
MT = $MT.MAILLAGE ;
MFLUID = $FLUID.MAILLAGE ;
MUR = $MUR.MAILLAGE ;
****************************************************************
* on définit le maillage complet pour le modèle DARCY
*****************************************************************
MCOMP_A= CHAN COMP_A QUAF ;
Q4COMPA= CHAN MCOMP_A QUA4 ;
QCOMPA= CHAN Q4COMPA QUAF ;
ELIM ( QCOMPA ET $PAROI.CENTRE ET $FLUID.CENTRE) EPSI ;
ELIM ( QCOMPA ET $PAROI.FACE ET $FLUID.FACE) EPSI ;
MODI = 'MODE' QCOMPA 'DARCY' ;
*******************************
* DONNEES POUR LES PROCEDURES *
*******************************
VOL = 'DOMA' $FLUID 'VOLUME' ;
VOLT = 'SOMT' VOL ;
SURFI = 'DOMA' $PAROI 'VOLUME' ;
NEMT = NBEL MT ;
*ORII = 'DOMA' $FLUID 'ORIENTAT' ;
ORII = 'DOMA' MODI '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 ;
opti echo 0 ;
mess '______________________________________________________________';
mess ' ' ;
mess 'VOLUME FLUIDE = ' VOLT 'NOMBRE D ELEMENTS TOTAL =' nemt ;
mess 'MASSE TOTALE ini =' MASINI 'MAIRini =' MAIRINI
'MH2Oini =' MH2OINI ;
mess 'YH2Oini =' YH2O 'YAIRini =' YAIR ;
mess 'RHOini =' RHO 'RHOH2Oini =' RHOH2O 'RHOAIRini =' RHOAIR ;
mess 'RTini =' PSI 'RTjet =' PSIJet ;
mess 'ETOTini (J) =' ETini 'Ejet (J/s) =' Ejet 'ESini (J/m3) =' ESini ;
mess 'Etransv (J/s) =' Etran 'Pini =' Pini ;
mess 'CPAIR =' CPAIR 'CPH2O =' CPH2O 'CPini =' CP ;
mess 'CVAIR =' CVAIR 'CVH2O =' CVH2O 'CVini =' CV ;
mess 'RAIR =' RAIR 'RH2O =' RH2O 'Rini =' R ;
mess 'YH2OJet =' YH2OJet 'YAIRJet =' YAIRJet ;
mess 'RHOjet =' RhoJet 'Gjet =' GJet 'UJet =' UJet ;
mess 'NU =' nu 'alpha gaz =' alpha 'alpha acier =' alphac ;
mess 'GAMMA =' gamma ;
mess '______________________________________________________________';
opti echo 1 ;
*====================================================================*
* 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 *
*====================================================================*
RV = 'EQEX' $FLUID 'ITMA' 100 'ALFA' 0.9 'TFINAL' 4.0
'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)
*===========================================================
RVP = 'EQPR' $FLUID KTYPI 1
'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
RV.INCO.'GN' = kcht $FLUID VECT SOMMET (0. 0.) ;
RV.INCO.'EN' = kcht $FLUID SCAL SOMMET 1.E-5 ;
RV.INCO.'KN' = kcht $FLUID SCAL SOMMET 1.E-5 ;
RV.INCO.'YH2O' = kcht $FLUID SCAL SOMMET YH2O ;
RV.INCO.'PSIN' = kcht $FLUID SCAL SOMMET PSI ;
RV.INCO.'PSI1' = kcht $FLUID SCAL SOMMET PSI ;
RV.INCO.'TP' = kcht $MUR SCAL SOMMET TPini ;
* matrice masse pour calcul des moyennes aux noeuds
RV.'D0' = DOMA $FLUID 'XXDIAGSI' ;
* 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
RV.INCO.'UN' = kcht $FLUID VECT SOMMET (0. 0.);
* variables modèle de turbulence
RV.INCO.'MUT' = kcht $FLUID SCAL CENTRE Mu ;
RV.INCO.'NUT' = kcht $FLUID SCAL CENTRE Nu ;
* masse volumique
RV.INCO.'RHO' = kcht $FLUID SCAL SOMMET RHO ;
RV.INCO.'RHOC'= kcht $FLUID SCAL CENTRE RHO ;
* fractions massiques
RV.INCO.'YAIR' = kcht $FLUID SCAL SOMMET YAIR ;
* R/Cp du mélange
RV.INCO.'RCP' = kcht $FLUID SCAL SOMMET RCP ;
* à la paroi (interface) coef d'ech, frac vap/eau, température
RV.INCO.'HI' = kcht $PAROI SCAL CENTRE 40. ;
RV.INCO.'YVI' = kcht $PAROI SCAL CENTRE 1. ;
RV.INCO.'TI' = kcht $PAROI SCAL CENTRE TPini ;
* flux à la paroi : masse et énergie
RV.INCO.'FCOND' = kcht $PAROI SCAL CENTRE 0. ;
RV.INCO.'FLEN' = kcht $PAROI SCAL CENTRE 0. ;
* termes sources : énergie, vapeur, qdm, Poisson, condensation
RV.INCO.'S' = kcht $FLUID SCAL CENTRE 0. ;
RV.INCO.'SY' = kcht $FLUID SCAL CENTRE 0. ;
RV.INCO.'ROG'= kcht $FLUID VECT CENTRE (0. 0.) ;
RV.INCO.'ZS' = KCHT $FLUID SCAL CENTRE 0. ;
RV.INCO.'MPOINC'= kcht $FLUID SCAL CENTRE 0. ;
* suivi des valeurs moyennes
RV.INCO.'TEMPS' = PROG 0. ;
RV.INCO.'PRESS' = PROG P ;
RV.INCO.'PT0D' = PROG P ;
RV.INCO.'MCOND' = PROG 0. ;
*===================================================================*
* EXECUTION ET SAUVEGARDE *
*===================================================================*
opti isov lign ;
* opti trac ps ;
NSAUV = 1 ;
RV.'FIDT' = NSAUV ;
exec rv ;
* REPIX RV ;
* opti sauv '/test2/cornet/mistra/resultat.4s' ;
* SAUV ;
*===================================================================*
* DESSINS *
*===================================================================*
SI GRAPH ;
gn1 = 'VECT' (RV.'INCO'.'GN') ampl UX UY VERT ;
'TRAC' gn1 mt
'TITR' ' CHAMP DE LA VITESSE MASSIQUE rho.u (Kg.m-².s-1)' ;
'TRAC' 8 RV.'INCO'.'YH2O' MFLUID
'TITR' 'CHAMP DE LA FRACTION MASSIQUE DE VAPEUR YH2O' ;
TP = kops RV.'INCO'.'TP' '-' 273.0 ;
'TRAC' 8 TP MUR
'TITR' 'TEMPERATURE DU MUR (en °C)' ;
EVOLP1 = EVOL MANU 'TEMPS [s]' RV.INCO.'TEMPS' 'PRESSION'
RV.INCO.'PRESS' ;
EVOLP2 = EVOL MANU 'TEMPS [s]' RV.INCO.'TEMPS' 'PRESSION'
RV.INCO.'PT0D' ;
EVOLP1 = EVOLP1 coul vert ;
TAB1 = TABLE ;
TAB1.1 = 'REGU MARQ CROI ' ;
TAB1.2 = 'REGU MARQ PLUS ' ;
TAB1 . 'TITRE' = TABLE ;
TAB1.'TITRE' . 1 = MOT 'MULTI-D' ;
TAB1.'TITRE' . 2 = MOT '0D' ;
DESS (EVOLP1 ET EVOLP2) LEGE MIMA TAB1 TITR 'PRESSION MOYENNE (Pa)' ;
EVOLM = EVOL MANU 'TEMPS [s]' RV.INCO.'TEMPS' 'MASSE CONDENSEE'
RV.INCO.'MCOND' ;
DESS EVOLM MIMA TITR 'MASSE CONDENSEE CUMULEE (kg)' ;
FCONDS = ELNO $PAROI RV.INCO.'FCOND' ;
EVOC = EVOL CHPO FCONDS PAROI ;
DESS EVOC MIMA TITX 'haut PAROI (m)' TITY 'FLUX CONDENSE'
TITR 'DENSITE DE FLUX DE MASSE CONDENSEE (kg/m2/s)' ;
FINSI ;
*===================================================================*
* TESTS DE BON FONCTIONNEMENT (à 5%) *
*===================================================================*
TP1 = 'EXTR' RV.INCO.'TP' SCAL A5 ;
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 - All rights reserved.
Disclaimer