From e77938ac02a9a23384725419f83429067cd32b24 Mon Sep 17 00:00:00 2001
From: Henry Weller <http://cfd.direct>
Date: Wed, 17 Feb 2016 10:48:30 +0000
Subject: [PATCH] thermophysicalModels: Added support for thermodynamic
 departure functions

---
 .../equationOfState/Boussinesq/Boussinesq.H   |  6 +++++
 .../equationOfState/Boussinesq/BoussinesqI.H  | 14 ++++++++++++
 .../PengRobinsonGas/PengRobinsonGas.H         |  6 +++++
 .../PengRobinsonGas/PengRobinsonGasI.H        | 14 ++++++++++++
 .../adiabaticPerfectFluid.H                   |  6 +++++
 .../adiabaticPerfectFluidI.H                  | 22 +++++++++++++++++++
 .../icoPolynomial/icoPolynomial.H             |  6 +++++
 .../icoPolynomial/icoPolynomialI.H            | 22 +++++++++++++++++++
 .../incompressiblePerfectGas.H                |  6 +++++
 .../incompressiblePerfectGasI.H               | 22 +++++++++++++++++++
 .../specie/equationOfState/linear/linear.H    |  6 +++++
 .../specie/equationOfState/linear/linearI.H   | 14 ++++++++++++
 .../perfectFluid/perfectFluid.H               |  6 +++++
 .../perfectFluid/perfectFluidI.H              | 14 ++++++++++++
 .../equationOfState/perfectGas/perfectGas.H   |  6 +++++
 .../equationOfState/perfectGas/perfectGasI.H  | 14 ++++++++++++
 .../equationOfState/rhoConst/rhoConst.H       |  6 +++++
 .../equationOfState/rhoConst/rhoConstI.H      | 14 ++++++++++++
 .../specie/thermo/eConst/eConstThermoI.H      |  6 ++---
 .../specie/thermo/hConst/hConstThermoI.H      |  6 ++---
 .../thermo/hPolynomial/hPolynomialThermoI.H   |  4 ++--
 .../specie/thermo/hPower/hPowerThermoI.H      |  5 +++--
 .../thermo/hRefConst/hRefConstThermoI.H       |  6 ++---
 .../specie/thermo/janaf/janafThermoI.H        |  7 ++++--
 24 files changed, 223 insertions(+), 15 deletions(-)

diff --git a/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H b/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H
index 464f829239a..7cd491fde79 100644
--- a/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H
+++ b/src/thermophysicalModels/specie/equationOfState/Boussinesq/Boussinesq.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H b/src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H
index 27a729211c0..2d689847382 100644
--- a/src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H
+++ b/src/thermophysicalModels/specie/equationOfState/Boussinesq/BoussinesqI.H
@@ -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
 (
diff --git a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H
index 8a24f6e104f..cb55086c48a 100644
--- a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H
+++ b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H
index c69829d9a68..45ccf67cd94 100644
--- a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H
+++ b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H
@@ -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
 (
diff --git a/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H
index 3b391410ce5..b270ccab4b9 100644
--- a/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H
+++ b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluid.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluidI.H b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluidI.H
index a2f02cdd95d..87adcdad2bb 100644
--- a/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluidI.H
+++ b/src/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid/adiabaticPerfectFluidI.H
@@ -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
 (
diff --git a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
index 44eb86ffbde..e4345e2f4ed 100644
--- a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
+++ b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomial.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomialI.H b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomialI.H
index c5302e18285..03d087c74f7 100644
--- a/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomialI.H
+++ b/src/thermophysicalModels/specie/equationOfState/icoPolynomial/icoPolynomialI.H
@@ -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
 (
diff --git a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H
index 922466d7406..30c6ea1b4d4 100644
--- a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H
+++ b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGas.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H
index 3281e2e6137..8816c9f317c 100644
--- a/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H
+++ b/src/thermophysicalModels/specie/equationOfState/incompressiblePerfectGas/incompressiblePerfectGasI.H
@@ -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
 (
diff --git a/src/thermophysicalModels/specie/equationOfState/linear/linear.H b/src/thermophysicalModels/specie/equationOfState/linear/linear.H
index acdbda01341..1236cac125a 100644
--- a/src/thermophysicalModels/specie/equationOfState/linear/linear.H
+++ b/src/thermophysicalModels/specie/equationOfState/linear/linear.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/linear/linearI.H b/src/thermophysicalModels/specie/equationOfState/linear/linearI.H
index 225957173e7..701ccc3c7ce 100644
--- a/src/thermophysicalModels/specie/equationOfState/linear/linearI.H
+++ b/src/thermophysicalModels/specie/equationOfState/linear/linearI.H
@@ -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
 {
diff --git a/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluid.H b/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluid.H
index fcd1b373f3b..16d346f1c1e 100644
--- a/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluid.H
+++ b/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluid.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluidI.H b/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluidI.H
index 8d988eb7a6e..f58bcaaed6a 100644
--- a/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluidI.H
+++ b/src/thermophysicalModels/specie/equationOfState/perfectFluid/perfectFluidI.H
@@ -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
 {
diff --git a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H
index 986eecce702..4b5611bee37 100644
--- a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H
+++ b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGas.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H
index bfe0301ce74..94e0c500ffc 100644
--- a/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H
+++ b/src/thermophysicalModels/specie/equationOfState/perfectGas/perfectGasI.H
@@ -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
 {
diff --git a/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H b/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H
index 98f25471239..5c654d000d4 100644
--- a/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H
+++ b/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConst.H
@@ -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;
 
diff --git a/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConstI.H b/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConstI.H
index 600b6687944..09f884b8b7b 100644
--- a/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConstI.H
+++ b/src/thermophysicalModels/specie/equationOfState/rhoConst/rhoConstI.H
@@ -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
 {
diff --git a/src/thermophysicalModels/specie/thermo/eConst/eConstThermoI.H b/src/thermophysicalModels/specie/thermo/eConst/eConstThermoI.H
index f16ca49759f..2c6bda1a697 100644
--- a/src/thermophysicalModels/specie/thermo/eConst/eConstThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/eConst/eConstThermoI.H
@@ -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);
 }
 
 
diff --git a/src/thermophysicalModels/specie/thermo/hConst/hConstThermoI.H b/src/thermophysicalModels/specie/thermo/hConst/hConstThermoI.H
index 7ca5b480444..1367c7c426c 100644
--- a/src/thermophysicalModels/specie/thermo/hConst/hConstThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/hConst/hConstThermoI.H
@@ -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);
 }
 
 
diff --git a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermoI.H b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermoI.H
index 4e8c91f6887..7cef8ce2b53 100644
--- a/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/hPolynomial/hPolynomialThermoI.H
@@ -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);
 }
 
 
diff --git a/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H b/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
index 8f4094d975c..c9114a1dd81 100644
--- a/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/hPower/hPowerThermoI.H
@@ -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);
 }
 
 
diff --git a/src/thermophysicalModels/specie/thermo/hRefConst/hRefConstThermoI.H b/src/thermophysicalModels/specie/thermo/hRefConst/hRefConstThermoI.H
index b25d5f0f737..29bd2c97530 100644
--- a/src/thermophysicalModels/specie/thermo/hRefConst/hRefConstThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/hRefConst/hRefConstThermoI.H
@@ -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);
 }
 
 
diff --git a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
index 18f9d7cc735..256859ef9c7 100644
--- a/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
+++ b/src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
@@ -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);
 }
 
 
-- 
GitLab