"Previous Section"_Section_perf.html - "LAMMPS WWW Site"_lws - "LAMMPS
Documentation"_ld - "LAMMPS Commands"_lc - "Next
Section"_Section_modify.html :c

:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)

:line

7. Additional tools :h3

LAMMPS is designed to be a computational kernel for performing
molecular dynamics computations.  Additional pre- and post-processing
steps are often necessary to setup and analyze a simulation.  A few
additional tools are provided with the LAMMPS distribution and are
described in this section.

Our group has also written and released a separate toolkit called
"Pizza.py"_pizza which provides tools for doing setup, analysis,
plotting, and visualization for LAMMPS simulations.  Pizza.py is
written in "Python"_python and is available for download from "the
Pizza.py WWW site"_pizza.

:link(pizza,http://www.cs.sandia.gov/~sjplimp/pizza.html)
:link(python,http://www.python.org)

Note that many users write their own setup or analysis tools or use
other existing codes and convert their output to a LAMMPS input format
or vice versa.  The tools listed here are included in the LAMMPS
distribution as examples of auxiliary tools.  Some of them are not
actively supported by Sandia, as they were contributed by LAMMPS
users.  If you have problems using them, we can direct you to the
authors.

The source code for each of these codes is in the tools sub-directory
of the LAMMPS distribution.  There is a Makefile (which you may need
to edit for your platform) which will build several of the tools which
reside in that directory.  Some of them are larger packages in their
own sub-directories with their own Makefiles.

"amber2lmp"_#amber
"binary2txt"_#binary
"ch2lmp"_#charmm
"chain"_#chain
"data2xmovie"_#data
"eam generate"_#eam
"lmp2arc"_#arc
"lmp2cfg"_#cfg
"lmp2traj"_#traj
"lmp2vmd"_#vmd
"matlab"_#matlab
"micelle2d"_#micelle
"msi2lmp"_#msi
"pymol_asphere"_#pymol
"python"_#pythontools
"restart2data"_#restart
"thermo_extract"_#thermo_extract
"vim"_#vim
"xmovie"_#xmovie :ul

:line

amber2lmp tool :h4,link(amber)

The amber2lmp sub-directory contains two Python scripts for converting
files back-and-forth between the AMBER MD code and LAMMPS.  See the
README file in amber2lmp for more information.

These tools were written by Keir Novik while he was at Queen Mary
University of London.  Keir is no longer there and cannot support
these tools which are out-of-date with respect to the current LAMMPS
version (and maybe with respect to AMBER as well).  Since we don't use
these tools at Sandia, you'll need to experiment with them and make
necessary modifications yourself.

:line

binary2txt tool :h4,link(binary)

The file binary2txt.cpp converts one or more binary LAMMPS dump file
into ASCII text files.  The syntax for running the tool is

binary2txt file1 file2 ... :pre

which creates file1.txt, file2.txt, etc.  This tool must be compiled
on a platform that can read the binary file created by a LAMMPS run,
since binary files are not compatible across all platforms.

:line

ch2lmp tool :h4,link(charmm)

The ch2lmp sub-directory contains tools for converting files
back-and-forth between the CHARMM MD code and LAMMPS. 

They are intended to make it easy to use CHARMM as a builder and as a
post-processor for LAMMPS. Using charmm2lammps.pl, you can convert an
ensemble built in CHARMM into its LAMMPS equivalent.  Using
lammps2pdb.pl you can convert LAMMPS atom dumps into pdb files.

See the README file in the ch2lmp sub-directory for more information.

These tools were created by Pieter in't Veld (pjintve at sandia.gov)
and Paul Crozier (pscrozi at sandia.gov) at Sandia.

:line

chain tool :h4,link(chain)

The file chain.f creates a LAMMPS data file containing bead-spring
polymer chains and/or monomer solvent atoms.  It uses a text file
containing chain definition parameters as an input.  The created
chains and solvent atoms can strongly overlap, so LAMMPS needs to run
the system initially with a "soft" pair potential to un-overlap it.
The syntax for running the tool is

chain < def.chain > data.file :pre

See the def.chain or def.chain.ab files in the tools directory for
examples of definition files.  This tool was used to create the
system for the "chain benchmark"_Section_perf.html.

:line

data2xmovie tool :h4,link(data)

The file data2xmovie.c converts a LAMMPS data file into a snapshot
suitable for visualizing with the "xmovie"_#xmovie tool, as if it had
been output with a dump command from LAMMPS itself.  The syntax for
running the tool is

data2xmovie [options] < infile > outfile :pre

See the top of the data2xmovie.c file for a discussion of the options.

:line

eam generate tool :h4,link(eam)

The tools/eam_generate directory contains several one-file C programs
that convert an analytic formula into a tabulated "embedded atom
method (EAM)"_pair_eam.html setfl potential file.  The potentials they
produce are in the potentials directory.

The source files and potentials were provided by Gerolf Ziegenhain
(gerolf at ziegenhain.com).

:line

lmp2arc tool :h4,link(arc)

The lmp2arc sub-directory contains a tool for converting LAMMPS output
files to the format for Accelrys' Insight MD code (formerly
MSI/Biosym and its Discover MD code).  See the README file for more
information.

This tool was written by John Carpenter (Cray), Michael Peachey
(Cray), and Steve Lustig (Dupont).  John is now at the Mayo Clinic
(jec at mayo.edu), but still fields questions about the tool.

This tool was updated for the current LAMMPS C++ version by Jeff
Greathouse at Sandia (jagreat at sandia.gov).

:line

lmp2cfg tool :h4,link(cfg)

The lmp2cfg sub-directory contains a tool for converting LAMMPS output
files into a series of *.cfg files which can be read into the
"AtomEye"_http://164.107.79.177/Archive/Graphics/A visualizer.  See
the README file for more information.

This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).

