ExamplesMeep Examples

MPB Triangular Holes

Compute complete photonic band gap in triangular lattice of air holes

MPB Triangular Lattice Band Structure

This example computes the photonic band structure for a triangular lattice of air holes in a dielectric, demonstrating a complete photonic band gap (gap in both TE and TM polarizations).

Overview

Triangular hole lattices are important because:

  • Complete band gap: Gap for all polarizations and directions
  • Practical fabrication: Easier to etch holes than rods
  • Photonic crystal fibers: Hollow-core guidance
  • 2D slab waveguides: Silicon photonics

A complete band gap occurs when the TE and TM gaps overlap. This requires careful optimization of the hole radius and dielectric contrast.

Parameters

ParameterValueDescription
r0.45Hole radius (optimal for complete gap)
eps12Dielectric constant (Si-like)
resolution32Grid resolution
num_bands8Number of bands

Triangular Lattice

The lattice vectors for a triangular lattice:

  • basis1: (√3/2, 1/2)
  • basis2: (√3/2, -1/2)

K-Point Path

High-symmetry path through the hexagonal Brillouin zone:

  • ΓMKΓ

Code Structure

from meep import mpb
import math

# Triangular lattice
geometry_lattice = mp.Lattice(
    size=mp.Vector3(1, 1),
    basis1=mp.Vector3(math.sqrt(3) / 2, 0.5),
    basis2=mp.Vector3(math.sqrt(3) / 2, -0.5),
)

# Air hole in dielectric
geometry = [mp.Cylinder(r=0.45, material=mp.air)]
default_material = mp.Medium(epsilon=12)

ms = mpb.ModeSolver(
    geometry_lattice=geometry_lattice,
    geometry=geometry,
    default_material=default_material,
    k_points=k_points,
    resolution=32,
    num_bands=8,
)

ms.run_te()
ms.run_tm()

Band Gap Analysis

For r=0.45 and ε=12:

  • TE gap: Between bands 1-2
  • TM gap: Overlaps with TE gap
  • Complete gap: Non-zero gap-midgap ratio

On this page