Skip to content

Warning

This is as a Lab Notebook which describes how to solve a specific problem at a specific time. Please keep this in mind as you read and use the content. Please pay close attention to the date, version information and other details.

This Lab Notebook was adapted from the documentation kindly provided by the Mendoza Group Wiki available at https://sites.google.com/view/mendozagroup/home

VASP/6.2.1 in HPCC (2023-03-14)

If you want an example of all the files needed to run a test calculation, you can download them from here.

Submission Script, Parallel version (hpcc)

For a job script example running VASP in parallel, you can use the following script:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash --login
#SBATCH --ntasks=32
#SBATCH -N 1-2
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=5G
#SBATCH --time=7-00:00:00
#SBATCH -p general-long
#SBATCH --job-name VASP_parallel

export JOB=VASP_parallel
export DIR=$SLURM_SUBMIT_DIR
module load -* intel/2020b VASP/6.2.1

srun vasp > vasp_new.out

Besides the memory and the walltime request, you can also change the number of tasks and number of nodes in the first and second #SBATCH lines, respectively.

Submission Script, Parallel version (hpcc) - Saving some files to the SCRATCH

 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
33
34
35
36
37
38
#!/bin/bash --login
#SBATCH --ntasks=32
#SBATCH -N 1-2
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=5G
#SBATCH --time=7-00:00:00
#SBATCH -p general-long
#SBATCH --job-name IrMn3_test
#SBATCH --output=job.out  


export JOB=IrMn3_test
export DIR=$SLURM_SUBMIT_DIR
export scratch=$SCRATCH/vasp


ml -* intel/2020b VASP/6.2.1
echo "scratch job directory: " 
echo $scratch/$JOB             


mkdir  -p $scratch/$JOB    
cp $DIR/*  $scratch/$JOB/  
cd $scratch/$JOB           


echo -e "slurm submission directory:\n$SLURM_SUBMIT_DIR" > SUBMITDIR  
srun vasp > vasp.out
succeed=$?
cp OUTCAR ${DIR}/OUTCAR        
cp CONTCAR ${DIR}/CONTCAR      
cp vasp.out ${DIR}/vasp.out    

if [ $succeed -eq 0 ]; then    
        cd ${DIR}              
        rm -rf $scratch/$JOB/WAVECAR          
        echo "$JOB finished successfully"     
fi

To use it, please use the following command to load the module:

ml -* intel/2020b VASP/6.2.1

After that you can use vasp_gam, vasp_ncl, vasp_std and vasp (same as vasp_std) to run VASP.

The GPU version of VASP/6.2.1 is also installed

[From one of our technicians]

I also compiled VASP/6.2.1 with intel and CUDA compilers. You can also load the version with the command:

ml -* intelcuda/2020b VASP/6.2.1

After that you can use vasp_gpu, vasp_gpu_ncl, vasp_gam, vasp_ncl, vasp_std and vasp (same as vasp_std) to run VASP.

All of the compilations have the interface to Wannier90/3.1.0.

ml -* intel/2020b VASP/6.2.1

After that you can use vasp_gam, vasp_ncl, vasp_std and vasp (same as vasp_std) to run VASP. The compilation used the intel compilers to compile VASP.

ml -* intelcuda/2020b VASP/6.2.1

After that you can use vasp_gpu, vasp_gpu_ncl, vasp_gam, vasp_ncl, vasp_std and vasp (same as vasp_std) to run VASP. All of the compilations have the interface to Wannier90/3.1.0.

ml -* intel/2020b VASP/6.2.1-VASPsol

on a dev node to load the version.

Some General Points to Remember when Running VASP Calculations

To visualize and modify your structures you can use VESTA: https://jp-minerals.org/vesta/en/download.html

For more instructions about VESTA you can use: https://www.youtube.com/channel/UCmOHJtv6B2IFqzGpJakANeg/videos

As explained below, VASP calculations require 4 input files: INCAR, KPOINTS, POSCAR, and POTCAR.

One needs to create a separate directory for each calculation and copy the input files to the directory. A brief introduction to the files:

(1) INCAR: All calculations set ups such as energy and force convergence, single point energy calculation, optimization, or MD; 2D vs 3D calculations etc. are defined here. Most keywords are explained (commented). If you want to know about a particular keyword you could search for it in VASP WIKI documentation. Just type the word and VASP in google and it will take you to many online sources explaining it. VASP has been popular among researchers for many years. So, it is easy to find the explanations from online groups.

(2) POSCAR: We define atomic positions and lattice vectors here. Note that the atomic positions are in crystal units. To convert it, I usually open the file in VESTA and export again as a POSCAR file, but now in angstrom unit. I don't have a script to automate it. But, will be useful when planning to run several calculations in one go.

(3) KPOINTS; Typically I use gamma-point centered high symmetry points in Brillouine zone. Monkhorst-Pack grids. You may change it according to the problem.

(4) POTCAR: Potential files are distributed along with the VASP software and license. I use GGA-PBE PAW pseudo potentials. This is saved as default POTCAR file in the VASP pseudopotential directory in hpc. Once you open POTCAR file, you could see the explanation in the first few lines.

If the system has more than one unique element, you need to copy the POTCAR file for each element and concatenate all of them in the same order as you have it in POSCAR file. To highlight the difference for a system with more than one unique element, I have attached a file named POSCAR_2.

type module show to get the path for vasp installation and pseudopotential (POTCAR) files.

I feel PBE PAW pseudopotentials should be good for most purposes. Test different convergence criteria for your system before starting the production run.

To concatenate POTCAR files, use the command, cat ~/pot/Al/POTCAR ~/pot/C/POTCAR ~/pot/H/POTCAR >POTCAR (this also shows that you dont need to coy all POTCAR files into the working directory. Instesd, you could directly create the final POTCAR file in one go).

(5) I haven't exported the wave functions files from VASP for any specific purpose. So, I cannot help you with that for now. But, you may check online for guidance.

VASP creates a lot of scratch files. So, it can use all the memory very quickly. If you need to run many calculations in one go, plan ahead to delete unnecessary files.