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. [Nx,Ny,Nz][N_x, N_y, N_z]. In case number of unit cells u in all direction the same ([u,u,u][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)=cos2πBxx+cos2πByy+cos2πBzzϵ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 [Bx,By,Bz][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. Bi=LiNiB_i=\frac{L_i}{N_i}

Example:

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