The main SHE configuration class. To be adjusted by the user for his/her needs. More...
#include <config.hpp>
Public Types | |
typedef viennashe::solvers::linear_solver_config | linear_solver_config_type |
typedef viennashe::solvers::nonlinear_solver_config | nonlinear_solver_config_type |
typedef viennashe::physics::dispersion_proxy | dispersion_relation_type |
Public Types inherited from viennashe::dispersion_relation_ids | |
enum | { parabolic_dispersion , modena_dispersion , ext_vecchi_dispersion } |
Public Member Functions | |
config () | |
config (config const &other) | |
void | operator= (config const &other) |
bool | with_electrons () const |
Returns true if electrons are considered in the simulation. More... | |
void | with_electrons (bool b) |
Activates are deactivates electrons in the simulation. More... | |
equation_id | get_electron_equation () const |
void | set_electron_equation (equation_id equ_id) |
bool | with_holes () const |
Returns true if holes are considered in the simulation. More... | |
void | with_holes (bool b) |
Activates are deactivates holes in the simulation. More... | |
equation_id | get_hole_equation () const |
void | set_hole_equation (equation_id equ_id) |
bool | with_traps () const |
Returns true if traps are considered in the simulation. More... | |
void | with_traps (bool b) |
Activates or deactivates traps in the simulation. More... | |
bool | with_trap_selfconsistency () const |
Returns true if traps are considered self-consistently in the simulation. More... | |
void | with_trap_selfconsistency (bool b) |
Activates or deactivates trap self-consistency in the simulation. More... | |
viennashe::physics::dispersion_proxy | dispersion_relation_electrons () const |
Returns the dispersion relation for electrons. More... | |
viennashe::physics::dispersion_proxy | dispersion_relation_holes () const |
Returns the dispersion relation for holes. More... | |
viennashe::physics::dispersion_proxy | dispersion_relation (viennashe::carrier_type_id ctype) const |
Returns the dispersion relation for electrons. More... | |
void | dispersion_relation_electrons (long dispersion_id) |
Sets a new dispersion relation for electrons. More... | |
void | dispersion_relation (long dispersion_id, viennashe::carrier_type_id ctype) |
Sets a new dispersion relation for electrons. More... | |
void | dispersion_relation (const std::string name) |
Sets a new dispersion relation for electrons and holes. More... | |
void | dispersion_relation_electrons (const std::string name) |
Sets a new dispersion relation for electrons. More... | |
void | dispersion_relation_holes (long dispersion_id) |
Sets a new dispersion relation for holes. More... | |
void | dispersion_relation_holes (const std::string name) |
Sets a new dispersion relation for holes. More... | |
she_discretization_type_id | she_discretization_type () const |
void | she_discretization_type (she_discretization_type_id discretization_id) |
she_scaling_type_id | she_scaling_type () const |
void | she_scaling_type (she_scaling_type_id scaling_id) |
long | max_expansion_order () const |
Returns the current maximum expansion order. More... | |
void | max_expansion_order (long new_L) |
Sets a new maximum expansion order. For uniform expansions, new_L will be used all over the device. For adaptive SHE, adaption is stopped at new_L. More... | |
bool | adaptive_expansions () const |
Returns the flag for the use of adaptive expansions. More... | |
void | adaptive_expansions (bool b) |
Sets the use of adaptive expansions. More... | |
double | min_kinetic_energy_range (viennashe::carrier_type_id ctype) const |
Returns the minimum kinetic energy range for the selected carrier. More... | |
void | min_kinetic_energy_range (double e_new, viennashe::carrier_type_id ctype) |
Sets the minimum kinetic energy range for the selected carrier. More... | |
void | min_kinetic_energy_range (double e_new) |
Sets the minimum kinetic energy range in the conduction band for electrons and in the valence band for electrons. More... | |
double | max_kinetic_energy_range (viennashe::carrier_type_id ctype) const |
Returns the minimum kinetic energy range for the selected carrier. More... | |
void | max_kinetic_energy_range (double e_new, viennashe::carrier_type_id ctype) |
Sets the minimum kinetic energy range for the selected carrier. More... | |
void | max_kinetic_energy_range (double e_new) |
Sets the minimum kinetic energy range in the conduction band for electrons and in the valence band for electrons. More... | |
double | energy_spacing () const |
Returns the uniform energy spacing of discrete energies. More... | |
void | energy_spacing (double new_spacing) |
Sets a new discrete energy spacing. More... | |
bool | use_h_transformation () const |
Returns whether the H-transformation is used. More... | |
void | use_h_transformation (bool b) |
Sets whether the H-transformation should be used for the energy discretization. More... | |
viennashe::she::scatter_config & | scattering () |
Returns the configuration object for scattering. More... | |
viennashe::she::scatter_config const & | scattering () const |
Returns the configuration object for scattering. More... | |
linear_solver_config_type & | linear_solver () |
Returns the configuration object for the linear solver. More... | |
linear_solver_config_type const & | linear_solver () const |
Returns the configuration object for the linear solver. More... | |
nonlinear_solver_config_type & | nonlinear_solver () |
Returns the configuration object for the nonlinear solver. More... | |
nonlinear_solver_config_type const & | nonlinear_solver () const |
Returns the configuration object for the nonlinear solver. More... | |
bool | with_hde () const |
void | with_hde (bool v) |
bool | quantum_correction () const |
void | quantum_correction (bool use_quantum_correction) |
bool | with_quantum_correction () const |
void | with_quantum_correction (bool b) |
detail::density_gradient_config const & | density_gradient (viennashe::carrier_type_id ctype) const |
detail::density_gradient_config & | density_gradient (viennashe::carrier_type_id ctype) |
double | time_step_size () const |
she_boundary_conditions_config const & | she_boundary_conditions () const |
she_boundary_conditions_config & | she_boundary_conditions () |
bool | setup_insulator_distances () const |
The main SHE configuration class. To be adjusted by the user for his/her needs.
Definition at line 122 of file config.hpp.
Definition at line 128 of file config.hpp.
Definition at line 126 of file config.hpp.
Definition at line 127 of file config.hpp.
|
inline |
Definition at line 131 of file config.hpp.
|
inline |
Definition at line 161 of file config.hpp.
|
inline |
Returns the flag for the use of adaptive expansions.
Definition at line 379 of file config.hpp.
|
inline |
Sets the use of adaptive expansions.
Definition at line 381 of file config.hpp.
|
inline |
Definition at line 527 of file config.hpp.
|
inline |
Definition at line 519 of file config.hpp.
|
inline |
Sets a new dispersion relation for electrons and holes.
name | String identifier of the dispersion relation |
Definition at line 313 of file config.hpp.
|
inline |
Sets a new dispersion relation for electrons.
dispersion_id | Identifier of the dispersion relation, |
ctype | Identifier of the carrier type |
Definition at line 301 of file config.hpp.
|
inline |
Returns the dispersion relation for electrons.
Definition at line 266 of file config.hpp.
|
inline |
Returns the dispersion relation for electrons.
Definition at line 254 of file config.hpp.
|
inline |
Sets a new dispersion relation for electrons.
name | String identifier of the dispersion relation |
Definition at line 323 of file config.hpp.
|
inline |
Sets a new dispersion relation for electrons.
dispersion_id | Identifier of the dispersion relation, |
Definition at line 280 of file config.hpp.
|
inline |
Returns the dispersion relation for holes.
Definition at line 260 of file config.hpp.
|
inline |
Sets a new dispersion relation for holes.
name | String identifier of the dispersion relation |
Definition at line 354 of file config.hpp.
|
inline |
Sets a new dispersion relation for holes.
dispersion_id | Identifier of the dispersion relation, |
Definition at line 333 of file config.hpp.
|
inline |
Returns the uniform energy spacing of discrete energies.
Definition at line 460 of file config.hpp.
|
inline |
Sets a new discrete energy spacing.
Definition at line 462 of file config.hpp.
|
inline |
Definition at line 230 of file config.hpp.
|
inline |
Definition at line 238 of file config.hpp.
|
inline |
Returns the configuration object for the linear solver.
Definition at line 485 of file config.hpp.
|
inline |
Returns the configuration object for the linear solver.
Definition at line 487 of file config.hpp.
|
inline |
Returns the current maximum expansion order.
Definition at line 369 of file config.hpp.
|
inline |
Sets a new maximum expansion order. For uniform expansions, new_L will be used all over the device. For adaptive SHE, adaption is stopped at new_L.
Definition at line 372 of file config.hpp.
|
inline |
Sets the minimum kinetic energy range in the conduction band for electrons and in the valence band for electrons.
Definition at line 448 of file config.hpp.
|
inline |
Sets the minimum kinetic energy range for the selected carrier.
Definition at line 434 of file config.hpp.
|
inline |
Returns the minimum kinetic energy range for the selected carrier.
Definition at line 425 of file config.hpp.
|
inline |
Sets the minimum kinetic energy range in the conduction band for electrons and in the valence band for electrons.
Definition at line 411 of file config.hpp.
|
inline |
Sets the minimum kinetic energy range for the selected carrier.
Definition at line 397 of file config.hpp.
|
inline |
Returns the minimum kinetic energy range for the selected carrier.
Definition at line 388 of file config.hpp.
|
inline |
Returns the configuration object for the nonlinear solver.
Definition at line 495 of file config.hpp.
|
inline |
Returns the configuration object for the nonlinear solver.
Definition at line 497 of file config.hpp.
|
inline |
Definition at line 191 of file config.hpp.
|
inline |
Definition at line 509 of file config.hpp.
|
inline |
Definition at line 510 of file config.hpp.
|
inline |
Returns the configuration object for scattering.
Definition at line 475 of file config.hpp.
|
inline |
Returns the configuration object for scattering.
Definition at line 477 of file config.hpp.
|
inline |
Definition at line 231 of file config.hpp.
|
inline |
Definition at line 239 of file config.hpp.
|
inline |
Definition at line 546 of file config.hpp.
|
inline |
Definition at line 541 of file config.hpp.
|
inline |
Definition at line 540 of file config.hpp.
|
inline |
Definition at line 360 of file config.hpp.
|
inline |
Definition at line 361 of file config.hpp.
|
inline |
Definition at line 363 of file config.hpp.
|
inline |
Definition at line 364 of file config.hpp.
|
inline |
Definition at line 536 of file config.hpp.
|
inline |
Returns whether the H-transformation is used.
Definition at line 465 of file config.hpp.
|
inline |
Sets whether the H-transformation should be used for the energy discretization.
Definition at line 467 of file config.hpp.
|
inline |
Returns true if electrons are considered in the simulation.
Definition at line 226 of file config.hpp.
|
inline |
Activates are deactivates electrons in the simulation.
Definition at line 228 of file config.hpp.
|
inline |
Definition at line 502 of file config.hpp.
|
inline |
Definition at line 503 of file config.hpp.
|
inline |
Returns true if holes are considered in the simulation.
Definition at line 234 of file config.hpp.
|
inline |
Activates are deactivates holes in the simulation.
Definition at line 236 of file config.hpp.
|
inline |
Definition at line 512 of file config.hpp.
|
inline |
Definition at line 513 of file config.hpp.
|
inline |
Returns true if traps are considered self-consistently in the simulation.
Definition at line 247 of file config.hpp.
|
inline |
Activates or deactivates trap self-consistency in the simulation.
Definition at line 249 of file config.hpp.
|
inline |
Returns true if traps are considered in the simulation.
Definition at line 243 of file config.hpp.
|
inline |
Activates or deactivates traps in the simulation.
Definition at line 245 of file config.hpp.