12 static doublereal JoyceDixon(doublereal r)
14 return log(r) + 1.0/sqrt(8.0)*r - (3.0/16.0 - sqrt(3.0)/9.0)*r*r;
17 SemiconductorPhase::SemiconductorPhase(std::string infile,
20 "To be removed after Cantera 2.3.");
23 void SemiconductorPhase::getChemPotentials(doublereal* mu)
const 25 getActivityConcentrations(m_work.data());
26 mu[0] = ec() + RT()*(JoyceDixon(m_work[0]/nc()));
27 mu[1] = ev() + RT()*(log(m_work[1]/nv()));
31 doublereal SemiconductorPhase::nc()
const 33 doublereal fctr = effectiveMass_e() *
Boltzmann * temperature()/
34 (2.0*
Pi*Planck_bar*Planck_bar);
38 doublereal SemiconductorPhase::nv()
const 40 doublereal fctr = effectiveMass_h() *
Boltzmann * temperature()/
41 (2.0*
Pi*Planck_bar*Planck_bar);
45 doublereal SemiconductorPhase::ev()
const 50 doublereal SemiconductorPhase::ec()
const 52 return ev() + bandgap();
56 void SemiconductorPhase::initLengths()
58 m_work.resize(nSpecies());
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
const doublereal Avogadro
Avogadro's Number [number/kmol].
Namespace for the Cantera kernel.
const doublereal Boltzmann
Boltzmann's constant [J/K].