pwtools.kpath.kpath

pwtools.kpath.kpath(vecs, N=10)[source]

Simple k-path. Given a set of K vectors (special points in the BZ), generate a “fine path” of N*(K-1)+1 vectors along the path defined by the vectors in vecs. The K vectors are the “vertices” of the k-path and we construct the fine path by connecting the vertices by their distance vectors and placing N points on each connection edge.

Parameters:
  • vecs (array (K,M)) – Array with K vectors of the Brillouin zone (so M = 3 usually :)

  • N (int)

Returns:

new_vecs – Array with a fine grid of vectors along the path defined by vecs.

Return type:

array (N*(K-1)+1,M)

Notes

This is the simplest method one can think of. Points on the “fine path” are not equally distributed. The distance between 2 vertices (k-points) doesn’t matter, you will always get N points between them. For a smooth dispersion plot, you need N=20 or more.