git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@13151 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2015-02-24 16:29:22 +00:00
parent cb912c1954
commit 02d90d07e6
3 changed files with 121 additions and 5 deletions

View File

@ -1,13 +1,19 @@
This directory contains libraries that can be linked with when
building LAMMPS, if particular packages are included in a LAMMPS
build. The library itself must be built first, so that a library file
exists for LAMMPS to link against.
This directory contains libraries that can be linked to when building
LAMMPS, if particular packages are included in the LAMMPS build.
Most of these directories contain code for the library; some contain
a Makefile.lammps file that points to where the library is installed
elsewhere on your system.
In either case, the library itself must be installed and/or built
first, so that the appropriate library files exist for LAMMPS to link
against.
Each library directory contains a README with additional info about
how to acquire and/or build the library. This may require you to edit
one of the provided Makefiles to make it suitable for your machine.
The libraries included in the LAMMPS distribution are the following:
The libraries in this directory are the following:
atc atomistic-to-continuum methods, USER-ATC package
from Reese Jones, Jeremy Templeton, Jon Zimmerman (Sandia)
@ -33,6 +39,8 @@ molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package
from Axel Kohlmeyer (Temple U) and the VMD development team
qmmm quantum mechanics/molecular mechanics coupling interface
from Axel Kohlmeyer (Temple U)
quip interface to QUIP/libAtoms framework, USER-QUIP package
from Albert Bartok-Partay and Gabor Csanyi (U Cambridge)
reax ReaxFF potential, REAX package
from Adri van Duin (Penn State) and Aidan Thompson (Sandia)
voronoi hooks to the Voro++ library, used by compute voronoi/atom command

20
lib/quip/Makefile.lammps Normal file
View File

@ -0,0 +1,20 @@
# Settings that the LAMMPS build will import when this package library is used
# include ${QUIP_DIR}/Makefiles/Makefile.${QUIP_ARCH}
F95=$(shell egrep 'F95[ ]*=' ${QUIP_DIR}/Makefiles/Makefile.${QUIP_ARCH} | sed 's/.*F95[ ]*=[ ]*//')
include ${QUIP_DIR}/build.${QUIP_ARCH}/Makefile.inc
quip_SYSLIB = -lquip
quip_SYSLIB += ${MATH_LINKOPTS}
ifeq (${F95},gfortran)
quip_SYSLIB += -lgfortran
else ifeq (${F95},ifort)
quip_SYSLIB += -lifcore -lifport
else
$(error fortran compiler >>${F95}<< not recognised. Edit lib/quip/Makefile.lammps to specify the fortran library your linker should link to)
endif
quip_SYSPATH = -L${QUIP_DIR}/build.${QUIP_ARCH} -L${QUIP_DIR}/FoX-4.0.3/objs.${QUIP_ARCH}/lib

88
lib/quip/README Normal file
View File

@ -0,0 +1,88 @@
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 Makefiles 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.