WangFrenkel

class hoomd.md.pair.WangFrenkel(nlist, default_r_cut=None, default_r_on=0.0, mode='none')

Bases: Pair

Wang-Frenkel pair potential.

Parameters:
  • nlist (hoomd.md.nlist.NeighborList) – Neighbor list

  • default_r_cut (float) – Default cutoff radius \([\mathrm{length}]\).

  • default_r_on (float) – Default turn-on radius \([\mathrm{length}]\).

  • mode (str) – Energy shifting/smoothing mode.

WangFrenkel computes the Wang-Frenkel pair force on every particle in the simulation state:

\[U(r) = \epsilon \alpha \left( \left[\frac{\sigma}{r}\right]^{2\mu} -1\right) \left(\left[\frac{R}{r}\right]^{2\mu} -1 \right)^{2\nu}\]
\[\alpha = 2 \nu \left(\frac{R}{\sigma}\right)^{2\mu} \left(\frac{2 \nu + 1} {2\nu \left(\left(\frac{R}{\sigma}\right)^{2\mu} - 1\right)}\right) ^{2\nu + 1}\]

The potential was introduced in Xipeng Wang et al. 2020.

Warning

Set R and r_cut to the same value so the potential goes to 0 smoothly at the cutoff.

Example:

nl = nlist.Cell()
WangFrenkel = pair.WangFrenkel(nlist=nl, default_r_cut=3.0)
WangFrenkel.params[("A", "A")] = dict(
    epsilon=1.0, sigma=1.0, R=2 ** (1 / 6), mu=12, nu=6
)
WangFrenkel.r_cut[("A", "A")] = 2 ** (1.0 / 6.0)
WangFrenkel.params[(["A", "B"], ["C", "D"])] = dict(
    epsilon=1.5, sigma=2.0, R=2.5, mu=2, nu=2
)

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 \(W_\mathrm{additional}\). Read more...

cpu_local_force_arrays

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

energies

Energy contribution \(U_i\) from each particle. Read more...

energy

The potential energy \(U\) of the system from this force. Read more...

forces

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

gpu_local_force_arrays

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

torques

The torque \(\vec{\tau}_i\) applied to each particle. Read more...

virials

Virial tensor contribution \(W_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 WangFrenkel:

params

The potential parameters. The dictionary has the following keys:

  • epsilon (float, required) - \(\varepsilon\) \([\mathrm{energy}]\)

  • sigma (float, required) - \(\sigma\) \([\mathrm{length}]\)

  • R (float, required) - \(R\) \([\mathrm{length}]\)

  • mu (int, required) - \(\mu\) \([\mathrm{dimensionless}]\)

  • nu (int, required) - \(\nu\) \([\mathrm{dimensionless}]\)

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