multicomponentLagrangianThermo::implementation Class Reference
Inheritance diagram for multicomponentLagrangianThermo::implementation:
Collaboration diagram for multicomponentLagrangianThermo::implementation:

Public Member Functions

 implementation (const dictionary &, const speciesTable &, const LagrangianMesh &, const word &)
 Construct from dictionary, mesh and phase name. More...
 
virtual ~implementation ()
 Destructor. More...
 
virtual label defaultSpecie () const
 The index of the default specie. More...
 
virtual PtrList< LagrangianScalarDynamicField > & Y ()
 Access the mass-fraction fields. More...
 
virtual const PtrList< LagrangianScalarDynamicField > & Y () const
 Access the mass-fraction fields. More...
 
virtual void normaliseY (const LagrangianSubMesh &)
 Normalise the mass fractions within the given sub-mesh by. More...
 
DimensionedFieldListSlicer< scalar > Yslicer () const
 Get the slicer. More...
 
scalarFieldListSlice elementComposition (const DimensionedFieldListSlicer< scalar > &Yslicer, const label i) const
 Get the composition of an element. More...
 
DimensionedFieldListAndSlicer< scalar, LagrangianSubMesh > Yslicer (const LagrangianInjection &, const LagrangianSubMesh &) const
 Get the slicer for an injection. More...
 
scalarFieldListSlice injectionElementComposition (const DimensionedFieldListAndSlicer< scalar, LagrangianSubMesh > &, const label subi) const
 Get the composition of an element in an injection. More...
 
- Public Member Functions inherited from multicomponentLagrangianThermo
 TypeName ("multicomponentLagrangianThermo")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, multicomponentLagrangianThermo, LagrangianMesh,(const LagrangianMesh &mesh, const word &phaseName),(mesh, phaseName))
 Declare run-time constructor selection table. More...
 
virtual ~multicomponentLagrangianThermo ()
 Destructor. More...
 
virtual const speciesTable & species () const =0
 Return the table of species. More...
 
bool containsSpecie (const word &specieName) const
 Does the mixture include this specie? More...
 
LagrangianScalarDynamicField & Y (const label)
 Access the mass-fraction field for a specie given by index. More...
 
const LagrangianScalarDynamicField & Y (const label) const
 Access the mass-fraction field for a specie given by index. More...
 
LagrangianScalarDynamicField & Y (const word &)
 Access the mass-fraction field for a specie given by name. More...
 
const LagrangianScalarDynamicField & Y (const word &) const
 Access the mass-fraction field for a specie given by name. More...
 
label specieIndex (const LagrangianScalarDynamicField &) const
 Access the specie index of the given mass-fraction field. More...
 
virtual dimensionedScalar Wi (const label speciei) const =0
 Molecular weight [kg/kmol]. More...
 
