Quantum impurity solvers
Wrapper for various quantum impurity solvers. Now only the CT-HYB₁, CT-HYB₂, HIA, and NORG quantum impurity solvers are supported.
Source: solver.jl
Contents
Index
ZenCore.CatImpurity
ZenCore.GetEnergy
ZenCore.GetImpurity
ZenCore.GetNimpx
ZenCore.GetSigma
ZenCore.GetSymmetry
ZenCore.ctqmc_atomx
ZenCore.ctqmc_delta
ZenCore.ctqmc_eimpx
ZenCore.ctqmc_energy
ZenCore.ctqmc_nimpx
ZenCore.ctqmc_setup
ZenCore.ctqmc_sigma
ZenCore.s_hub1_exec
ZenCore.s_hub1_init
ZenCore.s_hub1_save
ZenCore.s_norg_exec
ZenCore.s_norg_init
ZenCore.s_norg_save
ZenCore.s_qmc1_exec
ZenCore.s_qmc1_init
ZenCore.s_qmc1_save
ZenCore.s_qmc2_exec
ZenCore.s_qmc2_init
ZenCore.s_qmc2_save
Functions
ZenCore.s_qmc1_init
— Functions_qmc1_init(it::IterInfo, imp::Impurity)
Check runtime environment of the CT-HYB₁ quantum impurity solver. Prepare the necessary input files.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc1_exec
, s_qmc1_save
.
ZenCore.s_qmc1_exec
— Functions_qmc1_exec(it::IterInfo)
Launch the CT-HYB₁ quantum impurity solver.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc1_init
, s_qmc1_save
.
ZenCore.s_qmc1_save
— Functions_qmc1_save(it::IterInfo, imp::Impurity)
Backup output files of the CT-HYB₁ quantum impurity solver.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc1_init
, s_qmc1_exec
.
s_qmc1_save(it::IterInfo, imp₁::Impurity, imp₂::Impurity)
Backup output files of the CT-HYB₁ quantum impurity solver. We just copy selected output files from impurity.1 to impurity.2. Be careful, now we already in directory impurity.2
.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc1_init
, s_qmc1_exec
.
ZenCore.s_qmc2_init
— Functions_qmc2_init(it::IterInfo)
Check runtime environment of the CT-HYB₂ quantum impurity solver. Prepare the necessary input files.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc2_exec
, s_qmc2_save
.
ZenCore.s_qmc2_exec
— Functions_qmc2_exec(it::IterInfo)
Launch the CT-HYB₂ quantum impurity solver.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc2_init
, s_qmc2_save
.
ZenCore.s_qmc2_save
— Functions_qmc2_save(it::IterInfo)
Backup output files of the CT-HYB₂ quantum impurity solver.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc2_init
, s_qmc2_exec
.
s_qmc2_save(it::IterInfo, imp₁::Impurity, imp₂::Impurity)
Backup output files of the CT-HYB₂ quantum impurity solver. We just copy selected output files from impurity.1 to impurity.2. Be careful, now we already in directory impurity.2
.
This quantum impurity solver is from the iQIST
software package.
See also: s_qmc2_init
, s_qmc2_exec
.
ZenCore.s_hub1_init
— Functions_hub1_init(it::IterInfo)
Check runtime environment of the HIA quantum impurity solver. Prepare the necessary input files.
See also: s_hub1_exec
, s_hub1_save
.
ZenCore.s_hub1_exec
— FunctionZenCore.s_hub1_save
— Functions_hub1_save(it::IterInfo)
Backup output files of the HIA quantum impurity solver.
See also: s_hub1_init
, s_hub1_exec
.
s_hub1_save(it::IterInfo, imp₁::Impurity, imp₂::Impurity)
Backup output files of the HIA quantum impurity solver. We just copy selected output files from impurity.1 to impurity.2. Be careful, now we already in directory impurity.2
.
See also: s_hub1_init
, s_hub1_exec
.
ZenCore.s_norg_init
— Functions_norg_init(it::IterInfo)
Check runtime environment of the NORG quantum impurity solver. Prepare the necessary input files.
See also: s_norg_exec
, s_norg_save
.
ZenCore.s_norg_exec
— Functions_norg_exec(it::IterInfo)
Launch the NORG quantum impurity solver.
See also: s_norg_init
, s_norg_save
.
ZenCore.s_norg_save
— Functions_norg_save(it::IterInfo)
Backup output files of the NORG quantum impurity solver.
See also: s_norg_init
, s_norg_exec
.
s_norg_save(it::IterInfo, imp₁::Impurity, imp₂::Impurity)
Backup output files of the NORG quantum impurity solver. We just copy selected output files from impurity.1 to impurity.2. Be careful, now we already in directory impurity.2
.
See also: s_norg_init
, s_norg_exec
.
ZenCore.ctqmc_setup
— Functionctqmc_setup(imp::Impurity)
Generate default configuration file (solver.ctqmc.in
) for the CT-QMC quantum impurity solvers automatically (according to the information encoded in the Impurity
struct).
See also: Impurity
, ctqmc_atomx
.
ZenCore.ctqmc_atomx
— Functionctqmc_atomx(imp::Impurity)
Generate configuration file for the atomic problem solver.
See also: Impurity
, ctqmc_setup
.
ZenCore.ctqmc_delta
— Functionctqmc_delta(fmesh::Array{F64,1}, Delta::Array{C64,4})
Write the hybridization functions to the solver.hyb.in
file, which is suitable for the CT-QMC quantum impurity solver.
See also: ctqmc_eimpx
.
ZenCore.ctqmc_eimpx
— Functionctqmc_eimpx(Eimpx::Array{C64,3})
Write the local impurity levels to the solver.eimp.in
file, which is suitable for the CT-QMC quantum impurity solver.
See also: ctqmc_delta
.
ZenCore.ctqmc_sigma
— Functionctqmc_sigma(imp::Impurity)
Parse the solver.sgm.dat
file to extract the bare self-energy functions.
In the sigma_gather()
function, these data will be combined to generate the sigma.bare
file, which is essential for the DMFT engine.
ZenCore.ctqmc_nimpx
— Functionctqmc_nimpx(imp::Impurity)
Parse the solver.nmat.dat
file to extract the impurity occupancy. Then the field occup
in Impurity struct will be updated.
In this function, only the total impurity occupancy of the current site is return. However, sometimes we need to known the spin-up and spin-down components. Later, we will expand the Impurity struct and this function to fulfill this requirement.
ZenCore.ctqmc_energy
— FunctionZenCore.GetSigma
— FunctionGetSigma(imp::Impurity)
Extract self-energy functions from the output files of various quantum impurity solvers. The data will be combined in the sigma_gather()
function. Then they will be fed back to the DMFT engine. The working directory of this function must be the root folder.
See also: Impurity
, ctqmc_sigma
.
ZenCore.GetNimpx
— FunctionGetNimpx(imp::Impurity)
Extract impurity occupancy from the output files of various quantum impurity solvers. Then the field occup
in the Impurity struct will be updated, which will then be used to evaluate the double counting term for self-energy functions. The working directory of this function must be the root folder.
The argument imp
may be modified in this function.
See also: Impurity
, ctqmc_nimpx
.
ZenCore.GetEnergy
— FunctionGetEnergy(imp::Impurity)
Extract interaction energy (i.e potential energy) from the output files of various quantum impurity solvers. The input Impurity struct won't be modified. The working directory of this function must be the root folder.
See also: Impurity
, ctqmc_energy
.
ZenCore.GetSymmetry
— FunctionGetSymmetry(Eimpx::Array{C64,3})
Analyze the symmetry according to the diagonal elements of the matrix of the local impurity levels.
See also: ctqmc_eimpx
.
ZenCore.GetImpurity
— FunctionGetImpurity()
Return an array of Impurity struct, which encapsulates useful information about the quantum impurity problems.
See also: Impurity
.
ZenCore.CatImpurity
— FunctionCatImpurity(imp::Impurity)
Display the Impurity struct that need to be solved.