git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14724 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2016-03-07 17:29:34 +00:00
parent d6a67c2849
commit 0e5c36676f
26 changed files with 3428 additions and 2298 deletions

View File

@ -260,7 +260,11 @@ it gives quick access to documentation for all LAMMPS commands.</p>
<li class="toctree-l2"><a class="reference internal" href="Section_howto.html#drude-induced-dipoles">6.27. Drude induced dipoles</a></li> <li class="toctree-l2"><a class="reference internal" href="Section_howto.html#drude-induced-dipoles">6.27. Drude induced dipoles</a></li>
</ul> </ul>
</li> </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_example.html">7. Example problems</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Section_example.html#lowercase-directories">7.1. Lowercase directories</a></li>
<li class="toctree-l2"><a class="reference internal" href="Section_example.html#uppercase-directories">7.2. Uppercase directories</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance &amp; scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance &amp; scalability</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a><ul> <li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Section_tools.html#amber2lmp-tool">9.1. amber2lmp tool</a></li> <li class="toctree-l2"><a class="reference internal" href="Section_tools.html#amber2lmp-tool">9.1. amber2lmp tool</a></li>

View File

@ -80,7 +80,11 @@
<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_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_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_howto.html">6. How-to discussions</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="">7. Example problems</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="">7. Example problems</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#lowercase-directories">7.1. Lowercase directories</a></li>
<li class="toctree-l2"><a class="reference internal" href="#uppercase-directories">7.2. Uppercase directories</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance &amp; scalability</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance &amp; 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_tools.html">9. Additional tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying &amp; extending LAMMPS</a></li> <li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying &amp; extending LAMMPS</a></li>
@ -137,20 +141,19 @@
<div class="section" id="example-problems"> <div class="section" id="example-problems">
<h1>7. Example problems<a class="headerlink" href="#example-problems" title="Permalink to this headline"></a></h1> <h1>7. Example problems<a class="headerlink" href="#example-problems" title="Permalink to this headline"></a></h1>
<p>The LAMMPS distribution includes an examples sub-directory with <p>The LAMMPS distribution includes an examples sub-directory with many
several sample problems. Each problem is in a sub-directory of its sample problems. Many are 2d models that run quickly are are
own. Most are 2d models so that they run quickly, requiring at most a straightforward to visualize, requiring at most a couple of minutes to
couple of minutes to run on a desktop machine. Each problem has an run on a desktop machine. Each problem has an input script (in.*) and
input script (in.*) and produces a log file (log.*) and dump file produces a log file (log.*) when it runs. Some use a data file
(dump.*) when it runs. Some use a data file (data.*) of initial (data.*) of initial coordinates as additional input. A few sample log
coordinates as additional input. A few sample log file outputs on file run on different machines and different numbers of processors are
different machines and different numbers of processors are included in included in the directories to compare your answers to. E.g. a log
the directories to compare your answers to. E.g. a log file like file like log.date.crack.foo.P means the &#8220;crack&#8221; example was run on P
log.crack.foo.P means it ran on P processors of machine &#8220;foo&#8221;.</p> processors of machine &#8220;foo&#8221; on that date (i.e. with that version of
<p>For examples that use input data files, many of them were produced by LAMMPS).</p>
<a class="reference external" href="http://pizza.sandia.gov">Pizza.py</a> or setup tools described in the <p>Many of the input files have commented-out lines for creating dump
<a class="reference internal" href="Section_tools.html"><em>Additional Tools</em></a> section of the LAMMPS files and image files.</p>
documentation and provided with the LAMMPS distribution.</p>
<p>If you uncomment the <a class="reference internal" href="dump.html"><em>dump</em></a> command in the input script, a <p>If you uncomment the <a class="reference internal" href="dump.html"><em>dump</em></a> command in the input script, a
text dump file will be produced, which can be animated by various text dump file will be produced, which can be animated by various
<a class="reference external" href="http://lammps.sandia.gov/viz.html">visualization programs</a>. It can <a class="reference external" href="http://lammps.sandia.gov/viz.html">visualization programs</a>. It can
@ -160,69 +163,77 @@ script, and assuming you have built LAMMPS with a JPG library, JPG
snapshot images will be produced when the simulation runs. They can snapshot images will be produced when the simulation runs. They can
be quickly post-processed into a movie using commands described on the be quickly post-processed into a movie using commands described on the
<a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page.</p> <a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page.</p>
<p>Animations of many of these examples can be viewed on the Movies <p>Animations of many of the examples can be viewed on the Movies section
section of the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a>.</p> of the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS web site</a>.</p>
<p>These are the sample problems in the examples sub-directories:</p> <p>There are two kinds of sub-directories in the examples dir. Lowercase
dirs contain one or a few simple, quick-to-run problems. Uppercase
dirs contain up to several complex scripts that illustrate a
particular kind of simulation method or model. Some of these run for
longer times, e.g. to measure a particular quantity.</p>
<p>Lists of both kinds of directories are given below.</p>
<hr class="docutils" />
<div class="section" id="lowercase-directories">
<h2>7.1. Lowercase directories<a class="headerlink" href="#lowercase-directories" title="Permalink to this headline"></a></h2>
<table border="1" class="docutils"> <table border="1" class="docutils">
<colgroup> <colgroup>
<col width="15%" /> <col width="16%" />
<col width="85%" /> <col width="84%" />
</colgroup> </colgroup>
<tbody valign="top"> <tbody valign="top">
<tr class="row-odd"><td>balance</td> <tr class="row-odd"><td>accelerate</td>
<td>run with various acceleration options (OpenMP, GPU, Phi)</td>
</tr>
<tr class="row-even"><td>balance</td>
<td>dynamic load balancing, 2d system</td> <td>dynamic load balancing, 2d system</td>
</tr> </tr>
<tr class="row-even"><td>body</td> <tr class="row-odd"><td>body</td>
<td>body particles, 2d system</td> <td>body particles, 2d system</td>
</tr> </tr>
<tr class="row-odd"><td>colloid</td> <tr class="row-even"><td>colloid</td>
<td>big colloid particles in a small particle solvent, 2d system</td> <td>big colloid particles in a small particle solvent, 2d system</td>
</tr> </tr>
<tr class="row-even"><td>comb</td> <tr class="row-odd"><td>comb</td>
<td>models using the COMB potential</td> <td>models using the COMB potential</td>
</tr> </tr>
<tr class="row-even"><td>coreshell</td>
<td>core/shell model using CORESHELL package</td>
</tr>
<tr class="row-odd"><td>crack</td> <tr class="row-odd"><td>crack</td>
<td>crack propagation in a 2d solid</td> <td>crack propagation in a 2d solid</td>
</tr> </tr>
<tr class="row-even"><td>cuda</td> <tr class="row-even"><td>cuda</td>
<td>use of the USER-CUDA package for GPU acceleration</td> <td>use of the USER-CUDA package for GPU acceleration</td>
</tr> </tr>
<tr class="row-odd"><td>dipole</td> <tr class="row-odd"><td>deposit</td>
<td>deposit atoms and molecules on a surface</td>
</tr>
<tr class="row-even"><td>dipole</td>
<td>point dipolar particles, 2d system</td> <td>point dipolar particles, 2d system</td>
</tr> </tr>
<tr class="row-even"><td>dreiding</td> <tr class="row-odd"><td>dreiding</td>
<td>methanol via Dreiding FF</td> <td>methanol via Dreiding FF</td>
</tr> </tr>
<tr class="row-odd"><td>eim</td> <tr class="row-even"><td>eim</td>
<td>NaCl using the EIM potential</td> <td>NaCl using the EIM potential</td>
</tr> </tr>
<tr class="row-even"><td>ellipse</td> <tr class="row-odd"><td>ellipse</td>
<td>ellipsoidal particles in spherical solvent, 2d system</td> <td>ellipsoidal particles in spherical solvent, 2d system</td>
</tr> </tr>
<tr class="row-odd"><td>flow</td> <tr class="row-even"><td>flow</td>
<td>Couette and Poiseuille flow in a 2d channel</td> <td>Couette and Poiseuille flow in a 2d channel</td>
</tr> </tr>
<tr class="row-even"><td>friction</td> <tr class="row-odd"><td>friction</td>
<td>frictional contact of spherical asperities between 2d surfaces</td> <td>frictional contact of spherical asperities between 2d surfaces</td>
</tr> </tr>
<tr class="row-odd"><td>gpu</td>
<td>use of the GPU package for GPU acceleration</td>
</tr>
<tr class="row-even"><td>hugoniostat</td> <tr class="row-even"><td>hugoniostat</td>
<td>Hugoniostat shock dynamics</td> <td>Hugoniostat shock dynamics</td>
</tr> </tr>
<tr class="row-odd"><td>indent</td> <tr class="row-odd"><td>indent</td>
<td>spherical indenter into a 2d solid</td> <td>spherical indenter into a 2d solid</td>
</tr> </tr>
<tr class="row-even"><td>intel</td> <tr class="row-even"><td>kim</td>
<td>use of the USER-INTEL package for CPU or Intel(R) Xeon Phi(TM) coprocessor</td>
</tr>
<tr class="row-odd"><td>kim</td>
<td>use of potentials in Knowledge Base for Interatomic Models (KIM)</td> <td>use of potentials in Knowledge Base for Interatomic Models (KIM)</td>
</tr> </tr>
<tr class="row-even"><td>line</td>
<td>line segment particles in 2d rigid bodies</td>
</tr>
<tr class="row-odd"><td>meam</td> <tr class="row-odd"><td>meam</td>
<td>MEAM test for SiC and shear (same as shear examples)</td> <td>MEAM test for SiC and shear (same as shear examples)</td>
</tr> </tr>
@ -262,69 +273,108 @@ section of the <a class="reference external" href="http://lammps.sandia.gov">LAM
<tr class="row-odd"><td>prd</td> <tr class="row-odd"><td>prd</td>
<td>parallel replica dynamics of vacancy diffusion in bulk Si</td> <td>parallel replica dynamics of vacancy diffusion in bulk Si</td>
</tr> </tr>
<tr class="row-even"><td>qeq</td> <tr class="row-even"><td>python</td>
<td>using embedded Python in a LAMMPS input script</td>
</tr>
<tr class="row-odd"><td>qeq</td>
<td>use of the QEQ package for charge equilibration</td> <td>use of the QEQ package for charge equilibration</td>
</tr> </tr>
<tr class="row-odd"><td>reax</td> <tr class="row-even"><td>reax</td>
<td>RDX and TATB models using the ReaxFF</td> <td>RDX and TATB models using the ReaxFF</td>
</tr> </tr>
<tr class="row-even"><td>rigid</td> <tr class="row-odd"><td>rigid</td>
<td>rigid bodies modeled as independent or coupled</td> <td>rigid bodies modeled as independent or coupled</td>
</tr> </tr>
<tr class="row-odd"><td>shear</td> <tr class="row-even"><td>shear</td>
<td>sideways shear applied to 2d solid, with and without a void</td> <td>sideways shear applied to 2d solid, with and without a void</td>
</tr> </tr>
<tr class="row-even"><td>snap</td> <tr class="row-odd"><td>snap</td>
<td>NVE dynamics for BCC tantalum crystal using SNAP potential</td> <td>NVE dynamics for BCC tantalum crystal using SNAP potential</td>
</tr> </tr>
<tr class="row-odd"><td>srd</td> <tr class="row-even"><td>srd</td>
<td>stochastic rotation dynamics (SRD) particles as solvent</td> <td>stochastic rotation dynamics (SRD) particles as solvent</td>
</tr> </tr>
<tr class="row-odd"><td>streitz</td>
<td>use of Streitz/Mintmire potential with charge equilibration</td>
</tr>
<tr class="row-even"><td>tad</td> <tr class="row-even"><td>tad</td>
<td>temperature-accelerated dynamics of vacancy diffusion in bulk Si</td> <td>temperature-accelerated dynamics of vacancy diffusion in bulk Si</td>
</tr> </tr>
<tr class="row-odd"><td>tri</td> <tr class="row-odd"><td>vashishta</td>
<td>triangular particles in rigid bodies</td> <td>use of the Vashishta potential</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p>vashishta: models using the Vashishta potential</p> <p>Here is how you can run and visualize one of the sample problems:</p>
<p>Here is how you might run and visualize one of the sample problems:</p>
<div class="highlight-python"><div class="highlight"><pre>cd indent <div class="highlight-python"><div class="highlight"><pre>cd indent
cp ../../src/lmp_linux . # copy LAMMPS executable to this dir cp ../../src/lmp_linux . # copy LAMMPS executable to this dir
lmp_linux -in in.indent # run the problem lmp_linux -in in.indent # run the problem
</pre></div> </pre></div>
</div> </div>
<p>Running the simulation produces the files <em>dump.indent</em> and <p>Running the simulation produces the files <em>dump.indent</em> and
<em>log.lammps</em>. You can visualize the dump file as follows:</p> <em>log.lammps</em>. You can visualize the dump file of snapshots with a
<div class="highlight-python"><div class="highlight"><pre>../../tools/xmovie/xmovie -scale dump.indent variety of 3rd-party tools highlighted on the
</pre></div> <a class="reference external" href="http://lammps.sandia.gov/viz.html">Visualization</a> page of the LAMMPS
</div> web site.</p>
<p>If you uncomment the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> line(s) in the input <p>If you uncomment the <a class="reference internal" href="dump_image.html"><em>dump image</em></a> line(s) in the input
script a series of JPG images will be produced by the run. These can script a series of JPG images will be produced by the run (assuming
be viewed individually or turned into a movie or animated by tools you built LAMMPS with JPG support; see <a class="reference internal" href="Section_start.html"><em>Section start 2.2</em></a> for details). These can be viewed
like ImageMagick or QuickTime or various Windows-based tools. See the individually or turned into a movie or animated by tools like
ImageMagick or QuickTime or various Windows-based tools. See the
<a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page for more details. E.g. this <a class="reference internal" href="dump_image.html"><em>dump image</em></a> doc page for more details. E.g. this
Imagemagick command would create a GIF file suitable for viewing in a Imagemagick command would create a GIF file suitable for viewing in a
browser.</p> browser.</p>
<div class="highlight-python"><div class="highlight"><pre>% convert -loop 1 *.jpg foo.gif <div class="highlight-python"><div class="highlight"><pre>% convert -loop 1 *.jpg foo.gif
</pre></div> </pre></div>
</div> </div>
</div>
<hr class="docutils" /> <hr class="docutils" />
<p>There is also a COUPLE directory with examples of how to use LAMMPS as <div class="section" id="uppercase-directories">
a library, either by itself or in tandem with another code or library. <h2>7.2. Uppercase directories<a class="headerlink" href="#uppercase-directories" title="Permalink to this headline"></a></h2>
See the COUPLE/README file to get started.</p> <table border="1" class="docutils">
<p>There is also an ELASTIC directory with an example script for <colgroup>
computing elastic constants at zero temperature, using an Si example. See <col width="10%" />
the ELASTIC/in.elastic file for more info.</p> <col width="90%" />
<p>There is also an ELASTIC_T directory with an example script for </colgroup>
computing elastic constants at finite temperature, using an Si example. See <tbody valign="top">
the ELASTIC_T/in.elastic file for more info.</p> <tr class="row-odd"><td>ASPHERE</td>
<p>There is also a USER directory which contains subdirectories of <td>various aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc</td>
user-provided examples for user packages. See the README files in </tr>
those directories for more info. See the <tr class="row-even"><td>COUPLE</td>
<a class="reference internal" href="Section_start.html"><em>Section_start.html</em></a> file for more info about user <td>examples of how to use LAMMPS as a library</td>
packages.</p> </tr>
<tr class="row-odd"><td>DIFFUSE</td>
<td>compute diffusion coefficients via several methods</td>
</tr>
<tr class="row-even"><td>ELASTIC</td>
<td>compute elastic constants at zero temperature</td>
</tr>
<tr class="row-odd"><td>ELASTIC_T</td>
<td>compute elastic constants at finite temperature</td>
</tr>
<tr class="row-even"><td>KAPPA</td>
<td>compute thermal conductivity via several methods</td>
</tr>
<tr class="row-odd"><td>MC</td>
<td>using LAMMPS in a Monte Carlo mode to relax the energy of a system</td>
</tr>
<tr class="row-even"><td>USER</td>
<td>examples for USER packages and USER-contributed commands</td>
</tr>
<tr class="row-odd"><td>VISCOSITY</td>
<td>compute viscosity via several methods</td>
</tr>
</tbody>
</table>
<p>Nearly all of these directories have README files which give more
details on how to understand and use their contents.</p>
<p>The USER directory has a large number of sub-directories which
correspond by name to a USER package. They contain scripts that
illustrate how to use the command(s) provided in that package. Many
of the sub-directories have their own README files which give further
instructions. See the <a class="reference internal" href="Section_packages.html"><em>Section packages</em></a> doc
page for more info on specific USER packages.</p>
</div>
</div> </div>

