ReciprocalCell

class ifermi.brillouin_zone.ReciprocalCell(reciprocal_lattice, vertices, faces, centers, normals)[source]

Bases: MSONable

A parallelepiped reciprocal lattice cell.

Variables:
  • reciprocal_lattice – A (3, 3) float array of the reciprocal lattice vectors.

  • vertices – A (n, 3) float array of the vertices of the Brillouin zone edges.

  • faces – A (m, 3) int array of the faces of the Brillouin zone.

  • centers – A (m, 3) float array of the face centers.

  • normals – A (m, 3) float array of the face normal.

property edges: ndarray

A (n, 2) int array defining the cell edges.

classmethod from_structure(structure)[source]

Initialise the reciprocal cell from a structure.

Parameters:

structure (Structure) – A structure.

Return type:

ReciprocalCell

Returns:

The reciprocal cell.

get_reciprocal_slice(plane_normal, distance=0)[source]

Get a reciprocal slice through the Brillouin zone.

Reciprocal slice defined by the intersection of a plane with the lattice.

Parameters:
  • plane_normal (tuple[int, int, int]) – (3, ) int array of the plane normal in fractional indices.

  • distance (float) – The distance from the center of the Brillouin zone (Γ-point).

Return type:

ReciprocalSlice

Returns:

The reciprocal slice.

property lines: ndarray

A (n, 2, 3) float array defining the cell boundaries.