LAMMPS engine for SimPhoNy

The SimPhoNy engine for LAMMPS is available in the SimPhoNy through the engine plugin named lammps

After installation, the user should be able to import the lammps engine plugin module:

from simphony.engine import lammps
  engine = lammps.LammpsWrapper()

Interface to LAMMPS

The SimPhoNy LAMMPS engine (see LammpsWrapper) can be configured to interface with LAMMPS in two separate ways:

  • FILE-IO - input and output files are used to configure and run LAMMPS engine
  • INTERNAL - the LAMMPS library interface is used to run LAMMPS and access the internal state.

Despite performance differences, it should not matter whether the user is using the File-IO or the INTERNAL interface as the API is the same.

# wrapper defaults to FILE-IO
from simphony.engine import lammps
    engine = lammps.LammpsWrapper()
# or use INTERNAL wrapper
from simphony.engine import lammps
    engine = lammps.LammpsWrapper(use_internal_interface=true)

Installation of LAMMPS

This engine-wrapper uses LAMMPS Molecular Dynamics Simulator. A recent stable version (10 Aug 2015, tagged r13864) of LAMMPS is supported and has been tested. See install_lammps.sh for an example installation instructions. For general LAMMPS install information, see http://lammps.sandia.gov/index.html

The installation of LAMMPS differs depending on what interface is used:

  • FILE-IO: There needs to be an executable called “lammps” that can be found in the PATH.
  • INTERNAL: The LAMMPS-provided Python wrapper to LAMMPS needs to be installed.Instructions on building LAMMPS as a shared library and installing the Python wrapper can be found on LAMMPS website (http://lammps.sandia.gov/doc/Section_python.html#py_3)

Limitations of the INTERNAL interface

The following are known limitations when using the INTERNAL interface to LAMMPS: