19 void GetComponent(
const unsigned int i, std::string& label,
24 const double bx,
const double by,
const double bz,
25 double& vx,
double& vy,
double& vz)
override;
27 const double bx,
const double by,
const double bz,
28 double& alpha)
override;
30 const double bx,
const double by,
const double bz,
31 double& eta)
override;
34 bool HoleVelocity(
const double ex,
const double ey,
const double ez,
35 const double bx,
const double by,
const double bz,
36 double& vx,
double& vy,
double& vz)
override;
37 bool HoleTownsend(
const double ex,
const double ey,
const double ez,
38 const double bx,
const double by,
const double bz,
39 double& alpha)
override;
40 bool HoleAttachment(
const double ex,
const double ey,
const double ez,
41 const double bx,
const double by,
const double bz,
42 double& eta)
override;
55 double m_eMobility = 1.405e-6;
56 double m_hMobility = 0.170e-6;
59 double m_eDensity = 7.78e16;
62 double m_eHallFactor = 1.;
63 double m_hHallFactor = 1.;
68 double m_eImpactA = 1.5e5;
69 double m_hImpactA = 6.4e5;
70 double m_eImpactB = 1.41e7;
71 double m_hImpactB = 1.46e7;
73 bool m_userMobility =
false;
74 void UpdateTransportParameters();
bool HoleVelocity(const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &vx, double &vy, double &vz) override
Drift velocity [cm / ns].
void GetComponent(const unsigned int i, std::string &label, double &f) override
Get the name and fraction of a given component.
bool IsSemiconductor() const override
Is this medium a semiconductor?
double ElectronMobility() override
Low-field mobility [cm2 V-1 ns-1].
void SetElectronConcentration(const double c)
Set the electron concentration [cm-3].
void SetLowFieldMobility(const double mue, const double muh)
Set the low-field mobility values [cm2 / (V ns)] explicitly.
virtual ~MediumGaN()
Destructor.
bool HoleTownsend(const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) override
Ionisation coefficient [cm-1].
bool ElectronTownsend(const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &alpha) override
Ionisation coefficient [cm-1].
bool HoleAttachment(const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) override
Attachment coefficient [cm-1].
void UnsetLowFieldMobility()
Use the default mobility models.
double HoleMobility() override
Low-field mobility [cm2 V-1 ns-1].
bool ElectronAttachment(const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &eta) override
Attachment coefficient [cm-1].
bool ElectronVelocity(const double ex, const double ey, const double ez, const double bx, const double by, const double bz, double &vx, double &vy, double &vz) override
Drift velocity [cm / ns].
Abstract base class for media.