From 0950fbe256bb93298196d8d2fbc6272df34dfb96 Mon Sep 17 00:00:00 2001 From: Christopher Lueth Date: Mon, 30 Aug 2010 21:23:17 +0000 Subject: [PATCH] in gibbs() added if (moles>0) statement --- Cantera/src/equil/MultiPhase.cpp | 35 +++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/Cantera/src/equil/MultiPhase.cpp b/Cantera/src/equil/MultiPhase.cpp index be7111f2f..b1e29ace4 100644 --- a/Cantera/src/equil/MultiPhase.cpp +++ b/Cantera/src/equil/MultiPhase.cpp @@ -327,8 +327,11 @@ namespace Cantera { index_t i; doublereal sum = 0.0; updatePhases(); - for (i = 0; i < m_np; i++) - sum += m_phase[i]->gibbs_mole() * m_moles[i]; + for (i = 0; i < m_np; i++) { + if (m_moles[i] > 0.0) { + sum += m_phase[i]->gibbs_mole() * m_moles[i]; + } + } return sum; } @@ -337,8 +340,11 @@ namespace Cantera { index_t i; doublereal sum = 0.0; updatePhases(); - for (i = 0; i < m_np; i++) - sum += m_phase[i]->enthalpy_mole() * m_moles[i]; + for (i = 0; i < m_np; i++) { + if (m_moles[i] > 0.0) { + sum += m_phase[i]->enthalpy_mole() * m_moles[i]; + } + } return sum; } @@ -347,8 +353,11 @@ namespace Cantera { index_t i; doublereal sum = 0.0; updatePhases(); - for (i = 0; i < m_np; i++) - sum += m_phase[i]->intEnergy_mole() * m_moles[i]; + for (i = 0; i < m_np; i++) { + if (m_moles[i] > 0.0) { + sum += m_phase[i]->intEnergy_mole() * m_moles[i]; + } + } return sum; } @@ -357,8 +366,11 @@ namespace Cantera { index_t i; doublereal sum = 0.0; updatePhases(); - for (i = 0; i < m_np; i++) - sum += m_phase[i]->entropy_mole() * m_moles[i]; + for (i = 0; i < m_np; i++) { + if (m_moles[i] > 0.0) { + sum += m_phase[i]->entropy_mole() * m_moles[i]; + } + } return sum; } @@ -369,8 +381,11 @@ namespace Cantera { index_t i; doublereal sum = 0.0; updatePhases(); - for (i = 0; i < m_np; i++) - sum += m_phase[i]->cp_mole() * m_moles[i]; + for (i = 0; i < m_np; i++) { + if (m_moles[i] > 0.0) { + sum += m_phase[i]->cp_mole() * m_moles[i]; + } + } return sum; }