Self-energy functions
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
Contents
Index
ZenCore.cal_dc_amf
ZenCore.cal_dc_exact
ZenCore.cal_dc_fll
ZenCore.cal_dc_held
ZenCore.read_sigdc
ZenCore.read_sigma
ZenCore.sigma_dcount
ZenCore.sigma_gather
ZenCore.sigma_reset
ZenCore.sigma_split
ZenCore.write_sigdc
ZenCore.write_sigma
Functions
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
.