multicomponentThermo Class Referenceabstract

Base-class for multi-component thermodynamic properties. More...

Inheritance diagram for multicomponentThermo:
Collaboration diagram for multicomponentThermo:

Classes

class  implementation
 

Public Member Functions

virtual ~multicomponentThermo ()
 Destructor. More...
 
virtual const speciesTablespecies () const =0
 The table of species. More...
 
bool containsSpecie (const word &specieName) const
 Does the mixture include this specie? More...
 
virtual label defaultSpecie () const =0
 The index of the default specie. More...
 
virtual const List< bool > & speciesActive () const =0
 Access the specie active flags. 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...
 
virtual PtrList< volScalarField > & Y ()=0
 Access the mass-fraction fields. More...
 
virtual const PtrList< volScalarField > & Y () const =0
 Access the mass-fraction fields. 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)
 

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...
 
- 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...
 
- 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

Base-class for multi-component thermodynamic properties.

See also
Foam::basicThermo
Source files

Definition at line 54 of file multicomponentThermo.H.

Constructor & Destructor Documentation

◆ ~multicomponentThermo()

~multicomponentThermo ( )
virtual

Destructor.

Definition at line 211 of file multicomponentThermo.C.

Member Function Documentation

◆ species()

◆ containsSpecie()

bool containsSpecie ( const word specieName) const
inline

Does the mixture include this specie?

Definition at line 30 of file multicomponentThermoI.H.

References hashedWordList::found(), and multicomponentThermo::species().

Referenced by clouds::addSup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ defaultSpecie()

◆ speciesActive()

virtual const List<bool>& speciesActive ( ) const
pure virtual

Access the specie active flags.

Implemented in multicomponentThermo::implementation.

Referenced by multicomponentThermo::syncSpeciesActive().

Here is the caller graph for this function:

◆ syncSpeciesActive()

void syncSpeciesActive ( ) const

Synchronise the specie active flags.

Definition at line 241 of file multicomponentThermo.C.

References IOobject::AUTO_WRITE, forAll, Pstream::listCombineGather(), Pstream::listCombineScatter(), UPstream::parRun(), multicomponentThermo::speciesActive(), and multicomponentThermo::Y().

Referenced by chemistryModel< ThermoType >::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setSpecieActive()

void setSpecieActive ( const label  speciei) const
inline

Set specie active.

Definition at line 39 of file multicomponentThermoI.H.

References IOobject::AUTO_WRITE, and Y.

◆ setSpecieInactive()

void setSpecieInactive ( const label  speciei) const
inline

Set specie inactive.

Definition at line 49 of file multicomponentThermoI.H.

References IOobject::NO_WRITE, and Y.

Referenced by chemistryModel< ThermoType >::chemistryModel().

Here is the caller graph for this function:

◆ solveSpecie()

bool solveSpecie ( const label  speciei) const
inline

Should the given specie be solved for? I.e., is it active and.

not the default specie?

Definition at line 59 of file multicomponentThermoI.H.

Referenced by clouds::addSupFields(), multicomponentThermo::normaliseY(), and multicomponentFluid::thermophysicalPredictor().

Here is the caller graph for this function:

◆ Y() [1/6]

◆ Y() [2/6]

virtual const PtrList<volScalarField>& Y ( ) const
pure virtual

Access the mass-fraction fields.

Implemented in multicomponentThermo::implementation.

◆ Y() [3/6]

Foam::volScalarField & Y ( const label  speciei)
inline

Access the mass-fraction field for a specie given by index.

Definition at line 65 of file multicomponentThermoI.H.

References Y.

◆ Y() [4/6]

const Foam::volScalarField & Y ( const label  speciei) const
inline

Access the mass-fraction field for a specie given by index.

Definition at line 71 of file multicomponentThermoI.H.

References Y.

◆ Y() [5/6]

Foam::volScalarField & Y ( const word specieName)
inline

Access the mass-fraction field for a specie given by name.

Definition at line 80 of file multicomponentThermoI.H.

References Y.

◆ Y() [6/6]

const Foam::volScalarField & Y ( const word specieName) const
inline

Access the mass-fraction field for a specie given by name.

Definition at line 89 of file multicomponentThermoI.H.

References Y.

◆ specieIndex()

Foam::label specieIndex ( const volScalarField Yi) const
inline

Access the specie index of the given mass-fraction field.

Definition at line 98 of file multicomponentThermoI.H.

References IOobject::member().

Referenced by clouds::addSup(), Fickian< BasicThermophysicalTransportModel >::DEff(), MaxwellStefan< BasicThermophysicalTransportModel >::DEff(), and MaxwellStefan< BasicThermophysicalTransportModel >::j().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ normaliseY()

