Page MenuHomec4science

read_restart.html
No OneTemporary

File Metadata

Created
Thu, Dec 26, 20:44

read_restart.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>read_restart 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>read_restart 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="read-restart-command">
<span id="index-0"></span><h1>read_restart command</h1>
<div class="section" id="syntax">
<h2>Syntax</h2>
<pre class="literal-block">
read_restart file flag
</pre>
<ul class="simple">
<li>file = name of binary restart file to read in</li>
<li>flag = remap (optional)</li>
</ul>
</div>
<div class="section" id="examples">
<h2>Examples</h2>
<pre class="literal-block">
read_restart save.10000
read_restart save.10000 remap
read_restart restart.*
read_restart restart.*.mpiio
read_restart poly.*.% remap
</pre>
</div>
<div class="section" id="description">
<h2>Description</h2>
<p>Read in a previously saved system configuration from a restart file.
This allows continuation of a previous run. Details about what
information is stored (and not stored) in a restart file is given
below. Basically this operation will re-create the simulation box
with all its atoms and their attributes as well as some related global
settings, at the point in time it was written to the restart file by a
previous simluation. The simulation box will be partitioned into a
regular 3d grid of rectangular bricks, one per processor, based on the
number of processors in the current simulation and the settings of the
<a class="reference internal" href="processors.html"><span class="doc">processors</span></a> command. The partitioning can later be
changed by the <a class="reference internal" href="balance.html"><span class="doc">balance</span></a> or <a class="reference internal" href="fix_balance.html"><span class="doc">fix balance</span></a> commands.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Normally, restart files are written by the
<a class="reference internal" href="restart.html"><span class="doc">restart</span></a> or <a class="reference internal" href="write_restart.html"><span class="doc">write_restart</span></a> commands
so that all atoms in the restart file are inside the simulation box.
If this is not the case, the read_restart command will print an error
that atoms were &#8220;lost&#8221; when the file is read. This error should be
reported to the LAMMPS developers so the invalid writing of the
restart file can be fixed. If you still wish to use the restart file,
the optional <em>remap</em> flag can be appended to the read_restart command.
This should avoid the error, by explicitly remapping each atom back
into the simulation box, updating image flags for the atom
appropriately.</p>
</div>
<p>Restart files are saved in binary format to enable exact restarts,
meaning that the trajectories of a restarted run will precisely match
those produced by the original run had it continued on.</p>
<p>Several things can prevent exact restarts due to round-off effects, in
which case the trajectories in the 2 runs will slowly diverge. These
include running on a different number of processors or changing
certain settings such as those set by the <a class="reference internal" href="newton.html"><span class="doc">newton</span></a> or
<a class="reference internal" href="processors.html"><span class="doc">processors</span></a> commands. LAMMPS will issue a warning in
these cases.</p>
<p>Certain fixes will not restart exactly, though they should provide
statistically similar results. These include <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> and <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>.</p>
<p>Certain pair styles will not restart exactly, though they should
provide statistically similar results. This is because the forces
they compute depend on atom velocities, which are used at half-step
values every timestep when forces are computed. When a run restarts,
forces are initially evaluated with a full-step velocity, which is
different than if the run had continued. These pair styles include
<a class="reference internal" href="pair_gran.html"><span class="doc">granular pair styles</span></a>, <a class="reference internal" href="pair_dpd.html"><span class="doc">pair dpd</span></a>, and
<a class="reference internal" href="pair_lubricate.html"><span class="doc">pair lubricate</span></a>.</p>
<p>If a restarted run is immediately different than the run which
produced the restart file, it could be a LAMMPS bug, so consider
<a class="reference internal" href="Section_errors.html#err-2"><span class="std std-ref">reporting it</span></a> if you think the behavior is
wrong.</p>
<p>Because restart files are binary, they may not be portable to other
machines. In this case, you can use the <a class="reference internal" href="Section_start.html#start-7"><span class="std std-ref">-restart command-line switch</span></a> to convert a restart file to a data
file.</p>
<p>Similar to how restart files are written (see the
<a class="reference internal" href="write_restart.html"><span class="doc">write_restart</span></a> and <a class="reference internal" href="restart.html"><span class="doc">restart</span></a>
commands), the restart filename can contain two wild-card characters.
If a &#8220;*&#8221; appears in the filename, the directory is searched for all
filenames that match the pattern where &#8220;*&#8221; is replaced with a timestep
value. The file with the largest timestep value is read in. Thus,
this effectively means, read the latest restart file. It&#8217;s useful if
you want your script to continue a run from where it left off. See
the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command and its &#8220;upto&#8221; option for how to specify
the run command so it doesn&#8217;t need to be changed either.</p>
<p>If a &#8220;%&#8221; character appears in the restart filename, LAMMPS expects a
set of multiple files to exist. The <a class="reference internal" href="restart.html"><span class="doc">restart</span></a> and
<a class="reference internal" href="write_restart.html"><span class="doc">write_restart</span></a> commands explain how such sets are
created. Read_restart will first read a filename where &#8220;%&#8221; is
replaced by &#8220;base&#8221;. This file tells LAMMPS how many processors
created the set and how many files are in it. Read_restart then reads
the additional files. For example, if the restart file was specified
as save.% when it was written, then read_restart reads the files
save.base, save.0, save.1, ... save.P-1, where P is the number of
processors that created the restart file.</p>
<p>Note that P could be the total number of processors in the previous
simulation, or some subset of those processors, if the <em>fileper</em> or
<em>nfile</em> options were used when the restart file was written; see the
<a class="reference internal" href="restart.html"><span class="doc">restart</span></a> and <a class="reference internal" href="write_restart.html"><span class="doc">write_restart</span></a> commands
for details. The processors in the current LAMMPS simulation share
the work of reading these files; each reads a roughly equal subset of
the files. The number of processors which created the set can be
different the number of processors in the current LAMMPS simulation.
This can be a fast mode of input on parallel machines that support
parallel I/O.</p>
<p>A restart file can also be read in parallel as one large binary file
via the MPI-IO library, assuming it was also written with MPI-IO.
MPI-IO is part of the MPI standard for versions 2.0 and above. Using
MPI-IO requires two steps. First, build LAMMPS with its MPIIO package
installed, e.g.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">yes</span><span class="o">-</span><span class="n">mpiio</span> <span class="c1"># installs the MPIIO package</span>
<span class="n">make</span> <span class="n">g</span><span class="o">++</span> <span class="c1"># build LAMMPS for your platform</span>
</pre></div>
</div>
<p>Second, use a restart filename which contains &#8221;.mpiio&#8221;. Note that it
does not have to end in &#8221;.mpiio&#8221;, just contain those characters.
Unlike MPI-IO dump files, a particular restart file must be both
written and read using MPI-IO.</p>
<hr class="docutils" />
<p>Here is the list of information included in a restart file, which
means these quantities do not need to be re-specified in the input
script that reads the restart file, though you can redefine many of
these settings after the restart file is read.</p>
<ul class="simple">
<li><a class="reference internal" href="units.html"><span class="doc">units</span></a></li>
<li><a class="reference internal" href="newton.html"><span class="doc">newton bond</span></a> (see discussion of newton command below)</li>
<li><a class="reference internal" href="atom_style.html"><span class="doc">atom style</span></a> and <a class="reference internal" href="atom_modify.html"><span class="doc">atom_modify</span></a> settings id, map, sort</li>
<li><a class="reference internal" href="comm_style.html"><span class="doc">comm style</span></a> and <a class="reference external" href="comm_modify">comm_modify</a> settings mode, cutoff, vel</li>
<li><a class="reference internal" href="timestep.html"><span class="doc">timestep</span></a></li>
<li>simulation box size and shape and <a class="reference internal" href="boundary.html"><span class="doc">boundary</span></a> settings</li>
<li>atom <a class="reference internal" href="group.html"><span class="doc">group</span></a> definitions</li>
<li>per-type atom settings such as <a class="reference external" href="mass.thml">mass</a></li>
<li>per-atom attributes including their group assignments and molecular topology attributes (bonds, angles, etc)</li>
<li>force field styles (<a class="reference internal" href="pair_style.html"><span class="doc">pair</span></a>, <a class="reference internal" href="bond_style.html"><span class="doc">bond</span></a>, <a class="reference internal" href="angle_style.html"><span class="doc">angle</span></a>, etc)</li>
<li>force field coefficients (<a class="reference internal" href="pair_coeff.html"><span class="doc">pair</span></a>, <a class="reference internal" href="bond_coeff.html"><span class="doc">bond</span></a>, <a class="reference internal" href="angle_coeff.html"><span class="doc">angle</span></a>, etc) in some cases (see below)</li>
<li><a class="reference internal" href="pair_modify.html"><span class="doc">pair_modify</span></a> settings, except the compute option</li>
<li><a class="reference internal" href="special_bonds.html"><span class="doc">special_bonds</span></a> settings</li>
</ul>
<p>Here is a list of information not stored in a restart file, which
means you must re-issue these commands in your input script, after
reading the restart file.</p>
<ul class="simple">
<li><a class="reference internal" href="newton.html"><span class="doc">newton pair</span></a> (see discussion of newton command below)</li>
<li><a class="reference internal" href="fix.html"><span class="doc">fix</span></a> commands (see below)</li>
<li><a class="reference internal" href="compute.html"><span class="doc">compute</span></a> commands (see below)</li>
<li><a class="reference internal" href="variable.html"><span class="doc">variable</span></a> commands</li>
<li><a class="reference internal" href="region.html"><span class="doc">region</span></a> commands</li>
<li><a class="reference internal" href="neighbor.html"><span class="doc">neighbor list</span></a> criteria including <a class="reference internal" href="neigh_modify.html"><span class="doc">neigh_modify</span></a> settings</li>
<li><a class="reference internal" href="kspace_style.html"><span class="doc">kspace_style</span></a> and <a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify</span></a> settings</li>
<li>info for <a class="reference internal" href="thermo_style.html"><span class="doc">thermodynamic</span></a>, <a class="reference internal" href="dump.html"><span class="doc">dump</span></a>, or <a class="reference internal" href="restart.html"><span class="doc">restart</span></a> output</li>
</ul>
<p>The <a class="reference internal" href="newton.html"><span class="doc">newton</span></a> command has two settings, one for pairwise
interactions, the other for bonded. Both settings are stored in the
restart file. For the bond setting, the value in the file will
overwrite the current value (at the time the read_restart command is
issued) and warn if the two values are not the same and the current
value is not the default. For the pair setting, the value in the file
will not overwrite the current value (so that you can override the
previous run&#8217;s value), but a warning is issued if the two values are
not the same and the current value is not the default.</p>
<p>Note that some force field styles (pair, bond, angle, etc) do not
store their coefficient info in restart files. Typically these are
many-body or tabulated potentials which read their parameters from
separate files. In these cases you will need to re-specify the &#8220;pair
<a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a>, <a class="reference internal" href="bond_coeff.html"><span class="doc">bond_coeff</span></a>, etc
commands in your restart input script. The doc pages for individual
force field styles mention if this is the case. This is also true of
<a class="reference internal" href="pair_hybrid.html"><span class="doc">pair_style hybrid</span></a> (bond hybrid, angle hybrid, etc)
commands; they do not store coefficient info.</p>
<p>As indicated in the above list, the <a class="reference internal" href="fix.html"><span class="doc">fixes</span></a> used for a
simulation are not stored in the restart file. This means the new
input script should specify all fixes it will use. However, note that
some fixes store an internal &#8220;state&#8221; which is written to the restart
file. This allows the fix to continue on with its calculations in a
restarted simulation. To re-enable such a fix, the fix command in the
new input script must use the same fix-ID and group-ID as was used in
the input script that wrote the restart file. If a match is found,
LAMMPS prints a message indicating that the fix is being re-enabled.
If no match is found before the first run or minimization is performed
by the new script, the &#8220;state&#8221; information for the saved fix is
discarded. See the doc pages for individual fixes for info on which
ones can be restarted in this manner.</p>
<p>Likewise, the <a class="reference internal" href="fix.html"><span class="doc">computes</span></a> used for a simulation are not stored
in the restart file. This means the new input script should specify
all computes it will use. However, some computes create a fix
internally to store &#8220;state&#8221; information that persists from timestep to
timestep. An example is the <a class="reference internal" href="compute_msd.html"><span class="doc">compute msd</span></a> command
which uses a fix to store a reference coordinate for each atom, so
that a displacement can be calculated at any later time. If the
compute command in the new input script uses the same compute-ID and
group-ID as was used in the input script that wrote the restart file,
then it will create the same fix in the restarted run. This means the
re-created fix will be re-enabled with the stored state information as
described in the previous paragraph, so that the compute can continue
its calculations in a consistent manner.</p>
<p>Some pair styles, like the <a class="reference internal" href="pair_gran.html"><span class="doc">granular pair styles</span></a>, also
use a fix to store &#8220;state&#8221; information that persists from timestep to
timestep. In the case of granular potentials, it is contact
information between pairs of touching particles. This info will also
be re-enabled in the restart script, assuming you re-use the same
granular pair style.</p>
<p>LAMMPS allows bond interactions (angle, etc) to be turned off or
deleted in various ways, which can affect how their info is stored in
a restart file.</p>
<p>If bonds (angles, etc) have been turned off by the <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> or <a class="reference internal" href="delete_bonds.html"><span class="doc">delete_bonds</span></a> command,
their info will be written to a restart file as if they are turned on.
This means they will need to be turned off again in a new run after
the restart file is read.</p>
<p>Bonds that are broken (e.g. by a bond-breaking potential) are written
to the restart file as broken bonds with a type of 0. Thus these
bonds will still be broken when the restart file is read.</p>
<p>Bonds that have been broken by the <a class="reference internal" href="fix_bond_break.html"><span class="doc">fix bond/break</span></a> command have disappeared from the
system. No information about these bonds is written to the restart
file.</p>
</div>
<hr class="docutils" />
<div class="section" id="restrictions">
<h2>Restrictions</h2>
<p>To write and read restart files in parallel with MPI-IO, the MPIIO
package must be installed.</p>
</div>
<div class="section" id="related-commands">
<h2>Related commands</h2>
<p><a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a>, <a class="reference internal" href="read_dump.html"><span class="doc">read_dump</span></a>,
<a class="reference internal" href="write_restart.html"><span class="doc">write_restart</span></a>, <a class="reference internal" href="restart.html"><span class="doc">restart</span></a></p>
<p><strong>Default:</strong> none</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>

Event Timeline