psiuMulticomponentThermo Class Referenceabstract

Base-class for combustion fluid thermodynamic properties based on compressibility. More...

Inheritance diagram for psiuMulticomponentThermo:
Collaboration diagram for psiuMulticomponentThermo:

Classes

class  composite
 
class  implementation
 

Public Types

template<class MixtureType >
using DerivedThermoType = PsiuMulticomponentThermo< BasicThermo< MixtureType, composite > >
 The derived type. More...
 
- Public Types inherited from psiThermo
template<class MixtureType >
using DerivedThermoType = PsiThermo< BasicThermo< MixtureType, composite > >
 The derived type. More...
 

Public Member Functions

 TypeName ("psiuMulticomponentThermo")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, psiuMulticomponentThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
 
virtual ~psiuMulticomponentThermo ()
 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 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 word &specieName)
 Return the mass-fraction field for a specie given by name. More...
 
const volScalarFieldY (const word &specieName) const
 Return the const mass-fraction field for a specie given by name. More...
 
virtual const volScalarFieldTu () const =0
 Unburnt gas temperature [K]. More...
 
virtual const volScalarFieldheu () const =0
 Unburnt gas enthalpy [J/kg]. More...
 
virtual volScalarFieldheu ()=0
 Unburnt gas enthalpy [J/kg]. More...
 
virtual tmp< scalarFieldheu (const scalarField &T, const labelList &cells) const =0
 Unburnt gas enthalpy for cell-set [J/kg]. More...
 
virtual tmp< scalarFieldheu (const scalarField &T, const label patchi) const =0
 Unburnt gas enthalpy for patch [J/kg]. More...
 
virtual tmp< volScalarFieldTb () const =0
 Burnt gas temperature [K]. More...
 
virtual tmp< volScalarFieldpsiu () const =0
 Unburnt gas compressibility [s^2/m^2]. More...
 
virtual tmp< volScalarFieldpsib () const =0
 Burnt gas compressibility [s^2/m^2]. More...
 
tmp< volScalarFieldrhou () const
 Unburnt gas density [kg/m^3]. More...
 
tmp< volScalarFieldrhob () const
 Burnt gas density [kg/m^3]. More...
 
virtual tmp< volScalarFieldmuu () const =0
 Dynamic viscosity of unburnt gas [kg/m/s]. More...
 
virtual tmp< volScalarFieldmub () const =0
 Dynamic viscosity of burnt gas [kg/m/s]. More...
 
- Public Member Functions inherited from psiThermo
 TypeName ("psiThermo")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, psiThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
 Declare run-time constructor selection table. More...
 
virtual ~psiThermo ()
 Destructor. More...
 
virtual tmp< volScalarFieldrho () const =0
 Density [kg/m^3] - uses current value of pressure. More...
 
virtual tmp< scalarFieldrho (const label patchi) const =0
 Density for patch [kg/m^3]. More...
 
virtual tmp< volScalarFieldrenameRho ()
 Return the thermodynamic density field [kg/m^3]. More...
 
virtual void correctRho (const volScalarField &deltaRho)
 Add the given density correction to the density field. More...
 
- Public Member Functions inherited from fluidThermo
 TypeName ("fluidThermo")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, fluidThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
 Declare run-time constructor selection table. More...
 
virtual ~fluidThermo ()
 Destructor. More...
 
virtual const volScalarFieldp () const =0
 Pressure [Pa]. More...
 
virtual volScalarFieldp ()=0
 Pressure [Pa]. More...
 
virtual const volScalarFieldpsi () const =0
 Compressibility [s^2/m^2]. More...
 
virtual const volScalarFieldmu () const =0
 Dynamic viscosity of mixture [kg/m/s]. More...
 
tmp< volScalarFieldnu () const
 Kinematic viscosity of mixture [m^2/s]. More...
 
tmp< scalarFieldnu (const label patchi) const
 Kinematic viscosity of mixture for patch [m^2/s]. 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< 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)
 
