Files
lammps/doc/src/pair_tersoff_mod.rst

247 lines
8.5 KiB
ReStructuredText

.. index:: pair_style tersoff/mod
.. index:: pair_style tersoff/mod/c
.. index:: pair_style tersoff/mod/gpu
.. index:: pair_style tersoff/mod/kk
.. index:: pair_style tersoff/mod/omp
.. index:: pair_style tersoff/mod/c/omp
pair_style tersoff/mod command
==============================
Accelerator Variants: *tersoff/mod/gpu*, *tersoff/mod/kk*, *tersoff/mod/omp*
pair_style tersoff/mod/c command
================================
Accelerator Variants: *tersoff/mod/c/omp*
Syntax
""""""
.. code-block:: LAMMPS
pair_style style keywords values
* style = *tersoff/mod* or *tersoff/mod/c*
* keyword = *shift*
.. parsed-literal::
*shift* value = delta
delta = negative shift in equilibrium bond length
Examples
""""""""
.. code-block:: LAMMPS
pair_style tersoff/mod
pair_coeff * * Si.tersoff.mod Si Si
pair_style tersoff/mod/c
pair_coeff * * Si.tersoff.modc Si Si
Description
"""""""""""
The *tersoff/mod* and *tersoff/mod/c* styles computes a bond-order type
interatomic potential :ref:`(Kumagai) <Kumagai>` based on a 3-body Tersoff
potential :ref:`(Tersoff_1) <Tersoff_12>`, :ref:`(Tersoff_2) <Tersoff_22>` with
modified cutoff function and angular-dependent term, giving the energy
E of a system of atoms as
.. math::
E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} & = f_C(r_{ij} + \delta) \left[ f_R(r_{ij} + \delta) + b_{ij} f_A(r_{ij} + \delta) \right] \\
f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l}
1 & r < R - D \\
\frac{1}{2} - \frac{9}{16} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) - \frac{1}{16} \sin \left( \frac{3\pi}{2} \frac{r-R}{D} \right) &
R-D < r < R + D \\
0 & r > R + D
\end{array} \right. \\
f_R(r) & = A \exp (-\lambda_1 r) \\
f_A(r) & = -B \exp (-\lambda_2 r) \\
b_{ij} & = \left( 1 + {\zeta_{ij}}^\eta \right)^{-\frac{1}{2n}} \\
\zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik} + \delta) g(\theta_{ijk})
\exp \left[ \alpha (r_{ij} - r_{ik})^\beta \right] \\
g(\theta) & = c_1 + g_o(\theta) g_a(\theta) \\
g_o(\theta) & = \frac{c_2 (h - \cos \theta)^2}{c_3 + (h - \cos \theta)^2} \\
g_a(\theta) & = 1 + c_4 \exp \left[ -c_5 (h - \cos \theta)^2 \right] \\
where :math:`f_R` is a two-body term and :math:`f_A` includes three-body interactions.
:math:`\delta` is an optional negative shift of the
equilibrium bond length, as described below.
The summations in the formula are over all neighbors J and K of atom I
within a cutoff distance = R + D.
The *tersoff/mod/c* style differs from *tersoff/mod* only in the
formulation of the V_ij term, where it contains an additional c0 term.
.. math::
V_{ij} = f_C(r_{ij} + \delta) \left[ f_R(r_{ij} + \delta) + b_{ij} f_A(r_{ij} + \delta) + c_0 \right] \\
The modified cutoff function :math:`f_C` proposed by :ref:`(Murty) <Murty>` and
having a continuous second-order differential is employed. The
angular-dependent term :math:`g(\theta)` was modified to increase the
flexibility of the potential.
The *tersoff/mod* potential is fitted to both the elastic constants
and melting point by employing the modified Tersoff potential function
form in which the angular-dependent term is improved. The model
performs extremely well in describing the crystalline, liquid, and
amorphous phases :ref:`(Schelling) <Schelling>`.
Only a single pair_coeff command is used with the *tersoff/mod* style
which specifies a Tersoff/MOD 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:
* filename
* N element names = mapping of Tersoff/MOD elements to atom types
As an example, imagine the Si.tersoff_mod file has Tersoff values for Si.
If your LAMMPS simulation has 3 Si atoms types, you would use the following
pair_coeff command:
.. code-block:: LAMMPS
pair_coeff * * Si.tersoff_mod Si Si Si
The first 2 arguments must be \* \* so as to span all LAMMPS atom types.
The three Si arguments map LAMMPS atom types 1,2,3 to the Si element
in the Tersoff/MOD file. If a mapping value is specified as NULL, the
mapping is not performed. This can be used when a *tersoff/mod*
potential is used as part of the *hybrid* pair style. The NULL values
are placeholders for atom types that will be used with other
potentials.
Tersoff/MOD file in the *potentials* directory of the LAMMPS
distribution have a ".tersoff.mod" suffix. Potential files for the
*tersoff/mod/c* style have the suffix ".tersoff.modc". Lines that are
not blank or comments (starting with #) define parameters for a triplet
of elements. The parameters in a single entry correspond to
coefficients in the formulae above:
* element 1 (the center atom in a 3-body interaction)
* element 2 (the atom bonded to the center atom)
* element 3 (the atom influencing the 1-2 bond in a bond-order sense)
* :math:`\beta`
* :math:`\alpha`
* h
* :math:`\eta`
* :math:`\beta_{ters}` = 1 (dummy parameter)
* :math:`\lambda_2` (1/distance units)
* B (energy units)
* R (distance units)
* D (distance units)
* :math:`\lambda_1` (1/distance units)
* A (energy units)
* n
* c1
* c2
* c3
* c4
* c5
* c0 (energy units, tersoff/mod/c only)
The n, :math:`\eta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A parameters are only used for
two-body interactions. The :math:`\beta`, :math:`\alpha`, c1, c2, c3, c4, c5, h
parameters are only used for three-body interactions. The R and D
parameters are used for both two-body and three-body interactions.
The c0 term applies to *tersoff/mod/c* only. The non-annotated
parameters are unitless.
The Tersoff/MOD potential file must contain entries for all the elements
listed in the pair_coeff command. It can also contain entries for
additional elements not being used in a particular simulation; LAMMPS
ignores those entries.
For a single-element simulation, only a single entry is required
(e.g. SiSiSi). As annotated above, the first element in the entry is
the center atom in a three-body interaction and it is bonded to the
second atom and the bond is influenced by the third atom. Thus an entry
for SiSiSi means Si bonded to a Si with another Si atom influencing the bond.
The *shift* keyword computes the energy E of a system of atoms, whose formula
is the same as the Tersoff potential. The only modification is that the original
equilibrium bond length ( :math:`r_0`) of the system is shifted to :math:`r_0-\delta`.
The minus sign arises because each radial distance :math:`r` is replaced by :math:`r+\delta`.
More information on this option is given on the main :doc:`pair_tersoff <pair_tersoff>` page.
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This pair style does not support the :doc:`pair_modify <pair_modify>`
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
need to re-specify the pair_style and pair_coeff commands in an input
script that reads a restart file.
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.
----------
Restrictions
""""""""""""
This pair style is part of the MANYBODY package. It is only enabled
if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
This pair style requires the :doc:`newton <newton>` setting to be "on"
for pair interactions.
The *shift* keyword is not supported by the *tersoff/gpu*,
*tersoff/intel*, *tersoff/kk*, *tersoff/table* or *tersoff/table/omp*
variants.
The *tersoff/mod* potential files provided with LAMMPS (see the potentials
directory) are parameterized for metal :doc:`units <units>`. You can
use the *tersoff/mod* pair style with any LAMMPS units, but you would need to
create your own Tersoff/MOD potential file with coefficients listed in the
appropriate units if your simulation does not use "metal" units.
Related commands
""""""""""""""""
:doc:`pair_coeff <pair_coeff>`
Default
"""""""
none
----------
.. _Kumagai:
**(Kumagai)** T. Kumagai, S. Izumi, S. Hara, S. Sakai,
Comp. Mat. Science, 39, 457 (2007).
.. _Tersoff_12:
**(Tersoff_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988).
.. _Tersoff_22:
**(Tersoff_2)** J. Tersoff, Phys Rev B, 38, 9902 (1988).
.. _Murty:
**(Murty)** M.V.R. Murty, H.A. Atwater, Phys Rev B, 51, 4889 (1995).
.. _Schelling:
**(Schelling)** Patrick K. Schelling, Comp. Mat. Science, 44, 274 (2008).