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

Public Member Functions

 implementation (const dictionary &, const wordList &, const fvMesh &, const word &)
 Construct from dictionary, specie names, mesh and phase name. More...
 
virtual ~implementation ()
 Destructor. More...
 
virtual const speciesTablespecies () const
 The table of species. More...
 
virtual label defaultSpecie () const
 The index of the default specie. More...
 
virtual const List< bool > & speciesActive () const
 Access the specie active flags. More...
 
virtual PtrList< volScalarField > & Y ()
 Access the mass-fraction fields. More...
 
virtual const PtrList< volScalarField > & Y () const
 Access the mass-fraction fields. More...
 
volScalarFieldListSlicer Yslicer () const
 Get the slicer. More...
 
scalarFieldListSlice cellComposition (const volScalarFieldListSlicer &Yslicer, const label celli) const
 Get the composition of an internal cell. More...
 
scalarFieldListSlice patchFaceComposition (const volScalarFieldListSlicer &Yslicer, const label patchi, const label facei) const
 Get the composition of a boundary face. More...
 
PtrList< scalarFieldYslicer (const fvSource &source) const
 Get the slicer for the given source. More...
 
scalarFieldListSlice sourceCellComposition (const PtrList< scalarField > &Yslicer, const label i) const
 Get the composition of a source cell. More...
 
- Public Member Functions inherited from multicomponentThermo
virtual ~multicomponentThermo ()
 Destructor. More...
 
bool containsSpecie (const word &specieName) const
 Does the mixture include this specie? More...
 
void syncSpeciesActive () const
 Synchronise the specie active flags. More...
 
void setSpecieActive (const label speciei) const
 Set specie active. More...
 
void setSpecieInactive (const label speciei) const
 Set specie inactive. More...
 
bool solveSpecie (const label speciei) const
 Should the given specie be solved for? I.e., is it active and. More...
 
volScalarFieldY (const label speciei)
 Access the mass-fraction field for a specie given by index. More...
 
const volScalarFieldY (const label speciei) const
 Access the mass-fraction field for a specie given by index. More...
 
volScalarFieldY (const word &specieName)
 Access the mass-fraction field for a specie given by name. More...
 
const volScalarFieldY (const word &specieName) const
 Access the mass-fraction field for a specie given by name. More...
 
label specieIndex (const volScalarField &Yi) const
 Access the specie index of the given mass-fraction field. More...
 
void normaliseY ()
 Normalise the mass fractions by clipping positive and deriving. More...
 
virtual scalar WiValue (const label speciei) const =0
 Molecular weight [kg/kmol]. More...
 
virtual dimensionedScalar Wi (const label speciei) const =0
 Molecular weight [kg/kmol]. More...
 
virtual scalar rhoi (const label speciei, const scalar p, const scalar T) const =0
 Density [kg/m^3]. More...
 
virtual tmp< volScalarFieldrhoi (const label speciei, const volScalarField &p, const volScalarField &T) const =0
 Density [kg/m^3]. More...
 
virtual scalar Cpi (const label speciei, const scalar p, const scalar T) const =0
 Heat capacity at constant pressure [J/kg/K]. More...
 
virtual tmp< volScalarFieldCpi (const label speciei, const volScalarField &p, const volScalarField &T) const =0
 Heat capacity at constant pressure [J/kg/K]. More...
 
virtual scalar hei (const label speciei, const scalar p, const scalar T) const =0
 Enthalpy/Internal energy [J/kg]. More...
 
virtual tmp< scalarFieldhei (const label speciei, const scalarField &p, const scalarField &T) const =0
 Enthalpy/Internal energy [J/kg]. More...
 
virtual tmp< volScalarFieldhei (const label speciei, const volScalarField &p, const volScalarField &T) const =0
 Enthalpy/Internal energy [J/kg]. More...
 
virtual scalar hsi (const label speciei, const scalar p, const scalar T) const =0
 Sensible enthalpy [J/kg]. More...
 
virtual tmp< scalarFieldhsi (const label speciei, const scalarField &p, const scalarField &T) const =0
 Sensible enthalpy [J/kg]. More...
 
virtual tmp< volScalarFieldhsi (const label speciei, const volScalarField &p, const volScalarField &T) const =0
 Sensible enthalpy [J/kg]. More...
 
