Skip to content

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 -