This directory has examples of how to use LAMMPS as a library, either
by itself or in tandem with another code or library.

These examples is meant to illustrate what is possible when coupling
codes or calling LAMMPS as a library.  The examples are provided for
demonstration purposes.  The physics they calculate is too simple to
model a realistic problem.

See these sections of the LAMMPS manaul for details:

2.5 Building LAMMPS as a library (doc/Section_start.html#start_5)
6.10 Coupling LAMMPS to other codes (doc/Section_howto.html#howto_10)

In all of the examples included here, LAMMPS must first be built as a
library.  Basically, in the src dir you type one of

make mode=lib machine
make mode=shlib machine

to create the static library liblammps_machine.a or the shared library
liblammps_machine.so for your code to link against.  A soft link
(liblammps.a or liblammps.so) is also created that points to the most
recently built static or shared library.  Your code build can simply
use the soft link if you prefer.

The library interface to LAMMPS is in src/library.cpp.  Routines can
be easily added to this file so an external program can perform the
LAMMPS tasks desired.

-------------------------------------------------------------------

These are the sub-directories included in this directory:

simple		    simple example of driver code calling LAMMPS as a lib
multiple	    example of driver code calling multiple instances of LAMMPS
lammps_quest	    MD with quantum forces, coupling to Quest DFT code
lammps_spparks	    grain-growth Monte Carlo with strain via MD,
		    coupling to SPPARKS kinetic MC code
library		    collection of useful inter-code communication routines
fortran             a simple wrapper on the LAMMPS library API that
 		      can be called from Fortran
fortran2            a more sophisticated wrapper on the LAMMPS library API that
 		      can be called from Fortran

Each sub-directory has its own README.
