Overview
SCSPConfig#
| Name | Type | Default |
|---|---|---|
min_iterations |
PositiveInt |
1 |
max_iterations |
PositiveInt |
100 |
convergence_tol |
PositiveFloat |
1e-05 |
mixing_factor |
PositiveFloat |
0.1 |
QTBMConfig#
| Name | Type | Default |
|---|---|---|
max_batch_size |
PositiveInt |
10 |
SCBAConfig#
| Name | Type | Default |
|---|---|---|
min_iterations |
PositiveInt |
1 |
max_iterations |
PositiveInt |
100 |
convergence_tol |
PositiveFloat |
1e-05 |
mixing_factor |
PositiveFloat |
0.1 |
output_interval |
PositiveInt |
1 |
coulomb_screening |
bool |
False |
photon |
bool |
False |
phonon |
bool |
False |
symmetric |
bool |
False |
align_self_energy_to_complex_axes |
bool |
True |
PoissonConfig#
| Name | Type | Default |
|---|---|---|
model |
Literal['point-charge', 'orbital'] |
'point-charge' |
max_iterations |
PositiveInt |
100 |
convergence_tol |
PositiveFloat |
1e-05 |
mixing_factor |
PositiveFloat |
0.1 |
rho_shift |
NonNegativeFloat |
1e-08 |
cg_tol |
PositiveFloat |
1e-05 |
cg_max_iter |
PositiveInt |
100 |
num_orbitals_per_atom |
dict[str, int] |
- |
MemoizerConfig#
| Name | Type | Default |
|---|---|---|
mode |
Literal['auto', 'force', 'force-after-first', 'off'] |
'auto' |
num_ref_iterations |
PositiveInt |
2 |
relative_tol |
PositiveFloat |
0.2 |
absolute_tol |
PositiveFloat |
1e-06 |
warning_threshold |
PositiveFloat |
0.1 |
agreement_threshold |
float |
0.999 |
SolverConfig#
| Name | Type | Default |
|---|---|---|
algorithm |
Literal['rgf', 'inv'] |
'rgf' |
max_batch_size |
PositiveInt |
100 |
compute_current |
bool |
False |
direct_solver |
Literal['superlu', 'mumps', 'cudss'] |
'superlu' |
OBCConfig#
| Name | Type | Default |
|---|---|---|
algorithm |
Literal['sancho-rubio', 'spectral'] |
'spectral' |
nevp_solver |
Literal['beyn', 'full'] |
'beyn' |
block_sections |
PositiveInt |
1 |
min_decay |
PositiveFloat |
0.001 |
max_decay |
PositiveFloat or None |
None |
num_ref_iterations |
PositiveInt |
2 |
min_propagation |
PositiveFloat |
0.01 |
residual_tolerance |
PositiveFloat |
0.001 |
residual_normalization |
bool |
True |
warning_threshold |
PositiveFloat |
0.1 |
eta_decay |
PositiveFloat |
1e-12 |
max_iterations |
PositiveInt |
100 |
convergence_tol |
PositiveFloat |
1e-06 |
r_o |
PositiveFloat |
10.0 |
r_i |
PositiveFloat |
0.8 |
m_0 |
PositiveInt |
10 |
num_quad_points |
PositiveInt |
20 |
memoizer |
MemoizerConfig |
- |
LyapunovConfig#
| Name | Type | Default |
|---|---|---|
algorithm |
Literal['spectral', 'doubling'] |
'spectral' |
reduce_sparsity |
bool |
True |
assume_constant_sparsity |
bool |
False |
max_iterations |
PositiveInt |
100 |
relative_tol |
PositiveFloat |
0.0001 |
absolute_tol |
PositiveFloat |
1e-08 |
num_ref_iterations |
PositiveInt |
2 |
memoizer |
MemoizerConfig |
- |
ElectronConfig#
| Name | Type | Default |
|---|---|---|
solver |
SolverConfig |
- |
obc |
OBCConfig |
- |
lyapunov |
LyapunovConfig |
- |
eta_obc |
NonNegativeFloat |
0 |
eta |
NonNegativeFloat |
1e-12 |
fermi_level |
float or None |
None |
conduction_band_edge |
float or None |
None |
valence_band_edge |
float or None |
None |
left_fermi_level |
float or None |
None |
right_fermi_level |
float or None |
None |
band_edge_tracking |
Literal['dos-peaks', 'eigenvalues'] or None |
None |
temperature |
PositiveFloat |
300.0 |
left_temperature |
PositiveFloat or None |
None |
right_temperature |
PositiveFloat or None |
None |
energy_window_min |
float or None |
None |
energy_window_max |
float or None |
None |
energy_window_num |
PositiveInt or None |
None |
energy_window_num_per_rank |
PositiveInt or None |
None |
flatband |
bool or None |
None |
dos_peak_limit |
PositiveFloat |
100.0 |
filtering_iteration_limit |
PositiveInt |
1 |
CoulombScreeningConfig#
| Name | Type | Default |
|---|---|---|
interaction_cutoff |
PositiveFloat |
10.0 |
solver |
SolverConfig |
- |
obc |
OBCConfig |
- |
lyapunov |
LyapunovConfig |
- |
temperature |
PositiveFloat |
300.0 |
epsilon_r |
PositiveFloat |
1.0 |
left_temperature |
PositiveFloat or None |
None |
right_temperature |
PositiveFloat or None |
None |
num_connected_blocks |
Literal['auto'] or PositiveInt |
'auto' |
dos_peak_limit |
PositiveFloat |
100.0 |
filtering_iteration_limit |
PositiveInt |
1 |
align_polarization_to_complex_axes |
bool |
True |
include_energy_renormalization |
Literal['self-energy', 'polarization', 'both'] |
'self-energy' |
apply_hilbert_correction |
bool |
False |
PhotonConfig#
| Name | Type | Default |
|---|---|---|
interaction_cutoff |
PositiveFloat |
10.0 |
solver |
SolverConfig |
- |
obc |
OBCConfig |
- |
lyapunov |
LyapunovConfig |
- |
PhononConfig#
| Name | Type | Default |
|---|---|---|
interaction_cutoff |
PositiveFloat |
10.0 |
solver |
SolverConfig |
- |
obc |
OBCConfig |
- |
lyapunov |
LyapunovConfig |
- |
model |
Literal['pseudo-scattering', 'negf'] |
'pseudo-scattering' |
phonon_energy |
NonNegativeFloat or None |
None |
deformation_potential |
NonNegativeFloat or None |
None |
temperature |
PositiveFloat |
300.0 |
OutputConfig#
| Name | Type | Default |
|---|---|---|
contact_currents |
bool |
True |
device_currents |
bool |
True |
potential |
bool |
False |
electron_ldos |
bool |
False |
electron_density |
bool |
False |
hole_density |
bool |
False |
polarization_density |
bool |
False |
coulomb_screening_density |
bool |
False |
self_energy_density |
bool |
False |
profiling_path |
Path or None |
None |
save_profiling_results |
bool |
False |
profiling_save_format |
Literal['pickle', 'json'] |
'json' |
ContactConfig#
| Name | Type | Default |
|---|---|---|
fermi_level |
float |
- |
name |
str |
- |
type |
Literal['ohmic'] |
'ohmic' |
origin |
tuple[float, float, float] |
(0.0, 0.0, 0.0) |
lattice_vectors |
list[list[float]] |
- |
direction |
Literal['a', 'b', 'c'] |
- |
DeviceConfig#
| Name | Type | Default |
|---|---|---|
construct_from_unit_cell |
bool |
False |
neighbor_cell_cutoff |
tuple[NonNegativeInt, NonNegativeInt, NonNegativeInt] or None |
None |
num_transport_cells |
PositiveInt |
1 |
transport_direction |
Literal['x', 'y', 'z'] |
- |
block_size |
PositiveInt or list[PositiveInt] or None |
None |
contacts |
list[ContactConfig] |
- |
num_orbitals_per_atom |
dict[str, int] |
{'X': 1} |
kpoint_grid |
tuple[PositiveInt, PositiveInt, PositiveInt] |
(1, 1, 1) |
kpoint_shift |
tuple[float, float, float] |
(0.0, 0.0, 0.0) |
orthogonal_basis |
bool |
True |
LyapunovComputeConfig#
| Name | Type | Default |
|---|---|---|
eig_compute_location |
Literal['numpy', 'cupy', 'nvmath'] |
'numpy' |
use_pinned_memory |
bool |
True |
NEVPConfig#
| Name | Type | Default |
|---|---|---|
eig_compute_location |
Literal['numpy', 'cupy', 'nvmath'] |
'numpy' |
project_compute_location |
Literal['numpy', 'cupy'] |
'numpy' |
use_pinned_memory |
bool |
True |
use_qr |
bool |
False |
contour_batch_size |
PositiveInt or None |
None |
num_threads_contour |
PositiveInt |
1024 |
reduce_sparsity |
bool |
False |
BandEdgeConfig#
| Name | Type | Default |
|---|---|---|
use_eigvalsh |
bool |
True |
eigvalsh_compute_location |
Literal['numpy', 'cupy'] |
'numpy' |
use_pinned_memory |
bool |
True |
block_sections |
PositiveInt |
1 |
ConvolveConfig#
| Name | Type | Default |
|---|---|---|
batch_size |
PositiveInt or None |
None |
CommConfig#
| Name | Type | Default |
|---|---|---|
block_comm_size |
PositiveInt |
1 |
block_all_to_all |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
block_all_gather |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
block_all_reduce |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
block_bcast |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
stack_all_to_all |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
stack_all_gather |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
stack_all_reduce |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
stack_bcast |
Literal['host_mpi', 'device_mpi', 'nccl'] or None |
None |
block_comm_config |
dict[str, str] |
{} |
stack_comm_config |
dict[str, str] |
{} |
ComputeConfig#
| Name | Type | Default |
|---|---|---|
dsdbsparse_type |
DSDBSparse |
DSDBCOO |
numba_threading_layer |
Literal['workqueue', 'omp', 'tbb'] |
'workqueue' |
threadpool_api |
Literal['blas', 'openmp', 'tbb'] or None |
None |
numba_num_threads |
PositiveInt or None |
None |
blas_num_threads |
PositiveInt or Literal['sequential_blas_under_openmp'] or None |
None |
convolve |
ConvolveConfig |
- |
nevp |
NEVPConfig |
- |
lyapunov |
LyapunovComputeConfig |
- |
band_edge |
BandEdgeConfig |
- |
comm |
CommConfig |
- |
QuatrexConfig#
| Name | Type | Default |
|---|---|---|
device |
DeviceConfig |
- |
formalism |
Literal['wf', 'negf'] |
- |
scsp |
SCSPConfig |
- |
scba |
SCBAConfig |
- |
qtbm |
QTBMConfig |
- |
poisson |
PoissonConfig |
- |
electron |
ElectronConfig |
- |
phonon |
PhononConfig or None |
None |
coulomb_screening |
CoulombScreeningConfig or None |
None |
photon |
PhotonConfig or None |
None |
config_dir |
Path |
- |
simulation_dir |
Path |
- |
input_dir |
Path or None |
None |
output_dir |
Path or None |
None |
outputs |
OutputConfig |
- |
compute |
ComputeConfig |
- |