7 #ifndef CT_SEMICONDPHASE_H
8 #define CT_SEMICONDPHASE_H
17 const int cElectron = 0;
36 *
this = operator=(right);
42 m_press = right.m_press;
58 return cSemiconductor;
71 eosdata.
_require(
"model",
"Semiconductor");
78 doublereal n_donor =
ctml::getFloat(eosdata,
"donor_concentration",
"-");
79 doublereal e_acceptor =
ctml::getFloat(eosdata,
"acceptor_energy",
"-");
80 doublereal n_acceptor =
ctml::getFloat(eosdata,
"acceptor_concentration",
"-");
81 setEffectiveMasses(e_mass, h_mass);
82 setDonorDoping(n_donor, e_donor);
83 setAcceptorDoping(n_acceptor, e_acceptor);
87 void setEffectiveMasses(doublereal e_mass, doublereal h_mass) {
92 void setDonorDoping(doublereal n_donor, doublereal e_donor) {
97 void setAcceptorDoping(doublereal n_acceptor, doublereal e_acceptor) {
98 m_nacceptor = n_acceptor;
99 m_eacceptor = e_acceptor;
102 doublereal effectiveMass_e()
const {
106 doublereal effectiveMass_h()
const {
110 doublereal fermiLevel()
const {
111 return m_fermi_level;
115 doublereal nc()
const;
116 doublereal nv()
const;
117 doublereal
ec()
const;
118 doublereal ev()
const;
119 doublereal bandgap()
const {
131 doublereal m_nacceptor;
132 doublereal m_eacceptor;
133 doublereal m_fermi_level;
134 doublereal m_bandgap;