Tools for the vasp software package (adaptor). It provide a lot of functions to deal with the vasp-related files.
Source: vasp.jl
ZenCore.adaptor_callZenCore.dft_callZenCore.dft_resumeZenCore.dft_stopZenCore.vasp_adaptorZenCore.vasp_backZenCore.vasp_execZenCore.vasp_initZenCore.vasp_saveZenCore.vasp_stopZenCore.vaspc_gcorrZenCore.vaspc_incarZenCore.vaspc_kpointsZenCore.vaspc_lockZenCore.vaspc_stopcarZenCore.vaspio_chargeZenCore.vaspio_eigenZenCore.vaspio_energyZenCore.vaspio_fermiZenCore.vaspio_kmeshZenCore.vaspio_latticeZenCore.vaspio_nbandZenCore.vaspio_procarZenCore.vaspio_projsZenCore.vaspio_tetraZenCore.vaspio_valenceZenCore.vaspq_filesZenCore.vaspq_lockZenCore.vaspq_stopcar
Functions
ZenCore.dft_call — Methoddft_call(::VASPEngine, it::IterInfo)Try to carry out full DFT calculation with the vasp code. It is only a dispatcher. Similar function is defined in qe.jl as well.
See also: _engine_.
ZenCore.dft_stop — Methoddft_stop(::VASPEngine)Try to terminate DFT calculation and kill running process of the DFT backend. It supports the vasp code. It is only a dispatcher. Similar function is defined in qe.jl as well.
See also: _engine_.
ZenCore.dft_resume — Methoddft_resume(::VASPEngine)Try to wake up the DFT backend and resume the DFT calculation. It only supports the vasp code. It is only a dispatcher. Similar function is defined in qe.jl as well.
See also: _engine_.
ZenCore.adaptor_call — Methodadaptor_call(::VASPEngine, D::Dict{Symbol,Any})It is a dispatcher for the DFT-DMFT adaptor. It calls vasp_adaptor() function to deal with the outputs of the DFT backend (such as vasp) and generate key dataset for the next level adaptor (PLOAdaptor). Note that similar function is also defined in qe.jl.
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 must be presented:
POSCARIBZKPTEIGENVALLOCPROJDOSCAROSZICAR
See also: plo_adaptor, ir_adaptor.
ZenCore.vasp_init — FunctionZenCore.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 — FunctionZenCore.vasp_back — Functionvasp_back()Reactivate the vasp engine to continue the charge self-consistent DFT + DMFT calculation. It will prepare the file GAMMA, and try to create a lock file (vasp.lock). Then the vasp engine will wake up and continue to work automatically.
See also: vasp_stop.
ZenCore.vasp_stop — Functionvasp_stop()Stop the vasp engine by creating a STOPCAR file in the working folder. It will not return until the vasp engine is completely termined.
See also: vasp_back.
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_gcorr — Functionvaspc_gcorr(kwin::Array{I64,3}, gcorr::Array{C64,4})Generate a valid GAMMA file for vasp. The vasp will need this file when ICHARG = 5.
See also: write_gcorr, read_gcorr.
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(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_stopcar — Functionvaspq_stopcar()Return whether the STOPCAR file is available. Its working directory might be root or dft.
See also: vaspc_stopcar.
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_core.
vaspq_files()Check the essential output files by vasp in the current directory.
See also: adaptor_core.
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 total 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 total 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).
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).
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.