Dipole

class hoomd.md.pair.aniso.Dipole(nlist, default_r_cut=None)

Bases: AnisotropicPair

Screened dipole-dipole pair forces.

Parameters:

Dipole computes the (screened) interaction between pairs of particles with dipoles and electrostatic charges:

U=Udd+Ude+UeeUdd=Aeκr(μiμjr33(μirji)(μjrji)r5)Ude=Aeκr((μjrji)qir3(μirji)qjr3)Uee=Aeκrqiqjr\begin{split} U &= U_{dd} + U_{de} + U_{ee} \\ U_{dd} &= A e^{-\kappa r} \left(\frac{\vec{\mu_i}\cdot\vec{\mu_j}}{r^3} - 3\frac{(\vec{\mu_i}\cdot \vec{r_{ji}}) (\vec{\mu_j}\cdot \vec{r_{ji}})} {r^5} \right) \\ U_{de} &= A e^{-\kappa r} \left(\frac{(\vec{\mu_j}\cdot \vec{r_{ji}})q_i}{r^3} - \frac{(\vec{\mu_i}\cdot \vec{r_{ji}})q_j}{r^3} \right) \\ U_{ee} &= A e^{-\kappa r} \frac{q_i q_j}{r} \end{split} \\

Note

All units are documented electronic dipole moments. However, Dipole can also be used to represent magnetic dipoles.

Example:

nl = nlist.Cell()
dipole = md.pair.ansio.Dipole(nl, default_r_cut=3.0)
dipole.params[("A", "B")] = dict(A=1.0, kappa=4.0)
dipole.mu["A"] = (4.0, 1.0, 0.0)

Members inherited from AutotunedObject:

property kernel_parameters

Kernel parameters. Read more...

property is_tuning_complete

Check if kernel parameter tuning is complete. Read more...

tune_kernel_parameters()

Start tuning kernel parameters. Read more...


Members inherited from Force:

additional_energy

Additional energy term. Read more...

additional_virial

Additional virial tensor term WadditionalW_\mathrm{additional}. Read more...

cpu_local_force_arrays

Local force arrays on the CPU. Read more...

energies

Energy contribution UiU_i from each particle. Read more...

energy

The potential energy UU of the system from this force. Read more...

forces

The force Fi\vec{F}_i applied to each particle. Read more...

gpu_local_force_arrays

Local force arrays on the GPU. Read more...

torques

The torque τi\vec{\tau}_i applied to each particle. Read more...

virials

Virial tensor contribution WiW_i from each particle. Read more...


Members inherited from Pair:

nlist

Neighbor list used to compute the pair force. Read more...

mode

Energy smoothing/cutoff mode. Read more...

r_cut

Cuttoff radius beyond which the energy and force are 0. Read more...

r_on

Radius at which the XPLOR smoothing function starts. Read more...

compute_energy()

Compute the energy between two sets of particles. Read more...


Members defined in Dipole:

params

The dipole potential parameters. The dictionary has the following keys:

  • A (float, required) - AA - electrostatic energy scale (default: 1.0) [energylengthcharge2][\mathrm{energy} \cdot \mathrm{length} \cdot \mathrm{charge}^{-2}]

  • kappa (float, required) - κ\kappa - inverse screening length [length1][\mathrm{length}^{-1}]

Type: TypeParameter [tuple [particle_type, particle_type], dict]

mu

μ\mu - the magnetic magnitude of the particle local reference frame as a tuple (i.e. (μx,μy,μz)(\mu_x, \mu_y, \mu_z)) [chargelength][\mathrm{charge} \cdot \mathrm{length}].

Type: TypeParameter [particle_type, tuple [float, float, float ]]