general rename of files, styles, and keywords from "reax/c", "reax", or "reaxc" to "reaxff"

This commit is contained in:
Axel Kohlmeyer 2021-07-21 21:36:16 -04:00
parent 5436975fa2
commit f8f4af471f
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
173 changed files with 1149 additions and 1298 deletions

View File

@ -25,15 +25,15 @@
endif()
if(PKG_REAXFF)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_init_md_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_forces_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxff_bond_orders_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_hydrogen_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_nonbonded_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_init_md_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_torsion_angles_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_forces_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_multi_body_omp.cpp
${OPENMP_SOURCES_DIR}/reaxff_valence_angles_omp.cpp)
endif()
target_sources(lammps PRIVATE ${OPENMP_SOURCES})

View File

@ -179,14 +179,14 @@ OPT.
* :doc:`qeq/dynamic <fix_qeq>`
* :doc:`qeq/fire <fix_qeq>`
* :doc:`qeq/point <fix_qeq>`
* :doc:`qeq/reax (ko) <fix_qeq_reax>`
* :doc:`qeq/reaxff (ko) <fix_qeq_reaxff>`
* :doc:`qeq/shielded <fix_qeq>`
* :doc:`qeq/slater <fix_qeq>`
* :doc:`qmmm <fix_qmmm>`
* :doc:`qtb <fix_qtb>`
* :doc:`rattle <fix_shake>`
* :doc:`reax/c/bonds (k) <fix_reaxc_bonds>`
* :doc:`reax/c/species (k) <fix_reaxc_species>`
* :doc:`reaxff/bonds (k) <fix_reaxff_bonds>`
* :doc:`reaxff/species (k) <fix_reaxff_species>`
* :doc:`recenter <fix_recenter>`
* :doc:`restrain <fix_restrain>`
* :doc:`rhok <fix_rhok>`

View File

