QUIP library

Albert Bartok-Partay
apbartok at gmail dot com
2014

This library provides a plug-in for calling QUIP potentials from
LAMMPS. The QUIP package should be built separately, and then the
resulting libraries can be linked to the LAMMPS code. In case of some
potentials, such as BOP or GAP, third-party packages are needed, which
must be downloaded and compiled separately. NB: although GAP has to be
downloaded separately as it is licensed under a different license
agreement, it is compiled together with the rest of QUIP.

Building LAMMPS with QUIP support:

1) Building QUIP
1.1) Obtaining QUIP

The most current release of QUIP can be obtained from github: 

$ git clone https://github.com/libAtoms/QUIP.git QUIP

If GAP is needed, it may be downloaded from the `Software' section of
libatoms.org, after accepting the terms and conditions of the Academic
License Agreement. Extract the tarball into the QUIP directory.

1.2) Building QUIP

There is a README file in the top-level QUIP directory, but here are
the main steps.

The arch directory contains a selection of machine- and
compiler-specific makefiles,
e.g. Makefile.linux_x86_64_gfortran. Decide which one is most
appropriate for your system, and edit if necessary. The configuring
step will use the makefile based on the QUIP_ARCH environment
variable, i.e. Makefile.${QUIP_ARCH}. The script will create a build
directory, build/${QUIP_ARCH}, and all the building will happen
there. First it will ask you some questions about where you keep
libraries and other stuff.

If you don't use something it is asking for, just leave it blank. NB
make sure to answer `y' to `Do you want to compile with GAP prediction
support ? [y/n]'. The answers will be stored in Makefile.inc in the
build/${QUIP_ARCH} directory, and you can edit them later (e.g. to
change optimisation or debug options). Note that the default state is
usually with rather heavy debugging on, including bounds checking,
which makes the code quite slow. The make command has to be executed
from the top-level directory. Making `libquip' ensures all the
necessary libraries will be built.

for example:

$ cd QUIP
$ export QUIP_DIR=/path/to/QUIP
$ export QUIP_ARCH=linux_x86_64_gfortran
$ make config
$ make libquip

Optionally, do
$ make test
to run a test suite.

2) Building LAMMPS

2.1) Adding QUIP support
Obtain the most recent version of the QUIPforLAMMPS package:
$ git clone https://github.com/libAtoms/QUIPforLAMMPS
$ cd QUIPforLAMMPS
$ make LAMMPS_DIR=/path/to/lammps/directory install

Enter the LAMMPS directory:

$ cd LAMMPS
$ cd src
$ make yes-user-quip

2.2) Build LAMMPS according to the instructions on the LAMMPS website.

3) There are two example sets in examples/USER/quip:

- a set of input files to compute the energy of an 8-atom cubic
  diamond cell of silicon with the Stillinger-Weber potential. Use
  this to benchmark that the interface is working correctly.

- a set of input files to demonstrate how GAP potentials are specified
  in a LAMMPS input file to run a short MD.
