Intermediate topics for VASP users on NeSI
Learning goals
Many of you are intermediate to experienced VASP users, and have been using the programme for some time. As VASP evolves and more features become available, however, it is easy to carry on with the same workflows and neglect new release features. It is important we optimise our VASP calculations and make the most because VASP users use the most core hours on NeSI, more than any other programme!. In the last year
- understand parallelisation options of VASP and how to quickly optimize them for your problem
- Explore machine learning capability of VASP
- accelerate your VASP calculations using NeSI's GPUs.
- ........
The basics - VASP input files
VASP generally requires four input files
1. INCAR
The runtime settings file for VASP. Tells VASP what type of calculation you want to perform, and the parameters for it to run in.
2. KPOINTS
File specifying the k points density. k points are points at which the electronic structure is sampled in the Brillouin zone (reciprocal lattice of a crystalline material). More k points is required for systems with large fluctuations in electron density, as these fluctuations may otherwise be poorly described by corse grain sampling.
3. POTCAR
File containing the pseudopotential(s) for all atom(s). Order in which pseudopotentials are given must match the atom order in the POSCAR
.
4. POSCAR
File specifying atomic coordinates. This file will not be update as the calculation proceeds, instead, updated atomic coordinates are printed to the CONTCAR
.
Tip
We can use ASEs sort utility to sort our POSCAR
by atom type, and remove duplicates. This will make writing the POTCAR
file much eaiser.
#!/usr/bin/env python
from ase.io import read
import sys
from ase.build import sort
from ase.io import write
input=read(str(sys.argv[1]))
arrange=sort(input)
write(str(sys.argv[1]),arrange,format="vasp")
Literature
- Nieves-Pírez, Isidoro, et al. "Energy efficiency and performance analysis of a legacy atomic scale materials modeling simulator (VASP)." The Journal of Supercomputing (2024): 1-24.
- https://www.nsc.liu.se/~pla/blog/2015/11/16/vaspgpu/
Workshop material structure
NOT UP-TO-DATE
$ tree
.
├── ethene_in_vacuum
│ ├── input
│ │ ├── INCAR
│ │ ├── KPOINTS
│ │ ├── POSCAR
│ │ ├── POTCAR
│ │ └── start.sh
│ ├── output
│ │ ├── CHG
│ │ ├── CHGCAR
│ │ ├── CONTCAR
│ │ ├── DOSCAR
│ │ ├── EIGENVAL
│ │ ├── IBZKPT
│ │ ├── OSZICAR
│ │ ├── OUTCAR
│ │ ├── PCDAT
│ │ ├── PROCAR
│ │ ├── REPORT
│ │ ├── vaspout.h5
│ │ ├── vasprun.xml
│ │ ├── WAVECAR
│ │ └── XDATCAR
│ └── README.md
├── GPU_calulation
│ ├── input
│ │ └── file
│ └── output
│ └── file
├── H2O_machine_learning_MD
│ ├── input
│ │ └── file
│ ├── output
│ │ └── file
│ └── run.sl
├── INCAR_orig
├── parallel_NEB
│ ├── input
│ │ └── file
│ └── output
│ └── file
├── README.md
└── very_parallel
├── input
│ └── file
└── output
└── file
15 directories, 32 files