; Compute band structure for a square lattice of dielectric rods
; in air.
; Define various parameters with define-param so that they are
; settable from the command-line (with mpb =):
(define-param r 0.2) ; radius of the rods
(define-param eps 8.9) ; dielectric constant
(define-param k-interp 19) ; number of k points to interpolate
(define GaAs (make dielectric (epsilon eps)))
(set! geometry-lattice (make lattice (size 1 1 no-size))) ; 2d cell
(set! geometry
(list
(make cylinder
(material GaAs)
(center 0 0) (radius r) (height infinity))))
(define Gamma (vector3 0 0 0))
(define X (vector3 0.5 0 0))
(define M (vector3 0.5 0.5 0))
(set! k-points (interpolate k-interp (list Gamma X M Gamma)))
(set-param! resolution 32)
(set-param! num-bands 8)
(run-tm)
; (run-te)
(display-eigensolver-stats)