VASP

The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, from first principles. This build contains the VTST extension, http://henkelmanlab.org/vtsttools/

Policy

At HPC2N we have a site installation available for those with a valid VASP contract/license. We can adapt the installed binaries to suit the groups needs.

The Vasp program is not distributed via site licences. However, HPC2N have access to the VASP code to be able to support any research groups that have a valid VASP license.

<!- This needs to be rewritten according to the new rules from VASP When you have gotten access to a license, the license holder should either

  • add the license info into SUPR
  • or contact support@hpc2n.umu.se with the following information:
    • license number
    • list of users who should have access

You will then be given access to using VASP. ->

Citations

See the VASP license for information regarding terms for published work.

Overview

VASP is a complex package for performing ab-initio quantum-mechanical molecular dynamics (MD) simulations using pseudopotentials or the projector-augmented wave method and a plane wave basis set. The approach implemented in VASP is based on the (finite-temperature) local-density approximation with the free energy as variational quantity and an exact evaluation of the instantaneous electronic ground state at each MD time step.

VASP uses efficient matrix diagonalisation schemes and an efficient Pulay/Broyden charge density mixing. These techniques avoid all problems possibly occurring in the original Car-Parrinello method, which is based on the simultaneous integration of electronic and ionic equations of motion.

The interaction between ions and electrons is described by ultra-soft Vanderbilt pseudopotentials (US-PP) or by the projector-augmented wave (PAW) method. US-PP (and the PAW method) allow for a considerable reduction of the number of plane-waves per atom for transition metals and first row elements. Forces and the full stress tensor can be calculated with VASP and used to relax atoms into their instantaneous ground-state.

Usage at HPC2N

On HPC2N we have VASP available as a module.

Loading

The binaries for VASP are available by loading the VASP module for users authenticated to use them.

You can find versions with

module spider VASP 

and you can then find how to load a specific version (including prerequisites), with

module spider VASP/<VERSION>

Setup and Running

Setup

Pseudo potentials are installed under $VASP_PP_PATH/potpaw_LDA and $VASP_PP_PATH/potpaw_PBE. The VASP code has been modified to automatically find the site installed vdw_kernel.bindat, ($VASP_VDW_KERNEL).

Naming scheme for VASP binaries

  • vasp_std - compiled with -DNGZhalf, normal (standard) version for bulk system
  • vasp_gam - compiled with -DwNGZhalf -DNGZhalf, gamma-point only (big supercells or clusters)
  • vasp_ncl - compiled without -D(w)NGZ*, for spin-orbit/non-collinear calculations.

Note

  • All versions of VASP have been built with scalapack support.
  • Versions of VASP with a “-hpc2n” suffix have been built with LONGCHAR turned on.
  • The x/y/z-restrict patch from NSC is also built in to the “-hpc2n” versions.
  • The default is set to behave as the code does without the patch.

Note

To lock relaxation in the Z-axis add:

OFFDRELAX=.FALSE.
ZRELAX=.FALSE.

Replace ZRELAX with XRELAX or YRELAX as needed.

If you need a differently compiled VASP binary, please contact support@hpc2n.umu.se.

Memory consumption guidelines

  • The default memory per core depends on the node type. See The different parts of the batch system.
  • If you need more memory than that you should either run on the largemem nodes or increase the number of “cores per mpi-task” in your allocation, see examples below.

If any of this is unclear please send a mail to support@hpc2n.umu.se and we will try to make it more understandable.

CPU only VASP job

#!/bin/bash
#SBATCH -A hpc2nXXXX-YYY 
#SBATCH -J my-cpu-only-vasp-job
# Use 56 mpi-tasks 
#SBATCH -n 56

ml purge > /dev/null 2>&1 # Clean the environment 
ml GCC/11.2.0 OpenMPI/4.1.1 
ml VASP/6.2.1-Wannier90-3.1.0 

srun vasp_std 

GPU VASP job

We do not currently have GPU enabled VASP installed.

Additional info

More information can be found on