forked from lijiext/lammps
140 lines
4.7 KiB
Plaintext
140 lines
4.7 KiB
Plaintext
.. index:: pair_style nb3b/harmonic
|
|
|
|
pair_style nb3b/harmonic command
|
|
================================
|
|
|
|
pair_style nb3b/harmonic/omp command
|
|
====================================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
pair_style nb3b/harmonic
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
pair_style nb3b/harmonic
|
|
pair_coeff * * MgOH.nb3bharmonic Mg O H
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
This pair style computes a nonbonded 3-body harmonic potential for the
|
|
energy E of a system of atoms as
|
|
|
|
.. image:: Eqs/pair_nb3b_harmonic.jpg
|
|
:align: center
|
|
|
|
where *theta_0* is the equilibrium value of the angle and *K* is a
|
|
prefactor. Note that the usual 1/2 factor is included in *K*\ . The form
|
|
of the potential is identical to that used in angle_style *harmonic*\ ,
|
|
but in this case, the atoms do not need to be explicitly bonded.
|
|
|
|
Only a single pair_coeff command is used with this style which
|
|
specifies a potential file with parameters for specified 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 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, imagine a file SiC.nb3b.harmonic has potential values
|
|
for Si and C. If your LAMMPS simulation has 4 atoms types and you
|
|
want the 1st 3 to be Si, and the 4th to be C, you would use the
|
|
following pair_coeff command:
|
|
|
|
.. parsed-literal::
|
|
|
|
pair_coeff * * SiC.nb3b.harmonic Si Si Si C
|
|
|
|
The 1st 2 arguments must be * * so as to span all LAMMPS atom types.
|
|
The first three Si arguments map LAMMPS atom types 1,2,3 to the Si
|
|
element in the potential file. The final C argument maps LAMMPS atom
|
|
type 4 to the C element in the potential file. If a mapping value is
|
|
specified as NULL, the mapping is not performed. This can be used
|
|
when the 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. An example of a pair_coeff command for use with the
|
|
*hybrid* pair style is:
|
|
|
|
pair_coeff * * nb3b/harmonic MgOH.nb3b.harmonic Mg O H
|
|
|
|
Three-body nonbonded harmonic files in the *potentials* directory of
|
|
the LAMMPS distribution have a ".nb3b.harmonic" suffix. Lines that
|
|
are not blank or comments (starting with #) define parameters for a
|
|
triplet of elements.
|
|
|
|
Each entry has six arguments. The first three are atom types as
|
|
referenced in the LAMMPS input file. The first argument specifies the
|
|
central atom. The fourth argument indicates the *K* parameter. The
|
|
fifth argument indicates *theta_0*\ . The sixth argument indicates a
|
|
separation cutoff in Angstroms.
|
|
|
|
For a given entry, if the second and third arguments are identical,
|
|
then the entry is for a cutoff for the distance between types 1 and 2
|
|
(values for *K* and *theta_0* are irrelevant in this case).
|
|
|
|
For a given entry, if the first three arguments are all different,
|
|
then the entry is for the *K* and *theta_0* parameters (the cutoff in
|
|
this case is irrelevant).
|
|
|
|
It is *not* required that the potential file contain entries for all
|
|
of 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.
|
|
|
|
|
|
----------
|
|
|
|
|
|
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
|
functionally the same as the corresponding style without the suffix.
|
|
They have been optimized to run faster, depending on your available
|
|
hardware, as discussed in :doc:`Section_accelerate <Section_accelerate>`
|
|
of the manual. The accelerated styles take the same arguments and
|
|
should produce the same results, except for round-off and precision
|
|
issues.
|
|
|
|
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
|
USER-OMP and OPT packages, respectively. They are only enabled if
|
|
LAMMPS was built with those packages. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
|
|
|
You can specify the accelerated styles explicitly in your input script
|
|
by including their suffix, or you can use the :ref:`-suffix command-line switch <start_7>` when you invoke LAMMPS, or you can
|
|
use the :doc:`suffix <suffix>` command in your input script.
|
|
|
|
See :doc:`Section_accelerate <Section_accelerate>` of the manual for
|
|
more instructions on how to use the accelerated styles effectively.
|
|
|
|
|
|
----------
|
|
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
|
|
|
|
This pair style can only be used if LAMMPS was built with the MANYBODY
|
|
package (which it is by default). See the :ref:`Making LAMMPS <start_3>` section for more info on packages.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`pair_coeff <pair_coeff>`
|
|
|
|
**Default:** none
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|