VASP
The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, for example electronic structure calculations and quantum-mechanical molecular dynamics, from first principles.
This guide serves as an introduction to running VASP at Pawsey.
Prerequisites/Before you begin
Proof of a licence is required before being granted access to VASP.
You should submit a helpdesk ticket requesting VASP access, including the user accounts and email addresses that require access.
The email addresses for the accounts must match the em[Dev]VASPail addresses that are used on the VASP licensing portal.
Based on experience, checking the email that was used in the VASP license portal first can avoid confusion and help us progress the ticket faster.
The Pawsey helpdesk will then use the VASP licensing portal to confirm a valid licence, which is why it is important to have a matching email address to the one registered with VASP.
Upon confirmation from the VASP licensing portal we will grant access to the vasp
and/or vasp6
groups depending on the type of license, which will allow the accounts to load the corresponding VASP modules.
Generally, up to 6 users can be on a single licence. Note that licences are restricted to particular versions of VASP.
Using VASP on Setonix
VASP is installed for the GNU programming environment on Setonix.
#!/bin/bash -l #SBATCH --job-name=something #SBATCH --ntasks=128 #SBATCH --ntasks-per-node=128 #SBATCH --partition=work #SBATCH --exclusive #SBATCH --account=[your-account] #SBATCH --time=02:00:00 #SBATCH --nodes=1 module load vasp/5.4.4 ulimit -s unlimited srun -N 1 -n 128 vasp_std > vasp.log
The ulimit
command is required because VASP uses a large amount of stack memory in addition to heap memory. This does not unlock more physical memory or change the amount of memory allocated to the job.
In VASP versions 5.4.4, 6.2.1 and 6.3.0 there are three default binaries created:
vasp_std
vasp_gam
vasp_ncl
GPU-enabled builds of VASP are not available on Setonix.
Install a custom build of VASP
Pawsey staff does not install any VASP customisations globally. If you need a modified version of VASP, you can install it from a source archive using Spack. Note that you must have a valid VASP license and be able to download the VASP source code from the VASP portal before you can build a custom VASP installation.
Install VASP with support for VASPsol and VTST
VASPsol and VTST are popular customisation packages for VASP; VASPsol enables calculations using an implicit solvation model, while VTST is a utility for finding saddle points and evaluating transition state theory (TST) rate constants.
Users with a valid VASP license can use Spack to install VASP with VASPsol, VTST, or both. Note how the Spack installation command needs to be run from a directory containing the VASP source archive for the requested version.
The example below shows the procedure to install VASP 5.4.4.pl2 with VASPsol and VTST using Spack:
$ ls vasp.5.4.4.pl2.tgz $ module load spack/<VERSION> Note: when this module is unloaded, the shell environment will NOT revert to its original state, and retain some Spack settings. If you need the original shell environment, start a new shell session instead. $ spack install vasp@5.4.4.pl2 +scalapack +vaspsol +vtst ==> Installing vasp-5.4.4.pl2-7p4vkc6ncmxw7ceochhxbqla36fvecfe ==> No binary for vasp-5.4.4.pl2-7p4vkc6ncmxw7ceochhxbqla36fvecfe found: installing from source [..] ==> vasp: Successfully installed vasp-5.4.4.pl2-7p4vkc6ncmxw7ceochhxbqla36fvecfe Fetch: 1.49s. Build: 20m 50.73s. Total: 20m 52.22s. ==> vasp: Successfully installed vasp-5.4.4.pl2-7p4vkc6ncmxw7ceochhxbqla36fvecfe Fetch: 9.56s. Build: 12m 28.45s. Total: 12m 38.01s. [+] /software/projects/your_project/your_username/setonix/2023.08/software/linux-sles15-zen3/gcc-12.2.0/vasp-5.4.4.pl2-7p4vkc6ncmxw7ceochhxbqla36fvecfe $ spack module lmod refresh -y vasp ==> Regenerating lmod module files
Note that this procedure has been tested with the following versions and options:
- vasp@5.4.4 +scalapack +vaspsol +vtst
- vasp@5.4.4.pl2 +scalapack +vaspsol +vtst
- vasp@6.2.1 +scalapack +vaspsol
- vasp@6.3.0 +scalapack +vaspsol
Only the original version of VASPsol (external link) can be installed using Spack. The community-developed VASPsol++ plugin (external link) cannot be installed this way.
External links
- Peter Larsson's work on optimising VASP performance may be useful when choosing the number of cores, cores per node, and VASP parameters such as NPAR, KPAR, NCORE and NSIM: Selecting the Right Number of Cores for a VASP Calculation.
- The VASP user manual has information on parallelisation and performance which may also be useful when choosing parameters for a VASP calculation: VASP User Manual: Parallelisation.