triqs.lattice.utils.k_space_path

triqs.lattice.utils.k_space_path(segments, num=101, bz=None, relative_coordinates=True)[source]

Generate an array of k-vectors along a path defined by a list of pairs of k-vectors

Parameters:
  • segments (list of pairs of three-vectors of floats) – List of pairs of k-vectors in reciprocal units to create a path in-between.

  • num (int, default=100) – Number of k-vectors along each segment of the overall path

  • bz (brillouin_zone, optional) – When a Brillouin Zone is passed, calculate distance in absolute units

  • relative_coordinates (bool, optional) – Return k-vectors in reciprocal units. (Default True)

Returns:

  • kvecs (numpy.ndarray [shape=(len(segments)*num,3)]) – Two-dimensional numpy array containing the path vectors (in reciprocal units) as rows

  • dist (numpy.ndarray [shape=(kvecs.shape[0])]) – One-dimensional numpy array containing, for each element in kvecs, the distance travelled along the path. Useful for plotting. If bz is provided, calculate the distance in absolute units.

  • ticks (numpy.ndarray [shape=(len(segments)+1)]) – Array with tick points, i.e. distances at the interfaces between segment. Includes the initial and final distance.