Skip to Content
Back

Select specific k-points & bands

Streaming & Inspection

Filtered streaming returns only the indices you ask for, which is essential when you are scanning thousands of configurations and only need (say) the lowest 44 bands at the high-symmetry corners. The engine still solves the full eigenproblem, but transfer/storage cost drops linearly with the number of selected k-points and bands.

Explorer
selective-k-points-bands/
selective.py
1from blaze import BulkDriver
2
3# Stream only k-points 0, 5, 10 and bands 0 to 3.
4driver = BulkDriver("crystal.toml")
5for result in driver.run_streaming_filtered(
6    k_indices=[0, 5, 10],
7    band_indices=[0, 1, 2, 3],
8):
9    print("k-points:", result["num_k_points"], "bands:", result["num_bands"])

Band diagram

Run the example to see the band diagram.

Result · Iterator[dict]

Result
result:Iterator[dict]