Go to the documentation of this file.
30 #include "phaseSystem.H"
42 template<
class BasePhaseModel>
46 const word& phaseName,
50 BasePhaseModel(
fluid, phaseName, index),
55 fluid.subDict(phaseName)
61 fluid.mesh().solverDict(
"Yi")
67 this->thermo_->lookupOrDefault(
"inertSpecie", word::null)
72 inertIndex_ = this->thermo_->composition().species()[
inertSpecie];
79 if (i != inertIndex_ && this->thermo_->composition().active(i))
81 const label j = YActive_.size();
82 YActive_.resize(j + 1);
83 YActive_.set(j, &
Y[i]);
91 template<
class BasePhaseModel>
98 template<
class BasePhaseModel>
105 IOobject::groupName(
"Yt", this->
name()),
117 if (i != inertIndex_)
123 if (inertIndex_ != -1)
125 Yi[inertIndex_] = scalar(1) -
Yt;
126 Yi[inertIndex_].max(0);
141 template<
class BasePhaseModel>
148 template<
class BasePhaseModel>
159 +
fvm::div(alphaRhoPhi, Yi,
"div(" + alphaRhoPhi.name() +
",Yi)")
176 template<
class BasePhaseModel>
180 return this->thermo_->composition().Y();
184 template<
class BasePhaseModel>
188 return this->thermo_->composition().Y(
name);
192 template<
class BasePhaseModel>
196 return this->thermo_->composition().Y();
200 template<
class BasePhaseModel>
208 template<
class BasePhaseModel>
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Dimensionless.
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
psiReactionThermo & thermo
Calculate the divergence of the given field.
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
virtual const PtrList< volScalarField > & Y() const
Return the species mass fractions.
Calculate the matrix for the divergence of the given field and flux.
#define forAll(list, i)
Loop across all elements in list.
virtual PtrList< volScalarField > & YRef()
Access the species mass fractions.
#define R(A, B, C, D, E, F, K, M)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
volScalarField Yt(0.0 *Y[0])
word name(const complex &c)
Return string representation of complex.
Calculate the matrix for the laplacian of the field.
virtual bool pure() const
Return whether the phase is pure (i.e., not multi-component)
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
const word inertSpecie(thermo.get< word >("inertSpecie"))
PtrList< volScalarField > & Y
virtual ~MultiComponentPhaseModel()
Destructor.
Calculate the matrix for implicit and explicit sources.
virtual const UPtrList< volScalarField > & YActive() const
Return the active species mass fractions.
virtual tmp< fvScalarMatrix > YiEqn(volScalarField &Yi)
Return the species fraction equation.
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
virtual void correctThermo()
Correct the thermodynamics.
virtual UPtrList< volScalarField > & YActiveRef()
Access the active species mass fractions.
Calculate the first temporal derivative.
Class to represent a system of phases and model interfacial transfers between them.
tmp< GeometricField< Type, faPatchField, areaMesh > > laplacian(const GeometricField< Type, faPatchField, areaMesh > &vf, const word &name)
MultiComponentPhaseModel(const phaseSystem &fluid, const word &phaseName, const label index)
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.
Calulate the matrix for the first temporal derivative.