94 template<
class Thermo,
class Table>
100 const char* cmptNames[],
101 const word& thermoTypeName
106 template<
class Thermo,
class Table>
175 const word& thermoName
182 template<
class Thermo>
190 template<
class Thermo>
460 const word& phaseName_;
virtual ~basicThermo()
Destructor.
TypeName("basicThermo")
Runtime type information.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual tmp< volScalarField > kappa() const =0
Thermal diffusivity for temperature of mixture [W/m/K].
Base-class for fluid and solid thermodynamic properties.
static word phasePropertyName(const word &name, const word &phaseName)
Return the name of a property for a given phase.
virtual tmp< volScalarField > rho() const =0
Density [kg/m^3].
virtual tmp< volScalarField > THE(const volScalarField &h, const volScalarField &p, const volScalarField &T0) const =0
Temperature from enthalpy/internal energy.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual tmp< volScalarField > Cv() const =0
Heat capacity at constant volume [J/kg/K].
virtual word thermoName() const =0
Return the name of the thermo physics.
virtual tmp< volScalarField > alphahe() const =0
Thermal diffusivity for energy of mixture [kg/m/s].
A simple wrapper around bool so that it can be read as a word: true/false, on/off, yes/no, y/n, t/f, or none/any.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual const volScalarField & alpha() const =0
Thermal diffusivity for enthalpy of mixture [kg/m/s].
static autoPtr< Thermo > New(const fvMesh &, const word &phaseName=word::null)
Generic New for each of the related thermodynamics packages.
const dimensionedScalar h
Planck constant.
virtual tmp< volScalarField > Cpv() const =0
Heat capacity at constant pressure/volume [J/kg/K].
declareRunTimeSelectionTable(autoPtr, basicThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
Declare run-time constructor selection table.
virtual volScalarField & he()=0
Enthalpy/Internal energy [J/kg].
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
virtual tmp< volScalarField > rho0() const =0
Old-time density [kg/m^3].
virtual const IOdictionary & properties() const =0
Return the dictionary.
bool read(const char *, int32_t &)
virtual Switch dpdt() const =0
Should the dpdt term be included in the enthalpy equation.
virtual const word & phaseName() const =0
Return the phase name.
wordList heBoundaryBaseTypes()
Return the enthalpy/internal energy field boundary base types.
static wordList splitThermoName(const word &thermoName, const int nCmpt)
Split name of thermo package into a list of the components names.
A class for handling words, derived from string.
static word groupName(Name name, const word &group)
wordList heBoundaryTypes()
Return the enthalpy/internal energy field boundary types.
static const word null
An empty word.
virtual tmp< volScalarField > hc() const =0
Enthalpy of formation [J/kg].
static const word dictName
Name of the thermophysical properties dictionary.
virtual tmp< volScalarField > Cp() const =0
Heat capacity at constant pressure [J/kg/K].
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.
virtual const volScalarField & T() const =0
Temperature [K].
Mesh data needed to do the Finite Volume discretisation.
static const basicThermo & lookupThermo(const fvPatchScalarField &pf)
Lookup the thermo associated with the given patch field.
virtual tmp< volScalarField > hs() const =0
Sensible enthalpy [J/kg].
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
virtual bool isochoric() const =0
Return true if the equation of state is isochoric.
A class for managing temporary objects.
virtual void correct()=0
Update properties.
void validate(const string &app, const word &) const
Check that the thermodynamics package is consistent.
virtual tmp< volScalarField > ha() const =0
Absolute enthalpy [J/kg].
virtual bool incompressible() const =0
Return true if the equation of state is incompressible.
static List< Pair< word > > thermoNameComponents(const word &thermoName)
Split name of thermo package into a list of named components names.
static volScalarField & lookupOrConstruct(const fvMesh &mesh, const char *name)
Lookup and the named field, or construct it as MUST-READ if it is.