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 [ ]: