pythtb.Mesh.build_path#
- Mesh.build_path(nodes, n_interp=1)[source]#
Build a k-path in the Brillouin zone.
A path mesh has a single axis that traces a path through a higher-dimensional \((k, \lambda)\)-space.
- Parameters:
- nodesnp.ndarray
The k/parameter-path points in reduced coordinates. Must have the shape
(N_nodes, dim_total)for any k/parameter-path, where dim_total is the total number of dimensions in the mesh defined bydim_total = dim_k + dim_lambda.- n_interpint
The number of interpolation points between each pair of nodes.
Notes
The number of points along the path is determined by the number of interpolation points specified. For
Nnodes, there will beN-1segments, each withn_interppoints, plus the endpoints. Thus, the total number of points will beN-1 + 1 + (N-1) * n_interp = N + (N-1) * n_interp.Examples
We can create a k-path by specifying the nodes in reduced coordinates.
>>> nodes = np.array([[0, 0, 0], [0.5, 0.5, 0], [1, 1, 0]]) >>> mesh.build_path(nodes, n_interp=5)
Since we specified 5 interpolation points between the nodes, the resulting mesh will have 10 points along the path.
>>> mesh.flat.shape (10, 3)