basicThermo: Added volScalarField overload of THE

This commit is contained in:
Will Bainbridge
2020-09-10 14:41:02 +01:00
parent 01205c98fb
commit 73e5ea961d
9 changed files with 98 additions and 0 deletions

View File

@ -262,6 +262,18 @@ Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::hc() const
}
Foam::tmp<Foam::volScalarField> Foam::twoPhaseMixtureThermo::THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0
) const
{
NotImplemented;
return T0;
}
Foam::tmp<Foam::scalarField> Foam::twoPhaseMixtureThermo::THE
(
const scalarField& h,

View File

@ -217,6 +217,14 @@ public:
//- Enthalpy of formation [J/kg]
virtual tmp<volScalarField> hc() const;
//- Temperature from enthalpy/internal energy
virtual tmp<volScalarField> THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0 // starting temperature
) const;
//- Temperature from enthalpy/internal energy for cell-set
virtual tmp<scalarField> THE
(

View File

@ -430,6 +430,18 @@ Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::hc() const
}
Foam::tmp<Foam::volScalarField> Foam::multiphaseMixtureThermo::THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0
) const
{
NotImplemented;
return T0;
}
Foam::tmp<Foam::scalarField> Foam::multiphaseMixtureThermo::THE
(
const scalarField& h,

View File

@ -339,6 +339,14 @@ public:
//- Enthalpy of formation [J/kg]
virtual tmp<volScalarField> hc() const;
//- Temperature from enthalpy/internal energy
virtual tmp<volScalarField> THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0 // starting temperature
) const;
//- Temperature from enthalpy/internal energy for cell-set
virtual tmp<scalarField> THE
(

View File

@ -360,6 +360,18 @@ Foam::tmp<Foam::volScalarField> Foam::solidDisplacementThermo::hc() const
}
Foam::tmp<Foam::volScalarField> Foam::solidDisplacementThermo::THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0
) const
{
NotImplemented;
return tmp<volScalarField>(nullptr);
}
Foam::tmp<Foam::scalarField> Foam::solidDisplacementThermo::THE
(
const scalarField& he,

View File

@ -245,6 +245,14 @@ public:
//- Enthalpy of formation [J/kg]
virtual tmp<volScalarField> hc() const;
//- Temperature from enthalpy/internal energy
virtual tmp<volScalarField> THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0 // starting temperature
) const;
//- Temperature from enthalpy/internal energy for cell-set
virtual tmp<scalarField> THE
(

View File

@ -343,6 +343,14 @@ public:
//- Enthalpy of formation [J/kg]
virtual tmp<volScalarField> hc() const = 0;
//- Temperature from enthalpy/internal energy
virtual tmp<volScalarField> THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0 // starting temperature
) const = 0;
//- Temperature from enthalpy/internal energy for cell-set
virtual tmp<scalarField> THE
(

View File

@ -677,6 +677,28 @@ Foam::heThermo<BasicThermo, MixtureType>::CpByCpv() const
}
template<class BasicThermo, class MixtureType>
Foam::tmp<Foam::volScalarField> Foam::heThermo<BasicThermo, MixtureType>::THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0
) const
{
return volScalarFieldProperty
(
"T",
dimTemperature,
&MixtureType::cellThermoMixture,
&MixtureType::patchFaceThermoMixture,
&MixtureType::thermoMixtureType::THE,
h,
p,
T0
);
}
template<class BasicThermo, class MixtureType>
Foam::tmp<Foam::scalarField> Foam::heThermo<BasicThermo, MixtureType>::THE
(

View File

@ -277,6 +277,14 @@ public:
//- Enthalpy of formation [J/kg]
virtual tmp<volScalarField> hc() const;
//- Temperature from enthalpy/internal energy
virtual tmp<volScalarField> THE
(
const volScalarField& h,
const volScalarField& p,
const volScalarField& T0 // starting temperature
) const;
//- Temperature from enthalpy/internal energy for cell-set
virtual tmp<scalarField> THE
(