@ -235,7 +235,7 @@ OPT.
* :doc:`python <pair_python>`
* :doc:`quip <pair_quip>`
* :doc:`rann <pair_rann>`
* :doc:`reax/c (ko) <pair_reaxc>`
* :doc:`reaxff (ko) <pair_reaxff>`
* :doc:`rebo (io) <pair_airebo>`
* :doc:`resquared (go) <pair_resquared>`
* :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>`

View File

@ -514,7 +514,7 @@ This will most likely cause errors in kinetic fluctuations.
will integrate the body motion, but it would be more efficient to use
fix rigid.
*Not using real units with pair reax*
*Not using real units with pair reaxff*
This is most likely an error, unless you have created your own ReaxFF
parameter file in a different set of units.
@ -805,5 +805,3 @@ This will most likely cause errors in kinetic fluctuations.
*Using pair tail corrections with pair_modify compute no*
The tail corrections will thus not be computed.
*pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c*
Self-explanatory.

View File

@ -2274,10 +2274,10 @@ for monitoring molecules as bonds are created and destroyed.
* src/REAXFF: filenames -> commands
* src/REAXFF/README
* :doc:`pair_style reax/c <pair_reaxc>`
* :doc:`fix reax/c/bonds <fix_reaxc_bonds>`
* :doc:`fix reax/c/species <fix_reaxc_species>`
* examples/reax
* :doc:`pair_style reaxff <pair_reaxff>`
* :doc:`fix reaxff/bonds <fix_reaxff_bonds>`
* :doc:`fix reaxff/species <fix_reaxff_species>`
* examples/reaxff
----------

View File

@ -370,7 +370,7 @@ whether an extra library is needed to build and use the package:
- no
* - :ref:`REAXFF <PKG-REAXFF>`
- ReaxFF potential (C/C++)
- :doc:`pair_style reaxc <pair_reaxc>`
- :doc:`pair_style reaxff <pair_reaxff>`
- reax
- no
* - :ref:`REPLICA <PKG-REPLICA>`

View File

@ -76,7 +76,6 @@ Post-processing tools
* :ref:`phonon <phonon>`
* :ref:`pymol_asphere <pymol>`
* :ref:`python <pythontools>`
* :ref:`reax <reax_tool>`
* :ref:`replica <replica>`
* :ref:`smd <smd>`
* :ref:`spin <spin>`
@ -947,20 +946,6 @@ while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com)
----------
.. _reax_tool:
reax tool
--------------------------
The reax sub-directory contains stand-alone codes that can
post-process the output of the :doc:`fix reax/c/bonds <fix_reaxc_bonds>`
command from a LAMMPS simulation using :doc:`ReaxFF <pair_reaxc>`. See
the README.txt file for more info.
These tools were written by Aidan Thompson at Sandia.
----------
.. _smd:
smd tool

View File

@ -24,7 +24,7 @@ Examples
compute 1 all pair gauss
compute 1 all pair lj/cut/coul/cut ecoul
compute 1 all pair tersoff 2 epair
compute 1 all pair reax/c
compute 1 all pair reaxff
Description
"""""""""""
@ -64,7 +64,8 @@ is stored as a global scalar.
:doc:`pair_modify <pair_modify>` command.
Some pair styles tally additional quantities, e.g. a breakdown of
potential energy into 14 components is tallied by the :doc:`pair_style reax/c <pair_reaxc>` command. These values (1 or more)
potential energy into 14 components is tallied by the
:doc:`pair_style reaxff <pair_reaxff>` command. These values (1 or more)
are stored as a global vector by this compute. See the doc page for
:doc:`individual pair styles <pair_style>` for info on these values.

View File

@ -322,14 +322,14 @@ accelerated styles exist.
* :doc:`qeq/dynamic <fix_qeq>` - charge equilibration via dynamic method
* :doc:`qeq/fire <fix_qeq>` - charge equilibration via FIRE minimizer
* :doc:`qeq/point <fix_qeq>` - charge equilibration via point method
* :doc:`qeq/reax <fix_qeq_reax>` - charge equilibration for ReaxFF potential
* :doc:`qeq/reaxff <fix_qeq_reaxff>` - charge equilibration for ReaxFF potential
* :doc:`qeq/shielded <fix_qeq>` - charge equilibration via shielded method
* :doc:`qeq/slater <fix_qeq>` - charge equilibration via Slater method
* :doc:`qmmm <fix_qmmm>` - functionality to enable a quantum mechanics/molecular mechanics coupling
* :doc:`qtb <fix_qtb>` - implement quantum thermal bath scheme
* :doc:`rattle <fix_shake>` - RATTLE constraints on bonds and/or angles
* :doc:`reax/c/bonds <fix_reaxc_bonds>` - write out ReaxFF bond information
* :doc:`reax/c/species <fix_reaxc_species>` - write out ReaxFF molecule information
* :doc:`reaxff/bonds <fix_reaxff_bonds>` - write out ReaxFF bond information
* :doc:`reaxff/species <fix_reaxff_species>` - write out ReaxFF molecule information
* :doc:`recenter <fix_recenter>` - constrain the center-of-mass position of a group of atoms
* :doc:`restrain <fix_restrain>` - constrain a bond, angle, dihedral
* :doc:`rhok <fix_rhok>` - add bias potential for long-range ordered systems

View File

@ -186,7 +186,7 @@ formulas for the meaning of these parameters:
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | E0,R0,m,n,coulombic_cutoff | type pairs |
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
| :doc:`reax/c <pair_reaxc>` | chi, eta, gamma | type global |
| :doc:`reaxff <pair_reaxff>` | chi, eta, gamma | type global |
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
| :doc:`snap <pair_snap>` | scale | type pairs |
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+

View File

@ -374,7 +374,7 @@ in the context of NVT dynamics.
has been reached.
With some pair_styles, such as :doc:`Buckingham <pair_buck>`,
:doc:`Born-Mayer-Huggins <pair_born>` and :doc:`ReaxFF <pair_reaxc>`, two
:doc:`Born-Mayer-Huggins <pair_born>` and :doc:`ReaxFF <pair_reaxff>`, two
atoms placed close to each other may have an arbitrary large, negative
potential energy due to the functional form of the potential. While
these unphysical configurations are inaccessible to typical dynamical

View File

@ -32,7 +32,7 @@ Syntax
* cutoff = global cutoff for charge-charge interactions (distance unit)
* tolerance = precision to which charges will be equilibrated
* maxiter = maximum iterations to perform charge equilibration
* qfile = a filename with QEq parameters or *coul/streitz* or *reax/c*
* qfile = a filename with QEq parameters or *coul/streitz* or *reaxff*
* zero or more keyword/value pairs may be appended
* keyword = *alpha* or *qdamp* or *qstep* or *warn*
@ -91,11 +91,11 @@ on the current atom configuration), then remove the fix via the
The :doc:`fix qeq/comb <fix_qeq_comb>` command must still be used to
perform charge equilibration with the :doc:`COMB potential
<pair_comb>`. The :doc:`fix qeq/reax <fix_qeq_reax>` command can be
<pair_comb>`. The :doc:`fix qeq/reaxff <fix_qeq_reaxff>` command can be
used to perform charge equilibration with the :doc:`ReaxFF force
field <pair_reaxc>`, although fix qeq/shielded yields the same
results as fix qeq/reax if *Nevery*\ , *cutoff*\ , and *tolerance*
are the same. Eventually the fix qeq/reax command will be
field <pair_reaxff>`, although fix qeq/shielded yields the same
results as fix qeq/reaxff if *Nevery*\ , *cutoff*\ , and *tolerance*
are the same. Eventually the fix qeq/reaxff command will be
deprecated.
The QEq method minimizes the electrostatic energy of the system (or
@ -150,11 +150,11 @@ interaction between a pair of charged particles. Interaction through
the shielded Coulomb is given by equation (13) of the :ref:`ReaxFF force
field <vanDuin>` paper. The shielding accounts for charge overlap
between charged particles at small separation. This style is the same
as :doc:`fix qeq/reax <fix_qeq_reax>`, and can be used with
:doc:`pair_style reax/c <pair_reaxc>`. Only the *chi*\ , *eta*\ , and
as :doc:`fix qeq/reaxff <fix_qeq_reaxff>`, and can be used with
:doc:`pair_style reaxff <pair_reaxff>`. Only the *chi*\ , *eta*\ , and
*gamma* parameters from the *qfile* file are used. When using the string
*reax/c* as filename, these parameters are extracted directly from an
active *reax/c* pair style. This style solves partial charges on atoms
*reaxff* as filename, these parameters are extracted directly from an
active *reaxff* pair style. This style solves partial charges on atoms
via the matrix inversion method. A tolerance of 1.0e-6 is usually a
good number.
@ -235,7 +235,7 @@ The qeq fixes are not compatible with the GPU and USER-INTEL packages.
Related commands
""""""""""""""""
:doc:`fix qeq/reax <fix_qeq_reax>`, :doc:`fix qeq/comb <fix_qeq_comb>`
:doc:`fix qeq/reaxff <fix_qeq_reaxff>`, :doc:`fix qeq/comb <fix_qeq_comb>`
Default
"""""""

View File

@ -41,7 +41,7 @@ Perform charge equilibration (QeQ) in conjunction with the COMB
equilibration portion of the calculation using the so-called QEq
method, whereby the charge on each atom is adjusted to minimize the
energy of the system. This fix can only be used with the COMB
potential; see the :doc:`fix qeq/reax <fix_qeq_reax>` command for a QeQ
potential; see the :doc:`fix qeq/reaxff <fix_qeq_reaxff>` command for a QeQ
calculation that can be used with any potential.
Only charges on the atoms in the specified group are equilibrated.

View File

@ -1,31 +1,31 @@
.. index:: fix qeq/reax
.. index:: fix qeq/reax/kk
.. index:: fix qeq/reax/omp
.. index:: fix qeq/reaxff
.. index:: fix qeq/reaxff/kk
.. index:: fix qeq/reaxff/omp
fix qeq/reax command
====================
fix qeq/reaxff command
======================
Accelerator Variants: *qeq/reax/kk*, *qeq/reax/omp*
Accelerator Variants: *qeq/reaxff/kk*, *qeq/reaxff/omp*
Syntax
""""""
.. parsed-literal::
fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params args
fix ID group-ID qeq/reaxff Nevery cutlo cuthi tolerance params args
* ID, group-ID are documented in :doc:`fix <fix>` command
* qeq/reax = style name of this fix command
* qeq/reaxff = style name of this fix command
* Nevery = perform QEq every this many steps
* cutlo,cuthi = lo and hi cutoff for Taper radius
* tolerance = precision to which charges will be equilibrated
* params = reax/c or a filename
* params = reaxff or a filename
* one or more keywords or keyword/value pairs may be appended
.. parsed-literal::
keyword = *dual* or *maxiter* or *nowarn*
*dual* = process S and T matrix in parallel (only for qeq/reax/omp)
*dual* = process S and T matrix in parallel (only for qeq/reaxff/omp)
*maxiter* N = limit the number of iterations to *N*
*nowarn* = do not print a warning message if the maximum number of iterations was reached
@ -34,8 +34,8 @@ Examples
.. code-block:: LAMMPS
fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c
fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq maxiter 500
fix 1 all qeq/reaxff 1 0.0 10.0 1.0e-6 reaxff
fix 1 all qeq/reaxff 1 0.0 10.0 1.0e-6 param.qeq maxiter 500
Description
"""""""""""
@ -43,19 +43,19 @@ Description
Perform the charge equilibration (QEq) method as described in
:ref:`(Rappe and Goddard) <Rappe2>` and formulated in :ref:`(Nakano)
<Nakano2>`. It is typically used in conjunction with the ReaxFF force
field model as implemented in the :doc:`pair_style reax/c <pair_reaxc>`
field model as implemented in the :doc:`pair_style reaxff <pair_reaxff>`
command, but it can be used with any potential in LAMMPS, so long as it
defines and uses charges on each atom. The :doc:`fix qeq/comb
<fix_qeq_comb>` command should be used to perform charge equilibration
with the :doc:`COMB potential <pair_comb>`. For more technical details
about the charge equilibration performed by fix qeq/reax, see the
about the charge equilibration performed by fix qeq/reaxff, see the
:ref:`(Aktulga) <qeq-Aktulga>` paper.
The QEq method minimizes the electrostatic energy of the system by
adjusting the partial charge on individual atoms based on interactions
with their neighbors. It requires some parameters for each atom type.
If the *params* setting above is the word "reax/c", then these are
extracted from the :doc:`pair_style reax/c <pair_reaxc>` command and
If the *params* setting above is the word "reaxff", then these are
extracted from the :doc:`pair_style reaxff <pair_reaxff>` command and
the ReaxFF force field file it reads in. If a file name is specified
for *params*\ , then the parameters are taken from the specified file
and the file must contain one line for each atom type. The latter
@ -76,7 +76,7 @@ of this fix are hard-coded to be A, eV, and electronic charge.
The optional *dual* keyword allows to perform the optimization
of the S and T matrices in parallel. This is only supported for
the *qeq/reax/omp* style. Otherwise they are processed separately.
the *qeq/reaxff/omp* style. Otherwise they are processed separately.
The optional *maxiter* keyword allows changing the max number
of iterations in the linear solver. The default value is 200.
@ -119,7 +119,7 @@ periodic cell dimensions less than 10 angstroms.
Related commands
""""""""""""""""
:doc:`pair_style reax/c <pair_reaxc>`
:doc:`pair_style reaxff <pair_reaxff>`, :doc:`fix qeq/shielded <fix_qeq>`
Default
"""""""

View File

@ -1,17 +1,17 @@
.. index:: fix reax/c/bonds
.. index:: fix reax/c/bonds/kk
.. index:: fix reaxff/bonds
.. index:: fix reaxff/bonds/kk
fix reax/c/bonds command
fix reaxff/bonds command
========================
Accelerator Variants: *reax/c/bonds/kk*
Accelerator Variants: *reaxff/bonds/kk*
Syntax
""""""
.. parsed-literal::
fix ID group-ID reaxc/bonds Nevery filename
fix ID group-ID reaxff/bonds Nevery filename
* ID, group-ID are documented in :doc:`fix <fix>` command
* reax/bonds = style name of this fix command
@ -23,17 +23,17 @@ Examples
.. code-block:: LAMMPS
fix 1 all reax/c/bonds 100 bonds.reaxc
fix 1 all reaxff/bonds 100 bonds.reaxff
Description
"""""""""""
Write out the bond information computed by the ReaxFF potential specified
by :doc:`pair_style reax/c <pair_reaxc>` in the exact same format as the
by :doc:`pair_style reaxff <pair_reaxff>` in the exact same format as the
original stand-alone ReaxFF code of Adri van Duin. The bond information
is written to *filename* on timesteps that are multiples of *Nevery*\ ,
including timestep 0. For time-averaged chemical species analysis,
please see the :doc:`fix reaxc/c/species <fix_reaxc_species>` command.
please see the :doc:`fix reaxff/species <fix_reaxff_species>` command.
The specified group-ID is ignored by this fix.
@ -76,7 +76,7 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim
Restrictions
""""""""""""
The fix reax/c/bonds command requires that the :doc:`pair_style reax/c <pair_reaxc>` is invoked. This fix is part of the
The fix reaxff/bonds command requires that the :doc:`pair_style reaxff <pair_reaxff>` is invoked. This fix is part of the
REAXFF package. It is only enabled if LAMMPS was built with that
package. See the :doc:`Build package <Build_package>` doc page for more
info.
@ -87,7 +87,7 @@ To write gzipped bond files, you must compile LAMMPS with the
Related commands
""""""""""""""""
:doc:`pair_style reax/c <pair_reaxc>`, :doc:`fix reax/c/species <fix_reaxc_species>`
:doc:`pair_style reaxff <pair_reaxff>`, :doc:`fix reaxff/species <fix_reaxff_species>`
Default
"""""""

View File

@ -1,20 +1,20 @@
.. index:: fix reax/c/species
.. index:: fix reax/c/species/kk
.. index:: fix reaxff/species
.. index:: fix reaxff/species/kk
fix reax/c/species command
fix reaxff/species command
==========================
Accelerator Variants: *reax/c/species/kk*
Accelerator Variants: *reaxff/species/kk*
Syntax
""""""
.. parsed-literal::
fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ...
fix ID group-ID reaxff/species Nevery Nrepeat Nfreq filename keyword value ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* reax/c/species = style name of this command
* reaxff/species = style name of this command
* Nevery = sample bond-order every this many timesteps
* Nrepeat = # of bond-order samples used for calculating averages
* Nfreq = calculate average bond-order every this many timesteps
@ -37,15 +37,15 @@ Examples
.. code-block:: LAMMPS
fix 1 all reax/c/species 10 10 100 species.out
fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55
fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos
fix 1 all reaxff/species 10 10 100 species.out
fix 1 all reaxff/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55
fix 1 all reaxff/species 1 100 100 species.out element Au O H position 1000 AuOH.pos
Description
"""""""""""
Write out the chemical species information computed by the ReaxFF
potential specified by :doc:`pair_style reax/c <pair_reaxc>`.
potential specified by :doc:`pair_style reaxff <pair_reaxff>`.
Bond-order values (either averaged or instantaneous, depending on
value of *Nrepeat*\ ) are used to determine chemical bonds. Every
*Nfreq* timesteps, chemical species information is written to
@ -73,7 +73,7 @@ symbol printed for each LAMMPS atom type. The number of symbols must
match the number of LAMMPS atom types and each symbol must consist of
1 or 2 alphanumeric characters. Normally, these symbols should be
chosen to match the chemical identity of each LAMMPS atom type, as
specified using the :doc:`reax/c pair_coeff <pair_reaxc>` command and
specified using the :doc:`reaxff pair_coeff <pair_reaxff>` command and
the ReaxFF force field file.
The optional keyword *position* writes center-of-mass positions of
@ -115,12 +115,12 @@ average bond-order for the species analysis output on timestep 100.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
are relevant to this fix.
No information about this fix is written to :doc:`binary restart files <restart>`.
None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix.
This fix computes both a global vector of length 2 and a per-atom
vector, either of which can be accessed by various :doc:`output commands <Howto_output>`. The values in the global vector are
"intensive".
This fix computes both a global vector of length 2 and a per-atom vector,
either of which can be accessed by various :doc:`output commands <Howto_output>`.
The values in the global vector are "intensive".
The 2 values in the global vector are as follows:
@ -134,7 +134,8 @@ will be the same and will be equal to the smallest atom ID of
any atom in the molecule.
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command.
This fix is not invoked during :doc:`energy minimization <minimize>`.
----------
@ -145,26 +146,20 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim
Restrictions
""""""""""""
The "fix reax/c/species" currently only works with :doc:`pair_style reax/c <pair_reaxc>` and it requires that the :doc:`pair_style reax/c <pair_reaxc>` be invoked. This fix is part of the
REAXFF package. It is only enabled if LAMMPS was built with that
package. See the :doc:`Build package <Build_package>` doc page for more
info.
The "fix reaxff/species" requires that :doc:`pair_style reaxff <pair_reaxff>` is used.
This fix is part of the REAXFF package. It is only enabled if LAMMPS was built with that
package. See the :doc:`Build package <Build_package>` doc page for more info.
To write gzipped species files, you must compile LAMMPS with the
-DLAMMPS_GZIP option.
It should be possible to extend it to other reactive pair_styles (such as
:doc:`rebo <pair_airebo>`, :doc:`airebo <pair_airebo>`,
:doc:`comb <pair_comb>`, and :doc:`bop <pair_bop>`), but this has not yet been done.
To write gzipped species files, you must compile LAMMPS with the -DLAMMPS_GZIP option.
Related commands
""""""""""""""""
:doc:`pair_style reax/c <pair_reaxc>`, :doc:`fix reax/c/bonds <fix_reaxc_bonds>`
:doc:`pair_style reaxff <pair_reaxff>`, :doc:`fix reaxff/bonds <fix_reaxff_bonds>`
Default
"""""""
The default values for bond-order cutoffs are 0.3 for all I-J pairs. The
default element symbols are C, H, O, N. Position files are not written
by default.
The default values for bond-order cutoffs are 0.3 for all I-J pairs.
The default element symbols are C, H, O, N.
Position files are not written by default.

View File

@ -372,9 +372,9 @@ the *kim interactions* command executes the following LAMMPS input commands:
.. code-block:: LAMMPS
pair_style reax/c lmp_control safezone 2.0 mincap 100
pair_style reaxff lmp_control safezone 2.0 mincap 100
pair_coeff * * ffield.reax.rdx C H N O
fix reaxqeq all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq
fix reaxqeq all qeq/reaxff 1 0.0 10.0 1.0e-6 param.qeq
.. note::

View File

@ -448,7 +448,8 @@ does not require atomic operations in the calculation of pair forces. For
that reason, *full* is the default setting for GPUs. However, when
running on CPUs, a *half* neighbor list is the default because it are
often faster, just as it is for non-accelerated pair styles. Similarly,
the *neigh/qeq* keyword determines how neighbor lists are built for :doc:`fix qeq/reax/kk <fix_qeq_reax>`.
the *neigh/qeq* keyword determines how neighbor lists are built for
:doc:`fix qeq/reaxff/kk <fix_qeq_reaxff>`.
If the *neigh/thread* keyword is set to *off*\ , then the KOKKOS package
threads only over atoms. However, for small systems, this may not expose

View File

@ -1,18 +1,18 @@
.. index:: pair_style reax/c
.. index:: pair_style reax/c/kk
.. index:: pair_style reax/c/omp
.. index:: pair_style reaxff
.. index:: pair_style reaxff/kk
.. index:: pair_style reaxff/omp
pair_style reax/c command
pair_style reaxff command
=========================
Accelerator Variants: *reax/c/kk*, *reax/c/omp*
Accelerator Variants: *reaxff/kk*, *reaxff/omp*
Syntax
""""""
.. code-block:: LAMMPS
pair_style reax/c cfile keyword value
pair_style reaxff cfile keyword value
* cfile = NULL or name of a control file
* zero or more keyword/value pairs may be appended
@ -20,7 +20,7 @@ Syntax
.. parsed-literal::
keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* or *minhbonds*
*checkqeq* value = *yes* or *no* = whether or not to require qeq/reax fix
*checkqeq* value = *yes* or *no* = whether or not to require qeq/reaxff fix
*enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds
*lgvdw* value = *yes* or *no* = whether or not to use a low gradient vdW correction
*safezone* = factor used for array allocation
@ -32,37 +32,38 @@ Examples
.. code-block:: LAMMPS
pair_style reax/c NULL
pair_style reax/c controlfile checkqeq no
pair_style reax/c NULL lgvdw yes
pair_style reax/c NULL safezone 1.6 mincap 100
pair_style reaxff NULL
pair_style reaxff controlfile checkqeq no
pair_style reaxff NULL lgvdw yes
pair_style reaxff NULL safezone 1.6 mincap 100
pair_coeff * * ffield.reax C H O N
Description
"""""""""""
Style *reax/c* computes the ReaxFF potential of van Duin, Goddard and
Style *reaxff* 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: :ref:`(Chenoweth et al., 2008) <Chenoweth_20082>`. The version integrated into LAMMPS matches
the most up-to-date version of ReaxFF as of summer 2010. For more
technical details about the pair reax/c implementation of ReaxFF, see
the :ref:`(Aktulga) <Aktulga>` paper. The *reax/c* style was initially
implemented as a stand-alone C code and is now integrated into LAMMPS
as a package.
supplemental information of the following paper:
:ref:`(Chenoweth et al., 2008) <Chenoweth_20082>`. The version integrated
into LAMMPS matches the version of ReaxFF From Summer 2010. For more
technical details about the pair reaxff implementation of ReaxFF, see
the :ref:`(Aktulga) <Aktulga>` paper. The *reaxff* style was initially
implemented as a stand-alone C code and is now converted to C++ and
integrated into LAMMPS as a package.
The *reax/c/kk* style is a Kokkos version of the ReaxFF potential that
is derived from the *reax/c* style. The Kokkos version can run on GPUs
The *reaxff/kk* style is a Kokkos version of the ReaxFF potential that
is derived from the *reaxff* style. The Kokkos version can run on GPUs
and can also use OpenMP multithreading. For more information about the
Kokkos package, see :doc:`Packages details <Packages_details>` and
:doc:`Speed kokkos <Speed_kokkos>` doc pages. One important
consideration when using the *reax/c/kk* style is the choice of either
consideration when using the *reaxff/kk* style is the choice of either
half or full neighbor lists. This setting can be changed using the
Kokkos :doc:`package <package>` command.
The *reax/c* style differs from the (obsolete) "pair_style reax"
The *reaxff* style differs from the (obsolete) "pair_style reax"
command in the implementation details. The *reax* style was a
Fortran library, linked to LAMMPS. The *reax* style has been removed
from LAMMPS after the 12 December 2018 version.
@ -73,7 +74,7 @@ documented in potentials/README.reax. The default ffield.reax
contains parameterizations for the following elements: C, H, O, N.
The format of these files is identical to that used originally by van
Duin. We have tested the accuracy of *pair_style reax/c* potential
Duin. We have tested the accuracy of *pair_style reaxff* 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
@ -102,10 +103,11 @@ control variable. The format of the control file is described below.
The LAMMPS default values for the ReaxFF global parameters
correspond to those used by Adri van Duin's stand-alone serial
code. If these are changed by setting control variables in the control
file, the results from LAMMPS and the serial code will not agree.
code. If these are changed by setting control variables in the
control file, the results from LAMMPS and the serial code will
not agree.
Examples using *pair_style reax/c* are provided in the examples/reax
Examples using *pair_style reaxff* are provided in the examples/reax
sub-directory.
Use of this pair style requires that a charge be defined for every
@ -115,25 +117,28 @@ charges.
The ReaxFF parameter files provided were created using a charge
equilibration (QEq) model for handling the electrostatic interactions.
Therefore, by default, LAMMPS requires that the :doc:`fix qeq/reax <fix_qeq_reax>` command be used with *pair_style reax/c*
when simulating a ReaxFF model, to equilibrate charge each timestep.
Using the keyword *checkqeq* with the value *no*
turns off the check for *fix qeq/reax*\ ,
allowing a simulation to be run without charge equilibration.
In this case, the static charges you
assign to each atom will be used for computing the electrostatic
interactions in the system.
See the :doc:`fix qeq/reax <fix_qeq_reax>` command for details.
Therefore, by default, LAMMPS requires that either the
:doc:`fix qeq/reaxff <fix_qeq_reaxff>` or the
:doc:`fix qeq/shielded <fix_qeq>` command be used with
*pair_style reaxff* when simulating a ReaxFF model, to equilibrate
the charges each timestep.
Using the keyword *checkqeq* with the value *no* turns off the check
for the QEq fixes, allowing a simulation to be run without charge
equilibration. In this case, the static charges you assign to each
atom will be used for computing the electrostatic interactions in
the system. See the :doc:`fix qeq/reaxff <fix_qeq_reaxff>` or
:doc:`fix qeq/shielded <fix_qeq>` command documentation for more details.
Using the optional keyword *lgvdw* with the value *yes* turns on the
low-gradient correction of the ReaxFF/C for long-range London
Dispersion, as described in the :ref:`(Liu) <Liu_2011>` paper. Force field
file *ffield.reax.lg* is designed for this correction, and is trained
for several energetic materials (see "Liu"). When using lg-correction,
recommended value for parameter *thb* is 0.01, which can be set in the
low-gradient correction of ReaxFF for long-range London Dispersion,
as described in the :ref:`(Liu) <Liu_2011>` paper. The bundled force
field file *ffield.reax.lg* is designed for this correction, and is
trained for several energetic materials (see "Liu"). When using *lgvdw yes*,
the recommended value for parameter *thb* is 0.01, which can be set in the
control file. Note: Force field files are different for the original
or lg corrected pair styles, using wrong ffield file generates an
error message.
or lg corrected pair styles, using the wrong ffield file generates an
error.
Using the optional keyword *enobonds* with the value *yes*\ , the energy
of atoms with no bonds (i.e. isolated atoms) is included in the total
@ -144,7 +149,7 @@ discontinuities in the potential energy when the bonding of an atom
drops to zero.
Optional keywords *safezone*\ , *mincap*\ , and *minhbonds* are used
for allocating reax/c arrays. Increasing these values can avoid memory
for allocating reaxff arrays. Increasing these values can avoid memory
problems, such as segmentation faults and bondchk failed errors, that
could occur under certain conditions. These keywords are not used by
the Kokkos version, which instead uses a more robust memory allocation
@ -158,7 +163,8 @@ equilibration contributions which are stored in the thermo variable
:doc:`thermo <thermo>` command.
This pair style tallies a breakdown of the total ReaxFF potential
energy into sub-categories, which can be accessed via the :doc:`compute pair <compute_pair>` command as a vector of values of length 14.
energy into sub-categories, which can be accessed via the
:doc:`compute pair <compute_pair>` 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 original FORTRAN ReaxFF
code):
@ -183,14 +189,14 @@ headings) the following commands could be included in an input script:
.. code-block:: LAMMPS
compute reax all pair reax/c
compute reax all pair reaxff
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
Only a single pair_coeff command is used with the *reax/c* style which
Only a single pair_coeff command is used with the *reaxff* 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,
@ -209,7 +215,7 @@ 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 the *reax/c* style is used as part
performed. This can be used when the *reaxff* style is used as part
of the *hybrid* pair style. The NULL values are placeholders for atom
types that will be used with other potentials.
@ -241,7 +247,7 @@ brief description of their use and default values.
*simulation_name*
Output files produced by *pair_style reax/c* carry
Output files produced by *pair_style reaxff* carry
this name + extensions specific to their contents. Partial energies
are reported with a ".pot" extension, while the trajectory file has
".trj" extension.
@ -286,8 +292,7 @@ brief description of their use and default values.
to be considered in three body interactions. (default value = 0.00001)
*write_freq*
Frequency of writes into the trajectory file. (default
value = 0)
Frequency of writes into the trajectory file. (default value = 0)
*traj_title*
Title of the trajectory - not the name of the trajectory file.
@ -315,7 +320,8 @@ Mixing, shift, table, tail correction, restart, rRESPA info
This pair style does not support the :doc:`pair_modify <pair_modify>`
mix, shift, table, and tail options.
This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you
This pair style does not write its 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
script that reads a restart file.
@ -333,18 +339,20 @@ Restrictions
""""""""""""
This pair style is part of the REAXFF package. It is only enabled
if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
if LAMMPS was built with that package.
See the :doc:`Build package <Build_package>` doc page for more info.
The ReaxFF potential files provided with LAMMPS in the potentials
directory are parameterized for real :doc:`units <units>`. You can use
the ReaxFF potential with any LAMMPS units, but you would need to
directory are parameterized for *real* :doc:`units <units>`. You can use
the ReaxFF pair style with any LAMMPS units, but you would need to
create your own potential file with coefficients listed in the
appropriate units if your simulation does not use "real" units.
Related commands
""""""""""""""""
:doc:`pair_coeff <pair_coeff>`, :doc:`fix qeq/reax <fix_qeq_reax>`, :doc:`fix reax/c/bonds <fix_reaxc_bonds>`, :doc:`fix reax/c/species <fix_reaxc_species>`
:doc:`pair_coeff <pair_coeff>`, :doc:`fix qeq/reaxff <fix_qeq_reaxff>`,
:doc:`fix reaxff/bonds <fix_reaxff_bonds>`, :doc:`fix reaxff/species <fix_reaxff_species>`
Default
"""""""

View File

@ -299,7 +299,7 @@ accelerated styles exist.
* :doc:`python <pair_python>` -
* :doc:`quip <pair_quip>` -
* :doc:`rann <pair_rann>` -
* :doc:`reax/c <pair_reaxc>` - ReaxFF potential in C
* :doc:`reaxff <pair_reaxff>` - ReaxFF potential
* :doc:`rebo <pair_airebo>` - second generation REBO potential of Brenner
* :doc:`resquared <pair_resquared>` - Everaers RE-Squared ellipsoidal potential
* :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>` - smoothed dissipative particle dynamics for water at isothermal conditions