virtual tmp< LagrangianSubScalarField > rhoi (const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
 Density [kg/m^3]. More...
 
virtual tmp< LagrangianSubScalarField > hsi (const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
 Sensible enthalpy [J/kg]. More...
 
virtual dimensionedScalar hfi (const label speciei) const =0
 Enthalpy of formation [J/kg]. More...
 
virtual tmp< LagrangianSubScalarField > Cvi (const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
 Heat capacity at constant volume [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarField > Cpi (const label speciei, const LagrangianSubScalarField &p, const LagrangianSubScalarField &T) const =0
 Heat capacity at constant pressure [J/kg/K]. More...
 
- Public Member Functions inherited from basicLagrangianThermo
 TypeName ("basicLagrangianThermo")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, basicLagrangianThermo, LagrangianMesh,(const LagrangianMesh &mesh, const word &phaseName),(mesh, phaseName))
 Declare run-time constructor selection table. More...
 
virtual ~basicLagrangianThermo ()
 Destructor. More...
 
virtual const IOdictionary & properties () const =0
 Access the properties dictionary. More...
 
virtual IOdictionary & properties ()=0
 Modify the properties dictionary. More...
 
virtual const LagrangianMesh & mesh () const =0
 Access the mesh. More...
 
virtual const word & phaseName () const =0
 Access the phase name. More...
 
virtual void initialise ()=0
 Initialise state. More...
 
virtual void correctPressure (const LagrangianSubMesh &)=0
 Update the pressure. More...
 
virtual void correct (const LagrangianSubMesh &)=0
 Update state. More...
 
virtual word thermoName () const =0
 Return the full name of the thermodynamic model. More...
 
virtual tmp< LagrangianSubScalarField > W (const LagrangianSubMesh &) const =0
 Molecular weight for a sub-mesh [kg/kmol]. More...
 
virtual const LagrangianScalarDynamicField & T () const =0
 Temperature [K]. More...
 
virtual LagrangianScalarDynamicField & T ()=0
 Modify the Temperature [K]. More...
 
virtual const LagrangianScalarDynamicField & rho () const =0
 Density [kg/m^3]. More...
 
virtual LagrangianScalarDynamicField & rho ()=0
 Modify the Density [kg/m^3]. More...
 
virtual tmp< LagrangianSubScalarField > rho (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Density for an injection [kg/m^3]. More...
 
virtual const LagrangianScalarDynamicField & e () const =0
 Internal energy [J/kg]. More...
 
virtual LagrangianScalarDynamicField & e ()=0
 Modify the internal energy [J/kg]. More...
 
virtual tmp< LagrangianSubScalarField > e (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Internal energy for an injection [J/kg]. More...
 
virtual const LagrangianScalarDynamicField & Cv () const =0
 Heat capacity at constant volume [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarField > Cv (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Heat capacity at constant volume for an injection [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarField > Cp (const LagrangianSubMesh &subMesh) const =0
 Heat capacity at constant pressure for a sub-mesh [J/kg/K]. More...
 
virtual tmp< LagrangianSubScalarField > alphav (const LagrangianSubMesh &subMesh) const =0
 Coefficient of thermal expansion for a sub-mesh [1/K]. More...
 
virtual const LagrangianScalarDynamicField & kappa () const =0
 Thermal conductivity [W/m/K]. More...
 
virtual tmp< LagrangianSubScalarField > kappa (const LagrangianSubScalarField &T, const LagrangianInjection &) const =0
 Thermal conductivity for an injection [W/m/K]. More...
 
template<class LagrangianFieldSourceType >
Foam::HashTable< Foam::word > sourcesTypes (const LagrangianScalarDynamicField &T)
 
template<class Thermo >
Foam::autoPtr< Thermo > New (const LagrangianMesh &mesh, const word &phaseName)
 

Protected Attributes

word defaultSpecieName_
 The name of the default specie. The mass fraction of which is. More...
 
label defaultSpeciei_
 The index of the default specie. More...
 
PtrList< LagrangianScalarDynamicField > Y_
 Species mass fractions. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from multicomponentLagrangianThermo
static autoPtr< multicomponentLagrangianThermo > New (const LagrangianMesh &mesh, const word &phaseName=word::null)
 Select a multicomponent thermo. More...
 
- Static Public Member Functions inherited from basicLagrangianThermo
template<class Thermo >
static autoPtr< Thermo > New (const LagrangianMesh &mesh, const word &phaseName=word::null)
 Select thermo of a given derived type. More...
 
static autoPtr< basicLagrangianThermo > New (const LagrangianMesh &mesh, const word &phaseName=word::null)
 Select a basic thermo. More...
 
- Protected Member Functions inherited from basicLagrangianThermo
wordList eBoundaryTypes () const
 Internal energy field boundary types. More...
 
wordList eBoundaryBaseTypes () const
 Internal energy field boundary base types. More...
 
- Static Protected Member Functions inherited from basicLagrangianThermo
template<class LagrangianFieldSourceType >
static HashTable< word > sourcesTypes (const LagrangianScalarDynamicField &T)
 Field sources types. More...
 

Detailed Description

Definition at line 185 of file multicomponentLagrangianThermo.H.

Constructor & Destructor Documentation

◆ implementation()

◆ ~implementation()

~implementation ( )
virtual

Destructor.

Definition at line 212 of file multicomponentLagrangianThermo.C.

Member Function Documentation

◆ defaultSpecie()

Foam::label defaultSpecie ( ) const
virtual

The index of the default specie.

Implements multicomponentLagrangianThermo.

Definition at line 219 of file multicomponentLagrangianThermo.C.

◆ Y() [1/2]

Access the mass-fraction fields.

Implements multicomponentLagrangianThermo.

Definition at line 226 of file multicomponentLagrangianThermo.C.

◆ Y() [2/2]

const Foam::PtrList< Foam::LagrangianScalarDynamicField > & Y ( ) const
virtual

Access the mass-fraction fields.

Implements multicomponentLagrangianThermo.

Definition at line 233 of file multicomponentLagrangianThermo.C.

◆ normaliseY()

void normaliseY ( const LagrangianSubMesh &  subMesh)
virtual

Normalise the mass fractions within the given sub-mesh by.

clipping positive and deriving the default specie mass fraction from the other species

Implements multicomponentLagrangianThermo.

Definition at line 239 of file multicomponentLagrangianThermo.C.

References Foam::dimensions::dimless, forAll, IOobject::groupName(), Foam::max(), DimensionedField< Type, GeoMesh, PrimitiveField >::New(), basicLagrangianThermo::phaseName(), tmp< T >::ref(), multicomponentLagrangianThermo::species(), LagrangianSubMesh::sub(), and multicomponentLagrangianThermo::Y().

Here is the call graph for this function:

◆ Yslicer() [1/2]

Foam::DimensionedFieldListSlicer< Foam::scalar > Yslicer ( ) const
inline

Get the slicer.

Definition at line 77 of file multicomponentLagrangianThermoI.H.

◆ elementComposition()

Foam::scalarFieldListSlice elementComposition ( const DimensionedFieldListSlicer< scalar > &  Yslicer,
const label  i 
) const
inline

Get the composition of an element.

Definition at line 84 of file multicomponentLagrangianThermoI.H.

References DimensionedFieldListSlicer< Type >::slice().

Here is the call graph for this function:

◆ Yslicer() [2/2]

Foam::DimensionedFieldListAndSlicer< Foam::scalar, Foam::LagrangianSubMesh > Yslicer ( const LagrangianInjection &  injection,
const LagrangianSubMesh &  subMesh 
) const
inline

Get the slicer for an injection.

Definition at line 96 of file multicomponentLagrangianThermoI.H.

References forAll, LagrangianModel::name(), and PtrList< T >::set().

Here is the call graph for this function:

◆ injectionElementComposition()

Foam::scalarFieldListSlice injectionElementComposition ( const DimensionedFieldListAndSlicer< scalar, LagrangianSubMesh > &  Yslicer,
const label  subi 
) const
inline

Get the composition of an element in an injection.

Definition at line 121 of file multicomponentLagrangianThermoI.H.

Member Data Documentation

◆ defaultSpecieName_

word defaultSpecieName_
protected

The name of the default specie. The mass fraction of which is.

derived from the other species rather than solved. Also used as the carrier specie in multicomponent diffusion.

Definition at line 196 of file multicomponentLagrangianThermo.H.

◆ defaultSpeciei_

label defaultSpeciei_
protected

The index of the default specie.

Definition at line 199 of file multicomponentLagrangianThermo.H.

◆ Y_


The documentation for this class was generated from the following files: