principia_materia.translation_group.wigner_seitz module

class principia_materia.translation_group.wigner_seitz.WignerSeitz(vec, nrange=2, tol=1e-05)

Bases: object

Find the weight of a point in Wigner Seitz cell.

If a point is in the cell, it has weight of 1. If a point is out of the cell, it has weight of 0. If a point is on the boundaries of the cell, the weight is 1 / (1 + # of cells the point is shared with neighbor WS cells.)

Parameters:
  • vec (array of floats, shape(dim, dim)) – Lattice vectors.

  • nrange (int, optional, default 2) – Number of translations in each direction used to find neighbor list.

  • tol (float, optional, default 1.0E-5) – Tolerance.

weight(vector)

Weighing by counting how many times the point sit of one of the ws cell edges

Parameters:

vector (array of float) – The Cartesian coordinates of a point.

Returns:

weight – The weight of the point.

Return type:

float