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.

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_mc           client/server coupling of Monte Carlo client 
                      with LAMMPS server for energy evaluation
lammps_nwchem       client/server coupling of LAMMPS client with 
                      NWChem quantum DFT as server for quantum forces
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
lammps_vasp         client/server coupling of LAMMPS client with 
                      VASP quantum DFT as server for quantum forces
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.
