94 template<
class Thermo,
class Table>
100 const char* cmptNames[],
101 const word& thermoTypeName
106 template<
class Thermo,
class Table>
161 template<
class FieldType>
181 template<
class Thermo>
Generic GeometricField class.
An STL-conforming hash table.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
static word groupName(Name name, const word &group)
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
volScalarField kappa_
Thermal conductivity [W/m/K].
virtual const volScalarField & T() const
Temperature [K].
Switch dpdt_
Should the dpdt term be included in the enthalpy equation.
virtual const volScalarField & kappa() const
Thermal conductivity of mixture [W/m/K].
virtual Switch dpdt() const
Should the dpdt term be included in the enthalpy equation.
virtual ~implementation()
Destructor.
virtual const fvMesh & mesh() const
Return const access to the mesh.
implementation(const dictionary &, const fvMesh &, const word &)
Construct from dictionary, mesh and phase name.
volScalarField T_
Temperature [K].
const word & phaseName_
Phase-name.
virtual void read(const dictionary &)
Read thermophysical properties dictionary.
virtual const word & phaseName() const
Phase name.
void operator=(const implementation &)=delete
Disallow default bitwise assignment.
Base-class for fluid and solid thermodynamic properties.
virtual word thermoName() const =0
Name of the thermo physics.
virtual const volScalarField & Cv() const =0
Heat capacity at constant volume [J/kg/K].
virtual tmp< volScalarField > The(const volScalarField &h, const volScalarField &p, const volScalarField &T0) const =0
Temperature from enthalpy/internal energy.
virtual tmp< volScalarField > W() const =0
Molecular weight [kg/kmol].
static const basicThermo & lookupThermo(const FieldType &f)
Lookup the thermo associated with the given field.
static List< Pair< word > > thermoNameComponents(const word &thermoName)
Split name of thermo package into a list of named components names.
wordList heBoundaryTypes()
Enthalpy/internal energy field boundary types.
HashTable< word > heSourcesTypes()
Enthalpy/internal energy field sources types.
static word phasePropertyName(const word &name, const word &phaseName)
Name of a property for a given phase.
wordList heBoundaryBaseTypes()
Enthalpy/internal energy field boundary base types.
virtual Switch dpdt() const =0
Should the dpdt term be included in the enthalpy equation.
virtual const IOdictionary & properties() const =0
Properties dictionary.
static wordList splitThermoName(const word &thermoName, const int nCmpt)
Split name of thermo package into a list of the components names.
virtual const fvMesh & mesh() const =0
Return const access to the mesh.
virtual void correct()=0
Update properties.
virtual const volScalarField & T() const =0
Temperature [K].
virtual const volScalarField & Cp() const =0
Heat capacity at constant pressure [J/kg/K].
virtual const volScalarField & Cpv() const =0
Heat capacity at constant pressure/volume [J/kg/K].
virtual bool incompressible() const =0
Return true if the equation of state is incompressible.
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 word & phaseName() const =0
Phase name.
virtual bool isochoric() const =0
Return true if the equation of state is isochoric.
tmp< volScalarField > gamma() const
Gamma = Cp/Cv [].
void validate(const string &app, const word &) const
Check that the thermodynamics package is consistent.
TypeName("basicThermo")
Runtime type information.
virtual tmp< volScalarField > ha() const =0
Absolute enthalpy [J/kg].
virtual tmp< volScalarField > hs() const =0
Sensible enthalpy [J/kg].
virtual ~basicThermo()
Destructor.
virtual const volScalarField & he() const =0
Enthalpy/Internal energy [J/kg].
static volScalarField & lookupOrConstruct(const fvMesh &mesh, const char *name)
Lookup and the named field, or construct it as MUST-READ if it is.
static autoPtr< Thermo > New(const fvMesh &, const word &phaseName=word::null)
Generic New for each of the related thermodynamics packages.
virtual const volScalarField & kappa() const =0
Thermal conductivity of mixture [W/m/K].
declareRunTimeSelectionTable(autoPtr, basicThermo, fvMesh,(const fvMesh &mesh, const word &phaseName),(mesh, phaseName))
Declare run-time constructor selection table.
virtual tmp< volScalarField > rho() const =0
Density [kg/m^3].
A list of keyword definitions, which are a keyword followed by any number of values (e....
Mesh data needed to do the Finite Volume discretisation.
Base class for finite volume sources.
A class for managing temporary objects.
A class for handling words, derived from string.
static const word null
An empty word.
const dimensionedScalar h
Planck constant.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
word name(const bool)
Return a word representation of a bool.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...