# angle_style dipole command Accelerator Variants: *dipole/omp* ## Syntax ``` LAMMPS angle_style dipole ``` ## Examples ``` LAMMPS 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)](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 $\vec{r}_{ij} = \vec{r}_i - \vec{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 $\vec{\mu}_j$ and the reference (bond) vector $\vec{r}_{ij}$: $$\cos\gamma = \frac{\vec{\mu}_j\cdot\vec{r}_{ij}}{\mu_j\,r_{ij}}$$ The *dipole* angle style uses the potential: $$E = K (\cos\gamma - \cos\gamma_0)^2$$ 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)](Allen1): $$\vec{T}_j = \frac{2K(\cos\gamma - \cos\gamma_0)}{\mu_j\,r_{ij}}\, \vec{r}_{ij} \times \vec{\mu}_j$$ Example: if $\gamma_0$ 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 $\vec{r}_{ij}$ (in other words, $\vec{\mu}_j$ is restrained to point towards atom $i$). The dipolar torque $\vec{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 $\vec{T}_j$: $$\begin{aligned} -\vec{T}_j & = \vec{r}_{ij} \times \vec{F}_i \\ \vec{F}_j & = -\vec{F}_i \end{aligned}$$ where $\vec{F}_i$ and $\vec{F}_j$ are applied on atoms $i$ and $j$, respectively. The following coefficients must be defined for each angle type via the [angle_coeff](angle_coeff) command as in the example above, or in the data file or restart files read by the [read_data](read_data) or [read_restart](read_restart) commands: - $K$ (energy) - $\gamma_0$ (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 [Accelerator packages](Speed_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](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](Run_options) when you invoke LAMMPS, or you can use the [suffix](suffix) command in your input script. See the [Accelerator packages](Speed_packages) 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 DIPOLE package. See the [Build package](Build_package) doc page for more info. :::: note ::: title 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](newton) command for intramolecular interactions must be \"on\" (which is the default except when using some accelerator packages). :::: note ::: title Note ::: This angle style should **NOT** be used with fix shake. :::: ## Related commands [angle_coeff](angle_coeff), [angle_hybrid](angle_hybrid) ## Default none ------------------------------------------------------------------------ ::: {#Orsi} **(Orsi)** Orsi & Essex, The ELBA force field for coarse-grain modeling of lipid membranes, PloS ONE 6(12): e28637, 2011. ::: ::: {#Allen1} **(Allen)** Allen & Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987. :::