VASP
Tools for the vasp software package (adaptor). It provide a lot of functions to deal with the vasp-related files.
Source: vasp.jl
Contents
Index
ZenCore.vasp_adaptor
ZenCore.vasp_back
ZenCore.vasp_exec
ZenCore.vasp_init
ZenCore.vasp_save
ZenCore.vaspc_gamma
ZenCore.vaspc_incar
ZenCore.vaspc_kpoints
ZenCore.vaspc_lock
ZenCore.vaspc_stopcar
ZenCore.vaspio_charge
ZenCore.vaspio_eigen
ZenCore.vaspio_energy
ZenCore.vaspio_fermi
ZenCore.vaspio_kmesh
ZenCore.vaspio_lattice
ZenCore.vaspio_nband
ZenCore.vaspio_procar
ZenCore.vaspio_projs
ZenCore.vaspio_tetra
ZenCore.vaspio_valence
ZenCore.vaspq_files
ZenCore.vaspq_lock
Functions
ZenCore.vasp_adaptor
— Functionvasp_adaptor(D::Dict{Symbol,Any})
Adaptor support for vasp code. It will parse the output files of vasp code, extract the Kohn-Sham dataset, and then fulfill the DFTData
dict (i.e D
).
The following vasp's output files are needed:
POSCAR
IBZKPT
EIGENVAL
LOCPROJ
DOSCAR
See also: plo_adaptor
, ir_adaptor
.
ZenCore.vasp_init
— Functionvasp_init(it::IterInfo)
Check the runtime environment of vasp, prepare necessary input files.
ZenCore.vasp_exec
— Functionvasp_exec(it::IterInfo)
Execute the vasp program, monitor the convergence progress, and output the relevant information. Especially, if it.sc == 2 (self-consistent mode), this function will launch the vasp code, then return immediately.
In order to execute this function correctly, you have to setup the following environment variables:
- VASP_HOME
and make sure the file MPI.toml
is available.
ZenCore.vasp_save
— Functionvasp_save(it::IterInfo)
Backup the output files of vasp if necessary. Furthermore, the DFT fermi level in IterInfo
struct is also updated (IterInfo.μ₀
).
ZenCore.vasp_back
— Functionvasp_back()
Reactivate the vasp engine to continue the charge self-consistent DFT + DMFT calculation.
ZenCore.vaspc_incar
— Functionvaspc_incar(fermi::F64, sc_mode::I64)
Generate an INCAR
file. It will be used only when the DFT engine is vasp.
See also: vaspc_kpoints
.
ZenCore.vaspc_kpoints
— Functionvaspc_kpoints(mp_scheme::Bool = true, n::I64 = 9)
Generate a valid KPOINTS
file for vasp.
See also: vaspc_incar
.
ZenCore.vaspc_gamma
— Functionvaspc_gamma(kwin::Array{I64,3}, gamma::Array{C64,4})
Generate a valid GAMMA
file for vasp. The vasp will need this file when ICHARG = 5
.
See also: write_gamma
, read_gamma
.
ZenCore.vaspc_stopcar
— Functionvaspc_stopcar()
Create the STOPCAR
file in the dft directory to stop the vasp engine. Vasp will stop at the next electronic step, i.e. WAVECAR
and CHGCAR
might contain non converged results.
ZenCore.vaspc_lock
— Functionvaspc_lock(action::String, dir::String = ".")
Create the vasp.lock
file. This file is relevant for ICHARG = 5
. The vasp program runs only when the vasp.lock
file is present in the current directory. Its default working directory is just dft
, but we can specify it via argument dir
.
See also: vaspq_lock
.
ZenCore.vaspq_lock
— Functionvaspq_lock()
Return whether the vasp.lock
file is available. Its working directory might be root
or dft
.
See also: vaspc_lock
.
ZenCore.vaspq_files
— Functionvaspq_files(f::String)
Check the essential output files by vasp. Here f
means only the directory that contains the desired files.
See also: adaptor_run
.
vaspq_files()
Check the essential output files by vasp in the current directory.
See also: adaptor_run
.
ZenCore.vaspio_nband
— Functionvaspio_nband(f::String)
Reading vasp's POSCAR
and POTCAR
files, evaluating number of bands. It will be used to create the INCAR
file. Here f
means only the directory that contains POSCAR
and POTCAR
.
See also: vaspc_incar
, vaspio_valence
, vaspio_lattice
.
vaspio_nband()
Reading vasp's POSCAR
and POTCAR
files, evaluating number of bands. It will be used to create the INCAR
file.
See also: vaspc_incar
, vaspio_valence
, vaspio_lattice
.
ZenCore.vaspio_valence
— Functionvaspio_valence(f::String)
Reading vasp's POTCAR
file, return ZVAL
. Here f
means only the directory that contains POTCAR
.
The information about ZVAL
will be used to determine NBANDS
in the INCAR
file.
See also: vaspc_incar
, vaspio_nband
.
vaspio_valence()
Reading vasp's POTCAR
file, return ZVAL
.
The information about ZVAL
will be used to determine NBANDS
in the INCAR
file.
See also: vaspc_incar
, vaspio_nband
.
ZenCore.vaspio_energy
— Functionvaspio_energy(f::String)
Reading vasp's OSZICAR
file, return DFT total energy, which will be used to determine the DFT + DMFT energy. Here f
means only the directory that contains OSZICAR
.
vaspio_energy()
Reading vasp's OSZICAR
file, return DFT total energy, which will be used to determine the DFT + DMFT energy.
ZenCore.vaspio_procar
— Functionvaspio_procar(f::String)
Reading vasp's PROCAR
file, extract orbital weight information. Here f
means only the directory that contains PROCAR
.
This function is not invoked directly during the DFT + DMFT iteration. It is designed for users merely. They can use it to judge which orbitals are the most relevant, and then apply the obtained information to customize their case.toml configuration file (specifically, the window
parameter in the dft
block).
This function is only called by tools/analyze.jl or used in REPL.
vaspio_procar()
Reading vasp's PROCAR
file, extract orbital weight information.
This function is not invoked directly during the DFT + DMFT iteration. It is designed for users merely. They can use it to judge which orbitals are the most relevant, and then apply the obtained information to customize their case.toml configuration file (specifically, the window
parameter in the dft
block).
This function is only called by tools/analyze.jl or used in REPL.
ZenCore.vaspio_lattice
— Functionvaspio_lattice(f::String, silent::Bool = true)
Reading vasp's POSCAR
file, return crystallography information. Here f
means only the directory that contains POSCAR
.
See also: Lattice
, irio_lattice
.
vaspio_lattice()
Reading vasp's POSCAR
file, return crystallography information.
See also: Lattice
, irio_lattice
.
ZenCore.vaspio_kmesh
— Functionvaspio_kmesh(f::String)
Reading vasp's IBZKPT
file, return kmesh
and weight
. Here f
means only the directory that contains IBZKPT
.
See also: vaspio_tetra
, irio_kmesh
.
vaspio_kmesh()
Reading vasp's IBZKPT
file, return kmesh
and weight
.
See also: vaspio_tetra
, irio_kmesh
.
ZenCore.vaspio_tetra
— Functionvaspio_tetra(f::String)
Reading vasp's IBZKPT
file, return tetrahedra information. Here f
means only the directory that contains IBZKPT
.
See also: vaspio_kmesh
, irio_tetra
.
vaspio_tetra()
Reading vasp's IBZKPT
file, return tetrahedra information.
See also: vaspio_kmesh
, irio_tetra
.
ZenCore.vaspio_eigen
— Functionvaspio_eigen(f::String)
Reading vasp's EIGENVAL
file, return energy band information. Here f
means only the directory that contains EIGENVAL
.
Sometimes the EIGENVAL
file does not contain any useful data, then we turn to the LOCPROJ
file to obtain the energy band information.
See also: irio_eigen
.
ZenCore.vaspio_projs
— Functionvaspio_projs(f::String)
Reading vasp's LOCPROJ
file, return raw projector matrix. Here f
means only the directory that contains LOCPROJ
.
See also: irio_projs
.
ZenCore.vaspio_fermi
— Functionvaspio_fermi(f::String, silent::Bool = true)
Reading vasp's DOSCAR
file, return the fermi level. Here f
means only the directory that contains DOSCAR
.
Sometimes the DOSCAR
file does not contain the necessary data. Thus we have to turn to the LOCPROJ
file.
See also: irio_fermi
.
ZenCore.vaspio_charge
— Functionvaspio_charge(f::String)
Reading vasp's CHGCAR
file, return the charge density. Here f
means only the directory that contains CHGCAR
.
See also: irio_charge
.