Diamond

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

Bases: Manifold

Triply periodic diamond 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 Diamond surface (default 0)

Diamond defines a periodic diamond surface . The diamond (or Schwarz D) belongs to the family of triply periodic minimal surfaces:

F(x,y,z)=cos2πBxxcos2πByycos2πBzzsin2πBxxsin2πByysin2πBzzϵF(x,y,z) = \cos{\frac{2 \pi}{B_x} x} \cdot \cos{\frac{2 \pi}{B_y} y} \cdot \cos{\frac{2 \pi}{B_z} z} - \sin{\frac{2 \pi}{B_x} x} \cdot \sin{\frac{2 \pi}{B_y} y} \cdot \sin{\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:

diamond1 = manifold.Diamond(N=1)
diamond2 = manifold.Diamond(N=(1, 2, 2))