Mixer

Tools for mixing the self-energy functions $\Sigma$, hybridization functions $\Delta$, and local impurity levels $\epsilon_i$. They adopted the linear mixing algorithm. We also implement the so-called Kerker algorithm to mix the correlation-induced correction for density matrix $\Gamma$.

Source: mixer.jl

Contents

Index

Functions

ZenCore.mixer_sigmaFunction
mixer_sigma(it::IterInfo, ai::Array{Impurity,1})

Try to mix the self-energy functions Σ and then use the mixed values to update the dmft1/sigma.bare file.

See also: mixer_core.

source
ZenCore.mixer_deltaFunction
mixer_delta(it::IterInfo, ai::Array{Impurity,1})

Try to mix the hybridization functions Δ and then use the mixed values to update the dmft1/dmft.delta file.

See also: mixer_core.

source
ZenCore.mixer_eimpxFunction
mixer_eimpx(it::IterInfo, ai::Array{Impurity,1})

Try to mix the local impurity levels εᵢ and then use the mixed value to update the dmft1/dmft.eimpx file.

See also: mixer_core.

source
ZenCore.mixer_gammaFunction
mixer_gamma(it::IterInfo)

Try to mix the correction for density matrix Γ and then use the mixed value to update the dmft2/dmft.gamma file. Here we use the Kerker algorithm, instead of the linear mixing algorithm.

See also: mixer_core.

source
ZenCore.amixFunction
amix(it::IterInfo)

Return the mixing factor for mixer component. It should depend on the current iteration number, instead of a constant.

See also: IterInfo.

source
ZenCore.distanceFunction
distance(SA::Vector{Array{C64,4}}, SB::Vector{Array{C64,4}})

Calculate the difference between two multi-dimensional arrays. Usually We apply this function to calculate the difference between two self-energy functions.

See also: mixer_sigma.

source
distance(GA::Array{C64,4}, GB::Array{C64,4})

Calculate the difference between two multi-dimensional arrays. Usually We apply this function to calculate the difference between two corrections for density matrix.

See also: mixer_gamma.

source