View File

@ -8,21 +8,20 @@
7. Example problems :h3 7. Example problems :h3
The LAMMPS distribution includes an examples sub-directory with The LAMMPS distribution includes an examples sub-directory with many
several sample problems. Each problem is in a sub-directory of its sample problems. Many are 2d models that run quickly are are
own. Most are 2d models so that they run quickly, requiring at most a straightforward to visualize, requiring at most a couple of minutes to
couple of minutes to run on a desktop machine. Each problem has an run on a desktop machine. Each problem has an input script (in.*) and
input script (in.*) and produces a log file (log.*) and dump file produces a log file (log.*) when it runs. Some use a data file
(dump.*) when it runs. Some use a data file (data.*) of initial (data.*) of initial coordinates as additional input. A few sample log
coordinates as additional input. A few sample log file outputs on file run on different machines and different numbers of processors are
different machines and different numbers of processors are included in included in the directories to compare your answers to. E.g. a log
the directories to compare your answers to. E.g. a log file like file like log.date.crack.foo.P means the "crack" example was run on P
log.crack.foo.P means it ran on P processors of machine "foo". processors of machine "foo" on that date (i.e. with that version of
LAMMPS).
For examples that use input data files, many of them were produced by Many of the input files have commented-out lines for creating dump
"Pizza.py"_http://pizza.sandia.gov or setup tools described in the files and image files.
"Additional Tools"_Section_tools.html section of the LAMMPS
documentation and provided with the LAMMPS distribution.
If you uncomment the "dump"_dump.html command in the input script, a If you uncomment the "dump"_dump.html command in the input script, a
text dump file will be produced, which can be animated by various text dump file will be produced, which can be animated by various
@ -36,29 +35,39 @@ snapshot images will be produced when the simulation runs. They can
be quickly post-processed into a movie using commands described on the be quickly post-processed into a movie using commands described on the
"dump image"_dump_image.html doc page. "dump image"_dump_image.html doc page.
Animations of many of these examples can be viewed on the Movies Animations of many of the examples can be viewed on the Movies section
section of the "LAMMPS WWW Site"_lws. of the "LAMMPS web site"_lws.
These are the sample problems in the examples sub-directories: There are two kinds of sub-directories in the examples dir. Lowercase
dirs contain one or a few simple, quick-to-run problems. Uppercase
dirs contain up to several complex scripts that illustrate a
particular kind of simulation method or model. Some of these run for
longer times, e.g. to measure a particular quantity.
Lists of both kinds of directories are given below.
:line
Lowercase directories :h4
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
balance: dynamic load balancing, 2d system balance: dynamic load balancing, 2d system
body: body particles, 2d system body: body particles, 2d system
colloid: big colloid particles in a small particle solvent, 2d system colloid: big colloid particles in a small particle solvent, 2d system
comb: models using the COMB potential comb: models using the COMB potential
coreshell: core/shell model using CORESHELL package
crack: crack propagation in a 2d solid crack: crack propagation in a 2d solid
cuda: use of the USER-CUDA package for GPU acceleration cuda: use of the USER-CUDA package for GPU acceleration
deposit: deposit atoms and molecules on a surface
dipole: point dipolar particles, 2d system dipole: point dipolar particles, 2d system
dreiding: methanol via Dreiding FF dreiding: methanol via Dreiding FF
eim: NaCl using the EIM potential eim: NaCl using the EIM potential
ellipse: ellipsoidal particles in spherical solvent, 2d system ellipse: ellipsoidal particles in spherical solvent, 2d system
flow: Couette and Poiseuille flow in a 2d channel flow: Couette and Poiseuille flow in a 2d channel
friction: frictional contact of spherical asperities between 2d surfaces friction: frictional contact of spherical asperities between 2d surfaces
gpu: use of the GPU package for GPU acceleration
hugoniostat: Hugoniostat shock dynamics hugoniostat: Hugoniostat shock dynamics
indent: spherical indenter into a 2d solid indent: spherical indenter into a 2d solid
intel: use of the USER-INTEL package for CPU or Intel(R) Xeon Phi(TM) coprocessor
kim: use of potentials in Knowledge Base for Interatomic Models (KIM) kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
line: line segment particles in 2d rigid bodies
meam: MEAM test for SiC and shear (same as shear examples) meam: MEAM test for SiC and shear (same as shear examples)
melt: rapid melt of 3d LJ system melt: rapid melt of 3d LJ system
micelle: self-assembly of small lipid-like molecules into 2d bilayers micelle: self-assembly of small lipid-like molecules into 2d bilayers
@ -72,31 +81,35 @@ peptide: dynamics of a small solvated peptide chain (5-mer)
peri: Peridynamic model of cylinder impacted by indenter peri: Peridynamic model of cylinder impacted by indenter
pour: pouring of granular particles into a 3d box, then chute flow pour: pouring of granular particles into a 3d box, then chute flow
prd: parallel replica dynamics of vacancy diffusion in bulk Si prd: parallel replica dynamics of vacancy diffusion in bulk Si
python: using embedded Python in a LAMMPS input script
qeq: use of the QEQ package for charge equilibration qeq: use of the QEQ package for charge equilibration
reax: RDX and TATB models using the ReaxFF reax: RDX and TATB models using the ReaxFF
rigid: rigid bodies modeled as independent or coupled rigid: rigid bodies modeled as independent or coupled
shear: sideways shear applied to 2d solid, with and without a void shear: sideways shear applied to 2d solid, with and without a void
snap: NVE dynamics for BCC tantalum crystal using SNAP potential snap: NVE dynamics for BCC tantalum crystal using SNAP potential
srd: stochastic rotation dynamics (SRD) particles as solvent srd: stochastic rotation dynamics (SRD) particles as solvent
streitz: use of Streitz/Mintmire potential with charge equilibration
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
tri: triangular particles in rigid bodies :tb(s=:) vashishta: use of the Vashishta potential :tb(s=:)
vashishta: models using the Vashishta potential
Here is how you might run and visualize one of the sample problems: Here is how you can run and visualize one of the sample problems:
cd indent cd indent
cp ../../src/lmp_linux . # copy LAMMPS executable to this dir cp ../../src/lmp_linux . # copy LAMMPS executable to this dir
lmp_linux -in in.indent # run the problem :pre lmp_linux -in in.indent # run the problem :pre
Running the simulation produces the files {dump.indent} and Running the simulation produces the files {dump.indent} and
{log.lammps}. You can visualize the dump file as follows: {log.lammps}. You can visualize the dump file of snapshots with a
variety of 3rd-party tools highlighted on the
../../tools/xmovie/xmovie -scale dump.indent :pre "Visualization"_http://lammps.sandia.gov/viz.html page of the LAMMPS
web site.
If you uncomment the "dump image"_dump_image.html line(s) in the input If you uncomment the "dump image"_dump_image.html line(s) in the input
script a series of JPG images will be produced by the run. These can script a series of JPG images will be produced by the run (assuming
be viewed individually or turned into a movie or animated by tools you built LAMMPS with JPG support; see "Section start
like ImageMagick or QuickTime or various Windows-based tools. See the 2.2"_Section_start.html for details). These can be viewed
individually or turned into a movie or animated by tools like
ImageMagick or QuickTime or various Windows-based tools. See the
"dump image"_dump_image.html doc page for more details. E.g. this "dump image"_dump_image.html doc page for more details. E.g. this
Imagemagick command would create a GIF file suitable for viewing in a Imagemagick command would create a GIF file suitable for viewing in a
browser. browser.
@ -105,20 +118,24 @@ browser.
:line :line
There is also a COUPLE directory with examples of how to use LAMMPS as Uppercase directories :h4
a library, either by itself or in tandem with another code or library.
See the COUPLE/README file to get started.
There is also an ELASTIC directory with an example script for ASPHERE: various aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc
computing elastic constants at zero temperature, using an Si example. See COUPLE: examples of how to use LAMMPS as a library
the ELASTIC/in.elastic file for more info. DIFFUSE: compute diffusion coefficients via several methods
ELASTIC: compute elastic constants at zero temperature
ELASTIC_T: compute elastic constants at finite temperature
KAPPA: compute thermal conductivity via several methods
MC: using LAMMPS in a Monte Carlo mode to relax the energy of a system
USER: examples for USER packages and USER-contributed commands
VISCOSITY: compute viscosity via several methods :tb(s=:)
There is also an ELASTIC_T directory with an example script for Nearly all of these directories have README files which give more
computing elastic constants at finite temperature, using an Si example. See details on how to understand and use their contents.
the ELASTIC_T/in.elastic file for more info.
There is also a USER directory which contains subdirectories of The USER directory has a large number of sub-directories which
user-provided examples for user packages. See the README files in correspond by name to a USER package. They contain scripts that
those directories for more info. See the illustrate how to use the command(s) provided in that package. Many
"Section_start.html"_Section_start.html file for more info about user of the sub-directories have their own README files which give further
packages. instructions. See the "Section packages"_Section_packages.html doc
page for more info on specific USER packages.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -137,12 +137,17 @@
<div class="section" id="performance-scalability"> <div class="section" id="performance-scalability">
<h1>8. Performance &amp; scalability<a class="headerlink" href="#performance-scalability" title="Permalink to this headline"></a></h1> <h1>8. Performance &amp; scalability<a class="headerlink" href="#performance-scalability" title="Permalink to this headline"></a></h1>
<p>LAMMPS performance on several prototypical benchmarks and machines is <p>Current LAMMPS performance is discussed on the Benchmarks page of the
discussed on the Benchmarks page of the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a> where <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a> where CPU timings and parallel efficiencies are
CPU timings and parallel efficiencies are listed. Here, the listed. The page has several sections, which are briefly described
benchmarks are described briefly and some useful rules of thumb about below:</p>
their performance are highlighted.</p> <ul class="simple">
<p>These are the 5 benchmark problems:</p> <li>CPU performance on 5 standard problems, strong and weak scaling</li>
<li>GPU and Xeon Phi performance on same and related problems</li>
<li>Comparison of cost of interatomic potentials</li>
<li>Performance of huge, billion-atom problems</li>
</ul>
<p>The 5 standard problems are as follow:</p>
<ol class="arabic simple"> <ol class="arabic simple">
<li>LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55</li> <li>LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55</li>
</ol> </ol>
@ -161,73 +166,46 @@ field with a 10 Angstrom LJ cutoff (440 neighbors per atom),
particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT
integration</li> integration</li>
</ol> </ol>
<p>The input files for running the benchmarks are included in the LAMMPS <p>Input files for these 5 problems are provided in the bench directory
distribution, as are sample output files. Each of the 5 problems has of the LAMMPS distribution. Each has 32,000 atoms and runs for 100
32,000 atoms and runs for 100 timesteps. Each can be run as a serial timesteps. The size of the problem (number of atoms) can be varied
benchmarks (on one processor) or in parallel. In parallel, each using command-line switches as described in the bench/README file.
benchmark can be run as a fixed-size or scaled-size problem. For This is an easy way to test performance and either strong or weak
fixed-size benchmarking, the same 32K atom problem is run on various scalability on your machine.</p>
numbers of processors. For scaled-size benchmarking, the model size <p>The bench directory includes a few log.* files that show performance
is increased with the number of processors. E.g. on 8 processors, a of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI
256K-atom problem is run; on 1024 processors, a 32-million atom and bench/KEPLER dirs have input files and scripts and instructions
problem is run, etc.</p> for running the same (or similar) problems using OpenMP or GPU or Xeon
<p>A useful metric from the benchmarks is the CPU cost per atom per Phi acceleration options. See the README files in those dirs and the
timestep. Since LAMMPS performance scales roughly linearly with <a class="reference internal" href="Section_accelerate.html"><em>Section accelerate</em></a> doc pages for
problem size and timesteps, the run time of any problem using the same instructions on how to build LAMMPS and run on that kind of hardware.</p>
model (atom style, force field, cutoff, etc) can then be estimated. <p>The bench/POTENTIALS directory has input files which correspond to the
For example, on a 1.7 GHz Pentium desktop machine (Intel icc compiler table of results on the
under Red Hat Linux), the CPU run-time in seconds/atom/timestep for <span class="xref std std-ref">Potentials</span> section of
the 5 problems is</p> the Benchmarks web page. So you can also run those test problems on
<table border="1" class="docutils"> your machine.</p>
<colgroup> <p>The <span class="xref std std-ref">billion-atom</span> section
<col width="25%" /> of the Benchmarks web page has performance data for very large
<col width="14%" /> benchmark runs of simple Lennard-Jones (LJ) models, which use the
<col width="14%" /> bench/in.lj input script.</p>
<col width="14%" /> <hr class="docutils" />
<col width="14%" /> <p>For all the benchmarks, a useful metric is the CPU cost per atom per
<col width="17%" /> timestep. Since performance scales roughly linearly with problem size
</colgroup> and timesteps for all LAMMPS models (i.e. inteatomic or coarse-grained
<tbody valign="top"> potentials), the run time of any problem using the same model (atom
<tr class="row-odd"><td>Problem:</td> style, force field, cutoff, etc) can then be estimated.</p>
<td>LJ</td> <p>Performance on a parallel machine can also be predicted from one-core
<td>Chain</td> or one-node timings if the parallel efficiency can be estimated. The
<td>EAM</td> communication bandwidth and latency of a particular parallel machine
<td>Chute</td> affects the efficiency. On most machines LAMMPS will give parallel
<td>Rhodopsin</td> efficiencies on these benchmarks above 50% so long as the number of
</tr> atoms/core is a few 100 or greater, and closer to 100% for large
<tr class="row-even"><td>CPU/atom/step:</td> numbers of atoms/core. This is for all-MPI mode with one MPI task per
<td>4.55E-6</td> core. For nodes with accelerator options or hardware (OpenMP, GPU,
<td>2.18E-6</td> Phi), you should first measure single node performance. Then you can
<td>9.38E-6</td> estimate parallel performance for multi-node runs using the same logic
<td>2.18E-6</td> as for all-MPI mode, except that now you will typically need many more
<td>1.11E-4</td> atoms/node to achieve good scalability.</p>
</tr>
<tr class="row-odd"><td>Ratio to LJ:</td>
<td>1.0</td>
<td>0.48</td>
<td>2.06</td>
<td>0.48</td>
<td>24.5</td>
</tr>
</tbody>
</table>
<p>The ratios mean that if the atomic LJ system has a normalized cost of
1.0, the bead-spring chains and granular systems run 2x faster, while
the EAM metal and solvated protein models run 2x and 25x slower
respectively. The bulk of these cost differences is due to the
expense of computing a particular pairwise force field for a given
number of neighbors per atom.</p>
<p>Performance on a parallel machine can also be predicted from the
one-processor timings if the parallel efficiency can be estimated.
The communication bandwidth and latency of a particular parallel
machine affects the efficiency. On most machines LAMMPS will give
fixed-size parallel efficiencies on these benchmarks above 50% so long
as the atoms/processor count is a few 100 or greater - i.e. on 64 to
128 processors. Likewise, scaled-size parallel efficiencies will
typically be 80% or greater up to very large processor counts. The
benchmark data on the <a class="reference external" href="http://lammps.sandia.gov">LAMMPS WWW Site</a> gives specific examples on
some different machines, including a run of 3/4 of a billion LJ atoms
on 1500 processors that ran at 85% parallel efficiency.</p>
</div> </div>

View File

@ -8,13 +8,17 @@
8. Performance & scalability :h3 8. Performance & scalability :h3
LAMMPS performance on several prototypical benchmarks and machines is Current LAMMPS performance is discussed on the Benchmarks page of the
discussed on the Benchmarks page of the "LAMMPS WWW Site"_lws where "LAMMPS WWW Site"_lws where CPU timings and parallel efficiencies are
CPU timings and parallel efficiencies are listed. Here, the listed. The page has several sections, which are briefly described
benchmarks are described briefly and some useful rules of thumb about below:
their performance are highlighted.
These are the 5 benchmark problems: CPU performance on 5 standard problems, strong and weak scaling
GPU and Xeon Phi performance on same and related problems
Comparison of cost of interatomic potentials
Performance of huge, billion-atom problems :ul
The 5 standard problems are as follow:
LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55
neighbors per atom), NVE integration :olb,l neighbors per atom), NVE integration :olb,l
@ -34,44 +38,49 @@ field with a 10 Angstrom LJ cutoff (440 neighbors per atom),
particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT
integration :ole,l integration :ole,l
The input files for running the benchmarks are included in the LAMMPS Input files for these 5 problems are provided in the bench directory
distribution, as are sample output files. Each of the 5 problems has of the LAMMPS distribution. Each has 32,000 atoms and runs for 100
32,000 atoms and runs for 100 timesteps. Each can be run as a serial timesteps. The size of the problem (number of atoms) can be varied
benchmarks (on one processor) or in parallel. In parallel, each using command-line switches as described in the bench/README file.
benchmark can be run as a fixed-size or scaled-size problem. For This is an easy way to test performance and either strong or weak
fixed-size benchmarking, the same 32K atom problem is run on various scalability on your machine.
numbers of processors. For scaled-size benchmarking, the model size
is increased with the number of processors. E.g. on 8 processors, a
256K-atom problem is run; on 1024 processors, a 32-million atom
problem is run, etc.
A useful metric from the benchmarks is the CPU cost per atom per The bench directory includes a few log.* files that show performance
timestep. Since LAMMPS performance scales roughly linearly with of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI
problem size and timesteps, the run time of any problem using the same and bench/KEPLER dirs have input files and scripts and instructions
model (atom style, force field, cutoff, etc) can then be estimated. for running the same (or similar) problems using OpenMP or GPU or Xeon
For example, on a 1.7 GHz Pentium desktop machine (Intel icc compiler Phi acceleration options. See the README files in those dirs and the
under Red Hat Linux), the CPU run-time in seconds/atom/timestep for "Section accelerate"_Section_accelerate.html doc pages for
the 5 problems is instructions on how to build LAMMPS and run on that kind of hardware.
Problem:, LJ, Chain, EAM, Chute, Rhodopsin The bench/POTENTIALS directory has input files which correspond to the
CPU/atom/step:, 4.55E-6, 2.18E-6, 9.38E-6, 2.18E-6, 1.11E-4 table of results on the
Ratio to LJ:, 1.0, 0.48, 2.06, 0.48, 24.5 :tb(ea=c,ca1=r) "Potentials"_http://lammps.sandia.gov/bench.html#potentials section of
the Benchmarks web page. So you can also run those test problems on
your machine.
The ratios mean that if the atomic LJ system has a normalized cost of The "billion-atom"_http://lammps.sandia.gov/bench.html#billion section
1.0, the bead-spring chains and granular systems run 2x faster, while of the Benchmarks web page has performance data for very large
the EAM metal and solvated protein models run 2x and 25x slower benchmark runs of simple Lennard-Jones (LJ) models, which use the
respectively. The bulk of these cost differences is due to the bench/in.lj input script.
expense of computing a particular pairwise force field for a given
number of neighbors per atom.
Performance on a parallel machine can also be predicted from the :line
one-processor timings if the parallel efficiency can be estimated.
The communication bandwidth and latency of a particular parallel For all the benchmarks, a useful metric is the CPU cost per atom per
machine affects the efficiency. On most machines LAMMPS will give timestep. Since performance scales roughly linearly with problem size
fixed-size parallel efficiencies on these benchmarks above 50% so long and timesteps for all LAMMPS models (i.e. inteatomic or coarse-grained
as the atoms/processor count is a few 100 or greater - i.e. on 64 to potentials), the run time of any problem using the same model (atom
128 processors. Likewise, scaled-size parallel efficiencies will style, force field, cutoff, etc) can then be estimated.
typically be 80% or greater up to very large processor counts. The
benchmark data on the "LAMMPS WWW Site"_lws gives specific examples on Performance on a parallel machine can also be predicted from one-core
some different machines, including a run of 3/4 of a billion LJ atoms or one-node timings if the parallel efficiency can be estimated. The
on 1500 processors that ran at 85% parallel efficiency. communication bandwidth and latency of a particular parallel machine
affects the efficiency. On most machines LAMMPS will give parallel
efficiencies on these benchmarks above 50% so long as the number of
atoms/core is a few 100 or greater, and closer to 100% for large
numbers of atoms/core. This is for all-MPI mode with one MPI task per
core. For nodes with accelerator options or hardware (OpenMP, GPU,
Phi), you should first measure single node performance. Then you can
estimate parallel performance for multi-node runs using the same logic
as for all-MPI mode, except that now you will typically need many more
atoms/node to achieve good scalability.