virtual scalar hai (const label speciei, const scalar p, const scalar T) const =0
 Absolute enthalpy [J/kg]. More...
 
virtual tmp< scalarFieldhai (const label speciei, const scalarField &p, const scalarField &T) const =0
 Absolute enthalpy [J/kg]. More...
 
virtual tmp< volScalarFieldhai (const label speciei, const volScalarField &p, const volScalarField &T) const =0
 Absolute enthalpy [J/kg]. More...
 
virtual scalar hfiValue (const label speciei) const =0
 Enthalpy of formation [J/kg]. More...
 
virtual dimensionedScalar hfi (const label speciei) const =0
 Enthalpy of formation [J/kg]. More...
 
virtual scalar kappai (const label speciei, const scalar p, const scalar T) const =0
 Thermal conductivity [W/m/K]. More...
 
virtual tmp< volScalarFieldkappai (const label speciei, const volScalarField &p, const volScalarField &T) const =0
 Thermal conductivity [W/m/K]. More...
 
- Public Member Functions inherited from basicThermo
 TypeName ("basicThermo")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, basicThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
 Declare run-time constructor selection table. More...
 
virtual ~basicThermo ()
 Destructor. More...
 
virtual const IOdictionaryproperties () const =0
 Properties dictionary. More...
 
virtual IOdictionaryproperties ()=0
 Non-const access the properties dictionary. More...
 
virtual const fvMeshmesh () const =0
 Return const access to the mesh. More...
 
virtual const wordphaseName () const =0
 Phase name. More...
 
word phasePropertyName (const word &name) const
 Name of a property for a given phase. More...
 
void validate (const string &app, const word &) const
 Check that the thermodynamics package is consistent. More...
 
void validate (const string &app, const word &, const word &) const
 Check that the thermodynamics package is consistent. More...
 
virtual void correct ()=0
 Update properties. More...
 
virtual word thermoName () const =0
 Name of the thermo physics. More...
 
virtual bool incompressible () const =0
 Return true if the equation of state is incompressible. More...
 
virtual bool isochoric () const =0
 Return true if the equation of state is isochoric. More...
 
virtual Switch dpdt () const =0
 Should the dpdt term be included in the enthalpy equation. More...
 
virtual tmp< volScalarFieldW () const =0
 Molecular weight [kg/kmol]. More...
 
virtual tmp< scalarFieldW (const label patchi) const =0
 Molecular weight for patch [kg/kmol]. More...
 
virtual const volScalarFieldT () const =0
 Temperature [K]. More...
 
virtual volScalarFieldT ()=0
 Temperature [K]. More...
 
virtual const volScalarFieldhe () const =0
 Enthalpy/Internal energy [J/kg]. More...
 
virtual volScalarFieldhe ()=0
 Enthalpy/Internal energy [J/kg]. More...
 
virtual const volScalarFieldCp () const =0
 Heat capacity at constant pressure [J/kg/K]. More...
 
virtual const volScalarFieldCv () const =0
 Heat capacity at constant volume [J/kg/K]. More...
 
virtual const volScalarFieldCpv () const =0
 Heat capacity at constant pressure/volume [J/kg/K]. More...
 
virtual tmp< volScalarFieldrho () const =0
 Density [kg/m^3]. More...
 
virtual tmp< scalarFieldrho (const label patchi) const =0
 Density for patch [kg/m^3]. More...
 
virtual tmp< volScalarFieldhe (const volScalarField &p, const volScalarField &T) const =0
 Enthalpy/Internal energy. More...
 
virtual tmp< scalarFieldhe (const scalarField &T, const labelList &cells) const =0
 Enthalpy/Internal energy for cell-set [J/kg]. More...
 
virtual tmp< scalarFieldhe (const scalarField &T, const label patchi) const =0
 Enthalpy/Internal energy for patch [J/kg]. More...
 
virtual tmp< scalarFieldhe (const scalarField &T, const fvSource &source) const =0
 Enthalpy/Internal energy for source [J/kg]. More...
 
virtual tmp< volScalarFieldhs () const =0
 Sensible enthalpy [J/kg]. More...
 