:line

lmp2traj tool :h4,link(traj)

The lmp2traj sub-directory contains a tool for converting LAMMPS output
files into 3 analysis files.  One file can be used to create contour
maps of the atom positions over the course of the simulation. The
other two files provide density profiles and dipole moments.  See the
README file for more information.

This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).

:line

lmp2vmd tool :h4,link(vmd)

The lmp2vmd sub-directory contains some scripts for converting LAMMPS
files into formats suitable for visualizing with the "VMD
package"_http://www.ks.uiuc.edu/Research/vmd/.

One script extracts bond topology info from a LAMMPS data file.  A
second script attached amino acid (residue) information to what is
extracted from a data file.  See the README file for more information.

These scripts were written by Axel Kohlmeyer (akohlmey at
cmm.chem.upenn.edu) at U Penn.

:line

matlab tool :h4,link(matlab)

The matlab sub-directory contains several "MATLAB"_matlab scripts for
post-processing LAMMPS output.  The scripts include readers for log
and dump files, a reader for radial distribution output from the "fix
rdf"_fix_rdf.html command, a reader for EAM potential files, and a
converter that reads LAMMPS dump files and produces CFG files that can
be visualized with the
"AtomEye"_http://164.107.79.177/Archive/Graphics/A visualizer.

See the README.pdf file for more information.

These scripts were written by Arun Subramaniyan at Purdue Univ
(asubrama at purdue.edu).

:link(matlab,http://www.mathworks.com)

:line

micelle2d tool :h4,link(micelle)

The file micelle2d.f creates a LAMMPS data file containing short lipid
chains in a monomer solution.  It uses a text file containing lipid
definition parameters as an input.  The created molecules and solvent
atoms can strongly overlap, so LAMMPS needs to run the system
initially with a "soft" pair potential to un-overlap it.  The syntax
for running the tool is

micelle2d < def.micelle2d > data.file :pre

See the def.micelle2d file in the tools directory for an example of a
definition file.  This tool was used to create the system for the
"micelle example"_Section_example.html.

:line

msi2lmp tool :h4,link(msi)

The msi2lmp sub-directory contains a tool for creating LAMMPS input
data files from Accelrys' Insight MD code (formerly MSI/Biosym and
its Discover MD code).  See the README file for more information.

