Files
lammps/doc/html/Howto_restart.html
2025-01-13 14:55:48 +00:00

252 lines
18 KiB
HTML

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>8.1.1. Restart a simulation &mdash; LAMMPS documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/sphinx-design.min.css" type="text/css" />
<link rel="stylesheet" href="_static/css/lammps.css" type="text/css" />
<link rel="shortcut icon" href="_static/lammps.ico"/>
<link rel="canonical" href="https://docs.lammps.org/Howto_restart.html" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=5929fcd5"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/design-tabs.js?v=f930bc37"></script>
<script async="async" src="_static/mathjax/es5/tex-mml-chtml.js?v=cadf963e"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="8.1.2. Visualize LAMMPS snapshots" href="Howto_viz.html" />
<link rel="prev" title="8. Howto discussions" href="Howto.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="Manual.html">
<img src="_static/lammps-logo.png" class="logo" alt="Logo"/>
</a>
<div class="lammps_version">Version: <b>19 Nov 2024</b></div>
<div class="lammps_release">git info: </div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="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="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">User Guide</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="Intro.html">1. Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="Install.html">2. Install LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Build.html">3. Build LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Run_head.html">4. Run LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Commands.html">5. Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="Packages.html">6. Optional packages</a></li>
<li class="toctree-l1"><a class="reference internal" href="Speed.html">7. Accelerate performance</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="Howto.html">8. Howto discussions</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="Howto.html#general-howto">8.1. General howto</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">8.1.1. Restart a simulation</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_viz.html">8.1.2. Visualize LAMMPS snapshots</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_multiple.html">8.1.3. Run multiple simulations from one input script</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_replica.html">8.1.4. Multi-replica simulations</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_library.html">8.1.5. Library interface to LAMMPS</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_couple.html">8.1.6. Coupling LAMMPS to other codes</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_mdi.html">8.1.7. Using LAMMPS with the MDI library for code coupling</a></li>
<li class="toctree-l3"><a class="reference internal" href="Howto_broken_bonds.html">8.1.8. Broken Bonds</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#settings-howto">8.2. Settings howto</a></li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#analysis-howto">8.3. Analysis howto</a></li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#force-fields-howto">8.4. Force fields howto</a></li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#packages-howto">8.5. Packages howto</a></li>
<li class="toctree-l2"><a class="reference internal" href="Howto.html#tutorials-howto">8.6. Tutorials howto</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Examples.html">9. Example scripts</a></li>
<li class="toctree-l1"><a class="reference internal" href="Tools.html">10. Auxiliary tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="Errors.html">11. Errors</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Programmer Guide</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="Library.html">1. LAMMPS Library Interfaces</a></li>
<li class="toctree-l1"><a class="reference internal" href="Python_head.html">2. Use Python with LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Modify.html">3. Modifying &amp; extending LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Developer.html">4. Information for Developers</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Command Reference</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="commands_list.html">Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="fixes.html">Fix Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="computes.html">Compute Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="pairs.html">Pair Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="bonds.html">Bond Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="angles.html">Angle Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="dihedrals.html">Dihedral Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="impropers.html">Improper Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="dumps.html">Dump Styles</a></li>
<li class="toctree-l1"><a class="reference internal" href="fix_modify_atc_commands.html">fix_modify AtC commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="Bibliography.html">Bibliography</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<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 style-external-links">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="Manual.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="Howto.html"><span class="section-number">8. </span>Howto discussions</a></li>
<li class="breadcrumb-item active"><span class="section-number">8.1.1. </span>Restart a simulation</li>
<li class="wy-breadcrumbs-aside">
<a href="https://www.lammps.org"><img src="_static/lammps-logo.png" width="64" height="16" alt="LAMMPS Homepage"></a> | <a href="Commands_all.html">Commands</a>
</li>
</ul><div class="rst-breadcrumbs-buttons" role="navigation" aria-label="Sequential page navigation">
<a href="Howto.html" class="btn btn-neutral float-left" title="8. Howto discussions" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Howto_viz.html" class="btn btn-neutral float-right" title="8.1.2. Visualize LAMMPS snapshots" accesskey="n">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<p><span class="math notranslate nohighlight">\(\renewcommand{\AA}{\text{Å}}\)</span></p>
<section id="restart-a-simulation">
<h1><span class="section-number">8.1.1. </span>Restart a simulation<a class="headerlink" href="#restart-a-simulation" title="Link to this heading"></a></h1>
<p>There are 3 ways to continue a long LAMMPS simulation. Multiple
<a class="reference internal" href="run.html"><span class="doc">run</span></a> commands can be used in the same input script. Each
run will continue from where the previous run left off. Or binary
restart files can be saved to disk using the <a class="reference internal" href="restart.html"><span class="doc">restart</span></a>
command. At a later time, these binary files can be read via a
<a class="reference internal" href="read_restart.html"><span class="doc">read_restart</span></a> command in a new script. Or they can
be converted to text data files using the <a class="reference internal" href="Run_options.html"><span class="doc">-r command-line switch</span></a> and read by a <a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> command in a
new script.</p>
<p>Here we give examples of 2 scripts that read either a binary restart
file or a converted data file and then issue a new run command to
continue where the previous run left off. They illustrate what
settings must be made in the new script. Details are discussed in the
documentation for the <a class="reference internal" href="read_restart.html"><span class="doc">read_restart</span></a> and
<a class="reference internal" href="read_data.html"><span class="doc">read_data</span></a> commands.</p>
<p>Look at the <em>in.chain</em> input script provided in the <em>bench</em> directory
of the LAMMPS distribution to see the original script that these 2
scripts are based on. If that script had the line</p>
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">restart</span><span class="w"> </span><span class="m">50</span><span class="w"> </span><span class="n">tmp.restart</span>
</pre></div>
</div>
<p>added to it, it would produce two binary restart files (<code class="docutils literal notranslate"><span class="pre">tmp.restart.50</span></code>
and <code class="docutils literal notranslate"><span class="pre">tmp.restart.100</span></code>) as it ran.</p>
<p>This script could be used to read the first restart file and re-run the
last 50 timesteps:</p>
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">read_restart</span><span class="w"> </span><span class="n">tmp.restart.50</span>
<span class="k">neighbor</span><span class="w"> </span><span class="m">0.4</span><span class="w"> </span><span class="n">bin</span>
<span class="k">neigh_modify</span><span class="w"> </span><span class="n">every</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="n">delay</span><span class="w"> </span><span class="m">1</span>
<span class="k">fix </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">all</span><span class="w"> </span><span class="n">nve</span>
<span class="k">fix </span><span class="nv nv-Identifier">2</span><span class="w"> </span><span class="nv nv-Identifier">all</span><span class="w"> </span><span class="n">langevin</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="m">10.0</span><span class="w"> </span><span class="m">904297</span>
<span class="k">timestep</span><span class="w"> </span><span class="m">0.012</span>
<span class="k">run</span><span class="w"> </span><span class="m">50</span>
</pre></div>
</div>
<p>Note that the following commands do not need to be repeated because
their settings are included in the restart file: <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">units</span></code>, <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">atom_style</span></code>,
<code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">special_bonds</span></code>, <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">pair_style</span></code>, <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">bond_style</span></code>. However, these commands do
need to be used, since their settings are not in the restart file:
<code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">neighbor</span></code>, <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">fix</span></code>, <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">timestep</span></code>.</p>
<p>If you actually use this script to perform a restarted run, you will
notice that the thermodynamic data match at step 50 (if you also put a
<code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">thermo</span><span class="w"> </span><span class="m">50</span></code> command in the original script), but do not match at step
100. This is because the <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a> command
uses random numbers in a way that does not allow for perfect restarts.</p>
<p>As an alternate approach, the restart file could be converted to a data
file as follows:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>lmp_g++<span class="w"> </span>-r<span class="w"> </span>tmp.restart.50<span class="w"> </span>tmp.restart.data
</pre></div>
</div>
<p>Then, this script could be used to re-run the last 50 steps:</p>
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">units</span><span class="w"> </span><span class="n">lj</span>
<span class="k">atom_style</span><span class="w"> </span><span class="n">bond</span>
<span class="k">pair_style</span><span class="w"> </span><span class="n">lj</span><span class="o">/</span><span class="n">cut</span><span class="w"> </span><span class="m">1.12</span>
<span class="k">pair_modify</span><span class="w"> </span><span class="n">shift</span><span class="w"> </span><span class="n">yes</span>
<span class="k">bond_style</span><span class="w"> </span><span class="n">fene</span>
<span class="k">special_bonds</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="k">read_data</span><span class="w"> </span><span class="n">tmp.restart.data</span>
<span class="k">neighbor</span><span class="w"> </span><span class="m">0.4</span><span class="w"> </span><span class="n">bin</span>
<span class="k">neigh_modify</span><span class="w"> </span><span class="n">every</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="n">delay</span><span class="w"> </span><span class="m">1</span>
<span class="k">fix </span><span class="nv nv-Identifier">1</span><span class="w"> </span><span class="nv nv-Identifier">all</span><span class="w"> </span><span class="n">nve</span>
<span class="k">fix </span><span class="nv nv-Identifier">2</span><span class="w"> </span><span class="nv nv-Identifier">all</span><span class="w"> </span><span class="n">langevin</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="m">1.0</span><span class="w"> </span><span class="m">10.0</span><span class="w"> </span><span class="m">904297</span>
<span class="k">timestep</span><span class="w"> </span><span class="m">0.012</span>
<span class="k">reset_timestep</span><span class="w"> </span><span class="m">50</span>
<span class="k">run</span><span class="w"> </span><span class="m">50</span>
</pre></div>
</div>
<p>Note that nearly all the settings specified in the original <code class="docutils literal notranslate"><span class="pre">in.chain</span></code>
script must be repeated, except the <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">pair_coeff</span></code> and <code class="code highlight LAMMPS docutils literal highlight-LAMMPS"><span class="k">bond_coeff</span></code>
commands, since the new data file lists the force field coefficients.
Also, the <a class="reference internal" href="reset_timestep.html"><span class="doc">reset_timestep</span></a> command is used to tell
LAMMPS the current timestep. This value is stored in restart files, but
not in data files.</p>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="Howto.html" class="btn btn-neutral float-left" title="8. Howto discussions" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="Howto_viz.html" class="btn btn-neutral float-right" title="8.1.2. Visualize LAMMPS snapshots" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2003-2025 Sandia Corporation.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(false);
});
</script>
</body>
</html>