Disallow setting negative temperature or density

This commit is contained in:
Ray Speth 2012-08-11 23:58:29 +00:00
parent 8a3bb109d6
commit 1becffecb0
2 changed files with 10 additions and 2 deletions

View file

@ -543,6 +543,10 @@ public:
//! Note the density of a phase is an independent variable.
//! @param[in] density density (kg/m^3).
virtual void setDensity(const doublereal density) {
if (density <= 0) {
throw CanteraError("Phase::setDensity",
"density must be positive");
}
m_dens = density;
}
@ -553,6 +557,10 @@ public:
//! Set the internally stored temperature of the phase (K).
//! @param temp Temperature in Kelvin
virtual void setTemperature(const doublereal temp) {
if (temp <= 0) {
throw CanteraError("Phase::setTemperature",
"temperature must be positive");
}
m_temp = temp;
}
//@}

View file

@ -21,7 +21,7 @@ Phase::Phase() :
m_xml(new XML_Node("phase")),
m_id("<phase>"),
m_name(""),
m_temp(0.0),
m_temp(0.001),
m_dens(0.001),
m_mmw(0.0),
m_stateNum(-1),
@ -38,7 +38,7 @@ Phase::Phase(const Phase& right) :
m_xml(0),
m_id("<phase>"),
m_name(""),
m_temp(0.0),
m_temp(0.001),
m_dens(0.001),
m_mmw(0.0),
m_stateNum(-1),