void SemiconductorPhase::getChemPotentials(doublereal* mu) const { getActivityConcentrations(DATA_PTR(m_work)); doublereal r = m_work[0]/nc(); mu[0] = ec() + GasConstant*temperature()*(JoyceDixon(r)); mu[1] = ev() + GasConstant*temperature()*(log(m_work[1]/nv())); }
void ThermoPhase::getActivities(doublereal* a) const { getActivityConcentrations(a); for (size_t k = 0; k < nSpecies(); k++) { a[k] /= standardConcentration(k); } }
void SurfPhase::getChemPotentials(doublereal* mu) const { _updateThermo(); copy(m_mu0.begin(), m_mu0.end(), mu); int k; getActivityConcentrations(DATA_PTR(m_work)); for (k = 0; k < m_kk; k++) { mu[k] += GasConstant * temperature() * (log(m_work[k]) - logStandardConc(k)); } }
void SemiconductorPhase::getChemPotentials(doublereal* mu) const { getActivityConcentrations(m_work.data()); mu[0] = ec() + RT()*(JoyceDixon(m_work[0]/nc())); mu[1] = ev() + RT()*(log(m_work[1]/nv())); }