# angle_style dipole/omp command

## Syntax

angle_style dipole


## Examples

angle_style dipole
angle_coeff 6 2.1 180.0


## Description

The dipole angle style is used to control the orientation of a dipolar atom within a molecule (Orsi). Specifically, the dipole angle style restrains the orientation of a point dipole mu_j (embedded in atom ‘j’) with respect to a reference (bond) vector r_ij = r_i - r_j, where ‘i’ is another atom of the same molecule (typically, ‘i’ and ‘j’ are also covalently bonded).

It is convenient to define an angle gamma between the ‘free’ vector mu_j and the reference (bond) vector r_ij:

The dipole angle style uses the potential:

where K is a rigidity constant and gamma0 is an equilibrium (reference) angle.

The torque on the dipole can be obtained by differentiating the potential using the ‘chain rule’ as in appendix C.3 of (Allen):

Example: if gamma0 is set to 0 degrees, the torque generated by the potential will tend to align the dipole along the reference direction defined by the (bond) vector r_ij (in other words, mu_j is restrained to point towards atom ‘i’).

The dipolar torque T_j must be counterbalanced in order to conserve the local angular momentum. This is achieved via an additional force couple generating a torque equivalent to the opposite of T_j:

where F_i and F_j are applied on atoms i and j, respectively.

The following coefficients 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:

• K (energy)

• gamma0 (degrees)

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 Speed packages doc 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, USER-INTEL, KOKKOS, USER-OMP and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the Build package doc 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 Speed packages doc page for more instructions on how to use the accelerated styles effectively.

## Restrictions

This angle style can only be used if LAMMPS was built with the USER-MISC package. See the Build package doc page for more info.

Note

In the “Angles” section of the data file, the atom ID ‘j’ defining the direction of the dipole vector to restrain must come before the atom ID of the reference atom ‘i’. A third atom ID ‘k’ must also be provided to comply with the requirement of a valid angle definition. This atom ID k should be chosen to be that of an atom bonded to atom ‘i’ to avoid errors with “lost angle atoms” when running in parallel. Since the LAMMPS code checks for valid angle definitions, cannot use the same atom ID of either ‘i’ or ‘j’ (this was allowed and recommended with older LAMMPS versions).

The “newton” command for intramolecular interactions must be “on” (which is the default except when using some accelerator packages).

This angle style should not be used with SHAKE.