VASP

Description: 

VASP is a package for performing ab-initio quantum-mechanical molecular dynamics (MD) using pseudopotentials and a plane wave basis set.

Version: 

5.4.1.05Feb16

5.4.1

5.3.5

5.3.3

5.3.2

5.2.12

5.2.11

4.6.36

4.6.28

Usage: 

There are several versions of VASP installed on the LCRC servers. We recommend that you use 5.4.1.05Feb16. It has better parallel performance than earlier versions and bug fixes. There are currently four builds for the sandy-bridge nodes of blues for this version. The sandy-bridge builds will run on the haswell nodes.

The haswell processor is a very good processor for VASP calculations. The haswell core is twice as fast at the the sandy-bridge cores. Defining CPU affinity on the haswell nodes will improve performance. We highly recommend VASP on blues' haswell nodes.

The following command will define CPU affinity with good performance on the haswell nodes with mvapich2-2.2b.

mpirun -machinefile $PBS_NODEFILE \
-bind-to user:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32 \
-np $(wc -l < $PBS_NODEFILE) \
vasp_std

If you are using multiple k-points, then setting KPAR equal to the number of nodes will improve performance. Note that KPAR should be a divisor of the number of k-points.

vasp_std - Multiple k-points
vasp_gam - Gamma-point only
vasp_ncl - Noncollinear spins for spin orbit coupling.
vasp_gpu - GPU version with multiple k-points

All of the above VASP-v5.4.1 builds were built with the intel 16.0 compilers, the associated mkl library, gcc 4.7.2 and mvapich2-2.2b. You should have the following softenv keys in your ~/.soft file to use these builds of VASP.

+vasp-5.4.1-sandy-bridge
+intel-16.0
+mvapich2-2.2b-intel-16.0-psm
+gcc-4.7.2

