\(\renewcommand{\AA}{\text{Å}}\)

# angle_style class2 command¶

Accelerator Variants: *class2/kk*, *class2/omp*

# angle_style class2/p6 command¶

## Syntax¶

```
angle_style class2
```

## Examples¶

```
angle_style class2
angle_coeff * 75.0 25.0 0.3 0.002
angle_coeff 1 bb 10.5872 1.0119 1.5228
angle_coeff * ba 3.6551 24.895 1.0119 1.5228
```

## Description¶

The *class2* angle style uses the potential

where \(E_a\) is the angle term, \(E_{bb}\) is a bond-bond term, and \(E_{ba}\) is a bond-angle term. \(\theta_0\) is the equilibrium angle and \(r_1\) and \(r_2\) are the equilibrium bond lengths.

See (Sun) for a description of the COMPASS class2 force field.

Coefficients for the \(E_a\), \(E_{bb}\), and \(E_{ba}\) formulas must be defined for each angle type via the angle_coeff command as in the example above, or in the data file or restart files read by the read_data or read_restart commands.

These are the 4 coefficients for the \(E_a\) formula:

\(\theta_0\) (degrees)

\(K_2\) (energy)

\(K_3\) (energy)

\(K_4\) (energy)

\(\theta_0\) is specified in degrees, but LAMMPS converts it to radians internally; hence the various \(K\) are effectively energy per radian^2 or radian^3 or radian^4.

For the \(E_{bb}\) formula, each line in a angle_coeff command in the input script lists 4 coefficients, the first of which is “bb” to indicate they are BondBond coefficients. In a data file, these coefficients should be listed under a “BondBond Coeffs” heading and you must leave out the “bb”, i.e. only list 3 coefficients after the angle type.

bb

\(M\) (energy/distance^2)

\(r_1\) (distance)

\(r_2\) (distance)

For the \(E_{ba}\) formula, each line in a angle_coeff command in the input script lists 5 coefficients, the first of which is “ba” to indicate they are BondAngle coefficients. In a data file, these coefficients should be listed under a “BondAngle Coeffs” heading and you must leave out the “ba”, i.e. only list 4 coefficients after the angle type.

ba

\(N_1\) (energy/distance)

\(N_2\) (energy/distance)

\(r_1\) (distance)

\(r_2\) (distance)

The \(\theta_0\) value in the \(E_{ba}\) formula is not specified, since it is the same value from the \(E_a\) formula.

Note

It is important that the order of the I,J,K atoms in each angle listed in the Angles section of the data file read by the read_data command be consistent with the order of the \(r_1\) and \(r_2\) BondBond and BondAngle coefficients. This is because the terms in the formulas for \(E_{bb}\) and \(E_{ba}\) will use the I,J atoms to compute \(r_{ij}\) and the J,K atoms to compute \(r_{jk}\).

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 on the Accelerator packages
page. 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, INTEL, KOKKOS, OPENMP, and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the Build package page for more info.

You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the -suffix command-line switch when you invoke LAMMPS, or you can use the suffix command in your input script.

See the Accelerator packages page for more instructions on how to use the accelerated styles effectively.

The *class2/p6* angle style uses the *class2* potential expanded to sixth order:

In this expanded term 6 coefficients for the \(E_a\) formula need to be set:

\(\theta_0\) (degrees)

\(K_2\) (energy)

\(K_3\) (energy)

\(K_4\) (energy)

\(K_5\) (energy)

\(K_6\) (energy)

\(\theta_0\) is specified in degrees, but LAMMPS converts it to radians internally; hence the various \(K\) are effectively energy per radian^2 or radian^3 or radian^4 or radian^5 or radian^6.

The bond-bond and bond-angle terms remain unchanged.

## Restrictions¶

This angle style can only be used if LAMMPS was built with the CLASS2
package. For the *class2/p6* style LAMMPS needs to be built with the
MOFFF package. See the Build package doc
page for more info.

## Default¶

none

**(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998).