36 #ifndef multicomponentLagrangianThermo_H
37 #define multicomponentLagrangianThermo_H
60 TypeName(
"multicomponentLagrangianThermo");
Class to provide list slices to different parts of a dimensioned field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricField class.
Base class for Lagrangian injections. Minimal wrapper over LagrangianSource. Implements some utility ...
Class containing Lagrangian geometry and topology.
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
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...
Base-class for Lagrangian fluid and solid thermodynamic models.
virtual const LagrangianScalarDynamicField & T() const =0
Temperature [K].
virtual const LagrangianMesh & mesh() const =0
Access the mesh.
virtual const word & phaseName() const =0
Access the phase name.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
A wordList with hashed indices for faster lookup by name.
DimensionedFieldListSlicer< scalar > Yslicer() const
Get the slicer.
virtual ~implementation()
Destructor.
scalarFieldListSlice elementComposition(const DimensionedFieldListSlicer< scalar > &Yslicer, const label i) const
Get the composition of an element.
virtual label defaultSpecie() const
The index of the default specie.
virtual PtrList< LagrangianScalarDynamicField > & Y()
Access the mass-fraction fields.
virtual void normaliseY(const LagrangianSubMesh &)
Normalise the mass fractions within the given sub-mesh by.
PtrList< LagrangianScalarDynamicField > Y_
Species mass fractions.
word defaultSpecieName_
The name of the default specie. The mass fraction of which is.
label defaultSpeciei_
The index of the default specie.
scalarFieldListSlice injectionElementComposition(const DimensionedFieldListAndSlicer< scalar, LagrangianSubMesh > &, const label subi) const
Get the composition of an element in an injection.
implementation(const dictionary &, const speciesTable &, const LagrangianMesh &, const word &)
Construct from dictionary, mesh and phase name.
Base-class for multicomponent Lagrangian thermodynamic models.
virtual tmp< LagrangianSubScalarField > rhoi(const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
Density [kg/m^3].
TypeName("multicomponentLagrangianThermo")
Runtime type information.
virtual const speciesTable & species() const =0
Return the table of species.
virtual dimensionedScalar hfi(const label speciei) const =0
Enthalpy of formation [J/kg].
virtual PtrList< LagrangianScalarDynamicField > & Y()=0
Access the mass-fraction fields.
declareRunTimeSelectionTable(autoPtr, multicomponentLagrangianThermo, LagrangianMesh,(const LagrangianMesh &mesh, const word &phaseName),(mesh, phaseName))
Declare run-time constructor selection table.
static autoPtr< multicomponentLagrangianThermo > New(const LagrangianMesh &mesh, const word &phaseName=word::null)
Select a multicomponent thermo.
virtual tmp< LagrangianSubScalarField > Cpi(const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
Heat capacity at constant pressure [J/kg/K].
virtual ~multicomponentLagrangianThermo()
Destructor.
virtual tmp< LagrangianSubScalarField > Cvi(const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
Heat capacity at constant volume [J/kg/K].
bool containsSpecie(const word &specieName) const
Does the mixture include this specie?
label specieIndex(const LagrangianScalarDynamicField &) const
Access the specie index of the given mass-fraction field.
virtual dimensionedScalar Wi(const label speciei) const =0
Molecular weight [kg/kmol].
virtual label defaultSpecie() const =0
The index of the default specie.
virtual tmp< LagrangianSubScalarField > hsi(const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
Sensible enthalpy [J/kg].
virtual void normaliseY(const LagrangianSubMesh &)=0
Normalise the mass fractions within the given sub-mesh by.
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.