[general]: General parameters ----------------------------- Frequently used parameters that apply to the whole simulation. .. admonition:: afm_order :class: intag **type** = bool; **default** = False copy self energies instead of solving explicitly for afm order .. admonition:: beta :class: intag **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 .. admonition:: block_threshold :class: intag **type** = float; **default** = 1e-5 threshold for finding block structures in the input data (off-diag yes or no) .. admonition:: broy_max_it :class: intag **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 .. admonition:: calc_energies :class: intag **type** = bool; **default** = False Calculate the energies explicitly within the dmft loop and write them to the observables file. Not compatible with 'ftps' solver .. admonition:: calc_mu_method :class: intag **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 .. admonition:: csc :class: intag **type** = bool; **default** = False are we doing a CSC calculation? .. admonition:: dc :class: intag **type** = bool; **default** = True is the double-counting correction on? .. admonition:: dc_dmft :class: intag **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 .. admonition:: dc_type :class: intag **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 .. admonition:: enforce_off_diag :class: intag **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 .. admonition:: eta :class: intag **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 .. admonition:: fixed_mu_value :class: intag **type** = float; **default** = None If given, the chemical potential remains fixed in calculations .. admonition:: g0_conv_crit :class: intag **type** = float; **default** = -1.0 stop the calculation if sum_w 1/(w^0.6) ||G0-G0_prev|| is smaller than threshold .. admonition:: g0_mix :class: intag **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 .. admonition:: g0_mix_type :class: intag **type** = string; **default** = 'linear' which type of mixing is used. Possible values are: linear: linear mixing broyden: broyden mixing .. admonition:: gimp_conv_crit :class: intag **type** = float; **default** = -1.0 stop the calculation if sum_w 1/(w^0.6) ||Gimp-Gloc|| is smaller than threshold .. admonition:: h_field :class: intag **type** = float; **default** = 0.0 magnetic field .. admonition:: h_field_it :class: intag **type** = int; **default** = 0 number of iterations the magnetic field is kept on .. admonition:: h_int_basis :class: intag **type** = string; **default** = 'triqs' cubic basis convention to compute the interaction U matrix * 'triqs' * 'vasp' (equivalent to 'triqs') * 'wien2k' * 'wannier90' * 'qe' (equivalent to 'wannier90') .. admonition:: h_int_type :class: intag **type** = string; **mandatory** interaction type: * density_density: used for full d-shell or eg- or t2g-subset * kanamori: only physical for the t2g or the eg subset * 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 * dynamic: use dynamic U from h5 archive Needs to be stored as Matsubara Gf under dynamic_U/U_iw in the input h5 .. admonition:: h5_save_freq :class: intag **type** = int; **default** = 5 how often is the output saved to the h5 archive .. admonition:: J :class: intag **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. .. admonition:: jobname :class: intag **type** = str; **default** = 'dmft_dir' the output directory for one-shot calculations .. admonition:: load_sigma :class: intag **type** = bool; **default** = False load a old sigma from h5 file .. admonition:: load_sigma_iter :class: intag **type** = int; **default** = -1 load the sigma from a specific iteration if wanted. If it is -1, loads from the last iteration. .. admonition:: magmom :class: intag **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) .. admonition:: magnetic :class: intag **type** = bool; **default** = False are we doing a magnetic calculations? If yes put magnetic to True. Not implemented for CSC calculations .. admonition:: mu_gap_gb2_threshold :class: intag **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. .. admonition:: mu_gap_occ_deviation :class: intag **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. .. admonition:: mu_initial_guess :class: intag **type** = float; **default** = None The chemical potential of the DFT calculation. If not given, mu will be calculated from the DFT bands .. admonition:: mu_mix_const :class: intag **type** = float; **default** = 1.0 Constant term of the mixing of the chemical potential. See mu_mix_per_occupation_offset. .. admonition:: mu_mix_per_occupation_offset :class: intag **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. .. admonition:: mu_update_freq :class: intag **type** = int; **default** = 1 The chemical potential will be updated every # iteration .. admonition:: n_iter_dmft :class: intag **type** = int; **mandatory** number of iterations per dmft cycle after first cycle .. admonition:: n_iter_dmft_first :class: intag **type** = int; **default** = 10 number of iterations in first dmft cycle to converge dmft solution .. admonition:: n_iter_dmft_per :class: intag **type** = int; **default** = 2 number of iterations per dmft step in CSC calculations .. admonition:: n_iw :class: intag **type** = int; **default** = 1025 number of Matsubara frequencies for the imaginary-frequency grid .. admonition:: n_tau :class: intag **type** = int; **default** = 10001 number of imaginary time points for the imaginary-time grid .. admonition:: n_w :class: intag **type** = int; **default** = 5001 number of real frequency points for the real-frequency grid .. admonition:: noise_level_initial_sigma :class: intag **type** = float; **default** = 0.0 spread of Gaussian noise applied to the initial Sigma .. admonition:: occ_conv_crit :class: intag **type** = float; **default** = -1.0 stop the calculation if a certain threshold for the imp occ change is reached .. admonition:: path_to_sigma :class: intag **type** = str; **default** = None path to h5 file from which the sigma should be loaded. Needed if load_sigma is true .. admonition:: prec_mu :class: intag **type** = float; **default** = 1e-4 general precision for determining the chemical potential at any time calc_mu is called .. admonition:: ratio_F4_F2 :class: intag **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. .. admonition:: sampling_h5_save_freq :class: intag **type** = int; **default** = 5 overwrites h5_save_freq when sampling has started .. admonition:: sampling_iterations :class: intag **type** = int; **default** = 0 for how many iterations should the solution sampled after the CSC loop is converged .. admonition:: seedname :class: intag **type** = str; **mandatory** seedname for h5 archive with DMFT input and output .. admonition:: set_rot :class: intag **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 .. admonition:: sigma_conv_crit :class: intag **type** = float; **default** = -1.0 stop the calculation if sum_w 1/(w^0.6) ||Sigma-Sigma_prev|| is smaller than threshold .. admonition:: sigma_mix :class: intag **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 .. admonition:: store_solver :class: intag **type** = bool; **default** = False whether to store the whole solver object under DMFT_input in h5 archive .. admonition:: U :class: intag **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. .. admonition:: U_prime :class: intag **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. .. admonition:: w_range :class: intag **type** = list of int; **default** = [-10, 10] Minimal and maximal range of the real-frequency grid