71 static const wordList componentHeader4;
74 static const wordList componentHeader7;
80 static word makeThermoName
90 const word& fieldName,
96 template<
class Thermo,
class ThermoConstructTable>
97 static typename ThermoConstructTable::mapped_type
101 ThermoConstructTable& thermoTable,
102 const word& thermoTypeName,
108 template<
class Thermo,
class ThermoConstructTable>
109 static typename ThermoConstructTable::mapped_type
113 ThermoConstructTable& thermoTable
194 const word& phaseName
202 const word& phaseName
210 const word& phaseName,
211 const word& dictionaryName
218 template<
class Thermo>
226 template<
class Thermo>
235 template<
class Thermo>
239 const word& phaseName,
262 const word& phaseName
328 const int nExpectedCmpts
368 virtual tmp<volScalarField>
rho()
const = 0;
371 virtual tmp<scalarField>
rho(
const label patchi)
const = 0;
382 virtual tmp<volScalarField>
he 389 virtual tmp<scalarField>
he 397 virtual tmp<scalarField>
he 405 virtual tmp<volScalarField>
hc()
const = 0;
408 virtual tmp<scalarField>
THE 417 virtual tmp<scalarField>
THE virtual tmp< scalarField > rhoEoS(const scalarField &p, const scalarField &T, const labelList &cells) const =0
Density from pressure and temperature from EoS.
word dictName() const
The local dictionary name (final part of scoped name)
virtual tmp< volScalarField > kappaEff(const volScalarField &) const =0
Effective thermal diffusivity for temperature.
virtual ~basicThermo()
Destructor.
TypeName("basicThermo")
Runtime type information.
virtual tmp< volScalarField > kappa() const =0
Thermal diffusivity for temperature of mixture [J/m/s/K].
virtual tmp< scalarField > THE(const scalarField &h, const scalarField &p, const scalarField &T0, const labelList &cells) const =0
Temperature from enthalpy/internal energy for cell-set.
Abstract base-class for fluid and solid thermodynamic properties.
static word phasePropertyName(const word &name, const word &phaseName)
virtual tmp< volScalarField > rho() const =0
Density [kg/m^3].
bool updateT() const noexcept
True if T should be updated.
virtual tmp< volScalarField > alphaEff(const volScalarField &alphat) const =0
Effective thermal diffusivity of mixture [kg/m/s].
A list of keyword definitions, which are a keyword followed by a number of values (eg...
static Ostream & printThermoNames(Ostream &os, const wordList &cmptNames, const wordList &thermoNames)
Print (filtered) table of thermo names, splits on " ,<>".
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].
virtual const volScalarField & alpha() const
Thermal diffusivity for enthalpy of mixture [kg/m/s].
virtual const volScalarField & T() const
Temperature [K].
bool pOwner_
Pressure created and stored by this instance.
static autoPtr< Thermo > New(const fvMesh &, const word &phaseName=word::null)
Generic New for each of the related thermodynamics packages.
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 volScalarField & p()
Pressure [Pa].
GeometricField< scalar, fvPatchField, volMesh > volScalarField
bool dpdt_
Include dpdt term in the enthalpy equation?
const word & phaseName_
Phase-name.
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
wordList heBoundaryBaseTypes()
Return the enthalpy/internal energy field boundary base types by interrogating the temperature field ...
basicThermo(const basicThermo &)=delete
No copy construct.
static wordList splitThermoName(const std::string &thermoName, const int nExpectedCmpts)
Split thermo package name into a list of components names.
fvPatchField< scalar > fvPatchScalarField
volScalarField & p_
Pressure [Pa].
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
bool dpdt() const noexcept
True if dpdt term should be included in enthalpy equation.
wordList heBoundaryTypes()
Return the enthalpy/internal energy field boundary types by interrogating the temperature field bound...
static const word null
An empty word.
const dictionary & thermoDict
virtual tmp< volScalarField > hc() const =0
Chemical enthalpy [J/kg].
const word & name() const
Name function is needed to disambiguate those inherited from regIOobject and dictionary.
OBJstream os(runTime.globalPath()/outputName)
virtual tmp< volScalarField > Cp() const =0
Heat capacity at constant pressure [J/kg/K].
const dimensionedScalar h
Planck constant.
List< word > wordList
A List of words.
volScalarField alpha_
Laminar thermal diffusivity [kg/m/s].
bool TOwner_
Temperature created and stored by this instance.
Mesh data needed to do the Finite Volume discretisation.
virtual tmp< volScalarField > gamma() const =0
Gamma = Cp/Cv [].
virtual bool read()
Read thermophysical properties dictionary.
virtual tmp< volScalarField > W() const =0
Molecular weight [kg/kmol].
static const basicThermo & lookupThermo(const fvPatchScalarField &pf)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
virtual bool isochoric() const =0
Return true if the equation of state is isochoric.
List< label > labelList
A List of labels.
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 bool incompressible() const =0
Return true if the equation of state is incompressible.
virtual tmp< volScalarField > CpByCpv() const =0
Heat capacity ratio [].
volScalarField & T_
Temperature [K].