DMFT

Wrapper for dynamical mean-field theory engine. It also provides some essential tools to deal with (read and write) the fermi level $\mu$, hybridization functions $\Delta$, local impurity levels $\epsilon_i$, and correlation-induced correction for density matrix $\Gamma$.

Source: dmft.jl

Contents

Index

Functions

ZenCore.dmft_initFunction
dmft_init(it::IterInfo, task::I64)

Initialize the dynamical mean-field theory engine. Prepare the necessary files, and generate the configuration file.

See also: dmft_exec, dmft_save.

source
ZenCore.read_fermiFunction
read_fermi()

Parse the dmft?/dmft.fermi file to extract the chemical potential. The lattice occupancy and correction to the DFT band energy will be extracted and returned at the same time.

Note that if lfermi in dmft.in is false, the chemical potential and lattice occupancy will not be calculated by the DMFT engine. On the other hand, if the DMFT engine works on non-self-consistent mode, the correction to DFT band energy will be zero as well.

See also: dmft_save.

source
ZenCore.read_deltaFunction
read_delta(imp::Impurity)

Extract hybridization functions Δ from impurity.i/dmft.delta file, which is generated by sigma_split(). Then the data will be written into solver.hyb.in file (or someting else) by write_delta(). These data are essential for quantum impurity solvers. The working directory of this function must be equal to impurity.i.

The frequency mesh is also extracted in this function.

See also: Impurity, read_eimpx.

source
read_delta(ai::Array{Impurity,1}, fhyb::String = "dmft1/dmft.delta")

Read the dmft1/dmft.delta file, extract the hybridization functions Δ and the corresponding frequency mesh ω. The working directory of this function must be the root folder. Usually, this function is called by the mixer_delta() function and the sigma_split() function.

See also: sigma_split, read_eimpx.

source
ZenCore.read_eimpxFunction
read_eimpx(imp::Impurity)

Extract local impurity levels ε from impurity.i/dmft.eimpx file, which is generated by sigma_split(). Then the data will be written into solver.eimp.in (or something else) by write_eimpx(). These data are essential for quantum impurity solvers. The working directory for this function must be equal to impurity.i.

See also: Impurity, read_delta.

source
read_eimpx(ai::Array{Impurity,1}, flev::String = "dmft1/dmft.eimpx")

Read the dmft1/dmft.eimpx file, extract the local impurity levels εᵢ. The working directory of this function must be the root folder. Usually, this function is called by the mixer_eimpx() function and the sigma_split() function.

See also: sigma_split, read_delta.

source
ZenCore.read_gammaFunction
read_gamma(fgamma::String = "dmft2/dmft.gamma")

Read the dmft2/dmft.gamma file. It contains the correlation-induced correction for density matrix. The correction will be fed back to the DFT engine, and then the DFT engine will generate new Kohn-Sham dataset.

This function also return the 𝑘-mesh, which is useful for mixing the Γ matrix with the Kerker mixing algorithm.

The working directory of this function must be the root folder.

See also: write_gamma.

source
ZenCore.write_deltaFunction
write_delta(fmesh::Array{F64,1}, Delta::Array{C64,5}, ai::Array{Impurity,1})

Split hybridization functions Δ and the corresponding frequency mesh ω into the impurity.i/dmft.delta file, which is important for the chosen quantum impurity solver. The working directory of this function must be the root folder.

This function is usually called by the sigma_split() function.

See also: Impurity, read_delta, write_eimpx.

source
write_delta(fmesh::Array{F64,1}, Delta::Array{C64,5}, ai::Array{Impurity,1}, fhyb::String)

Write hybridization functions Δ into the fhyb file. This function is usually called by mixer_delta() function to update the hybridization files stored in dmft1/dmft.delta file. The working directory of this function must be the root folder.

See also: Impurity, read_delta, write_eimpx.

source
ZenCore.write_eimpxFunction
write_eimpx(Eimpx::Array{C64,4}, ai::Array{Impurity,1})

Split local impurity levels ε into the impurity.i/dmft.eimpx file, which is important for the chosen quantum impurity solver. The working directory of this function must be the root folder.

This function is usually called by the sigma_split() function.

See also: Impurity, read_eimpx, write_delta.

source
write_eimpx(Eimpx::Array{C64,4}, ai::Array{Impurity,1}, flev::String)

Write local impurity levels ε into the flev file. This function is usually called by mixer_eimpx() function to update the local impurity levels stored in dmft1/dmft.eimpx file. The working directory of this function must be the root folder.

See also: Impurity, read_eimpx, write_delta.

source
ZenCore.write_gammaFunction
write_gamma(kmesh::Array{F64,2}, kwin::Array{I64,3}, gamma::Array{C64,4}, fgamma::String)

Write correction for density matrix Γ into fgamma file. This function is usually called by mixer_gamma() function to update the correction for density matrix stored in the dmft2/dmft.gamma file. The working directory of this function must be the root folder.

See also: read_gamma, write_delta, write_eimpx.

source