30 #include <Xyce_config.h>
119 template <
typename ScalarT> ScalarT
Xycemax ( ScalarT f1, ScalarT f2) {
return f1 > f2 ? f1 : f2; }
120 template <
typename ScalarT> ScalarT
Xycemin ( ScalarT f1, ScalarT f2) {
return f1 < f2 ? f1 : f2; }
132 double donor,
double acceptor)
134 material(materialName),
135 materialGiven(false),
157 CacceptorGiven(true),
201 gradedLayerWidth(0.0),
202 gradedLayerWidthGiven(false),
204 electronThermalV(2.3e7),
205 electronThermalVGiven(false),
207 holeThermalVGiven(false),
208 latticeConstant(4.25e-7),
209 latticeConstantGiven(false),
210 defectReactionRadius(4.25e-7),
211 defectReactionRadiusGiven(false)
261 if (tmpMat ==
"GAAS")
283 else if(tmpMat ==
"INGAP")
298 else if(tmpMat ==
"ALGAAS")
313 else if (tmpMat ==
"INALAS")
328 else if (tmpMat ==
"INGAAS")
343 else if (tmpMat ==
"INGAAP")
358 else if (tmpMat ==
"INT")
373 else if(tmpMat ==
"SI")
437 os <<
" Material Layer Data: name = " << ml.
name ;
438 os <<
" material = " << ml.
material;
440 os <<
" NX = " << ml.
NX<<std::endl;
441 os <<
" LX = " << ml.
LX<<std::endl;
442 os <<
" begin = " << ml.
begin<<std::endl;
443 os <<
" end = " << ml.
end<<std::endl;
444 os <<
" diel = " << ml.
diel<<std::endl;
445 os <<
" Ec = " << ml.
Ec<<std::endl;
446 os <<
" Ev = " << ml.
Ev<<std::endl;
447 os <<
" Cdonor = " << ml.
Cdonor<<std::endl;
448 os <<
" Cacceptor = " << ml.
Cacceptor<<std::endl;
449 os <<
" narco = " << ml.
narco<<std::endl;
450 os <<
" narva = " << ml.
narva<<std::endl;
451 os <<
" dnco = " << ml.
dnco<<std::endl;
452 os <<
" dnva = " << ml.
dnva<<std::endl;
453 os <<
" Nc = " << ml.
Nc<<std::endl;
454 os <<
" Nv = " << ml.
Nv<<std::endl;
455 os <<
" emass = " << ml.
emass<<std::endl;
456 os <<
" hmass = " << ml.
hmass<<std::endl;
457 os <<
" elmob0 = " << ml.
elmob0<<std::endl;
458 os <<
" elvsat = " << ml.
elvsat<<std::endl;
459 os <<
" eleo = " << ml.
eleo<<std::endl;
460 os <<
" homob0 = " << ml.
homob0<<std::endl;
461 os <<
" hovsat = " << ml.
hovsat<<std::endl;
462 os <<
" dir = " << ml.
dir<<std::endl;
463 os <<
" augnpp = " << ml.
augnpp<<std::endl;
464 os <<
" srh = " << ml.
srh<<std::endl;
465 os <<
" Ni = " << ml.
Ni<<std::endl;
466 os <<
" width = " << ml.
width<<std::endl;
468 os <<
" temperature = " << ml.
temperature<<std::endl;
bool electronThermalVGiven
static ParametricData< MaterialLayer > & getParametricData()
bool gradedLayerWidthGiven
double get_DOS_EffectiveMassP(const std::string &material)
Pure virtual class to augment a linear system.
ScalarT Xycemin(ScalarT f1, ScalarT f2)
double getNc(const std::string &material, double temp)
double bandgap(const std::string &material, double temp)
MaterialLayer(std::string materialName=std::string("gaas"), double donor=0.0, double acceptor=5.00E+19)
bool defectReactionRadiusGiven
ScalarT Xycemax(ScalarT f1, ScalarT f2)
void processParams()
processParams post processes the parameters that have been set in the object of the derived class...
double affin(const std::string &material)
ParametricData()
Constructs the parameter data map.
double getNv(const std::string &material, double temp)
Manages parameter binding for class C.
double defectReactionRadius
double get_DOS_EffectiveMassN(const std::string &material)
bool latticeConstantGiven
CompositeParam is the base class for classes that wish to only manage the processing of parameter dat...
std::ostream & operator<<(std::ostream &os, const Configuration &configuration)