principia_materia.plotting.kpath module

class principia_materia.plotting.kpath.KPath(vertices, vertices_names, npoints=101, rvec=None)

Bases: object

Generate K-points path for plotting band structure.

Parameters:
  • vertices (array of Fraction or float, shape(N, dim) or shape(N-1, 2, dim)) – Vertices of K-path in either points or lines format.

  • vertices_names (array of str, shape(N, )) – The name of the vertices points.

  • npoints (int, optional, default to 100) – The number of K-points to generate between a poir of vertices points.

  • rvec (array of float, shape(dim, dim), optional, default to None) – Reciprocal basis vector used to renormalize K-points. If None, use identity matrix.

property dim

Dimension of the K-points.

get_gridpoints_on_path(supa, tol=1e-06)

Find the grid points of a given mesh/supa that are on the K-points path.

This search algorithm can search beyond first BZ, finding points that are on non-trivial K-paths that are not fully within the first BZ.

Parameters:
  • supa (array of int, shape(dim, dim)) – Supercell matrix.

  • tol (float, optional, default to 1.0E-6) – Error tolerance.

Returns:

  • kpoints (array of float, shape(N, dim)) – The K-points from supa that are on the path.

  • kpoints_distances (array of float, shape(N)) – The distances of the K-points from supa that are on the path used in plotting.

property kpoints

All the K-points generated along the K-path.

property kpoints_distances

The distances of the K-points used in plotting.

property n_vertices

Number of vertices points.

property npoints

Number of points to generate between the vertices.

point_on_kpath(points, tol=1e-06)

Find the distances of the K-points if they are on the K-path.

Parameters:
  • points (array of float, shape(dim, ) or (N, dim)) – The points to check.

  • tol (float, optional, default to 1.0E-6) – Error tolerance.

Returns:

distances – The distances of each points on the kpath used in plotting.

Return type:

nested list of float

property rvec

Reciprocal basis vector to renormalize K-points.

set_kpath()

Generate the K-points along the K-path and their distances for plotting.

property vertices

The vertices of K-path in lines format.

property vertices_distances

The distances of the vertices K-points used in plotting.

property vertices_names

The names of the veritces.