void normaliseY ( )

Normalise the mass fractions by clipping positive and deriving.

the default specie mass fraction from the other species.

Definition at line 279 of file multicomponentThermo.C.

References multicomponentThermo::defaultSpecie(), Foam::dimless, forAll, IOobject::groupName(), basicThermo::mesh(), GeometricField< Type, PatchField, GeoMesh >::New(), basicThermo::phaseName(), tmp< T >::ref(), multicomponentThermo::solveSpecie(), multicomponentThermo::species(), and multicomponentThermo::Y().

Referenced by multicomponentFluid::thermophysicalPredictor().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ WiValue()

◆ Wi()

virtual dimensionedScalar Wi ( const label  speciei) const
pure virtual

◆ rhoi() [1/2]

virtual scalar rhoi ( const label  speciei,
const scalar  p,
const scalar  T 
) const
pure virtual

Density [kg/m^3].

◆ rhoi() [2/2]

virtual tmp<volScalarField> rhoi ( const label  speciei,
const volScalarField p,
const volScalarField T 
) const
pure virtual

Density [kg/m^3].

◆ Cpi() [1/2]

virtual scalar Cpi ( const label  speciei,
const scalar  p,
const scalar  T 
) const
pure virtual

Heat capacity at constant pressure [J/kg/K].

Referenced by ReactingMultiphaseParcel< ParcelType >::calcDevolatilisation(), ReactingParcel< ParcelType >::calcPhaseChange(), and ReactingParcel< ParcelType >::correctSurfaceValues().

Here is the caller graph for this function:

◆ Cpi() [2/2]

virtual tmp<volScalarField> Cpi ( const label  speciei,
const volScalarField p,
const volScalarField T 
) const
pure virtual

Heat capacity at constant pressure [J/kg/K].

◆ hei() [1/3]

virtual scalar hei ( const label  speciei,
const scalar  p,
const scalar  T 
) const
pure virtual

Enthalpy/Internal energy [J/kg].

Referenced by specieTransferTemperatureFvPatchScalarField::phiHep().

Here is the caller graph for this function:

◆ hei() [2/3]

virtual tmp<scalarField> hei ( const label  speciei,
const scalarField p,
const scalarField T 
) const
pure virtual

Enthalpy/Internal energy [J/kg].

◆ hei() [3/3]

virtual tmp<volScalarField> hei ( const label  speciei,
const volScalarField p,
const volScalarField T 
) const
pure virtual

Enthalpy/Internal energy [J/kg].

◆ hsi() [1/3]

virtual scalar hsi ( const label  speciei,
const scalar  p,
const scalar  T 
) const
pure virtual

◆ hsi() [2/3]

virtual tmp<scalarField> hsi ( const label  speciei,
const scalarField p,
const scalarField T 
) const
pure virtual

Sensible enthalpy [J/kg].

◆ hsi() [3/3]

virtual tmp<volScalarField> hsi ( const label  speciei,
const volScalarField p,
const volScalarField T 
) const
pure virtual

Sensible enthalpy [J/kg].

◆ hai() [1/3]

virtual scalar hai ( const label  speciei,
const scalar  p,
const scalar  T 
) const
pure virtual

Absolute enthalpy [J/kg].

Referenced by HeatTransferPhaseSystem< BasePhaseSystem >::Li().

Here is the caller graph for this function:

◆ hai() [2/3]

virtual tmp<scalarField> hai ( const label  speciei,
const scalarField p,
const scalarField T 
) const
pure virtual

Absolute enthalpy [J/kg].

◆ hai() [3/3]

virtual tmp<volScalarField> hai ( const label  speciei,
const volScalarField p,
const volScalarField T 
) const
pure virtual

Absolute enthalpy [J/kg].

◆ hfiValue()

virtual scalar hfiValue ( const label  speciei) const
pure virtual

Enthalpy of formation [J/kg].

Referenced by singleStepCombustion::calculateqFuel().

Here is the caller graph for this function:

◆ hfi()

virtual dimensionedScalar hfi ( const label  speciei) const
pure virtual

Enthalpy of formation [J/kg].

◆ kappai() [1/2]

virtual scalar kappai ( const label  speciei,
const scalar  p,
const scalar  T 
) const
pure virtual

Thermal conductivity [W/m/K].

Referenced by ReactingParcel< ParcelType >::correctSurfaceValues().

Here is the caller graph for this function:

◆ kappai() [2/2]

virtual tmp<volScalarField> kappai ( const label  speciei,
const volScalarField p,
const volScalarField T 
) const
pure virtual

Thermal conductivity [W/m/K].


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