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

#include <simulator_quantity.hpp>

Public Types

typedef unknown_quantity< AssociatedT, ValueT > self_type
 
typedef ValueT value_type
 
typedef AssociatedT associated_type
 
typedef robin_boundary_coefficients< ValueT > robin_boundary_type
 

Public Member Functions

 unknown_quantity ()
 
 unknown_quantity (std::string const &quan_name, equation_id quan_equation, std::size_t num_values, value_type default_value=value_type())
 
 unknown_quantity (self_type const &o)
 
void operator= (self_type const &o)
 
std::string get_name () const
 
equation_id get_equation () const
 
ValueT get_value (associated_type const &elem) const
 
ValueT at (associated_type const &elem) const
 
ValueT operator() (associated_type const &elem) const
 
void set_value (associated_type const &elem, ValueT value)
 
void set_value (associated_type const &elem, robin_boundary_type value)
 
ValueT get_boundary_value (associated_type const &elem) const
 
void set_boundary_value (associated_type const &elem, ValueT value)
 
robin_boundary_type get_boundary_values (associated_type const &elem) const
 Returns the coefficients alpha and beta for the Robin boundary condition du/dn = beta - alpha u. More...
 
void set_boundary_value (associated_type const &elem, robin_boundary_type const &values)
 Setter function for Robin boundary conditions. More...
 
boundary_type_id get_boundary_type (associated_type const &elem) const
 
void set_boundary_type (associated_type const &elem, boundary_type_id value)
 
bool get_unknown_mask (associated_type const &elem) const
 
void set_unknown_mask (associated_type const &elem, bool value)
 
long get_unknown_index (associated_type const &elem) const
 
void set_unknown_index (associated_type const &elem, long value)
 
std::size_t get_unknown_num () const
 
std::vector< ValueT > const & values () const
 
std::vector< boundary_type_id > const & boundary_types () const
 
std::vector< ValueT > const & boundary_values () const
 
std::vector< bool > const & defined_but_unknown_mask () const
 
std::vector< long > const & unknowns_indices () const
 
bool get_logarithmic_damping () const
 
void set_logarithmic_damping (bool b)
 

Detailed Description

template<typename AssociatedT, typename ValueT = double>
class viennashe::unknown_quantity< AssociatedT, ValueT >

Definition at line 127 of file simulator_quantity.hpp.

Member Typedef Documentation

◆ associated_type

template<typename AssociatedT , typename ValueT = double>
typedef AssociatedT viennashe::unknown_quantity< AssociatedT, ValueT >::associated_type

Definition at line 135 of file simulator_quantity.hpp.

◆ robin_boundary_type

template<typename AssociatedT , typename ValueT = double>
typedef robin_boundary_coefficients<ValueT> viennashe::unknown_quantity< AssociatedT, ValueT >::robin_boundary_type

Definition at line 136 of file simulator_quantity.hpp.

◆ self_type

template<typename AssociatedT , typename ValueT = double>
typedef unknown_quantity<AssociatedT, ValueT> viennashe::unknown_quantity< AssociatedT, ValueT >::self_type

Definition at line 132 of file simulator_quantity.hpp.

◆ value_type

template<typename AssociatedT , typename ValueT = double>
typedef ValueT viennashe::unknown_quantity< AssociatedT, ValueT >::value_type

Definition at line 134 of file simulator_quantity.hpp.

Constructor & Destructor Documentation

◆ unknown_quantity() [1/3]

template<typename AssociatedT , typename ValueT = double>
viennashe::unknown_quantity< AssociatedT, ValueT >::unknown_quantity ( )
inline

Definition at line 138 of file simulator_quantity.hpp.

◆ unknown_quantity() [2/3]

template<typename AssociatedT , typename ValueT = double>
viennashe::unknown_quantity< AssociatedT, ValueT >::unknown_quantity ( std::string const &  quan_name,
equation_id  quan_equation,
std::size_t  num_values,
value_type  default_value = value_type() 
)
inline

Definition at line 140 of file simulator_quantity.hpp.

◆ unknown_quantity() [3/3]

template<typename AssociatedT , typename ValueT = double>
viennashe::unknown_quantity< AssociatedT, ValueT >::unknown_quantity ( self_type const &  o)
inline

Definition at line 155 of file simulator_quantity.hpp.

Member Function Documentation

◆ at()

template<typename AssociatedT , typename ValueT = double>
ValueT viennashe::unknown_quantity< AssociatedT, ValueT >::at ( associated_type const &  elem) const
inline

Definition at line 185 of file simulator_quantity.hpp.

◆ boundary_types()

template<typename AssociatedT , typename ValueT = double>
std::vector< boundary_type_id > const & viennashe::unknown_quantity< AssociatedT, ValueT >::boundary_types ( ) const
inline

Definition at line 241 of file simulator_quantity.hpp.

◆ boundary_values()

template<typename AssociatedT , typename ValueT = double>
std::vector< ValueT > const & viennashe::unknown_quantity< AssociatedT, ValueT >::boundary_values ( ) const
inline

Definition at line 242 of file simulator_quantity.hpp.

◆ defined_but_unknown_mask()

template<typename AssociatedT , typename ValueT = double>
std::vector< bool > const & viennashe::unknown_quantity< AssociatedT, ValueT >::defined_but_unknown_mask ( ) const
inline

Definition at line 243 of file simulator_quantity.hpp.

