# [general]: General parameters

Frequently used parameters that apply to the whole simulation.

afm_order

type= bool;default= False

copy self energies instead of solving explicitly for afm order

beta

type= float;default= None

inverse temperature. If set, solid_dmft stores all Greens functions etc on an imaginary-frequency grid and also n_iw and n_tau have to be specified. If not set, it uses a real-frequency grid and eta, n_w and w_range have to be set

block_threshold

type= float;default= 1e-5

threshold for finding block structures in the input data (off-diag yes or no)

broy_max_it

type= int;default= -1

maximum number of iteration to be considered for broyden mixing. Only used if general.g0_mix_type=’broyden’. 1 corresponds to simple linear mixing

calc_energies

type= bool;default= False

Calculate the energies explicitly within the dmft loop and write them to the observables file. Not compatible with ‘ftps’ solver

calc_mu_method

type= string;default= ‘dichotomy’

optimization method used for finding the chemical potential:

‘dichotomy’: usual method from TRIQS, should always converge but may be slow

‘newton’: scipy Newton root finder, much faster but might be unstable

‘brent’: scipy hyperbolic Brent root finder preconditioned with dichotomy to find edge, a compromise between speed and stability

csc

type= bool;default= False

are we doing a CSC calculation?

dc

type= bool;default= True

is the double-counting correction on?

dc_dmft

type= bool;default= None

Calculate the double-counting (DC) correction from DMFT or DFT occupations. Needs to be set if general.dc = True.

True: DC with DMFT occupation in each iteration

False: DC with DFT occupations after each DFT cycle

dc_type

type= int or list of int;default= None

Type of double counting correction considered. Can be a list per impurity to have different types for different impurities. Needs to be set if general.dc = True.

0: FLL

1: Held formula, needs to be used with slater-kanamori h_int_type=2

2: AMF

3: FLL for eg orbitals only with U,J for Kanamori

for cRPA interactions this can be also a string to determine the type of DC from the full interaction * crpa_static * crpa_static_qp * crpa_dynamic

dlr_eps

type= float;default= None

precision for DLR basis set if needed, see also triqs.gf.meshes.MeshDLR

dlr_wmax

type= float;default= None

spectral width (one-side) for DLR basis set if needed, see also triqs.gf.meshes.MeshDLR

enforce_off_diag

type= bool or list of bool;default= True

only if False, the block structure can be reduced to ignore off-diagonal elements if they are below the general.block_threshold of the block structure finder

eta

type= float;default= None

broadening of Green’s function. Used when Green’s functions are stored on real-frequency grid, i.e., general.beta is None, and for the real-frequency solvers

fixed_mu_value

type= float;default= None

If given, the chemical potential remains fixed in calculations

g0_conv_crit

type= float;default= -1.0

stop the calculation if sum_w 1/(w^0.6) ||G0-G0_prev|| is smaller than threshold

g0_mix

type= float;default= 1.0

Mixing the weiss field G0 with previous iteration G0 for better convergency. 1.0 means no mixing. Setting g0_mix to 0.0 with linear mixing can be used for statistic sampling when restarting a calculation

g0_mix_type

type= string;default= ‘linear’

which type of mixing is used. Possible values are: linear: linear mixing broyden: broyden mixing

gimp_conv_crit

type= float;default= -1.0

stop the calculation if sum_w 1/(w^0.6) ||Gimp-Gloc|| is smaller than threshold

gw_embedding

type= bool;default= False

use GW embedding workflow module (gw_flow.py) instead of dmft_cycle for aimbes GW embedding, see section gw

h_field

type= float;default= 0.0

magnetic field

h_field_it

type= int;default= 0

number of iterations the magnetic field is kept on

h_int_basis

type= string;default= ‘triqs’

cubic basis convention to compute the interaction U matrix

‘triqs’

‘vasp’ (equivalent to ‘triqs’)

‘wien2k’

‘wannier90’

‘qe’ (equivalent to ‘wannier90’)

h_int_type

type= string;mandatory

interaction type:

density_density: used for full d-shell or eg- or t2g-subset (with U=F0, J=(F2+F4)/14)

kanamori: only physical for the t2g or the eg subset

kanamori_den_den: density density form of Kanamori, but with Kanamori U and J

full_slater: used for full d-shell or eg- or t2g-subset

ntot: U/2 (Ntot^2 - Ntot) interaction

simple_intra: density-density like but only intra orbital with given U value (no rotations applied)

crpa: use the cRPA matrix as interaction Hamiltonian

crpa_density_density: use the density-density terms of the cRPA matrix

dyn_full: use dynamic U from h5 archive

dyn_density_density: use dynamic U from h5 archive but only the density-density terms

h5_save_freq

type= int;default= 5

how often is the output saved to the h5 archive

J

type= float or list of float;mandatory

J interaction value. If it is a float, the same J is assumed for all impurities, otherwise as a list a different J can be specified per impurity.

jobname

type= str;default= ‘dmft_dir’

