Base-class for multi-component thermodynamic properties. More...
Classes | |
class | implementation |
Public Member Functions | |
virtual | ~multicomponentThermo () |
Destructor. More... | |
virtual const speciesTable & | species () 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... | |
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) |
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... | |
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... | |
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... | |
Base-class for multi-component thermodynamic properties.
Definition at line 54 of file multicomponentThermo.H.
|
virtual |
Destructor.
Definition at line 211 of file multicomponentThermo.C.
|
pure virtual |
The table of species.
Implemented in multicomponentThermo::implementation.
Referenced by greyMean::aCont(), wideBand::aCont(), HeatTransferPhaseSystem< BasePhaseSystem >::addDmidtHefs(), HeatTransferPhaseSystem< BasePhaseSystem >::addDmidtHefsWithoutL(), ReactingMultiphaseParcel< ParcelType >::calc(), ReactingParcel< ParcelType >::calc(), adsorptionMassFractionFvPatchScalarField::calcPhiYp(), semiPermeableBaffleMassFractionFvPatchScalarField::calcPhiYp(), multicomponentThermo::containsSpecie(), ReactingParcel< ParcelType >::correctSurfaceValues(), interfaceCompositionModel::D(), interfaceCompositionModel::dY(), HeatTransferPhaseSystem< BasePhaseSystem >::Li(), Fickian< unityLewisFourier< laminarThermophysicalTransportModel > >::mapMesh(), mixtureFraction::mixtureFraction(), nonRandomTwoLiquid::nonRandomTwoLiquid(), multicomponentThermo::normaliseY(), MaxwellStefan< BasicThermophysicalTransportModel >::read(), and singleStepCombustion::singleStepCombustion().
|
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().
|
pure virtual |
The index of the default specie.
Implemented in multicomponentThermo::implementation.
Referenced by Fickian< BasicThermophysicalTransportModel >::divq(), MaxwellStefan< BasicThermophysicalTransportModel >::divq(), MaxwellStefan< BasicThermophysicalTransportModel >::j(), multicomponentThermo::normaliseY(), MaxwellStefan< unityLewisFourier< laminarThermophysicalTransportModel > >::predict(), Fickian< BasicThermophysicalTransportModel >::q(), and MaxwellStefan< BasicThermophysicalTransportModel >::q().
|
pure virtual |
Access the specie active flags.
Implemented in multicomponentThermo::implementation.
Referenced by multicomponentThermo::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().
|
inline |
Set specie active.
Definition at line 39 of file multicomponentThermoI.H.
References IOobject::AUTO_WRITE, and Y.
|
inline |
Set specie inactive.
Definition at line 49 of file multicomponentThermoI.H.
References IOobject::NO_WRITE, and Y.
Referenced by chemistryModel< ThermoType >::chemistryModel().
|
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().
|
pure virtual |
Access the mass-fraction fields.
Implemented in multicomponentThermo::implementation.
Referenced by greyMean::aCont(), wideBand::aCont(), HeatTransferPhaseSystem< BasePhaseSystem >::addDmidtHefs(), HeatTransferPhaseSystem< BasePhaseSystem >::addDmidtHefsWithoutL(), clouds::addSupFields(), COxidationDiffusionLimitedRate< CloudType >::calculate(), COxidationHurtMitchell< CloudType >::calculate(), COxidationIntrinsicRate< CloudType >::calculate(), COxidationKineticDiffusionLimitedRate< CloudType >::calculate(), COxidationMurphyShaddix< CloudType >::calculate(), homogeneousCondensation::correct(), homogeneousLiquidPhaseSeparation::correct(), ReactingParcel< ParcelType >::correctSurfaceValues(), Fickian< BasicThermophysicalTransportModel >::divq(), MaxwellStefan< BasicThermophysicalTransportModel >::divq(), interfaceCompositionModel::dY(), MaxwellStefan< BasicThermophysicalTransportModel >::j(), mixtureFraction::mixtureFraction(), multicomponentThermo::normaliseY(), specieTransferTemperatureFvPatchScalarField::phiHep(), specieTransferVelocityFvPatchVectorField::phip(), MaxwellStefan< unityLewisFourier< laminarThermophysicalTransportModel > >::predict(), Fickian< BasicThermophysicalTransportModel >::q(), MaxwellStefan< BasicThermophysicalTransportModel >::q(), multicomponentThermo::syncSpeciesActive(), and Foam::W().
|
pure virtual |
Access the mass-fraction fields.
Implemented in multicomponentThermo::implementation.
|
inline |
Access the mass-fraction field for a specie given by index.
Definition at line 65 of file multicomponentThermoI.H.
References Y.
|
inline |
Access the mass-fraction field for a specie given by index.
Definition at line 71 of file multicomponentThermoI.H.
References Y.
|
inline |
Access the mass-fraction field for a specie given by name.
Definition at line 80 of file multicomponentThermoI.H.
References Y.
|
inline |
Access the mass-fraction field for a specie given by name.
Definition at line 89 of file multicomponentThermoI.H.
References Y.
|
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().
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().
|
pure virtual |
Molecular weight [kg/kmol].
Referenced by greyMean::aCont(), wideBand::aCont(), ReactingMultiphaseParcel< ParcelType >::calcDevolatilisation(), ReactingParcel< ParcelType >::calcPhaseChange(), singleStepCombustion::calculateqFuel(), ReactingParcel< ParcelType >::correctSurfaceValues(), and mixtureFraction::mixtureFraction().
|
pure virtual |
Molecular weight [kg/kmol].
Referenced by adsorptionMassFractionFvPatchScalarField::calcPhiYp(), semiPermeableBaffleMassFractionFvPatchScalarField::calcPhiYp(), homogeneousCondensation::correct(), Foam::W(), and saturated::wRatioByP().
|
pure virtual |
Density [kg/m^3].
|
pure virtual |
Density [kg/m^3].
|
pure virtual |
Heat capacity at constant pressure [J/kg/K].
Referenced by ReactingMultiphaseParcel< ParcelType >::calcDevolatilisation(), ReactingParcel< ParcelType >::calcPhaseChange(), and ReactingParcel< ParcelType >::correctSurfaceValues().
|
pure virtual |
Heat capacity at constant pressure [J/kg/K].
|
pure virtual |
Enthalpy/Internal energy [J/kg].
Referenced by specieTransferTemperatureFvPatchScalarField::phiHep().
|
pure virtual |
Enthalpy/Internal energy [J/kg].
|
pure virtual |
Enthalpy/Internal energy [J/kg].
|
pure virtual |
Sensible enthalpy [J/kg].
Referenced by HeatTransferPhaseSystem< BasePhaseSystem >::addDmidtHefs(), HeatTransferPhaseSystem< BasePhaseSystem >::addDmidtHefsWithoutL(), ReactingMultiphaseParcel< ParcelType >::calc(), ReactingParcel< ParcelType >::calc(), and Foam::h0().
|
pure virtual |
Sensible enthalpy [J/kg].
|
pure virtual |
Sensible enthalpy [J/kg].
|
pure virtual |
Absolute enthalpy [J/kg].
Referenced by HeatTransferPhaseSystem< BasePhaseSystem >::Li().
|
pure virtual |
Absolute enthalpy [J/kg].
|
pure virtual |
Absolute enthalpy [J/kg].
|
pure virtual |
Enthalpy of formation [J/kg].
Referenced by singleStepCombustion::calculateqFuel().
|
pure virtual |
Enthalpy of formation [J/kg].
|
pure virtual |
Thermal conductivity [W/m/K].
Referenced by ReactingParcel< ParcelType >::correctSurfaceValues().
|
pure virtual |
Thermal conductivity [W/m/K].