forked from lijiext/lammps
f66ce801ad | ||
---|---|---|
.. | ||
fortran | ||
fortran2 | ||
fortran_dftb | ||
lammps_mc | ||
lammps_quest | ||
lammps_spparks | ||
lammps_vasp | ||
library | ||
multiple | ||
simple | ||
.gitignore | ||
README |
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) 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.