Surface scattering process. More...
#include <surface_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 | |
surface_scattering (DeviceType const &device, viennashe::config const &conf, ElectricFieldAccessor const &Efield) | |
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_electric_field_n (CellType const &) const |
double | get_electric_field_n (FacetType const &) const |
double | getScatteringRate (const double T, const double totaldoping, const double Ep, 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_ |
Surface scattering process.
Calculates surface scattering based on an estimate of the wave-function of the carriers using the electric field
Definition at line 50 of file surface_scattering.hpp.
typedef base_type::scatter_processes_type viennashe::she::surface_scattering< DeviceType, ElectricFieldAccessor >::scatter_processes_type |
Definition at line 57 of file surface_scattering.hpp.
typedef scatter_processes_type viennashe::she::surface_scattering< DeviceType, ElectricFieldAccessor >::value_type |
Definition at line 58 of file surface_scattering.hpp.
|
inlineexplicit |
Definition at line 60 of file surface_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 92 of file surface_scattering.hpp.
|
inlineprotected |
Definition at line 126 of file surface_scattering.hpp.
|
inlineprotected |
Definition at line 147 of file surface_scattering.hpp.
|
inlineprotected |
Definition at line 172 of file surface_scattering.hpp.
|
inlineprotected |
Definition at line 108 of file surface_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 79 of file surface_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 65 of file surface_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 72 of file surface_scattering.hpp.