Commit 712dbe6a authored by Richard Berger's avatar Richard Berger
Browse files

Update pair_airebo docs

parent 5bb28e9e
Loading
Loading
Loading
Loading

doc/src/Eqs/pair_airebo.jpg

deleted100644 → 0
−9.16 KiB
Loading image diff...

doc/src/Eqs/pair_airebo.tex

deleted100644 → 0
+0 −11
Original line number Diff line number Diff line
\documentclass[12pt]{article}

\begin{document}

$$ 
  E = \frac{1}{2} \sum_i \sum_{j \neq i} 
  \left[ E^{REBO}_{ij} + E^{LJ}_{ij} + 
    \sum_{k \neq i,j} \sum_{l \neq i,j,k} E^{TORSION}_{kijl} \right] 
$$

\end{document}
 No newline at end of file
+59 −56
Original line number Diff line number Diff line
.. index:: pair\_style airebo
.. index:: pair_style airebo

pair\_style airebo command
==========================
pair_style airebo command
=========================

pair\_style airebo/intel command
================================
pair_style airebo/intel command
===============================

pair\_style airebo/omp command
==============================
pair_style airebo/omp command
=============================

pair\_style airebo/morse command
================================
pair_style airebo/morse command
===============================

pair\_style airebo/morse/intel command
======================================
pair_style airebo/morse/intel command
=====================================

pair\_style airebo/morse/omp command
====================================
pair_style airebo/morse/omp command
===================================

pair\_style rebo command
========================
pair_style rebo command
=======================

pair\_style rebo/intel command
==============================
pair_style rebo/intel command
=============================

pair\_style rebo/omp command
============================
pair_style rebo/omp command
===========================

Syntax
""""""


.. parsed-literal::
.. code-block:: LAMMPS

   pair_style style cutoff LJ_flag TORSION_flag cutoff_min

* style = *airebo* or *airebo/morse* or *rebo*
* cutoff = LJ or Morse cutoff (sigma scale factor) (AIREBO and AIREBO-M only)
* cutoff = LJ or Morse cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only)
* LJ\_flag = 0/1 to turn off/on the LJ or Morse term (AIREBO and AIREBO-M only, optional)
* TORSION\_flag = 0/1 to turn off/on the torsion term (AIREBO and AIREBO-M only, optional)
* cutoff\_min = Start of the transition region of cutoff (sigma scale factor) (AIREBO and AIREBO-M only, optional)
* cutoff\_min = Start of the transition region of cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only, optional)

Examples
""""""""


.. parsed-literal::
.. code-block:: LAMMPS

   pair_style airebo 3.0
   pair_style airebo 2.5 1 0
   pair_coeff \* \* ../potentials/CH.airebo H C
   pair_coeff * * ../potentials/CH.airebo H C

   pair_style airebo/morse 3.0
   pair_coeff \* \* ../potentials/CH.airebo-m H C
   pair_coeff * * ../potentials/CH.airebo-m H C

   pair_style rebo
   pair_coeff \* \* ../potentials/CH.rebo H C
   pair_coeff * * ../potentials/CH.rebo H C

