Mesh

class hoomd.mesh.Mesh

Data structure combining multiple particles into a mesh.

The mesh is defined by an array of triangles that make up a triangulated surface of particles. Each triangle consists of three particle tags and is assigned to a defined triangle type.

Example:

mesh_obj = hoomd.mesh.Mesh()
mesh_obj.types = ["mesh"]
mesh_obj.triangulation = dict(
    type_ids=[0, 0, 0, 0],
    triangles=[
        [0, 1, 2],
        [0, 2, 3],
        [0, 1, 3],
        [1, 2, 3],
    ],
)
types

Names of the triangle types.

Type: list [str]

triangulation

The mesh triangulation. The dictionary has the following keys:

  • type_ids ((N) numpy.ndarray of uint32): List of

    triangle type ids.

  • triangles ((N, 3) numpy.ndarray of uint32): List of triplets of particle tags which encodes the triangulation of the mesh structure.

Type: dict

property bonds

Mesh bonds.

A list of tuples of particle ids which encodes the bonds within the mesh structure.

(Loggable: category=”sequence”)

Type:

((N, 2) numpy.ndarray of uint32)

create_dynamical_bonding_updater(trigger, kT, forces=[])

Create a dynamical bonding updater for this mesh.

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

  • 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.

Returns:

The dynamical bonding updater.

Return type:

hoomd.md.update.MeshDynamicalBonding

property size

Number of triangles in the mesh.

Type:

(int)

property triangles

Mesh triangulation.

A list of triplets of particle tags which encodes the triangulation of the mesh structure.

(Loggable: category=”sequence”)

Type:

((N, 3) numpy.ndarray of uint32)

property type_ids

Triangle type ids.

(Loggable: category=”sequence”)

Type:

((N) numpy.ndarray of uint32)