Non-parabolic dispersion relation proposed by the Modena group (spherically symmetric). More...
#include <dispersion.hpp>
Public Member Functions | |
modena_dispersion (viennashe::carrier_type_id ctype, double a=0.5/viennashe::physics::constants::q) | |
double | norm_k (double energy, double theta=0, double phi=0) const |
Returns the norm of the k-vector as a function of energy (and angles, eventually). Not possible for all dispersion relations. More... | |
double | density_of_states (double eps, double theta=0, double phi=0) const |
Generalized density of states. More... | |
double | velocity (double eps, double theta=0, double phi=0) const |
Carrier group velocity. More... | |
dispersion_base * | clone () const |
Clones the dispersion relation. User must ensure that the returned copy is deleted. More... | |
double | symmetry_factor () const |
Returns the number of symmetric bands in k-space. More... | |
Public Member Functions inherited from viennashe::physics::dispersion_base | |
virtual double | density_of_states (double ekin, double theta=0, double phi=0) const =0 |
Returns the density of states as a function of kinetic energy (and angles, eventually) More... | |
virtual double | velocity (double ekin, double theta=0, double phi=0) const =0 |
Returns the group velocity as a function of kinetic energy (and angles, eventually) More... | |
virtual double | norm_k (double ekin, double theta=0, double phi=0) const =0 |
Returns the norm of the k-vector as a function of energy (and angles, eventually). Not possible for all dispersion relations. More... | |
virtual bool | is_isotropic () const |
Returns true if the dispersion relation is isotropic. More... | |
virtual dispersion_base * | clone () const =0 |
Clones the dispersion relation. User must ensure that the returned copy is deleted. More... | |
virtual double | symmetry_factor () const =0 |
virtual | ~dispersion_base () |
Non-parabolic dispersion relation proposed by the Modena group (spherically symmetric).
eps * (1 + alpha * eps) = hbar^2 * k^2 / (2 * m)
MaterialType | A class for the material |
Definition at line 207 of file dispersion.hpp.
|
inline |
Definition at line 210 of file dispersion.hpp.
|
inlinevirtual |
Clones the dispersion relation. User must ensure that the returned copy is deleted.
Implements viennashe::physics::dispersion_base.
Definition at line 273 of file dispersion.hpp.
|
inlinevirtual |
Generalized density of states.
Since other models may allow for an additional angular dependency, the expression differs by a factor of 4*PI from the conventional expression (4*PI is just the area of the unit sphere)
eps | The energy (relative to the band edge) for which the generalized DOS should be evaluated |
theta | Inclination |
phi | Azimuth |
Implements viennashe::physics::dispersion_base.
Definition at line 233 of file dispersion.hpp.
|
inlinevirtual |
Returns the norm of the k-vector as a function of energy (and angles, eventually). Not possible for all dispersion relations.
Implements viennashe::physics::dispersion_base.
Definition at line 214 of file dispersion.hpp.
|
inlinevirtual |
Returns the number of symmetric bands in k-space.
Implements viennashe::physics::dispersion_base.
Definition at line 276 of file dispersion.hpp.
|
inlinevirtual |
Carrier group velocity.
eps | The energy (relative to the band edge) for which the velocity should be evaluated |
theta | Inclination |
phi | Azimuth |
Implements viennashe::physics::dispersion_base.
Definition at line 257 of file dispersion.hpp.