ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT > Class Template Reference

A convenience wrapper for accessing the distribution function coefficients over the device. Even-order coefficients can be obtained from vertices, odd-order coefficients from edges. More...

#include <df_wrappers.hpp>

Public Types

typedef viennashe::config::dispersion_relation_type dispersion_relation_type
 
typedef SHEQuantityT she_quantity_type
 

Public Member Functions

 she_df_wrapper (viennashe::config const &conf, SHEQuantityT const &quan)
 Constructs the wrapper. More...
 
double operator() (CellType const &cell, double kinetic_energy, std::size_t l, long m, std::size_t index_H_guess=0) const
 Returns an even-order SHE coefficient for the respective carrier on a vertex: More...
 
double operator() (FacetType const &facet, double kinetic_energy, std::size_t l, long m, std::size_t index_H_guess=0) const
 Returns an even-order SHE coefficient for the respective carrier on an edge: More...
 
template<typename FoldVectorType >
void fill (CellType const &cell, double kin_energy, std::size_t index_H_guess, FoldVectorType &vec) const
 Batch-evaluation: Returns the expansion coefficents computed at the particular vertex for the particular kinetic energy. More...
 
template<typename FoldVectorType >
void fill (FacetType const &facet, double kin_energy, std::size_t index_H_guess, FoldVectorType &vec) const
 Batch-evaluation: Returns the expansion coefficents computed at the particular edge for the particular kinetic energy. More...
 
viennashe::config const & config () const
 
SHEQuantityT const & quan () const
 
dispersion_relation_type const & dispersion_relation () const
 

Detailed Description

template<typename DeviceType, typename SHEQuantityT>
class viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >

A convenience wrapper for accessing the distribution function coefficients over the device. Even-order coefficients can be obtained from vertices, odd-order coefficients from edges.

Template Parameters
DeviceTypeThe device type on which to evaluate the distribution function
VectorTypeVector type used for the SHE result vector.

Definition at line 107 of file df_wrappers.hpp.

Member Typedef Documentation

◆ dispersion_relation_type

template<typename DeviceType , typename SHEQuantityT >
typedef viennashe::config::dispersion_relation_type viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::dispersion_relation_type

Definition at line 120 of file df_wrappers.hpp.

◆ she_quantity_type

template<typename DeviceType , typename SHEQuantityT >
typedef SHEQuantityT viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::she_quantity_type

Definition at line 121 of file df_wrappers.hpp.

Constructor & Destructor Documentation

◆ she_df_wrapper()

template<typename DeviceType , typename SHEQuantityT >
viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::she_df_wrapper ( viennashe::config const &  conf,
SHEQuantityT const &  quan 
)
inline

Constructs the wrapper.

Parameters
quanThe SHE quantities
confThe simulator configuration

Definition at line 129 of file df_wrappers.hpp.

Member Function Documentation

◆ config()

template<typename DeviceType , typename SHEQuantityT >
viennashe::config const & viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::config ( ) const
inline

Definition at line 218 of file df_wrappers.hpp.

◆ dispersion_relation()

template<typename DeviceType , typename SHEQuantityT >
dispersion_relation_type const & viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::dispersion_relation ( ) const
inline

Definition at line 221 of file df_wrappers.hpp.

◆ fill() [1/2]

template<typename DeviceType , typename SHEQuantityT >
template<typename FoldVectorType >
void viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::fill ( CellType const &  cell,
double  kin_energy,
std::size_t  index_H_guess,
FoldVectorType &  vec 
) const
inline

Batch-evaluation: Returns the expansion coefficents computed at the particular vertex for the particular kinetic energy.

Definition at line 183 of file df_wrappers.hpp.

◆ fill() [2/2]

template<typename DeviceType , typename SHEQuantityT >
template<typename FoldVectorType >
void viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::fill ( FacetType const &  facet,
double  kin_energy,
std::size_t  index_H_guess,
FoldVectorType &  vec 
) const
inline

Batch-evaluation: Returns the expansion coefficents computed at the particular edge for the particular kinetic energy.

Definition at line 202 of file df_wrappers.hpp.

◆ operator()() [1/2]

template<typename DeviceType , typename SHEQuantityT >
double viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::operator() ( CellType const &  cell,
double  kinetic_energy,
std::size_t  l,
long  m,
std::size_t  index_H_guess = 0 
) const
inline

Returns an even-order SHE coefficient for the respective carrier on a vertex:

Parameters
cellThe cell from which the SHE coefficient should be returned
kinetic_energyKinetic energy
lMajor (leading) spherical harmonics index
mMinor spherical harmonics index
index_H_guessThe total energy index for starting the search for the best total energy index available. Allows to speed-up evaluation considerably.

Definition at line 143 of file df_wrappers.hpp.

◆ operator()() [2/2]

template<typename DeviceType , typename SHEQuantityT >
double viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::operator() ( FacetType const &  facet,
double  kinetic_energy,
std::size_t  l,
long  m,
std::size_t  index_H_guess = 0 
) const
inline

Returns an even-order SHE coefficient for the respective carrier on an edge:

Parameters
facetThe facet from which the SHE coefficient should be returned
kinetic_energyKinetic energy
lMajor (leading) spherical harmonics index
mMinor spherical harmonics index
index_H_guessInitial guess for the lookup of index_H (optimization purposes...)

Definition at line 166 of file df_wrappers.hpp.

◆ quan()

template<typename DeviceType , typename SHEQuantityT >
SHEQuantityT const & viennashe::she::she_df_wrapper< DeviceType, SHEQuantityT >::quan ( ) const
inline

Definition at line 219 of file df_wrappers.hpp.


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