mirror of https://github.com/lammps/lammps.git
153 lines
4.4 KiB
Plaintext
153 lines
4.4 KiB
Plaintext
.. index:: angle_style dipole
|
|
|
|
angle_style dipole command
|
|
==========================
|
|
|
|
angle_style dipole/omp command
|
|
==============================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
angle_style dipole
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
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 :ref:`(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 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:
|
|
|
|
.. image:: Eqs/angle_dipole_gamma.jpg
|
|
:align: center
|
|
|
|
The *dipole* angle style uses the potential:
|
|
|
|
.. image:: Eqs/angle_dipole_potential.jpg
|
|
:align: center
|
|
|
|
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
|
|
:ref:`(Allen) <Allen>`:
|
|
|
|
.. image:: Eqs/angle_dipole_torque.jpg
|
|
:align: center
|
|
|
|
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:
|
|
|
|
.. image:: Eqs/angle_dipole_couple.jpg
|
|
:align: center
|
|
|
|
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
|
|
:doc:`angle_coeff <angle_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:
|
|
|
|
* 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 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_6>` 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 angle style can only be used if LAMMPS was built with the
|
|
USER-MISC package. See the :ref:`Making LAMMPS <start_2_3>`
|
|
section for more info on packages.
|
|
|
|
.. note::
|
|
|
|
In the "Angles" section of the data file, the atom ID 'j'
|
|
corresponding to the dipole to restrain must come before the atom ID
|
|
of the reference atom 'i'. A third atom ID 'k' must also be provided,
|
|
although 'k' is just a 'dummy' atom which can be any atom; it may be
|
|
useful to choose a convention (e.g., 'k'='i') and adhere to it. For
|
|
example, if ID=1 for the dipolar atom to restrain, and ID=2 for the
|
|
reference atom, the corresponding line in the "Angles" section of the
|
|
data file would read: X X 1 2 2
|
|
|
|
The "newton" command for intramolecular interactions must be "on"
|
|
(which is the default).
|
|
|
|
This angle style should not be used with SHAKE.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`angle_coeff <angle_coeff>`, :doc:`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.
|
|
|
|
.. _Allen:
|
|
|
|
|
|
|
|
**(Allen)** Allen & Tildesley, Computer Simulation of Liquids,
|
|
Clarendon Press, Oxford, 1987.
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|