コード例 #1
0
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()));
}
コード例 #2
0
void ThermoPhase::getActivities(doublereal* a) const
{
    getActivityConcentrations(a);
    for (size_t k = 0; k < nSpecies(); k++) {
        a[k] /= standardConcentration(k);
    }
}
コード例 #3
0
ファイル: SurfPhase.cpp プロジェクト: anujg1991/cantera
  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));
    } 
  }
コード例 #4
0
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()));
}