Using VASP on the Eagle System
Learn how to use the VASP (Vienna Ab initio Simulation Package) licensed software on Eagle.
VASP computes an approximate solution to the many-body Schrödinger equation, either within density functional theory (DFT), solving the Kohn-Sham equations, or within the Hartree-Fock (HF) approximation, solving the Roothaan equations. Hybrid functionals that mix the Hartree-Fock approach with density functional theory are implemented as well. Furthermore, Green's functions methods (GW quasiparticles, and ACFDT-RPA) and many-body perturbation theory (2nd-order Møller-Plesset) are available in VASP.
In VASP, central quantities, like the one-electron orbitals, the electronic charge density, and the local potential are expressed in plane wave basis sets. The interactions between the electrons and ions are described using norm-conserving or ultrasoft pseudopotentials, or the projector-augmented-wave method.
To determine the electronic ground state, VASP makes use of efficient iterative matrix diagonalization techniques, like the residual minimization method with direct inversion of the iterative subspace (RMM-DIIS) or blocked Davidson algorithms. These are coupled to highly efficient Broyden and Pulay density mixing schemes to speed up the self-consistency cycle.
For further details, documentation, forums, and FAQs, see the VASP website.
Accessing VASP on Eagle
The VASP license requires users to be a member of a "workgroup" defined by the University of Vienna or Materials Design. If you are receiving "Permission denied" errors when trying to use VASP, you must be made part of the "vasp" Linux group first. To join, please e-mail HPC-Help@nrel.gov with the following information:
- Your name
- Whether you are licensed through Vienna (academic) or Materials Design, Inc. (commercial)
- Your VASP license ID (if licensed through Vienna), or proof of current licensed status (if through Materials Design)
- The workgroup PI.
Once status can be confirmed, we can provide access to our VASP builds on Eagle.
Setting Up Software Environment
In order to use VASP, set up the software environment via, e.g.:
module load vasp/5.4.4
Three distinct executables have been made available:
- vasp_gam is for Gamma-point-only runs typical for large unit cells;
- vasp_std is for general k-point meshes with collinear spins; and,
- vasp_ncl is for general k-point meshes with non-collinear spins.
vasp_gam and vasp_std builds include the alternative optimization and transition state theory tools from University of Texas-Austin developed by Graeme Henkelman's group, and implicit solvation models from the University of Florida developed by Mathew and Hennig.
An example job submission script is shown here:
#SBATCH --job-name job_name # Replace job_name with your own
#SBATCH --ntasks=72 # This will deliver 2 36-core nodes
#SBATCH --time=02:00:00 # REPLACE
#SBATCH –-account=account_id # Replace with your allocation ID
#SBATCH --error=%x-%A.err # This will create stderr file <job_name>-<jobid>.err
#SBATCH --output=%x-%A.out . # This will create stdout file <job_name>-<jobid>.out
module load vasp/5.4.4
JOB_BASENAME=$SLURM_JOB_NAME # Captures the –N value from above
if [ -d $SCRATCH ]
rm -rf $SCRATCH
cd $SLURM_SUBMIT_DIR # Assumes you submitted job from directory containing VASP input
# Minimal files needed for VASP run
cp INCAR KPOINTS POSCAR POTCAR $SCRATCH/.
srun -n $SLURM_NTASKS vasp_gam > $JOB_BASENAME.log
We are currently establishing workflow and testing the GPU-enabled version of VASP for general k-point calculations. We will update this information once it becomes available.