quantum{ }
Calling sequence
quantum{ }
Properties
usage:
items: maximum 1
Functionality
A group of keywords specifying quantum models, i.e. how the Schrödinger equation should be solved.
Nested keywords
- debuglevel
- allow_overlapping_regions
- region{ }
- name
- no_density
- x
- y
- z
- array_x{ }, array_y{ }, array_z{ }
- array2_x{ }, array2_y{ }, array2_z{ }
- Gamma{}, L{}, X{}, Delta{}, HH{}, LH{}, SO{}
- num_ev
- force_complex_solver
- force_pauli_solver
- lapack{ }
- arpack{ }
- accuracy
- iterations
- preconditioner
- order_polynomial
- order_chebychev
- order_legendre
- cutoff
- abs_cutoff
- dispersion{ }
- dispersion{ path{ } }
- dispersion{ path{ name } }
- dispersion{ path{ point{ } } }
- dispersion{ path{ point{ k } } }
- dispersion{ path{ spacing } }
- dispersion{ path{ num_points } }
- dispersion{ lines{ } }
- dispersion{ lines{ name } }
- dispersion{ lines{ spacing } }
- dispersion{ lines{ k_max } }
- dispersion{ full{ } }
- dispersion{ full{ name } }
- dispersion{ full{ kxgrid{ } } }
- dispersion{ full{ kygrid{ } } }
- dispersion{ full{ kzgrid{ } } }
- dispersion{ superlattice{ } }
- dispersion{ superlattice{ name } }
- dispersion{ superlattice{ num_points_x } }
- dispersion{ superlattice{ num_points_y } }
- dispersion{ superlattice{ num_points_z } }
- dispersion{ superlattice{ num_points } }
- dispersion{ output_dispersions{ } }
- dispersion{ output_dispersions{ max_num } }
- dispersion{ output_masses{ } }
- dispersion{ output_masses{ max_num } }
- kp_6band{ }
- lapack{ }
- arpack{ }
- kp_parameters{ }
- kp_parameters{ use_Luttinger_parameters }
- kp_parameters{ approximate_kappa } }
- k_integration{ }
- k_integration{ relative_size }
- k_integration{ max_symmetry }
- k_integration{ num_points }
- k_integration{ num_subpoints }
- k_integration{ force_k0_subspace }
- dispersion{ }
- dispersion{ lines{ } }
- dispersion{ lines{ name } }
- dispersion{ lines{ k_max } }
- dispersion{ lines{ spacing } }
- dispersion{ path{ } }
- dispersion{ path{ name } }
- dispersion{ path{ point{ } } }
- dispersion{ path{ point{ k } } }
- dispersion{ path{ spacing } }
- dispersion{ path{ num_points } }
- dispersion{ full{ } }
- dispersion{ full{ name } }
- dispersion{ full{ kxgrid{ }, … } }
- dispersion{ full{ kxgrid{ line{ } }, … } }
- dispersion{ full{ kxgrid{ line{ pos } }, … } }
- dispersion{ full{ kxgrid{ line{ spacing } }, … } }
- dispersion{ superlattice{ } }
- dispersion{ superlattice{ name } }
- dispersion{ superlattice{ num_points } }
- dispersion{ superlattice{ num_points_x, … } }
- dispersion{ output_dispersions{ } }
- dispersion{ output_dispersions{ max_num } }
- dispersion{ output_masses{ } }
- dispersion{ output_masses{ max_num } }
- kp_8band{ }
- accuracy
- iterations
- num_electrons
- num_holes
- shift
- abs_shift
- shift_window
- spurious_handling
- lapack{ }
- arpack_inv{ }
- davidson{ }
- linear_solver{ }
- linear_solver{ iterations }
- linear_solver{ abs_accuracy }
- linear_solver{ rel_accuracy }
- linear_solver{ use_cscg }
- linear_solver{ force_diagonal_preconditioner }
- kp_parameters{ }
- kp_parameters{ use_Luttinger_parameters }
- kp_parameters{ from_6band_parameters }
- kp_parameters{ approximate_kappa }
- kp_parameters{ evaluate_S }
- kp_parameters{ rescale_S_to }
- k_integration{ }
- k_integration{ relative_size }
- k_integration{ max_symmetry }
- k_integration{ num_points }
- k_integration{ num_subpoints }
- k_integration{ force_k0_subspace }
- interface{ }
- interface{ position }
- interface{ array_x{ } }
- interface{ array_x{ shift } }
- interface{ array_x{ min } }
- interface{ array_x{ max } }
- interface{ kp_parameters{ } }
- interface{ kp_parameters{ D_s, D_x, D_z } }
- interface{ kp_parameters{ alpha, beta } }
- interface{ kp_parameters{ reverse } }
- classify_none{ }
- classify_by_energy{ }
- classify_by_energy{ method }
- classify_by_energy{ shift_electrons }
- classify_by_energy{ shift_holes }
- classify_by_energy{ cutoff }
- classify_by_all_energies{ }
- classify_by_all_energies{ method }
- classify_by_all_energies{ shift_electrons }
- classify_by_all_energies{ shift_holes }
- classify_by_all_energies{ permissive }
- classify_by_all_energies{ cutoff }
- classify_by_spinor{ }
- classify_by_spinor{ threshold_electron }
- classify_by_spinor{ threshold_hole }
- classify_by_spinor{ cutoff }
- classify_by_all_spinors{ }
- classify_by_all_spinors{ threshold_electron }
- classify_by_all_spinors{ threshold_hole }
- classify_by_all_spinors{ permissive }
- classify_by_all_spinors{ cutoff }
- dispersion{ }
- dispersion{ lines{ } }
- dispersion{ lines{ name } }
- dispersion{ lines{ k_max } }
- dispersion{ lines{ spacing } }
- dispersion{ path{ } }
- dispersion{ path{ name } }
- dispersion{ path{ point{ } } }
- dispersion{ path{ point{ k } } }
- dispersion{ path{ spacing } }
- dispersion{ path{ num_points } }
- dispersion{ full{ } }
- dispersion{ full{ name } }
- dispersion{ full{ kxgrid{ }, … } }
- dispersion{ full{ kxgrid{ line{ } }, … } }
- dispersion{ full{ kxgrid{ line{ pos } }, … } }
- dispersion{ full{ kxgrid{ line{ spacing } }, … } }
- dispersion{ superlattice{ } }
- dispersion{ superlattice{ name } }
- dispersion{ superlattice{ num_points } }
- dispersion{ superlattice{ num_points_x, … } }
- dispersion{ output_dispersions{ } }
- dispersion{ output_dispersions{ max_num } }
- dispersion{ output_masses{ } }
- dispersion{ output_masses{ max_num } }
- boundary{ }
- interband_matrix_elements{ }
- intraband_matrix_elements{ }
- dipole_moment_matrix_elements{ }
- transition_energies{ }
- quantum{ region{ quantize_x{ }, … } }
- lifetimes{ }
- excitons{ }
- output_wavefunctions{ }
- output_subband_densities{ }
- quantum{ region{ output_quantum_densities{ } } }
- quantum{ region{ output_occupations_on_grid{ } } }
- quantum{ region{ output_energies_on_grid{ } } }
- output_rotated_inverse_mass_tensor{ }
- exchange_correlation{ }
- cbr{ }
Example
quantum{
debuglevel = 1
allow_overlapping_regions = no
#----------------
# Quantum regions
#----------------
region{
name = "qr1"
quantize_x{}
quantize_y{}
quantize_z{}
no_density = yes
x = [10.0, 20.0]
y = [10.0, 20.0]
z = [10.0, 20.0]
# Boundary conditions
#--------------------
boundary{
x = dirichlet
y = dirichlet
z = neumann
classical_boundary_x = no
classical_boundary_y = no
classical_boundary_z = no
num_classical_x = [1,1]
num_classical_y = [1,1]
num_classical_z = [1,1]
}
# Output definitions
#-------------------
output_wavefunctions{
max_num = 10
all_k_points = yes/no
structured = no
amplitudes = "S_X_Y_Z CB_HH_LH_SO"
probabilities = "yes CB_HH_LH_SO"
scale = 0.7
in_one_file = yes
energy_shift = both
include_energies_in_shifted_files = yes
}
output_subband_densities{
max_num = 10
in_one_file = yes
}
output_sparse_matrix{
type = all
structured = no
}
output_rotated_inverse_mass_tensor{
boxes = yes
structured = no
}
# Quantum models and solver definitions
#--------------------------------------
Gamma{
num_ev = 10
# Eigensolvers (choose one)
lapack{}
arpack{}
accuracy = 1e-6
iterations = 200
preconditioner = chebyshev
cutoff = 0.3
abs_cutoff = 2.5
order_chebyshev = 20
# Dispersion
#-----------
dispersion{
path{
name = "100"
point{
k = [1.0, 0.0, 0.0]
k = [1.0, 1.0, 0.0]
}
spacing = 0.5
num_points = 10
}
lines{
name = "lines"
spacing = 0.5
k_max = 1.0
}
full{
name = "3D"
kxgrid{
line{
pos = -1
spacing = 0.02
}
}
kygrid{
line{
pos = -1
spacing = 0.02
}
}
kzgrid{
line{
pos = -1
spacing = 0.02
}
}
}
superlattice{
name = "superlattice"
num_points_x = 10
num_points_y = 15
num_points_z = 20
num_points = 20
}
}
}
L{
... (same as Gamma)
}
X{
... (same as Gamma)
}
Delta{
... (same as Gamma)
}
HH{
... (same as Gamma)
}
LH{
... (same as Gamma)
}
SO{
... (same as Gamma)
}
kp_6band{
... (same as Gamma)
kp_parameters{
use_Luttinger_parameters = no
approximate_kappa = no
}
lapack{}
#arpack{}
k_integration{
relative_size = 0.2
num_points = 5
num_subpoints = 2
max_symmetry = no
force_k0_subspace = yes
}
}
kp_8band{
num_electrons = 6
num_holes = 12
accuracy = 1e-8
iterations = 200
kp_parameters{
use_Luttinger_parameters = no
from_6band_parameters = no
approximate_kappa = no
evaluate_S = no
rescale_S_to = 1.0
}
k_integration{
... (same as kp_6band)
}
lapack{}
#arpack_inv{}
shift_window = 0
shift = 0.2
abs_shift = 2.5
linear_solver{
iterations = 500
abs_accuracy = 1e-9
rel_accuracy = 1e-9
use_cscg = no
force_diagonal_preconditioner = no
}
#advanced settings for 8-band k.p quantum density
shift_min_CB = 0.0
shift_max_VB = 0.0
tunneling = yes
classify_kspace = 0
threshold_classification = 0.5
}
#Matrix elements definitions
#---------------------------
interband_matrix_elements{
KP6_Gamma{}
HH_Gamma{} # < HH_i | Gamma_j >
LH_Gamma{} # < LH_i | Gamma_j >
SO_Gamma{} # < SO_i | Gamma_j >
HH_Delta{} # < HH_i | Delta_j >
LH_Delta{} # < LH_i | Delta_j >
SO_Delta{} # < SO_i | Delta_j >
HH_X{} # < HH_i | X_j >
LH_X{} # < LH_i | X_j >
SO_X{} # < SO_i | X_j >
HH_L{} # < HH_i | L_j >
LH_L{} # < LH_i | L_j >
SO_L{} # < SO_i | L_j >
output_matrix_elements = yes
output_transition_energies = yes/no #
}
intraband_matrix_elements{
direction = [1,1,0]
Gamma{}
Delta{}
X{}
L{}
HH{}
LH{}
SO{}
KP6{}
KP8{}
output_matrix_elements = yes/no output_transition_energies = yes/no
output_oscillator_strengths = yes/no
}
dipole_moment_matrix_elements{
direction = [1,1,0]
Gamma{}
Delta{}
X{}
L{}
HH{}
LH{}
SO{}
KP6{}
KP8{}
output_matrix_elements = yes
output_transition_energies = yes
output_oscillator_strengths = yes
}
transition_energies{
Gamma{}
KP6_Gamma{}
HH_Gamma{}
LH_Gamma{}
SO_Gamma{}
Delta{}
HH_Delta{}
LH_Delta{}
SO_Delta{}
X{}
HH_X{}
LH_X{}
SO_X{}
L{}
HH_L{}
LH_L{}
SO_L{}
HH{}
LH{}
SO{}
KP6{}
KP8{}
}
lifetimes{
phonon_energy = 0.036
Gamma{}
HH{}
LH{}
}
} # end: region{}
#Many body effects
#-----------------
exchange_correlation{
type = lda
initial_spin_pol = 1.0
output_spin_polarization{}
output_exchange_correlation{}
}
}
Last update: 10/04/2025