forked from lijiext/lammps
145 lines
4.3 KiB
Plaintext
145 lines
4.3 KiB
Plaintext
.. index:: improper_style class2
|
|
|
|
improper_style class2 command
|
|
=============================
|
|
|
|
improper_style class2/omp command
|
|
=================================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
improper_style class2
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
improper_style class2
|
|
improper_coeff 1 100.0 0
|
|
improper_coeff * aa 0.0 0.0 0.0 115.06 130.01 115.06
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
The *class2* improper style uses the potential
|
|
|
|
.. image:: Eqs/improper_class2.jpg
|
|
:align: center
|
|
|
|
where Ei is the improper term and Eaa is an angle-angle term. The 3 X
|
|
terms in Ei are an average over 3 out-of-plane angles.
|
|
|
|
The 4 atoms in an improper quadruplet (listed in the data file read by
|
|
the :doc:`read_data <read_data>` command) are ordered I,J,K,L. X_IJKL
|
|
refers to the angle between the plane of I,J,K and the plane of J,K,L,
|
|
and the bond JK lies in both planes. Similarly for X_KJLI and X_LJIK.
|
|
Note that atom J appears in the common bonds (JI, JK, JL) of all 3 X
|
|
terms. Thus J (the 2nd atom in the quadruplet) is the atom of
|
|
symmetry in the 3 X angles.
|
|
|
|
The subscripts on the various theta's refer to different combinations
|
|
of 3 atoms (I,J,K,L) used to form a particular angle. E.g. Theta_IJL
|
|
is the angle formed by atoms I,J,L with J in the middle. Theta1,
|
|
theta2, theta3 are the equilibrium positions of those angles. Again,
|
|
atom J (the 2nd atom in the quadruplet) is the atom of symmetry in the
|
|
theta angles, since it is always the center atom.
|
|
|
|
Since atom J is the atom of symmetry, normally the bonds J-I, J-K, J-L
|
|
would exist for an improper to be defined between the 4 atoms, but
|
|
this is not required.
|
|
|
|
See :ref:`(Sun) <improper-Sun>` for a description of the COMPASS class2 force field.
|
|
|
|
Coefficients for the Ei and Eaa formulas must be defined for each
|
|
improper type via the :doc:`improper_coeff <improper_coeff>` command as
|
|
in the example above, or in the data file or restart files read by the
|
|
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
|
|
commands.
|
|
|
|
These are the 2 coefficients for the Ei formula:
|
|
|
|
* K (energy/radian^2)
|
|
* X0 (degrees)
|
|
|
|
X0 is specified in degrees, but LAMMPS converts it to radians
|
|
internally; hence the units of K are in energy/radian^2.
|
|
|
|
For the Eaa formula, each line in a
|
|
:doc:`improper_coeff <improper_coeff>` command in the input script lists
|
|
7 coefficients, the first of which is "aa" to indicate they are
|
|
AngleAngle coefficients. In a data file, these coefficients should be
|
|
listed under a "AngleAngle Coeffs" heading and you must leave out the
|
|
"aa", i.e. only list 6 coefficients after the improper type.
|
|
|
|
* aa
|
|
* M1 (energy/distance)
|
|
* M2 (energy/distance)
|
|
* M3 (energy/distance)
|
|
* theta1 (degrees)
|
|
* theta2 (degrees)
|
|
* theta3 (degrees)
|
|
|
|
The theta values are specified in degrees, but LAMMPS converts them to
|
|
radians internally; hence the units of M are in energy/radian^2.
|
|
|
|
|
|
----------
|
|
|
|
|
|
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 improper style can only be used if LAMMPS was built with the
|
|
CLASS2 package. See the :ref:`Making LAMMPS <start_3>`
|
|
section for more info on packages.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`improper_coeff <improper_coeff>`
|
|
|
|
**Default:** none
|
|
|
|
|
|
----------
|
|
|
|
|
|
.. _improper-Sun:
|
|
|
|
|
|
|
|
**(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998).
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|