ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT > Class Template Reference

General representation of any solver quantity defined on two different element types (e.g. vertices and edges) in an augmented (x, H) space. More...

#include <she_quantity.hpp>

Public Types

typedef ValueT value_type
 

Public Member Functions

 unknown_she_quantity ()
 
 unknown_she_quantity (std::string const &quan_name, viennashe::carrier_type_id ctype, equation_id quan_equation)
 
void resize (std::size_t num_values_1, std::size_t num_values_2)
 
void resize (std::size_t num_values_1, std::size_t num_values_2, std::size_t size_index_H)
 
std::string get_name () const
 
equation_id get_equation () const
 
ValueT const * get_values (AssociatedT1 const &elem, std::size_t index_H) const
 
ValueT const * get_values (AssociatedT2 const &elem, std::size_t index_H) const
 
void set_values (AssociatedT1 const &elem, std::size_t index_H, ValueT const *values)
 
void set_values (AssociatedT2 const &elem, std::size_t index_H, ValueT const *values)
 
ValueT get_boundary_value (AssociatedT1 const &elem, std::size_t index_H) const
 
ValueT get_boundary_value (AssociatedT2 const &elem, std::size_t index_H) const
 
void set_boundary_value (AssociatedT1 const &elem, std::size_t index_H, ValueT value)
 
void set_boundary_value (AssociatedT2 const &elem, std::size_t index_H, ValueT value)
 
boundary_type_id get_boundary_type (AssociatedT1 const &elem) const
 
boundary_type_id get_boundary_type (AssociatedT2 const &elem) const
 
void set_boundary_type (AssociatedT1 const &elem, boundary_type_id value)
 
void set_boundary_type (AssociatedT2 const &elem, boundary_type_id value)
 
bool get_unknown_mask (AssociatedT1 const &elem, std::size_t index_H) const
 
bool get_unknown_mask (AssociatedT2 const &elem, std::size_t index_H) const
 
void set_unknown_mask (AssociatedT1 const &elem, std::size_t index_H, bool value)
 
void set_unknown_mask (AssociatedT2 const &elem, std::size_t index_H, bool value)
 
bool get_unknown_mask (AssociatedT1 const &elem) const
 
bool get_unknown_mask (AssociatedT2 const &elem) const
 
void set_unknown_mask (AssociatedT1 const &elem, bool value)
 
void set_unknown_mask (AssociatedT2 const &elem, bool value)
 
long get_unknown_index (AssociatedT1 const &elem, std::size_t index_H) const
 
long get_unknown_index (AssociatedT2 const &elem, std::size_t index_H) const
 
void set_unknown_index (AssociatedT1 const &elem, std::size_t index_H, long value)
 
void set_unknown_index (AssociatedT2 const &elem, std::size_t index_H, long value)
 
std::size_t get_expansion_order (AssociatedT1 const &elem, std::size_t index_H) const
 
std::size_t get_expansion_order (AssociatedT2 const &elem, std::size_t index_H) const
 
void set_expansion_order (AssociatedT1 const &elem, std::size_t index_H, std::size_t value)
 
void set_expansion_order (AssociatedT2 const &elem, std::size_t index_H, std::size_t value)
 
std::size_t get_unknown_num (AssociatedT1 const &elem, std::size_t index_H) const
 
std::size_t get_unknown_num (AssociatedT2 const &elem, std::size_t index_H) const
 
bool get_expansion_adaption (AssociatedT1 const &elem) const
 
void set_expansion_adaption (AssociatedT1 const &elem, bool b)
 
ValueT get_value_H (std::size_t index_H) const
 
void set_value_H (std::size_t index_H, ValueT value)
 
std::size_t get_value_H_size () const
 
ValueT get_bandedge_shift (AssociatedT1 const &elem) const
 
ValueT get_bandedge_shift (AssociatedT2 const &elem) const
 
void set_bandedge_shift (AssociatedT1 const &elem, ValueT value)
 
void set_bandedge_shift (AssociatedT2 const &elem, ValueT value)
 
ValueT get_kinetic_energy (AssociatedT1 const &elem, std::size_t index_H) const
 
ValueT get_kinetic_energy (AssociatedT2 const &elem, std::size_t index_H) const
 
carrier_type_id get_carrier_type_id () const
 
bool get_logarithmic_damping () const
 
void set_logarithmic_damping (bool b)
 

Detailed Description

