Update pair_atm docs

This commit is contained in:
Richard Berger
2020-02-08 19:24:27 +01:00
parent 712dbe6acc
commit 86ebc8260e
3 changed files with 59 additions and 64 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -1,9 +0,0 @@
\documentclass[12pt]{article}
\begin{document}
\begin{equation}
E=\nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3}
\end{equation}
\end{document}

View File

@ -1,13 +1,13 @@
.. index:: pair\_style atm
.. index:: pair_style atm
pair\_style atm command
=======================
pair_style atm command
======================
Syntax
""""""
.. parsed-literal::
.. code-block:: LAMMPS
pair_style atm cutoff cutoff_triple
@ -18,13 +18,13 @@ Examples
""""""""
.. parsed-literal::
.. code-block:: LAMMPS
pair_style atm 4.5 2.5
pair_coeff \* \* \* 0.072
pair_coeff * * * 0.072
pair_style hybrid/overlay lj/cut 6.5 atm 4.5 2.5
pair_coeff \* \* lj/cut 1.0 1.0
pair_coeff * * lj/cut 1.0 1.0
pair_coeff 1 1 atm 1 0.064
pair_coeff 1 1 atm 2 0.080
pair_coeff 1 2 atm 2 0.100
@ -36,91 +36,95 @@ Description
The *atm* style computes a 3-body :ref:`Axilrod-Teller-Muto <Axilrod>`
potential for the energy E of a system of atoms as
.. image:: Eqs/pair_atm.jpg
:align: center
.. math::
where nu is the three-body interaction strength. The distances
between pairs of atoms r12, r23, r31 and the angles gamma1, gamma2,
gamma3 are as shown in this diagram:
E & = \nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3} \\
where :math:`\nu` is the three-body interaction strength. The distances
between pairs of atoms :math:`r_{12}`, :math:`r_{23}`, :math:`r_{31}` and the angles :math:`\gamma_1`, :math:`\gamma_2`,
:math:`\gamma_3` are as shown in this diagram:
.. image:: JPG/pair_atm_dia.jpg
:align: center
Note that for the interaction between a triplet of atoms I,J,K, there
Note that for the interaction between a triplet of atoms :math:`I,J,K`, there
is no "central" atom. The interaction is symmetric with respect to
permutation of the three atoms. Thus the nu value is
the same for all those permutations of the atom types of I,J,K
permutation of the three atoms. Thus the :math:`\nu` value is
the same for all those permutations of the atom types of :math:`I,J,K`
and needs to be specified only once, as discussed below.
The *atm* potential is typically used in combination with a two-body
potential using the :doc:`pair_style hybrid/overlay <pair_hybrid>`
command as in the example above.
The potential for a triplet of atom is calculated only if all 3
distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff.
In addition, the product of the 3 distances r12\*r23\*r31 <
cutoff\_triple\^3 is required, which excludes from calculation the
triplets with small contribution to the interaction.
The potential for a triplet of atom is calculated only if all 3 distances
:math:`r_{12}`, :math:`r_{23}`, :math:`r_{31}` between the 3 atoms satisfy
:math:`r_{IJ} < \text{cutoff}`. In addition, the product of the 3 distances
:math:`r_{12} r_{23} r_{31} < \text{cutoff_triple}^3` is required, which
excludes from calculation the triplets with small contribution to the
interaction.
The following coefficients must be defined for each pair of atoms
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
above, or in the restart files read by the
:doc:`read_restart <read_restart>` commands:
* K = atom type of the third atom (1 to Ntypes)
* nu = prefactor (energy/distance\^9 units)
* :math:`K` = atom type of the third atom (1 to :math:`N_{\text{types}}`)
* :math:`\nu` = prefactor (energy/distance\^9 units)
K can be specified in one of two ways. An explicit numeric value can
be used, as in the 2nd example above. J <= K is required. LAMMPS
sets the coefficients for the other 5 symmetric interactions to the
same values. E.g. if I = 1, J = 2, K = 3, then these 6 values are set
to the specified nu: nu123, nu132, nu213, nu231, nu312, nu321. This
enforces the symmetry discussed above.
:math:`K` can be specified in one of two ways. An explicit numeric value can
be used, as in the 2nd example above. :math:`J \leq K` is required. LAMMPS
sets the coefficients for the other 5 symmetric interactions to the same
values. E.g. if :math:`I = 1`, :math:`J = 2`, :math:`K = 3`, then these 6
values are set to the specified :math:`\nu`: :math:`\nu_{123}`,
:math:`\nu_{132}`, :math:`\nu_{213}`, :math:`\nu_{231}`, :math:`\nu_{312}`,
:math:`\nu_{321}`. This enforces the symmetry discussed above.
A wildcard asterisk can be used for K to set the coefficients for
multiple triplets of atom types. This takes the form "\*" or "\*n" or
"n\*" or "m\*n". If N = the number of atom types, then an asterisk with
no numeric values means all types from 1 to N. A leading asterisk
means all types from 1 to n (inclusive). A trailing asterisk means
all types from n to N (inclusive). A middle asterisk means all types
from m to n (inclusive). Note that only type triplets with J <= K are
considered; if asterisks imply type triplets where K < J, they are
"n\*" or "m\*n". If :math:`N` equals the number of atom types, then an asterisk with
no numeric values means all types from 1 to :math:`N`. A leading asterisk
means all types from 1 to :math:`n` (inclusive). A trailing asterisk means
all types from :math:`n` to :math:`N` (inclusive). A middle asterisk means all types
from :math:`m` to :math:`n` (inclusive). Note that only type triplets with :math:`J \leq K` are
considered; if asterisks imply type triplets where :math:`K < J`, they are
ignored.
Note that a pair\_coeff command can override a previous setting for the
same I,J,K triplet. For example, these commands set nu for all I,J.K
triplets, then overwrite nu for just the I,J,K = 2,3,4 triplet:
Note that a pair_coeff command can override a previous setting for the
same :math:`I,J,K` triplet. For example, these commands set :math:`\nu` for all :math:`I,J.K`
triplets, then overwrite nu for just the :math:`I,J,K = 2,3,4` triplet:
.. parsed-literal::
.. code-block:: LAMMPS
pair_coeff \* \* \* 0.25
pair_coeff * * * 0.25
pair_coeff 2 3 4 0.1
Note that for a simulation with a single atom type, only a single
entry is required, e.g.
.. parsed-literal::
.. code-block:: LAMMPS
pair_coeff 1 1 1 0.25
For a simulation with two atom types, four pair\_coeff commands will
For a simulation with two atom types, four pair_coeff commands will
specify all possible nu values:
.. parsed-literal::
.. code-block:: LAMMPS
pair_coeff 1 1 1 nu1
pair_coeff 1 1 2 nu2
pair_coeff 1 2 2 nu3
pair_coeff 2 2 2 nu4
For a simulation with three atom types, ten pair\_coeff commands will
For a simulation with three atom types, ten pair_coeff commands will
specify all possible nu values:
.. parsed-literal::
.. code-block:: LAMMPS
pair_coeff 1 1 1 nu1
pair_coeff 1 1 2 nu2
@ -133,12 +137,12 @@ specify all possible nu values:
pair_coeff 2 3 3 nu9
pair_coeff 3 3 3 nu10
By default the nu value for all triplets is set to 0.0. Thus it is
not required to provide pair\_coeff commands that enumerate triplet
interactions for all K types. If some I,J,K combination is not
By default the :math:`\nu` value for all triplets is set to 0.0. Thus it is
not required to provide pair_coeff commands that enumerate triplet
interactions for all :math:`K` types. If some :math:`I,J,K` combination is not
specified, then there will be no 3-body ATM interactions for that
combination and all its permutations. However, as with all pair
styles, it is required to specify a pair\_coeff command for all I,J
styles, it is required to specify a pair_coeff command for all :math:`I,J`
combinations, else an error will result.
@ -150,16 +154,16 @@ combinations, else an error will result.
This pair styles do not support the :doc:`pair_modify <pair_modify>`
mix, shift, table, and tail options.
This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need
to be specified in an input script that reads a restart file.
However, if the *atm* potential is used in combination with other
potentials using the :doc:`pair_style hybrid/overlay <pair_hybrid>`
command then pair\_coeff commands need to be re-specified
in the restart input script.
This pair style writes its information to :doc:`binary restart files
<restart>`, so pair_style and pair_coeff commands do not need to be specified
in an input script that reads a restart file. However, if the *atm* potential
is used in combination with other potentials using the :doc:`pair_style
hybrid/overlay <pair_hybrid>` command then pair_coeff commands need to be
re-specified in the restart input script.
This pair style can only be used via the *pair* keyword of the
:doc:`run_style respa <run_style>` command. It does not support the
*inner*\ , *middle*\ , *outer* keywords.
*inner* , *middle* , *outer* keywords.
----------