In [ ]:
import meep as mp
from meep import mpb
import math
num_bands = 50
gaas = mp.Medium(epsilon=12.96)
k_points = [mp.Vector3(0., 0.5),]
k_points = mp.interpolate(10, k_points)
geometry_lattice = mp.Lattice(size=mp.Vector3(5, 5),
basis1=mp.Vector3(math.sqrt(3)/2, 0.5),
basis2=mp.Vector3(math.sqrt(3)/2, -0.5))
geometry = [mp.Cylinder(0.25, material=gaas)]
geometry = mp.geometric_objects_lattice_duplicates(geometry_lattice, geometry)
geometry.append(mp.Cylinder(0.68, material=gaas))
default_material = mp.Medium(epsilon=2.4)
resolution = 32
target_freq = (0.229 + 0.307) / 2
ms = mpb.ModeSolver(num_bands=num_bands,
k_points=k_points,
geometry=geometry,
geometry_lattice=geometry_lattice,
resolution=resolution,
default_material=default_material,
target_freq=target_freq)
result = ms.run_tm(mpb.output_at_kpoint(k_points[0], mpb.fix_efield_phase,
mpb.output_efield_z))
In [ ]: