(eps)
| 138 | |
| 139 | |
| 140 | def rootfun(eps): |
| 141 | # add the cylinder of epsilon = eps to the old geometry: |
| 142 | ms.geometry = old_geometry + [mp.Cylinder(0.2, material=mp.Medium(epsilon=eps))] |
| 143 | ms.run_tm() # solve for the mode (using the targeted solver) |
| 144 | print(f"epsilon = {eps} gives freq. = {ms.get_freqs()[0]}") |
| 145 | return ms.get_freqs()[0] - 0.314159 # return 1st band freq. - 0.314159 |
| 146 | |
| 147 | |
| 148 | rooteps = ridder(rootfun, 1, 12) |