Download mistra.dgibi

Back to the list

* 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