[Thermo] Use min/max temperatures from equation of state

The values in the liquidvapor.cti should be ignored, since this thermo data is
not actually applicable -- it is just used to set the reference state.
This commit is contained in:
Ray Speth 2017-12-02 16:06:19 -05:00
parent 501b5fd1f5
commit 2ac8a0ef08
3 changed files with 18 additions and 0 deletions

View file

@ -43,6 +43,9 @@ public:
m_tpx_name = name;
}
virtual double minTemp(size_t k=npos) const;
virtual double maxTemp(size_t k=npos) const;
virtual doublereal enthalpy_mole() const;
virtual doublereal intEnergy_mole() const;
virtual doublereal entropy_mole() const;

View file

@ -17,6 +17,11 @@ class TestPureFluid(utilities.CanteraTest):
self.assertNear(self.water.critical_temperature, 647.286)
self.assertNear(self.water.critical_density, 317.0)
def test_temperature_limits(self):
co2 = ct.CarbonDioxide()
self.assertNear(co2.min_temp, 216.54)
self.assertNear(co2.max_temp, 1500.0)
def test_set_state(self):
self.water.PX = 101325, 0.5
self.assertNear(self.water.P, 101325)

View file

@ -73,6 +73,16 @@ void PureFluidPhase::setParametersFromXML(const XML_Node& eosdata)
}
}
double PureFluidPhase::minTemp(size_t k) const
{
return m_sub->Tmin();
}
double PureFluidPhase::maxTemp(size_t k) const
{
return m_sub->Tmax();
}
doublereal PureFluidPhase::enthalpy_mole() const
{
setTPXState();