MeshDynamicalBonding

class hoomd.md.update.MeshDynamicalBonding(trigger, mesh, kT, forces=[])

Bases: Updater

Dynamical bonding of the applied mesh that allows edge flips according to a Metropolic Monte Carlo algorithm.

Parameters:
  • trigger (hoomd.trigger.trigger_like) – Select the timesteps to triger bond flip attempt.

  • mesh (hoomd.mesh.Mesh) – Mesh data structure.

  • kT (float) – Temperature of the simulation [energy][\mathrm{energy}].

  • forces (Sequence[hoomd.md.mesh.MeshPotential]) – Sequence of mesh potentials applied to the updater. The default value of None initializes an empty list.

MeshDynamicalBonding works directly with hoomd.mesh.Mesh to apply edge flips between neighboring triangles in the mesh. At each step, the updater attempts to flip each edge within the mesh in random order. The probability of fliping an edge ijij between the common vertices ii and jj of triangles ijkijk and jiljil to an edge klkl between kk and ll is:

paccept={exp(β(U(kl)U(ij)))U(kl)>U(ij)1ΔU(kl)U(ij).p_\mathrm{accept} = \begin{cases} \exp(-\beta (U(kl)-U(ij))) & U(kl) > U(ij) \\ 1 & \Delta U(kl) \le U(ij).\\ \end{cases}

To obtain energies U(ij)U(ij) and U(kl)U(kl) for the corresponding edge configurations, only the mesh potentials attached to the updater are considered.

Attention

MeshDynamicalBonding is NOT implemented for MPI parallel execution!

{inherited}

property forces

Returns the applied mesh potentials.