The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling.

Local support is not available. The package is supported by its developers through their documentation site. VASP is licensed software and licenses are issued to individual research groups. Each group must build and maintain its own copy of the code.

Software Category: chem

For detailed information, visit the VASP

Available Versions

To find the available versions and learn how to load them, run:

module spider vasp

The output of the command shows the available VASP
module versions.

For detailed information about a particular VASP
module, including how to load the module, run the module spider command with the module’s full version label. For example:

module spider vasp/5.4.4
ModuleVersion Module Load Command
vasp5.4.4 module load vasp/5.4.4
vaspgrads544 module load vasp/grads544

Building VASP

VASP is typically built with the Intel compiler and relies on Intel’s Math Kernel Libraries (MKL). VASP users should read our documentation for this compiler before beginning. VASP version 5.4.1 and up provides a sample makefile.include.linux_intel that can be modified for local requirements and for different distributions of MPI.

We recommend that users copy makefile.include.linux_intel from the arch subdirectory to makefile.include in the top-level VASP directory, i.e.

cp arch/makefile.include.linux_intel ./makefile.include

This makefile.include is preconfigured to use the Intel compiler, IntelMPI, and the Intel MKL libraries. We recommend a few local modifications:

  1. VASP is written primarily in Fortran and on the HPC system the compiler option -heap-arrays should be added to the makefile.include. This can be added to the FFLAGS variable, e.g. FFLAGS = -heap-arrays -assume byterecl -w
  2. It is advisable to change the SCALAPACK library name to

To use OpenMPI, the user must also change the Fortran compiler to FC=mpif90 and the BLACS library to -lmkl_blacs_openmpi_lp64 while leaving SCALAPACK = -lmkl_scalapack_lp64.a.

The VASP suite consists of three executables: vasp_std, vasp_gam, and vasp_ncl. The default makefile.include will attempt to build all three consecutively. Users may find it works best to compile these individually, by editing the line


to contain only one of std, gam, or ncl, and then running the build process for each one.

Example Slurm script

To run VASP, the user prepares a group of input files with predetermined names. The path to the vasp binary must be provided to the Slurm process manager srun; in the example below we assume it is in a directory bin under the user’s home directory. All input and potential files must be located in the same directory as the Slurm job script in this example.

#SBATCH --account my_acct
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=40
#SBATCH --time=3-00:00:00
#SBATCH --output=thermo.out
#SBATCH --partition=parallel

module load intel

srun ~/bin/vasp_std