60 template<
class MixtureType,
class BasicThermoType>
63 public BasicThermoName,
66 public BasicThermoType
85 template<
class Mixture,
class Method,
class ... Args>
96 template<
class Mixture,
class Method,
class ... Args>
107 template<
class Mixture,
class Method,
class ... Args>
117 template<
class Mixture,
class Method,
class ... Args>
127 template<
class Mixture,
class Method,
class ... Args>
140 template<
class Mixture,
class Method,
class ... Args>
181 using BasicThermoName::debug;
214 return MixtureType::thermoType::typeName();
221 return MixtureType::thermoType::incompressible;
228 return MixtureType::thermoType::isochoric;
Thermo implementation and storage of energy and heat capacities. Provides overloads of the functions ...
BasicThermo(const fvMesh &, const word &phaseName)
Construct from mesh and phase name.
virtual const volScalarField & Cv() const
Heat capacity at constant volume [J/kg/K].
virtual tmp< volScalarField > W() const
Molecular weight [kg/kmol].
virtual const volScalarField & Cp() const
Heat capacity at constant pressure [J/kg/K].
tmp< volScalarField > volScalarFieldProperty(const word &psiName, const dimensionSet &psiDim, Mixture mixture, Method psiMethod, const Args &... args) const
Return a volScalarField of the given property.
virtual word thermoName() const
Return the name of the thermo physics.
tmp< scalarField > cellSetProperty(Mixture mixture, Method psiMethod, const labelList &cells, const Args &... args) const
Return a scalarField of the given property on a cell set.
virtual bool incompressible() const
Return true if the equation of state is incompressible.
static UIndirectList< scalar > cellSetScalarList(const volScalarField &psi, const labelUList &cells)
Return an indirect list of a field for the given set of cells.
virtual tmp< volScalarField > ha() const
Absolute enthalpy [J/kg/K].
virtual const volScalarField & he() const
Enthalpy/Internal energy [J/kg].
volScalarField Cp_
Heat capacity at constant pressure field [J/kg/K].
MixtureType mixtureType
Mixture type.
volScalarField he_
Energy field.
BasicThermoType basicThermoType
Basic thermo.
tmp< scalarField > patchFieldProperty(Mixture mixture, Method psiMethod, const label patchi, const Args &... args) const
Return a scalarField of the given property on a patch.
tmp< volScalarField::Internal > fieldSourceProperty(const word &psiName, const dimensionSet &psiDim, Mixture mixture, Method psiMethod, const fvSource &model, const volScalarField::Internal &source, const Args &... args) const
Return a scalarField of the given property for a source.
void heBoundaryCorrection(volScalarField &he)
Correct the enthalpy/internal energy field boundaries.
virtual const volScalarField & Cpv() const
Heat capacity at constant pressure/volume [J/kg/K].
virtual ~BasicThermo()
Destructor.
virtual tmp< volScalarField > hs() const
Sensible enthalpy [J/kg/K].
virtual tmp< volScalarField > The(const volScalarField &h, const volScalarField &p, const volScalarField &T0) const
Temperature from enthalpy/internal energy.
tmp< volScalarField::Internal > volInternalScalarFieldProperty(const word &psiName, const dimensionSet &psiDim, Mixture mixture, Method psiMethod, const Args &... args) const
Return a volScalarField::Internal of the given property.
virtual bool read()
Read thermophysical properties dictionary.
virtual IOdictionary & properties()
Return the properties dictionary.
virtual bool isochoric() const
Return true if the equation of state is isochoric.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic GeometricField class.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Dimension set for the base types.
Mesh data needed to do the Finite Volume discretisation.
Base class for finite volume sources.
A base class for physical properties.
A class for managing temporary objects.
A class for handling words, derived from string.
const volScalarField & psi
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.
void T(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)
TemplateName(FvFaceCellWave)
Foam::argList args(argc, argv)