Parabolic dispersion relation (spherically symmetric) More...
#include <dispersion.hpp>
Public Member Functions | |
parabolic_dispersion (viennashe::carrier_type_id ctype) | |
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 |
Total generalized density of states for one spin direction, considering six-fold symmetry. 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 () |
Parabolic dispersion relation (spherically symmetric)
eps = hbar^2 k^2 / (2 m)
MaterialType | A class for the material |
Definition at line 116 of file dispersion.hpp.
|
inline |
Definition at line 121 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 185 of file dispersion.hpp.
|
inlinevirtual |
Total generalized density of states for one spin direction, considering six-fold symmetry.
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 151 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 132 of file dispersion.hpp.
|
inlinevirtual |
Returns the number of symmetric bands in k-space.
Implements viennashe::physics::dispersion_base.
Definition at line 188 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 172 of file dispersion.hpp.