38 namespace regionModels
40 namespace surfaceFilmModels
68 return 0.037*
pow(Re, 0.8)*
cbrt(Sc);
82 deltaMin_(coeffDict_.lookup<scalar>(
"deltaMin")),
83 L_(coeffDict_.lookup<scalar>(
"L")),
84 TbFactor_(coeffDict_.lookupOrDefault<scalar>(
"TbFactor", 1.1)),
85 YInfZero_(coeffDict_.lookupOrDefault<
Switch>(
"YInfZero",
false))
97 template<
class YInfType>
111 refCast<const heRhoThermopureMixtureliquidProperties>(film.
thermo())
112 .cellThermoMixture(0).properties();
135 const scalar Wliq = liquidThermo.W();
144 const scalar pc = pInf[celli];
147 const scalar Tb = liquidThermo.pvInvert(pc);
154 const scalar pSat = liquidThermo.pv(pc, Tloc);
157 const scalar hVap = liquidThermo.hl(pc, Tloc);
163 const scalar
Cp = liquidThermo.Cp(pc, Tloc);
164 const scalar Tcorr =
max(0.0, T[celli] - Tb);
165 const scalar qCorr = limMass[celli]*Cp*(Tcorr);
171 const scalar rhoInfc = rhoInf[celli];
174 const scalar muInfc = muInf[celli];
177 const scalar Re = rhoInfc*
mag(dU[celli])*
L_/muInfc;
180 const scalar Ys = Wliq*pSat/(Wliq*pSat + Wvap*(pc - pSat));
183 const scalar Dab = liquidThermo.D(pc, Tloc);
186 const scalar Sc = muInfc/(rhoInfc*(Dab + rootVSmall));
189 const scalar
Sh = this->
Sh(Re, Sc);
192 const scalar hm = Sh*Dab/(
L_ + rootVSmall);
195 dm = dt*magSf[celli]*rhoInfc*hm*(Ys - YInf[celli])/(1.0 - Ys);
198 dm =
min(limMass[celli],
max(dm, 0));
205 dEnergy[celli] += dm*primarySpecieThermo.
Hs(
vapId(), pc, Tloc);
#define forAll(list, i)
Loop across all elements in list.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
Base class for surface film models.
A list of keyword definitions, which are a keyword followed by any number of values (e...
const scalar L_
Length scale / [m].
dimensionedScalar sqrt(const dimensionedScalar &ds)
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none/any.
const volScalarField & rhoPrimary() const
Density [kg/m^3].
Specialisation of basicMixture for a mixture consisting of a number for molecular species...
tmp< volVectorField::Internal > Us() const
Return the film surface velocity [m/s].
Macros for easy insertion into run-time selection tables.
addToRunTimeSelectionTable(ejectionModel, BrunDrippingEjection, dictionary)
const volScalarField & muPrimary() const
Viscosity [Pa.s].
const volVectorField & UPrimary() const
Velocity [m/s].
scalar Sh(const scalar Re, const scalar Sc) const
Return Sherwood number as a function of Reynolds and Schmidt numbers.
A class representing the concept of a field of 0 used to avoid unnecessary manipulations for objects ...
standardPhaseChange(surfaceFilmRegionModel &film, const dictionary &dict)
Construct from surface film model.
virtual ~standardPhaseChange()
Destructor.
const scalar TbFactor_
Boiling temperature factor / [].
dimensionedScalar cbrt(const dimensionedScalar &ds)
The thermophysical properties of a liquid.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const PtrList< volScalarField > & YPrimary() const
Specie mass fractions [0-1].
const volScalarField & pPrimary() const
Pressure [Pa].
const rhoThermo & thermo() const
Film thermo.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const volScalarField & delta() const
Return const access to the film thickness [m].
void correctModel(const scalar dt, scalarField &availableMass, scalarField &dMass, scalarField &dEnergy, YInfType YInf)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
const volScalarField::Internal & magSf() const
Return the face area magnitudes [m^2].
virtual const volScalarField & T() const =0
Temperature [K].
virtual scalar Hs(const label speciei, const scalar p, const scalar T) const =0
Sensible enthalpy [J/kg].
scalar Cp(const scalar p, const scalar T) const
volScalarField rhoInf(IOobject("rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), mesh, rhoInfValue)
dimensioned< scalar > mag(const dimensioned< Type > &)
const volScalarField & rho() const
Return the film density [kg/m^3].
const scalar deltaMin_
Minimum film height for model to be active.
Specie phase change model abstract base class.
const fluidThermo & primaryThermo() const
Return const reference to the primary region thermo object.
defineTypeNameAndDebug(kinematicSingleLayer, 0)
Switch YInfZero_
Switch to treat YInf as zero.
Thermodynamic form of single-cell layer surface film model.