43template<
class BasePhaseModel>
47 const word& phaseName,
51 BasePhaseModel(
fluid, phaseName, index),
56 fluid.subDict(phaseName)
69 this->thermo_->readIfPresent(
"inertSpecie",
inertSpecie)
73 inertIndex_ = this->thermo_->composition().species().find(inertSpecie);
80 if (i !=
inertIndex_ && this->thermo_->composition().active(i))
92template<
class BasePhaseModel>
99template<
class BasePhaseModel>
118 if (i != inertIndex_)
124 if (inertIndex_ != -1)
126 Yi[inertIndex_] = scalar(1) -
Yt;
127 Yi[inertIndex_].clamp_min(0);
138 BasePhaseModel::correctThermo();
142template<
class BasePhaseModel>
149template<
class BasePhaseModel>
161 +
fvm::div(alphaRhoPhi, Yi,
"div(" + alphaRhoPhi.name() +
",Yi)")
178template<
class BasePhaseModel>
182 return this->thermo_->composition().Y();
186template<
class BasePhaseModel>
190 return this->thermo_->composition().Y(
name);
194template<
class BasePhaseModel>
198 return this->thermo_->composition().Y();
202template<
class BasePhaseModel>
210template<
class BasePhaseModel>
volScalarField Yt(0.0 *Y[0])
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & name() const noexcept
Return the object name.
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
virtual void correctThermo()
Correct the thermodynamics.
virtual const UPtrList< volScalarField > & YActive() const
Return the active species mass fractions.
virtual PtrList< volScalarField > & YRef()
Access the species mass fractions.
virtual tmp< fvScalarMatrix > YiEqn(volScalarField &Yi)
Return the species fraction equation.
scalar Sct_
Schmidt number.
virtual bool pure() const
Return whether the phase is pure (i.e., not multi-component).
dimensionedScalar residualAlpha_
Residual phase fraction.
MultiComponentPhaseModel(const multiphaseInterSystem &fluid, const word &phaseName)
label inertIndex_
Inert species index.
virtual ~MultiComponentPhaseModel()=default
Destructor.
UPtrList< volScalarField > YActive_
Pointer list to active species.
virtual UPtrList< volScalarField > & YActiveRef()
Access the active species mass fractions.
virtual const PtrList< volScalarField > & Y() const
Constant access the species mass fractions.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Class to represent a system of phases and model interfacial transfers between them.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
Calculate the first temporal derivative.
Calculate the divergence of the given field.
Calculate the matrix for the first temporal derivative.
Calculate the matrix for the divergence of the given field and flux.
Calculate the matrix for the laplacian of the field.
Calculate the finiteVolume matrix for implicit and explicit sources.
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 > > ddt(const dimensioned< Type > dt, const fvMesh &mesh)
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)
const dimensionSet dimless
Dimensionless.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
tmp< volScalarField > trho
psiReactionThermo & thermo
const word inertSpecie(thermo.get< word >("inertSpecie"))
#define forAll(list, i)
Loop across all elements in list.