132
Appendix: MPB Codes for Band Calculation of Various Photonic …
A.5 Diamond Lattice of Silicon Spheres
diamond.ctl
; Diamond Lattice
( set ! geometry−lattice (make l a ttice
(basis−size (sqrt 0.5) (sqrt 0.5) (sqrt 0.5))
(basis1 0 1 1)
(basis2 1 0 1)
( basis3 1 1 0)))
; Corners of irreducible Brilluoine Zone for Fcc lattice
; in cannonical order
( set ! k−points ( interpolate 4 ( l i s t
(vector3 0 0.5 0.5)
; X
(vector3 0 0.625 0.375)
; U
(vector3 0 0.5 0)
; L
(vector3 0 0 0)
; Gamma
(vector3 0 0.5 0.5)
; X
(vector3 0.25 0.75 0.5)
; W
(vector3 0.375 0.75 0.375)
; K
)))
; define a couple of parameters (which we can set from the command−line)
(define−param eps 12.25)
; dielectric constant of sphere
(define−param r 0.2)
; radius of sphere
( define diel (make dielectric ( epsilon eps )))
; a diamong lattice has two atoms per unit cell :
( set ! geometry ( l i s t (make sphere ( center 0.125 0.125 0.125) ( radius r )
( material diel )) (make sphere ( center −0.125 −0.125 −0.125)
( radius r ) ( material diel ))))
; A simple fcc lattice has only one sphere / object at the origin
(set−param! resolution 16)
; use a 16x16x16 grid
(set−param! mesh−size 5)
(set−param! num−bands 5)
; run calculatio outputting electric field energy density at U point :
(run (output−at−kpoint ( vector3 0 0.625 0.375) output−dpwr))
NOTE: The codes have been adapted from MPB tutorials available at the following
links:
http://ab-initio.mit.edu/mpb/doc/mpb.pdf
https://github.com/NanoComp/mpb/blob/master/examples/bragg.ctl
Appendix: MPB Codes for Band Calculation of Various Photonic …
A.5 Diamond Lattice of Silicon Spheres
diamond.ctl
; Diamond Lattice
( set ! geometry−lattice (make l a ttice
(basis−size (sqrt 0.5) (sqrt 0.5) (sqrt 0.5))
(basis1 0 1 1)
(basis2 1 0 1)
( basis3 1 1 0)))
; Corners of irreducible Brilluoine Zone for Fcc lattice
; in cannonical order
( set ! k−points ( interpolate 4 ( l i s t
(vector3 0 0.5 0.5)
; X
(vector3 0 0.625 0.375)
; U
(vector3 0 0.5 0)
; L
(vector3 0 0 0)
; Gamma
(vector3 0 0.5 0.5)
; X
(vector3 0.25 0.75 0.5)
; W
(vector3 0.375 0.75 0.375)
; K
)))
; define a couple of parameters (which we can set from the command−line)
(define−param eps 12.25)
; dielectric constant of sphere
(define−param r 0.2)
; radius of sphere
( define diel (make dielectric ( epsilon eps )))
; a diamong lattice has two atoms per unit cell :
( set ! geometry ( l i s t (make sphere ( center 0.125 0.125 0.125) ( radius r )
( material diel )) (make sphere ( center −0.125 −0.125 −0.125)
( radius r ) ( material diel ))))
; A simple fcc lattice has only one sphere / object at the origin
(set−param! resolution 16)
; use a 16x16x16 grid
(set−param! mesh−size 5)
(set−param! num−bands 5)
; run calculatio outputting electric field energy density at U point :
(run (output−at−kpoint ( vector3 0 0.625 0.375) output−dpwr))
NOTE: The codes have been adapted from MPB tutorials available at the following
links:
http://ab-initio.mit.edu/mpb/doc/mpb.pdf
https://github.com/NanoComp/mpb/blob/master/examples/bragg.ctl