Description
"""""""""""
@@ -82,8 +82,11 @@ with a few slightly different parameters

The AIREBO potential consists of three terms:

.. image:: Eqs/pair_airebo.jpg
   :align: center
.. math::

   E & = \frac{1}{2} \sum_i \sum_{j \neq i} 
   \left[ E^{\text{REBO}}_{ij} + E^{\text{LJ}}_{ij} + 
    \sum_{k \neq i,j} \sum_{l \neq i,j,k} E^{\text{TORSION}}_{kijl} \right] \\

By default, all three terms are included.  For the *airebo* style, if
the first two optional flag arguments to the pair\_style command are
@@ -91,73 +94,73 @@ included, the LJ and torsional terms can be turned off. Note that
both or neither of the flags must be included.  If both of the LJ an
torsional terms are turned off, it becomes the 2nd-generation REBO
potential, with a small caveat on the spline fitting procedure
mentioned below.  This can be specified directly as pair\_style *rebo*
mentioned below.  This can be specified directly as pair_style *rebo*
with no additional arguments.

The detailed formulas for this potential are given in
:ref:`(Stuart) <Stuart>`; here we provide only a brief description.

The E\_REBO term has the same functional form as the hydrocarbon REBO
The :math:`E^{\text{REBO}}` term has the same functional form as the hydrocarbon REBO
potential developed in :ref:`(Brenner) <Brenner>`.  The coefficients for
E\_REBO in AIREBO are essentially the same as Brenner's potential, but
:math:`E^{\text{REBO}}` in AIREBO are essentially the same as Brenner's potential, but
a few fitted spline values are slightly different.  For most cases the
E\_REBO term in AIREBO will produce the same energies, forces and
:math:`E^{\text{REBO}}` term in AIREBO will produce the same energies, forces and
statistical averages as the original REBO potential from which it was
derived.  The E\_REBO term in the AIREBO potential gives the model its
derived.  The :math:`E^{\text{REBO}}` term in the AIREBO potential gives the model its
reactive capabilities and only describes short-ranged C-C, C-H and H-H
interactions (r < 2 Angstroms). These interactions have strong
interactions (:math:`r < 2` Angstroms). These interactions have strong
coordination-dependence through a bond order parameter, which adjusts
the attraction between the I,J atoms based on the position of other
nearby atoms and thus has 3- and 4-body dependence.

The E\_LJ term adds longer-ranged interactions (2 < r < cutoff) using a
The :math:`E^{\text{LJ}}` term adds longer-ranged interactions (:math:`2 < r < \text{cutoff}`) using a
form similar to the standard :doc:`Lennard Jones potential <pair_lj>`.
The E\_LJ term in AIREBO contains a series of switching functions so
that the short-ranged LJ repulsion (1/r\^12) does not interfere with
the energetics captured by the E\_REBO term.  The extent of the E\_LJ
interactions is determined by the *cutoff* argument to the pair\_style
The :math:`E^{\text{LJ}}` term in AIREBO contains a series of switching functions so
that the short-ranged LJ repulsion (:math:`1/r^{12}`) does not interfere with
the energetics captured by the :math:`E^{\text{REBO}}` term.  The extent of the :math:`E^{\text{LJ}}`
interactions is determined by the *cutoff* argument to the pair_style
command which is a scale factor.  For each type pair (C-C, C-H, H-H)
the cutoff is obtained by multiplying the scale factor by the sigma
value defined in the potential file for that type pair.  In the
standard AIREBO potential, sigma\_CC = 3.4 Angstroms, so with a scale
factor of 3.0 (the argument in pair\_style), the resulting E\_LJ cutoff
standard AIREBO potential, :math:`\sigma_{CC} = 3.4` Angstroms, so with a scale
factor of 3.0 (the argument in pair_style), the resulting :math:`E^{\text{LJ}}` cutoff
would be 10.2 Angstroms.

By default, the longer-ranged interaction is smoothly switched off
between 2.16 and 3.0 sigma. By specifying *cutoff\_min* in addition
between 2.16 and 3.0 :math:`\sigma`. By specifying *cutoff\_min* in addition
to *cutoff*\ , the switching can be configured to take place between
*cutoff\_min* and *cutoff*\ . *cutoff\_min* can only be specified if all
optional arguments are given.

The E\_TORSION term is an explicit 4-body potential that describes
The :math:`E^{\text{TORSION}}` term is an explicit 4-body potential that describes
various dihedral angle preferences in hydrocarbon configurations.


----------


Only a single pair\_coeff command is used with the *airebo*\ , *airebo*
Only a single pair_coeff command is used with the *airebo*\ , *airebo*
or *rebo* style which specifies an AIREBO, REBO, or AIREBO-M potential
file with parameters for C and H.  Note that as of LAMMPS version
15 May 2019 the *rebo* style in LAMMPS uses its own potential
file (CH.rebo).  These are mapped to LAMMPS atom types by specifying
N additional arguments after the filename in the pair\_coeff command,
N additional arguments after the filename in the pair_coeff command,
where N is the number of LAMMPS atom types:

* filename
* N element names = mapping of AIREBO elements to atom types
* :math:`N` element names = mapping of AIREBO elements to atom types

See the :doc:`pair_coeff <pair_coeff>` doc page for alternate ways
to specify the path for the potential file.

As an example, if your LAMMPS simulation has 4 atom types and you want
the 1st 3 to be C, and the 4th to be H, you would use the following
pair\_coeff command:
pair_coeff command:


.. parsed-literal::
.. code-block:: LAMMPS

   pair_coeff \* \* CH.airebo C C C H
   pair_coeff * * CH.airebo C C C H

The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types.
The first three C arguments map LAMMPS atom types 1,2,3 to the C
@@ -178,21 +181,21 @@ listed in the CH.airebo-m file to agree with the :ref:`(O'Connor) <OConnor>`
paper. Thus the parameters are specific to this potential and the way
it was fit, so modifying the file should be done cautiously. The
AIREBO-M Morse potentials were parameterized using a cutoff of
3.0 (sigma). Modifying this cutoff may impact simulation accuracy.
3.0 (:math:`\sigma`). Modifying this cutoff may impact simulation accuracy.

This pair style tallies a breakdown of the total AIREBO potential
energy into sub-categories, which can be accessed via the :doc:`compute pair <compute_pair>` command as a vector of values of length 3.
The 3 values correspond to the following sub-categories:

1. *E\_REBO* = REBO energy
2. *E\_LJ* = Lennard-Jones energy
3. *E\_TORSION* = Torsion energy
1. :math:`E_{\text{REBO}}` = REBO energy
2. :math:`E_{\text{LJ}}` = Lennard-Jones energy
3. :math:`E_{\text{TORSION}}` = Torsion energy

To print these quantities to the log file (with descriptive column
headings) the following commands could be included in an input script:


.. parsed-literal::
.. code-block:: LAMMPS

   compute 0 all pair airebo
   variable REBO     equal c_0[1]
@@ -232,12 +235,12 @@ These pair styles do not support the :doc:`pair_modify <pair_modify>`
mix, shift, table, and tail options.

These pair styles do not write their information to :doc:`binary restart files <restart>`, since it is stored in potential files.  Thus, you
need to re-specify the pair\_style and pair\_coeff commands in an input
need to re-specify the pair_style and pair_coeff commands in an input
script that reads a restart file.

These pair styles can only be used via the *pair* keyword of the
:doc:`run_style respa <run_style>` command.  They do not support the
*inner*\ , *middle*\ , *outer* keywords.
*inner* , *middle*, *outer* keywords.

Restrictions
""""""""""""