virtual tmp< volScalarFieldhs (const volScalarField &p, const volScalarField &T) const =0
 Sensible enthalpy. More...
 
virtual tmp< scalarFieldhs (const scalarField &T, const labelList &cells) const =0
 Sensible enthalpy for cell-set [J/kg]. More...
 
virtual tmp< scalarFieldhs (const scalarField &T, const label patchi) const =0
 Sensible enthalpy for patch [J/kg]. More...
 
virtual tmp< volScalarFieldha () const =0
 Absolute enthalpy [J/kg]. More...
 
virtual tmp< volScalarFieldha (const volScalarField &p, const volScalarField &T) const =0
 Absolute enthalpy. More...
 
virtual tmp< scalarFieldha (const scalarField &T, const labelList &cells) const =0
 Absolute enthalpy for cell-set [J/kg]. More...
 
virtual tmp< scalarFieldha (const scalarField &T, const label patchi) const =0
 Absolute enthalpy for patch [J/kg]. More...
 
virtual tmp< scalarFieldCp (const scalarField &T, const label patchi) const =0
 Heat capacity at constant pressure for patch [J/kg/K]. More...
 
virtual tmp< scalarFieldCv (const scalarField &T, const label patchi) const =0
 Heat capacity at constant volume for patch [J/kg/K]. More...
 
virtual tmp< scalarFieldCpv (const scalarField &T, const label patchi) const =0
 Heat capacity at constant pressure/volume for patch [J/kg/K]. More...
 
tmp< volScalarFieldgamma () const
 Gamma = Cp/Cv []. More...
 
tmp< scalarFieldgamma (const scalarField &T, const label patchi) const
 Gamma = Cp/Cv for patch []. More...
 
virtual tmp< volScalarFieldThe (const volScalarField &h, const volScalarField &p, const volScalarField &T0) const =0
 Temperature from enthalpy/internal energy. More...
 
virtual tmp< scalarFieldThe (const scalarField &h, const scalarField &T0, const labelList &cells) const =0
 Temperature from enthalpy/internal energy for cell-set. More...
 
virtual tmp< scalarFieldThe (const scalarField &h, const scalarField &T0, const label patchi) const =0
 Temperature from enthalpy/internal energy for patch. More...
 
virtual const volScalarFieldkappa () const =0
 Thermal conductivity of mixture [W/m/K]. More...
 
template<class FieldType >
const Foam::basicThermolookupThermo (const FieldType &f)
 
template<class Thermo >
Foam::autoPtr< Thermo > New (const fvMesh &mesh, const word &phaseName)
 

Protected Member Functions

void correctMassFractions ()
 Scale the mass fractions to sum to 1. More...
 
- Protected Member Functions inherited from basicThermo
wordList heBoundaryTypes ()
 Enthalpy/internal energy field boundary types. More...
 
wordList heBoundaryBaseTypes ()
 Enthalpy/internal energy field boundary base types. More...
 
HashTable< wordheSourcesTypes ()
 Enthalpy/internal energy field sources types. More...
 

Protected Attributes

speciesTable species_
 Table of specie names. More...
 
word defaultSpecieName_
 The name of the default specie. The mass fraction of which is. More...
 
label defaultSpeciei_
 The index of the default specie. More...
 
List< bool > active_
 List of specie active flags. More...
 
PtrList< volScalarFieldY_
 Species mass fractions. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from basicThermo
static word phasePropertyName (const word &name, const word &phaseName)
 Name of a property for a given phase. More...
 
template<class FieldType >
static const basicThermolookupThermo (const FieldType &f)
 Lookup the thermo associated with the given field. More...
 
static wordList splitThermoName (const word &thermoName, const int nCmpt)
 Split name of thermo package into a list of the components names. More...
 
static List< Pair< word > > thermoNameComponents (const word &thermoName)
 Split name of thermo package into a list of named components names. More...
 
template<class Thermo >
static autoPtr< Thermo > New (const fvMesh &, const word &phaseName=word::null)
 Generic New for each of the related thermodynamics packages. More...
 
static autoPtr< basicThermoNew (const fvMesh &, const word &phaseName=word::null)
 Specialisation of the Generic New for basicThermo. More...
 
