Projected local orbitals
Tools for the projection on localized orbitals scheme (adaptor).
Source: plo.jl
Contents
Index
ZenCore.calc_dm
ZenCore.calc_dos
ZenCore.calc_hamk
ZenCore.calc_ovlp
ZenCore.get_win1
ZenCore.get_win2
ZenCore.plo_adaptor
ZenCore.plo_fermi
ZenCore.plo_filter
ZenCore.plo_group
ZenCore.plo_map
ZenCore.plo_monitor
ZenCore.plo_orthog
ZenCore.plo_rotate
ZenCore.plo_window
ZenCore.try_blk1
ZenCore.try_blk2
ZenCore.try_diag
ZenCore.view_dm
ZenCore.view_dos
ZenCore.view_hamk
ZenCore.view_ovlp
Functions
ZenCore.plo_adaptor
— Functionplo_adaptor(D::Dict{Symbol,Any}, ai::Array{Impurity,1})
Adaptor support. It will preprocess the raw projector matrix. The dict D
contains all of the necessary Kohn-Sham data, which will be modified in this function.
If it is in the REPL mode and the file case.test
is present in the current directory, this function will try to calculate some physical observables, such as the density matrix, overlap matrix, partial density of states, and local hamiltonian, which will be written to external files or terminal for further reference.
See also: vasp_adaptor
, ir_adaptor
.
ZenCore.plo_map
— Functionplo_map(PG::Array{PrGroup,1}, ai::Array{Impurity,1})
Create connections / mappings between projectors (or band windows) and quantum impurity problems. Return a Mapping
struct.
ZenCore.plo_fermi
— Functionplo_fermi(enk::Array{F64,3}, fermi::F64)
Calibrate the band structure to enforce the fermi level to be zero.
See also: vaspio_fermi
, irio_fermi
.
ZenCore.plo_group
— Functionplo_group(MAP::Mapping, PG::Array{PrGroup,1})
Use the information contained in the Mapping
struct to further complete the PrGroup
struct.
ZenCore.plo_window
— Functionplo_window(PG::Array{PrGroup,1}, enk::Array{F64,3})
Calibrate the band window to filter the Kohn-Sham eigenvalues.
ZenCore.plo_rotate
— Functionplo_rotate(PG::Array{PrGroup,1}, chipsi::Array{C64,4})
Perform global rotations or transformations for the projectors. In this function, the projectors will be classified into different groups, and then they will be rotated group by group.
See also: PrGroup
, plo_filter
, plo_orthog
.
ZenCore.plo_filter
— Functionplo_filter(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1}}
Filter the projector matrix according to band window.
See also: PrWindow
, plo_rotate
, plo_orthog
.
ZenCore.plo_orthog
— Functionplo_orthog(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1})
Orthogonalize and normalize the projectors.
See also: PrWindow
, plo_rotate
, plo_filter
.
ZenCore.plo_monitor
— Functionplo_monitor(D::Dict{Symbol,Any})
Generate some key physical quantities by using the projectors and the Kohn-Sham band structures. It is used for debug only.
See also: plo_adaptor
.
ZenCore.get_win1
— Functionget_win1(enk::Array{F64,3}, bwin::Tuple{I64,I64})
Return momentum- and spin-dependent band window (case 1). The users provide only the band indices for the window.
See also: plo_window
.
ZenCore.get_win2
— Functionget_win2(enk::Array{F64,3}, bwin::Tuple{F64,F64})
Return momentum- and spin-dependent band window (case 2). The users provide only the maximum and minimum energies for the window.
See also: plo_window
.
ZenCore.try_blk1
— Functiontry_blk1(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1})
Try to orthogonalize and normalize the projectors as a whole.
See also: PrWindow
, try_blk2
, plo_orthog
.
ZenCore.try_blk2
— Functiontry_blk2(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1})
Try to orthogonalize the projectors group by group.
See also: PrWindow
, try_blk1
, plo_orthog
.
ZenCore.try_diag
— FunctionZenCore.calc_ovlp
— Functioncalc_ovlp(chipsi::Array{C64,4}, weight::Array{F64,1})
Calculate the overlap matrix out of projectors. For raw projectors only.
See also: view_ovlp
.
calc_ovlp(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1}, weight::Array{F64,1})
Calculate the overlap matrix out of projectors. For normalized projectors only.
ZenCore.calc_dm
— Functioncalc_dm(chipsi::Array{C64,4}, weight::Array{F64,1}, occupy::Array{F64,3})
Calculate the density matrix out of projectors. For raw projectors only.
See also: view_dm
.
calc_dm(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1}, weight::Array{F64,1}, occupy::Array{F64,3})
Calculate the density matrix out of projectors. For normalized projectors only.
ZenCore.calc_hamk
— Functioncalc_hamk(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1}, weight::Array{F64,1}, enk::Array{F64,3})
Try to build the local hamiltonian. For normalized projectors only.
calc_hamk(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1}, enk::Array{F64,3})
Try to build the full hamiltonian. For normalized projectors only.
ZenCore.calc_dos
— Functioncalc_dos(PW::Array{PrWindow,1}, chipsi::Array{Array{C64,4},1}, itet::Array{I64,2}, enk::Array{F64,3})
Try to calculate the partial density of states using the analytical tetrahedron method.
ZenCore.view_ovlp
— Functionview_ovlp(ovlp::Array{F64,3})
Output the overlap matrix to screen. For raw projectors only.
See also: calc_ovlp
.
view_ovlp(PG::Array{PrGroup,1}, ovlp::Array{Array{F64,3},1})
Output the overlap matrix to screen. For normalized projectors only.
ZenCore.view_dm
— Functionview_dm(dm::Array{F64,3})
Output the density matrix to screen. For raw projectors only.
See also: calc_dm
.
view_dm(PG::Array{PrGroup,1}, dm::Array{Array{F64,3},1})
Output the density matrix to screen. For normalized projectors only.
ZenCore.view_hamk
— Functionview_hamk(PG::Array{PrGroup,1}, hamk::Array{Array{C64,3},1})
Output the local hamiltonian to screen. For normalized projectors only.
view_hamk(hamk::Array{C64,4})
Output the full hamiltonian to hamk.chk
. For normalized projectors only.
See also: calc_hamk
.
ZenCore.view_dos
— Functionview_dos(mesh::Array{Array{F64,1},1}, dos::Array{Array{F64,3},1})
Output the density of states to dos.chk
. For normalized projectors only.
See also: calc_dos
.