Skip to Content
Back

Choose a specific k-path

Lattices & Geometry

k-path coordinates are given in the fractional reciprocal basis (b1,b2)(b_1, b_2), not Cartesian, so they stay invariant under lattice scaling. Custom paths are useful for zooming in on a band crossing or for stitching together unusual cuts through the Brillouin zone. The points you pass are the path corners; intermediate samples are filled in by linear interpolation.

Explorer
custom-k-path/
k_path.py
1import blaze
2
3# A custom k-path in fractional reciprocal coordinates.
4# Here: Γ → X → M → Γ, sampled densely.
5k_path = [
6    [0.0, 0.0], [0.25, 0.0], [0.5, 0.0],
7    [0.5, 0.25], [0.5, 0.5],
8    [0.25, 0.25], [0.0, 0.0],
9]
10
11result = blaze.solve(
12    lattice_type="square",
13    epsilon_background=1.0,
14    epsilon_atoms=8.9,
15    radius_atom=0.2,
16    polarization="TM",
17    k_path=k_path,
18)
19
20print(result.k_points.shape)   # (7, 2)

Band diagram

Run the example to see the band diagram.

Result · BandResult

Run the example to inspect the result object.