lammps/examples/COUPLEe7e5ba4e4688lammps-icms
README
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.