void BulkKinetics::getDeltaEntropy(doublereal* deltaS) { // Get the partial molar entropy of all species in the solid solution. thermo().getPartialMolarEntropies(&m_grt[0]); // Use the stoichiometric manager to find deltaS for each reaction. getReactionDelta(&m_grt[0], deltaS); }
void BulkKinetics::getDeltaGibbs(doublereal* deltaG) { // Get the chemical potentials of the species in the ideal gas solution. thermo().getChemPotentials(&m_grt[0]); // Use the stoichiometric manager to find deltaG for each reaction. getReactionDelta(&m_grt[0], deltaG); }
void BulkKinetics::getDeltaSSEnthalpy(doublereal* deltaH) { // Get the standard state enthalpies of the species. thermo().getEnthalpy_RT(&m_grt[0]); for (size_t k = 0; k < m_kk; k++) { m_grt[k] *= thermo().RT(); } // Use the stoichiometric manager to find deltaH for each reaction. getReactionDelta(&m_grt[0], deltaH); }
void BulkKinetics::getDeltaSSGibbs(doublereal* deltaG) { // Get the standard state chemical potentials of the species. This is the // array of chemical potentials at unit activity. We define these here as // the chemical potentials of the pure species at the temperature and // pressure of the solution. thermo().getStandardChemPotentials(&m_grt[0]); // Use the stoichiometric manager to find deltaG for each reaction. getReactionDelta(&m_grt[0], deltaG); }
void BulkKinetics::getDeltaSSEntropy(doublereal* deltaS) { // Get the standard state entropy of the species. We define these here as // the entropies of the pure species at the temperature and pressure of the // solution. thermo().getEntropy_R(&m_grt[0]); for (size_t k = 0; k < m_kk; k++) { m_grt[k] *= GasConstant; } // Use the stoichiometric manager to find deltaS for each reaction. getReactionDelta(&m_grt[0], deltaS); }
void GasKinetics::getEquilibriumConstants(doublereal* kc) { update_rates_T(); thermo().getStandardChemPotentials(&m_grt[0]); fill(m_rkcn.begin(), m_rkcn.end(), 0.0); // compute Delta G^0 for all reactions getReactionDelta(&m_grt[0], &m_rkcn[0]); doublereal rrt = 1.0/(GasConstant * thermo().temperature()); for (size_t i = 0; i < nReactions(); i++) { kc[i] = exp(-m_rkcn[i]*rrt + m_dn[i]*m_logStandConc); } // force an update of T-dependent properties, so that m_rkcn will // be updated before it is used next. m_temp = 0.0; }
void AqueousKinetics::getEquilibriumConstants(doublereal* kc) { _update_rates_T(); thermo().getStandardChemPotentials(m_grt.data()); fill(m_rkcn.begin(), m_rkcn.end(), 0.0); for (size_t k = 0; k < thermo().nSpecies(); k++) { doublereal logStandConc_k = thermo().logStandardConc(k); m_grt[k] -= GasConstant * m_temp * logStandConc_k; } // compute Delta G^0 for all reactions getReactionDelta(m_grt.data(), m_rkcn.data()); doublereal rrt = 1.0 / thermo().RT(); for (size_t i = 0; i < nReactions(); i++) { kc[i] = exp(-m_rkcn[i]*rrt); } // force an update of T-dependent properties, so that m_rkcn will // be updated before it is used next. m_temp = 0.0; }