ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
viennashe::physics::ext_vecchi_dispersion< MaterialType > Class Template Reference

Non-parabolic isotropic dispersion relation proposed by Jin et al. TED 2011 (uses real DOS) More...

#include <dispersion.hpp>

Inheritance diagram for viennashe::physics::ext_vecchi_dispersion< MaterialType >:
viennashe::physics::dispersion_base

Public Member Functions

 ext_vecchi_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). 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_baseclone () 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_baseclone () 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 ()
 

Detailed Description

template<typename MaterialType>
class viennashe::physics::ext_vecchi_dispersion< MaterialType >

Non-parabolic isotropic dispersion relation proposed by Jin et al. TED 2011 (uses real DOS)

Uses the real dos for relaxed silicon (dos_RSi.hpp).

Template Parameters
MaterialTypeA class for the material

Definition at line 296 of file dispersion.hpp.

Constructor & Destructor Documentation

◆ ext_vecchi_dispersion()

template<typename MaterialType >
viennashe::physics::ext_vecchi_dispersion< MaterialType >::ext_vecchi_dispersion ( viennashe::carrier_type_id  ctype,
double  a = 0.5 / viennashe::physics::constants::q 
)
inline

Definition at line 299 of file dispersion.hpp.

Member Function Documentation

◆ clone()

template<typename MaterialType >
dispersion_base * viennashe::physics::ext_vecchi_dispersion< MaterialType >::clone ( ) const
inlinevirtual

Clones the dispersion relation. User must ensure that the returned copy is deleted.

Implements viennashe::physics::dispersion_base.

Definition at line 359 of file dispersion.hpp.

◆ density_of_states()

template<typename MaterialType >
double viennashe::physics::ext_vecchi_dispersion< MaterialType >::density_of_states ( double  eps,
double  theta = 0,
double  phi = 0 
) const
inlinevirtual

Generalized density of states.

Returns the DOS for relaxed silicon calculated using pseudo potentials

Parameters
epsThe energy (relative to the band edge) for which the generalized DOS should be evaluated
thetaInclination
phiAzimuth

Implements viennashe::physics::dispersion_base.

Definition at line 327 of file dispersion.hpp.

◆ norm_k()

template<typename MaterialType >
double viennashe::physics::ext_vecchi_dispersion< MaterialType >::norm_k ( double  energy,
double  theta = 0,
double  phi = 0 
) const
inlinevirtual

Returns the norm of the k-vector as a function of energy (and angles, eventually).

Uses the dispersion relation from the modena model.

Implements viennashe::physics::dispersion_base.

Definition at line 306 of file dispersion.hpp.

◆ symmetry_factor()

template<typename MaterialType >
double viennashe::physics::ext_vecchi_dispersion< MaterialType >::symmetry_factor ( ) const
inlinevirtual

Returns the number of symmetric bands in k-space.

Implements viennashe::physics::dispersion_base.

Definition at line 362 of file dispersion.hpp.

◆ velocity()

template<typename MaterialType >
double viennashe::physics::ext_vecchi_dispersion< MaterialType >::velocity ( double  eps,
double  theta = 0,
double  phi = 0 
) const
inlinevirtual

Carrier group velocity.

Returns the carrier group velocity for relaxed silicon calculated using pseudo potentials

Parameters
epsThe energy (relative to the band edge) for which the velocity should be evaluated
thetaInclination
phiAzimuth

Implements viennashe::physics::dispersion_base.

Definition at line 344 of file dispersion.hpp.


The documentation for this class was generated from the following file: