lammps/examples/COUPLE/README

54 lines
2.4 KiB
Plaintext

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)
6.29 Using LAMMPS in client/server mode (doc/Section_howto.html#howto_29)
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_mc client/server coupling of Monte Carlo client
with LAMMPS server for energy evaluation
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.