template<typename AssociatedT1, typename AssociatedT2, typename ValueT = double>
class viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >

General representation of any solver quantity defined on two different element types (e.g. vertices and edges) in an augmented (x, H) space.

Definition at line 58 of file she_quantity.hpp.

Member Typedef Documentation

◆ value_type

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
typedef ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::value_type

Definition at line 64 of file she_quantity.hpp.

Constructor & Destructor Documentation

◆ unknown_she_quantity() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::unknown_she_quantity ( )
inline

Definition at line 66 of file she_quantity.hpp.

◆ unknown_she_quantity() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::unknown_she_quantity ( std::string const &  quan_name,
viennashe::carrier_type_id  ctype,
equation_id  quan_equation 
)
inline

Definition at line 68 of file she_quantity.hpp.

Member Function Documentation

◆ get_bandedge_shift() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_bandedge_shift ( AssociatedT1 const &  elem) const
inline

Definition at line 201 of file she_quantity.hpp.

◆ get_bandedge_shift() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_bandedge_shift ( AssociatedT2 const &  elem) const
inline

Definition at line 202 of file she_quantity.hpp.

◆ get_boundary_type() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
boundary_type_id viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_boundary_type ( AssociatedT1 const &  elem) const
inline

Definition at line 129 of file she_quantity.hpp.

◆ get_boundary_type() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
boundary_type_id viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_boundary_type ( AssociatedT2 const &  elem) const
inline

Definition at line 130 of file she_quantity.hpp.

