pythtb.Mesh.build_path#
- Mesh.build_path(nodes, n_interp=1)[source]#
Build a k-path in the Brillouin zone.
The number of points along the path is determined by the number of interpolation points specified. For N nodes, there will be N-1 segments, each with n_interp points, plus the endpoints. Thus, the total number of points will be N-1 + 1 + (N-1) * n_interp = N + (N-1) * n_interp.
- 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.
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)