130
Appendix: MPB Codes for Band Calculation of Various Photonic …
A.2 Bragg Mirror of Silicon-Air Quaterwave Stack
bragg.ctl
; Compute the bands at the X point for a quarter−wave stack Bragg
; mirror ( this is the point that defines the band gap edges ) .
; the high and low indices :
(define−param n−lo 1.0)
(define−param n−hi 3.5)
(define−param w−hi ( / n−lo (+ n−hi n−lo))) ; a quarter−wave stack
; 1d cell
( set ! geometry−lattice (make l a ttice ( size 1 no−size no−size)))
( set ! default−material (make dielectric (index n−lo)))
( set ! geometry
( l i s t
(make cylinder
( material (make dielectric (index n−hi)))
( center 0 0 0) ( axis 1 0 0)
( radius infinity ) (height w−hi))))
( set ! k−points ( l i s t (vector3 −0.5 0 0)
(vector3 0.0 0 0)
(vector3 0.5 0 0)))
( set ! k−points ( interpolate 4 k−points))
(set−param! resolution 32)
(set−param! num−bands 3)
(run−tm output−hfield−y)
; note that TM and TE bands are degenerate , so we only need TM
A.3 Square Lattice of Silicon Rods
sqrod.ctl
; PWM
; Band computation for a square lattice of Silicon rods
( set ! num−bands 10)
( set ! k−points ( l i s t (vector3 0.5 0.5 0)
; M
(vector3 0.5 0 0)
; X
(vector3 0 0 0)
; Gamma
(vector3 0.5 0.5 0)
; M
)
)
( set ! k−points ( interpolate 9 k−points))
Appendix: MPB Codes for Band Calculation of Various Photonic …
A.2 Bragg Mirror of Silicon-Air Quaterwave Stack
bragg.ctl
; Compute the bands at the X point for a quarter−wave stack Bragg
; mirror ( this is the point that defines the band gap edges ) .
; the high and low indices :
(define−param n−lo 1.0)
(define−param n−hi 3.5)
(define−param w−hi ( / n−lo (+ n−hi n−lo))) ; a quarter−wave stack
; 1d cell
( set ! geometry−lattice (make l a ttice ( size 1 no−size no−size)))
( set ! default−material (make dielectric (index n−lo)))
( set ! geometry
( l i s t
(make cylinder
( material (make dielectric (index n−hi)))
( center 0 0 0) ( axis 1 0 0)
( radius infinity ) (height w−hi))))
( set ! k−points ( l i s t (vector3 −0.5 0 0)
(vector3 0.0 0 0)
(vector3 0.5 0 0)))
( set ! k−points ( interpolate 4 k−points))
(set−param! resolution 32)
(set−param! num−bands 3)
(run−tm output−hfield−y)
; note that TM and TE bands are degenerate , so we only need TM
A.3 Square Lattice of Silicon Rods
sqrod.ctl
; PWM
; Band computation for a square lattice of Silicon rods
( set ! num−bands 10)
( set ! k−points ( l i s t (vector3 0.5 0.5 0)
; M
(vector3 0.5 0 0)
; X
(vector3 0 0 0)
; Gamma
(vector3 0.5 0.5 0)
; M
)
)
( set ! k−points ( interpolate 9 k−points))