the output directory for one-shot calculations

load_sigma

type= bool;default= False

load a old sigma from h5 file

load_sigma_iter

type= int;default= -1

load the sigma from a specific iteration if wanted. If it is -1, loads from the last iteration.

magmom

type= list of float;default= None

Initialize magnetic moments if magnetic is on. length must be #imps. List composed of energetic shifts written in electronvolts. This will initialize the spin blocks of the sigma with a diagonal shift With -shift for the up block, and +shift for the down block (positive shift favours the up spin component, not compatible with spin-orbit coupling)

magnetic

type= bool;default= False

are we doing a magnetic calculations? If yes put magnetic to True. Not implemented for CSC calculations

mu_gap_gb2_threshold

type= float;default= None

Threshold of the absolute of the lattice GF at tau=beta/2 for use of MaxEnt’s lattice spectral function to put the chemical potential into the middle of the gap. Does not work if system completely full or empty, mu mixing is not applied to it. Recommended value 0.01.

mu_gap_occ_deviation

type= float;default= None

Only used if mu_gap_gb2_threshold != None. Sets additional criterion for finding the middle of the gap through occupation deviation to avoid getting stuck in an insulating state with wrong occupation.

mu_initial_guess

type= float;default= None

The chemical potential of the DFT calculation. If not given, mu will be calculated from the DFT bands

mu_mix_const

type= float;default= 1.0

Constant term of the mixing of the chemical potential. See mu_mix_per_occupation_offset.

mu_mix_per_occupation_offset

type= float;default= 0.0

Mu mixing proportional to the occupation offset. Mixing between the dichotomy result and the previous mui,

mu_next = factor * mu_dichotomy + (1-factor) * mu_previous, with factor = mu_mix_per_occupation_offset * abs(n - n_target) + mu_mix_const.

The program ensures that 0 <= factor <= 1. mu_mix_const = 1.0 and mu_mix_per_occupation_offset = 0.0 means no mixing.

mu_update_freq

type= int;default= 1

The chemical potential will be updated every # iteration

n_iter_dmft

type= int;mandatory

number of iterations per dmft cycle after first cycle

n_iter_dmft_first

type= int;default= 10

number of iterations in first dmft cycle to converge dmft solution

n_iter_dmft_per

type= int;default= 2

number of iterations per dmft step in CSC calculations

n_iw

type= int;default= 1025

number of Matsubara frequencies for the imaginary-frequency grid

n_tau

type= int;default= 10001

number of imaginary time points for the imaginary-time grid

n_w

type= int;default= 5001

number of real frequency points for the real-frequency grid

noise_level_initial_sigma

type= float;default= 0.0

spread of Gaussian noise applied to the initial Sigma

occ_conv_crit

type= float;default= -1.0

stop the calculation if a certain threshold for the imp occ change is reached

path_to_sigma

type= str;default= None

path to h5 file from which the sigma should be loaded. Needed if load_sigma is true

prec_mu

type= float;default= 1e-4

general precision for determining the chemical potential at any time calc_mu is called

ratio_F4_F2

type= float or list of float;default= None

Ratio between the Slater integrals F_4 and F_2. Only used for the
interaction Hamiltonians ‘density_density’ and ‘full_slater’ and
only for d-shell impurities; **default** is 0.63.

sampling_h5_save_freq

type= int;default= 5

overwrites h5_save_freq when sampling has started

sampling_iterations

type= int;default= 0

for how many iterations should the solution sampled after the CSC loop is converged

seedname

type= str;mandatory

seedname for h5 archive with DMFT input and output

set_rot

type= string;default= None

Local orbital rotations added by solid_dmft

None: keep the rotations stored in the h5 archive

‘den’ use the DFT occupations density_mat_dft for diagonalization

‘hloc’: use the DFT local Hamiltonian hloc_dft for diagonalization

sigma_conv_crit

type= float;default= -1.0

stop the calculation if sum_w 1/(w^0.6) ||Sigma-Sigma_prev|| is smaller than threshold

sigma_mix

type= float;default= 1.0

careful: Sigma mixing can break orbital symmetries, use G0 mixing. mixing sigma with previous iteration sigma for better convergency. 1.0 means no mixing

store_solver

type= bool;default= False

whether to store the whole solver object under DMFT_input in h5 archive

U

type= float or list of float;mandatory

U interaction value. If it is a float, the same U is assumed for all impurities, otherwise as a list a different U can be specified per impurity.

U_crpa_threshold

type= float;default= 0.0

threshold for the cRPA interaction matrix. If the absolute value of the elements is below this threshold, they are set to zero.

U_prime

type= float or list of floats;default= None

U prime interaction value.
Only used for impurities where general.h_int_type is kanamori.
If it is a float, the same U prime is assumed for all impurities,
otherwise as a list a different U prime can be specified per impurity.
For None; **default** of U prime = U-2J is used.

w_range

type= list of int;default= [-10, 10]

Minimal and maximal range of the real-frequency grid