Types
Define some dicts and structs, which are used to store the config parameters or represent some essential data structures.
Source: types.jl
Contents
Index
ZenCore.PCASE
ZenCore.PDFT
ZenCore.PDMFT
ZenCore.PIMP
ZenCore.PSOLVER
ZenCore.Energy
ZenCore.Energy
ZenCore.Impurity
ZenCore.Impurity
ZenCore.IterInfo
ZenCore.IterInfo
ZenCore.Lattice
ZenCore.Lattice
ZenCore.Logger
ZenCore.Logger
ZenCore.Mapping
ZenCore.Mapping
ZenCore.PrGroup
ZenCore.PrGroup
ZenCore.PrTrait
ZenCore.PrTrait
ZenCore.PrWindow
ZenCore.PrWindow
Base.:==
Base.getproperty
Base.show
Base.show
Base.show
Base.show
Base.show
Base.show
Base.show
Base.show
Base.show
Global Dicts
ZenCore.PCASE
— ConstantZenCore.PDFT
— ConstantPDFT
Dictionary for configuration parameters: density functional theory calculations.
ZenCore.PDMFT
— ConstantPDMFT
Dictionary for configuration parameters: dynamical mean-field theory calculations.
ZenCore.PIMP
— ConstantPIMP
Dictionary for configuration parameters: quantum impurity problems.
ZenCore.PSOLVER
— ConstantPSOLVER
Dictionary for configuration parameters: quantum impurity solvers.
Structs
ZenCore.Logger
— TypeLogger
Mutable struct. Store the IOStreams for case.log and case.cycle files.
Members
- log -> IOStream for case.log file.
- cycle -> IOStream for case.cycle file.
See also: IterInfo
.
ZenCore.Energy
— TypeEnergy
Mutable struct. Store decomposition of the total DFT + DMFT energy.
Members
- dft -> DFT band energy.
- dmft -> DMFT interaction energy Tr(ΣG).
- corr -> DMFT Correction to the DFT band energy.
- dc -> Energy contributed by the double counting term.
See also: IterInfo
.
ZenCore.IterInfo
— TypeIterInfo
Mutable struct. Record the DFT + DMFT iteration information.
Members
- I₁ -> Number of iterations between
dmft1
and quantum impurity solver. - I₂ -> Number of iterations between
dmft2
and DFT engine. - I₃ -> Number of DFT + DMFT iterations.
- I₄ -> Counter for all internal iteration.
- M₁ -> Maximum allowed number of iterations (between
dmft1
and solver). - M₂ -> Maximum allowed number of iterations (between
dmft2
and DFT). - M₃ -> Maximum allowed number of DFT + DMFT iterations.
- sc -> Self-consistent mode.
- μ₀ -> Fermi level obtained by DFT engine.
- μ₁ -> Fermi level obtained by DMFT engine (
dmft1
). - μ₂ -> Fermi level obtained by DMFT engine (
dmft2
). - dc -> Double counting terms.
- n₁ -> Number of lattice occupancy obtained by DMFT engine (
dmft1
). - n₂ -> Number of lattice occupancy obtained by DMFT engine (
dmft2
). - nf -> Number of impurity occupancy obtained by quantum impurity solver.
- et -> Total DFT + DMFT energy (for current iteration).
- ep -> Total DFT + DMFT energy (for previous iteration).
- cc -> Convergence flag for charge density.
- ce -> Convergence flag for total energy.
- cs -> Convergence flag for self-energy functions.
See also: Logger
.
ZenCore.Lattice
— TypeLattice
Mutable struct. Contain the crystallography information. This struct is designed for the POSCAR
file used by the vasp
code.
Members
- _case -> The name of system.
- scale -> Universal scaling factor (lattice constant), which is used to scale all lattice vectors and all atomic coordinates.
- lvect -> Three lattice vectors defining the unit cell of the system. Its shape must be (3, 3).
- nsort -> Number of sorts of atoms.
- natom -> Number of atoms.
- sorts -> Sorts of atoms. Its shape must be (nsort, 2).
- atoms -> Lists of atoms. Its shape must be (natom).
- coord -> Atomic positions are provided in cartesian coordinates or in direct coordinates (respectively fractional coordinates). Its shape must be (natom, 3).
See also: vaspio_lattice
.
ZenCore.Mapping
— TypeMapping
Mutable struct. Mapping between quantum impurity problems and groups of projectors (or band windows).
Members
- i_grp -> Mapping from quntum impurity problems to groups of projectors.
- i_wnd -> Mapping from quantum impurity problems to DFT band windows.
- g_imp -> Mapping from groups of projectors to quantum impurity problems.
- w_imp -> Mapping from DFT band windows to quantum impurity problems.
ZenCore.Impurity
— TypeImpurity
Mutable struct. Essential information of quantum impurity problem.
Members
- index -> Index of the quantum impurity problem.
- atoms -> Chemical symbol of impurity atom.
- sites -> Index of impurity atom.
- equiv -> Equivalence of quantum impurity problem.
- shell -> Angular momentum of correlated orbitals.
- ising -> Interaction type of correlated orbitals.
- occup -> Impurity occupancy 𝑛.
- nup -> Impurity occupancy 𝑛↑ (spin up).
- ndown -> Impurity occupancy 𝑛↓ (spin down).
- upara -> Coulomb interaction parameter.
- jpara -> Hund's coupling parameter.
- lpara -> Spin-orbit coupling parameter.
- beta -> Inverse temperature.
- nband -> Number of correlated orbitals (spin is not included).
ZenCore.PrTrait
— TypePrTrait
Mutable struct. Essential information of a given projector.
Members
- site -> Site in which the projector is defined.
- l -> Quantum number 𝑙.
- m -> Quantum number 𝑚.
- desc -> Projector's specification.
ZenCore.PrGroup
— TypePrGroup
Mutable struct. Essential information of group of projectors.
Members
- site -> Site in which the projectors are defined. In principle, the projectors included in the same group should be defined at the same site (or equivalently atom).
- l -> Quantum number 𝑙. In principle, the projectors included in the same group should have the same quantum number 𝑙 (but with different 𝑚).
- corr -> Test if the projectors in this group are correlated.
- shell -> Type of correlated orbitals. It is infered from quantum number 𝑙.
- Pr -> Array. It contains the indices of projectors.
- Tr -> Array. It contains the transformation matrix. This parameter could be useful to select certain subset of orbitals or perform a simple global rotation.
ZenCore.PrWindow
— TypePrWindow
Mutable struct. Define the band window for a given group of projectors.
Members
- bmin -> Minimum band index.
- bmax -> Maximum band index.
- nbnd -> Maximum number of bands in the current window (≡
bmax - bmin + 1
). - kwin -> Momentum-dependent and spin-dependent band window.
- bwin -> Tuple. It is the band window or energy window, which is used to filter the Kohn-Sham band structure. The mesh for calculating density of states is also deduced from
bwin
.
Constructors
ZenCore.Logger
— MethodLogger(case::String = "case")
Outer constructor for Logger struct.
ZenCore.Energy
— MethodEnergy()
Outer constructor for Energy struct.
ZenCore.IterInfo
— MethodIterInfo()
Outer constructor for IterInfo struct.
ZenCore.Lattice
— MethodLattice(_case::String, scale::F64, nsort::I64, natom::I64)
Outer constructor for Lattice struct.
ZenCore.Mapping
— MethodMapping(nsite::I64, ngrp::I64, nwnd::I64)
Outer constructor for Mapping struct.
ZenCore.Impurity
— MethodImpurity(index::I64, ...)
Outer constructor for Impurity struct.
ZenCore.PrTrait
— MethodPrTrait(site::I64, sort::String, desc::String)
Outer constructor for PrTrait struct.
ZenCore.PrGroup
— MethodPrGroup(site::I64, l::I64)
Outer constructor for PrGroup struct.
ZenCore.PrWindow
— MethodPrWindow(kwin::Array{I64,3}, bwin::Tuple{R64,R64})
Outer constructor for PrWindow struct.
Operators
Base.:==
— FunctionTraits
Base.show
— MethodBase.show
— MethodBase.show(io::IO, ene::Energy)
Base.show() function for Energy struct. Note that total
is not a real field of the Energy
struct.
See also: Energy
.
Base.show
— MethodBase.show
— MethodBase.show
— MethodBase.show
— MethodBase.show
— MethodBase.show
— MethodBase.show
— MethodBase.getproperty
— MethodBase.getproperty(et::Energy, sym::Symbol)
Implement the calculation of total DFT + DMFT energy. The Energy
struct does not really contains the total
field. This function will implement it by overriding the Base.getproperty() function.
See also: Energy
.