pair_style lj/cut/dipole/cut command

Warning

GPU support for this command has not been tested and may not work as expected.

Syntax

pair_style lj/cut/dipole/cut keyword value
  • zero or more keywords/value pairs to be appended

  • keyword = prefactor or numeric_damp or lj_coul_cut_common or lj_coul_cut_individually

prefactor value = pf
  pf = constant factor to multiply particle-particle force and torque interactions
numeric_damp value = dp
  dp = distance factor for damping model to apply to particle-particle force and torque interactions
lj_coul_cut_common value = cutoff
  cutoff = global cutoff LJ and Coulombic (distance units)
lj_coul_cut_individually values = cutoff cutoff 2
  cutoff = global cutoff LJ (distance units)
  cutoff2 = global cutoff for Coulombic and dipole (distance units)

Examples

pair_style lj/cut/dipole/cut 10.0
pair_coeff * * 1.0 1.0
pair_coeff 2 3 1.0 1.0 2.5 4.0

Description

Style lj/cut/dipole/cut computes interactions between pairs of particles that each have a charge and/or a point dipole moment. In addition to the usual Lennard-Jones interaction between the particles (Elj) the charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) interactions are computed by these formulas for the energy (E), force (F), and torque (T) between particles I and J.

E_{LJ} &= 4 \epsilon \left[ \left( \frac{\sigma}{r} \right)^{12} - \left( \frac{\sigma}{r} \right)^6 \right] \\
E_{qq} &= \frac{q_i q_j}{r} \\
E_{qp} &= \frac{q}{r^3} ( \vec{p} \otimes \vec{r} ) \\
E_{pp} &= \frac{1}{r^3} (\vec{p}_i \otimes \vec{p}_j) - \frac{3}{r^5} (\vec{p}_i \otimes \vec{r}) (\vec{p}_j \otimes \vec{r})

F_{qq} &= \frac{q_i q_j}{3} \vec{r} \\
F_{qp} &= - \frac{q}{r^3} \vec{p} + \frac{3 q}{r^5} (\vec{p} \otimes \vec{r}) \vec{r} \\
F_{pp} &= \frac{3}{r^5} (\vec{p}_i \otimes \vec{p}_j) \vec{r} - \frac{15}{r^7} (\vec{p}_i \otimes \vec{r}) (\vec{p}_j \otimes \vec{r}) \vec{r} + \frac{3}{r^5} \left( (\vec{p}_j \otimes \vec{r}) \vec{p}_i + (\vec{p}_i \otimes \vec{r}) \vec{p}_j \right)

T_{qp} &= T_{ij} = \frac{q_j}{r^3} (\vec{p}_i \times \vec{r}) \\
T_{pq} &= T_{ji} = - \frac{q_i}{r^3} (\vec{p}_j \times \vec{r}) \\
T_{pp} &= T_{ij} = - \frac{1}{r^3} (\vec{p}_i \times \vec{p}_j) + \frac{3}{r^5} (\vec{p}_j \otimes \vec{r}) (\vec{p}_i \times \vec{r}) \\
T_{pp} &= T_{ji} = - \frac{1}{r^3} (\vec{p}_j \times \vec{p}_i) + \frac{3}{r^5} (\vec{p}_i \otimes \vec{r}) (\vec{p}_j \times \vec{r})

where qi and qj are the charges on the two particles, pi and pj are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = Ri - Rj is the separation vector between the two particles. Note that Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the torques do not act symmetrically. These formulas are discussed in (Allen) and in (Toukmaji).

Atoms with dipole moments should be integrated using the fix nve/sphere update dipole command to rotate the dipole moments. The atom_style dipole command should be used since it defines the point dipoles and their rotational state. The magnitude of the dipole moment for each type of particle can be defined in the “Dipoles” section of the data file read in by the read_data command. Their initial orientation can be defined by the set dipole command or in the “Atoms” section of the data file.

The following coefficients must be defined for each pair of atoms types via the pair_coeff command as in the examples above, or in the data file or restart files read by the read_data or read_restart commands, or by mixing as described below:

  • epsilon (energy units)

  • sigma (distance units)

  • cutoff1 (distance units)

  • cutoff2 (distance units)

The latter 2 coefficients are optional. If not specified, the global LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair.

Prefactor and damping:

With the optional keywords prefactor, the particle-particle force and torque can be multiplied with a constant value. In addition, keyword numeric_damp keyword, an additional numerical damping can be applied, where additionally to prefactor the particle-particle forces and torques are scaled down by a factor scale, which is calculated as follows: If numeric_damp > 0, then

radsum_sq = (radiusI+radiusJ) * (radiusI+radiusJ)
rsq_undamped = numeric_damp*numeric_damp * radsum_sq
if(rsq <= radsum_sq)
     damp = 0.5;
else if(rsq < rsq_undamped)
      scale = 0.5*sqrt( (rsq-radsum_sq) / (rsq_undamped-radsum_sq) ) + 0.5
else
      scale = 1

where numeric_damp is defined by the user, radiusI and radiusJ are the particle radii, and rsq is the squared distance between the particle centers.


Mixing, shift, table, tail correction, restart info:

For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distances for this pair style can be mixed. The default mix value is geometric.

For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is geometric. See the “pair_modify” command for details.

This pair style writes its information to binary restart files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file.

Restrictions

none