[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