void RedlichKisterVPSSTP::getPartialMolarEntropies(doublereal* sbar) const { /* * Get the nondimensional standard state entropies */ getEntropy_R(sbar); double T = temperature(); /* * Update the activity coefficients, This also update the * internally stored molalities. */ s_update_lnActCoeff(); s_update_dlnActCoeff_dT(); for (size_t k = 0; k < m_kk; k++) { double xx = std::max(moleFractions_[k], SmallNumber); sbar[k] += - lnActCoeff_Scaled_[k] -log(xx) - T * dlnActCoeffdT_Scaled_[k]; } /* * dimensionalize it. */ for (size_t k = 0; k < m_kk; k++) { sbar[k] *= GasConstant; } }
void IdealMolalSoln::getPartialMolarEntropies(doublereal* sbar) const { getEntropy_R(sbar); calcMolalities(); if (IMS_typeCutoff_ == 0) { for (size_t k = 1; k < m_kk; k++) { doublereal mm = std::max(SmallNumber, m_molalities[k]); sbar[k] -= GasConstant * log(mm); } double xmolSolvent = moleFraction(0); sbar[0] -= (GasConstant * (xmolSolvent - 1.0) / xmolSolvent); } else { // Update the activity coefficients, This also update the internally // stored molalities. s_updateIMS_lnMolalityActCoeff(); // First we will add in the obvious dependence on the T term out front // of the log activity term doublereal mm; for (size_t k = 1; k < m_kk; k++) { mm = std::max(SmallNumber, m_molalities[k]); sbar[k] -= GasConstant * (log(mm) + IMS_lnActCoeffMolal_[k]); } double xmolSolvent = moleFraction(0); mm = std::max(SmallNumber, xmolSolvent); sbar[0] -= GasConstant *(log(mm) + IMS_lnActCoeffMolal_[0]); } }
void SurfPhase::getPartialMolarEntropies(doublereal* sbar) const { getEntropy_R(sbar); for (size_t k = 0; k < m_kk; k++) { sbar[k] *= GasConstant; } }
void IdealSolnGasVPSS::getPartialMolarEntropies(doublereal* sbar) const { getEntropy_R(sbar); doublereal r = GasConstant; scale(sbar, sbar+m_kk, sbar, r); for (int k = 0; k < m_kk; k++) { doublereal xx = fmaxx(SmallNumber, moleFraction(k)); sbar[k] += r * ( - log(xx)); } }
void SingleSpeciesTP::getPartialMolarEntropies(doublereal* sbar) const { getEntropy_R(sbar); sbar[0] *= GasConstant; }
void SurfPhase::getEntropy_R_ref(doublereal* sr) const { getEntropy_R(sr); }