equivalent_surfaces

ifermi.analysis.equivalent_surfaces(surfaces_vertices, tol=1e-05)[source]

Find equivalent surfaces.

Note: This function expects the vertices of each surface to only belong to a single connected mesh, and the vertices should cover a 3x3x3 supercell, where the coordinates from -0.5 to 0.5 indicate the center image.

Parameters:
  • surfaces_vertices (list[ndarray]) – A (m, ) list of (n, 3) float arrays containing the vertices for each surface, in fractional coordinates.

  • tol – A tolerance for evaluating whether two vertices are equivalent.

Return type:

ndarray

Returns:

A (m, ) int array that maps each each surface in the original surface array to its equivalent.