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

681 lines
45 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>fitpod command &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/fitpod_command.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="geturl command" href="geturl.html" />
<link rel="prev" title="fix_modify command" href="fix_modify.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 &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 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 current"><a class="current reference internal" href="#">fitpod 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="#pod-potential">POD Potential</a></li>
<li class="toctree-l3"><a class="reference internal" href="#training">Training</a></li>
<li class="toctree-l3"><a class="reference internal" href="#validation">Validation</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="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"><a class="reference internal" href="minimize.html">minimize command</a></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">fitpod 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="fix_modify.html" class="btn btn-neutral float-left" title="fix_modify command" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="geturl.html" class="btn btn-neutral float-right" title="geturl 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="fitpod-command">
<span id="index-0"></span><h1>fitpod command<a class="headerlink" href="#fitpod-command" title="Link to this heading"></a></h1>
<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">fitpod</span><span class="w"> </span><span class="n">Ta_param.pod</span><span class="w"> </span><span class="n">Ta_data.pod</span><span class="w"> </span><span class="n">Ta_coefficients.pod</span>
</pre></div>
</div>
<ul class="simple">
<li><p>fitpod = style name of this command</p></li>
<li><p>Ta_param.pod = an input file that describes proper orthogonal descriptors (PODs)</p></li>
<li><p>Ta_data.pod = an input file that specifies DFT data used to fit a POD potential</p></li>
<li><p>Ta_coefficients.pod (optional) = an input file that specifies trainable coefficients of a POD potential</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">fitpod</span><span class="w"> </span><span class="n">Ta_param.pod</span><span class="w"> </span><span class="n">Ta_data.pod</span>
<span class="k">fitpod</span><span class="w"> </span><span class="n">Ta_param.pod</span><span class="w"> </span><span class="n">Ta_data.pod</span><span class="w"> </span><span class="n">Ta_coefficients.pod</span>
</pre></div>
</div>
</section>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Link to this heading"></a></h2>
<div class="versionadded">
<p><span class="versionmodified added">Added in version 22Dec2022.</span></p>
</div>
<p>Fit a machine-learning interatomic potential (ML-IAP) based on proper
orthogonal descriptors (POD); please see <a class="reference internal" href="#nguyen20222a"><span class="std std-ref">(Nguyen and Rohskopf)</span></a>, <a class="reference internal" href="#nguyen20232a"><span class="std std-ref">(Nguyen2023)</span></a>, <a class="reference internal" href="#nguyen20242a"><span class="std std-ref">(Nguyen2024)</span></a>, and <a class="reference internal" href="#nguyen20243a"><span class="std std-ref">(Nguyen and Sema)</span></a> for details.
The fitted POD potential can be used to run MD simulations via
<a class="reference internal" href="pair_pod.html"><span class="doc">pair_style pod</span></a>.</p>
<p>Two input files are required for this command. The first input file
describes a POD potential parameter settings, while the second input
file specifies the DFT data used for the fitting procedure. All keywords
except <em>species</em> have default values. If a keyword is not set in the
input file, its default value is used. The table below has one-line
descriptions of all the keywords that can be used in the first input
file (i.e. <code class="docutils literal notranslate"><span class="pre">Ta_param.pod</span></code>)</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 40.0%" />
<col style="width: 9.0%" />
<col style="width: 10.0%" />
<col style="width: 41.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Keyword</p></th>
<th class="head"><p>Default</p></th>
<th class="head"><p>Type</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>species</p></td>
<td><p>(none)</p></td>
<td><p>STRING</p></td>
<td><p>Chemical symbols for all elements in the system and have to match XYZ training files.</p></td>
</tr>
<tr class="row-odd"><td><p>pbc</p></td>
<td><p>1 1 1</p></td>
<td><p>INT</p></td>
<td><p>three integer constants specify boundary conditions</p></td>
</tr>
<tr class="row-even"><td><p>rin</p></td>
<td><p>0.5</p></td>
<td><p>REAL</p></td>
<td><p>a real number specifies the inner cut-off radius</p></td>
</tr>
<tr class="row-odd"><td><p>rcut</p></td>
<td><p>5.0</p></td>
<td><p>REAL</p></td>
<td><p>a real number specifies the outer cut-off radius</p></td>
</tr>
<tr class="row-even"><td><p>bessel_polynomial_degree</p></td>
<td><p>4</p></td>
<td><p>INT</p></td>
<td><p>the maximum degree of Bessel polynomials</p></td>
</tr>
<tr class="row-odd"><td><p>inverse_polynomial_degree</p></td>
<td><p>8</p></td>
<td><p>INT</p></td>
<td><p>the maximum degree of inverse radial basis functions</p></td>
</tr>
<tr class="row-even"><td><p>number_of_environment_clusters</p></td>
<td><p>1</p></td>
<td><p>INT</p></td>
<td><p>the number of clusters for environment-adaptive potentials</p></td>
</tr>
<tr class="row-odd"><td><p>number_of_principal_components</p></td>
<td><p>2</p></td>
<td><p>INT</p></td>
<td><p>the number of principal components for dimensionality reduction</p></td>
</tr>
<tr class="row-even"><td><p>onebody</p></td>
<td><p>1</p></td>
<td><p>BOOL</p></td>
<td><p>turns on/off one-body potential</p></td>
</tr>
<tr class="row-odd"><td><p>twobody_number_radial_basis_functions</p></td>
<td><p>8</p></td>
<td><p>INT</p></td>
<td><p>number of radial basis functions for two-body potential</p></td>
</tr>
<tr class="row-even"><td><p>threebody_number_radial_basis_functions</p></td>
<td><p>6</p></td>
<td><p>INT</p></td>
<td><p>number of radial basis functions for three-body potential</p></td>
</tr>
<tr class="row-odd"><td><p>threebody_angular_degree</p></td>
<td><p>5</p></td>
<td><p>INT</p></td>
<td><p>angular degree for three-body potential</p></td>
</tr>
<tr class="row-even"><td><p>fourbody_number_radial_basis_functions</p></td>
<td><p>4</p></td>
<td><p>INT</p></td>
<td><p>number of radial basis functions for four-body potential</p></td>
</tr>
<tr class="row-odd"><td><p>fourbody_angular_degree</p></td>
<td><p>3</p></td>
<td><p>INT</p></td>
<td><p>angular degree for four-body potential</p></td>
</tr>
<tr class="row-even"><td><p>fivebody_number_radial_basis_functions</p></td>
<td><p>0</p></td>
<td><p>INT</p></td>
<td><p>number of radial basis functions for five-body potential</p></td>
</tr>
<tr class="row-odd"><td><p>fivebody_angular_degree</p></td>
<td><p>0</p></td>
<td><p>INT</p></td>
<td><p>angular degree for five-body potential</p></td>
</tr>
<tr class="row-even"><td><p>sixbody_number_radial_basis_functions</p></td>
<td><p>0</p></td>
<td><p>INT</p></td>
<td><p>number of radial basis functions for six-body potential</p></td>
</tr>
<tr class="row-odd"><td><p>sixbody_angular_degree</p></td>
<td><p>0</p></td>
<td><p>INT</p></td>
<td><p>angular degree for six-body potential</p></td>
</tr>
<tr class="row-even"><td><p>sevenbody_number_radial_basis_functions</p></td>
<td><p>0</p></td>
<td><p>INT</p></td>
<td><p>number of radial basis functions for seven-body potential</p></td>
</tr>
<tr class="row-odd"><td><p>sevenbody_angular_degree</p></td>
<td><p>0</p></td>
<td><p>INT</p></td>
<td><p>angular degree for seven-body potential</p></td>
</tr>
</tbody>
</table>
<p>Note that both the number of radial basis functions and angular degree
must decrease as the body order increases. The next table describes all
keywords that can be used in the second input file (i.e. <code class="docutils literal notranslate"><span class="pre">Ta_data.pod</span></code>
in the example above):</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 38.0%" />
<col style="width: 9.0%" />
<col style="width: 10.0%" />
<col style="width: 43.0%" />
</colgroup>
<thead>
<tr class="row-odd"><th class="head"><p>Keyword</p></th>
<th class="head"><p>Default</p></th>
<th class="head"><p>Type</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>file_format</p></td>
<td><p>extxyz</p></td>
<td><p>STRING</p></td>
<td><p>only the extended xyz format (extxyz) is currently supported</p></td>
</tr>
<tr class="row-odd"><td><p>file_extension</p></td>
<td><p>xyz</p></td>
<td><p>STRING</p></td>
<td><p>extension of the data files</p></td>
</tr>
<tr class="row-even"><td><p>path_to_training_data_set</p></td>
<td><p>(none)</p></td>
<td><p>STRING</p></td>
<td><p>specifies the path to training data files in double quotes</p></td>
</tr>
<tr class="row-odd"><td><p>path_to_test_data_set</p></td>
<td><p>“”</p></td>
<td><p>STRING</p></td>
<td><p>specifies the path to test data files in double quotes</p></td>
</tr>
<tr class="row-even"><td><p>path_to_environment_configuration_set</p></td>
<td><p>“”</p></td>
<td><p>STRING</p></td>
<td><p>specifies the path to environment configuration files in double quotes</p></td>
</tr>
<tr class="row-odd"><td><p>fraction_training_data_set</p></td>
<td><p>1.0</p></td>
<td><p>REAL</p></td>
<td><p>a real number (&lt;= 1.0) specifies the fraction of the training set used to fit POD</p></td>
</tr>
<tr class="row-even"><td><p>randomize_training_data_set</p></td>
<td><p>0</p></td>
<td><p>BOOL</p></td>
<td><p>turns on/off randomization of the training set</p></td>
</tr>
<tr class="row-odd"><td><p>fraction_test_data_set</p></td>
<td><p>1.0</p></td>
<td><p>REAL</p></td>
<td><p>a real number (&lt;= 1.0) specifies the fraction of the test set used to validate POD</p></td>
</tr>
<tr class="row-even"><td><p>randomize_test_data_set</p></td>
<td><p>0</p></td>
<td><p>BOOL</p></td>
<td><p>turns on/off randomization of the test set</p></td>
</tr>
<tr class="row-odd"><td><p>fitting_weight_energy</p></td>
<td><p>100.0</p></td>
<td><p>REAL</p></td>
<td><p>a real constant specifies the weight for energy in the least-squares fit</p></td>
</tr>
<tr class="row-even"><td><p>fitting_weight_force</p></td>
<td><p>1.0</p></td>
<td><p>REAL</p></td>
<td><p>a real constant specifies the weight for force in the least-squares fit</p></td>
</tr>
<tr class="row-odd"><td><p>fitting_regularization_parameter</p></td>
<td><p>1.0e-10</p></td>
<td><p>REAL</p></td>
<td><p>a real constant specifies the regularization parameter in the least-squares fit</p></td>
</tr>
<tr class="row-even"><td><p>error_analysis_for_training_data_set</p></td>
<td><p>0</p></td>
<td><p>BOOL</p></td>
<td><p>turns on/off error analysis for the training data set</p></td>
</tr>
<tr class="row-odd"><td><p>error_analysis_for_test_data_set</p></td>
<td><p>0</p></td>
<td><p>BOOL</p></td>
<td><p>turns on/off error analysis for the test data set</p></td>
</tr>
<tr class="row-even"><td><p>basename_for_output_files</p></td>
<td><p>pod</p></td>
<td><p>STRING</p></td>
<td><p>a basename string added to the output files</p></td>
</tr>
<tr class="row-odd"><td><p>precision_for_pod_coefficients</p></td>
<td><p>8</p></td>
<td><p>INT</p></td>
<td><p>number of digits after the decimal points for numbers in the coefficient file</p></td>
</tr>
<tr class="row-even"><td><p>group_weights</p></td>
<td><p>global</p></td>
<td><p>STRING</p></td>
<td><p><code class="docutils literal notranslate"><span class="pre">table</span></code> uses group weights defined for each group named by filename</p></td>
</tr>
</tbody>
</table>
<p>All keywords except <em>path_to_training_data_set</em> have default values. If
a keyword is not set in the input file, its default value is used. After
successful training, a number of output files are produced, if enabled:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;basename&gt;_training_errors.pod</span></code> reports the errors in energy and forces for the training data set</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;basename&gt;_training_analysis.pod</span></code> reports detailed errors for all training configurations</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;basename&gt;_test_errors.pod</span></code> reports errors for the test data set</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;basename&gt;_test_analysis.pod</span></code> reports detailed errors for all test configurations</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">&lt;basename&gt;_coefficients.pod</span></code> contains the coefficients of the POD potential</p></li>
</ul>
<p>After training the POD potential, <code class="docutils literal notranslate"><span class="pre">Ta_param.pod</span></code> and
<code class="docutils literal notranslate"><span class="pre">&lt;basename&gt;_coefficients.pod</span></code> are the two files needed to use the POD
potential in LAMMPS. See <a class="reference internal" href="pair_pod.html"><span class="doc">pair_style pod</span></a> for using the
POD potential. Examples about training and using POD potentials are
found in the directory lammps/examples/PACKAGES/pod and the Github repo
<a class="reference external" href="https://github.com/cesmix-mit/pod-examples">https://github.com/cesmix-mit/pod-examples</a>.</p>
<section id="loss-function-group-weights">
<h3>Loss Function Group Weights<a class="headerlink" href="#loss-function-group-weights" title="Link to this heading"></a></h3>
<p>The <em>group_weights</em> keyword in the <code class="docutils literal notranslate"><span class="pre">data.pod</span></code> file is responsible for
weighting certain groups of configurations in the loss function. For
example:</p>
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="n">group_weights</span><span class="w"> </span><span class="n">table</span>
<span class="n">Displaced_A15</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Displaced_BCC</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Displaced_FCC</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Elastic_BCC</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Elastic_FCC</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">GSF_110</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">GSF_112</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Liquid</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Surface</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Volume_A15</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Volume_BCC</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
<span class="n">Volume_FCC</span><span class="w"> </span><span class="m">100.0</span><span class="w"> </span><span class="m">1.0</span>
</pre></div>
</div>
<p>This will apply an energy weight of <code class="docutils literal notranslate"><span class="pre">100.0</span></code> and a force weight of
<code class="docutils literal notranslate"><span class="pre">1.0</span></code> for all groups in the <code class="docutils literal notranslate"><span class="pre">Ta</span></code> example. The groups are named by
their respective filename. If certain groups are left out of this table,
then the globally defined weights from the <code class="docutils literal notranslate"><span class="pre">fitting_weight_energy</span></code> and
<code class="docutils literal notranslate"><span class="pre">fitting_weight_force</span></code> keywords will be used.</p>
</section>
</section>
<section id="pod-potential">
<h2>POD Potential<a class="headerlink" href="#pod-potential" title="Link to this heading"></a></h2>
<p>We consider a multi-element system of <em>N</em> atoms with <span class="math notranslate nohighlight">\(N_{\rm e}\)</span>
unique elements. We denote by <span class="math notranslate nohighlight">\(\boldsymbol r_n\)</span> and <span class="math notranslate nohighlight">\(Z_n\)</span>
position vector and type of an atom <em>n</em> in the system,
respectively. Note that we have <span class="math notranslate nohighlight">\(Z_n \in \{1, \ldots, N_{\rm e}
\}\)</span>, <span class="math notranslate nohighlight">\(\boldsymbol R = (\boldsymbol r_1, \boldsymbol r_2, \ldots,
\boldsymbol r_N) \in \mathbb{R}^{3N}\)</span>, and <span class="math notranslate nohighlight">\(\boldsymbol Z = (Z_1,
Z_2, \ldots, Z_N) \in \mathbb{N}^{N}\)</span>. The total energy of the
POD potential is expressed as <span class="math notranslate nohighlight">\(E(\boldsymbol R, \boldsymbol Z) =
\sum_{i=1}^N E_i(\boldsymbol R_i, \boldsymbol Z_i)\)</span>, where</p>
<div class="math notranslate nohighlight">
\[E_i(\boldsymbol R_i, \boldsymbol Z_i) \ = \ \sum_{m=1}^M c_m \mathcal{D}_{im}(\boldsymbol R_i, \boldsymbol Z_i)\]</div>
<p>Here <span class="math notranslate nohighlight">\(c_m\)</span> are trainable coefficients and
<span class="math notranslate nohighlight">\(\mathcal{D}_{im}(\boldsymbol R_i, \boldsymbol Z_i)\)</span> are per-atom
POD descriptors. Summing the per-atom descriptors over <span class="math notranslate nohighlight">\(i\)</span> yields
the global descriptors <span class="math notranslate nohighlight">\(d_m(\boldsymbol R, \boldsymbol Z) =
\sum_{i=1}^N \mathcal{D}_{im}(\boldsymbol R_i, \boldsymbol Z_i)\)</span>. It
thus follows that <span class="math notranslate nohighlight">\(E(\boldsymbol R, \boldsymbol Z) = \sum_{m=1}^M
c_m d_m(\boldsymbol R, \boldsymbol Z)\)</span>.</p>
<p>The per-atom POD descriptors include one, two, three, four, five, six,
and seven-body descriptors, which can be specified in the first input
file. Furthermore, the per-atom POD descriptors also depend on the
number of environment clusters specified in the first input file.
Please see <a class="reference internal" href="#nguyen20242a"><span class="std std-ref">(Nguyen2024)</span></a> and <a class="reference internal" href="#nguyen20243a"><span class="std std-ref">(Nguyen and Sema)</span></a> for the detailed description of the per-atom POD
descriptors.</p>
</section>
<section id="training">
<h2>Training<a class="headerlink" href="#training" title="Link to this heading"></a></h2>
<p>A POD potential is trained using the least-squares regression against
density functional theory (DFT) data. Let <span class="math notranslate nohighlight">\(J\)</span> be the number of
training configurations, with <span class="math notranslate nohighlight">\(N_j\)</span> being the number of atoms in
the j-th configuration. The training configurations are extracted from
the extended XYZ files located in a directory (i.e.,
path_to_training_data_set in the second input file). Let
<span class="math notranslate nohighlight">\(\{E^{\star}_j\}_{j=1}^{J}\)</span> and <span class="math notranslate nohighlight">\(\{\boldsymbol
F^{\star}_j\}_{j=1}^{J}\)</span> be the DFT energies and forces for <span class="math notranslate nohighlight">\(J\)</span>
configurations. Next, we calculate the global descriptors and their
derivatives for all training configurations. Let <span class="math notranslate nohighlight">\(d_{jm}, 1 \le m
\le M\)</span>, be the global descriptors associated with the j-th
configuration, where <span class="math notranslate nohighlight">\(M\)</span> is the number of global descriptors. We
then form a matrix <span class="math notranslate nohighlight">\(\boldsymbol A \in \mathbb{R}^{J \times M}\)</span>
with entries <span class="math notranslate nohighlight">\(A_{jm} = d_{jm}/ N_j\)</span> for <span class="math notranslate nohighlight">\(j=1,\ldots,J\)</span> and
<span class="math notranslate nohighlight">\(m=1,\ldots,M\)</span>. Moreover, we form a matrix <span class="math notranslate nohighlight">\(\boldsymbol B
\in \mathbb{R}^{\mathcal{N} \times M}\)</span> by stacking the derivatives of
the global descriptors for all training configurations from top to
bottom, where <span class="math notranslate nohighlight">\(\mathcal{N} = 3\sum_{j=1}^{J} N_j\)</span>.</p>
<p>The coefficient vector <span class="math notranslate nohighlight">\(\boldsymbol c\)</span> of the POD potential is
found by solving the following least-squares problem</p>
<div class="math notranslate nohighlight">
\[{\min}_{\boldsymbol c \in \mathbb{R}^{M}} \ w_E \|\boldsymbol A \boldsymbol c - \bar{\boldsymbol E}^{\star} \|^2 + w_F \|\boldsymbol B \boldsymbol c + \boldsymbol F^{\star} \|^2 + w_R \|\boldsymbol c \|^2,\]</div>
<p>where <span class="math notranslate nohighlight">\(w_E\)</span> and <span class="math notranslate nohighlight">\(w_F\)</span> are weights for the energy
(<em>fitting_weight_energy</em>) and force (<em>fitting_weight_force</em>),
respectively; and <span class="math notranslate nohighlight">\(w_R\)</span> is the regularization parameter
(<em>fitting_regularization_parameter</em>). Here <span class="math notranslate nohighlight">\(\bar{\boldsymbol
E}^{\star} \in \mathbb{R}^{J}\)</span> is a vector of with entries
<span class="math notranslate nohighlight">\(\bar{E}^{\star}_j = E^{\star}_j/N_j\)</span> and <span class="math notranslate nohighlight">\(\boldsymbol
F^{\star}\)</span> is a vector of <span class="math notranslate nohighlight">\(\mathcal{N}\)</span> entries obtained by
stacking <span class="math notranslate nohighlight">\(\{\boldsymbol F^{\star}_j\}_{j=1}^{J}\)</span> from top to
bottom.</p>
</section>
<section id="validation">
<h2>Validation<a class="headerlink" href="#validation" title="Link to this heading"></a></h2>
<p>POD potential can be validated on a test dataset in a directory
specified by setting path_to_test_data_set in the second input file. It
is possible to validate the POD potential after the training is
complete. This is done by providing the coefficient file as an input to
<a class="reference internal" href="#"><span class="doc">fitpod</span></a>, for example,</p>
<div class="highlight-LAMMPS notranslate"><div class="highlight"><pre><span></span><span class="k">fitpod</span><span class="w"> </span><span class="n">Ta_param.pod</span><span class="w"> </span><span class="n">Ta_data.pod</span><span class="w"> </span><span class="n">Ta_coefficients.pod</span>
</pre></div>
</div>
</section>
<section id="restrictions">
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Link to this heading"></a></h2>
<p>This command is part of the ML-POD package. It is only enabled if
LAMMPS was built with that package. See the <a class="reference internal" href="Build_package.html"><span class="doc">Build package</span></a> page for more info.</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="pair_pod.html"><span class="doc">pair_style pod</span></a>,
<a class="reference internal" href="compute_pod_atom.html"><span class="doc">compute pod/atom</span></a>,
<a class="reference internal" href="compute_pod_atom.html"><span class="doc">compute podd/atom</span></a>,
<a class="reference internal" href="compute_pod_atom.html"><span class="doc">compute pod/local</span></a>,
<a class="reference internal" href="compute_pod_atom.html"><span class="doc">compute pod/global</span></a></p>
</section>
<section id="default">
<h2>Default<a class="headerlink" href="#default" title="Link to this heading"></a></h2>
<p>The keyword defaults are also given in the description of the input files.</p>
<hr class="docutils" />
<p id="nguyen20222a"><strong>(Nguyen and Rohskopf)</strong> Nguyen and Rohskopf, Journal of Computational Physics, 480, 112030, (2023).</p>
<p id="nguyen20232a"><strong>(Nguyen2023)</strong> Nguyen, Physical Review B, 107(14), 144103, (2023).</p>
<p id="nguyen20242a"><strong>(Nguyen2024)</strong> Nguyen, Journal of Computational Physics, 113102, (2024).</p>
<p id="nguyen20243a"><strong>(Nguyen and Sema)</strong> Nguyen and Sema, <a class="reference external" href="https://arxiv.org/abs/2405.00306">https://arxiv.org/abs/2405.00306</a>, (2024).</p>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="fix_modify.html" class="btn btn-neutral float-left" title="fix_modify command" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="geturl.html" class="btn btn-neutral float-right" title="geturl command" 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>