Optical phonon scattering process. More...
#include <optical_phonon_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 | |
optical_phonon_scattering (DeviceType const &device, viennashe::config const &conf, double energy_grid_spacing=0) | |
Constructs the optical phonon scattering object. Takes the phonon energy as parameter. More... | |
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 |
double | energy () const |
Inelastic energy that is either gained or lost at scattering. More... | |
void | energy (double energy) |
Modifies/Sets the inelastic scattering energy lost or gained. More... | |
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 |
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_ |
Optical phonon scattering process.
This class provides the parameters for inelastic optical phonon scattering. Parameters are a mess at the moment.
Definition at line 45 of file optical_phonon_scattering.hpp.
typedef base_type::scatter_processes_type viennashe::she::optical_phonon_scattering< DeviceType >::scatter_processes_type |
Definition at line 52 of file optical_phonon_scattering.hpp.
typedef scatter_processes_type viennashe::she::optical_phonon_scattering< DeviceType >::value_type |
Definition at line 53 of file optical_phonon_scattering.hpp.
|
inline |
Constructs the optical phonon scattering object. Takes the phonon energy as parameter.
device | The device |
conf | The simulator configuration |
energy_grid_spacing | Spacing of the energy grid in order to map phonon energy suitably |
Definition at line 62 of file optical_phonon_scattering.hpp.
|
inline |
Inelastic energy that is either gained or lost at scattering.
Definition at line 101 of file optical_phonon_scattering.hpp.
|
inline |
Modifies/Sets the inelastic scattering energy lost or gained.
Energy is such that initial and final energies lie on grid nodes.
Definition at line 107 of file optical_phonon_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 109 of file optical_phonon_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 83 of file optical_phonon_scattering.hpp.
|
inlinevirtual |
Implements viennashe::she::scattering_base< DeviceType >.
Definition at line 90 of file optical_phonon_scattering.hpp.