Dear Steven and all,
I made 3D simulations to calculate the gaussion source scattering by
cylinder array (normal incidence).
The flux (and field) will blow up.
I posted these in a few emails several weeks ago using the subject "flux
error".
I finally found that only when the cylinder extends into PML, the error will
occur.
If cylinder is replaced by a square pillar or if the cylinder is taken out
of PML, there won't be such problem.
The code is attached.
Thanks,
Hua
*************************
; characteristic length 100 nm
(define-param N 1) ; N*N is the cylinder number
(define-param d 4) ; defect center spacing (ordinary spacing = 1)
(define-param L 15) ;length of the cylinder
(define-param r 1)
(define-param lam 5 )
(define-param pad 1 )
(define-param dpml (* 1.2 lam))
(define-param sx (* N d))
(define-param sy (* N d))
(define-param sz (* 2 L))
(define-param fce (/ 1 lam))
(define-param df .1)
(define-param nfreq 10)
(set! geometry-lattice (make lattice (size sx sy sz)))
(set! geometry (list
(make cylinder (center 0 0 (/ sz 4)) (radius r) (height L)
(material (make dielectric (epsilon 12 ))))))
(set! resolution 10)
(set! sources (list
(make source
(src (make gaussian-src
(frequency fce) (fwidth df)))
(component Ey)
(center 0 0 (- (+ dpml pad) (/ sz 2)) ) (size sx sy 0))))
(set! pml-layers (list (make pml (direction Z) (thickness dpml))))
(set-param! k-point (vector3 0 0))
;(set! symmetries (list (make mirror-sym (direction Y) (phase -1))))
(define inc
(add-flux fce df nfreq
(make flux-region
(center 0 0 -1) (size sx sy 0))))
(save-flux "inc-flux" inc)
(run-sources+ 100
(at-beginning output-epsilon)
(to-appended "Ey" (at-every 10 output-efield-y)))
(display-fluxes inc)
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss