ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
config.h
Go to the documentation of this file.
1/* ============================================================================
2 Copyright (c) 2011-2022, Institute for Microelectronics,
3 Institute for Analysis and Scientific Computing,
4 TU Wien.
5
6 -----------------
7 ViennaSHE - The Vienna Spherical Harmonics Expansion Boltzmann Solver
8 -----------------
9
10 http://viennashe.sourceforge.net/
11
12 License: MIT (X11), see file LICENSE in the base directory
13=============================================================================== */
14
17
18#ifndef LIBVIENNASHE_CONFIG_H
19#define LIBVIENNASHE_CONFIG_H
20
21#ifdef __cplusplus
22extern "C"
23{
24#endif
25
26/*
27// Types
28*/
29
30typedef struct viennashe_config_impl viennashe_config_impl; /* maps to viennashe::config */
36
39
40/* Functions */
41
44
46
50
53
56
58
64
65/* Getter */
66
72
77
78
79#ifdef __cplusplus
80}
81#endif
82
83#endif /* LIBVIENNASHE_CONFIG_H */
84
viennashe_linear_solver_id
Enum of available linear solvers.
Definition: config.h:34
@ viennashe_linear_solver_gpu_parallel
Definition: config.h:35
@ viennashe_linear_solver_dense
Definition: config.h:34
@ viennashe_linear_solver_parallel
Definition: config.h:35
@ viennashe_linear_solver_serial
Definition: config.h:34
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_linear_solver_config(viennashe_config conf, viennashe_linear_solver_id *sol_id, long *max_iters)
VIENNASHE_EXPORT viennasheErrorCode viennashe_free_config(viennashe_config conf)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_enable_density_gradient(viennashe_config conf)
struct viennashe_config_impl viennashe_config_impl
Definition: config.h:30
viennashe_nonlinear_solver_id
Enum of available non-linear solvers.
Definition: config.h:38
@ viennashe_nonlinear_solver_gummel
Definition: config.h:38
@ viennashe_nonlinear_solver_newton
Definition: config.h:38
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_with_traps(viennashe_config conf, libviennashe_bool enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_set_ionized_impurity_scattering(viennashe_config conf, libviennashe_bool enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_is_with_traps(viennashe_config conf, libviennashe_bool *enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_standard_dd(viennashe_config conf)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_acoustic_phonon_scattering(viennashe_config conf, libviennashe_bool *enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_set_nonlinear_solver_config(viennashe_config conf, viennashe_nonlinear_solver_id sol_id, long max_iters, double damping)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_she_unipolar_p(viennashe_config conf)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_has_density_gradient(viennashe_config conf, libviennashe_bool *enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_optical_phonon_scattering(viennashe_config conf, libviennashe_bool *enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_ionized_impurity_scattering(viennashe_config conf, libviennashe_bool *enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_set_linear_solver_config(viennashe_config conf, viennashe_linear_solver_id sol_id, long max_iters)
VIENNASHE_EXPORT viennasheErrorCode viennashe_set_electron_electron_scattering(viennashe_config conf, libviennashe_bool enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_she_bipolar(viennashe_config conf, libviennashe_bool with_traps)
VIENNASHE_EXPORT viennasheErrorCode viennashe_set_impact_ionization_scattering(viennashe_config conf, libviennashe_bool enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_electron_electron_scattering(viennashe_config conf, libviennashe_bool *enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_set_acoustic_phonon_scattering(viennashe_config conf, libviennashe_bool enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_nonlinear_solver_config(viennashe_config conf, viennashe_nonlinear_solver_id *sol_id, long *max_iters, double *damping)
VIENNASHE_EXPORT viennasheErrorCode viennashe_create_config(viennashe_config *conf)
VIENNASHE_EXPORT viennasheErrorCode viennashe_set_optical_phonon_scattering(viennashe_config conf, libviennashe_bool enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_she_unipolar_n(viennashe_config conf)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_impact_ionization_scattering(viennashe_config conf, libviennashe_bool *enabled)
VIENNASHE_EXPORT viennasheErrorCode viennashe_config_disable_density_gradient(viennashe_config conf)
viennashe_config_impl * viennashe_config
Definition: config.h:31
int viennasheErrorCode
Definition: error.h:25
libviennashe_bool
Definition: sys.h:31
#define VIENNASHE_EXPORT
Definition: sys.h:19