View File

@ -254,40 +254,27 @@ for command_type, entries in index.items():
print("Total number of style index entries:", total_index)
skip_fix = ('python', 'NEIGH_HISTORY/omp','qeq/reax','reax/c/bonds','reax/c/species')
skip_pair = ('meam/c','lj/sf','reax/c')
counter = 0
counter += check_style('Commands_all.rst', doc_dir, ":doc:`(.+) <.+>`",
command,'Command',suffix=False)
counter += check_style('Commands_compute.rst', doc_dir, ":doc:`(.+) <compute.+>`",
compute,'Compute',suffix=True)
counter += check_style('compute.rst', doc_dir, ":doc:`(.+) <compute.+>` -",
compute,'Compute',suffix=False)
counter += check_style('Commands_fix.rst', doc_dir, ":doc:`(.+) <fix.+>`",
fix,'Fix',skip=('python', 'NEIGH_HISTORY/omp'),suffix=True)
counter += check_style('fix.rst', doc_dir, ":doc:`(.+) <fix.+>` -",
fix,'Fix',skip=('python', 'NEIGH_HISTORY/omp'),suffix=False)
counter += check_style('Commands_pair.rst', doc_dir, ":doc:`(.+) <pair.+>`",
pair,'Pair',skip=('meam/c','lj/sf'),suffix=True)
counter += check_style('pair_style.rst', doc_dir, ":doc:`(.+) <pair.+>` -",
pair,'Pair',skip=('meam/c','lj/sf'),suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <bond.+>`",
bond,'Bond',suffix=True)
counter += check_style('bond_style.rst', doc_dir, ":doc:`(.+) <bond.+>` -",
bond,'Bond',suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <angle.+>`",
angle,'Angle',suffix=True)
counter += check_style('angle_style.rst', doc_dir, ":doc:`(.+) <angle.+>` -",
angle,'Angle',suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <dihedral.+>`",
dihedral,'Dihedral',suffix=True)
counter += check_style('dihedral_style.rst', doc_dir, ":doc:`(.+) <dihedral.+>` -",
dihedral,'Dihedral',suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <improper.+>`",
improper,'Improper',suffix=True)
counter += check_style('improper_style.rst', doc_dir, ":doc:`(.+) <improper.+>` -",
improper,'Improper',suffix=False)
counter += check_style('Commands_kspace.rst', doc_dir, ":doc:`(.+) <kspace_style>`",
kspace,'KSpace',suffix=True)
counter += check_style('Commands_all.rst', doc_dir, ":doc:`(.+) <.+>`",command,'Command',suffix=False)
counter += check_style('Commands_compute.rst', doc_dir, ":doc:`(.+) <compute.+>`",compute,'Compute',suffix=True)
counter += check_style('compute.rst', doc_dir, ":doc:`(.+) <compute.+>` -",compute,'Compute',suffix=False)
counter += check_style('Commands_fix.rst', doc_dir, ":doc:`(.+) <fix.+>`",fix,'Fix',skip=skip_fix,suffix=True)
counter += check_style('fix.rst', doc_dir, ":doc:`(.+) <fix.+>` -",fix,'Fix',skip=skip_fix,suffix=False)
counter += check_style('Commands_pair.rst', doc_dir, ":doc:`(.+) <pair.+>`",pair,'Pair',skip=skip_pair,suffix=True)
counter += check_style('pair_style.rst', doc_dir, ":doc:`(.+) <pair.+>` -",pair,'Pair',skip=skip_pair,suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <bond.+>`",bond,'Bond',suffix=True)
counter += check_style('bond_style.rst', doc_dir, ":doc:`(.+) <bond.+>` -",bond,'Bond',suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <angle.+>`",angle,'Angle',suffix=True)
counter += check_style('angle_style.rst', doc_dir, ":doc:`(.+) <angle.+>` -",angle,'Angle',suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <dihedral.+>`",dihedral,'Dihedral',suffix=True)
counter += check_style('dihedral_style.rst', doc_dir, ":doc:`(.+) <dihedral.+>` -",dihedral,'Dihedral',suffix=False)
counter += check_style('Commands_bond.rst', doc_dir, ":doc:`(.+) <improper.+>`",improper,'Improper',suffix=True)
counter += check_style('improper_style.rst', doc_dir, ":doc:`(.+) <improper.+>` -",improper,'Improper',suffix=False)
counter += check_style('Commands_kspace.rst', doc_dir, ":doc:`(.+) <kspace_style>`",kspace,'KSpace',suffix=True)
if counter:
print(f"Found {counter} issue(s) with style lists")
@ -295,13 +282,13 @@ if counter:
counter = 0
counter += check_style_index("compute", compute, index["compute"])
counter += check_style_index("fix", fix, index["fix"], skip=['python'])
counter += check_style_index("fix", fix, index["fix"], skip=['python','qeq/reax','reax/c/bonds','reax/c/species'])
counter += check_style_index("angle_style", angle, index["angle_style"])
counter += check_style_index("bond_style", bond, index["bond_style"])
counter += check_style_index("dihedral_style", dihedral, index["dihedral_style"])
counter += check_style_index("improper_style", improper, index["improper_style"])
counter += check_style_index("kspace_style", kspace, index["kspace_style"])
counter += check_style_index("pair_style", pair, index["pair_style"], skip=['meam/c', 'lj/sf'])
counter += check_style_index("pair_style", pair, index["pair_style"], skip=['meam/c', 'lj/sf','reax/c'])
if counter:
print(f"Found {counter} issue(s) with style index")

View File

@ -103,7 +103,7 @@ pour: pouring of granular particles into a 3d box, then chute flow
prd: parallel replica dynamics of vacancy diffusion in bulk Si
python: use of PYTHON package to invoke Python code from input script
qeq: use of QEQ package for charge equilibration
reax: RDX and TATB and several other models using ReaxFF
reaxff: RDX and TATB and several other models using ReaxFF
rerun: use of rerun and read_dump commands
rigid: rigid bodies modeled as independent or coupled
shear: sideways shear applied to 2d solid, with and without a void

Some files were not shown because too many files have changed in this diff Show More