forked from lijiext/lammps
54 lines
2.4 KiB
Plaintext
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.
|