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

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**

* The engine is automatically restarted if the lattice/chemical composition changes.
** The engine is automatically restarted if the chemical composition changes.

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.