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 speciesTable & | species () 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< scalarField > | Yslicer (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... | |
volScalarField & | Y (const label speciei) |
Access the mass-fraction field for a specie given by index. More... | |
const volScalarField & | Y (const label speciei) const |
Access the mass-fraction field for a specie given by index. More... | |
volScalarField & | Y (const word &specieName) |
Access the mass-fraction field for a specie given by name. More... | |
const volScalarField & | Y (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< volScalarField > | rhoi (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< volScalarField > | Cpi (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< scalarField > | hei (const label speciei, const scalarField &p, const scalarField &T) const =0 |
Enthalpy/Internal energy [J/kg]. More... | |
virtual tmp< volScalarField > | hei (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< scalarField > | hsi (const label speciei, const scalarField &p, const scalarField &T) const =0 |
Sensible enthalpy [J/kg]. More... | |
virtual tmp< volScalarField > | hsi (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< scalarField > | hai (const label speciei, const scalarField &p, const scalarField &T) const =0 |
Absolute enthalpy [J/kg]. More... | |
virtual tmp< volScalarField > | hai (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< volScalarField > | kappai (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 IOdictionary & | properties () const =0 |
Properties dictionary. More... | |
virtual IOdictionary & | properties ()=0 |
Non-const access the properties dictionary. More... | |
virtual const fvMesh & | mesh () const =0 |
Return const access to the mesh. More... | |
virtual const word & | phaseName () 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< volScalarField > | W () const =0 |
Molecular weight [kg/kmol]. More... | |
virtual tmp< scalarField > | W (const label patchi) const =0 |
Molecular weight for patch [kg/kmol]. More... | |
virtual const volScalarField & | T () const =0 |
Temperature [K]. More... | |
virtual volScalarField & | T ()=0 |
Temperature [K]. More... | |
virtual const volScalarField & | he () const =0 |
Enthalpy/Internal energy [J/kg]. More... | |
virtual volScalarField & | he ()=0 |
Enthalpy/Internal energy [J/kg]. More... | |
virtual const volScalarField & | Cp () const =0 |
Heat capacity at constant pressure [J/kg/K]. More... | |
virtual const volScalarField & | Cv () const =0 |
Heat capacity at constant volume [J/kg/K]. More... | |
virtual const volScalarField & | Cpv () const =0 |
Heat capacity at constant pressure/volume [J/kg/K]. More... | |
virtual tmp< volScalarField > | rho () const =0 |
Density [kg/m^3]. More... | |
virtual tmp< scalarField > | rho (const label patchi) const =0 |
Density for patch [kg/m^3]. More... | |
virtual tmp< volScalarField > | he (const volScalarField &p, const volScalarField &T) const =0 |
Enthalpy/Internal energy. More... | |
virtual tmp< scalarField > | he (const scalarField &T, const labelList &cells) const =0 |
Enthalpy/Internal energy for cell-set [J/kg]. More... | |
virtual tmp< scalarField > | he (const scalarField &T, const label patchi) const =0 |
Enthalpy/Internal energy for patch [J/kg]. More... | |
virtual tmp< scalarField > | he (const scalarField &T, const fvSource &source) const =0 |
Enthalpy/Internal energy for source [J/kg]. More... | |
virtual tmp< volScalarField > | hs () const =0 |
Sensible enthalpy [J/kg]. More... | |
virtual tmp< volScalarField > | hs (const volScalarField &p, const volScalarField &T) const =0 |
Sensible enthalpy. More... | |
virtual tmp< scalarField > | hs (const scalarField &T, const labelList &cells) const =0 |
Sensible enthalpy for cell-set [J/kg]. More... | |
virtual tmp< scalarField > | hs (const scalarField &T, const label patchi) const =0 |
Sensible enthalpy for patch [J/kg]. More... | |
virtual tmp< volScalarField > | ha () const =0 |
Absolute enthalpy [J/kg]. More... | |
virtual tmp< volScalarField > | ha (const volScalarField &p, const volScalarField &T) const =0 |
Absolute enthalpy. More... | |
virtual tmp< scalarField > | ha (const scalarField &T, const labelList &cells) const =0 |
Absolute enthalpy for cell-set [J/kg]. More... | |
virtual tmp< scalarField > | ha (const scalarField &T, const label patchi) const =0 |
Absolute enthalpy for patch [J/kg]. More... | |
virtual tmp< scalarField > | Cp (const scalarField &T, const label patchi) const =0 |
Heat capacity at constant pressure for patch [J/kg/K]. More... | |
virtual tmp< scalarField > | Cv (const scalarField &T, const label patchi) const =0 |
Heat capacity at constant volume for patch [J/kg/K]. More... | |
virtual tmp< scalarField > | Cpv (const scalarField &T, const label patchi) const =0 |
Heat capacity at constant pressure/volume for patch [J/kg/K]. More... | |
tmp< volScalarField > | gamma () const |
Gamma = Cp/Cv []. More... | |
tmp< scalarField > | gamma (const scalarField &T, const label patchi) const |
Gamma = Cp/Cv for patch []. More... | |
virtual tmp< volScalarField > | The (const volScalarField &h, const volScalarField &p, const volScalarField &T0) const =0 |
Temperature from enthalpy/internal energy. More... | |
virtual tmp< scalarField > | The (const scalarField &h, const scalarField &T0, const labelList &cells) const =0 |
Temperature from enthalpy/internal energy for cell-set. More... | |
virtual tmp< scalarField > | The (const scalarField &h, const scalarField &T0, const label patchi) const =0 |
Temperature from enthalpy/internal energy for patch. More... | |
virtual const volScalarField & | kappa () const =0 |
Thermal conductivity of mixture [W/m/K]. More... | |
template<class FieldType > | |
const Foam::basicThermo & | lookupThermo (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< word > | heSourcesTypes () |
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< volScalarField > | Y_ |
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 basicThermo & | lookupThermo (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< basicThermo > | New (const fvMesh &, const word &phaseName=word::null) |
Specialisation of the Generic New for basicThermo. More... | |
Static Protected Member Functions inherited from basicThermo | |
static volScalarField & | lookupOrConstruct (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... | |
Definition at line 277 of file multicomponentThermo.H.
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.
|
virtual |
Destructor.
Definition at line 215 of file multicomponentThermo.C.
|
protected |
Scale the mass fractions to sum to 1.
Definition at line 30 of file multicomponentThermo.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::constant::atomic::group, IOobject::groupName(), Foam::mag(), Foam::min(), GeometricField< Type, PatchField, GeoMesh >::New(), tmp< T >::ref(), List< T >::size(), multicomponentThermo::implementation::species(), multicomponentThermo::implementation::species_, and multicomponentThermo::implementation::Y_.
|
virtual |
The table of species.
Implements multicomponentThermo.
Definition at line 222 of file multicomponentThermo.C.
Referenced by multicomponentThermo::implementation::correctMassFractions().
|
virtual |
The index of the default specie.
Implements multicomponentThermo.
Definition at line 228 of file multicomponentThermo.C.
|
virtual |
Access the specie active flags.
Implements multicomponentThermo.
Definition at line 235 of file multicomponentThermo.C.
|
virtual |
Access the mass-fraction fields.
Implements multicomponentThermo.
Definition at line 266 of file multicomponentThermo.C.
|
virtual |
Access the mass-fraction fields.
Implements multicomponentThermo.
Definition at line 273 of file multicomponentThermo.C.
|
inline |
Get the slicer.
Definition at line 108 of file multicomponentThermoI.H.
|
inline |
Get the composition of an internal cell.
Definition at line 115 of file multicomponentThermoI.H.
|
inline |
Get the composition of a boundary face.
Definition at line 126 of file multicomponentThermoI.H.
References patchi.
|
inline |
Get the slicer for the given source.
Definition at line 138 of file multicomponentThermoI.H.
References forAll, fvModel::name(), and PtrList< T >::set().
|
inline |
Get the composition of a source cell.
Definition at line 159 of file multicomponentThermoI.H.
|
protected |
Table of specie names.
Definition at line 286 of file multicomponentThermo.H.
Referenced by multicomponentThermo::implementation::correctMassFractions().
|
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.
|
protected |
The index of the default specie.
Definition at line 294 of file multicomponentThermo.H.
|
protected |
List of specie active flags.
Definition at line 297 of file multicomponentThermo.H.
|
protected |
Species mass fractions.
Definition at line 300 of file multicomponentThermo.H.
Referenced by multicomponentThermo::implementation::correctMassFractions().