lammps/doc/pair_reax.html

388 lines
17 KiB
HTML

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pair_style reax command &mdash; LAMMPS documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
<link rel="top" title="LAMMPS documentation" href="index.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
<a href="Manual.html" class="icon icon-home"> LAMMPS
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance &amp; scalability</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying &amp; extending LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="Manual.html">LAMMPS</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="Manual.html">Docs</a> &raquo;</li>
<li>pair_style reax command</li>
<li class="wy-breadcrumbs-aside">
<a href="http://lammps.sandia.gov">Website</a>
<a href="Section_commands.html#comm">Commands</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="pair-style-reax-command">
<span id="index-0"></span><h1>pair_style reax command<a class="headerlink" href="#pair-style-reax-command" title="Permalink to this headline"></a></h1>
<div class="section" id="syntax">
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline"></a></h2>
<div class="highlight-python"><div class="highlight"><pre>pair_style reax hbcut hbnewflag tripflag precision
</pre></div>
</div>
<ul class="simple">
<li>hbcut = hydrogen-bond cutoff (optional) (distance units)</li>
<li>hbnewflag = use old or new hbond function style (0 or 1) (optional)</li>
<li>tripflag = apply stabilization to all triple bonds (0 or 1) (optional)</li>
<li>precision = precision for charge equilibration (optional)</li>
</ul>
</div>
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2>
<div class="highlight-python"><div class="highlight"><pre>pair_style reax
pair_style reax 10.0 0 1 1.0e-5
pair_coeff * * ffield.reax 3 1 2 2
pair_coeff * * ffield.reax 3 NULL NULL 3
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>Style <em>reax</em> computes the ReaxFF potential of van Duin, Goddard and
co-workers. ReaxFF uses distance-dependent bond-order functions to
represent the contributions of chemical bonding to the potential
energy. There is more than one version of ReaxFF. The version
implemented in LAMMPS uses the functional forms documented in the
supplemental information of the following paper:
<a class="reference internal" href="pair_reax_c.html#chenoweth-2008"><span>(Chenoweth)</span></a>. The version integrated into LAMMPS matches
the most up-to-date version of ReaxFF as of summer 2010.</p>
<p>WARNING: pair style reax is now deprecated and will soon be retired. Users
should switch to <a class="reference internal" href="pair_reax_c.html"><em>pair_style reax/c</em></a>. The <em>reax</em> style
differs from the <em>reax/c</em> style in the lo-level implementation details.
The <em>reax</em> style is a
Fortran library, linked to LAMMPS. The <em>reax/c</em> style was initially
implemented as stand-alone C code and is now integrated into LAMMPS as
a package.</p>
<p>LAMMPS requires that a file called ffield.reax be provided, containing
the ReaxFF parameters for each atom type, bond type, etc. The format
is identical to the ffield file used by van Duin and co-workers. The
filename is required as an argument in the pair_coeff command. Any
value other than &#8220;ffield.reax&#8221; will be rejected (see below).</p>
<p>LAMMPS provides several different versions of ffield.reax in its
potentials dir, each called potentials/ffield.reax.label. These are
documented in potentials/README.reax. The default ffield.reax
contains parameterizations for the following elements: C, H, O, N.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">We do not distribute a wide variety of ReaxFF force field files
with LAMMPS. Adri van Duin&#8217;s group at PSU is the central repository
for this kind of data as they are continuously deriving and updating
parameterizations for different classes of materials. You can submit
a contact request at the Materials Computation Center (MCC) website
<a class="reference external" href="https://www.mri.psu.edu/materials-computation-center/connect-mcc">https://www.mri.psu.edu/materials-computation-center/connect-mcc</a>,
describing the material(s) you are interested in modeling with ReaxFF.
They can tell
you what is currently available or what it would take to create a
suitable ReaxFF parameterization.</p>
</div>
<p>The format of these files is identical to that used originally by van
Duin. We have tested the accuracy of <em>pair_style reax</em> potential
against the original ReaxFF code for the systems mentioned above. You
can use other ffield files for specific chemical systems that may be
available elsewhere (but note that their accuracy may not have been
tested).</p>
<p>The <em>hbcut</em>, <em>hbnewflag</em>, <em>tripflag</em>, and <em>precision</em> settings are
optional arguments. If none are provided, default settings are used:
<em>hbcut</em> = 6 (which is Angstroms in real units), <em>hbnewflag</em> = 1 (use
new hbond function style), <em>tripflag</em> = 1 (apply stabilization to all
triple bonds), and <em>precision</em> = 1.0e-6 (one part in 10^6). If you
wish to override any of these defaults, then all of the settings must
be specified.</p>
<p>Two examples using <em>pair_style reax</em> are provided in the examples/reax
sub-directory, along with corresponding examples for
<a class="reference internal" href="pair_reax_c.html"><em>pair_style reax/c</em></a>. Note that while the energy and force
calculated by both of these pair styles match very closely, the
contributions due to the valence angles differ slightly due to
the fact that with <em>pair_style reax/c</em> the default value of <em>thb_cutoff_sq</em>
is 0.00001, while for <em>pair_style reax</em> it is hard-coded to be 0.001.</p>
<p>Use of this pair style requires that a charge be defined for every
atom since the <em>reax</em> pair style performs a charge equilibration (QEq)
calculation. See the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a> and
<a class="reference internal" href="read_data.html"><em>read_data</em></a> commands for details on how to specify
charges.</p>
<p>The thermo variable <em>evdwl</em> stores the sum of all the ReaxFF potential
energy contributions, with the exception of the Coulombic and charge
equilibration contributions which are stored in the thermo variable
<em>ecoul</em>. The output of these quantities is controlled by the
<a class="reference internal" href="thermo.html"><em>thermo</em></a> command.</p>
<p>This pair style tallies a breakdown of the total ReaxFF potential
energy into sub-categories, which can be accessed via the <a class="reference internal" href="compute_pair.html"><em>compute pair</em></a> command as a vector of values of length 14.
The 14 values correspond to the following sub-categories (the variable
names in italics match those used in the ReaxFF FORTRAN library):</p>
<ol class="arabic simple">
<li><em>eb</em> = bond energy</li>
<li><em>ea</em> = atom energy</li>
<li><em>elp</em> = lone-pair energy</li>
<li><em>emol</em> = molecule energy (always 0.0)</li>
<li><em>ev</em> = valence angle energy</li>
<li><em>epen</em> = double-bond valence angle penalty</li>
<li><em>ecoa</em> = valence angle conjugation energy</li>
<li><em>ehb</em> = hydrogen bond energy</li>
<li><em>et</em> = torsion energy</li>
<li><em>eco</em> = conjugation energy</li>
<li><em>ew</em> = van der Waals energy</li>
<li><em>ep</em> = Coulomb energy</li>
<li><em>efi</em> = electric field energy (always 0.0)</li>
<li><em>eqeq</em> = charge equilibration energy</li>
</ol>
<p>To print these quantities to the log file (with descriptive column
headings) the following commands could be included in an input script:</p>
<div class="highlight-python"><div class="highlight"><pre>compute reax all pair reax
variable eb equal c_reax[1]
variable ea equal c_reax[2]
...
variable eqeq equal c_reax[14]
thermo_style custom step temp epair v_eb v_ea ... v_eqeq
</pre></div>
</div>
<p>Only a single pair_coeff command is used with the <em>reax</em> style which
specifies a ReaxFF potential file with parameters for all needed
elements. These are mapped to LAMMPS atom types by specifying N
additional arguments after the filename in the pair_coeff command,
where N is the number of LAMMPS atom types:</p>
<ul class="simple">
<li>filename</li>
<li>N indices = mapping of ReaxFF elements to atom types</li>
</ul>
<p>The specification of the filename and the mapping of LAMMPS atom types
recognized by the ReaxFF is done differently than for other LAMMPS
potentials, due to the non-portable difficulty of passing character
strings (e.g. filename, element names) between C++ and Fortran.</p>
<p>The filename has to be &#8220;ffield.reax&#8221; and it has to exist in the
directory you are running LAMMPS in. This means you cannot prepend a
path to the file in the potentials dir. Rather, you should copy that
file into the directory you are running from. If you wish to use
another ReaxFF potential file, then name it &#8220;ffield.reax&#8221; and put it
in the directory you run from.</p>
<p>In the ReaxFF potential file, near the top, after the general
parameters, is the atomic parameters section that contains element
names, each with a couple dozen numeric parameters. If there are M
elements specified in the <em>ffield</em> file, think of these as numbered 1
to M. Each of the N indices you specify for the N atom types of LAMMPS
atoms must be an integer from 1 to M. Atoms with LAMMPS type 1 will
be mapped to whatever element you specify as the first index value,
etc. If a mapping value is specified as NULL, the mapping is not
performed. This can be used when a ReaxFF potential is used as part
of the <em>hybrid</em> pair style. The NULL values are placeholders for atom
types that will be used with other potentials.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Currently the reax pair style cannot be used as part of the
<em>hybrid</em> pair style. Some additional changes still need to be made to
enable this.</p>
</div>
<p>As an example, say your LAMMPS simulation has 4 atom types and the
elements are ordered as C, H, O, N in the <em>ffield</em> file. If you want
the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be
H, you would use the following pair_coeff command:</p>
<div class="highlight-python"><div class="highlight"><pre>pair_coeff * * ffield.reax 1 1 4 2
</pre></div>
</div>
<hr class="docutils" />
<p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p>
<p>This pair style does not support the <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a>
mix, shift, table, and tail options.</p>
<p>This pair style does not write its information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, since it is stored in potential files. Thus, you
need to re-specify the pair_style and pair_coeff commands in an input
script that reads a restart file.</p>
<p>This pair style can only be used via the <em>pair</em> keyword of the
<a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. It does not support the
<em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p>
</div>
<div class="section" id="restrictions">
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline"></a></h2>
<p>The ReaxFF potential files provided with LAMMPS in the potentials
directory are parameterized for real <a class="reference internal" href="units.html"><em>units</em></a>. You can use
the ReaxFF potential with any LAMMPS units, but you would need to
create your own potential file with coefficients listed in the
appropriate units if your simulation doesn&#8217;t use &#8220;real&#8221; units.</p>
</div>
<div class="section" id="related-commands">
<h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline"></a></h2>
<p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a>, <a class="reference internal" href="pair_reax_c.html"><em>pair_style reax/c</em></a>,
<a class="reference internal" href="fix_reax_bonds.html"><em>fix_reax_bonds</em></a></p>
</div>
<div class="section" id="default">
<h2>Default<a class="headerlink" href="#default" title="Permalink to this headline"></a></h2>
<p>The keyword defaults are <em>hbcut</em> = 6, <em>hbnewflag</em> = 1, <em>tripflag</em> = 1,
<em>precision</em> = 1.0e-6.</p>
<hr class="docutils" />
<p id="chenoweth-2008"><strong>(Chenoweth_2008)</strong> Chenoweth, van Duin and Goddard,
Journal of Physical Chemistry A, 112, 1040-1053 (2008).</p>
</div>
</div>
</div>
</div>
<footer>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2013 Sandia Corporation.
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>