Dear Steven and Meep users,
I am trying to simulate a metal grating with the code below by turning on periodicty and setting pml in the Y directions. The result was a string of NaNs, even if eps-averaging? was set to false. Am I doing something wrong here? I'm using Meep version 0.10.1.
Thanks in advance,
Wai
(set! eps-averaging? false)
; grating
(define-param lengthscale 50.0) ; length scale in nm
(define-param wvelength 488.0) ; wavelength of source in nm
(define-param gperiod 100.0) ; grating period in nm
(define-param gfill 0.5) ; fill factor of grating
(define-param gthickness 100.0) ; grating thickness in nm
(define-param sx-periods 1) ; number of periods in x direction
; lattice size
(define-param sx (* gperiod sx-periods)) ; size of cell in X direction in nm
(define-param sy 1000.0) ; size of cell in Y direction in nm
; misc
(define nBK7 1.515)
; normalize variables
(set! wvelength (/ wvelength lengthscale))
(set! gperiod (/ gperiod lengthscale))
(set! gthickness (/ gthickness lengthscale))
(set! sx (/ sx lengthscale))
(set! sy (/ sy lengthscale))
; set geometry
(set! geometry-lattice (make lattice (size sx sy no-size)))
(define obj-glass
;; glass
(make block
(center 0 (/ sy -4))
(size sx (/ sy 2) infinity)
(material (make dielectric (index nBK7)))))
(define obj-metal
;; metal
(make block
(center 0 (/ gthickness 2))
(size sx gthickness infinity)
(material (make dielectric (epsilon -5)))))
(define obj-gap
;; gap
(make block
(center (/ gperiod 2) (/ gthickness 2))
(size (* (- 1 gfill) gperiod) gthickness infinity)
(material (make dielectric (index 1)))))
(define obj-gaps
;; punch through metal
(geometric-object-duplicates
(vector3 gperiod 0)
(/ sx-periods -2)
(- (/ sx-periods 2) 1)
obj-gap))
(set! geometry (append (list obj-glass obj-metal) obj-gaps))
(set! resolution 10)
(set! k-point (vector3 0))
(set! pml-layers (list
(make pml (thickness 1) (direction Y))))
(set! sources (list
(make source
(src (make continuous-src (wavelength wvelength)))
(component Ex)
(center 0 (/ sy -4))
(size sx 0))))
(run-until 100
(at-beginning output-epsilon)
(at-end output-efield-x output-efield-y output-efield-z))
_______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