- Public Member Functions inherited from viscosity
 TypeName ("viscosity")
 Runtime type information. More...
 
 viscosity ()
 Construct. More...
 
 viscosity (const viscosity &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~viscosity ()
 Destructor. More...
 
void operator= (const viscosity &)=delete
 Disallow default bitwise assignment. More...
 

Static Public Member Functions

static autoPtr< psiuMulticomponentThermoNew (const fvMesh &, const word &phaseName=word::null)
 Standard selection based on fvMesh. More...
 
- Static Public Member Functions inherited from psiThermo
static autoPtr< psiThermoNew (const fvMesh &mesh, const word &phaseName=word::null)
 Standard selection based on fvMesh. More...
 
- Static Public Member Functions inherited from fluidThermo
static autoPtr< fluidThermoNew (const fvMesh &, const word &phaseName=word::null)
 Standard selection based on fvMesh. More...
 
- 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 Public Attributes

static const word derivedThermoName
 The derived name. More...
 
- Static Public Attributes inherited from psiThermo
static const word derivedThermoName
 The derived name. More...
 

Protected Member Functions

wordList heuBoundaryTypes ()
 Return the unburnt enthalpy/internal energy field boundary types. More...
 
void heuBoundaryCorrection (volScalarField &heu)
 ... 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...
 

Additional Inherited Members

- 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 combustion fluid thermodynamic properties based on compressibility.

See also
Foam::basicThermo
Source files

Definition at line 55 of file psiuMulticomponentThermo.H.

Member Typedef Documentation

◆ DerivedThermoType

The derived type.

Definition at line 86 of file psiuMulticomponentThermo.H.

Constructor & Destructor Documentation

◆ ~psiuMulticomponentThermo()

Destructor.

Definition at line 154 of file psiuMulticomponentThermo.C.

Member Function Documentation

◆ heuBoundaryTypes()

Foam::wordList heuBoundaryTypes ( )
protected

Return the unburnt enthalpy/internal energy field boundary types.

by interrogating the temperature field boundary types

Definition at line 48 of file psiuMulticomponentThermo.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField(), forAll, patchi, psiuMulticomponentThermo::Tu(), and GeometricBoundaryField< Type, PatchField, GeoMesh >::types().

Here is the call graph for this function:

◆ heuBoundaryCorrection()

void heuBoundaryCorrection ( volScalarField heu)
protected

...

Definition at line 78 of file psiuMulticomponentThermo.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryFieldRef(), forAll, and patchi.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "psiuMulticomponentThermo"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
psiuMulticomponentThermo  ,
fvMesh  ,
(const fvMesh &mesh, const word &phaseName ,
(mesh, phaseName  
)

◆ New()

Foam::autoPtr< Foam::psiuMulticomponentThermo > New ( const fvMesh mesh,
const word phaseName = word::null 
)
static

Standard selection based on fvMesh.

Definition at line 142 of file psiuMulticomponentThermo.C.

References basicThermo::mesh(), and basicThermo::phaseName().

Here is the call graph for this function:

◆ species()

virtual const speciesTable& species ( ) const
pure virtual

The table of species.

Implemented in psiuMulticomponentThermo::implementation.

Referenced by psiuMulticomponentThermo::containsSpecie().

Here is the caller graph for this function:

◆ containsSpecie()

bool containsSpecie ( const word specieName) const
inline

Does the mixture include this specie?

Definition at line 31 of file psiuMulticomponentThermoI.H.

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

Referenced by laminarFlameSpeed::laminarFlameSpeed(), and XiFluid::XiFluid().

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

◆ Y() [1/4]

virtual PtrList<volScalarField>& Y ( )
pure virtual

Access the mass-fraction fields.

Implemented in psiuMulticomponentThermo::implementation.

Referenced by XiFluid::ftSolve(), and XiFluid::XiFluid().

Here is the caller graph for this function:

◆ Y() [2/4]

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

Access the mass-fraction fields.

Implemented in psiuMulticomponentThermo::implementation.

◆ Y() [3/4]

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

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

Definition at line 40 of file psiuMulticomponentThermoI.H.

References Y.

◆ Y() [4/4]

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

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

Definition at line 49 of file psiuMulticomponentThermoI.H.

References Y.

◆ Tu()

virtual const volScalarField& Tu ( ) const
pure virtual

Unburnt gas temperature [K].

Referenced by psiuMulticomponentThermo::heuBoundaryTypes().

Here is the caller graph for this function:

◆ heu() [1/4]

virtual const volScalarField& heu ( ) const
pure virtual

Unburnt gas enthalpy [J/kg].

Referenced by XiFluid::XiFluid().

Here is the caller graph for this function:

◆ heu() [2/4]

virtual volScalarField& heu ( )
pure virtual

Unburnt gas enthalpy [J/kg].

Non-const access allowed for transport equations

◆ heu() [3/4]

virtual tmp<scalarField> heu ( const scalarField T,
const labelList cells 
) const
pure virtual

Unburnt gas enthalpy for cell-set [J/kg].

◆ heu() [4/4]

virtual tmp<scalarField> heu ( const scalarField T,
const label  patchi 
) const
pure virtual

Unburnt gas enthalpy for patch [J/kg].

◆ Tb()

virtual tmp<volScalarField> Tb ( ) const
pure virtual

Burnt gas temperature [K].

◆ psiu()

virtual tmp<volScalarField> psiu ( ) const
pure virtual

Unburnt gas compressibility [s^2/m^2].

Referenced by psiuMulticomponentThermo::rhou().

Here is the caller graph for this function:

◆ psib()

virtual tmp<volScalarField> psib ( ) const
pure virtual

Burnt gas compressibility [s^2/m^2].

Referenced by psiuMulticomponentThermo::rhob().

Here is the caller graph for this function:

◆ rhou()

Foam::tmp< Foam::volScalarField > rhou ( ) const

Unburnt gas density [kg/m^3].

Definition at line 164 of file psiuMulticomponentThermo.C.

References fluidThermo::p(), and psiuMulticomponentThermo::psiu().

Here is the call graph for this function:

◆ rhob()

Foam::tmp< Foam::volScalarField > rhob ( ) const

Burnt gas density [kg/m^3].

Definition at line 170 of file psiuMulticomponentThermo.C.

References fluidThermo::p(), and psiuMulticomponentThermo::psib().

Here is the call graph for this function:

◆ muu()

virtual tmp<volScalarField> muu ( ) const
pure virtual

Dynamic viscosity of unburnt gas [kg/m/s].

◆ mub()

virtual tmp<volScalarField> mub ( ) const
pure virtual

Dynamic viscosity of burnt gas [kg/m/s].

Member Data Documentation

◆ derivedThermoName

const Foam::word derivedThermoName
static

The derived name.

Definition at line 90 of file psiuMulticomponentThermo.H.


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