View File

@ -1,21 +1,20 @@
Example problems Example problems
================ ================
The LAMMPS distribution includes an examples sub-directory with The LAMMPS distribution includes an examples sub-directory with many
several sample problems. Each problem is in a sub-directory of its sample problems. Many are 2d models that run quickly are are
own. Most are 2d models so that they run quickly, requiring at most a straightforward to visualize, requiring at most a couple of minutes to
couple of minutes to run on a desktop machine. Each problem has an run on a desktop machine. Each problem has an input script (in.*) and
input script (in.*) and produces a log file (log.*) and dump file produces a log file (log.*) when it runs. Some use a data file
(dump.*) when it runs. Some use a data file (data.*) of initial (data.*) of initial coordinates as additional input. A few sample log
coordinates as additional input. A few sample log file outputs on file run on different machines and different numbers of processors are
different machines and different numbers of processors are included in included in the directories to compare your answers to. E.g. a log
the directories to compare your answers to. E.g. a log file like file like log.date.crack.foo.P means the "crack" example was run on P
log.crack.foo.P means it ran on P processors of machine "foo". processors of machine "foo" on that date (i.e. with that version of
LAMMPS).
For examples that use input data files, many of them were produced by Many of the input files have commented-out lines for creating dump
`Pizza.py <http://pizza.sandia.gov>`_ or setup tools described in the files and image files.
:doc:`Additional Tools <Section_tools>` section of the LAMMPS
documentation and provided with the LAMMPS distribution.
If you uncomment the :doc:`dump <dump>` command in the input script, a If you uncomment the :doc:`dump <dump>` command in the input script, a
text dump file will be produced, which can be animated by various text dump file will be produced, which can be animated by various
@ -28,94 +27,109 @@ snapshot images will be produced when the simulation runs. They can
be quickly post-processed into a movie using commands described on the be quickly post-processed into a movie using commands described on the
:doc:`dump image <dump_image>` doc page. :doc:`dump image <dump_image>` doc page.
Animations of many of these examples can be viewed on the Movies Animations of many of the examples can be viewed on the Movies section
section of the `LAMMPS WWW Site <lws_>`_. of the `LAMMPS web site <lws_>`_.
These are the sample problems in the examples sub-directories: There are two kinds of sub-directories in the examples dir. Lowercase
dirs contain one or a few simple, quick-to-run problems. Uppercase
dirs contain up to several complex scripts that illustrate a
particular kind of simulation method or model. Some of these run for
longer times, e.g. to measure a particular quantity.
+-------------+----------------------------------------------------------------------------+ Lists of both kinds of directories are given below.
----------
Lowercase directories
---------------------
+-------------+------------------------------------------------------------------+
| accelerate | run with various acceleration options (OpenMP, GPU, Phi) |
+-------------+------------------------------------------------------------------+
| balance | dynamic load balancing, 2d system | | balance | dynamic load balancing, 2d system |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| body | body particles, 2d system | | body | body particles, 2d system |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| colloid | big colloid particles in a small particle solvent, 2d system | | colloid | big colloid particles in a small particle solvent, 2d system |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| comb | models using the COMB potential | | comb | models using the COMB potential |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| coreshell | core/shell model using CORESHELL package |
+-------------+------------------------------------------------------------------+
| crack | crack propagation in a 2d solid | | crack | crack propagation in a 2d solid |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| cuda | use of the USER-CUDA package for GPU acceleration | | cuda | use of the USER-CUDA package for GPU acceleration |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| deposit | deposit atoms and molecules on a surface |
+-------------+------------------------------------------------------------------+
| dipole | point dipolar particles, 2d system | | dipole | point dipolar particles, 2d system |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| dreiding | methanol via Dreiding FF | | dreiding | methanol via Dreiding FF |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| eim | NaCl using the EIM potential | | eim | NaCl using the EIM potential |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| ellipse | ellipsoidal particles in spherical solvent, 2d system | | ellipse | ellipsoidal particles in spherical solvent, 2d system |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| flow | Couette and Poiseuille flow in a 2d channel | | flow | Couette and Poiseuille flow in a 2d channel |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| friction | frictional contact of spherical asperities between 2d surfaces | | friction | frictional contact of spherical asperities between 2d surfaces |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| gpu | use of the GPU package for GPU acceleration |
+-------------+----------------------------------------------------------------------------+
| hugoniostat | Hugoniostat shock dynamics | | hugoniostat | Hugoniostat shock dynamics |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| indent | spherical indenter into a 2d solid | | indent | spherical indenter into a 2d solid |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| intel | use of the USER-INTEL package for CPU or Intel(R) Xeon Phi(TM) coprocessor |
+-------------+----------------------------------------------------------------------------+
| kim | use of potentials in Knowledge Base for Interatomic Models (KIM) | | kim | use of potentials in Knowledge Base for Interatomic Models (KIM) |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| line | line segment particles in 2d rigid bodies |
+-------------+----------------------------------------------------------------------------+
| meam | MEAM test for SiC and shear (same as shear examples) | | meam | MEAM test for SiC and shear (same as shear examples) |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| melt | rapid melt of 3d LJ system | | melt | rapid melt of 3d LJ system |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| micelle | self-assembly of small lipid-like molecules into 2d bilayers | | micelle | self-assembly of small lipid-like molecules into 2d bilayers |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| min | energy minimization of 2d LJ melt | | min | energy minimization of 2d LJ melt |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| msst | MSST shock dynamics | | msst | MSST shock dynamics |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| nb3b | use of nonbonded 3-body harmonic pair style | | nb3b | use of nonbonded 3-body harmonic pair style |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| neb | nudged elastic band (NEB) calculation for barrier finding | | neb | nudged elastic band (NEB) calculation for barrier finding |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| nemd | non-equilibrium MD of 2d sheared system | | nemd | non-equilibrium MD of 2d sheared system |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| obstacle | flow around two voids in a 2d channel | | obstacle | flow around two voids in a 2d channel |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| peptide | dynamics of a small solvated peptide chain (5-mer) | | peptide | dynamics of a small solvated peptide chain (5-mer) |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| peri | Peridynamic model of cylinder impacted by indenter | | peri | Peridynamic model of cylinder impacted by indenter |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| pour | pouring of granular particles into a 3d box, then chute flow | | pour | pouring of granular particles into a 3d box, then chute flow |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| prd | parallel replica dynamics of vacancy diffusion in bulk Si | | prd | parallel replica dynamics of vacancy diffusion in bulk Si |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| python | using embedded Python in a LAMMPS input script |
+-------------+------------------------------------------------------------------+
| qeq | use of the QEQ package for charge equilibration | | qeq | use of the QEQ package for charge equilibration |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| reax | RDX and TATB models using the ReaxFF | | reax | RDX and TATB models using the ReaxFF |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| rigid | rigid bodies modeled as independent or coupled | | rigid | rigid bodies modeled as independent or coupled |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| shear | sideways shear applied to 2d solid, with and without a void | | shear | sideways shear applied to 2d solid, with and without a void |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| snap | NVE dynamics for BCC tantalum crystal using SNAP potential | | snap | NVE dynamics for BCC tantalum crystal using SNAP potential |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| srd | stochastic rotation dynamics (SRD) particles as solvent | | srd | stochastic rotation dynamics (SRD) particles as solvent |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| streitz | use of Streitz/Mintmire potential with charge equilibration |
+-------------+------------------------------------------------------------------+
| tad | temperature-accelerated dynamics of vacancy diffusion in bulk Si | | tad | temperature-accelerated dynamics of vacancy diffusion in bulk Si |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
| tri | triangular particles in rigid bodies | | vashishta | use of the Vashishta potential |
+-------------+----------------------------------------------------------------------------+ +-------------+------------------------------------------------------------------+
vashishta: models using the Vashishta potential Here is how you can run and visualize one of the sample problems:
Here is how you might run and visualize one of the sample problems:
.. parsed-literal:: .. parsed-literal::
@ -124,16 +138,16 @@ Here is how you might run and visualize one of the sample problems:
lmp_linux -in in.indent # run the problem lmp_linux -in in.indent # run the problem
Running the simulation produces the files *dump.indent* and Running the simulation produces the files *dump.indent* and
*log.lammps*. You can visualize the dump file as follows: *log.lammps*. You can visualize the dump file of snapshots with a
variety of 3rd-party tools highlighted on the
.. parsed-literal:: `Visualization <http://lammps.sandia.gov/viz.html>`_ page of the LAMMPS
web site.
../../tools/xmovie/xmovie -scale dump.indent
If you uncomment the :doc:`dump image <dump_image>` line(s) in the input If you uncomment the :doc:`dump image <dump_image>` line(s) in the input
script a series of JPG images will be produced by the run. These can script a series of JPG images will be produced by the run (assuming
be viewed individually or turned into a movie or animated by tools you built LAMMPS with JPG support; see :doc:`Section start 2.2 <Section_start>` for details). These can be viewed
like ImageMagick or QuickTime or various Windows-based tools. See the individually or turned into a movie or animated by tools like
ImageMagick or QuickTime or various Windows-based tools. See the
:doc:`dump image <dump_image>` doc page for more details. E.g. this :doc:`dump image <dump_image>` doc page for more details. E.g. this
Imagemagick command would create a GIF file suitable for viewing in a Imagemagick command would create a GIF file suitable for viewing in a
browser. browser.
@ -146,23 +160,38 @@ browser.
---------- ----------
There is also a COUPLE directory with examples of how to use LAMMPS as Uppercase directories
a library, either by itself or in tandem with another code or library. ---------------------
See the COUPLE/README file to get started.
There is also an ELASTIC directory with an example script for +-----------+--------------------------------------------------------------------------------------------------+
computing elastic constants at zero temperature, using an Si example. See | ASPHERE | various aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc |
the ELASTIC/in.elastic file for more info. +-----------+--------------------------------------------------------------------------------------------------+
| COUPLE | examples of how to use LAMMPS as a library |
+-----------+--------------------------------------------------------------------------------------------------+
| DIFFUSE | compute diffusion coefficients via several methods |
+-----------+--------------------------------------------------------------------------------------------------+
| ELASTIC | compute elastic constants at zero temperature |
+-----------+--------------------------------------------------------------------------------------------------+
| ELASTIC_T | compute elastic constants at finite temperature |
+-----------+--------------------------------------------------------------------------------------------------+
| KAPPA | compute thermal conductivity via several methods |
+-----------+--------------------------------------------------------------------------------------------------+
| MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system |
+-----------+--------------------------------------------------------------------------------------------------+
| USER | examples for USER packages and USER-contributed commands |
+-----------+--------------------------------------------------------------------------------------------------+
| VISCOSITY | compute viscosity via several methods |
+-----------+--------------------------------------------------------------------------------------------------+
There is also an ELASTIC_T directory with an example script for Nearly all of these directories have README files which give more
computing elastic constants at finite temperature, using an Si example. See details on how to understand and use their contents.
the ELASTIC_T/in.elastic file for more info.
There is also a USER directory which contains subdirectories of The USER directory has a large number of sub-directories which
user-provided examples for user packages. See the README files in correspond by name to a USER package. They contain scripts that
those directories for more info. See the illustrate how to use the command(s) provided in that package. Many
:doc:`Section_start.html <Section_start>` file for more info about user of the sub-directories have their own README files which give further
packages. instructions. See the :doc:`Section packages <Section_packages>` doc
page for more info on specific USER packages.
.. _lws: http://lammps.sandia.gov .. _lws: http://lammps.sandia.gov

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,17 @@
Performance & scalability Performance & scalability
========================= =========================
LAMMPS performance on several prototypical benchmarks and machines is Current LAMMPS performance is discussed on the Benchmarks page of the
discussed on the Benchmarks page of the `LAMMPS WWW Site <lws_>`_ where `LAMMPS WWW Site <lws_>`_ where CPU timings and parallel efficiencies are
CPU timings and parallel efficiencies are listed. Here, the listed. The page has several sections, which are briefly described
benchmarks are described briefly and some useful rules of thumb about below:
their performance are highlighted.
These are the 5 benchmark problems: * CPU performance on 5 standard problems, strong and weak scaling
* GPU and Xeon Phi performance on same and related problems
* Comparison of cost of interatomic potentials
* Performance of huge, billion-atom problems
The 5 standard problems are as follow:
#. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 #. LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55
neighbors per atom), NVE integration neighbors per atom), NVE integration
@ -22,51 +26,54 @@ These are the 5 benchmark problems:
field with a 10 Angstrom LJ cutoff (440 neighbors per atom), field with a 10 Angstrom LJ cutoff (440 neighbors per atom),
particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT
integration integration
The input files for running the benchmarks are included in the LAMMPS Input files for these 5 problems are provided in the bench directory
distribution, as are sample output files. Each of the 5 problems has of the LAMMPS distribution. Each has 32,000 atoms and runs for 100
32,000 atoms and runs for 100 timesteps. Each can be run as a serial timesteps. The size of the problem (number of atoms) can be varied
benchmarks (on one processor) or in parallel. In parallel, each using command-line switches as described in the bench/README file.
benchmark can be run as a fixed-size or scaled-size problem. For This is an easy way to test performance and either strong or weak
fixed-size benchmarking, the same 32K atom problem is run on various scalability on your machine.
numbers of processors. For scaled-size benchmarking, the model size
is increased with the number of processors. E.g. on 8 processors, a
256K-atom problem is run; on 1024 processors, a 32-million atom
problem is run, etc.
A useful metric from the benchmarks is the CPU cost per atom per The bench directory includes a few log.* files that show performance
timestep. Since LAMMPS performance scales roughly linearly with of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI
problem size and timesteps, the run time of any problem using the same and bench/KEPLER dirs have input files and scripts and instructions
model (atom style, force field, cutoff, etc) can then be estimated. for running the same (or similar) problems using OpenMP or GPU or Xeon
For example, on a 1.7 GHz Pentium desktop machine (Intel icc compiler Phi acceleration options. See the README files in those dirs and the
under Red Hat Linux), the CPU run-time in seconds/atom/timestep for :doc:`Section accelerate <Section_accelerate>` doc pages for
the 5 problems is instructions on how to build LAMMPS and run on that kind of hardware.
+----------------+---------+---------+---------+---------+-----------+ The bench/POTENTIALS directory has input files which correspond to the
| Problem: | LJ | Chain | EAM | Chute | Rhodopsin | table of results on the
+----------------+---------+---------+---------+---------+-----------+ :ref:`Potentials <potentials>` section of
| CPU/atom/step: | 4.55E-6 | 2.18E-6 | 9.38E-6 | 2.18E-6 | 1.11E-4 | the Benchmarks web page. So you can also run those test problems on
+----------------+---------+---------+---------+---------+-----------+ your machine.
| Ratio to LJ: | 1.0 | 0.48 | 2.06 | 0.48 | 24.5 |
+----------------+---------+---------+---------+---------+-----------+
The ratios mean that if the atomic LJ system has a normalized cost of The :ref:`billion-atom <billion>` section
1.0, the bead-spring chains and granular systems run 2x faster, while of the Benchmarks web page has performance data for very large
the EAM metal and solvated protein models run 2x and 25x slower benchmark runs of simple Lennard-Jones (LJ) models, which use the
respectively. The bulk of these cost differences is due to the bench/in.lj input script.
expense of computing a particular pairwise force field for a given
number of neighbors per atom.
Performance on a parallel machine can also be predicted from the
one-processor timings if the parallel efficiency can be estimated. ----------
The communication bandwidth and latency of a particular parallel
machine affects the efficiency. On most machines LAMMPS will give
fixed-size parallel efficiencies on these benchmarks above 50% so long For all the benchmarks, a useful metric is the CPU cost per atom per
as the atoms/processor count is a few 100 or greater - i.e. on 64 to timestep. Since performance scales roughly linearly with problem size
128 processors. Likewise, scaled-size parallel efficiencies will and timesteps for all LAMMPS models (i.e. inteatomic or coarse-grained
typically be 80% or greater up to very large processor counts. The potentials), the run time of any problem using the same model (atom
benchmark data on the `LAMMPS WWW Site <lws_>`_ gives specific examples on style, force field, cutoff, etc) can then be estimated.
some different machines, including a run of 3/4 of a billion LJ atoms
on 1500 processors that ran at 85% parallel efficiency. Performance on a parallel machine can also be predicted from one-core
or one-node timings if the parallel efficiency can be estimated. The
communication bandwidth and latency of a particular parallel machine
affects the efficiency. On most machines LAMMPS will give parallel
efficiencies on these benchmarks above 50% so long as the number of
atoms/core is a few 100 or greater, and closer to 100% for large
numbers of atoms/core. This is for all-MPI mode with one MPI task per
core. For nodes with accelerator options or hardware (OpenMP, GPU,
Phi), you should first measure single node performance. Then you can
estimate parallel performance for multi-node runs using the same logic
as for all-MPI mode, except that now you will typically need many more
atoms/node to achieve good scalability.
.. _lws: http://lammps.sandia.gov .. _lws: http://lammps.sandia.gov

