*** empty log message ***

This commit is contained in:
Dave Goodwin 2007-11-27 13:26:07 +00:00
parent aba8abdfa6
commit 670502b8c2
3 changed files with 153 additions and 1081 deletions

View file

@ -1448,7 +1448,47 @@ class metal(phase):
t = ph.addChild('transport')
t['model'] = self._tr
k = ph.addChild("kinetics")
k['model'] = 'none'
k['model'] = 'none'
class semiconductor(phase):
"""A semiconductor."""
def __init__(self,
name = '',
elements = '',
species = '',
density = -1.0,
bandgap = 1.0 * eV,
effectiveMass_e = 1.0 * ElectronMass,
effectiveMass_h = 1.0 * ElectronMass,
transport = 'None',
initial_state = None,
options = []):
phase.__init__(self, name, 3, elements, species, 'none',
initial_state, options)
self._dens = density
self._pure = 0
self._tr = transport
self._emass = effectiveMass_e
self._hmass = effectiveMass_h
self._bandgap = bandgap
def conc_dim(self):
return (1,-3)
def build(self, p):
ph = phase.build(self, p)
e = ph.addChild("thermo")
e['model'] = 'Semiconductor'
addFloat(e, 'density', self._dens, defunits = _umass+'/'+_ulen+'3')
addFloat(e, 'effectiveMass_e', self._emass, defunits = _umass)
addFloat(e, 'effectiveMass_h', self._hmass, defunits = _umass)
addFloat(e, 'bandgap', self._bandgap, defunits = 'eV')
if self._tr:
t = ph.addChild('transport')
t['model'] = self._tr
k = ph.addChild("kinetics")
k['model'] = 'none'
class incompressible_solid(phase):

View file

@ -10,6 +10,11 @@ namespace Cantera {
return log(r) + JD_const1*r - JD_const2*r*r;
}
SemiconductorPhase::SemiconductorPhase(std::string infile,
std::string id) {}
// doublereal SemiconductorPhase::ionizedDonorConcentration() {
// return 1.0/(1.0 + 2.0*exp( fermiLevel() - m_edonor));
//}
@ -47,14 +52,15 @@ namespace Cantera {
return 0.0;
}
/**
* Energy at the top of the conduction band. By default, energies
* are referenced to this energy, and so this function simply
* returns zero.
*/
doublereal SemiconductorPhase::ec() const {
return ev() + bandgap();
}
doublereal SemiconductorPhase::bandgap() const {
return m_gap;
}
// private
void SemiconductorPhase::initLengths() {

File diff suppressed because it is too large Load diff