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;
52 double m_eMobility = 8.0e-6;
53 double m_hMobility = 0.4e-6;
55 double m_eSatVel = 7.7e-3;
56 double m_hSatVel = 7.7e-3;
58 double m_eHallFactor = 1.05;
59 double m_hHallFactor = 1.25;
61 double m_eImpactA = 1.889e5;
62 double m_hImpactA = 2.215e5;
63 double m_eImpactB = 5.75e5;
64 double m_hImpactB = 6.57e5;
66 bool m_userMobility =
false;
67 void UpdateTransportParameters();
void UnsetLowFieldMobility()
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 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].
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].
virtual ~MediumGaAs()
Destructor.
bool IsSemiconductor() const override
Is this medium a semiconductor?
double ElectronMobility() override
Low-field mobility [cm2 V-1 ns-1].
double HoleMobility() override
Low-field mobility [cm2 V-1 ns-1].
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].
void GetComponent(const unsigned int i, std::string &label, double &f) override
Get the name and fraction of a given component.
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].
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 SetLowFieldMobility(const double mue, const double muh)
Abstract base class for media.