forked from lijiext/lammps
695 lines
41 KiB
HTML
695 lines
41 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>1. Introduction — LAMMPS documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="top" title="LAMMPS documentation" href="index.html"/>
|
|
<link rel="next" title="2. Getting Started" href="Section_start.html"/>
|
|
<link rel="prev" title="LAMMPS Documentation" href="Manual.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="Manual.html" class="icon icon-home"> LAMMPS
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<ul class="current">
|
|
<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Introduction</a><ul>
|
|
<li class="toctree-l2"><a class="reference internal" href="#what-is-lammps">1.1. What is LAMMPS</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#lammps-features">1.2. LAMMPS features</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#general-features">1.2.1. General features</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#particle-and-model-types">1.2.2. Particle and model types</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#force-fields">1.2.3. Force fields</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#atom-creation">1.2.4. Atom creation</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#ensembles-constraints-and-boundary-conditions">1.2.5. Ensembles, constraints, and boundary conditions</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#integrators">1.2.6. Integrators</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#diagnostics">1.2.7. Diagnostics</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#output">1.2.8. Output</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#multi-replica-models">1.2.9. Multi-replica models</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#pre-and-post-processing">1.2.10. Pre- and post-processing</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#specialized-features">1.2.11. Specialized features</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#lammps-non-features">1.3. LAMMPS non-features</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#open-source-distribution">1.4. Open source distribution</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="#acknowledgments-and-citations">1.5. Acknowledgments and citations</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="Manual.html">LAMMPS</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="Manual.html">Docs</a> »</li>
|
|
|
|
<li>1. Introduction</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
<a href="http://lammps.sandia.gov">Website</a>
|
|
<a href="Section_commands.html#comm">Commands</a>
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
|
|
<div class="rst-footer-buttons" style="margin-bottom: 1em" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="Section_start.html" class="btn btn-neutral float-right" title="2. Getting Started" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="Manual.html" class="btn btn-neutral" title="LAMMPS Documentation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<div class="section" id="introduction">
|
|
<h1>1. Introduction</h1>
|
|
<p>This section provides an overview of what LAMMPS can and can’t do,
|
|
describes what it means for LAMMPS to be an open-source code, and
|
|
acknowledges the funding and people who have contributed to LAMMPS
|
|
over the years.</p>
|
|
<div class="line-block">
|
|
<div class="line">1.1 <a class="reference internal" href="#intro-1"><span class="std std-ref">What is LAMMPS</span></a></div>
|
|
<div class="line">1.2 <a class="reference internal" href="#intro-2"><span class="std std-ref">LAMMPS features</span></a></div>
|
|
<div class="line">1.3 <a class="reference internal" href="#intro-3"><span class="std std-ref">LAMMPS non-features</span></a></div>
|
|
<div class="line">1.4 <a class="reference internal" href="#intro-4"><span class="std std-ref">Open source distribution</span></a></div>
|
|
<div class="line">1.5 <a class="reference internal" href="#intro-5"><span class="std std-ref">Acknowledgments and citations</span></a></div>
|
|
<div class="line"><br /></div>
|
|
</div>
|
|
<div class="section" id="what-is-lammps">
|
|
<span id="intro-1"></span><h2>1.1. What is LAMMPS</h2>
|
|
<p>LAMMPS is a classical molecular dynamics code that models an ensemble
|
|
of particles in a liquid, solid, or gaseous state. It can model
|
|
atomic, polymeric, biological, metallic, granular, and coarse-grained
|
|
systems using a variety of force fields and boundary conditions.</p>
|
|
<p>For examples of LAMMPS simulations, see the Publications page of the
|
|
<a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>.</p>
|
|
<p>LAMMPS runs efficiently on single-processor desktop or laptop
|
|
machines, but is designed for parallel computers. It will run on any
|
|
parallel machine that compiles C++ and supports the <a class="reference external" href="http://www-unix.mcs.anl.gov/mpi">MPI</a>
|
|
message-passing library. This includes distributed- or shared-memory
|
|
parallel machines and Beowulf-style clusters.</p>
|
|
<p>LAMMPS can model systems with only a few particles up to millions or
|
|
billions. See <a class="reference internal" href="Section_perf.html"><span class="doc">Section_perf</span></a> for information on
|
|
LAMMPS performance and scalability, or the Benchmarks section of the
|
|
<a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>.</p>
|
|
<p>LAMMPS is a freely-available open-source code, distributed under the
|
|
terms of the <a class="reference external" href="http://www.gnu.org/copyleft/gpl.html">GNU Public License</a>, which means you can use or
|
|
modify the code however you wish. See <a class="reference internal" href="#intro-4"><span class="std std-ref">this section</span></a> for a
|
|
brief discussion of the open-source philosophy.</p>
|
|
<p>LAMMPS is designed to be easy to modify or extend with new
|
|
capabilities, such as new force fields, atom types, boundary
|
|
conditions, or diagnostics. See <a class="reference internal" href="Section_modify.html"><span class="doc">Section_modify</span></a>
|
|
for more details.</p>
|
|
<p>The current version of LAMMPS is written in C++. Earlier versions
|
|
were written in F77 and F90. See
|
|
<a class="reference internal" href="Section_history.html"><span class="doc">Section_history</span></a> for more information on
|
|
different versions. All versions can be downloaded from the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>.</p>
|
|
<p>LAMMPS was originally developed under a US Department of Energy CRADA
|
|
(Cooperative Research and Development Agreement) between two DOE labs
|
|
and 3 companies. It is distributed by <a class="reference external" href="http://www.sandia.gov">Sandia National Labs</a>.
|
|
See <a class="reference internal" href="#intro-5"><span class="std std-ref">this section</span></a> for more information on LAMMPS funding and
|
|
individuals who have contributed to LAMMPS.</p>
|
|
<p>In the most general sense, LAMMPS integrates Newton’s equations of
|
|
motion for collections of atoms, molecules, or macroscopic particles
|
|
that interact via short- or long-range forces with a variety of
|
|
initial and/or boundary conditions. For computational efficiency
|
|
LAMMPS uses neighbor lists to keep track of nearby particles. The
|
|
lists are optimized for systems with particles that are repulsive at
|
|
short distances, so that the local density of particles never becomes
|
|
too large. On parallel machines, LAMMPS uses spatial-decomposition
|
|
techniques to partition the simulation domain into small 3d
|
|
sub-domains, one of which is assigned to each processor. Processors
|
|
communicate and store “ghost” atom information for atoms that border
|
|
their sub-domain. LAMMPS is most efficient (in a parallel sense) for
|
|
systems whose particles fill a 3d rectangular box with roughly uniform
|
|
density. Papers with technical details of the algorithms used in
|
|
LAMMPS are listed in <a class="reference internal" href="#intro-5"><span class="std std-ref">this section</span></a>.</p>
|
|
<hr class="docutils" />
|
|
</div>
|
|
<div class="section" id="lammps-features">
|
|
<span id="intro-2"></span><h2>1.2. LAMMPS features</h2>
|
|
<p>This section highlights LAMMPS features, with pointers to specific
|
|
commands which give more details. If LAMMPS doesn’t have your
|
|
favorite interatomic potential, boundary condition, or atom type, see
|
|
<a class="reference internal" href="Section_modify.html"><span class="doc">Section_modify</span></a>, which describes how you can add
|
|
it to LAMMPS.</p>
|
|
<div class="section" id="general-features">
|
|
<h3>1.2.1. General features</h3>
|
|
<ul class="simple">
|
|
<li>runs on a single processor or in parallel</li>
|
|
<li>distributed-memory message-passing parallelism (MPI)</li>
|
|
<li>spatial-decomposition of simulation domain for parallelism</li>
|
|
<li>open-source distribution</li>
|
|
<li>highly portable C++</li>
|
|
<li>optional libraries used: MPI and single-processor FFT</li>
|
|
<li>GPU (CUDA and OpenCL), Intel(R) Xeon Phi(TM) coprocessors, and OpenMP support for many code features</li>
|
|
<li>easy to extend with new features and functionality</li>
|
|
<li>runs from an input script</li>
|
|
<li>syntax for defining and using variables and formulas</li>
|
|
<li>syntax for looping over runs and breaking out of loops</li>
|
|
<li>run one or multiple simulations simultaneously (in parallel) from one script</li>
|
|
<li>build as library, invoke LAMMPS thru library interface or provided Python wrapper</li>
|
|
<li>couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="particle-and-model-types">
|
|
<h3>1.2.2. Particle and model types</h3>
|
|
<p>(<a class="reference internal" href="atom_style.html"><span class="doc">atom style</span></a> command)</p>
|
|
<ul class="simple">
|
|
<li>atoms</li>
|
|
<li>coarse-grained particles (e.g. bead-spring polymers)</li>
|
|
<li>united-atom polymers or organic molecules</li>
|
|
<li>all-atom polymers, organic molecules, proteins, DNA</li>
|
|
<li>metals</li>
|
|
<li>granular materials</li>
|
|
<li>coarse-grained mesoscale models</li>
|
|
<li>finite-size spherical and ellipsoidal particles</li>
|
|
<li>finite-size line segment (2d) and triangle (3d) particles</li>
|
|
<li>point dipole particles</li>
|
|
<li>rigid collections of particles</li>
|
|
<li>hybrid combinations of these</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="force-fields">
|
|
<h3>1.2.3. Force fields</h3>
|
|
<p>(<a class="reference internal" href="pair_style.html"><span class="doc">pair style</span></a>, <a class="reference internal" href="bond_style.html"><span class="doc">bond style</span></a>,
|
|
<a class="reference internal" href="angle_style.html"><span class="doc">angle style</span></a>, <a class="reference internal" href="dihedral_style.html"><span class="doc">dihedral style</span></a>,
|
|
<a class="reference internal" href="improper_style.html"><span class="doc">improper style</span></a>, <a class="reference internal" href="kspace_style.html"><span class="doc">kspace style</span></a>
|
|
commands)</p>
|
|
<ul class="simple">
|
|
<li>pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated</li>
|
|
<li>charged pairwise potentials: Coulombic, point-dipole</li>
|
|
<li>manybody potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic</li>
|
|
<li>long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald)</li>
|
|
<li>polarization models: <a class="reference internal" href="fix_qeq.html"><span class="doc">QEq</span></a>, <a class="reference internal" href="Section_howto.html#howto-26"><span class="std std-ref">core/shell model</span></a>, <a class="reference internal" href="Section_howto.html#howto-27"><span class="std std-ref">Drude dipole model</span></a></li>
|
|
<li>charge equilibration (QEq via dynamic, point, shielded, Slater methods)</li>
|
|
<li>coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO</li>
|
|
<li>mesoscopic potentials: granular, Peridynamics, SPH</li>
|
|
<li>electron force field (eFF, AWPMD)</li>
|
|
<li>bond potentials: harmonic, FENE, Morse, nonlinear, class 2, quartic (breakable)</li>
|
|
<li>angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, class 2 (COMPASS)</li>
|
|
<li>dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, class 2 (COMPASS), OPLS</li>
|
|
<li>improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS)</li>
|
|
<li>polymer potentials: all-atom, united-atom, bead-spring, breakable</li>
|
|
<li>water potentials: TIP3P, TIP4P, SPC</li>
|
|
<li>implicit solvent potentials: hydrodynamic lubrication, Debye</li>
|
|
<li>force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options</li>
|
|
<li>access to <a class="reference external" href="http://openkim.org">KIM archive</a> of potentials via <a class="reference internal" href="pair_kim.html"><span class="doc">pair kim</span></a></li>
|
|
<li>hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation</li>
|
|
<li>overlaid potentials: superposition of multiple pair potentials</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="atom-creation">
|
|
<h3>1.2.4. Atom creation</h3>
|
|
<p>(<a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a>, <a class="reference internal" href="lattice.html"><span class="doc">lattice</span></a>,
|
|
<a class="reference internal" href="create_atoms.html"><span class="doc">create_atoms</span></a>, <a class="reference internal" href="delete_atoms.html"><span class="doc">delete_atoms</span></a>,
|
|
<a class="reference internal" href="displace_atoms.html"><span class="doc">displace_atoms</span></a>, <a class="reference internal" href="replicate.html"><span class="doc">replicate</span></a> commands)</p>
|
|
<ul class="simple">
|
|
<li>read in atom coords from files</li>
|
|
<li>create atoms on one or more lattices (e.g. grain boundaries)</li>
|
|
<li>delete geometric or logical groups of atoms (e.g. voids)</li>
|
|
<li>replicate existing atoms multiple times</li>
|
|
<li>displace atoms</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="ensembles-constraints-and-boundary-conditions">
|
|
<h3>1.2.5. Ensembles, constraints, and boundary conditions</h3>
|
|
<p>(<a class="reference internal" href="fix.html"><span class="doc">fix</span></a> command)</p>
|
|
<ul class="simple">
|
|
<li>2d or 3d systems</li>
|
|
<li>orthogonal or non-orthogonal (triclinic symmetry) simulation domains</li>
|
|
<li>constant NVE, NVT, NPT, NPH, Parinello/Rahman integrators</li>
|
|
<li>thermostatting options for groups and geometric regions of atoms</li>
|
|
<li>pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions</li>
|
|
<li>simulation box deformation (tensile and shear)</li>
|
|
<li>harmonic (umbrella) constraint forces</li>
|
|
<li>rigid body constraints</li>
|
|
<li>SHAKE bond and angle constraints</li>
|
|
<li>Monte Carlo bond breaking, formation, swapping</li>
|
|
<li>atom/molecule insertion and deletion</li>
|
|
<li>walls of various kinds</li>
|
|
<li>non-equilibrium molecular dynamics (NEMD)</li>
|
|
<li>variety of additional boundary conditions and constraints</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="integrators">
|
|
<h3>1.2.6. Integrators</h3>
|
|
<p>(<a class="reference internal" href="run.html"><span class="doc">run</span></a>, <a class="reference internal" href="run_style.html"><span class="doc">run_style</span></a>, <a class="reference internal" href="minimize.html"><span class="doc">minimize</span></a> commands)</p>
|
|
<ul class="simple">
|
|
<li>velocity-Verlet integrator</li>
|
|
<li>Brownian dynamics</li>
|
|
<li>rigid body integration</li>
|
|
<li>energy minimization via conjugate gradient or steepest descent relaxation</li>
|
|
<li>rRESPA hierarchical timestepping</li>
|
|
<li>rerun command for post-processing of dump files</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="diagnostics">
|
|
<h3>1.2.7. Diagnostics</h3>
|
|
<ul class="simple">
|
|
<li>see the various flavors of the <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> and <a class="reference internal" href="compute.html"><span class="doc">compute</span></a> commands</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="output">
|
|
<h3>1.2.8. Output</h3>
|
|
<p>(<a class="reference internal" href="dump.html"><span class="doc">dump</span></a>, <a class="reference internal" href="restart.html"><span class="doc">restart</span></a> commands)</p>
|
|
<ul class="simple">
|
|
<li>log file of thermodynamic info</li>
|
|
<li>text dump files of atom coords, velocities, other per-atom quantities</li>
|
|
<li>binary restart files</li>
|
|
<li>parallel I/O of dump and restart files</li>
|
|
<li>per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc)</li>
|
|
<li>user-defined system-wide (log file) or per-atom (dump file) calculations</li>
|
|
<li>spatial and time averaging of per-atom quantities</li>
|
|
<li>time averaging of system-wide quantities</li>
|
|
<li>atom snapshots in native, XYZ, XTC, DCD, CFG formats</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="multi-replica-models">
|
|
<h3>1.2.9. Multi-replica models</h3>
|
|
<p><a class="reference internal" href="neb.html"><span class="doc">nudged elastic band</span></a>
|
|
<a class="reference internal" href="prd.html"><span class="doc">parallel replica dynamics</span></a>
|
|
<a class="reference internal" href="tad.html"><span class="doc">temperature accelerated dynamics</span></a>
|
|
<a class="reference internal" href="temper.html"><span class="doc">parallel tempering</span></a></p>
|
|
</div>
|
|
<div class="section" id="pre-and-post-processing">
|
|
<h3>1.2.10. Pre- and post-processing</h3>
|
|
<ul class="simple">
|
|
<li>Various pre- and post-processing serial tools are packaged
|
|
with LAMMPS; see these <a class="reference internal" href="Section_tools.html"><span class="doc">doc pages</span></a>.</li>
|
|
<li>Our group has also written and released a separate toolkit called
|
|
<a class="reference external" href="http://www.sandia.gov/~sjplimp/pizza.html">Pizza.py</a> which provides tools for doing setup, analysis,
|
|
plotting, and visualization for LAMMPS simulations. Pizza.py is
|
|
written in <a class="reference external" href="http://www.python.org">Python</a> and is available for download from <a class="reference external" href="http://www.sandia.gov/~sjplimp/pizza.html">the Pizza.py WWW site</a>.</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="specialized-features">
|
|
<h3>1.2.11. Specialized features</h3>
|
|
<p>These are LAMMPS capabilities which you may not think of as typical
|
|
molecular dynamics options:</p>
|
|
<ul class="simple">
|
|
<li><a class="reference internal" href="balance.html"><span class="doc">static</span></a> and <a class="reference internal" href="fix_balance.html"><span class="doc">dynamic load-balancing</span></a></li>
|
|
<li><a class="reference internal" href="body.html"><span class="doc">generalized aspherical particles</span></a></li>
|
|
<li><a class="reference internal" href="fix_srd.html"><span class="doc">stochastic rotation dynamics (SRD)</span></a></li>
|
|
<li><a class="reference internal" href="fix_imd.html"><span class="doc">real-time visualization and interactive MD</span></a></li>
|
|
<li>calculate <a class="reference internal" href="compute_xrd.html"><span class="doc">virtual diffraction patterns</span></a></li>
|
|
<li><a class="reference internal" href="fix_atc.html"><span class="doc">atom-to-continuum coupling</span></a> with finite elements</li>
|
|
<li>coupled rigid body integration via the <a class="reference internal" href="fix_poems.html"><span class="doc">POEMS</span></a> library</li>
|
|
<li><a class="reference internal" href="fix_qmmm.html"><span class="doc">QM/MM coupling</span></a></li>
|
|
<li><a class="reference internal" href="fix_ipi.html"><span class="doc">path-integral molecular dynamics (PIMD)</span></a> and <a class="reference internal" href="fix_pimd.html"><span class="doc">this as well</span></a></li>
|
|
<li>Monte Carlo via <a class="reference internal" href="fix_gcmc.html"><span class="doc">GCMC</span></a> and <a class="reference internal" href="fix_tfmc.html"><span class="doc">tfMC</span></a> and <span class="xref doc">atom swapping</span></li>
|
|
<li><a class="reference internal" href="pair_dsmc.html"><span class="doc">Direct Simulation Monte Carlo</span></a> for low-density fluids</li>
|
|
<li><a class="reference internal" href="pair_peri.html"><span class="doc">Peridynamics mesoscale modeling</span></a></li>
|
|
<li><a class="reference internal" href="fix_lb_fluid.html"><span class="doc">Lattice Boltzmann fluid</span></a></li>
|
|
<li><a class="reference internal" href="fix_tmd.html"><span class="doc">targeted</span></a> and <a class="reference internal" href="fix_smd.html"><span class="doc">steered</span></a> molecular dynamics</li>
|
|
<li><a class="reference internal" href="fix_ttm.html"><span class="doc">two-temperature electron model</span></a></li>
|
|
</ul>
|
|
<hr class="docutils" />
|
|
</div>
|
|
</div>
|
|
<div class="section" id="lammps-non-features">
|
|
<span id="intro-3"></span><h2>1.3. LAMMPS non-features</h2>
|
|
<p>LAMMPS is designed to efficiently compute Newton’s equations of motion
|
|
for a system of interacting particles. Many of the tools needed to
|
|
pre- and post-process the data for such simulations are not included
|
|
in the LAMMPS kernel for several reasons:</p>
|
|
<ul class="simple">
|
|
<li>the desire to keep LAMMPS simple</li>
|
|
<li>they are not parallel operations</li>
|
|
<li>other codes already do them</li>
|
|
<li>limited development resources</li>
|
|
</ul>
|
|
<p>Specifically, LAMMPS itself does not:</p>
|
|
<ul class="simple">
|
|
<li>run thru a GUI</li>
|
|
<li>build molecular systems</li>
|
|
<li>assign force-field coefficients automagically</li>
|
|
<li>perform sophisticated analyses of your MD simulation</li>
|
|
<li>visualize your MD simulation</li>
|
|
<li>plot your output data</li>
|
|
</ul>
|
|
<p>A few tools for pre- and post-processing tasks are provided as part of
|
|
the LAMMPS package; they are described in <a class="reference internal" href="Section_tools.html"><span class="doc">this section</span></a>. However, many people use other codes or
|
|
write their own tools for these tasks.</p>
|
|
<p>As noted above, our group has also written and released a separate
|
|
toolkit called <a class="reference external" href="http://www.sandia.gov/~sjplimp/pizza.html">Pizza.py</a> which addresses some of the listed
|
|
bullets. It provides tools for doing setup, analysis, plotting, and
|
|
visualization for LAMMPS simulations. Pizza.py is written in
|
|
<a class="reference external" href="http://www.python.org">Python</a> and is available for download from <a class="reference external" href="http://www.sandia.gov/~sjplimp/pizza.html">the Pizza.py WWW site</a>.</p>
|
|
<p>LAMMPS requires as input a list of initial atom coordinates and types,
|
|
molecular topology information, and force-field coefficients assigned
|
|
to all atoms and bonds. LAMMPS will not build molecular systems and
|
|
assign force-field parameters for you.</p>
|
|
<p>For atomic systems LAMMPS provides a <a class="reference internal" href="create_atoms.html"><span class="doc">create_atoms</span></a>
|
|
command which places atoms on solid-state lattices (fcc, bcc,
|
|
user-defined, etc). Assigning small numbers of force field
|
|
coefficients can be done via the <a class="reference internal" href="pair_coeff.html"><span class="doc">pair coeff</span></a>, <a class="reference internal" href="bond_coeff.html"><span class="doc">bond coeff</span></a>, <a class="reference internal" href="angle_coeff.html"><span class="doc">angle coeff</span></a>, etc commands.
|
|
For molecular systems or more complicated simulation geometries, users
|
|
typically use another code as a builder and convert its output to
|
|
LAMMPS input format, or write their own code to generate atom
|
|
coordinate and molecular topology for LAMMPS to read in.</p>
|
|
<p>For complicated molecular systems (e.g. a protein), a multitude of
|
|
topology information and hundreds of force-field coefficients must
|
|
typically be specified. We suggest you use a program like
|
|
<a class="reference external" href="http://www.scripps.edu/brooks">CHARMM</a> or <a class="reference external" href="http://amber.scripps.edu">AMBER</a> or other molecular builders to setup
|
|
such problems and dump its information to a file. You can then
|
|
reformat the file as LAMMPS input. Some of the tools in <a class="reference internal" href="Section_tools.html"><span class="doc">this section</span></a> can assist in this process.</p>
|
|
<p>Similarly, LAMMPS creates output files in a simple format. Most users
|
|
post-process these files with their own analysis tools or re-format
|
|
them for input into other programs, including visualization packages.
|
|
If you are convinced you need to compute something on-the-fly as
|
|
LAMMPS runs, see <a class="reference internal" href="Section_modify.html"><span class="doc">Section_modify</span></a> for a discussion
|
|
of how you can use the <a class="reference internal" href="dump.html"><span class="doc">dump</span></a> and <a class="reference internal" href="compute.html"><span class="doc">compute</span></a> and
|
|
<a class="reference internal" href="fix.html"><span class="doc">fix</span></a> commands to print out data of your choosing. Keep in
|
|
mind that complicated computations can slow down the molecular
|
|
dynamics timestepping, particularly if the computations are not
|
|
parallel, so it is often better to leave such analysis to
|
|
post-processing codes.</p>
|
|
<p>A very simple (yet fast) visualizer is provided with the LAMMPS
|
|
package - see the <a class="reference internal" href="Section_tools.html#xmovie"><span class="std std-ref">xmovie</span></a> tool in <a class="reference internal" href="Section_tools.html"><span class="doc">this section</span></a>. It creates xyz projection views of
|
|
atomic coordinates and animates them. We find it very useful for
|
|
debugging purposes. For high-quality visualization we recommend the
|
|
following packages:</p>
|
|
<ul class="simple">
|
|
<li><a class="reference external" href="http://www.ks.uiuc.edu/Research/vmd">VMD</a></li>
|
|
<li><a class="reference external" href="http://mt.seas.upenn.edu/Archive/Graphics/A">AtomEye</a></li>
|
|
<li><a class="reference external" href="http://pymol.sourceforge.net">PyMol</a></li>
|
|
<li><a class="reference external" href="http://www.bmsc.washington.edu/raster3d/raster3d.html">Raster3d</a></li>
|
|
<li><a class="reference external" href="http://www.openrasmol.org">RasMol</a></li>
|
|
</ul>
|
|
<p>Other features that LAMMPS does not yet (and may never) support are
|
|
discussed in <a class="reference internal" href="Section_history.html"><span class="doc">Section_history</span></a>.</p>
|
|
<p>Finally, these are freely-available molecular dynamics codes, most of
|
|
them parallel, which may be well-suited to the problems you want to
|
|
model. They can also be used in conjunction with LAMMPS to perform
|
|
complementary modeling tasks.</p>
|
|
<ul class="simple">
|
|
<li><a class="reference external" href="http://www.scripps.edu/brooks">CHARMM</a></li>
|
|
<li><a class="reference external" href="http://amber.scripps.edu">AMBER</a></li>
|
|
<li><a class="reference external" href="http://www.ks.uiuc.edu/Research/namd/">NAMD</a></li>
|
|
<li><a class="reference external" href="http://www.emsl.pnl.gov/docs/nwchem/nwchem.html">NWCHEM</a></li>
|
|
<li><a class="reference external" href="http://www.cse.clrc.ac.uk/msi/software/DL_POLY">DL_POLY</a></li>
|
|
<li><a class="reference external" href="http://dasher.wustl.edu/tinker">Tinker</a></li>
|
|
</ul>
|
|
<p>CHARMM, AMBER, NAMD, NWCHEM, and Tinker are designed primarily for
|
|
modeling biological molecules. CHARMM and AMBER use
|
|
atom-decomposition (replicated-data) strategies for parallelism; NAMD
|
|
and NWCHEM use spatial-decomposition approaches, similar to LAMMPS.
|
|
Tinker is a serial code. DL_POLY includes potentials for a variety of
|
|
biological and non-biological materials; both a replicated-data and
|
|
spatial-decomposition version exist.</p>
|
|
<hr class="docutils" />
|
|
</div>
|
|
<div class="section" id="open-source-distribution">
|
|
<span id="intro-4"></span><h2>1.4. Open source distribution</h2>
|
|
<p>LAMMPS comes with no warranty of any kind. As each source file states
|
|
in its header, it is a copyrighted code that is distributed free-of-
|
|
charge, under the terms of the <a class="reference external" href="http://www.gnu.org/copyleft/gpl.html">GNU Public License</a> (GPL). This
|
|
is often referred to as open-source distribution - see
|
|
<a class="reference external" href="http://www.gnu.org">www.gnu.org</a> or <a class="reference external" href="http://www.opensource.org">www.opensource.org</a> for more
|
|
details. The legal text of the GPL is in the LICENSE file that is
|
|
included in the LAMMPS distribution.</p>
|
|
<p>Here is a summary of what the GPL means for LAMMPS users:</p>
|
|
<p>(1) Anyone is free to use, modify, or extend LAMMPS in any way they
|
|
choose, including for commercial purposes.</p>
|
|
<p>(2) If you distribute a modified version of LAMMPS, it must remain
|
|
open-source, meaning you distribute it under the terms of the GPL.
|
|
You should clearly annotate such a code as a derivative version of
|
|
LAMMPS.</p>
|
|
<p>(3) If you release any code that includes LAMMPS source code, then it
|
|
must also be open-sourced, meaning you distribute it under the terms
|
|
of the GPL.</p>
|
|
<p>(4) If you give LAMMPS files to someone else, the GPL LICENSE file and
|
|
source file headers (including the copyright and GPL notices) should
|
|
remain part of the code.</p>
|
|
<p>In the spirit of an open-source code, these are various ways you can
|
|
contribute to making LAMMPS better. You can send email to the
|
|
<a class="reference external" href="http://lammps.sandia.gov/authors.html">developers</a> on any of these
|
|
items.</p>
|
|
<ul class="simple">
|
|
<li>Point prospective users to the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>. Mention it in
|
|
talks or link to it from your WWW site.</li>
|
|
<li>If you find an error or omission in this manual or on the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>, or have a suggestion for something to clarify or include,
|
|
send an email to the
|
|
<a class="reference external" href="http://lammps.sandia.gov/authors.html">developers</a>.</li>
|
|
<li>If you find a bug, <a class="reference internal" href="Section_errors.html#err-2"><span class="std std-ref">Section_errors 2</span></a>
|
|
describes how to report it.</li>
|
|
<li>If you publish a paper using LAMMPS results, send the citation (and
|
|
any cool pictures or movies if you like) to add to the Publications,
|
|
Pictures, and Movies pages of the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>, with links
|
|
and attributions back to you.</li>
|
|
<li>Create a new Makefile.machine that can be added to the src/MAKE
|
|
directory.</li>
|
|
<li>The tools sub-directory of the LAMMPS distribution has various
|
|
stand-alone codes for pre- and post-processing of LAMMPS data. More
|
|
details are given in <a class="reference internal" href="Section_tools.html"><span class="doc">Section_tools</span></a>. If you write
|
|
a new tool that users will find useful, it can be added to the LAMMPS
|
|
distribution.</li>
|
|
<li>LAMMPS is designed to be easy to extend with new code for features
|
|
like potentials, boundary conditions, diagnostic computations, etc.
|
|
<a class="reference internal" href="Section_modify.html"><span class="doc">This section</span></a> gives details. If you add a
|
|
feature of general interest, it can be added to the LAMMPS
|
|
distribution.</li>
|
|
<li>The Benchmark page of the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a> lists LAMMPS
|
|
performance on various platforms. The files needed to run the
|
|
benchmarks are part of the LAMMPS distribution. If your machine is
|
|
sufficiently different from those listed, your timing data can be
|
|
added to the page.</li>
|
|
<li>You can send feedback for the User Comments page of the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>. It might be added to the page. No promises.</li>
|
|
<li>Cash. Small denominations, unmarked bills preferred. Paper sack OK.
|
|
Leave on desk. VISA also accepted. Chocolate chip cookies
|
|
encouraged.</li>
|
|
</ul>
|
|
<hr class="docutils" />
|
|
</div>
|
|
<div class="section" id="acknowledgments-and-citations">
|
|
<span id="intro-5"></span><h2>1.5. Acknowledgments and citations</h2>
|
|
<p>LAMMPS development has been funded by the <a class="reference external" href="http://www.doe.gov">US Department of Energy</a> (DOE), through its CRADA, LDRD, ASCI, and Genomes-to-Life
|
|
programs and its <a class="reference external" href="http://www.sc.doe.gov/ascr/home.html">OASCR</a> and <a class="reference external" href="http://www.er.doe.gov/production/ober/ober_top.html">OBER</a> offices.</p>
|
|
<p>Specifically, work on the latest version was funded in part by the US
|
|
Department of Energy’s Genomics:GTL program
|
|
(<a class="reference external" href="http://www.doegenomestolife.org">www.doegenomestolife.org</a>) under the <a class="reference external" href="http://www.genomes2life.org">project</a>, “Carbon
|
|
Sequestration in Synechococcus Sp.: From Molecular Machines to
|
|
Hierarchical Modeling”.</p>
|
|
<p>The following paper describe the basic parallel algorithms used in
|
|
LAMMPS. If you use LAMMPS results in your published work, please cite
|
|
this paper and include a pointer to the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>
|
|
(<a class="reference external" href="http://lammps.sandia.gov">http://lammps.sandia.gov</a>):</p>
|
|
<p>S. J. Plimpton, <strong>Fast Parallel Algorithms for Short-Range Molecular
|
|
Dynamics</strong>, J Comp Phys, 117, 1-19 (1995).</p>
|
|
<p>Other papers describing specific algorithms used in LAMMPS are listed
|
|
under the <a class="reference external" href="http://lammps.sandia.gov/cite.html">Citing LAMMPS link</a> of
|
|
the LAMMPS WWW page.</p>
|
|
<p>The <a class="reference external" href="http://lammps.sandia.gov/papers.html">Publications link</a> on the
|
|
LAMMPS WWW page lists papers that have cited LAMMPS. If your paper is
|
|
not listed there for some reason, feel free to send us the info. If
|
|
the simulations in your paper produced cool pictures or animations,
|
|
we’ll be pleased to add them to the
|
|
<a class="reference external" href="http://lammps.sandia.gov/pictures.html">Pictures</a> or
|
|
<a class="reference external" href="http://lammps.sandia.gov/movies.html">Movies</a> pages of the LAMMPS WWW
|
|
site.</p>
|
|
<p>The core group of LAMMPS developers is at Sandia National Labs:</p>
|
|
<ul class="simple">
|
|
<li>Steve Plimpton, sjplimp at sandia.gov</li>
|
|
<li>Aidan Thompson, athomps at sandia.gov</li>
|
|
<li>Paul Crozier, pscrozi at sandia.gov</li>
|
|
</ul>
|
|
<p>The following folks are responsible for significant contributions to
|
|
the code, or other aspects of the LAMMPS development effort. Many of
|
|
the packages they have written are somewhat unique to LAMMPS and the
|
|
code would not be as general-purpose as it is without their expertise
|
|
and efforts.</p>
|
|
<ul class="simple">
|
|
<li>Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CG-CMM and USER-OMP packages</li>
|
|
<li>Roy Pollock (LLNL), Ewald and PPPM solvers</li>
|
|
<li>Mike Brown (ORNL), brownw at ornl.gov, GPU package</li>
|
|
<li>Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential</li>
|
|
<li>Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics</li>
|
|
<li>Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion</li>
|
|
<li>Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling</li>
|
|
<li>Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD</li>
|
|
<li>Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package</li>
|
|
<li>Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field</li>
|
|
<li>Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling</li>
|
|
<li>Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF</li>
|
|
<li>Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package</li>
|
|
</ul>
|
|
<p>As discussed in <a class="reference internal" href="Section_history.html"><span class="doc">Section_history</span></a>, LAMMPS
|
|
originated as a cooperative project between DOE labs and industrial
|
|
partners. Folks involved in the design and testing of the original
|
|
version of LAMMPS were the following:</p>
|
|
<ul class="simple">
|
|
<li>John Carpenter (Mayo Clinic, formerly at Cray Research)</li>
|
|
<li>Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)</li>
|
|
<li>Steve Lustig (Dupont)</li>
|
|
<li>Jim Belak (LLNL)</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="Section_start.html" class="btn btn-neutral float-right" title="2. Getting Started" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="Manual.html" class="btn btn-neutral" title="LAMMPS Documentation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2013 Sandia Corporation.
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |