dmft_tools.initial_self_energies

Contains all functions related to determining the double counting and the initial self-energy.

dmft_tools.initial_self_energies.calculate_double_counting(sum_k, density_matrix, general_params, gw_params, advanced_params, solver_type_per_imp, G_loc_all=None)[source]

Calculates the double counting, including all manipulations from advanced_params.

Parameters:
sum_kSumkDFT object
density_matrixlist of gf_struct_solver like

List of density matrices for all inequivalent shells

general_paramsdict

general parameters as a dict

gw_paramsdict

GW parameters as a dict

advanced_paramsdict

advanced parameters as a dict

solver_type_per_implist of str

List of solver types for each impurity

G_loc_alllist of BlockGf (Green’s function) objects, optional

List of local Green’s functions for all shells

Returns:
sum_kSumKDFT object

The SumKDFT object containing the updated double counting

dmft_tools.initial_self_energies.determine_dc_and_initial_sigma(general_params, gw_params, advanced_params, sum_k, archive, iteration_offset, G_loc_all, solvers, solver_type_per_imp)[source]

Determines the double counting (DC) and the initial Sigma. This can happen in five different ways: * Calculation resumed: use the previous DC and the Sigma of the last complete calculation.

  • Calculation initialized with load_sigma: use the DC and Sigma from the previous file. If the DC changed (and therefore the Hartree shift), the initial Sigma is adjusted by that.

  • New calculation, with DC: calculate the DC, then initialize the Sigma as the DC, effectively starting the calculation from the DFT Green’s function. Also breaks magnetic symmetry if calculation is magnetic.

  • New calculation, without DC: Sigma is initialized as 0, starting the calculation from the DFT Green’s function.

Parameters:
general_paramsdict

general parameters as a dict

gw_paramsdict

GW parameters as a dict

advanced_paramsdict

advanced parameters as a dict

sum_kSumkDFT object

Sumk object with the information about the correct block structure

archiveHDFArchive

the archive of the current calculation

iteration_offsetint

the iterations done before this calculation

G_loc_allGf

local Green function for all shells

solverslist

list of Solver instances

Returns:
sum_kSumkDFT object

the SumkDFT object, updated by the initial Sigma and the DC

solverslist

list of Solver instances, updated by the initial Sigma