ViennaSHE 1.3.0
Free open-source semiconductor device simulator using spherical harmonics expansions techniques.
quantity.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
15#ifndef LIBVIENNASHE_QUANTITY_H
16#define LIBVIENNASHE_QUANTITY_H
17
18/* C includes */
22
23#ifdef __cplusplus
24extern "C"
25{
26#endif
27
28/* ******************************************* */
29/* Type definitions */
30
35
36/* ******************************************* */
37
38
41
43
45
48
49
50/* ************** */
51/* SHE quantities */
55/* ************** */
56
57
58/* ******************************************* */
59/* Convenience functions for memory management */
60
62
64
65/* ******************************************* */
66
67
68#ifdef __cplusplus
69}
70#endif
71
72#endif /* LIBVIENNASHE_QUANTITY_H */
73
int viennasheErrorCode
Definition: error.h:25
reg
This is DD, so we do not need to give any inital guess.
Definition: resistor.py:84
viennashe_quan_register_impl * viennashe_quan_register
Definition: quantity.h:31
VIENNASHE_EXPORT viennasheErrorCode viennashe_free_quantity_register(viennashe_quan_register reg)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_she_dos(viennashe_quan_register reg, viennashe_carrier_ids ctype, double **energies, double **values, viennashe_index_type *len)
VIENNASHE_EXPORT viennasheErrorCode viennashe_has_cell_based_quantity(viennashe_quan_register reg, char const *name, libviennashe_bool *exists)
VIENNASHE_EXPORT viennasheErrorCode viennashe_create_quantity_register(viennashe_quan_register *reg, viennashe_simulator sim)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_cell_based_quantity_list(viennashe_quan_register reg, char **names)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_cell_based_quantity(viennashe_quan_register reg, char const *name, double **values, viennashe_index_type *len)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_she_group_velocity(viennashe_quan_register reg, viennashe_carrier_ids ctype, double **energies, double **values, viennashe_index_type *len)
VIENNASHE_EXPORT viennasheErrorCode viennashe_prealloc_cell_based_quantity(viennashe_device dev, double ***uarray, viennashe_index_type **len)
viennashe_carrier_ids
Enum of available charge carrier types.
Definition: quantity.h:34
@ viennashe_hole_id
Definition: quantity.h:34
@ viennashe_electron_id
Definition: quantity.h:34
VIENNASHE_EXPORT viennasheErrorCode viennashe_free_cell_based_quantity(viennashe_device dev, double ***uarray, viennashe_index_type **len)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_num_cell_based(viennashe_quan_register reg, viennashe_index_type *num)
VIENNASHE_EXPORT viennasheErrorCode viennashe_get_she_edf(viennashe_quan_register reg, viennashe_carrier_ids ctype, double **energies, double **values, viennashe_index_type *len)
Internal C++ to C wrapper for the device. Has typedefs and destructor.
Internal C++ to C wrapper for the simulator. Has typedefs and destructor.
libviennashe_bool
Definition: sys.h:31
unsigned long viennashe_index_type
Definition: sys.h:42
#define VIENNASHE_EXPORT
Definition: sys.h:19
struct viennashe_quan_register_impl viennashe_quan_register_impl
Quantity register implementation type.
Definition: sys.h:40