40 template<
class BasePhaseModel>
43 const phaseSystem& fluid,
44 const word& phaseName,
45 const bool referencePhase,
49 BasePhaseModel(fluid, phaseName, referencePhase, index)
51 PtrList<volScalarField>& Y = this->thermo_->composition().Y();
55 if (this->thermo_->composition().solve(i))
57 const label j = YActive_.size();
58 YActive_.resize(j + 1);
59 YActive_.set(j, &Y[i]);
67 template<
class BasePhaseModel>
74 template<
class BasePhaseModel>
77 this->thermo_->composition().normalise();
82 template<
class BasePhaseModel>
89 template<
class BasePhaseModel>
96 const tmp<surfaceScalarField> talphaRhoPhi(this->
alphaRhoPhi());
111 max(this->residualAlpha() - alpha, scalar(0))*rho
112 /this->
mesh().time().deltaT(),
120 template<
class BasePhaseModel>
124 return this->thermo_->composition().Y();
128 template<
class BasePhaseModel>
132 return this->thermo_->composition().Y(name);
136 template<
class BasePhaseModel>
140 return this->thermo_->composition().Y();
144 template<
class BasePhaseModel>
152 template<
class BasePhaseModel>
virtual PtrList< volScalarField > & YRef()
Access the species mass fractions.
virtual void correctSpecies()
Correct the species fractions.
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
#define forAll(list, i)
Loop across all elements in list.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
FvWallInfoData< WallInfo, label > label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
fluidReactionThermo & thermo
virtual tmp< fvScalarMatrix > YiEqn(volScalarField &Yi)
Return the species fraction equation.
Calculate the matrix for the laplacian of the field.
virtual tmp< fvScalarMatrix > divj(volScalarField &Yi) const
Return the source term for the given specie mass-fraction.
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
MultiComponentPhaseModel(const phaseSystem &fluid, const word &phaseName, const bool referencePhase, const label index)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Calculate the first temporal derivative.
virtual tmp< surfaceScalarField > alphaRhoPhi() const
Return the mass flux of the phase.
virtual const PtrList< volScalarField > & Y() const
Return the species mass fractions.
tmp< fvMatrix< Type > > ddt(const GeometricField< Type, fvPatchField, volMesh > &vf)
Calculate the matrix for the first temporal derivative.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
virtual const UPtrList< volScalarField > & YActive() const
Return the active species mass fractions.
Calculate the divergence of the given field.
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
virtual ~MultiComponentPhaseModel()
Destructor.
Calculate the matrix for the divergence of the given field and flux.
#define R(A, B, C, D, E, F, K, M)
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
virtual UPtrList< volScalarField > & YActiveRef()
Access the active species mass fractions.
virtual bool pure() const
Return whether the phase is pure (i.e., not multi-component)
Calculate the matrix for implicit and explicit sources.