31 template<
class BasePhaseModel>
35 const tmp<volScalarField>& pressureWork
40 scalar pressureWorkAlphaLimit =
41 this->thermo_->lookupOrDefault(
"pressureWorkAlphaLimit", 0.0);
43 if (pressureWorkAlphaLimit > 0)
47 max(alpha - pressureWorkAlphaLimit, scalar(0))
48 /
max(alpha - pressureWorkAlphaLimit, pressureWorkAlphaLimit)
60 template<
class BasePhaseModel>
63 const phaseSystem&
fluid,
64 const word& phaseName,
68 BasePhaseModel(fluid, phaseName, index)
74 template<
class BasePhaseModel>
81 template<
class BasePhaseModel>
86 this->thermo_->correct();
90 template<
class BasePhaseModel>
97 template<
class BasePhaseModel>
112 tmp<fvScalarMatrix> tEEqn
132 if (he.name() == this->thermo_->phasePropertyName(
"e"))
134 tEEqn.ref() += filterPressureWork
140 else if (this->thermo_->dpdt())
142 tEEqn.ref() -= filterPressureWork(alpha*this->
fluid().
dpdt());
virtual void correctThermo()
Correct the thermodynamics.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual bool isothermal() const
Return whether the phase is isothermal.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
Class which represents a phase for which the temperature (strictly energy) varies. Returns the energy equation and corrects the thermodynamic model.
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
rhoReactionThermo & thermo
GeometricField< vector, fvPatchField, volMesh > volVectorField
CGAL::Exact_predicates_exact_constructions_kernel K
tmp< GeometricField< Type, fvPatchField, volMesh > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
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))())
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
AnisothermalPhaseModel(const phaseSystem &fluid, const word &phaseName, const label index)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
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< 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)
virtual ~AnisothermalPhaseModel()
Destructor.
volScalarField alphaEff("alphaEff", turbulence->nu()/Pr+alphat)
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
surfaceScalarField alphaPhi(phi.name()+alpha1.name(), fvc::flux(phi, alpha1, alphaScheme))
virtual tmp< fvScalarMatrix > heEqn()
Return the enthalpy equation.