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.

In many of the examples included here, LAMMPS must first be built as a
library.

Also see the Howto_mdi doc page in the LAMMPS manual for a description
of how LAMMPS can be coupled to other codes in a client/server fashion
using the MDI Library created by the MolSSI consortium.  The MDI
package in LAMMPS has support for this style of code coupling.

See these sections of the LAMMPS manual for details:

Build LAMMPS as a library (doc/html/Build_basics.html)
Link LAMMPS as a library to another code (doc/html/Build_link.html)
Coupling LAMMPS to other codes (doc/html/Howto_couple.html)
Library interface to LAMMPS (doc/html/Howto_library.html)
Detailed documentation of the LAMMPS interfaces (doc/html/Library.html)

The core 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
plugin              example for loading LAMMPS at runtime from a shared library
lammps_spparks      grain-growth Monte Carlo with strain via MD,
                    coupling to SPPARKS kinetic MC code
library             collection of useful inter-code communication routines

Each sub-directory has its own README with more details.