View File

@ -49,6 +49,8 @@ Here is a quick overview of how to use the KOKKOS package
for CPU acceleration, assuming one or more 16-core nodes. for CPU acceleration, assuming one or more 16-core nodes.
More details follow. More details follow.
.. parsed-literal::
use a C++11 compatible compiler use a C++11 compatible compiler
make yes-kokkos make yes-kokkos
make mpi KOKKOS_DEVICES=OpenMP # build with the KOKKOS package make mpi KOKKOS_DEVICES=OpenMP # build with the KOKKOS package
@ -72,6 +74,8 @@ details follow.
discuss use of NVCC, which Makefiles to examine discuss use of NVCC, which Makefiles to examine
.. parsed-literal::
use a C++11 compatible compiler use a C++11 compatible compiler
KOKKOS_DEVICES = Cuda, OpenMP KOKKOS_DEVICES = Cuda, OpenMP
KOKKOS_ARCH = Kepler35 KOKKOS_ARCH = Kepler35
@ -101,6 +105,8 @@ for the Intel Phi:
make machine make machine
Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi
.. parsed-literal::
host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading): host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading):
mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240 mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240
mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240 mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240

View File

@ -43,9 +43,9 @@ Description
""""""""""" """""""""""
Styles *brownian* and *brownain/poly* compute Brownian forces and Styles *brownian* and *brownain/poly* compute Brownian forces and
torques on finite-size particles. The former requires monodisperse torques on finite-size spherical particles. The former requires
spherical particles; the latter allows for polydisperse spherical monodisperse spherical particles; the latter allows for polydisperse
particles. spherical particles.
These pair styles are designed to be used with either the :doc:`pair_style lubricate <pair_lubricate>` or :doc:`pair_style lubricateU <pair_lubricateU>` commands to provide thermostatting These pair styles are designed to be used with either the :doc:`pair_style lubricate <pair_lubricate>` or :doc:`pair_style lubricateU <pair_lubricateU>` commands to provide thermostatting
when dissipative lubrication forces are acting. Thus the parameters when dissipative lubrication forces are acting. Thus the parameters
@ -134,8 +134,8 @@ Restrictions
"""""""""""" """"""""""""
These styles are part of the FLD package. They are only enabled if These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the :ref:`Making LAMMPS <2_3>` section for more info. if LAMMPS was built with that package. See the :ref:`Making LAMMPS <2_3>` section for more info.
Only spherical monodisperse particles are allowed for pair_style Only spherical monodisperse particles are allowed for pair_style
brownian. brownian.

