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.