tri-holes.ctl

来自「麻省理工的计算光子晶体的程序」· CTL 代码 · 共 38 行

CTL
38
字号
; 2d system: triangular lattice of air holes in dielectric; This structure has a complete band gap (i.e. a gap in both TE and TM; simultaneously) for a hole radius of 0.45a and a dielectric constant of; 12.   (See, e.g., the book "Photonic Crystals" by Joannopoulos et al.); first, define the lattice vectors and k-points for a triangular lattice:(set! geometry-lattice (make lattice (size 1 1 no-size)                         (basis1 (/ (sqrt 3) 2) 0.5)                         (basis2 (/ (sqrt 3) 2) -0.5)))(define-param kz 0) ; use non-zero kz to consider vertical propagation(set! k-points (list (vector3 0 0 kz)          ; Gamma                     (vector3 0 0.5 kz)        ; M                     (vector3 (/ -3) (/ 3) kz) ; K                     (vector3 0 0 kz)))        ; Gamma(define-param k-interp 4)(set! k-points (interpolate k-interp k-points)); Now, define the geometry, etcetera:(define-param eps 12) ; the dielectric constant of the background(define-param r 0.45) ; the hole radius(set! default-material (make dielectric (epsilon eps)))(set! geometry (list (make cylinder (center 0) (material air)			   (radius r) (height infinity))))(set-param! resolution 32)(set-param! num-bands 8)(if (= kz 0)    (begin      (run-te)      (run-tm))    (run)) ; if kz != 0 there are no purely te and tm bands

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?