<p>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.</p>
<p>The 4 atoms in an improper quadruplet (listed in the data file read by
the <aclass="reference internal"href="read_data.html"><spanclass="doc">read_data</span></a> 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.</p>
<p>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.</p>
<p>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.</p>
<p>See <aclass="reference internal"href="pair_class2.html#sun"><spanclass="std std-ref">(Sun)</span></a> for a description of the COMPASS class2 force field.</p>
<p>Coefficients for the Ei and Eaa formulas must be defined for each
improper type via the <aclass="reference internal"href="improper_coeff.html"><spanclass="doc">improper_coeff</span></a> command as
in the example above, or in the data file or restart files read by the
<aclass="reference internal"href="read_data.html"><spanclass="doc">read_data</span></a> or <aclass="reference internal"href="read_restart.html"><spanclass="doc">read_restart</span></a>
commands.</p>
<p>These are the 2 coefficients for the Ei formula:</p>
<ulclass="simple">
<li>K (energy/radian^2)</li>
<li>X0 (degrees)</li>
</ul>
<p>X0 is specified in degrees, but LAMMPS converts it to radians
internally; hence the units of K are in energy/radian^2.</p>
<p>For the Eaa formula, each line in a
<aclass="reference internal"href="improper_coeff.html"><spanclass="doc">improper_coeff</span></a> 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.</p>
<ulclass="simple">
<li>aa</li>
<li>M1 (energy/distance)</li>
<li>M2 (energy/distance)</li>
<li>M3 (energy/distance)</li>
<li>theta1 (degrees)</li>
<li>theta2 (degrees)</li>
<li>theta3 (degrees)</li>
</ul>
<p>The theta values are specified in degrees, but LAMMPS converts them to
radians internally; hence the units of M are in energy/radian^2.</p>
<hrclass="docutils"/>
<p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> 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 <aclass="reference internal"href="Section_accelerate.html"><spanclass="doc">Section_accelerate</span></a>
of the manual. The accelerated styles take the same arguments and
should produce the same results, except for round-off and precision
issues.</p>
<p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL,
KOKKOS, USER-OMP and OPT packages, respectively. They are only
enabled if LAMMPS was built with those packages. See the <aclass="reference internal"href="Section_start.html#start-3"><spanclass="std std-ref">Making LAMMPS</span></a> section for more info.</p>
<p>You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the <aclass="reference internal"href="Section_start.html#start-7"><spanclass="std std-ref">-suffix command-line switch</span></a> when you invoke LAMMPS, or you can
use the <aclass="reference internal"href="suffix.html"><spanclass="doc">suffix</span></a> command in your input script.</p>
<p>See <aclass="reference internal"href="Section_accelerate.html"><spanclass="doc">Section_accelerate</span></a> of the manual for
more instructions on how to use the accelerated styles effectively.</p>
</div>
<hrclass="docutils"/>
<divclass="section"id="restrictions">
<h2>Restrictions</h2>
<p>This improper style can only be used if LAMMPS was built with the
CLASS2 package. See the <aclass="reference internal"href="Section_start.html#start-3"><spanclass="std std-ref">Making LAMMPS</span></a>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.