- Static Protected Member Functions inherited from basicThermo
static volScalarFieldlookupOrConstruct (const fvMesh &mesh, const char *name)
 Lookup and the named field, or construct it as MUST-READ if it is. More...
 
template<class Thermo , class Table >
static Table::iterator lookupCstrIter (const dictionary &thermoTypeDict, Table *tablePtr, const int nCmpt, const char *cmptNames[], const word &thermoTypeName)
 Get the constructor iterator for the given thermo dictionary and. More...
 
template<class Thermo , class Table >
static Table::iterator lookupCstrIter (const dictionary &thermoDict, Table *tablePtr)
 Get the constructor iterator for the given thermo dictionary and. More...
 

Detailed Description

Definition at line 277 of file multicomponentThermo.H.

Constructor & Destructor Documentation

◆ implementation()

implementation ( const dictionary dict,
const wordList specieNames,
const fvMesh mesh,
const word phaseName 
)

Construct from dictionary, specie names, mesh and phase name.

Definition at line 67 of file multicomponentThermo.C.

◆ ~implementation()

~implementation ( )
virtual

Destructor.

Definition at line 215 of file multicomponentThermo.C.

Member Function Documentation

◆ correctMassFractions()

◆ species()

const Foam::speciesTable & species ( ) const
virtual

The table of species.

Implements multicomponentThermo.

Definition at line 222 of file multicomponentThermo.C.

Referenced by multicomponentThermo::implementation::correctMassFractions().

Here is the caller graph for this function:

◆ defaultSpecie()

Foam::label defaultSpecie ( ) const
virtual

The index of the default specie.

Implements multicomponentThermo.

Definition at line 228 of file multicomponentThermo.C.

◆ speciesActive()

const Foam::List< bool > & speciesActive ( ) const
virtual

Access the specie active flags.

Implements multicomponentThermo.

Definition at line 235 of file multicomponentThermo.C.

◆ Y() [1/2]

Foam::PtrList< Foam::volScalarField > & Y ( )
virtual

Access the mass-fraction fields.

Implements multicomponentThermo.

Definition at line 266 of file multicomponentThermo.C.

◆ Y() [2/2]

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

Access the mass-fraction fields.

Implements multicomponentThermo.

Definition at line 273 of file multicomponentThermo.C.

◆ Yslicer() [1/2]

Foam::volScalarFieldListSlicer Yslicer ( ) const
inline

Get the slicer.

Definition at line 108 of file multicomponentThermoI.H.

◆ cellComposition()

Foam::scalarFieldListSlice cellComposition ( const volScalarFieldListSlicer &  Yslicer,
const label  celli 
) const
inline

Get the composition of an internal cell.

Definition at line 115 of file multicomponentThermoI.H.

◆ patchFaceComposition()

Foam::scalarFieldListSlice patchFaceComposition ( const volScalarFieldListSlicer &  Yslicer,
const label  patchi,
const label  facei 
) const
inline

Get the composition of a boundary face.

Definition at line 126 of file multicomponentThermoI.H.

References patchi.

◆ Yslicer() [2/2]

Foam::PtrList< Foam::scalarField > Yslicer ( const fvSource source) const
inline

Get the slicer for the given source.

Definition at line 138 of file multicomponentThermoI.H.

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

Here is the call graph for this function:

◆ sourceCellComposition()

Foam::scalarFieldListSlice sourceCellComposition ( const PtrList< scalarField > &  Yslicer,
const label  i 
) const
inline

Get the composition of a source cell.

Definition at line 159 of file multicomponentThermoI.H.

Member Data Documentation

◆ species_

speciesTable species_
protected

Table of specie names.

Definition at line 286 of file multicomponentThermo.H.

Referenced by multicomponentThermo::implementation::correctMassFractions().

◆ 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 291 of file multicomponentThermo.H.

◆ defaultSpeciei_

label defaultSpeciei_
protected

The index of the default specie.

Definition at line 294 of file multicomponentThermo.H.

◆ active_

List<bool> active_
protected

List of specie active flags.

Definition at line 297 of file multicomponentThermo.H.

◆ Y_

PtrList<volScalarField> Y_
protected

Species mass fractions.

Definition at line 300 of file multicomponentThermo.H.

Referenced by multicomponentThermo::implementation::correctMassFractions().


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