36#ifndef twoPhaseMixtureEThermo_H
37#define twoPhaseMixtureEThermo_H
static const this_type & null() noexcept
this_type & constCast() const noexcept
Return non-const reference to this field.
virtual const volScalarField & T() const
Temperature [K].
virtual volScalarField & p()
Pressure [Pa].
basicThermo(const basicThermo &)=delete
No copy construct.
A two-phase incompressible transportModel.
const volVectorField & U() const
Return const-access to the mixture velocity.
thermoIncompressibleTwoPhaseMixture(const volVectorField &U, const surfaceScalarField &phi)
Construct from U and phi.
A class for managing temporary objects.
virtual tmp< scalarField > Cv(const scalarField &p, const scalarField &T, const label patchI) const
Heat capacity at constant volume for patch [J/kg/K].
virtual tmp< scalarField > he(const scalarField &p, const scalarField &T, const label patchi) const
Enthalpy/Internal energy for patch [J/kg].
virtual word thermoName() const
Return the name of the thermo physics.
const incompressibleTwoPhaseMixture & transportPropertiesDict()
Return transport properties dictionary.
virtual tmp< volScalarField > Cv() const
Return Cv of the mixture.
virtual tmp< volScalarField > rho() const
Return rho of the mixture.
virtual tmp< volScalarField > W() const
Molecular weight [kg/kmol].
virtual tmp< volScalarField > gamma() const
Gamma = Cp/Cv [].
virtual tmp< scalarField > kappa(const label patchi) const
Thermal diffusivity for temperature of mixture for patch [J/m/s/K].
virtual tmp< volScalarField > Cpv() const
Heat capacity at constant pressure/volume [J/kg/K].
virtual tmp< scalarField > CpByCpv(const scalarField &p, const scalarField &T, const label patchi) const
Heat capacity ratio for patch [].
virtual tmp< scalarField > alphahe(const label patchi) const
Thermal diffusivity for energy of mixture for patch [kg/m/s].
dimensionedScalar TSat_
Saturation Temperature.
virtual tmp< scalarField > rho(const label patchi) const
Return rho for patch.
virtual tmp< scalarField > THE(const scalarField &h, const scalarField &p, const scalarField &T0, const labelList &cells) const
Temperature from enthalpy/internal energy for cell-set.
const dimensionedScalar & TSat() const
Return const-access to the saturation temperature.
virtual tmp< volScalarField > kappa() const
Thermal diffusivity for temperature of mixture [J/m/s/K].
virtual tmp< scalarField > he(const scalarField &p, const scalarField &T, const labelList &cells) const
Enthalpy/Internal energy for cell-set [J/kg].
virtual tmp< scalarField > Cp(const scalarField &p, const scalarField &T, const labelList &cells) const
Heat capacity using pressure and temperature.
virtual tmp< scalarField > Cpv(const scalarField &p, const scalarField &T, const label patchi) const
Heat capacity at constant pressure/volume for patch [J/kg/K].
virtual tmp< scalarField > alphaEff(const scalarField &alphat, const label patchi) const
Effective thermal diffusivity of mixture for patch [kg/m/s].
virtual tmp< scalarField > rhoEoS(const scalarField &p, const scalarField &T, const labelList &cells) const
Density from pressure and temperature.
virtual tmp< volScalarField > Cp() const
Return Cp of the mixture.
virtual tmp< scalarField > kappaEff(const scalarField &alphat, const label patchi) const
Effective thermal diffusivity for temperature of mixture for patch [J/m/s/K].
virtual void correct()
Correct the thermo fields.
virtual tmp< scalarField > Cp(const scalarField &p, const scalarField &T, const label patchi) const
Heat capacity at constant pressure for patch [J/kg/K].
virtual volScalarField & he()
Return access to the internal energy field [J/Kg].
virtual tmp< volScalarField > hc() const
Chemical enthalpy [J/kg].
virtual bool read()
Read properties.
virtual ~twoPhaseMixtureEThermo()=default
Destructor.
virtual tmp< volScalarField > alphaEff(const volScalarField &alphat) const
Effective thermal diffusivity of mixture [kg/m/s].
virtual tmp< volScalarField > he(const volScalarField &p, const volScalarField &T) const
Enthalpy/Internal energy for given pressure and temperature [J/kg].
twoPhaseMixtureEThermo(const volVectorField &U, const surfaceScalarField &phi)
TypeName("twoPhaseMixtureEThermo")
virtual tmp< scalarField > gamma(const scalarField &p, const scalarField &T, const label patchi) const
Gamma = Cp/Cv for patch [].
virtual tmp< scalarField > THE(const scalarField &h, const scalarField &p, const scalarField &T0, const label patchi) const
Temperature from enthalpy/internal energy for patch.
virtual const volScalarField & he() const
Return access to the internal energy field [J/Kg].
virtual tmp< volScalarField > alphahe() const
Thermal diffusivity for energy of mixture [kg/m/s].
virtual tmp< volScalarField > kappaEff(const volScalarField &) const
Effective thermal diffusivity for temperature of mixture [J/m/s/K].
virtual tmp< volScalarField > CpByCpv() const
Heat capacity ratio [].
bool isochoric() const
Return true if the equation of state is isochoric i.e. rho = const.
bool incompressible() const
Return true if the equation of state is incompressible i.e. rho != f(p).
A class for handling words, derived from Foam::string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
GeometricField< vector, fvPatchField, volMesh > volVectorField
List< label > labelList
A List of labels.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.