Trapped charge scattering process. More...
#include <trapped_charge_scattering.hpp>
Public Types | |
typedef base_type::scatter_processes_type | scatter_processes_type |
typedef scatter_processes_type | value_type |
Public Types inherited from viennashe::she::scattering_base< DeviceType > | |
typedef std::vector< scatter_process_descriptor > | scatter_processes_type |
typedef scatter_processes_type | value_type |
Public Member Functions | |
trapped_charge_scattering (DeviceType const &device, viennashe::config const &conf, TimeStepQuantitiesT const &quantities) | |
scatter_processes_type | operator() (CellType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const |
scatter_processes_type | operator() (FacetType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const |
scatter_process_id | id () const |
Public Member Functions inherited from viennashe::she::scattering_base< DeviceType > | |
scattering_base (DeviceType const &device, viennashe::config const &conf) | |
virtual | ~scattering_base () |
virtual scatter_processes_type | operator() (FacetType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const =0 |
virtual scatter_processes_type | operator() (CellType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const =0 |
virtual scatter_process_id | id () const =0 |
Protected Member Functions | |
template<typename ElementType > | |
scatter_processes_type | get (ElementType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const |
Returns all possible final scattering states for a carrier with initial kinetic energy 'kin_energy' for an edge with vertices v1 and v2. More... | |
template<typename ElementType > | |
double | getScatteringRate (ElementType const &elem, double kinetic_energy, viennashe::carrier_type_id ctype) const |
double | get_charged_trap_density (CellType const &cell, viennashe::carrier_type_id) const |
double | get_charged_trap_density (FacetType const &facet, viennashe::carrier_type_id ctype) const |
double | get_scattering_rate (double NI, double kinetic_energy, double T, viennashe::carrier_type_id ctype) const |
Additional Inherited Members | |
Protected Types inherited from viennashe::she::scattering_base< DeviceType > | |
typedef DeviceType::mesh_type | MeshType |
typedef viennagrid::result_of::point< MeshType >::type | PointType |
typedef viennagrid::result_of::vertex< MeshType >::type | VertexType |
typedef viennagrid::result_of::facet< MeshType >::type | FacetType |
typedef viennagrid::result_of::cell< MeshType >::type | CellType |
Protected Attributes inherited from viennashe::she::scattering_base< DeviceType > | |
DeviceType const & | device_ |
viennashe::config const & | conf_ |
Trapped charge scattering process.
Definition at line 52 of file trapped_charge_scattering.hpp.
typedef base_type::scatter_processes_type viennashe::she::trapped_charge_scattering< DeviceType, TimeStepQuantitiesT >::scatter_processes_type |
Definition at line 59 of file trapped_charge_scattering.hpp.
typedef scatter_processes_type viennashe::she::trapped_charge_scattering< DeviceType, TimeStepQuantitiesT >::value_type |
Definition at line 60 of file trapped_charge_scattering.hpp.
|
inlineexplicit |
Definition at line 62 of file trapped_charge_scattering.hpp.
|
inlineprotected |
Returns all possible final scattering states for a carrier with initial kinetic energy 'kin_energy' for an edge with vertices v1 and v2.
elem | The element for which to obtain the scattering process |
kinetic_energy | Kinetic energy of the particle before scattering |
ctype | Carrier type, either electrons or holes |
Definition at line 95 of file trapped_charge_scattering.hpp.
|
inlineprotected |
Definition at line 128 of file trapped_charge_scattering.hpp.
|
inlineprotected |
Definition at line 157 of file trapped_charge_scattering.hpp.
|
inlineprotected |
Definition at line 175 of file trapped_charge_scattering.hpp.
|
inlineprotected |
Definition at line 111 of file trapped_charge_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 82 of file trapped_charge_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 68 of file trapped_charge_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 75 of file trapped_charge_scattering.hpp.