View File

@ -47,8 +47,8 @@ Description
""""""""""" """""""""""
Styles *lubricate* and *lubricate/poly* compute hydrodynamic Styles *lubricate* and *lubricate/poly* compute hydrodynamic
interactions between mono-disperse spherical particles in a pairwise interactions between mono-disperse finite-size spherical particles in
fashion. The interactions have 2 components. The first is a pairwise fashion. The interactions have 2 components. The first is
Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) <Ball>` Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) <Ball>`
.. image:: Eqs/pair_lubricate.jpg .. image:: Eqs/pair_lubricate.jpg
@ -207,8 +207,8 @@ Restrictions
"""""""""""" """"""""""""
These styles are part of the FLD package. They are only enabled if These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the :ref:`Making LAMMPS <2_3>` section for more info. if LAMMPS was built with that package. See the :ref:`Making LAMMPS <2_3>` section for more info.
Only spherical monodisperse particles are allowed for pair_style Only spherical monodisperse particles are allowed for pair_style
lubricate. lubricate.

View File

@ -34,8 +34,9 @@ Description
""""""""""" """""""""""
Styles *lubricateU* and *lubricateU/poly* compute velocities and Styles *lubricateU* and *lubricateU/poly* compute velocities and
angular velocities such that the hydrodynamic interaction balances the angular velocities for finite-size spherical particles such that the
force and torque due to all other types of interactions. hydrodynamic interaction balances the force and torque due to all
other types of interactions.
The interactions have 2 components. The first is The interactions have 2 components. The first is
Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) <Ball>` Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) <Ball>`
@ -187,8 +188,8 @@ Restrictions
"""""""""""" """"""""""""
These styles are part of the FLD package. They are only enabled if These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the :ref:`Making LAMMPS <2_3>` section for more info. if LAMMPS was built with that package. See the :ref:`Making LAMMPS <2_3>` section for more info.
Currently, these pair styles assume that all other types of Currently, these pair styles assume that all other types of
forces/torques on the particles have been already been computed when forces/torques on the particles have been already been computed when

