34 template<
class BasePhaseModel>
38 const tmp<volScalarField>& pressureWork
43 const scalar pressureWorkAlphaLimit =
44 this->thermo_->
getOrDefault(
"pressureWorkAlphaLimit", scalar(0));
46 if (pressureWorkAlphaLimit > 0)
50 max(
alpha - pressureWorkAlphaLimit, scalar(0))
51 /
max(
alpha - pressureWorkAlphaLimit, pressureWorkAlphaLimit)
61 template<
class BasePhaseModel>
65 const word& phaseName,
69 BasePhaseModel(
fluid, phaseName, index)
75 template<
class BasePhaseModel>
80 this->thermo_->correct();
84 template<
class BasePhaseModel>
91 template<
class BasePhaseModel>
136 if (he.
name() == this->thermo_->phasePropertyName(
"e"))
138 tEEqn.ref() += filterPressureWork
144 else if (this->thermo_->dpdt())
tmp< surfaceScalarField > talphaPhi
static dimensioned< Type > getOrDefault(const word &name, const dictionary &dict, const dimensionSet &dims=dimless, const Type &deflt=Type(Zero))
Construct dimensioned from dictionary, with default value.
virtual tmp< fvScalarMatrix > heEqn()
Return the enthalpy equation.
const word & name() const noexcept
Return the object name.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
static tmp< GeometricField< Type, faePatchField, edgeMesh > > interpolate(const GeometricField< Type, faPatchField, areaMesh > &tvf, const edgeScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
Class which represents a phase for which the temperature (strictly energy) varies. Returns the energy equation and corrects the thermodynamic model.
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
virtual void correctThermo()
Correct the thermodynamics.
tmp< volScalarField > trho
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
CGAL::Exact_predicates_exact_constructions_kernel K
GeometricField< scalar, fvPatchField, volMesh > volScalarField
volScalarField::Internal contErr((fvc::ddt(rho)+fvc::div(rhoPhi) -(fvOptions(alpha1, mixture.thermo1().rho())&rho1) -(fvOptions(alpha2, mixture.thermo2().rho())&rho2))())
psiReactionThermo & thermo
Class to represent a system of phases and model interfacial transfers between them.
A class for handling words, derived from Foam::string.
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
AnisothermalPhaseModel(const phaseSystem &fluid, const word &phaseName, const label index)
Construct from phase system and phase name.
virtual bool isothermal() const
Return whether the phase is isothermal.
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
volScalarField alphaEff("alphaEff", turbulence->nu()/Pr+alphat)
A class for managing temporary objects.
surfaceScalarField alphaPhi(phi.name()+alpha1.name(), fvc::flux(phi, alpha1, alphaScheme))
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].