bond¶

Mesh bond force classes apply a force and virial between every mesh vertex particle and their neighbors based on the given mesh triangulation.

\[U_\mathrm{mesh bond} = \sum_{j \in \mathrm{mesh}} \sum_{k \in \mathrm{Neigh}(j)}U_{jk}(r)\]

The connectivity and, thus the neighbor set \(\mathrm{Neigh}\) of each vertex particle \(j\) is defined by a mesh triangulation.

See also

See the documentation in hoomd.mesh.Mesh for more information on the initialization of the mesh object.

In the mesh bond (j,k), \(r\) is the length of the edge between the mesh vertex particles \(r= |\mathrm{minimum\_image}(\vec{r}_k - \vec{r}_j)|\).

Note

The mesh bond forces are computed over the mesh data structure and not the separate bond data structure. Hence, the mesh bonds are defined exclusively by the mesh triangulation as HOOMD-blue automatically constructs the mesh bond pairs based on triangulation in the hoomd.mesh.Mesh object. The bonds should not be defined separately in the hoomd.State member bond_group!

Mesh bond force classes assign 1/2 of the potential energy to each of the particles in the bond group:

\[U_i = \frac{1}{2} \sum_{k \in \mathrm{Neigh}(i)}U_{ik}(r)\]

and similarly for virials.

Classes