diff --git a/src/thermo/PDSS_Water.cpp b/src/thermo/PDSS_Water.cpp index b46d43053..f8eaf1fa8 100644 --- a/src/thermo/PDSS_Water.cpp +++ b/src/thermo/PDSS_Water.cpp @@ -142,7 +142,7 @@ doublereal PDSS_Water::molarVolume() const doublereal PDSS_Water::gibbs_RT_ref() const { doublereal T = m_temp; - m_sub.density(T, m_p0); + m_sub.density(T, m_p0, m_iState); doublereal h = m_sub.enthalpy(); m_sub.setState_TR(m_temp, m_dens); return (h + EW_Offset - SW_Offset*T)/(T * GasConstant); @@ -151,7 +151,7 @@ doublereal PDSS_Water::gibbs_RT_ref() const doublereal PDSS_Water::enthalpy_RT_ref() const { doublereal T = m_temp; - m_sub.density(T, m_p0); + m_sub.density(T, m_p0, m_iState); doublereal h = m_sub.enthalpy(); m_sub.setState_TR(m_temp, m_dens); return (h + EW_Offset)/(T * GasConstant); @@ -160,7 +160,7 @@ doublereal PDSS_Water::enthalpy_RT_ref() const doublereal PDSS_Water::entropy_R_ref() const { doublereal T = m_temp; - m_sub.density(T, m_p0); + m_sub.density(T, m_p0, m_iState); doublereal s = m_sub.entropy(); m_sub.setState_TR(m_temp, m_dens); return (s + SW_Offset)/GasConstant; @@ -169,7 +169,7 @@ doublereal PDSS_Water::entropy_R_ref() const doublereal PDSS_Water::cp_R_ref() const { doublereal T = m_temp; - m_sub.density(T, m_p0); + m_sub.density(T, m_p0, m_iState); doublereal cp = m_sub.cp(); m_sub.setState_TR(m_temp, m_dens); return cp/GasConstant; @@ -178,7 +178,7 @@ doublereal PDSS_Water::cp_R_ref() const doublereal PDSS_Water::molarVolume_ref() const { doublereal T = m_temp; - m_sub.density(T, m_p0); + m_sub.density(T, m_p0, m_iState); doublereal mv = m_sub.molarVolume(); m_sub.setState_TR(m_temp, m_dens); return mv; diff --git a/test/thermo/standardStateManagers.cpp b/test/thermo/standardStateManagers.cpp index 754539f8c..27fbe4873 100644 --- a/test/thermo/standardStateManagers.cpp +++ b/test/thermo/standardStateManagers.cpp @@ -54,6 +54,12 @@ TEST(HMW, VPSSMgrGeneral_vs_VPSSMgrWater_ConstVol) EXPECT_NEAR(v1[i], v2[i], 1e-10) << p1.speciesName(i); } + p1.getGibbs_ref(v1.data()); + p2.getGibbs_ref(v2.data()); + for (size_t i = 0; i < n; i++) { + EXPECT_NEAR(v1[i], v2[i], 1e-4) << p1.speciesName(i); + } + EXPECT_NEAR(p1.entropy_mole(), p2.entropy_mole(), 1e-7); EXPECT_NEAR(p1.enthalpy_mole(), p2.enthalpy_mole(), 1e-4); }