591 lines
44 KiB
HTML
591 lines
44 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>minimize command — 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/minimize.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="molecule command" href="molecule.html" />
|
||
<link rel="prev" title="min_style cg command" href="min_style.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>
|
||
<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"><a class="reference internal" href="Howto.html">8. Howto discussions</a></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 & 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 class="current">
|
||
<li class="toctree-l1 current"><a class="reference internal" href="commands_list.html">Commands</a><ul class="current">
|
||
<li class="toctree-l2"><a class="reference internal" href="angle_coeff.html">angle_coeff command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="angle_style.html">angle_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="angle_write.html">angle_write command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="atom_modify.html">atom_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="atom_style.html">atom_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="balance.html">balance command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="bond_coeff.html">bond_coeff command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="bond_style.html">bond_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="bond_write.html">bond_write command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="boundary.html">boundary command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="change_box.html">change_box command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="clear.html">clear command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="comm_modify.html">comm_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="comm_style.html">comm_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="compute.html">compute command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="compute_modify.html">compute_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="create_atoms.html">create_atoms command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="create_bonds.html">create_bonds command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="create_box.html">create_box command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="delete_atoms.html">delete_atoms command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="delete_bonds.html">delete_bonds command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="dielectric.html">dielectric command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="dihedral_coeff.html">dihedral_coeff command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="dihedral_style.html">dihedral_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="dihedral_write.html">dihedral_write command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="dimension.html">dimension command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="displace_atoms.html">displace_atoms command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="dynamical_matrix.html">dynamical_matrix command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="echo.html">echo command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="fix.html">fix command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="fix_modify.html">fix_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="fitpod_command.html">fitpod command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="geturl.html">geturl command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="group.html">group command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="group2ndx.html">group2ndx command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="group2ndx.html#ndx2group-command">ndx2group command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="hyper.html">hyper command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="if.html">if command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="improper_coeff.html">improper_coeff command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="improper_style.html">improper_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="include.html">include command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="info.html">info command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="jump.html">jump command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="kim_commands.html">kim command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="kspace_modify.html">kspace_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="kspace_style.html">kspace_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="label.html">label command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="labelmap.html">labelmap command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="lattice.html">lattice command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="log.html">log command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="mass.html">mass command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="mdi.html">mdi command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_modify.html">min_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_spin.html">min_style spin command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_spin.html#min-style-spin-cg-command">min_style spin/cg command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_spin.html#min-style-spin-lbfgs-command">min_style spin/lbfgs command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html">min_style cg command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html#min-style-hftn-command">min_style hftn command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html#min-style-sd-command">min_style sd command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html#min-style-quickmin-command">min_style quickmin command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html#min-style-fire-command">min_style fire command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html#min-style-spin-command"><span class="xref std std-doc">min_style spin</span> command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html#min-style-spin-cg-command"><span class="xref std std-doc">min_style spin/cg</span> command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="min_style.html#min-style-spin-lbfgs-command"><span class="xref std std-doc">min_style spin/lbfgs</span> command</a></li>
|
||
<li class="toctree-l2 current"><a class="current reference internal" href="#">minimize command</a><ul>
|
||
<li class="toctree-l3"><a class="reference internal" href="#syntax">Syntax</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#examples">Examples</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#restrictions">Restrictions</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#related-commands">Related commands</a></li>
|
||
<li class="toctree-l3"><a class="reference internal" href="#default">Default</a></li>
|
||
</ul>
|
||
</li>
|
||
<li class="toctree-l2"><a class="reference internal" href="molecule.html">molecule command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="neb.html">neb command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="neb_spin.html">neb/spin command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="neigh_modify.html">neigh_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="neighbor.html">neighbor command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="newton.html">newton command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="next.html">next command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="package.html">package command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="pair_coeff.html">pair_coeff command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="pair_modify.html">pair_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="pair_style.html">pair_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="pair_write.html">pair_write command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="partition.html">partition command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="plugin.html">plugin command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="prd.html">prd command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="print.html">print command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="processors.html">processors command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="python.html">python command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="quit.html">quit command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="read_data.html">read_data command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="read_dump.html">read_dump command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="read_restart.html">read_restart command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="region.html">region command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="replicate.html">replicate command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="rerun.html">rerun command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="reset_atoms.html">reset_atoms command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="reset_timestep.html">reset_timestep command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="restart.html">restart command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="run.html">run command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="run_style.html">run_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="set.html">set command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="shell.html">shell command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="special_bonds.html">special_bonds command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="suffix.html">suffix command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="tad.html">tad command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="temper.html">temper command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="temper_grem.html">temper/grem command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="temper_npt.html">temper/npt command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="thermo.html">thermo command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="thermo_modify.html">thermo_modify command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="thermo_style.html">thermo_style command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="third_order.html">third_order command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="timer.html">timer command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="timestep.html">timestep command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="uncompute.html">uncompute command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="undump.html">undump command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="unfix.html">unfix command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="units.html">units command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="variable.html">variable command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="velocity.html">velocity command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="write_coeff.html">write_coeff command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="write_data.html">write_data command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="write_dump.html">write_dump command</a></li>
|
||
<li class="toctree-l2"><a class="reference internal" href="write_restart.html">write_restart command</a></li>
|
||
</ul>
|
||
</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="commands_list.html">Commands</a></li>
|
||
<li class="breadcrumb-item active">minimize command</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="min_style.html" class="btn btn-neutral float-left" title="min_style cg command" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||
<a href="molecule.html" class="btn btn-neutral float-right" title="molecule command" 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="minimize-command">
|
||
<span id="index-1"></span><span id="index-0"></span><h1>minimize command<a class="headerlink" href="#minimize-command" title="Link to this heading"></a></h1>
|
||
<p>Accelerator Variant: minimize/kk</p>
|
||
<section id="syntax">
|
||
<h2>Syntax<a class="headerlink" href="#syntax" title="Link to this heading"></a></h2>
|
||
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">minimize</span><span class="w"> </span><span class="n">etol</span><span class="w"> </span><span class="n">ftol</span><span class="w"> </span><span class="n">maxiter</span><span class="w"> </span><span class="n">maxeval</span>
|
||
</pre></div>
|
||
</div>
|
||
<ul class="simple">
|
||
<li><p>etol = stopping tolerance for energy (unitless)</p></li>
|
||
<li><p>ftol = stopping tolerance for force (force units)</p></li>
|
||
<li><p>maxiter = max iterations of minimizer</p></li>
|
||
<li><p>maxeval = max number of force/energy evaluations</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="examples">
|
||
<h2>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h2>
|
||
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">minimize</span><span class="w"> </span><span class="m">1.0e-4</span><span class="w"> </span><span class="m">1.0e-6</span><span class="w"> </span><span class="m">100</span><span class="w"> </span><span class="m">1000</span>
|
||
<span class="k">minimize</span><span class="w"> </span><span class="m">0.0</span><span class="w"> </span><span class="m">1.0e-8</span><span class="w"> </span><span class="m">1000</span><span class="w"> </span><span class="m">100000</span>
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
<section id="description">
|
||
<h2>Description<a class="headerlink" href="#description" title="Link to this heading"></a></h2>
|
||
<p>Perform an energy minimization of the system, by iteratively adjusting
|
||
atom coordinates. Iterations are terminated when one of the stopping
|
||
criteria is satisfied. At that point the configuration will hopefully
|
||
be in a local potential energy minimum. More precisely, the
|
||
configuration should approximate a critical point for the objective
|
||
function (see below), which may or may not be a local minimum.</p>
|
||
<p>The minimization algorithm used is set by the <a class="reference internal" href="min_style.html"><span class="doc">min_style</span></a> command. Other options are set by the <a class="reference internal" href="min_modify.html"><span class="doc">min_modify</span></a> command. Minimize commands can be interspersed with
|
||
<a class="reference internal" href="run.html"><span class="doc">run</span></a> commands to alternate between relaxation and dynamics.
|
||
The minimizers bound the distance atoms may move in one iteration, so
|
||
that you can relax systems with highly overlapped atoms (large energies
|
||
and forces) by pushing the atoms off of each other.</p>
|
||
<div class="note admonition">
|
||
<p class="admonition-title">Neighbor list update settings</p>
|
||
<p>The distance that atoms can move during individual minimization steps
|
||
can be quite large, especially at the beginning of a minimization.
|
||
Thus <a class="reference internal" href="neigh_modify.html"><span class="doc">neighbor list settings</span></a> of <em>every = 1</em> and
|
||
<em>delay = 0</em> are <strong>required</strong>. This may be combined with either
|
||
<em>check = no</em> (always update the neighbor list) or <em>check = yes</em> (only
|
||
update the neighbor list if at least one atom has moved more than
|
||
half the <a class="reference internal" href="neighbor.html"><span class="doc">neighbor list skin</span></a> distance since the last
|
||
reneighboring). Using <em>check = yes</em> is recommended since it avoids
|
||
unneeded reneighboring steps when the system is closer to the minimum
|
||
and thus atoms move only small distances. Using <em>check = no</em> may be
|
||
required for debugging or when coupling LAMMPS with external codes
|
||
that require a predictable sequence of neighbor list updates.</p>
|
||
<p>If the settings are <strong>not</strong> <em>every = 1</em> and <em>delay = 0</em>, LAMMPS will
|
||
temporarily apply a <a class="reference internal" href="neigh_modify.html"><span class="doc">neigh_modify every 1 delay 0 check yes</span></a> setting during the minimization and restore the
|
||
original setting at the end of the minimization. A corresponding
|
||
message will be printed to the screen and log file, if this happens.</p>
|
||
</div>
|
||
<p>Alternate means of relaxing a system are to run dynamics with a small or
|
||
<a class="reference internal" href="fix_nve_limit.html"><span class="doc">limited timestep</span></a>. Or dynamics can be run using
|
||
<a class="reference internal" href="fix_viscous.html"><span class="doc">fix viscous</span></a> to impose a damping force that slowly
|
||
drains all kinetic energy from the system. The <a class="reference internal" href="pair_soft.html"><span class="doc">pair_style soft</span></a> potential can be used to un-overlap atoms while running
|
||
dynamics.</p>
|
||
<p>Note that you can minimize some atoms in the system while holding the
|
||
coordinates of other atoms fixed by applying <a class="reference internal" href="fix_setforce.html"><span class="doc">fix setforce 0.0 0.0
|
||
0.0</span></a> to the other atoms. See a more detailed discussion
|
||
of <a class="reference internal" href="#fix-minimize"><span class="std std-ref">using fixes while minimizing below</span></a>.</p>
|
||
<p>The <a class="reference internal" href="min_style.html"><span class="doc">minimization styles</span></a> <em>cg</em>, <em>sd</em>, and <em>hftn</em>
|
||
involves an outer iteration loop which sets the search direction along
|
||
which atom coordinates are changed. An inner iteration is then
|
||
performed using a line search algorithm. The line search typically
|
||
evaluates forces and energies several times to set new coordinates.
|
||
Currently, a backtracking algorithm is used which may not be optimal
|
||
in terms of the number of force evaluations performed, but appears to
|
||
be more robust than previous line searches we have tried. The
|
||
backtracking method is described in Nocedal and Wright’s Numerical
|
||
Optimization (Procedure 3.1 on p 41).</p>
|
||
<p>The <a class="reference internal" href="min_style.html"><span class="doc">minimization styles</span></a> <em>quickmin</em>, <em>fire</em> and
|
||
<em>fire/old</em> perform damped dynamics using an Euler integration step. Thus
|
||
they require a <a class="reference internal" href="timestep.html"><span class="doc">timestep</span></a> be defined.</p>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>The damped dynamic minimizer algorithms will use the timestep you
|
||
have defined via the <a class="reference internal" href="timestep.html"><span class="doc">timestep</span></a> command or its
|
||
default value. Often they will converge more quickly if you use a
|
||
timestep about 10x larger than you would normally use for regular
|
||
molecular dynamics simulations.</p>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<p>In all cases, the objective function being minimized is the total
|
||
potential energy of the system as a function of the N atom
|
||
coordinates:</p>
|
||
<div class="math notranslate nohighlight">
|
||
\[\begin{split}E(r_1,r_2, \ldots ,r_N) = & \sum_{i,j} E_{\it pair}(r_i,r_j) +
|
||
\sum_{ij} E_{\it bond}(r_i,r_j) +
|
||
\sum_{ijk} E_{\it angle}(r_i,r_j,r_k) + \\
|
||
& \sum_{ijkl} E_{\it dihedral}(r_i,r_j,r_k,r_l) +
|
||
\sum_{ijkl} E_{\it improper}(r_i,r_j,r_k,r_l) +
|
||
\sum_i E_{\it fix}(r_i)\end{split}\]</div>
|
||
<p>where the first term is the sum of all non-bonded <a class="reference internal" href="pair_style.html"><span class="doc">pairwise
|
||
interactions</span></a> including <a class="reference internal" href="kspace_style.html"><span class="doc">long-range Coulombic
|
||
interactions</span></a>, the second through fifth terms are <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>, <a class="reference internal" href="dihedral_style.html"><span class="doc">dihedral</span></a>, and <a class="reference internal" href="improper_style.html"><span class="doc">improper</span></a> interactions
|
||
respectively, and the last term is energy due to <a class="reference internal" href="fix.html"><span class="doc">fixes</span></a>
|
||
which can act as constraints or apply force to atoms, such as through
|
||
interaction with a wall. See the discussion below about how fix
|
||
commands affect minimization.</p>
|
||
<p>The starting point for the minimization is the current configuration
|
||
of the atoms.</p>
|
||
<hr class="docutils" />
|
||
<p>The minimization procedure stops if any of several criteria are met:</p>
|
||
<ul class="simple">
|
||
<li><p>the change in energy between outer iterations is less than <em>etol</em></p></li>
|
||
<li><p>the 2-norm (length) of the global force vector is less than the <em>ftol</em></p></li>
|
||
<li><p>the line search fails because the step distance backtracks to 0.0</p></li>
|
||
<li><p>the number of outer iterations or timesteps exceeds <em>maxiter</em></p></li>
|
||
<li><p>the number of total force evaluations exceeds <em>maxeval</em></p></li>
|
||
</ul>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>the <a class="reference internal" href="min_style.html"><span class="doc">minimization style</span></a> <em>spin</em>,
|
||
<em>spin/cg</em>, and <em>spin/lbfgs</em> replace
|
||
the force tolerance <em>ftol</em> by a torque tolerance.
|
||
The minimization procedure stops if the 2-norm (length) of the torque vector on atom
|
||
(defined as the cross product between the
|
||
atomic spin and its precession vectors omega) is less than <em>ftol</em>,
|
||
or if any of the other criteria are met. Torque have the same units as the energy.</p>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>You can also use the <a class="reference internal" href="fix_halt.html"><span class="doc">fix halt</span></a> command to specify
|
||
a general criterion for exiting a minimization, that is a
|
||
calculation performed on the state of the current system, as
|
||
defined by an <a class="reference internal" href="variable.html"><span class="doc">equal-style variable</span></a>.</p>
|
||
</div>
|
||
<p>For the first criterion, the specified energy tolerance <em>etol</em> is
|
||
unitless; it is met when the energy change between successive
|
||
iterations divided by the energy magnitude is less than or equal to
|
||
the tolerance. For example, a setting of 1.0e-4 for <em>etol</em> means an
|
||
energy tolerance of one part in 10^4. For the damped dynamics
|
||
minimizers this check is not performed for a few steps after
|
||
velocities are reset to 0, otherwise the minimizer would prematurely
|
||
converge.</p>
|
||
<p>For the second criterion, the specified force tolerance <em>ftol</em> is in
|
||
force units, since it is the length of the global force vector for all
|
||
atoms, e.g. a vector of size 3N for N atoms. Since many of the
|
||
components will be near zero after minimization, you can think of
|
||
<em>ftol</em> as an upper bound on the final force on any component of any
|
||
atom. For example, a setting of 1.0e-4 for <em>ftol</em> means no x, y, or z
|
||
component of force on any atom will be larger than 1.0e-4 (in force
|
||
units) after minimization.</p>
|
||
<p>Either or both of the <em>etol</em> and <em>ftol</em> values can be set to 0.0, in
|
||
which case some other criterion will terminate the minimization.</p>
|
||
<p>During a minimization, the outer iteration count is treated as a
|
||
timestep. Output is triggered by this timestep, e.g. thermodynamic
|
||
output or dump and restart files.</p>
|
||
<p>Using the <a class="reference internal" href="thermo_style.html"><span class="doc">thermo_style custom</span></a> command with the
|
||
<em>fmax</em> or <em>fnorm</em> keywords can be useful for monitoring the progress
|
||
of the minimization. Note that these outputs will be calculated only
|
||
from forces on the atoms, and will not include any extra degrees of
|
||
freedom, such as from the <a class="reference internal" href="fix_box_relax.html"><span class="doc">fix box/relax</span></a> command.</p>
|
||
<p>Following minimization, a statistical summary is printed that lists
|
||
which convergence criterion caused the minimizer to stop, as well as
|
||
information about the energy, force, final line search, and iteration
|
||
counts. An example is as follows:</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Minimization stats:
|
||
Stopping criterion = max iterations
|
||
Energy initial, next-to-last, final =
|
||
-0.626828169302 -2.82642039062 -2.82643549739
|
||
Force two-norm initial, final = 2052.1 91.9642
|
||
Force max component initial, final = 346.048 9.78056
|
||
Final line search alpha, max atom move = 2.23899e-06 2.18986e-05
|
||
Iterations, force evaluations = 2000 12724
|
||
</pre></div>
|
||
</div>
|
||
<p>The 3 energy values are for before and after the minimization and on
|
||
the next-to-last iteration. This is what the <em>etol</em> parameter checks.</p>
|
||
<p>The two-norm force values are the length of the global force vector
|
||
before and after minimization. This is what the <em>ftol</em> parameter
|
||
checks.</p>
|
||
<p>The max-component force values are the absolute value of the largest
|
||
component (x,y,z) in the global force vector, i.e. the infinity-norm
|
||
of the force vector.</p>
|
||
<p>The alpha parameter for the line-search, when multiplied by the max
|
||
force component (on the last iteration), gives the max distance any
|
||
atom moved during the last iteration. Alpha will be 0.0 if the line
|
||
search could not reduce the energy. Even if alpha is non-zero, if the
|
||
“max atom move” distance is tiny compared to typical atom coordinates,
|
||
then it is possible the last iteration effectively caused no atom
|
||
movement and thus the evaluated energy did not change and the
|
||
minimizer terminated. Said another way, even with non-zero forces,
|
||
it’s possible the effect of those forces is to move atoms a distance
|
||
less than machine precision, so that the energy cannot be further
|
||
reduced.</p>
|
||
<p>The iterations and force evaluation values are what is checked by the
|
||
<em>maxiter</em> and <em>maxeval</em> parameters.</p>
|
||
<hr class="docutils" />
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>There are several force fields in LAMMPS which have discontinuities
|
||
or other approximations which may prevent you from performing an
|
||
energy minimization to tight tolerances. For example, you should use
|
||
a <a class="reference internal" href="pair_style.html"><span class="doc">pair style</span></a> that goes to 0.0 at the cutoff
|
||
distance when performing minimization (even if you later change it
|
||
when running dynamics). If you do not do this, the total energy of
|
||
the system will have discontinuities when the relative distance
|
||
between any pair of atoms changes from cutoff <em>plus</em> epsilon to
|
||
cutoff <em>minus</em> epsilon and the minimizer may thus behave poorly.
|
||
Some of the many-body potentials use splines and other internal
|
||
cutoffs that inherently have this problem. The <a class="reference internal" href="kspace_style.html"><span class="doc">long-range
|
||
Coulombic styles</span></a> (PPPM, Ewald) are approximate to
|
||
within the user-specified tolerance, which means their energy and
|
||
forces may not agree to a higher precision than the Kspace-specified
|
||
tolerance. This agreement is further reduced when using tabulation
|
||
to speed up the computation of the real-space part of the Coulomb
|
||
interactions, which is enabled by default. In all these cases, the
|
||
minimizer may give up and stop before finding a minimum to the
|
||
specified energy or force tolerance.</p>
|
||
</div>
|
||
<p>Note that a cutoff Lennard-Jones potential (and others) can be shifted
|
||
so that its energy is 0.0 at the cutoff via the <a class="reference internal" href="pair_modify.html"><span class="doc">pair_modify</span></a> command. See the doc pages for individual <a class="reference internal" href="pair_style.html"><span class="doc">pair
|
||
styles</span></a> for details. Note that most Coulombic potentials
|
||
have a cutoff, unless versions with a long-range component are used
|
||
(e.g. <a class="reference internal" href="pair_lj_cut_coul.html"><span class="doc">pair_style lj/cut/coul/long</span></a>) or some
|
||
other damping/smoothing schemes are used. The CHARMM potentials go to
|
||
0.0 at the cutoff (e.g. <a class="reference internal" href="pair_charmm.html"><span class="doc">pair_style lj/charmm/coul/charmm</span></a>), as do the GROMACS potentials (e.g. <a class="reference internal" href="pair_gromacs.html"><span class="doc">pair_style
|
||
lj/gromacs</span></a>).</p>
|
||
<p>If a soft potential (<a class="reference internal" href="pair_soft.html"><span class="doc">pair_style soft</span></a>) is used the
|
||
Astop value is used for the prefactor (no time dependence).</p>
|
||
<p id="fix-minimize">The <a class="reference internal" href="fix_box_relax.html"><span class="doc">fix box/relax</span></a> command can be used to apply an
|
||
external pressure to the simulation box and allow it to shrink/expand
|
||
during the minimization.</p>
|
||
<p>Only a few other fixes (typically those that add forces) are invoked
|
||
during minimization. See the doc pages for individual <a class="reference internal" href="fix.html"><span class="doc">fix</span></a>
|
||
commands to see which ones are relevant. Current examples of fixes
|
||
that can be used include:</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference internal" href="fix_addforce.html"><span class="doc">fix addforce</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_addtorque.html"><span class="doc">fix addtorque</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_efield.html"><span class="doc">fix efield</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_enforce2d.html"><span class="doc">fix enforce2d</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_indent.html"><span class="doc">fix indent</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_lineforce.html"><span class="doc">fix lineforce</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_planeforce.html"><span class="doc">fix planeforce</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_setforce.html"><span class="doc">fix setforce</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_spring.html"><span class="doc">fix spring</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_spring_self.html"><span class="doc">fix spring/self</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_viscous.html"><span class="doc">fix viscous</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_wall.html"><span class="doc">fix wall</span></a></p></li>
|
||
<li><p><a class="reference internal" href="fix_wall_region.html"><span class="doc">fix wall/region</span></a></p></li>
|
||
</ul>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>Some fixes which are invoked during minimization have an
|
||
associated potential energy. For that energy to be included in the
|
||
total potential energy of the system (the quantity being minimized),
|
||
you MUST enable the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> <em>energy</em> option for
|
||
that fix. The doc pages for individual <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> commands
|
||
specify if this should be done.</p>
|
||
</div>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>The minimizers in LAMMPS do not allow for bonds (or angles, etc)
|
||
to be held fixed while atom coordinates are being relaxed, e.g. via
|
||
<a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> or <a class="reference internal" href="fix_rigid.html"><span class="doc">fix rigid</span></a>. See more
|
||
info in the Restrictions section below.</p>
|
||
</div>
|
||
<hr class="docutils" />
|
||
<p>Styles with a <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are
|
||
functionally the same as the corresponding style without the suffix.
|
||
They have been optimized to run faster, depending on your available
|
||
hardware, as discussed on the <a class="reference internal" href="Speed_packages.html"><span class="doc">Accelerator packages</span></a>
|
||
page. The accelerated styles take the same arguments and should
|
||
produce the same results, except for round-off and precision issues.</p>
|
||
<p>These accelerated styles are part of the GPU, INTEL, KOKKOS,
|
||
OPENMP, and OPT packages, respectively. They are only enabled if
|
||
LAMMPS was built with those packages. See the <a class="reference internal" href="Build_package.html"><span class="doc">Build package</span></a> page for more info.</p>
|
||
<p>You can specify the accelerated styles explicitly in your input script
|
||
by including their suffix, or you can use the <a class="reference internal" href="Run_options.html"><span class="doc">-suffix command-line switch</span></a> when you invoke LAMMPS, or you can use the
|
||
<a class="reference internal" href="suffix.html"><span class="doc">suffix</span></a> command in your input script.</p>
|
||
<p>See the <a class="reference internal" href="Speed_packages.html"><span class="doc">Accelerator packages</span></a> page for more
|
||
instructions on how to use the accelerated styles effectively.</p>
|
||
</section>
|
||
<hr class="docutils" />
|
||
<section id="restrictions">
|
||
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Link to this heading"></a></h2>
|
||
<p>Features that are not yet implemented are listed here, in case someone
|
||
knows how they could be coded:</p>
|
||
<p>It is an error to use <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> with minimization
|
||
because it turns off bonds that should be included in the potential
|
||
energy of the system. The effect of a fix shake can be approximated
|
||
during a minimization by using stiff spring constants for the bonds
|
||
and/or angles that would normally be constrained by the SHAKE
|
||
algorithm.</p>
|
||
<p><a class="reference internal" href="fix_rigid.html"><span class="doc">Fix rigid</span></a> is also not supported by minimization. It
|
||
is not an error to have it defined, but the energy minimization will
|
||
not keep the defined body(s) rigid during the minimization. Note that
|
||
if bonds, angles, etc internal to a rigid body have been turned off
|
||
(e.g. via <a class="reference internal" href="neigh_modify.html"><span class="doc">neigh_modify exclude</span></a>), they will not
|
||
contribute to the potential energy which is probably not what is
|
||
desired.</p>
|
||
<p>Pair potentials that produce torque on a particle (e.g. <a class="reference internal" href="pair_gran.html"><span class="doc">granular potentials</span></a> or the <a class="reference internal" href="pair_gayberne.html"><span class="doc">GayBerne potential</span></a> for ellipsoidal particles) are not
|
||
relaxed by a minimization. More specifically, radial relaxations are
|
||
induced, but no rotations are induced by a minimization, so such a
|
||
system will not fully relax.</p>
|
||
</section>
|
||
<section id="related-commands">
|
||
<h2>Related commands<a class="headerlink" href="#related-commands" title="Link to this heading"></a></h2>
|
||
<p><a class="reference internal" href="min_modify.html"><span class="doc">min_modify</span></a>, <a class="reference internal" href="min_style.html"><span class="doc">min_style</span></a>,
|
||
<a class="reference internal" href="run_style.html"><span class="doc">run_style</span></a></p>
|
||
</section>
|
||
<section id="default">
|
||
<h2>Default<a class="headerlink" href="#default" title="Link to this heading"></a></h2>
|
||
<p>none</p>
|
||
</section>
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||
<a href="min_style.html" class="btn btn-neutral float-left" title="min_style cg command" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||
<a href="molecule.html" class="btn btn-neutral float-right" title="molecule command" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||
</div>
|
||
|
||
<hr/>
|
||
|
||
<div role="contentinfo">
|
||
<p>© 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> |