View File

@ -25,7 +25,7 @@ Syntax
pair_style style pair_style style
style = *peri/pmb* or *peri/lps* or *peri/ves* or *peri/eps*:ul * style = *peri/pmb* or *peri/lps* or *peri/ves* or *peri/eps*
Examples Examples
"""""""" """"""""

View File

@ -166,11 +166,13 @@ produce an executable compatible with specific hardware.</p>
<p>Here is a quick overview of how to use the KOKKOS package <p>Here is a quick overview of how to use the KOKKOS package
for CPU acceleration, assuming one or more 16-core nodes. for CPU acceleration, assuming one or more 16-core nodes.
More details follow.</p> More details follow.</p>
<p>use a C++11 compatible compiler <div class="highlight-python"><div class="highlight"><pre>use a C++11 compatible compiler
make yes-kokkos make yes-kokkos
make mpi KOKKOS_DEVICES=OpenMP # build with the KOKKOS package make mpi KOKKOS_DEVICES=OpenMP # build with the KOKKOS package
make kokkos_omp # or Makefile.kokkos_omp already has variable set make kokkos_omp # or Makefile.kokkos_omp already has variable set
Make.py -v -p kokkos -kokkos omp -o mpi -a file mpi # or one-line build via Make.py</p> Make.py -v -p kokkos -kokkos omp -o mpi -a file mpi # or one-line build via Make.py
</pre></div>
</div>
<div class="highlight-python"><div class="highlight"><pre>mpirun -np 16 lmp_mpi -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no threads <div class="highlight-python"><div class="highlight"><pre>mpirun -np 16 lmp_mpi -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no threads
mpirun -np 2 -ppn 1 lmp_mpi -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task mpirun -np 2 -ppn 1 lmp_mpi -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task
mpirun -np 2 lmp_mpi -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task mpirun -np 2 lmp_mpi -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task
@ -186,12 +188,14 @@ mpirun -np 32 -ppn 4 lmp_mpi -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks
assuming one or more nodes, each with 16 cores and a GPU. More assuming one or more nodes, each with 16 cores and a GPU. More
details follow.</p> details follow.</p>
<p>discuss use of NVCC, which Makefiles to examine</p> <p>discuss use of NVCC, which Makefiles to examine</p>
<p>use a C++11 compatible compiler <div class="highlight-python"><div class="highlight"><pre>use a C++11 compatible compiler
KOKKOS_DEVICES = Cuda, OpenMP KOKKOS_DEVICES = Cuda, OpenMP
KOKKOS_ARCH = Kepler35 KOKKOS_ARCH = Kepler35
make yes-kokkos make yes-kokkos
make machine make machine
Make.py -p kokkos -kokkos cuda arch=31 -o kokkos_cuda -a file kokkos_cuda</p> Make.py -p kokkos -kokkos cuda arch=31 -o kokkos_cuda -a file kokkos_cuda
</pre></div>
</div>
<div class="highlight-python"><div class="highlight"><pre>mpirun -np 1 lmp_cuda -k on t 6 -sf kk -in in.lj # one MPI task, 6 threads on CPU <div class="highlight-python"><div class="highlight"><pre>mpirun -np 1 lmp_cuda -k on t 6 -sf kk -in in.lj # one MPI task, 6 threads on CPU
mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj # ditto on 4 nodes mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj # ditto on 4 nodes
</pre></div> </pre></div>
@ -210,11 +214,13 @@ make machine
Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi Make.py -p kokkos -kokkos phi -o kokkos_phi -a file mpi
</pre></div> </pre></div>
</div> </div>
<p>host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading): <div class="highlight-python"><div class="highlight"><pre>host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading):
mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240 mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240
mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240 mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240
mpirun -np 12 lmp_g++ -k on t 20 -sf kk -in in.lj # 12 MPI tasks on 1 Phi, 12*20 = 240 mpirun -np 12 lmp_g++ -k on t 20 -sf kk -in in.lj # 12 MPI tasks on 1 Phi, 12*20 = 240
mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis</p> mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis
</pre></div>
</div>
<p><strong>Required hardware/software:</strong></p> <p><strong>Required hardware/software:</strong></p>
<p>Kokkos support within LAMMPS must be built with a C++11 compatible <p>Kokkos support within LAMMPS must be built with a C++11 compatible
compiler. If using gcc, version 4.8.1 or later is required.</p> compiler. If using gcc, version 4.8.1 or later is required.</p>