Vasp_gpu requires the softenv key +cudatoolkit-6.5.14 in your ~/.soft file. Vasp_gpu was built on the "biggpu" nodes and should only be run on the "biggpu" nodes. See Max Hutchinson's video from his talk at the SC15 conference (http://images.nvidia.com/events/sc15/SC5107-vasp-gpus.html ) and Peter Larsson's blog (https://www.nsc.liu.se/~pla/) for more details on how to use vasp_gpu. There is a sample script for running on the biggpu nodes in /soft/vasp/examples/gpu.

We have an extensive collection of modified versions of VASP 5.3.5 for special tasks.

vasp_complex - Multiple k-points
vasp_gamma - Gamma-point only.
vasp_tst - UT Transition State Tools, multiple k-points
vagp_tst - UT Transition State Tools, gamma-point only
vasp_tdyn - Advanced dynamics, multiple k-points
vagp_tdyn - Advanced dynamics, gamma-point only
vasp_full - Noncollinear VASP for spin orbit coupling, multiple k-points.
vasp_sol - Implicit solvent model, multiple k-points, see http://vaspsol.mse.ufl.edu/ for details
vagp_sol - Implicit solvent model, gamma-point only
vasp_wannier90 - VASP with interface to wannier90 code. See http://wannier.org/ for details.
vasp_projection - VASP with interface to Periodic NBO software. See http://schmidt.chem.wisc.edu/nbosoftware for details

We have provided the most commonly used builds of VASP 5.3.5. If you need some other build of VASP, please let us know and we will build them for you.

In your job script, you can then run the appropriate one using "mpiexec", e.g.:

# ...
cd $PBS_O_WORKDIR
mpiexec -np $np vasp_complex

It appears that the “-bind-to core” mpiexec option is no longer needed on blues to improve the parallel scaling.

All of our VASP builds were built with Intel compilers, the Intel MKL libraries and mvapich2.

• If you need an example PBS script to run VASP, see /soft/vasp/examples on Fusion.
General notes:
• VASP is subject to license conditions that restrict it's use. You need a VASP license for version 5 to become a member of the "vasp52” unix group in order to use version 5 of VASP on Fusion. Please email consult@lcrc.anl.gov with your license number if you are interested in using VASP on Fusion.
• You should consider using the following tricks to increase the throughput of your calculations. Exploiting these tricks can increase your throughput by over an order of magnitude.
◦ If you are running a calculation with only the gamma-point in the “integration” over reciprocal space, you can save a factor of two in elapsed time by using the gamma-point only version of VASP.
◦ The RMM-DIIS iterative matrix diagonalisation algorithm (ALGO = Very_Fast) will give the best parallel performance. It approximately twice as a fast (per iteration) as the Davidson algorithm (ALGO=NORMAL) ALGO=Fast uses RMM-DIIS most of the time and is recommended for metallic or reactive systems.
◦ The parallel performance of VASP is very sensitive to the NCORE parameter on Fusion and Blues. You can improve performance by factor of two (or more) by using an optimum value of NCORE. Our tests with the medium Teragrid benchmark indicate that NCORE =16 gives good performance on fusion and blues. However, you should optimize NCORE and the number of nodes to get the best performance for your model. (This parameter is related to NPAR (NPAR=(number of MPI processes)/NCORE).
◦ The LPLANE input variable should be set to “.FALSE.” for best performance.
◦ If you are using multiple k-points, the KPAR parameter should be used to improve the parallel performance. See section 6.57 of the VASP manual for more details (http://cms.mpi.univie.ac.at/vasp/vasp.pdf)
◦ When performing a geometry optimization or molecular dynamics for a large system consider using low precision (PREC=LOW) or wavefunction convergence. You can save a lot of time by using low precision in the initial stages of a geometry optimization or equilibrating your molecular dynamics simulations with lower precision and convergence criteria. You can always use higher precision to get final results once the geometry is close to converged or the trajectory is equilibrated with low precision. Verify that the drift in energy is not too large in a NVE trajectory at low precision before using higher precision in molecular dynamics. Please see section 6.2 of the VASP manual for more details (http://cms.mpi.univie.ac.at/vasp/vasp.pdf)
◦ If you are doing a simulation involving an water, oxide or any other system containing oxygen, consider using the soft oxygen pseudopotential (O_s). This will allow you to use a lower energy cutoff for the plane waves and save you significant time. The errors due the softer pseudopotential are generally smaller than the errors due to the DFT approximation. But one should always verify the errors are not larger than you can tolerate.
Useful Tools:
• VESTA is a free crystal structure viewer and builder which can read and write POSCAR and CONTCAR files. VESTA can also visualize 3D data such are charge densities, potentials and orbitals from CHG, CHGCAR, PARCHG, LOCPOT and ELFCAR files from VASP. Note that POSCAR and CONTCAR files for VASP.5.2.* can contain the element names on line 6, followed by the number of atoms for each element on line 7. This undocumented feature of VASP facilitates the input of coordinates and elements into VESTA. See http://jp-minerals.org/vesta/en/
• R.I.N.G.S. can extract pair distribution functions, mean square displacements and other properties from the trajectory files generated by VASP molecular dynamics runs. See http://rings-code.sourceforge.net/
• Graeme Henkelman's group, at UT Austin, maintain a collection called the “Transition State Tools for VASP”. These tools provide methods for finding saddle points, evaluating transition state theory (TST) rate constants, Bader charge analysis and Adaptive Kinetic Monte Carlo for VASP. See http://theory.cm.utexas.edu/vtsttools/
• VMD can be used to visualize structures and trajectories from the VASP xml file. See http://www.uni-due.de/~hp0058/?file=vmdplugins.html&lang=en.
• CIF2Cell is a tool to generate a POSCAR from a CIF (Crystallographic Information Framework) file. The program currently supports output for a number of popular electronic structure programs. See http://sourceforge.net/projects/cif2cell.
• See the VASP resources page at https://www.vasp.at/index.php/resources for list of additional useful tools for VASP.
References: 

Websites: http://cms.mpi.univie.ac.at/vasp/
Introduction manual: http://cms.mpi.univie.ac.at/vasp/vasp/vasp.html
Announcement of GPU version of VASP https://www.vasp.at/index.php/news/44-administrative/115-new-release-vas...
How to select the number of cores to get optimum parallel scaling with VASP. https://www.nsc.liu.se/~pla/blog/2015/01/12/vasp-how-many-cores/

Software Type: 
Chemistry Applications
Summary: 
VASP is a package for performing ab-initio quantum-mechanical molecular dynamics (MD) using pseudopotentials and a plane wave basis set. The approach implemented in VAMP/VASP is based on a 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-step using efficient matrix diagonalization schemes and an efficient Pulay mixing scheme.
Status: 
Installed and Supported
Licenced, restricted use; see notes