General¶
This manual describes the interface between the AMS Driver and VASP. The AMS Driver can obtain information from VASP to update atomic positions in
geometry optimizations,
lattice optimizations,
molecular dynamics,
nudged elastic band,
PES Scans
or any of the other AMS Driver tasks. The output is given in the normal AMS format which means it can natively be used with PLAMS and ParAMS.
VASP itself is not developed by SCM, and is not included in the Amsterdam Modeling Suite. You need to obtain VASP and pseudopotential files separately. See vasp.at.
The VASP engine received a major technical overhaul in AMS2026. If you’re having issues, do not hesitate to submit a support ticket and include all the input and output files and directories.
See also
Tutorials for VASP with the graphical user interface
Supported operating systems¶
Linux: The VASP engine has been tested.
Mac: The VASP engine has not been tested but should in theory work.
Windows: You can set up a calculation in AMSinput on Windows and submit jobs to a remote (Linux) compute cluster.
Supported VASP versions¶
The AMS interface to VASP supports VASP versions 5.4, 6.3, and 6.4.
Features supported:
Example task |
Coordinates |
Lattice |
Composition |
VASP 4 |
VASP 5.4 |
VASP 6.3 |
VASP 6.4 |
|---|---|---|---|---|---|---|---|
Single-point |
Fixed |
Fixed |
Fixed |
No |
Yes |
Yes |
Yes |
Geometry optimization |
Variable |
Fixed |
Fixed |
No |
Yes |
Yes |
Yes |
Lattice optimization |
Variable |
Variable |
Fixed |
No |
Yes* |
Yes* |
Yes |
Molecule gun MD |
Variable |
Fixed |
Variable |
No |
Yes* |
Yes* |
Yes** |
GCMC μ-PT |
Variable |
Variable |
Variable |
No |
Yes* |
Yes* |
Yes** |
VASP executable and number of processes (parallelization)¶
There needs to be a working VASP installation on the machine where the calculation is run.
Specify the exact command you would like to execute to run VASP as the Command to execute VASP
on the main VASP page in AMSinput. For example, set it to
mpirun -n 4 vasp, if you use mpirun to launch VASP and would like to
parallelize over 4 processes.
Note
The environment variable SCM_DISABLE_MPI must be set to 1. This is automatically done by AMSinput.
Tip
On some systems VASP may require specific environment variables which are overriden by AMS. If you are having problems running AMS via VASP, consider writing a shell script that wraps your VASP command within a new environment.
Open a terminal and run VASP the way you would normally run it. For example, you might use this command:
mpirun -np 4 vasp
If that is how you run VASP, then you can generate the “command to run VASP” using this command:
sh $AMSHOME/scripting/scm/external_engines/backends/_vasp/generate_run_vasp_script.sh mpirun -np 4 vasp
If successful, that will create a file called run_vasp.sh that sets the
PATH, LD_LIBARY_PATH, an DYLD_LIBRARY_PATH environment variables to their
current values.
Then specify the Command to run VASP as sh /path/to/run_vasp.sh (use
the full absolute path).
Feel free to modify run_vasp.sh, for example to change the number of processors, or to set additional environment variables.
What’s new?¶
Release AMS2026.1¶
VASP is now a normal AMS engine (rather than “external”), which makes it easier to run outside the GUI. It is now also compatible with Simple Active Learning.
The new engine makes use of VASP’s interactive mode, meaning that, under most cases, the engine is not required to be restarted when receiving new positions/lattice from the AMS driver.
Release AMS2019.3¶
Added as an external engine.
Support¶
As the VASP code has not been developed by SCM, we cannot give support for VASP issues other than use via our GUI or PLAMS.