Tools for treating the self-energy functions $\Sigma$, double counting terms $\Sigma_{\text{dc}}$. Note that the function sigma_split() is designed for the hybridization functions $\Delta$ and local impurity levels $\epsilon_i$, instead of the self-energy functions.
Source: sigma.jl
ZenCore.cal_dc_amfZenCore.cal_dc_exactZenCore.cal_dc_fllZenCore.cal_dc_heldZenCore.read_sigdcZenCore.read_sigmaZenCore.sigma_callZenCore.sigma_dcountZenCore.sigma_gatherZenCore.sigma_resetZenCore.sigma_splitZenCore.write_sigdcZenCore.write_sigma
Functions
ZenCore.sigma_call — Functionsigma_call(::NULLMode, it::IterInfo, ai::Array{Impurity,1})
sigma_call(::RESETMode, it::IterInfo, ai::Array{Impurity,1})
sigma_call(::DCOUNTMode, it::IterInfo, ai::Array{Impurity,1})
sigma_call(::SPLITMode, it::IterInfo, ai::Array{Impurity,1})
sigma_call(::GATHERMode, it::IterInfo, ai::Array{Impurity,1})Try to apply various operations on the self-energy functions Σ and the hybridization functions Δ (or impurity levels ϵ).
See also: _mode_.
ZenCore.sigma_reset — Functionsigma_reset(ai::Array{Impurity,1}, with_init_dc::Bool = true)Create initial self-energy functions and write them to sigma.bare. The sigma.bare file is key input for the dynamical mean-field theory engine. The word bare means that the double counting term has not been removed from the self-energy functions. Now this function only supports Matsubara self-energy functions Σ(𝑖ωₙ).
If with_init_dc = true, then the real parts of self-energy functions are initialized by the double counting terms within the fully localized limited scheme. If with_init_dc = false, then the self-energy functions are set to be complex zero.
See also: sigma_dcount.
ZenCore.sigma_dcount — Functionsigma_dcount(it::IterInfo,
ai::Array{Impurity,1},
reset_dc::Bool = false)Calculate double counting terms for local self-energy functions and write them to sigma.dc, which is an essential input for the dynamical mean-field theory engine.
If reset_dc = true, it will reset the double counting terms to zero. This is particularly useful for the first DFT + DMFT iteration. However, if reset_dc = false, it will retain the double counting terms.
The field it.dc will be updated in this function as well.
See also: sigma_reset.
ZenCore.sigma_split — Functionsigma_split(ai::Array{Impurity,1})Split the hybridization functions Δ (and local impurity levels ϵ) and then distribute them into the impurity.i folder.
See also: sigma_gather.
ZenCore.sigma_gather — Functionsigma_gather(it::IterInfo, ai::Array{Impurity,1})Gather the self-energy functions Σ (or similar local functions) from the all the impurity.i folders and then combine them into a single sigma.bare file.
See also: sigma_split.
ZenCore.cal_dc_fll — Functioncal_dc_fll(U::F64, J::F64, N::F64)Evaluate the double counting term by the fully localized limit scheme. This function is for the spin-unpolarized case.
See also: cal_dc_amf, cal_dc_exact.
cal_dc_fll(U::F64, J::F64, Nup::F64, Ndn::F64)Evaluate the double counting term by the fully localized limit scheme. This function is for the spin-polarized case.
See also: cal_dc_amf, cal_dc_exact.
ZenCore.cal_dc_amf — Functioncal_dc_amf(U::F64, J::F64, N::F64, M::I64)Evaluate the double counting term by the around mean-field scheme. This function is for the spin-unpolarized case.
See also: cal_dc_fll, cal_dc_exact.
cal_dc_amf(U::F64, J::F64, Nup::F64, Ndn::F64, M::I64)Evaluate the double counting term by the around mean-field scheme. This function is for the spin-polarized case.
See also: cal_dc_fll, cal_dc_exact.
ZenCore.cal_dc_held — Functioncal_dc_held(U::F64, J::F64, N::F64, M::I64)Evaluate the double counting term by the K. Held scheme.
See also: cal_dc_fll, cal_dc_amf, cal_dc_exact.
ZenCore.cal_dc_exact — Functioncal_dc_exact(U::F64, J::F64, N::F64)Evaluate the double counting term by the exact scheme.
See also: cal_dc_fll, cal_dc_amf.
ZenCore.read_sigma — Functionread_sigma(ai::Array{Impurity,1},
fsig::String = "dmft1/sigma.bare")Read the self-energy functions from the dmft1/sigma.bare file. The working directory of this function must be the root folder.
This function is usually called by mixer_sigma() function.
See also: read_sigdc.
ZenCore.read_sigdc — Functionread_sigdc(ai::Array{Impurity,1},
fsig::String = "dmft1/sigma.dc")Read the double counting terms from the dmft1/sigma.dc file. The working directory of this function must be the root folder.
See also: read_sigma.
ZenCore.write_sigma — Functionwrite_sigma(fmesh::Array{F64,1},
SA::Array{Array{C64,4},1},
ai::Array{Impurity,1})Write the self-energy functions and the corresponding frequency mesh into the dmft1/sigma.bare file, which is key input for the dynamical mean- field theory engine. The working directory of this function must be the root folder.
See also: write_sigdc.
ZenCore.write_sigdc — Functionwrite_sigdc(DCA::Array{Array{F64,3},1}, ai::Array{Impurity,1})Write the double counting terms into the dmft1/sigma.dc file, which is the key input for the dynamical mean-field theory engine. The working directory of this function must be the root folder.
See also: write_sigma.