◆ get_boundary_type()

template<typename AssociatedT , typename ValueT = double>
boundary_type_id viennashe::unknown_quantity< AssociatedT, ValueT >::get_boundary_type ( associated_type const &  elem) const
inline

Definition at line 219 of file simulator_quantity.hpp.

◆ get_boundary_value()

template<typename AssociatedT , typename ValueT = double>
ValueT viennashe::unknown_quantity< AssociatedT, ValueT >::get_boundary_value ( associated_type const &  elem) const
inline

Definition at line 192 of file simulator_quantity.hpp.

◆ get_boundary_values()

template<typename AssociatedT , typename ValueT = double>
robin_boundary_type viennashe::unknown_quantity< AssociatedT, ValueT >::get_boundary_values ( associated_type const &  elem) const
inline

Returns the coefficients alpha and beta for the Robin boundary condition du/dn = beta - alpha u.

Returns
A pair holding (beta, alpha). .first returns beta, .second returns alpha

Definition at line 201 of file simulator_quantity.hpp.

◆ get_equation()

template<typename AssociatedT , typename ValueT = double>
equation_id viennashe::unknown_quantity< AssociatedT, ValueT >::get_equation ( ) const
inline

Definition at line 182 of file simulator_quantity.hpp.

◆ get_logarithmic_damping()

template<typename AssociatedT , typename ValueT = double>
bool viennashe::unknown_quantity< AssociatedT, ValueT >::get_logarithmic_damping ( ) const
inline

Definition at line 247 of file simulator_quantity.hpp.

◆ get_name()

template<typename AssociatedT , typename ValueT = double>
std::string viennashe::unknown_quantity< AssociatedT, ValueT >::get_name ( ) const
inline

Definition at line 180 of file simulator_quantity.hpp.

◆ get_unknown_index()

template<typename AssociatedT , typename ValueT = double>
long viennashe::unknown_quantity< AssociatedT, ValueT >::get_unknown_index ( associated_type const &  elem) const
inline

Definition at line 225 of file simulator_quantity.hpp.

◆ get_unknown_mask()

template<typename AssociatedT , typename ValueT = double>
bool viennashe::unknown_quantity< AssociatedT, ValueT >::get_unknown_mask ( associated_type const &  elem) const
inline

Definition at line 222 of file simulator_quantity.hpp.

◆ get_unknown_num()

template<typename AssociatedT , typename ValueT = double>
std::size_t viennashe::unknown_quantity< AssociatedT, ValueT >::get_unknown_num ( ) const
inline

Definition at line 228 of file simulator_quantity.hpp.

◆ get_value()

template<typename AssociatedT , typename ValueT = double>
ValueT viennashe::unknown_quantity< AssociatedT, ValueT >::get_value ( associated_type const &  elem) const
inline

Definition at line 184 of file simulator_quantity.hpp.

◆ operator()()

template<typename AssociatedT , typename ValueT = double>
ValueT viennashe::unknown_quantity< AssociatedT, ValueT >::operator() ( associated_type const &  elem) const
inline

Definition at line 186 of file simulator_quantity.hpp.

◆ operator=()

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::operator= ( self_type const &  o)
inline

Definition at line 167 of file simulator_quantity.hpp.

◆ set_boundary_type()

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_boundary_type ( associated_type const &  elem,
boundary_type_id  value 
)
inline

Definition at line 220 of file simulator_quantity.hpp.

◆ set_boundary_value() [1/2]

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_boundary_value ( associated_type const &  elem,
robin_boundary_type const &  values 
)
inline

Setter function for Robin boundary conditions.

Note that this is an overload rather than a new function 'set_boundary_values' in order to have a uniform setter interface.

Definition at line 213 of file simulator_quantity.hpp.

◆ set_boundary_value() [2/2]

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_boundary_value ( associated_type const &  elem,
ValueT  value 
)
inline

Definition at line 193 of file simulator_quantity.hpp.

◆ set_logarithmic_damping()

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_logarithmic_damping ( bool  b)
inline

Definition at line 248 of file simulator_quantity.hpp.

◆ set_unknown_index()

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_unknown_index ( associated_type const &  elem,
long  value 
)
inline

Definition at line 226 of file simulator_quantity.hpp.

◆ set_unknown_mask()

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_unknown_mask ( associated_type const &  elem,
bool  value 
)
inline

Definition at line 223 of file simulator_quantity.hpp.

◆ set_value() [1/2]

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_value ( associated_type const &  elem,
robin_boundary_type  value 
)
inline

Definition at line 189 of file simulator_quantity.hpp.

◆ set_value() [2/2]

template<typename AssociatedT , typename ValueT = double>
void viennashe::unknown_quantity< AssociatedT, ValueT >::set_value ( associated_type const &  elem,
ValueT  value 
)
inline

Definition at line 188 of file simulator_quantity.hpp.

◆ unknowns_indices()

template<typename AssociatedT , typename ValueT = double>
std::vector< long > const & viennashe::unknown_quantity< AssociatedT, ValueT >::unknowns_indices ( ) const
inline

Definition at line 244 of file simulator_quantity.hpp.

◆ values()

template<typename AssociatedT , typename ValueT = double>
std::vector< ValueT > const & viennashe::unknown_quantity< AssociatedT, ValueT >::values ( ) const
inline

Definition at line 240 of file simulator_quantity.hpp.


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