Installation

Usage agreement

This software is distributed free of charge for academic, scientific, educational, and noncommercial users. Permission to use this software is hereby granted under the following conditions.

  1. 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:

[1] 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, arXiv:1908.08269 (2019)

  1. You should not redistribute any copy of the distributed files unless you have a written permission from us.

Part of these terms may be changed without any prior announcement. This software is provided “as is” without any express or implied warranty.

Download

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:

drwxr-xr-x    3 vaspkit  staff     96  4 15 15:50 bin/
drwxr-xr-x   26 vaspkit  staff    832 11 25  2019 crystals/
drwxr-xr-x    4 vaspkit  staff    128 11 25  2019 docs/
drwxr-xr-x   26 vaspkit  staff    832  4 15 15:53 examples/
drwxr-xr-x   12 vaspkit  staff    384 11 25  2019 utilities/
-rw-r--r--    1 vaspkit  staff    249 11 25  2019 acknowledgement
-rw-r--r--    1 vaspkit  staff  24177  4 22 14:19 changelog
drwxr-xr-x    5 vaspkit  staff    160  3 15 14:42 citations
-rw-r--r--    1 vaspkit  staff    618  4  5 14:02 contributors
-rw-r--r--    1 vaspkit  staff    118  2  9  2020 how_to_install
-rw-r--r--    1 vaspkit  staff   3659  3 30 08:33 how_to_set_environment_variable
-rw-r--r--    1 vaspkit  staff   1243 11 25  2019 license
-rwxr-xr-x    1 vaspkit  staff   1742 12 24  2019 setup.sh

Prerequisites

Installation

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

Edit the .vaspkit file,

vi ~/.vaspkit

The configuration 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.

Usually, the 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.)
  1. Setting up local repository pseudo potential directory. For example, unzip the VASP PAW_PBE pseudo potentials at ~/POTCAR/PBE directory.

  2. Add the absolute path of the vaspkit to the environment variable.

echo 'export PATH=/home/vaspkit.1.00/bin/:$PATH' >> ~/.bashrc
source ~/.bashrc

Replace the absolute path of the /home/vaspkit.1.00/bin/ directory by user’s own VASPKIT executable path.

VASPKIT provides an automatic configuration script setup.sh since version 0.73. Execute

source setup.sh or bash setup.sh and finally, source ~/.bashrc

Installation FAQs

1. If ~/.vaspkit already exists, the above operation will not be overwritten. The old version of the environment variable file will be kept.

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

4. Some show graph functions rely on python environment with matplotlib. To invoke those functions, users should set the default python version and PLOT_MATPLOTLIB in ~/.vaspkit

PYTHON_BIN                ~/anaconda3/bin/python3
PLOT_MATPLOTLIB          .TURE.