Go to the documentation of this file.
34 namespace regionModels
36 namespace surfaceFilmModels
78 deltaMin_(
readScalar(coeffDict_.lookup(
"deltaMin"))),
80 TbFactor_(coeffDict_.lookupOrDefault<scalar>(
"TbFactor", 1.1))
119 max(scalar(0.0), availableMass - deltaMin_*
rho*magSf)
124 if (
delta[cellI] > deltaMin_)
127 const scalar pc = pInf[cellI];
130 const scalar Tb = filmThermo.
Tb(pc);
133 const scalar Tloc =
min(TbFactor_*Tb,
max(200.0,
T[cellI]));
136 const scalar
pSat = filmThermo.
pv(pc, Tloc);
139 const scalar hVap = filmThermo.
hl(pc, Tloc);
145 const scalar Cp = filmThermo.
Cp(pc, Tloc);
146 const scalar Tcorr =
max(0.0,
T[cellI] - Tb);
147 const scalar qCorr = limMass[cellI]*Cp*(Tcorr);
148 dMass[cellI] = qCorr/hVap;
153 const scalar rhoInfc = rhoInf[cellI];
156 const scalar muInfc = muInf[cellI];
159 const scalar
Re = rhoInfc*
mag(dU[cellI])*L_/muInfc;
162 const scalar Wvap =
thermo.carrier().W(vapId);
165 const scalar Wliq = filmThermo.
W();
168 const scalar Ys = Wliq*
pSat/(Wliq*
pSat + Wvap*(pc -
pSat));
171 const scalar Dab = filmThermo.
D(pc, Tloc);
174 const scalar Sc = muInfc/(rhoInfc*(Dab + ROOTVSMALL));
177 const scalar
Sh = this->
Sh(Re, Sc);
180 const scalar hm =
Sh*Dab/(L_ + ROOTVSMALL);
184 dt*magSf[cellI]*rhoInfc*hm*(Ys - YInf[cellI])/(1.0 - Ys);
187 dMass[cellI] =
min(limMass[cellI],
max(0.0, dMass[cellI]));
188 dEnergy[cellI] = dMass[cellI]*hVap;
virtual scalar Cp(const scalar p, const scalar T) const =0
Return specific heat capacity [J/kg/K].
virtual scalar hl(const scalar p, const scalar T) const =0
Return latent heat [J/kg].
standardPhaseChange(const standardPhaseChange &)
Disallow default bitwise copy construct.
const PtrList< volScalarField > & YPrimary() const
Specie mass fractions / [0-1].
virtual const volVectorField & Us() const
Return the film surface velocity [m/s].
#define forAll(list, i)
Loop across all elements in list.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
virtual scalar W() const =0
Return molecular weight [kg/kmol].
virtual const word & name() const =0
Return the specie name.
scalarField Re(const UList< complex > &cf)
const SLGThermo & thermo() const
Return const reference to the SLGThermo object.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
dimensioned< scalar > mag(const dimensioned< Type > &)
const volVectorField & UPrimary() const
Velocity / [m/s].
virtual scalar Tb(const scalar p) const =0
Return boiling temperature [K].
virtual ~standardPhaseChange()
Destructor.
Standard phase change model with modification for boiling.
const volScalarField & rhoPrimary() const
Density / [kg/m3].
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
const filmThermoModel & filmThermo() const
Film thermo.
scalar Sh(const scalar Re, const scalar Sc) const
Return Sherwood number as a function of Reynolds and Schmidt numbers.
virtual const volScalarField & magSf() const
Return the face area magnitudes / [m2].
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const volScalarField & pPrimary() const
Pressure / [Pa].
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
virtual const volScalarField & T() const
Return the film mean temperature [K].
const volScalarField & muPrimary() const
Viscosity / [Pa.s].
const dimensionedScalar & pSat
A list of keyword definitions, which are a keyword followed by any number of values (e....
Macros for easy insertion into run-time selection tables.
virtual scalar pv(const scalar p, const scalar T) const =0
Return vapour pressure [Pa].
virtual scalar D(const scalar p, const scalar T) const =0
Return diffusivity [m2/s].
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
defineTypeNameAndDebug(kinematicSingleLayer, 0)
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
dimensionedScalar sqrt(const dimensionedScalar &ds)
const volScalarField & delta() const
Return const access to the film thickness / [m].
addToRunTimeSelectionTable(surfaceFilmModel, kinematicSingleLayer, mesh)
Base class for surface film models.
virtual const volScalarField & rho() const
Return the film density [kg/m3].
dimensionedScalar cbrt(const dimensionedScalar &ds)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
virtual void correctModel(const scalar dt, scalarField &availableMass, scalarField &dMass, scalarField &dEnergy)
Correct.
Base class for surface film phase change models.