lammps/doc/html/rerun.html

367 lines
19 KiB
HTML

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>rerun command &mdash; LAMMPS documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
<link rel="top" title="LAMMPS documentation" href="index.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
<a href="Manual.html" class="icon icon-home"> LAMMPS
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance &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_modify.html">10. Modifying &amp; extending LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="Manual.html">LAMMPS</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="Manual.html">Docs</a> &raquo;</li>
<li>rerun command</li>
<li class="wy-breadcrumbs-aside">
<a href="http://lammps.sandia.gov">Website</a>
<a href="Section_commands.html#comm">Commands</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="rerun-command">
<span id="index-0"></span><h1>rerun command</h1>
<div class="section" id="syntax">
<h2>Syntax</h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">rerun</span> <span class="n">file1</span> <span class="n">file2</span> <span class="o">...</span> <span class="n">keyword</span> <span class="n">args</span> <span class="o">...</span>
</pre></div>
</div>
<ul class="simple">
<li>file1,file2,... = dump file(s) to read</li>
<li>one or more keywords may be appended, keyword <em>dump</em> must appear and be last</li>
</ul>
<pre class="literal-block">
keyword = <em>first</em> or <em>last</em> or <em>every</em> or <em>skip</em> or <em>start</em> or <em>stop</em> or <em>dump</em>
<em>first</em> args = Nfirts
Nfirst = dump timestep to start on
<em>last</em> args = Nlast
Nlast = dumptimestep to stop on
<em>every</em> args = Nevery
Nevery = read snapshots matching every this many timesteps
<em>skip</em> args = Nskip
Nskip = read one out of every Nskip snapshots
<em>start</em> args = Nstart
Nstart = timestep on which pseudo run will start
<em>stop</em> args = Nstop
Nstop = timestep to which pseudo run will end
<em>dump</em> args = same as <a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a> command starting with its field arguments
</pre>
</div>
<div class="section" id="examples">
<h2>Examples</h2>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">rerun</span> <span class="n">dump</span><span class="o">.</span><span class="n">file</span> <span class="n">dump</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span> <span class="n">vx</span> <span class="n">vy</span> <span class="n">vz</span>
<span class="n">rerun</span> <span class="n">dump1</span><span class="o">.</span><span class="n">txt</span> <span class="n">dump2</span><span class="o">.</span><span class="n">txt</span> <span class="n">first</span> <span class="mi">10000</span> <span class="n">every</span> <span class="mi">1000</span> <span class="n">dump</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span>
<span class="n">rerun</span> <span class="n">dump</span><span class="o">.</span><span class="n">vels</span> <span class="n">dump</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span> <span class="n">vx</span> <span class="n">vy</span> <span class="n">vz</span> <span class="n">box</span> <span class="n">yes</span> <span class="nb">format</span> <span class="n">molfile</span> <span class="n">lammpstrj</span>
<span class="n">rerun</span> <span class="n">dump</span><span class="o">.</span><span class="n">dcd</span> <span class="n">dump</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span> <span class="n">box</span> <span class="n">no</span> <span class="nb">format</span> <span class="n">molfile</span> <span class="n">dcd</span>
<span class="n">rerun</span> <span class="o">../</span><span class="n">run7</span><span class="o">/</span><span class="n">dump</span><span class="o">.</span><span class="n">file</span><span class="o">.</span><span class="n">gz</span> <span class="n">skip</span> <span class="mi">2</span> <span class="n">dump</span> <span class="n">x</span> <span class="n">y</span> <span class="n">z</span> <span class="n">box</span> <span class="n">yes</span>
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description</h2>
<p>Perform a psuedo simulation run where atom information is read one
snapshot at a time from a dump file(s), and energies and forces are
computed on the shapshot to produce thermodynamic or other output.</p>
<p>This can be useful in the following kinds of scenarios, after an
initial simulation produced the dump file:</p>
<ul class="simple">
<li>Compute the energy and forces of snaphots using a different potential.</li>
<li>Calculate one or more diagnostic quantities on the snapshots that
weren&#8217;t computed in the initial run. These can also be computed with
settings not used in the initial run, e.g. computing an RDF via the
<span class="xref doc">compute rdf</span> command with a longer cutoff than was
used initially.</li>
<li>Calculate the portion of per-atom forces resulting from a subset of
the potential. E.g. compute only Coulombic forces. This can be done
by only defining only a Coulombic pair style in the rerun script.
Doing this in the original script would result in different (bad)
dynamics.</li>
</ul>
<p>Conceptually, using the rerun command is like running an input script
that has a loop in it (see the <a class="reference internal" href="next.html"><span class="doc">next</span></a> and <a class="reference internal" href="jump.html"><span class="doc">jump</span></a>
commands). Each iteration of the loop reads one snapshot from the
dump file via the <a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a> command, sets the
timestep to the appropriate value, and then invokes a <a class="reference internal" href="run.html"><span class="doc">run</span></a>
command for zero timesteps to simply compute energy and forces, and
any other <a class="reference internal" href="thermo_style.html"><span class="doc">thermodynamic output</span></a> or diagnostic info
you have defined. This computation also invokes any fixes you have
defined that apply constraints to the system, such as <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> or <a class="reference internal" href="fix_indent.html"><span class="doc">fix indent</span></a>.</p>
<p>Note that a simulation box must already be defined before using the
rerun command. This can be done by the <a class="reference internal" href="create_box.html"><span class="doc">create_box</span></a>,
<a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a>, or <a class="reference internal" href="read_restart.html"><span class="doc">read_restart</span></a>
commands.</p>
<p>Also note that reading per-atom information from dump snapshots is
limited to the atom coordinates, velocities and image flags as
explained in the <a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a> command. Other atom
properties, which may be necessary to compute energies and forces,
such as atom charge, or bond topology information for a molecular
system, are not read from (or even contained in) dump files. Thus
this auxiliary information should be defined in the usual way, e.g. in
a data file read in by a <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command, before
using the rerun command.</p>
<hr class="docutils" />
<p>If more than one dump file is specified, the dump files are read one
after the other. It is assumed that snapshot timesteps will be in
ascending order. If a snapshot is encountered that is not in
ascending order, it will cause the rerun command to complete.</p>
<p>The <em>first</em>, <em>last</em>, <em>every</em>, <em>skip</em> keywords determine which
snapshots are read from the dump file(s). Snapshots are skipped until
they have a timestamp &gt;= <em>Nfirst</em>. When a snapshot with a timestamp &gt;
<em>Nlast</em> is encountered, the rerun command finishes. Note below that
the defaults for <em>first</em> and <em>last</em> are to read all snapshots. If the
<em>every</em> keyword is set to a value &gt; 0, then only snapshots with
timestamps that are a multiple of <em>Nevery</em> are read (the first
snapshot is always read). If <em>Nevery</em> = 0, then this criterion is
ignored, i.e. every snapshot is read that meets the other criteria.
If the <em>skip</em> keyword is used, then after the first snapshot is read,
every Nth snapshot is read, where N = <em>Nskip</em>. E.g. if <em>Nskip</em> = 3,
then only 1 out of every 3 snapshots is read, assuming the snapshot
timestamp is also consistent with the other criteria.</p>
<p>The <em>start</em> and <em>stop</em> keywords do not affect which snapshots are read
from the dump file(s). Rather, they have the same meaning that they
do for the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command. They only need to be defined if
(a) you are using a <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> command that changes some value
over time, and (b) you want the reference point for elapsed time (from
start to stop) to be different than the <em>first</em> and <em>last</em> settings.
See the doc page for individual fixes to see which ones can be used
with the <em>start/stop</em> keywords. Note that if you define neither of
the <em>start</em>/<em>stop</em> or <em>first</em>/<em>last</em> keywords, then LAMMPS treats the
pseudo run as going from 0 to a huge value (effectively infinity).
This means that any quantity that a fix scales as a fraction of
elapsed time in the run, will essentially remain at its intiial value.
Also note that an error will occur if you read a snapshot from the
dump file with a timestep value larger than the <em>stop</em> setting you
have specified.</p>
<p>The <em>dump</em> keyword is required and must be the last keyword specified.
Its arguments are passed internally to the <a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a>
command. The first argument following the <em>dump</em> keyword should be
the <em>field1</em> argument of the <a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a> command. See
the <a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a> doc page for details on the various
options it allows for extracting information from the dump file
snapshots, and for using that information to alter the LAMMPS
simulation.</p>
<hr class="docutils" />
<p>In general, a LAMMPS input script that uses a rerun command can
include and perform all the usual operations of an input script that
uses the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command. There are a few exceptions and
points to consider, as discussed here.</p>
<p>Fixes that perform time integration, such as <a class="reference internal" href="fix_nve.html"><span class="doc">fix nve</span></a> or
<a class="reference internal" href="fix_nh.html"><span class="doc">fix npt</span></a> are not invoked, since no time integration is
performed. Fixes that perturb or constrain the forces on atoms will
be invoked, just as they would during a normal run. Examples are <a class="reference internal" href="fix_indent.html"><span class="doc">fix indent</span></a> and <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>. So you
should think carefully as to whether that makes sense for the manner
in which you are reprocessing the dump snapshots.</p>
<p>If you only want the rerun script to perform analyses that do not
involve pair interactions, such as use compute msd to calculated
displacements over time, you do not need to define a <a class="reference internal" href="pair_style.html"><span class="doc">pair style</span></a>, which may also mean neighbor lists will not
need to be calculated which saves time. The <a class="reference internal" href="comm_modify.html"><span class="doc">comm_modify cutoff</span></a> command can also be used to insure ghost
atoms are acquired from far enough away for operations like bond and
angle evaluations, if no pair style is being used.</p>
<p>Every time a snapshot is read, the timestep for the simulation is
reset, as if the <a class="reference internal" href="reset_timestep.html"><span class="doc">reset_timestep</span></a> command were
used. This command has some restrictions as to what fixes can be
defined. See its doc page for details. For example, the <a class="reference internal" href="fix_deposit.html"><span class="doc">fix deposit</span></a> and <a class="reference internal" href="fix_dt_reset.html"><span class="doc">fix dt/reset</span></a> fixes
are in this category. They also make no sense to use with a rerun
command.</p>
<p>If time-averaging fixes like <a class="reference internal" href="fix_ave_time.html"><span class="doc">fix ave/time</span></a> are
used, they are invoked on timesteps that are a function of their
<em>Nevery</em>, <em>Nrepeat</em>, and <em>Nfreq</em> settings. As an example, see the
<a class="reference internal" href="fix_ave_time.html"><span class="doc">fix ave/time</span></a> doc page for details. You must
insure those settings are consistent with the snapshot timestamps that
are read from the dump file(s). If an averaging fix is not invoked on
a timestep it expects to be, LAMMPS will flag an error.</p>
<p>The various forms of LAMMPS output, as defined by the
<a class="reference internal" href="thermo_style.html"><span class="doc">thermo_style</span></a>, <a class="reference internal" href="thermo.html"><span class="doc">thermo</span></a>,
<a class="reference internal" href="dump.html"><span class="doc">dump</span></a>, and <a class="reference internal" href="restart.html"><span class="doc">restart</span></a> commands occur on
specific timesteps. If successvive dump snapshots skip those
timesteps, then no output will be produced. E.g. if you request
thermodynamic output every 100 steps, but the dump file snapshots are
every 1000 steps, then you will only see thermodynamic output every
1000 steps.</p>
</div>
<hr class="docutils" />
<div class="section" id="restrictions">
<h2>Restrictions</h2>
<p>To read gzipped dump files, you must compile LAMMPS with the
-DLAMMPS_GZIP option - see the <a class="reference internal" href="Section_start.html#start-2"><span class="std std-ref">Making LAMMPS</span></a> section of the documentation.</p>
</div>
<div class="section" id="related-commands">
<h2>Related commands</h2>
<p><a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a></p>
</div>
<div class="section" id="default">
<h2>Default</h2>
<p>The option defaults are first = 0, last = a huge value (effectively
infinity), start = same as first, stop = same as last, every = 0, skip
= 1;</p>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2013 Sandia Corporation.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>