Skip to Content
Back

Sweep over rod radius

Parameter Sweeps

A [start, stop, step] triple expands the call into a sweep and returns a list of BandResult objects, one per value (the endpoint is included). The radius is constrained to (0,0.5)(0, 0.5) in units of aa so neighbouring rods cannot overlap. Watch how the lower bands stiffen as the rods grow: the filling fraction climbs and pulls the photonic gap up in frequency.

Explorer
radius-sweep/
radius_sweep.py
1import blaze
2
3# Sweep the rod radius from 0.2 to 0.4 in steps of 0.05.
4results = blaze.solve(
5    lattice_type="square",
6    epsilon_background=1.0,
7    epsilon_atoms=8.9,
8    radius_atom=[0.2, 0.4, 0.05],
9    polarization="TM",
10    n_bands=8,
11)
12
13for r in results:
14    print(f"r={r.radius_atom}: band1 max = {r.freqs[:, 0].max():.4f}")

Band diagram

Run the example to see the band diagram.

Result · list[BandResult] (0)

Result
results:list[BandResult] (0)