34template<
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)
61template<
class BasePhaseModel>
65 const word& phaseName,
69 BasePhaseModel(
fluid, phaseName, index)
75template<
class BasePhaseModel>
78 BasePhaseModel::correctThermo();
80 this->thermo_->correct();
84template<
class BasePhaseModel>
91template<
class BasePhaseModel>
135 if (he.
name() == this->thermo_->phasePropertyName(
"e"))
137 tEEqn.
ref() += filterPressureWork
143 else if (this->thermo_->dpdt())
CGAL::Exact_predicates_exact_constructions_kernel K
Class which represents a phase for which the temperature (strictly energy) varies....
virtual void correctThermo()
Correct the thermodynamics.
virtual bool isothermal() const
Return whether the phase is isothermal.
virtual tmp< fvScalarMatrix > heEqn()
Return the enthalpy equation.
const word & name() const noexcept
Return the object name.
Class to represent a system of phases and model interfacial transfers between them.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
volScalarField::Internal contErr((fvc::ddt(rho)+fvc::div(rhoPhi) -(fvOptions(alpha1, mixture.thermo1().rho())&rho1) -(fvOptions(alpha2, mixture.thermo2().rho())&rho2))())
volScalarField alphaEff("alphaEff", turbulence->nu()/Pr+alphat)
tmp< surfaceScalarField > talphaPhi
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
tmp< fvMatrix< Type > > laplacian(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
zeroField Sp(const Foam::zero, const GeometricField< Type, fvPatchField, volMesh > &)
A no-op source.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
surfaceScalarField alphaPhi(phi.name()+alpha1.name(), fvc::flux(phi, alpha1, alphaScheme))