View File

@ -61,16 +61,13 @@ use a C++11 compatible compiler
make yes-kokkos make yes-kokkos
make mpi KOKKOS_DEVICES=OpenMP # build with the KOKKOS package make mpi KOKKOS_DEVICES=OpenMP # build with the KOKKOS package
make kokkos_omp # or Makefile.kokkos_omp already has variable set make kokkos_omp # or Makefile.kokkos_omp already has variable set
Make.py -v -p kokkos -kokkos omp -o mpi -a file mpi # or one-line build via Make.py Make.py -v -p kokkos -kokkos omp -o mpi -a file mpi # or one-line build via Make.py :pre
mpirun -np 16 lmp_mpi -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no threads mpirun -np 16 lmp_mpi -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no threads
mpirun -np 2 -ppn 1 lmp_mpi -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task mpirun -np 2 -ppn 1 lmp_mpi -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task
mpirun -np 2 lmp_mpi -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task mpirun -np 2 lmp_mpi -k on t 8 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 8 threads/task
mpirun -np 32 -ppn 4 lmp_mpi -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre mpirun -np 32 -ppn 4 lmp_mpi -k on t 4 -sf kk -in in.lj # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre
specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support specify variables and settings in your Makefile.machine that enable OpenMP, GPU, or Phi support
include the KOKKOS package and build LAMMPS include the KOKKOS package and build LAMMPS
enable the KOKKOS package and its hardware options via the "-k on" command-line switch use KOKKOS styles in your input script :ul enable the KOKKOS package and its hardware options via the "-k on" command-line switch use KOKKOS styles in your input script :ul
@ -86,7 +83,7 @@ KOKKOS_DEVICES = Cuda, OpenMP
KOKKOS_ARCH = Kepler35 KOKKOS_ARCH = Kepler35
make yes-kokkos make yes-kokkos
make machine make machine
Make.py -p kokkos -kokkos cuda arch=31 -o kokkos_cuda -a file kokkos_cuda Make.py -p kokkos -kokkos cuda arch=31 -o kokkos_cuda -a file kokkos_cuda :pre
mpirun -np 1 lmp_cuda -k on t 6 -sf kk -in in.lj # one MPI task, 6 threads on CPU mpirun -np 1 lmp_cuda -k on t 6 -sf kk -in in.lj # one MPI task, 6 threads on CPU
mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj # ditto on 4 nodes :pre mpirun -np 4 -ppn 1 lmp_cuda -k on t 6 -sf kk -in in.lj # ditto on 4 nodes :pre
@ -108,8 +105,7 @@ host=MIC, Intel Phi with 61 cores (240 threads/phi via 4x hardware threading):
mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240 mpirun -np 1 lmp_g++ -k on t 240 -sf kk -in in.lj # 1 MPI task on 1 Phi, 1*240 = 240
mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240 mpirun -np 30 lmp_g++ -k on t 8 -sf kk -in in.lj # 30 MPI tasks on 1 Phi, 30*8 = 240
mpirun -np 12 lmp_g++ -k on t 20 -sf kk -in in.lj # 12 MPI tasks on 1 Phi, 12*20 = 240 mpirun -np 12 lmp_g++ -k on t 20 -sf kk -in in.lj # 12 MPI tasks on 1 Phi, 12*20 = 240
mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis mpirun -np 96 -ppn 12 lmp_g++ -k on t 20 -sf kk -in in.lj # ditto on 8 Phis :pre
[Required hardware/software:] [Required hardware/software:]

View File

