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

Global Dicts

Structs

ZenCore.LoggerType
Logger

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.

source
ZenCore.EnergyType
Energy

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.

source
ZenCore.IterInfoType
IterInfo

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.

source
ZenCore.LatticeType
Lattice

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.

source
ZenCore.MappingType
Mapping

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.

See also: Impurity, PrGroup, PrWindow.

source
ZenCore.ImpurityType
Impurity

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).

See also: Mapping, PrGroup, PrWindow.

source
ZenCore.PrTraitType
PrTrait

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.

See also: PrGroup, PrWindow.

source
ZenCore.PrGroupType
PrGroup

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.

See also: PrTrait, PrWindow, Mapping, Impurity.

source
ZenCore.PrWindowType
PrWindow

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.

See also: PrTrait, PrGroup, Mapping, Impurity.

source

Constructors

ZenCore.LatticeMethod
Lattice(_case::String, scale::F64, nsort::I64, natom::I64)

Outer constructor for Lattice struct.

source
ZenCore.MappingMethod
Mapping(nsite::I64, ngrp::I64, nwnd::I64)

Outer constructor for Mapping struct.

source
ZenCore.PrTraitMethod
PrTrait(site::I64, sort::String, desc::String)

Outer constructor for PrTrait struct.

source
ZenCore.PrWindowMethod
PrWindow(kwin::Array{I64,3}, bwin::Tuple{R64,R64})

Outer constructor for PrWindow struct.

source

Operators

Base.:==Function
==(PW₁::PrWindow, PW₂::PrWindow)

Compare two PrWindow objects.

See also: PrWindow.

source

Traits

Base.showMethod
Base.show(io::IO, it::IterInfo)

Base.show() function for Logger struct.

See also: Logger.

source
Base.showMethod
Base.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.

source
Base.showMethod
Base.show(io::IO, it::IterInfo)

Base.show() function for IterInfo struct.

See also: IterInfo.

source
Base.showMethod
Base.show(io::IO, latt::Lattice)

Base.show() function for Lattice struct.

See also: Lattice.

source
Base.showMethod
Base.show(io::IO, map::Mapping)

Base.show() function for Mapping struct.

See also: Mapping.

source
Base.showMethod
Base.show(io::IO, imp::Impurity)

Base.show() function for Impurity struct.

See also: Impurity.

source
Base.showMethod
Base.show(io::IO, PT::PrTrait)

Base.show() function for PrTrait struct.

See also: PrTrait.

source
Base.showMethod
Base.show(io::IO, PG::PrGroup)

Base.show() function for PrGroup struct.

See also: PrGroup.

source
Base.showMethod
Base.show(io::IO, PW::PrWindow)

Base.show() function for PrWindow struct.

See also: PrWindow.

source
Base.getpropertyMethod
Base.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.

source