dmft_tools.solvers.abstractdmftsolver

abstract DMFT solver class for solid_dmft

class dmft_tools.solvers.abstractdmftsolver.AbstractDMFTSolver(general_params, solver_params, sum_k, icrsh, h_int, iteration_offset, deg_orbs_ftps, gw_params=None, advanced_params=None)[source]

Abstract base class for DMFT solvers

This class defines the template for solvers for solving the DMFT impurity problem for the icrsh impurity.

Parameters:
general_paramuters: dict

general parameters as dict

solver_params: dict

solver-specific parameters as dict

sum_k: triqs.dft_tools.sumk object

SumkDFT instance

icrsh: int

correlated shell index

h_int: triqs.operator object

interaction Hamiltonian of correlated shell

iteration_offset: int

number of iterations this run is based on

Methods

postprocess()

Postprocess the DMFT impurity problem

solve(**kwargs)

Solve the DMFT impurity problem

static _fit_tail_window(Sigma_iw, fit_min_n=None, fit_max_n=None, fit_min_w=None, fit_max_w=None, fit_max_moment=None, fit_known_moments=None)[source]

Fit a high frequency 1/(iw)^n expansion of Sigma_iw and replace the high frequency part with the fitted high frequency expansion.

Either give frequency window to fit on in terms of matsubara frequencies index (fit_min_n/fit_max_n) or value (fit_min_w/fit_max_w).

Parameters:
Sigma_iwGf

Self-energy.

fit_min_nint, optional, default=int(0.8*len(Sigma_iw.mesh))

Matsubara frequency index from which tail fitting should start.

fit_max_nint, optional, default=int(len(Sigma_iw.mesh))

Matsubara frequency index at which tail fitting should end.

fit_min_wfloat, optional

Matsubara frequency from which tail fitting should start.

fit_max_wfloat, optional

Matsubara frequency at which tail fitting should end.

fit_max_momentint, optional

Highest moment to fit in the tail of Sigma_iw.

fit_known_momentsndarray.shape[order, Sigma_iw[0].target_shape], optional, default = None

Known moments of Sigma_iw, given as an numpy ndarray

Returns:
tail_barrdict of arr

fitted tail of Sigma_iw

static _gf_fit_tail_fraction(Gf, fraction=0.4, replace=None, known_moments=[])[source]

fits the tail of Gf object by making a polynomial fit of the Gf on the given fraction of the Gf mesh and replacing that part of the Gf by the fit

0.4 fits the last 40% of the Gf and replaces the part with the tail

Parameters:
GfBlockGf (Green’s function) object
fraction: float, optional default 0.4

fraction of the Gf to fit

replace: float, optional default fraction

fraction of the Gf to replace

known_moments: np.array

known moments as numpy array

Returns
——-
Gf_fitBlockGf (Green’s function) object

fitted Gf

_init_ImFreq_objects()[source]

Initialize all ImFreq objects

_init_ReFreq_objects()[source]

Initialize all ReFreq objects

abstract postprocess()[source]

Postprocess the DMFT impurity problem

abstract solve(**kwargs)[source]

Solve the DMFT impurity problem

Classes

AbstractDMFTSolver(general_params, ...[, ...])

Abstract base class for DMFT solvers