ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
viennashe::she::scattering_base< DeviceType > Class Template Referenceabstract

#include <common.hpp>

Inheritance diagram for viennashe::she::scattering_base< DeviceType >:
viennashe::she::acoustic_phonon_scattering< DeviceType > viennashe::she::fixed_charge_scattering< DeviceType > viennashe::she::impact_ionization_scattering< DeviceType > viennashe::she::ionized_impurity_scattering< DeviceType > viennashe::she::optical_phonon_scattering< DeviceType > viennashe::she::surface_scattering< DeviceType, ElectricFieldAccessor > viennashe::she::trapped_charge_scattering< DeviceType, TimeStepQuantitiesT >

Public Types

typedef std::vector< scatter_process_descriptorscatter_processes_type
 
typedef scatter_processes_type value_type
 

Public Member Functions

 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 Types

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

DeviceType const & device_
 
viennashe::config const & conf_
 

Detailed Description

template<typename DeviceType>
class viennashe::she::scattering_base< DeviceType >

Definition at line 79 of file common.hpp.

Member Typedef Documentation

◆ CellType

template<typename DeviceType >
typedef viennagrid::result_of::cell<MeshType>::type viennashe::she::scattering_base< DeviceType >::CellType
protected

Definition at line 87 of file common.hpp.

◆ FacetType

template<typename DeviceType >
typedef viennagrid::result_of::facet<MeshType>::type viennashe::she::scattering_base< DeviceType >::FacetType
protected

Definition at line 86 of file common.hpp.

◆ MeshType

template<typename DeviceType >
typedef DeviceType::mesh_type viennashe::she::scattering_base< DeviceType >::MeshType
protected

Definition at line 82 of file common.hpp.

◆ PointType

template<typename DeviceType >
typedef viennagrid::result_of::point<MeshType>::type viennashe::she::scattering_base< DeviceType >::PointType
protected

Definition at line 84 of file common.hpp.

◆ scatter_processes_type

template<typename DeviceType >
typedef std::vector<scatter_process_descriptor> viennashe::she::scattering_base< DeviceType >::scatter_processes_type

Definition at line 90 of file common.hpp.

◆ value_type

template<typename DeviceType >
typedef scatter_processes_type viennashe::she::scattering_base< DeviceType >::value_type

Definition at line 91 of file common.hpp.

◆ VertexType

template<typename DeviceType >
typedef viennagrid::result_of::vertex<MeshType>::type viennashe::she::scattering_base< DeviceType >::VertexType
protected

Definition at line 85 of file common.hpp.

Constructor & Destructor Documentation

◆ scattering_base()

template<typename DeviceType >
viennashe::she::scattering_base< DeviceType >::scattering_base ( DeviceType const &  device,
viennashe::config const &  conf 
)
inline

Definition at line 93 of file common.hpp.

◆ ~scattering_base()

template<typename DeviceType >
virtual viennashe::she::scattering_base< DeviceType >::~scattering_base ( )
inlinevirtual

Definition at line 95 of file common.hpp.

Member Function Documentation

◆ id()

◆ operator()() [1/2]

◆ operator()() [2/2]

Member Data Documentation

◆ conf_

template<typename DeviceType >
viennashe::config const& viennashe::she::scattering_base< DeviceType >::conf_
protected

Definition at line 109 of file common.hpp.

◆ device_

template<typename DeviceType >
DeviceType const& viennashe::she::scattering_base< DeviceType >::device_
protected

Definition at line 108 of file common.hpp.


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