This software is distributed in the hope that it will be useful, but we do not guarantee it for accuracy, completeness or fitness for a particular purpose. It is distributed free of charge for academic, scientific, educational, and noncommercial users. Users belonging to commercial enterprises may also use this software at no cost until a license for business users is established. Permission to use this software is hereby granted under the following conditions.
Data and plots produced by VASPKIT may be used in any publications provided that its use is explicitly acknowledged. A suitable reference for VASPKIT is:
 V. Wang, N. Xu, J.C. Liu, G. Tang, W.T. Geng, VASPKIT: A User-Friendly Interface Facilitating High-Throughput Computing and Analysis Using VASP Code, Computer Physics Communications 267, 108033 (2021). https://doi.org/10.1016/j.cpc.2021.108033
Part of these terms may be changed without any prior announcement. This software is provided “as is” without any express or implied warranty.
Currently we only provide the executable binary files of VASPKIT which can run on Windows, Mac OS X, and Linux. After downloading the package, please take a few minutes to read the instructions in the manual; everything is detailed there.
The compiled version of the program can be obtained from the latest release page on sourceforge. At the release page you find the a compressed tarball (tar zxvf vaspkit.*.tar.gz) usually containing the following content:
vaspkit.1.3.0 ├── acknowledgement ├── bin/ │ └── vaspkit ├── crystals/ ├── docs/ ├── examples/ ├── changelog ├── citations ├── contributors ├── how_to_install ├── how_to_set_environment_variable ├── license ├── setup.sh ├── utilities └── vaspkit_logo.pdf
VASPKIT is supported by Python 3.x. Please install the following dependencies prior to installing VASPKIT. I strongly suggest to use anaconda package to manage various python packages.
First unzip VASPKIT package.
tar -zxvf vaspkit.1.00.tar.gz
In order to ensure the full functionality of VASPKIT, please configure
the environment of the vaspkit from
~/.vaspkit file. Enter VASPKIT
folder, and copy the environment variable file
how_to_set_environment_variable to users’ home directory by running
the following command under the bash terminal.
cd vaspkit.1.00 cp -f how_to_set_environment_variable ~/.vaspkit
~/.vaspkit file is mainly used to set the environment variables
of VASPKIT, including VASP version information, directory of the target
pseudo potential, selection of functional, whether to use recommended
POTCAR, and so on.
PBE_PATH is the only one that need to be modified
according to your POTCAR path.
# cp how_to_set_environment_variable ~/.vaspkit and modify the ~/.vaspkit file based on your settings! VASP5 .TRUE. # .TRUE. or .FALSE.; Set .FALSE. if you are using vasp.4.x LDA_PATH ~/POTCAR/LDA # Path of LDA potential. PBE_PATH ~/POTCAR/PBE # Path of PBE potential. GGA_PATH ~/POTCAR/GGA # Path of PW91 potential. POTCAR_TYPE PBE # PBE, PW91 or LDA; Set PBE if you want to make PBE-POTCAR file GW_POTCAR .FALSE. # .TRUE. or .FALSE.; For example, H_GW, O_GW will be chose when POTCAR_GW = .TRUE. RECOMMENDED_POTCAR .TRUE. # .TRUE. or .FALSE.; The recommended PAW potential will be chose when RECOMMENDED_POTCAR = .TRUE. SET_FERMI_ENERGY_ZERO .TRUE. # .TRUE. or .FALSE.; The Fermi Energy will be set to zero eV when SET_FERMI_ENERGY_ZERO = .TRUE. MINI_INCAR .FALSE. # .TRUE. or .FALSE.; A simplified INCAR will be written when MINI_INCAR = .TRUE. USER_DEFINED_INCAR .FALSE. # .TRUE. or .FALSE.; whether to use embedded INCAR templates or user defined INCAR templates WRITE_SELECTIVE_DYNAMICS .FALSE. # .TRUE. or .FALSE.; whether the selective dymanics set will be forced to write when SET_SELECTIVE_DYNAMICS_MODE = .FALSE. PYTHON_BIN ~/anaconda3/bin/python3 # Python executable program with its installation path. I recommend you install anaconda package for Python data science PLOT_MATPLOTLIB .FALSE. # .TRUE. or .FALSE.; Set .TRUE. if you want to generate Graphs. (Matplotlib and Numpy packages MUST be embedded in Python) VASPKIT_UTILITIES_PATH ~/vaspkit/utilities # IF ADVANCED_USER is .TRUE., set VASPKIT_UTILITIES_PATH like ~/vaspkit.0.72/utilities in order to use scripts in it. ADVANCED_USER .TRUE. # .TRUE. or .FALSE.; Please fill in your settings in the block 'USER_DEFINED' if you want vaspkit to integrate your own scripts in the 'UTILITIES' file. SET_INCAR_WRITE_MODE OVERRIDE # OVERRIDE, APPEND, BACK-UP-OLD,BACK-UP-NEW; "Customize INCAR File" whether to override existing INCAR/appending existing INCAR/backup existing INCAR to INCAR.old && write into INCAR/write into INCAR.new PHS_CORRECTION .FALSE. # .TRUE. or .FALSE.; whether to make PHS correction during linear optical calculations. More details on this correction are given in Comput. Mater. Sci. 172 (2020) 109315. # Reset the default values of variables in here SYMPREC 1E-5 # Distance tolerance in Cartesian coordinates to find crystal symmetry (default value: 1E-5) EMIN -20.0 # Minimum energy for evaluation of DOS (default value: -20.0 eV) EMAX 20.0 # Maximum energy for evaluation of DOS (default value: 20.0 eV) NEDOS 2001 # Number of grid points in DOS (default value: 2001) GAMMA_CENTERED .TRUE. # .TRUE. or .FALSE.; (default value: .TRUE.) VACUUM_THICKNESS 15.0 # The thickness of vacuum to build slab or 2D materials (default value: 10 angstrom) CENTER_SLAB .TRUE. # Center the slab in the z direction; (default value: .TRUE.)
- Setting up local repository pseudo potential directory. For example,
unzip the VASP PAW_PBE pseudo potentials at
Add the absolute path of the vaspkit to the environment variable.
~/.vaspkitfile might need to be manually updated if some new environment variables are introduced in the newest version of vaspkit.
echo 'export PATH=/home/vaspkit.1.00/bin/:$PATH' >> ~/.bashrc source ~/.bashrc
Replace the absolute path of the
by user’s own VASPKIT executable path.
VASPKIT also provides an automatic configuration script
version 0.73. Execute
source setup.sh or
bash setup.sh and finally,
Make sure you have installed vaspkit (Ver. 1.3.0 or newer), python3, numpy, scipy, matplotlib, etc.
Add the following parameters in the ~/.vaspkit file;
PYTHON_BIN ~/anaconda3/bin/python3 AUTO_PLOT .TRUE.
Copy the plot presets from the vaspkit/how_to_set_environment_variable file to the ~/.vaspkit file if doesn’t exist. Must copy the block from
#BEGIN_CUSTOMIZE_PLOT ... ... #END_CUSTOMIZE_PLOT
The figure file will be generated automatically in the post-processing of vaspkit (> ver. 1.3.0). Furthremore, a file named PLOT.in will be also generated if you first time run vaspkit in the working folder. You can re-custom the plot presets in the PLOT.in file and re-run vaspkit again. Then the program reads the plot presets from the PLOT.in file if it exists.
~/.vaspkit already exists, the above operation will not be
overwritten. The old version of the environment variable file will be
After above settings, you can start the VASPKIT by directly typing
vaspkit in the terminal.
2. If the following problem occurs, your LINUX dependent library version is too low and needs to be upgraded (not recommended), you can contact the developer to get the version compiled in the low version LINUX environment.
vaspkit: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by vaspkit)
3. If the
-bash: line 7: ./vaspkit: Permission denied permission issue
occurs, simply add the VASPKIT execute permission:
chmod u+x /home/vaspkit.1.00/bin/vaspkit
The Windows version of vaspkit is still maturing. A few utilities fail to run under Windows system, for example, cannot read the configuration .vaspkit file and generate POTCAR file.