◆ get_boundary_value() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_boundary_value ( AssociatedT1 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 123 of file she_quantity.hpp.

◆ get_boundary_value() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_boundary_value ( AssociatedT2 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 124 of file she_quantity.hpp.

◆ get_carrier_type_id()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
carrier_type_id viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_carrier_type_id ( ) const
inline

Definition at line 218 of file she_quantity.hpp.

◆ get_equation()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
equation_id viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_equation ( ) const
inline

Definition at line 106 of file she_quantity.hpp.

◆ get_expansion_adaption()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
bool viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_expansion_adaption ( AssociatedT1 const &  elem) const
inline

Definition at line 189 of file she_quantity.hpp.

◆ get_expansion_order() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
std::size_t viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_expansion_order ( AssociatedT1 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 154 of file she_quantity.hpp.

◆ get_expansion_order() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
std::size_t viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_expansion_order ( AssociatedT2 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 155 of file she_quantity.hpp.

◆ get_kinetic_energy() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_kinetic_energy ( AssociatedT1 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 207 of file she_quantity.hpp.

◆ get_kinetic_energy() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_kinetic_energy ( AssociatedT2 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 212 of file she_quantity.hpp.

◆ get_logarithmic_damping()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
bool viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_logarithmic_damping ( ) const
inline

Definition at line 233 of file she_quantity.hpp.

◆ get_name()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
std::string viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_name ( ) const
inline

Definition at line 104 of file she_quantity.hpp.

◆ get_unknown_index() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
long viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_index ( AssociatedT1 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 148 of file she_quantity.hpp.

◆ get_unknown_index() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
long viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_index ( AssociatedT2 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 149 of file she_quantity.hpp.

◆ get_unknown_mask() [1/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
bool viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_mask ( AssociatedT1 const &  elem) const
inline

Definition at line 142 of file she_quantity.hpp.

◆ get_unknown_mask() [2/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
bool viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_mask ( AssociatedT1 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 136 of file she_quantity.hpp.

◆ get_unknown_mask() [3/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
bool viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_mask ( AssociatedT2 const &  elem) const
inline

Definition at line 143 of file she_quantity.hpp.

◆ get_unknown_mask() [4/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
bool viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_mask ( AssociatedT2 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 137 of file she_quantity.hpp.

◆ get_unknown_num() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
std::size_t viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_num ( AssociatedT1 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 174 of file she_quantity.hpp.

◆ get_unknown_num() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
std::size_t viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_unknown_num ( AssociatedT2 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 181 of file she_quantity.hpp.

◆ get_value_H()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_value_H ( std::size_t  index_H) const
inline

Definition at line 195 of file she_quantity.hpp.

◆ get_value_H_size()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
std::size_t viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_value_H_size ( ) const
inline

Definition at line 198 of file she_quantity.hpp.

◆ get_values() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT const * viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_values ( AssociatedT1 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 108 of file she_quantity.hpp.

◆ get_values() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
ValueT const * viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::get_values ( AssociatedT2 const &  elem,
std::size_t  index_H 
) const
inline

Definition at line 109 of file she_quantity.hpp.

◆ resize() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::resize ( std::size_t  num_values_1,
std::size_t  num_values_2 
)
inline

Definition at line 77 of file she_quantity.hpp.

◆ resize() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::resize ( std::size_t  num_values_1,
std::size_t  num_values_2,
std::size_t  size_index_H 
)
inline

Definition at line 88 of file she_quantity.hpp.

◆ set_bandedge_shift() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_bandedge_shift ( AssociatedT1 const &  elem,
ValueT  value 
)
inline

Definition at line 204 of file she_quantity.hpp.

◆ set_bandedge_shift() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_bandedge_shift ( AssociatedT2 const &  elem,
ValueT  value 
)
inline

Definition at line 205 of file she_quantity.hpp.

◆ set_boundary_type() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_boundary_type ( AssociatedT1 const &  elem,
boundary_type_id  value 
)
inline

Definition at line 132 of file she_quantity.hpp.

◆ set_boundary_type() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_boundary_type ( AssociatedT2 const &  elem,
boundary_type_id  value 
)
inline

Definition at line 133 of file she_quantity.hpp.

◆ set_boundary_value() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_boundary_value ( AssociatedT1 const &  elem,
std::size_t  index_H,
ValueT  value 
)
inline

Definition at line 126 of file she_quantity.hpp.

◆ set_boundary_value() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_boundary_value ( AssociatedT2 const &  elem,
std::size_t  index_H,
ValueT  value 
)
inline

Definition at line 127 of file she_quantity.hpp.

◆ set_expansion_adaption()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_expansion_adaption ( AssociatedT1 const &  elem,
bool  b 
)
inline

Definition at line 190 of file she_quantity.hpp.

◆ set_expansion_order() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_expansion_order ( AssociatedT1 const &  elem,
std::size_t  index_H,
std::size_t  value 
)
inline

Definition at line 157 of file she_quantity.hpp.

◆ set_expansion_order() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_expansion_order ( AssociatedT2 const &  elem,
std::size_t  index_H,
std::size_t  value 
)
inline

Definition at line 165 of file she_quantity.hpp.

◆ set_logarithmic_damping()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_logarithmic_damping ( bool  b)
inline

Definition at line 234 of file she_quantity.hpp.

◆ set_unknown_index() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_unknown_index ( AssociatedT1 const &  elem,
std::size_t  index_H,
long  value 
)
inline

Definition at line 151 of file she_quantity.hpp.

◆ set_unknown_index() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_unknown_index ( AssociatedT2 const &  elem,
std::size_t  index_H,
long  value 
)
inline

Definition at line 152 of file she_quantity.hpp.

◆ set_unknown_mask() [1/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_unknown_mask ( AssociatedT1 const &  elem,
bool  value 
)
inline

Definition at line 145 of file she_quantity.hpp.

◆ set_unknown_mask() [2/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_unknown_mask ( AssociatedT1 const &  elem,
std::size_t  index_H,
bool  value 
)
inline

Definition at line 139 of file she_quantity.hpp.

◆ set_unknown_mask() [3/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_unknown_mask ( AssociatedT2 const &  elem,
bool  value 
)
inline

Definition at line 146 of file she_quantity.hpp.

◆ set_unknown_mask() [4/4]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_unknown_mask ( AssociatedT2 const &  elem,
std::size_t  index_H,
bool  value 
)
inline

Definition at line 140 of file she_quantity.hpp.

◆ set_value_H()

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_value_H ( std::size_t  index_H,
ValueT  value 
)
inline

Definition at line 196 of file she_quantity.hpp.

◆ set_values() [1/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_values ( AssociatedT1 const &  elem,
std::size_t  index_H,
ValueT const *  values 
)
inline

Definition at line 111 of file she_quantity.hpp.

◆ set_values() [2/2]

template<typename AssociatedT1 , typename AssociatedT2 , typename ValueT = double>
void viennashe::she::unknown_she_quantity< AssociatedT1, AssociatedT2, ValueT >::set_values ( AssociatedT2 const &  elem,
std::size_t  index_H,
ValueT const *  values 
)
inline

Definition at line 116 of file she_quantity.hpp.


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