Primitive

class hoomd.md.manifold.Primitive(N, epsilon=0)

Bases: Manifold

Triply periodic primitive manifold.

Parameters:
  • N (tuple [int, int, int] or int) – number of unit cells in all 3 directions. \([N_x, N_y, N_z]\). In case number of unit cells u in all direction the same (\([u, u, u]\)), use N = u.

  • epsilon (float) – defines CMC companion of the Primitive surface (default 0)

Primitive specifies a periodic primitive surface as a constraint. The primitive (or Schwarz P) belongs to the family of triply periodic minimal surfaces:

\[F(x,y,z) = \cos{\frac{2 \pi}{B_x} x} + \cos{\frac{2 \pi}{B_y} y} + \cos{\frac{2 \pi}{B_z} z} - \epsilon\]

is the nodal approximation of the diamond surface where \([B_x,B_y,B_z]\) is the periodicity length in the x, y and z direction. The periodicity length B is defined by the current box size L and the number of unit cells N. \(B_i=\frac{L_i}{N_i}\)

Example:

primitive1 = manifold.Primitive(N=1)
primitive2 = manifold.Primitive(N=(1, 2, 2))