Files
lammps/examples/COUPLE

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)
Using LAMMPS in client/server mode (doc/html/Howto_client_server.html)
Library interface to LAMMPS (doc/html/Howto_library.html)

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
plugin              example for loading LAMMPS at runtime from a shared library
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
fortran_dftb        wrapper written by Nir Goldman (LLNL), as an
                      extension to fortran2, used for calling LAMMPS
                      from Fortran DFTB+ tight-binding code

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