ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
harmonics_coupling.hpp File Reference

Provides the SHE coupling matrices and computes higher-order coupling matrices if required. May be replaced by ViennaMath in the future. More...

Go to the source code of this file.

Classes

class  viennashe::she::GammaIntegrand_x
 x-component of the Gamma coupling integral (cf. Dissertation Rupp)
More...
 
class  viennashe::she::GammaIntegrand_y
 y-component of the Gamma coupling integral (cf. Dissertation Rupp)
More...
 
class  viennashe::she::GammaIntegrand_z
 z-component of the Gamma coupling integral (cf. Dissertation Rupp)
More...
 
class  viennashe::she::vIntegrand_x
 x-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
More...
 
class  viennashe::she::vIntegrand_y
 y-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
More...
 
class  viennashe::she::vIntegrand_z
 z-component of the velocity coupling integral \int Y_{l,m} e_r Y_{l',m'} \d \Omega (cf. Dissertation Rupp)
More...
 

Namespaces

namespace  viennashe
 The main ViennaSHE namespace. All functionality resides inside this namespace.
 
namespace  viennashe::she
 

Functions

template<typename IntegrationRule , typename MatrixType >
void viennashe::she::fill_coupling_matrices_impl (MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z, int L_max)
 Assemble coupling coefficients a_{l,m}^{l',m'} and b_{l,m}^{l',m'} up to order l = L_max. More...
 
template<typename MatrixType >
void viennashe::she::fill_coupling_matrices_1 (MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
 Precomputed coupling matrix up to first order. More...
 
template<typename MatrixType >
void viennashe::she::fill_coupling_matrices_3 (MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
 Precomputed coupling matrix up to third order. More...
 
template<typename MatrixType >
void viennashe::she::fill_coupling_matrices_5 (MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
 Precomputed coupling matrix up to fifth order. More...
 
template<typename MatrixType >
void viennashe::she::fill_coupling_matrices_7 (MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z)
 Precomputed coupling matrix up to seventh order. More...
 
template<typename MatrixType >
void viennashe::she::fill_coupling_matrices (MatrixType &a_x, MatrixType &a_y, MatrixType &a_z, MatrixType &b_x, MatrixType &b_y, MatrixType &b_z, int L_max)
 Public interface for filling coupling matrices. More...
 

Detailed Description

Provides the SHE coupling matrices and computes higher-order coupling matrices if required. May be replaced by ViennaMath in the future.

Definition in file harmonics_coupling.hpp.