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.