mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
thermophysicalModels: Added support for thermodynamic departure functions
This commit is contained in:
@ -173,6 +173,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -120,6 +120,20 @@ inline Foam::scalar Foam::Boussinesq<Specie>::rho
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::Boussinesq<Specie>::h(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::Boussinesq<Specie>::cp(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::Boussinesq<Specie>::s
|
||||
(
|
||||
|
||||
@ -168,6 +168,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -116,6 +116,20 @@ inline Foam::scalar Foam::PengRobinsonGas<Specie>::rho
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::PengRobinsonGas<Specie>::h(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::PengRobinsonGas<Specie>::cp(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::PengRobinsonGas<Specie>::s
|
||||
(
|
||||
|
||||
@ -167,6 +167,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -111,6 +111,28 @@ inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::rho
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::h
|
||||
(
|
||||
scalar p,
|
||||
scalar T
|
||||
) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::cp
|
||||
(
|
||||
scalar p,
|
||||
scalar T
|
||||
) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::adiabaticPerfectFluid<Specie>::s
|
||||
(
|
||||
|
||||
@ -155,6 +155,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -110,6 +110,28 @@ inline Foam::scalar Foam::icoPolynomial<Specie, PolySize>::rho
|
||||
}
|
||||
|
||||
|
||||
template<class Specie, int PolySize>
|
||||
inline Foam::scalar Foam::icoPolynomial<Specie, PolySize>::h
|
||||
(
|
||||
scalar p,
|
||||
scalar T
|
||||
) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie, int PolySize>
|
||||
inline Foam::scalar Foam::icoPolynomial<Specie, PolySize>::cp
|
||||
(
|
||||
scalar p,
|
||||
scalar T
|
||||
) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie, int PolySize>
|
||||
inline Foam::scalar Foam::icoPolynomial<Specie, PolySize>::s
|
||||
(
|
||||
|
||||
@ -158,6 +158,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -114,6 +114,28 @@ inline Foam::scalar Foam::incompressiblePerfectGas<Specie>::rho
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::incompressiblePerfectGas<Specie>::h
|
||||
(
|
||||
scalar p,
|
||||
scalar T
|
||||
) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::incompressiblePerfectGas<Specie>::cp
|
||||
(
|
||||
scalar p,
|
||||
scalar T
|
||||
) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::incompressiblePerfectGas<Specie>::s
|
||||
(
|
||||
|
||||
@ -156,6 +156,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -92,6 +92,20 @@ inline Foam::scalar Foam::linear<Specie>::rho(scalar p, scalar T) const
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::linear<Specie>::h(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::linear<Specie>::cp(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::linear<Specie>::s(scalar p, scalar T) const
|
||||
{
|
||||
|
||||
@ -155,6 +155,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -100,6 +100,20 @@ inline Foam::scalar Foam::perfectFluid<Specie>::rho(scalar p, scalar T) const
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::perfectFluid<Specie>::h(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::perfectFluid<Specie>::cp(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::perfectFluid<Specie>::s(scalar p, scalar T) const
|
||||
{
|
||||
|
||||
@ -139,6 +139,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -82,6 +82,20 @@ inline Foam::scalar Foam::perfectGas<Specie>::rho(scalar p, scalar T) const
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::perfectGas<Specie>::h(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::perfectGas<Specie>::cp(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::perfectGas<Specie>::s(scalar p, scalar T) const
|
||||
{
|
||||
|
||||
@ -141,6 +141,12 @@ public:
|
||||
//- Return density [kg/m^3]
|
||||
inline scalar rho(scalar p, scalar T) const;
|
||||
|
||||
//- Return enthalpy departure [J/kmol]
|
||||
inline scalar h(const scalar p, const scalar T) const;
|
||||
|
||||
//- Return cp departure [J/(kmol K]
|
||||
inline scalar cp(scalar p, scalar T) const;
|
||||
|
||||
//- Return entropy [J/(kmol K)]
|
||||
inline scalar s(const scalar p, const scalar T) const;
|
||||
|
||||
|
||||
@ -78,6 +78,20 @@ inline Foam::scalar Foam::rhoConst<Specie>::rho(scalar p, scalar T) const
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::rhoConst<Specie>::h(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::rhoConst<Specie>::cp(scalar p, scalar T) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
template<class Specie>
|
||||
inline Foam::scalar Foam::rhoConst<Specie>::s(scalar p, scalar T) const
|
||||
{
|
||||
|
||||
@ -106,7 +106,7 @@ inline Foam::scalar Foam::eConstThermo<EquationOfState>::cp
|
||||
const scalar T
|
||||
) const
|
||||
{
|
||||
return Cv_ + this->cpMcv(p, T);
|
||||
return Cv_ + this->cpMcv(p, T) + EquationOfState::cp(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -117,7 +117,7 @@ inline Foam::scalar Foam::eConstThermo<EquationOfState>::ha
|
||||
const scalar T
|
||||
) const
|
||||
{
|
||||
return cp(p, T)*T + Hf_;
|
||||
return cp(p, T)*T + Hf_ + EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -128,7 +128,7 @@ inline Foam::scalar Foam::eConstThermo<EquationOfState>::hs
|
||||
const scalar T
|
||||
) const
|
||||
{
|
||||
return cp(p, T)*T;
|
||||
return cp(p, T)*T + EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -106,7 +106,7 @@ inline Foam::scalar Foam::hConstThermo<EquationOfState>::cp
|
||||
const scalar T
|
||||
) const
|
||||
{
|
||||
return Cp_;
|
||||
return Cp_ + EquationOfState::cp(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -116,7 +116,7 @@ inline Foam::scalar Foam::hConstThermo<EquationOfState>::ha
|
||||
const scalar p, const scalar T
|
||||
) const
|
||||
{
|
||||
return Cp_*T + Hf_;
|
||||
return Cp_*T + Hf_ + EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -126,7 +126,7 @@ inline Foam::scalar Foam::hConstThermo<EquationOfState>::hs
|
||||
const scalar p, const scalar T
|
||||
) const
|
||||
{
|
||||
return Cp_*T;
|
||||
return Cp_*T + EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -98,7 +98,7 @@ inline Foam::scalar Foam::hPolynomialThermo<EquationOfState, PolySize>::cp
|
||||
const scalar p, const scalar T
|
||||
) const
|
||||
{
|
||||
return CpCoeffs_.value(T);
|
||||
return CpCoeffs_.value(T) + EquationOfState::cp(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -108,7 +108,7 @@ inline Foam::scalar Foam::hPolynomialThermo<EquationOfState, PolySize>::ha
|
||||
const scalar p, const scalar T
|
||||
) const
|
||||
{
|
||||
return hCoeffs_.value(T);
|
||||
return hCoeffs_.value(T) + EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -130,7 +130,7 @@ inline Foam::scalar Foam::hPowerThermo<EquationOfState>::cp
|
||||
const scalar p, const scalar T
|
||||
) const
|
||||
{
|
||||
return c0_*pow(T/Tref_, n0_);
|
||||
return c0_*pow(T/Tref_, n0_) + EquationOfState::cp(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -151,7 +151,8 @@ inline Foam::scalar Foam::hPowerThermo<EquationOfState>::hs
|
||||
) const
|
||||
{
|
||||
return
|
||||
c0_*(pow(T, n0_ + 1) - pow(Tstd, n0_ + 1))/(pow(Tref_, n0_)*(n0_ + 1));
|
||||
c0_*(pow(T, n0_ + 1) - pow(Tstd, n0_ + 1))/(pow(Tref_, n0_)*(n0_ + 1))
|
||||
+ EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -112,7 +112,7 @@ inline Foam::scalar Foam::hRefConstThermo<EquationOfState>::cp
|
||||
const scalar T
|
||||
) const
|
||||
{
|
||||
return Cp_;
|
||||
return Cp_ + EquationOfState::cp(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -122,7 +122,7 @@ inline Foam::scalar Foam::hRefConstThermo<EquationOfState>::ha
|
||||
const scalar p, const scalar T
|
||||
) const
|
||||
{
|
||||
return Cp_*(T-Tref_) + Href_ + Hf_;
|
||||
return Cp_*(T-Tref_) + Href_ + Hf_ + EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ inline Foam::scalar Foam::hRefConstThermo<EquationOfState>::hs
|
||||
const scalar p, const scalar T
|
||||
) const
|
||||
{
|
||||
return Cp_*(T-Tref_) + Href_ ;
|
||||
return Cp_*(T-Tref_) + Href_ + EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -162,7 +162,9 @@ inline Foam::scalar Foam::janafThermo<EquationOfState>::cp
|
||||
) const
|
||||
{
|
||||
const coeffArray& a = coeffs(T);
|
||||
return RR*((((a[4]*T + a[3])*T + a[2])*T + a[1])*T + a[0]);
|
||||
return
|
||||
RR*((((a[4]*T + a[3])*T + a[2])*T + a[1])*T + a[0])
|
||||
+ EquationOfState::cp(p, T);
|
||||
}
|
||||
|
||||
|
||||
@ -178,7 +180,8 @@ inline Foam::scalar Foam::janafThermo<EquationOfState>::ha
|
||||
(
|
||||
((((a[4]/5.0*T + a[3]/4.0)*T + a[2]/3.0)*T + a[1]/2.0)*T + a[0])*T
|
||||
+ a[5]
|
||||
);
|
||||
)
|
||||
+ EquationOfState::h(p, T);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user