update docs a bit more

This commit is contained in:
Axel Kohlmeyer
2021-01-04 23:02:17 -05:00
parent 47b4504917
commit 612d49d69d
3 changed files with 77 additions and 58 deletions

View File

@ -76,7 +76,7 @@ The *tersoff* style computes a 3-body Tersoff potential
where :math:`f_R` is a two-body term and :math:`f_A` includes three-body
interactions. The summations in the formula are over all neighbors
J and K of atom I within a cutoff distance = R + D. :math:`\delta` is
an optional negative shift of the equilibrium bond length, as described below.
an optional negative shift of the equilibrium bond length, as described below.
The *tersoff/table* style uses tabulated forms for the two-body,
environment and angular functions. Linear interpolation is performed
@ -181,14 +181,14 @@ are often the same, due to the common use of symmetric mixing rules,
but this is not always the case. For example, the beta and n parameters in
Tersoff_2 :ref:`(Tersoff_2) <Tersoff_21>` are not symmetric.
Similarly, the threebody parameters in entries such as SiCSi and SiSiC
are often the same, but this is not always the case, particularly
the value of R, which is sometimes typed on the
first and second elements, sometimes on the first and third elements.
are often the same, but this is not always the case, particularly
the value of R, which is sometimes typed on the
first and second elements, sometimes on the first and third elements.
Hence the need to specify R and D explicitly for all element triples.
For example, while Tersoff's notation
in Tersoff_2 :ref:`(Tersoff_2) <Tersoff_21>` is ambiguous on this point,
and properties of the zincblende lattice are the same for either choice,
Tersoff's results for rocksalt are consistent with typing on the first
Tersoff's results for rocksalt are consistent with typing on the first
and third elements. :ref:`Albe et al. <Albe>` adopts the same convention.
Conversely, the potential for B/N/C from the Cagin group
uses the opposite convention, typing on the first and second elements.
@ -237,25 +237,30 @@ Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou
for helping clarify how Tersoff parameters for alloys have been
defined in various papers.
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`.
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`.
The *shift* keyword is designed for simulations of closely matched van der Waals heterostructures.
For instance, consider the case of a system with few-layers graphene atop a thick hexagonal boron nitride (h-BN)
substrate simulated using periodic boundary conditions. The experimental lattice mismatch of ~1.8% between graphene
and h-BN is not well captured by the equilibrium lattice constants of available potentials, thus a small in-plane strain
will be introduced in the system when building a periodic supercell. To minimize the effect of strain on
simulation results, the *shift* keyword allows adjusting the equilibrium bond length
of one of the two materials (e.g., h-BN). Validation, benchmark tests, and applications of the
*shift* keyword can be found in :ref:`(Mandelli_1) <Mandelli1>` and :ref:`(Ouyang_1) <Ouyang5>`.
The *shift* keyword is designed for simulations of closely matched van
der Waals heterostructures. For instance, consider the case of a system
with few-layers graphene atop a thick hexagonal boron nitride (h-BN)
substrate simulated using periodic boundary conditions. The experimental
lattice mismatch of ~1.8% between graphene and h-BN is not well captured
by the equilibrium lattice constants of available potentials, thus a
small in-plane strain will be introduced in the system when building a
periodic supercell. To minimize the effect of strain on simulation
results, the *shift* keyword allows adjusting the equilibrium bond
length of one of the two materials (e.g., h-BN). Validation, benchmark
tests, and applications of the *shift* keyword can be found in
:ref:`(Mandelli_1) <Mandelli1>` and :ref:`(Ouyang_1) <Ouyang5>`.
For the specific case discussed above, the force field can be defined as
.. code-block:: LAMMPS
pair_style hybrid/overlay rebo tersoff shift -4.07e-3 ilp/graphene/hbn 16.0 coul/shield 16.0
pair_style hybrid/overlay rebo tersoff shift -0.00407 ilp/graphene/hbn 16.0 coul/shield 16.0
pair_coeff * * rebo CH.rebo NULL NULL C
pair_coeff * * tersoff BNC.tersoff B N NULL
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C
@ -279,10 +284,10 @@ described above from values in the potential file.
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 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
@ -293,22 +298,24 @@ This pair style can only be used via the *pair* keyword of the
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>`
doc page for more info.
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>` doc page for more info.
This pair style requires the :doc:`newton <newton>` setting to be "on"
for pair interactions.
The Tersoff potential files provided with LAMMPS (see the potentials
directory) are parameterized for metal :doc:`units <units>`. You can
use the Tersoff potential with any LAMMPS units, but you would need to
create your own Tersoff potential file with coefficients listed in the
appropriate units if your simulation does not use "metal" units.
The *shift* keyword is not supported by the *tersoff/gpu*,
*tersoff/intel*, *tersoff/kk*, *tersoff/table* or *tersoff/table/omp*
variants.
The *shift* keyword is not supported by the
*tersoff/gpu*, *tersoff/intel*, *tersoff/kk*, or *tersoff/table*
variants.
The Tersoff potential files provided with LAMMPS (see the potentials
directory) are parameterized for :doc:`"metal" units <units>`. In addition
the pair style supports converting potential parameters on-the-fly between
"metal" and "real" units. You can use the *tersoff* pair style variants
with any LAMMPS units setting, but you would need to
create your own Tersoff potential file with coefficients listed in the
appropriate units if your simulation does not use "metal" or "real" units.
Related commands
""""""""""""""""

View File

@ -70,8 +70,8 @@ E of a system of atoms as
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.
: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.
@ -166,11 +166,11 @@ 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
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
@ -202,9 +202,13 @@ if LAMMPS was built with that package. See the :doc:`Build package <Build_packa
This pair style requires the :doc:`newton <newton>` setting to be "on"
for pair interactions.
The Tersoff/MOD potential files provided with LAMMPS (see the potentials
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 potential with any LAMMPS units, but you would need to
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.

View File

@ -42,7 +42,7 @@ system of atoms as
.. math::
E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\
V_{ij} & = (1 - f_F(r_{ij} + \delta)) V^{ZBL}(r_{ij} + \delta)
V_{ij} & = (1 - f_F(r_{ij} + \delta)) V^{ZBL}(r_{ij} + \delta)
+ f_F(r_{ij} + \delta) V^{Tersoff}(r_{ij} + \delta) \\
f_F(r) & = \frac{1}{1 + e^{-A_F(r - r_C)}}\\
\\
@ -89,8 +89,8 @@ includes
three-body interactions. The summations in the formula are over all
neighbors J and K of atom I within a cutoff distance = R + D.
:math:`\delta` is an optional negative shift of the
equilibrium bond length, as described below.
:math:`\delta` is an optional negative shift of the
equilibrium bond length, as described below.
Only a single pair_coeff command is used with the *tersoff/zbl* style
which specifies a Tersoff/ZBL potential file with parameters for all
@ -239,11 +239,13 @@ for helping clarify how Tersoff parameters for alloys have been
defined in various papers. Also thanks to Ram Devanathan for
providing the base ZBL implementation.
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.
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.
----------
@ -261,9 +263,10 @@ described above from values in the potential file.
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 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
@ -274,18 +277,23 @@ This pair style can only be used via the *pair* keyword of the
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>` doc page for more info.
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>` doc page for more info.
This pair style requires the :doc:`newton <newton>` setting to be "on"
for pair interactions.
The Tersoff/ZBL potential files provided with LAMMPS (see the
potentials directory) are parameterized for metal :doc:`units <units>`.
You can use the Tersoff potential with any LAMMPS units, but you would
need to create your own Tersoff potential file with coefficients
listed in the appropriate units if your simulation does not use "metal"
units.
The *shift* keyword is currently not supported for the *tersoff/gpu* and
*tersoff/kk* variants of this pair style.
The tersoff/zbl potential files provided with LAMMPS (see the potentials
directory) are parameterized for :doc:`"metal" units <units>`. Also the
pair style supports converting potential file parameters on-the-fly
between "metal" and "real" units. You can use the tersoff/zbl pair
style with any LAMMPS units, but you would need to create your own
tersoff/zbl potential file with coefficients listed in the appropriate
units if your simulation does not use "metal" or "real" units.
Related commands
""""""""""""""""