[solver]: solver specific parameters
Here are the parameters that are uniquely dependent on the solver chosen. Some parameters are used within solid_dmft and some are passed directly into the triqs solver. To see which parameters were passed to the solver for a given calculation, look at the triqs_solver_params in DMFT_input/solver in the h5 archive. Solver-specific parameters are listed in the respective sections.
type
type = str; mandatory
type of solver chosen for the calculation, currently supports:
‘cthyb’
‘ctint’
‘ctseg’
‘hubbardI’
‘ftps’
‘hartree’
idx_impurities
type = list of int; default = None
list of impurities this solver is supposed to solve
cthyb
crm_dyson_solver
type = bool; default = False
use CRM Dyson solver to extract Sigma_imp from G(tau) (conflict with legendre_fit and tail_fit) set dlr_wmax and dlr_eps parameters in general section to use
- crm_dlr_wmax: float; default = None
customized dlr_wmax for the crm_dyson_solver. Only used if crm_dyson_solver = True. Set to dlr_wmax if crm_dlr_wmax = None.
- crm_dlr_eps: float; default = None
customized dlr_eps for the crm_dyson_solver. Only used if crm_dyson_solver = True. Set to dlr_eps if crm_dlr_eps = None.
delta_interface
type = bool; default = False
use delta interface in cthyb instead of input G0
diag_delta
type = bool; default = False
approximate the hybridization function as diagonal when using the delta interface
fit_max_moment
type = int; default = None
max moment to be fitted. Only used if solver.perform_tail_fit = True
fit_max_n
type = int; default = None
number of highest matsubara frequency to fit. Only used if solver.perform_tail_fit = True
fit_max_w
type = float; default = None
highest matsubara frequency to fit. Only used if solver.perform_tail_fit = True
fit_min_n
type = int; default = None
number of start matsubara frequency to start with. Only used if solver.perform_tail_fit = True
fit_min_w
type = float; default = None
start matsubara frequency to start with. Only used if solver.perform_tail_fit = True
imag_threshold
type = float; default = 1e-14
threshold for imag part of G0_tau. be warned if symmetries are off in projection scheme imag parts can occur in G0_tau
legendre_fit
type = bool; default = False
filter noise of G(tau) with G_l, cutoff is taken from n_l
length_cycle
type = int; mandatory
length of each cycle; number of sweeps before measurement is taken
loc_n_max
type = int; default = None
Restrict local Hilbert space to states with at most this number of particles
loc_n_min
type = int; default = None
Restrict local Hilbert space to states with at least this number of particles
max_time
type = int; default = -1
maximum amount the solver is allowed to spend in each iteration
measure_chi_insertions
type = int; default = 100
number of insertation for measurement of chi
measure_chi
type = str; default = None
measure the dynamic suszeptibility of an operator O, chi(O,O(tau)) triqs.github.io/cthyb/unstable/guide/dynamic_susceptibility_notebook.html Possible values for this flag are:
‘SzSz’: spin susceptibility
‘NN’: occupation susceptibility
measure_density_matrix
type = bool; default = False
measures the impurity density matrix and sets also use_norm_as_weight to true
measure_G_l
type = bool; default = False
measure Legendre Greens function
measure_pert_order
type = bool; default = False
measure perturbation order histograms: triqs.github.io/cthyb/latest/guide/perturbation_order_notebook.html. The result is stored in the h5 archive under ‘DMFT_results’ at every iteration in the subgroups ‘pert_order_imp_X’ and ‘pert_order_total_imp_X’
move_double
type = bool; default = True
double moves in solver
move_shift
type = bool; default = False
shift moves in solver
n_cycles_tot
type = int; mandatory
total number of sweeps
n_l
type = int; default = None
number of Legendre coefficients. Needed if measure_G_l=True or legendre_fit=True
n_warmup_cycles
type = int; mandatory
number of warmup cycles before real measurement sets in
off_diag_threshold
type = float; default = 0.0
threshold for off-diag elements in Hloc0
perform_tail_fit
type = bool; default = False
tail fitting if legendre is off?
random_seed
type = str; default = None
if None; default seed by triqs. If specified the int will be used for random seeds. Careful, this will give the same random numbers on all mpi ranks. You can also pass a string that will convert the keywords it or rank on runtime, e.g., 34788 * it + 928374 * rank will convert each iteration the variables it and rank for the random seed
ctint
length_cycle
type = int; mandatory
length of each cycle; number of sweeps before measurement is taken
max_time
type = int; default = -1
maximum amount the solver is allowed to spend in each iteration
measure_pert_order
type = bool; default = False
measure perturbation order histograms: triqs.github.io/cthyb/latest/guide/perturbation_order_notebook.html. The result is stored in the h5 archive under ‘DMFT_results’ at every iteration in the subgroups ‘pert_order_imp_X’ and ‘pert_order_total_imp_X’
move_double
type = bool; default = True
double moves in solver
n_cycles_tot
type = int; mandatory
total number of sweeps
n_warmup_cycles
type = int; mandatory
number of warmup cycles before real measurement sets in
random_seed
type = str; default = None
if None; default seed by triqs. If specified the int will be used for random seeds. Careful, this will give the same random numbers on all mpi ranks. You can also pass a string that will convert the keywords it or rank on runtime, e.g., 34788 * it + 928374 * rank will convert each iteration the variables it and rank for the random seed
ctseg
crm_dyson_solver
type = bool; default = False
use CRM Dyson solver to extract Sigma_imp from G(tau) (conflict with legendre_fit and tail_fit) set dlr_wmax and dlr_eps parameters in general section to use
- crm_dlr_wmax: float; default = None
customized dlr_wmax for the crm_dyson_solver. Only used if crm_dyson_solver = True. Set to dlr_wmax if crm_dlr_wmax = None.
- crm_dlr_eps: float; default = None
customized dlr_eps for the crm_dyson_solver. Only used if crm_dyson_solver = True. Set to dlr_eps if crm_dlr_eps = None.
diag_delta
type = bool; default = False
approximate the hybridization function as diagonal when using the delta interface
fit_max_moment
type = int; default = None
max moment to be fitted. Only used if solver.perform_tail_fit = True
fit_max_n
type = int; default = None
number of highest matsubara frequency to fit. Only used if solver.perform_tail_fit = True
fit_max_w
type = float; default = None
highest matsubara frequency to fit. Only used if solver.perform_tail_fit = True
fit_min_n
type = int; default = None
number of start matsubara frequency to start with. Only used if solver.perform_tail_fit = True
fit_min_w
type = float; default = None
start matsubara frequency to start with. Only used if solver.perform_tail_fit = True
improved_estimator
type = bool; default = False
measure improved estimators Sigma_iw will automatically be calculated via http://dx.doi.org/10.1103/PhysRevB.85.205106
legendre_fit
type = bool; default = False
filter noise of G(tau) with G_l, cutoff is taken from n_l
length_cycle
type = int; mandatory
length of each cycle; number of sweeps before measurement is taken
max_time
type = int; default = -1
maximum amount the solver is allowed to spend in each iteration
measure_G_tau
type = bool; default = True
should the solver measure G(tau)?
measure_nn_tau
type = boold; default = False
measure two particle density-density correlation function (suszeptibility)
measure_pert_order
type = bool; default = False
measure perturbation order histograms: triqs.github.io/cthyb/latest/guide/perturbation_order_notebook.html. The result is stored in the h5 archive under ‘DMFT_results’ at every iteration in the subgroups ‘pert_order_imp_X’ and ‘pert_order_total_imp_X’
measure_state_hist
type = bool; default = False
measure state histogram, i.e. diagonal components of many body density matrix
n_cycles_tot
type = int; mandatory
total number of sweeps
n_l
type = int; default = None
number of Legendre coefficients. Needed if measure_G_l=True or legendre_fit=True
n_tau_bosonic
type = int; default = 10001
number imaginary time points for dynamic interactions
n_warmup_cycles
type = int; mandatory
number of warmup cycles before real measurement sets in
off_diag_threshold
type = float; default = 0.0
threshold for off-diag elements in Hloc0
perform_tail_fit
type = bool; default = False
tail fitting if legendre is off?
random_seed
type = str; default = None
if None; default seed by triqs. If specified the int will be used for random seeds. Careful, this will give the same random numbers on all mpi ranks. You can also pass a string that will convert the keywords it or rank on runtime, e.g., 34788 * it + 928374 * rank will convert each iteration the variables it and rank for the random seed
hubbardI
legendre_fit
type = bool; default = False
filter noise of G(tau) with G_l, cutoff is taken from n_l
measure_density_matrix
type = bool; default = False
measures the impurity density matrix and sets also use_norm_as_weight to true
measure_G_l
type = bool; default = False
measure Legendre Greens function
measure_G_tau
type = bool; default = True
should the solver measure G(tau)?
n_l
type = int; default = None
number of Legendre coefficients. needed if measure_G_l=True or legendre_fit=True
ftps parameters
bath_fit
type = bool; mandatory
DiscretizeBath vs BathFitter
calc_me
type = bool; default = True
calculate only symmetry-inequivalent spins/orbitals, symmetrized afterwards
diag_delta
type = bool; default = False
option to remove off-diagonal terms in the hybridization function available for ftps
dmrg_maxm
type = int; default = 100
TODO: add description
dmrg_maxmB
type = int; default = 100
maximal bath-bath bond dimensions
dmrg_maxmI
type = int; default = 100
maximal imp-imp bond dimensions
dmrg_maxmIB
type = int; default = 100
maximal imp-bath bond dimensions
dmrg_tw
type = float; default 1e-9
truncated weight for every link
dt
type = float; mandatory
time step
enforce_gap
type = list of float; default = None
enforce gap in DiscretizeBath between interval
ignore_weight
type = float; default = 0.0
ignore weight of peaks for bath fitter
maxm
type = int; default = 100
TODO: write description
maxmB
type = int; default = 100
maximal bath-bath bond dimensions
maxmI
type = int; default = 100
maximal imp-imp bond dimensions
maxmIB
type = int; default = 100
maximal imp-bath bond dimensions
n_bath
type = int; default = 0
number of bath sites
path_to_gs
type = string; default = None
location of GS if already present. Use ‘postprocess’ to skip solver and go directly to post-processing of previously terminated time-evolved state
ph_symm
type = bool; default = False
particle-hole symmetric problem
refine_factor
type = int; default = 1
rerun ftps cycle with increased accuracy
state_storage
type = string; default = ‘./’
location of large MPS states
sweeps
type = int; default = 10
Number of DMRG sweeps
tw
type = float; default 1e-9
truncated weight for every link
hartree
force_real
type = bool; default = True
force the self energy from Hartree fock to be real
method
type = str; default = “krylov”
method for root finder. Only used if one_shot=False, see scipy.optimize.root for options.
one_shot
type = bool; default = False
Perform a one-shot or self-consitent root finding in each DMFT step of the Hartree solver.
tol
type = float; default = 1e-5
tolerance for root finder if one_shot=False.
with_fock
type = bool; default = False
include Fock exchange terms in the self-energy