triqs_dft_tools.sumk_dft.SumkDFT.calc_dc
- SumkDFT.calc_dc(dens_mat, orb=0, U_interact=None, J_hund=None, use_dc_formula=0, use_dc_value=None, transform=True)[source]
Calculate and set the double counting corrections.
If ‘use_dc_value’ is provided the double-counting term is uniformly initialized with this constant and ‘U_interact’ and ‘J_hund’ are ignored.
If ‘use_dc_value’ is None the correction is evaluated according to one of the following formulae:
use_dc_formula = 0: fully-localised limit (FLL)
- use_dc_formula = 1: Held’s formula, i.e. mean-field formula for the Kanamori
type of the interaction Hamiltonian
use_dc_formula = 2: around mean-field (AMF)
Note that FLL and AMF formulae were derived assuming a full Slater-type interaction term and should be thus used accordingly. For the Kanamori-type interaction one should use formula 1.
The double-counting self-energy term is stored in self.dc_imp and the energy correction in self.dc_energ.
- Parameters:
- dens_matgf_struct_solver like
Density matrix for the specified correlated shell.
- orbint, optional
Index of an inequivalent shell.
- U_interactfloat, optional
Value of interaction parameter U.
- J_hundfloat, optional
Value of interaction parameter J.
- use_dc_formulaint or string, optional
Type of double-counting correction (see description of compute_DC_from_density above). There is an interface with the legacy implementation which allows for the old convention: * 0 -> ‘sFLL’ spin dependent fully localized limit * 1 -> ‘cHeld’ spin independent Held formula * 2 -> ‘sAMF’ spin dependent around-mean field approximation
- use_dc_valuefloat, optional
Value of the double-counting correction. If specified U_interact, J_hund and use_dc_formula are ignored.
- transformbool
whether or not to use the transformation in block_structure to transform the dc