VASP (Vienna Ab initio Simulation Package)¶
VASP is a software package for performing ab-initio quantum-mechanical calculation of a periodic arrangement of atoms using the projector-augmented wave method and a plane wave basis set. The package can perform density-functional-theory (DFT) calculations, or many-body-perturbation-theory (MBPT) like GW etc. Please consult the documentation to get a more detailed overview of its feature set.
Installed on facilities¶
6.1 (not yet installed, ETA will be notified, we are pending updates from the VASP group pertaining to agreements to install/maintain it on our clusters, in essence the agreements of a cluster maintenance license)
License and access policy¶
VASP is a commercial software package that requires a license for all who wants to use it. For a user to get access to the VASP executables installed on the Sigma2 systems they must perform the following steps:
The users research group must have a valid VASP licence. To acquire a licence, please consult the How can I purchase a VASP license?.
We need to get a confirmation from a VASP representative to confirm that the user have access to the license. The group representative of the user needs to contact the VASP team using email@example.com and ask them to send a confirmation email to
firstname.lastname@example.org confirm that the user have a valid license. It is very important that you communicate clearly to the VASP group that we want emails on this address.
Once we receive the confirmation email we will add the user in question to the VASP group, which would give access to the VASP modules on the Sigma2 systems.
Notice that the VASP license is backwards compatible, meaning that if you are issues a VASP 6 license you also have access to VASP 5.
You can check which VASP 5.4.4 versions are installed by executing:
$ module load VASPModules $ module avail VASP
And load a particular module by executing (case sensitive):
$ module load VASP/5.4.4-intel-2019a-std
Please remember to use two
module load. The first loads the location of all the VASP modules and the second command loads the actual VASP module. It is also possible, if you know what module you want to execute::
$ module load VASPModules VASP/5.4.4-intel-2019a-std
Users have to supply the necessary input files, including any
POTCAR files needed. They can be downloaded from the VASP portal you get access to with a valid VASP license. Also, please note that the
POTCAR files are protected by the license so do not share them with anyone that does not have a license, including the support team, unless explicitly notified to do so.
Module naming schemes¶
There are now one module per VASP version. Meaning when you now load a module, there is only one executable,
vasp. In order to make it crystal clear to the users what versions of the additional packages have been used, the module names are unfortunately quite long. However, we hope this will at least give transparency and better facilitate reproducibility.
The naming schemes of the modules are
VASP version-Toolchain-Additional Packages-Adaptions to source code-VASP flavor. Where:
VASP versiondetermines the VASP version, e.g. 5.4.4
Toolchaindetermines the toolchain used, typically which compilers, LAPACK, BLAS etc. routines have been used. This is based on the existing toolchains on the system. These can be inspected with
module show intel-2019afor the particular system (e.g.
fram). Typically, the
Toolchainis the vendor, e.g.
intelfollowed by the version, e.g.
Additional Packagesdetermines if an additional package has been included, e.g.
wannier90(support for maximally-localised Wannier functions and the Wannier90),
beef(to yield support for the BEEF functional and Bayesian error estimates),
vtst(to yield support for additional transition state tools VTST) and
sol(to yield support for solvation models using VASPsol). Following the package name is the version of that specific package, e.g.
beef-0.1.1, meaning the
beefpackage is included using version
0.1.1. For multiple packages and combination, the list continues.
Adaptions to source codedetermines if there has been adaptions to the source code, e.g. restrictions in the ionic motions. For instance for
nor_xthe ionic motion/relaxation along the
zis the unit cell axis supplied to VASP) direction. It does not have any version following its label.
VASP flavordetermines the VASP flavor, e.g.
stdfor the standard flavor (
gamfor the gamma flavor (
-DNGZhalf -DwNGZhalfadded to
nclfor the non-collinear flavor. As for the adaptions, no version is following these labels.
i.e. for the example module
Further notes about the additional packages and how the modules have been constructed¶
wannier90 does not modify the run-time behavior in any way (you have to enable special flags to enable its functionality, please consult the respective documentations), they are included for all the versions.
vtst do however modify the original behavior of VASP for some cases and is thus included as a separate additional package.
The VTST scripts are available if you load a module with
vtst and can be found in
$EBROOTVASP/vtst after loading the VASP module containing
bee executable from the BEEF library can be found in
postw90.x executables of Wannier90 can be found in
We try to upload new versions if the VASP group issues new official patches and the naming scheme above does not indicate which patch is used as that is implicitly assumed to be using the latest released patch.
A few notes and special modules¶
There are modules were
ndegX) is adjusted to
X=64, 128 and 256 from the default value of 48. Since this is statically defined value, a special compile is necessary. If you get issues involving
NMAX_DEG, please try a minimal working example using this executable and let us know if that solves your problem. Most likely you will encounter it again and we could try to compile an even larger value. However, also try to change your problem, like the symmetry and the representation you work in.
Parallel functionality and library support.¶
All VASP and Wannier90 binaries are compiled with Intel MPI support, if they support it. No OpenMP is enabled. For the binaries of the additional packages, no parallelization is available.
Memory allocation for VASP¶
VASP is known to be potentially memory demanding. Quite often, you might experience to use less than the full number of cores on the node, but still all of the memory.
Increase the Slurm setting
Utilize the nodes with more memory per cpu.
Remember you are accounted for the CPUs that would be reserved due to your demand for increased memory.
When publishing results obtained with the software referred to, please do check your license agreement and the developers web page in order to find the correct citation(s). Also, remember to acknowledge Sigma2 for the computational resources.