[Thermo] ThermoPhase::modifyOneHf298SS always invalidates cached data

This commit is contained in:
Ray Speth 2016-04-18 22:20:06 -04:00
parent 3566542c0b
commit 51b0e46277
6 changed files with 20 additions and 4 deletions

View file

@ -551,6 +551,8 @@ protected:
};
protected:
virtual void invalidateCache();
//! Current value of the pressure
/*!
* Because the pressure is now a calculation, we store the result of the

View file

@ -175,7 +175,7 @@ public:
*/
virtual void modifyOneHf298SS(const size_t k, const doublereal Hf298New) {
m_spthermo->modifyOneHf298(k, Hf298New);
m_tlast += 0.0001234;
invalidateCache();
}
//! Maximum temperature for which the thermodynamic data for the species

View file

@ -274,6 +274,8 @@ public:
const PDSS* providePDSS(size_t k) const;
protected:
virtual void invalidateCache();
//! Current value of the pressure - state variable
/*!
* Because we are now using the pressure as a state variable, we need to

View file

@ -455,7 +455,7 @@ void LatticeSolidPhase::modifyOneHf298SS(const size_t k, const doublereal Hf298N
l_spthermo.modifyOneHf298(kk, Hf298New);
}
}
m_tlast += 0.0001234;
invalidateCache();
_updateThermo();
}

View file

@ -114,7 +114,7 @@ void MixtureFugacityTP::getEnthalpy_RT(doublereal* hrt) const
void MixtureFugacityTP::modifyOneHf298SS(const size_t k, const doublereal Hf298New)
{
m_spthermo->modifyOneHf298(k, Hf298New);
m_Tlast_ref += 0.0001234;
invalidateCache();
}
void MixtureFugacityTP::getEntropy_R(doublereal* sr) const
@ -878,4 +878,10 @@ void MixtureFugacityTP::_updateReferenceStateThermo() const
}
}
void MixtureFugacityTP::invalidateCache()
{
ThermoPhase::invalidateCache();
m_Tlast_ref += 0.001234;
}
}

View file

@ -132,7 +132,7 @@ void VPStandardStateTP::getEnthalpy_RT(doublereal* hrt) const
void VPStandardStateTP::modifyOneHf298SS(const size_t k, const doublereal Hf298New)
{
m_spthermo->modifyOneHf298(k, Hf298New);
m_Tlast_ss += 0.0001234;
invalidateCache();
}
void VPStandardStateTP::getEntropy_R(doublereal* srt) const
@ -302,6 +302,12 @@ const PDSS* VPStandardStateTP::providePDSS(size_t k) const
return m_PDSS_storage[k];
}
void VPStandardStateTP::invalidateCache()
{
ThermoPhase::invalidateCache();
m_Tlast_ss += 0.0001234;
}
void VPStandardStateTP::initThermoXML(XML_Node& phaseNode, const std::string& id)
{
for (size_t k = 0; k < m_kk; k++) {