This tool was written by John Carpenter (Cray), Michael Peachey
(Cray), and Steve Lustig (Dupont).  John is now at the Mayo Clinic
(jec at mayo.edu), but still fields questions about the tool.

This tool may be out-of-date with respect to the current LAMMPS and
Insight versions.  Since we don't use it at Sandia, you'll need to
experiment with it yourself.

:line

pymol_asphere tool :h4,link(pymol)

The pymol_asphere sub-directory contains a tool for converting a
LAMMPS dump file that contains orientation info for ellipsoidal
particles into an input file for the "PyMol visualization
package"_pymol.

:link(pymol,http://pymol.sourceforge.net)

Specifically, the tool triangulates the ellipsoids so they can be
viewed as true ellipsoidal particles within PyMol.  See the README and
examples directory within pymol_asphere for more information.

This tool was written by Mike Brown at Sandia.

:line

python tool :h4,link(pythontools)

The python sub-directory contains several Python scripts
that perform common LAMMPS post-processing tasks, like

extract thermodynamic info from a log file as columns of numbers
plot two columns of thermodynamic info from a log file using GnuPlot
sort the snapshots in a dump file by atom ID
convert dump files into XYZ, CFG, or PDB format for viz by other packages :ul

These are simple scripts built on "Pizza.py"_pizza modules.  See the
README for more info on Pizza.py and how to use these scripts.

:line

restart2data tool :h4,link(restart)

The file restart2data.cpp converts a binary LAMMPS restart file into
an ASCII data file.  The syntax for running the tool is

restart2data restart-file data-file (input-file) :pre

Input-file is optional and if specified will contain LAMMPS input
commands for the masses and force field parameters, instead of putting
those in the data-file.  Only a few force field styles currently
support this option.

This tool must be compiled on a platform that can read the binary file
created by a LAMMPS run, since binary files are not compatible across
all platforms.

Note that a text data file has less precision than a binary restart
file.  Hence, continuing a run from a converted data file will
typically not conform as closely to a previous run as will restarting
from a binary restart file.

If a "%" appears in the specified restart-file, the tool expects a set
of multiple files to exist.  See the "restart"_restart.html and
"write_restart"_write_restart.html commands for info on how such sets
of files are written by LAMMPS, and how the files are named.

:line

thermo_extract tool :h4,link(thermo_extract)

The thermo_extract tool reads one of more LAMMPS log files and
extracts a thermodynamic value (e.g. Temp, Press).  It spits out the
time,value as 2 columns of numbers so the tool can be used as a quick
way to plot some quantity of interest.  See the header of the
thermo_extract.c file for the syntax of how to run it and other
details.

This tool was written by Vikas Varshney at Wright Patterson AFB
(vikas.varshney at gmail.com).

:line

vim tool :h4,link(vim)

The files in the tools/vim directory are add-ons to the VIM editor
that allow easier editing of LAMMPS input scripts.  See the README.txt
file for details.

These files were provided by Gerolf Ziegenhain (gerolf at
ziegenhain.com)

:line

xmovie tool :h4,link(xmovie)

The xmovie tool is an X-based visualization package that can read
LAMMPS dump files and animate them.  It is in its own sub-directory
with the tools directory.  You may need to modify its Makefile so that
it can find the appropriate X libraries to link against.

The syntax for running xmovie is

xmovie [options] dump.file1 dump.file2 ... :pre

If you just type "xmovie" you will see a list of options.  Note that
by default, LAMMPS dump files are in scaled coordinates, so you
typically need to use the -scale option with xmovie.  When xmovie runs
it opens a visualization window and a control window.  The control
options are straightforward to use.

Xmovie was mostly written by Mike Uttormark (U Wisconsin) while he
spent a summer at Sandia.  It displays 2d projections of a 3d domain.
While simple in design, it is an amazingly fast program that can
render large numbers of atoms very quickly.  It's a useful tool for
debugging LAMMPS input and output and making sure your simulation is
doing what you think it should.  The animations on the Examples page
of the "LAMMPS WWW site"_lws were created with xmovie.

I've lost contact with Mike, so I hope he's comfortable with us
distributing his great tool!
