specieThermo: Add guard in K(T) to protect against 0 moles in composition

This commit is contained in:
Henry
2012-10-04 18:10:26 +01:00
parent e9e09f11dc
commit c6eea6990f

View File

@ -298,16 +298,23 @@ template<class Thermo, template<class> class Type>
inline Foam::scalar inline Foam::scalar
Foam::species::thermo<Thermo, Type>::K(const scalar p, const scalar T) const Foam::species::thermo<Thermo, Type>::K(const scalar p, const scalar T) const
{ {
if (equal(this->nMoles(), SMALL))
{
return 1.0;
}
else
{
scalar arg = -this->nMoles()*this->g(p, T)/(this->RR*T); scalar arg = -this->nMoles()*this->g(p, T)/(this->RR*T);
if (arg < 600.0) if (arg < 600.0)
{ {
return ::exp(arg); return exp(arg);
} }
else else
{ {
return VGREAT; return VGREAT;
} }
}
} }