39 #ifndef psiuMulticomponentThermo_H
40 #define psiuMulticomponentThermo_H
87 template<
class MixtureType>
94 return "heheuPsiThermo";
99 TypeName(
"psiuMulticomponentThermo");
160 virtual void reset() = 0;
334 template<
class MixtureType>
349 MixtureType::specieNames(),
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.
Thermo implementation based on compressibility.
Thermo implementation based on compressibility with additional unburnt thermodynamic state.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
virtual const fvMesh & mesh() const
Return const access to the mesh.
virtual const word & phaseName() const
Phase name.
Base-class for fluid and solid thermodynamic properties.
virtual const fvMesh & mesh() const =0
Return const access to the mesh.
virtual const volScalarField & T() const =0
Temperature [K].
virtual const word & phaseName() const =0
Phase name.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Base-class for fluid thermodynamic properties.
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.
Base-class for fluid thermodynamic properties based on compressibility.
composite(const dictionary &dict, const MixtureType &mixture, const fvMesh &mesh, const word &phaseName)
Construct from dictionary, mesh and phase name.
scalarFieldListSlice patchFaceComposition(const GeometricFieldListSlicer< scalar > &Yslicer, const label patchi, const label facei) const
Get the composition of a boundary face.
virtual const speciesTable & species() const
The table of species.
implementation(const dictionary &, const wordList &, const fvMesh &, const word &)
Construct from dictionary, specie names, mesh and phase name.
virtual ~implementation()
Destructor.
scalarFieldListSlice sourceCellComposition(const DimensionedFieldListAndSlicer< scalar, fvMesh > &Yslicer, const label i) const
Get the composition of a source cell.
speciesTable species_
Table of specie names.
virtual PtrList< volScalarField > & Y()
Access the mass-fraction fields.
GeometricFieldListSlicer< scalar > Yslicer() const
Get the slicer.
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 combustion fluid thermodynamic properties based on compressibility.
tmp< volScalarField > rhob() const
Burnt gas density [kg/m^3].
virtual const volScalarField & heu() const =0
Unburnt gas enthalpy [J/kg].
void heuBoundaryCorrection(volScalarField &heu)
...
virtual void reset()=0
Reset the mixture to an unburnt state and update EGR.
static word derivedThermoName()
The derived name.
virtual tmp< volScalarField > hr() const =0
Standard enthalpy of reaction [J/kg].
wordList heuBoundaryTypes()
Return the unburnt enthalpy/internal energy field boundary types.
virtual const speciesTable & species() const =0
The table of species.
virtual ~psiuMulticomponentThermo()
Destructor.
virtual tmp< volScalarField > muu() const =0
Dynamic viscosity of unburnt gas [kg/m/s].
virtual tmp< volScalarField > psib() const =0
Burnt gas compressibility [s^2/m^2].
virtual const volScalarField & Tu() const =0
Unburnt gas temperature [K].
virtual tmp< volScalarField > psiu() const =0
Unburnt gas compressibility [s^2/m^2].
virtual PtrList< volScalarField > & Y()=0
Access the mass-fraction fields.
bool containsSpecie(const word &specieName) const
Does the mixture include this specie?
virtual tmp< volScalarField > Tb() const =0
Burnt gas temperature [K].
virtual tmp< volScalarField > Phi() const =0
Return the fuel-oxidant equivalence ratio.
TypeName("psiuMulticomponentThermo")
Runtime type information.
declareRunTimeSelectionTable(autoPtr, psiuMulticomponentThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
virtual tmp< volScalarField > mub() const =0
Dynamic viscosity of burnt gas [kg/m/s].
tmp< volScalarField > rhou() const
Unburnt gas density [kg/m^3].
virtual tmp< volScalarField > fres() const =0
Return the residual fraction of fuel in the burnt mixture.
static autoPtr< psiuMulticomponentThermo > New(const fvMesh &, const word &phaseName=word::null)
Standard selection based on fvMesh.
A class for managing temporary objects.
A class for handling words, derived from string.
static const word null
An empty word.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.