
Working-Meep-Code-Gratings
By:
el_matt on
Jan 23rd, 2013 | syntax:
Scheme | size: 2.78 KB | hits: 60 | expires: Never
(use-output-directory "/home/mrea1g12/Dropbox/AR-Coatings/Meep-Files/outputs")
(define-param f 2) ; light frequency
(define-param lx 50) ; lattice x limit
(define-param ly 50) ; lattice y limit
(define-param a 4) ; grating periodicity
(define-param w 1) ; grating aperture width
(define-param d 2); grating aperture depth
(define-param T 100); runtime
(set! geometry-lattice (make lattice (size lx ly no-size)))
(set! geometry (list
(make block
(center 25 25)
(size 50 50 no-size)
(material
(make dielectric
(epsilon 2.25)
)
)
)
(make block
(center 0 0)
(size 35.355 35.355 no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
(make block
(center 12.5 12.5)
(size d w no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
(make block
(center
(+ 12.5 a)
(- 12.5 a)
)
(size d w no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
(make block
(center
(- 12.5 a)
(+ 12.5 a)
)
(size d w no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
(make block
(center
(+ 12.5 (* 2 a))
(- 12.5 (* 2 a))
)
(size d w no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
(make block
(center
(- 12.5 (* 2 a))
(+ 12.5 (* 2 a))
)
(size d w no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
(make block
(center
(+ 12.5 (* 3 a))
(- 12.5 (* 3 a))
)
(size d w no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
(make block
(center
(- 12.5 (* 3 a))
(+ 12.5 (* 3 a))
)
(size d w no-size)
(e1 1 1 0)
(e2 1 -1 0)
(material
(make dielectric
(epsilon 1)
)
)
)
)
)
(set! sources (list
(make source
(src
(make continuous-src
(frequency f)
)
)
(component Ez)
(center -24 10)
(size 0 24)
)
)
)
(set! pml-layers
(list
(make pml
(thickness 1.0)
)
)
)
(set! resolution 16)
(run-until T
(at-beginning output-epsilon)
(at-end
(output-png Ez "-Zc dkbluered")
)
)