@ -164,9 +164,9 @@ pair_coeff * *
<div class="section" id="description"> <div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>Styles <em>brownian</em> and <em>brownain/poly</em> compute Brownian forces and <p>Styles <em>brownian</em> and <em>brownain/poly</em> compute Brownian forces and
torques on finite-size particles. The former requires monodisperse torques on finite-size spherical particles. The former requires
spherical particles; the latter allows for polydisperse spherical monodisperse spherical particles; the latter allows for polydisperse
particles.</p> spherical particles.</p>
<p>These pair styles are designed to be used with either the <a class="reference internal" href="pair_lubricate.html"><em>pair_style lubricate</em></a> or <a class="reference internal" href="pair_lubricateU.html"><em>pair_style lubricateU</em></a> commands to provide thermostatting <p>These pair styles are designed to be used with either the <a class="reference internal" href="pair_lubricate.html"><em>pair_style lubricate</em></a> or <a class="reference internal" href="pair_lubricateU.html"><em>pair_style lubricateU</em></a> commands to provide thermostatting
when dissipative lubrication forces are acting. Thus the parameters when dissipative lubrication forces are acting. Thus the parameters
<em>mu</em>, <em>flaglog</em>, <em>flagfld</em>, <em>cutinner</em>, and <em>cutoff</em> should be <em>mu</em>, <em>flaglog</em>, <em>flagfld</em>, <em>cutinner</em>, and <em>cutoff</em> should be
@ -226,8 +226,8 @@ to be specified in an input script that reads a restart file.</p>
<hr class="docutils" /> <hr class="docutils" />
<div class="section" id="restrictions"> <div class="section" id="restrictions">
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline"></a></h2> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline"></a></h2>
<p>These styles are part of the FLD package. They are only enabled if <p>These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p> if LAMMPS was built with that package. See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p>
<p>Only spherical monodisperse particles are allowed for pair_style <p>Only spherical monodisperse particles are allowed for pair_style
brownian.</p> brownian.</p>
<p>Only spherical particles are allowed for pair_style brownian/poly.</p> <p>Only spherical particles are allowed for pair_style brownian/poly.</p>

View File

@ -35,9 +35,9 @@ pair_coeff * * :pre
[Description:] [Description:]
Styles {brownian} and {brownain/poly} compute Brownian forces and Styles {brownian} and {brownain/poly} compute Brownian forces and
torques on finite-size particles. The former requires monodisperse torques on finite-size spherical particles. The former requires
spherical particles; the latter allows for polydisperse spherical monodisperse spherical particles; the latter allows for polydisperse
particles. spherical particles.
These pair styles are designed to be used with either the "pair_style These pair styles are designed to be used with either the "pair_style
lubricate"_pair_lubricate.html or "pair_style lubricate"_pair_lubricate.html or "pair_style
@ -121,8 +121,8 @@ This pair style can only be used via the {pair} keyword of the
[Restrictions:] [Restrictions:]
These styles are part of the FLD package. They are only enabled if These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the "Making if LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#2_3 section for more info. LAMMPS"_Section_start.html#2_3 section for more info.
Only spherical monodisperse particles are allowed for pair_style Only spherical monodisperse particles are allowed for pair_style

View File

@ -166,8 +166,8 @@ fix 1 all adapt 1 pair lubricate mu * * v_mu
<div class="section" id="description"> <div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>Styles <em>lubricate</em> and <em>lubricate/poly</em> compute hydrodynamic <p>Styles <em>lubricate</em> and <em>lubricate/poly</em> compute hydrodynamic
interactions between mono-disperse spherical particles in a pairwise interactions between mono-disperse finite-size spherical particles in
fashion. The interactions have 2 components. The first is a pairwise fashion. The interactions have 2 components. The first is
Ball-Melrose lubrication terms via the formulas in <a class="reference internal" href="pair_lubricateU.html#ball"><span>(Ball and Melrose)</span></a></p> Ball-Melrose lubrication terms via the formulas in <a class="reference internal" href="pair_lubricateU.html#ball"><span>(Ball and Melrose)</span></a></p>
<img alt="_images/pair_lubricate.jpg" class="align-center" src="_images/pair_lubricate.jpg" /> <img alt="_images/pair_lubricate.jpg" class="align-center" src="_images/pair_lubricate.jpg" />
<p>which represents the dissipation W between two nearby particles due to <p>which represents the dissipation W between two nearby particles due to
@ -285,8 +285,8 @@ to be specified in an input script that reads a restart file.</p>
<hr class="docutils" /> <hr class="docutils" />
<div class="section" id="restrictions"> <div class="section" id="restrictions">
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline"></a></h2> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline"></a></h2>
<p>These styles are part of the FLD package. They are only enabled if <p>These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p> if LAMMPS was built with that package. See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p>
<p>Only spherical monodisperse particles are allowed for pair_style <p>Only spherical monodisperse particles are allowed for pair_style
lubricate.</p> lubricate.</p>
<p>Only spherical particles are allowed for pair_style lubricate/poly.</p> <p>Only spherical particles are allowed for pair_style lubricate/poly.</p>

View File

@ -38,8 +38,8 @@ fix 1 all adapt 1 pair lubricate mu * * v_mu :pre
[Description:] [Description:]
Styles {lubricate} and {lubricate/poly} compute hydrodynamic Styles {lubricate} and {lubricate/poly} compute hydrodynamic
interactions between mono-disperse spherical particles in a pairwise interactions between mono-disperse finite-size spherical particles in
fashion. The interactions have 2 components. The first is a pairwise fashion. The interactions have 2 components. The first is
Ball-Melrose lubrication terms via the formulas in "(Ball and Ball-Melrose lubrication terms via the formulas in "(Ball and
Melrose)"_#Ball Melrose)"_#Ball
@ -190,8 +190,8 @@ This pair style can only be used via the {pair} keyword of the
[Restrictions:] [Restrictions:]
These styles are part of the FLD package. They are only enabled if These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the "Making if LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#2_3 section for more info. LAMMPS"_Section_start.html#2_3 section for more info.
Only spherical monodisperse particles are allowed for pair_style Only spherical monodisperse particles are allowed for pair_style

View File

@ -154,8 +154,9 @@ pair_coeff * *
<div class="section" id="description"> <div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2> <h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>Styles <em>lubricateU</em> and <em>lubricateU/poly</em> compute velocities and <p>Styles <em>lubricateU</em> and <em>lubricateU/poly</em> compute velocities and
angular velocities such that the hydrodynamic interaction balances the angular velocities for finite-size spherical particles such that the
force and torque due to all other types of interactions.</p> hydrodynamic interaction balances the force and torque due to all
other types of interactions.</p>
<p>The interactions have 2 components. The first is <p>The interactions have 2 components. The first is
Ball-Melrose lubrication terms via the formulas in <a class="reference internal" href="#ball"><span>(Ball and Melrose)</span></a></p> Ball-Melrose lubrication terms via the formulas in <a class="reference internal" href="#ball"><span>(Ball and Melrose)</span></a></p>
<img alt="_images/pair_lubricate.jpg" class="align-center" src="_images/pair_lubricate.jpg" /> <img alt="_images/pair_lubricate.jpg" class="align-center" src="_images/pair_lubricate.jpg" />
@ -272,8 +273,8 @@ to be specified in an input script that reads a restart file.</p>
<hr class="docutils" /> <hr class="docutils" />
<div class="section" id="restrictions"> <div class="section" id="restrictions">
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline"></a></h2> <h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline"></a></h2>
<p>These styles are part of the FLD package. They are only enabled if <p>These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p> if LAMMPS was built with that package. See the <span class="xref std std-ref">Making LAMMPS</span> section for more info.</p>
<p>Currently, these pair styles assume that all other types of <p>Currently, these pair styles assume that all other types of
forces/torques on the particles have been already been computed when forces/torques on the particles have been already been computed when
it is invoked. This requires this style to be defined as the last of it is invoked. This requires this style to be defined as the last of

View File

@ -31,8 +31,9 @@ pair_coeff * * :pre
[Description:] [Description:]
Styles {lubricateU} and {lubricateU/poly} compute velocities and Styles {lubricateU} and {lubricateU/poly} compute velocities and
angular velocities such that the hydrodynamic interaction balances the angular velocities for finite-size spherical particles such that the
force and torque due to all other types of interactions. hydrodynamic interaction balances the force and torque due to all
other types of interactions.
The interactions have 2 components. The first is The interactions have 2 components. The first is
Ball-Melrose lubrication terms via the formulas in "(Ball and Ball-Melrose lubrication terms via the formulas in "(Ball and
@ -177,8 +178,8 @@ This pair style can only be used via the {pair} keyword of the
[Restrictions:] [Restrictions:]
These styles are part of the FLD package. They are only enabled if These styles are part of the COLLOID package. They are only enabled
LAMMPS was built with that package. See the "Making if LAMMPS was built with that package. See the "Making
LAMMPS"_Section_start.html#2_3 section for more info. LAMMPS"_Section_start.html#2_3 section for more info.
Currently, these pair styles assume that all other types of Currently, these pair styles assume that all other types of

View File

@ -146,7 +146,9 @@
<div class="highlight-python"><div class="highlight"><pre>pair_style style <div class="highlight-python"><div class="highlight"><pre>pair_style style
</pre></div> </pre></div>
</div> </div>
<p>style = <em>peri/pmb</em> or <em>peri/lps</em> or <em>peri/ves</em> or <em>peri/eps</em>:ul</p> <ul class="simple">
<li>style = <em>peri/pmb</em> or <em>peri/lps</em> or <em>peri/ves</em> or <em>peri/eps</em></li>
</ul>
</div> </div>
<div class="section" id="examples"> <div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2> <h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2>

File diff suppressed because one or more lines are too long