A 2D sweep multiplies the cost: 3 radii times 3 permittivities is 9 full band calculations. The result is a flat list ordered the same way nested sweeps are (last-declared parameter varies fastest), which is the natural layout for reshaping into an (nr,nε) grid for contour plots of band-edge frequencies or bandgap widths.
1import blaze
2
3# Sweep both radius and atom permittivity → a grid of jobs.
4results = blaze.solve(
5 lattice_type="square",
6 epsilon_background=1.0,
7 epsilon_atoms=[6.0, 10.0, 2.0],
8 radius_atom=[0.2, 0.3, 0.05],
9 polarization="TM",
10 n_bands=6,
11)
12
13print(f"{len(results)} configurations computed")