38 #ifndef multicomponentThermo_H
39 #define multicomponentThermo_H
349 const bool requiresDefaultSpecie =
true
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Class to provide list slices to different parts of a geometric field.
Generic GeometricField class.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Base-class for fluid and solid thermodynamic properties.
virtual const volScalarField & T() const =0
Temperature [K].
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Mesh data needed to do the Finite Volume discretisation.
Base class for finite volume sources.
A wordList with hashed indices for faster lookup by name.
scalarFieldListSlice patchFaceComposition(const GeometricFieldListSlicer< scalar > &Yslicer, const label patchi, const label facei) const
Get the composition of a boundary face.
virtual ~implementation()
Destructor.
virtual label defaultSpecie() const
The index of the default specie.
virtual void normaliseY()
Normalise the mass fractions by clipping positive and deriving.
virtual void syncSpeciesActive() const
Synchronise the specie active flags.
virtual PtrList< volScalarField > & Y()
Access the mass-fraction fields.
GeometricFieldListSlicer< scalar > Yslicer() const
Get the slicer.
tmp< volScalarField > Ydefault_
word defaultSpecieName_
The name of the default specie. The mass fraction of which is.
void correctMassFractions(const speciesTable &species)
Scale the mass fractions to sum to 1.
implementation(const dictionary &, const speciesTable &, const fvMesh &, const word &, const bool requiresDefaultSpecie=true)
Construct from dictionary, specie names, mesh and phase name.
scalarFieldListSlice sourceCellComposition(const DimensionedFieldListAndSlicer< scalar, fvMesh > &Yslicer, const label celli) const
Get the composition of a source cell.
label defaultSpeciei_
The index of the default specie.
PtrList< volScalarField > Y_
Species mass fractions.
scalarFieldListSlice cellComposition(const GeometricFieldListSlicer< scalar > &Yslicer, const label celli) const
Get the composition of an internal cell.
Base-class for multi-component thermodynamic properties.
virtual scalar hei(const label speciei, const scalar p, const scalar T) const =0
Enthalpy/Internal energy [J/kg].
virtual scalar Cpi(const label speciei, const scalar p, const scalar T) const =0
Heat capacity at constant pressure [J/kg/K].
virtual scalar hfiValue(const label speciei) const =0
Enthalpy of formation [J/kg].
virtual const speciesTable & species() const =0
Return the table of species.
virtual dimensionedScalar hfi(const label speciei) const =0
Enthalpy of formation [J/kg].
TypeName("multicomponentThermo")
Runtime type information.
bool solveSpecie(const label speciei) const
Should the given specie be solved for? I.e., is it active and.
virtual scalar kappai(const label speciei, const scalar p, const scalar T) const =0
Thermal conductivity [W/m/K].
virtual const boolList & speciesActive() const =0
Access the specie active flags.
virtual scalar WiValue(const label speciei) const =0
Molecular weight [kg/kmol].
virtual PtrList< volScalarField > & Y()=0
Access the mass-fraction fields.
bool containsSpecie(const word &specieName) const
Does the mixture include this specie?
virtual scalar hsi(const label speciei, const scalar p, const scalar T) const =0
Sensible enthalpy [J/kg].
virtual dimensionedScalar Wi(const label speciei) const =0
Molecular weight [kg/kmol].
virtual label defaultSpecie() const =0
The index of the default specie.
virtual scalar hai(const label speciei, const scalar p, const scalar T) const =0
Absolute enthalpy [J/kg].
virtual void normaliseY()=0
Normalise the mass fractions by clipping positive and deriving.
void setSpecieInactive(const label speciei) const
Set specie inactive.
virtual scalar rhoi(const label speciei, const scalar p, const scalar T) const =0
Density [kg/m^3].
virtual void syncSpeciesActive() const =0
Synchronise the specie active flags.
void setSpecieActive(const label speciei) const
Set specie active.
label specieIndex(const volScalarField &Yi) const
Access the specie index of the given mass-fraction field.
virtual ~multicomponentThermo()
Destructor.
A class for managing temporary objects.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.