Dear Steven,
I just begin to use Meep and now i come across a problem about how to make a
source in 3D-space.
A SiO2 substrate is covered with a Au film, with a air hole array digged
through th Au film. Then i defined a gaussian source in the side of Au film,
and a flux-region in the other side. However, it seems that the source doesn't
work at all.
Here i attach the script, please help me find the problem. Thanks a lot.
;parameters
(define w1 4) ;the width of SiO2 block
(define w2 0.2) ;the width of Ag film
(define nx 3) ;ny X nz cubic array
(define ny 3)
(define px 0.5) ;period of hole array
(define py 0.5)
(define r 0.075) ;the radius of hole
(define d1 3.5) ;the dielectric constant of SiO2
;!!make lattice
(define sx 5)
(define sy 5)
(define sz 10)
(set! geometry-lattice (make lattice (size sx sy sz)))
;make objects
(define SiO2 (make material-type (epsilon d1))) ;define
material:SiO2
(define silver (make dielectric (epsilon 14) (polarizations (make
polarizability (omega 1) (gamma 0.0588) (delta-epsilon 2407)))))
(set! geometry
(append
(list (make block (center 0 0 (/ w1 2)) (size infinity infinity w1) (material
SiO2))) ;SiO2 block
(list (make block (center 0 0 (/ w2 -2)) (size infinity infinity w2) (material
silver))) ;Ag block
(geometric-objects-duplicates (vector3 px 0 0) 0 (- nx 1)
(geometric-object-duplicates (vector3 0 py 0) 0 (- ny 1)
(make cylinder (center(* px (/ (- nx 1) -2)) (* py (/ (- ny 1) -2)) (/ w2
-2)) (radius r) (height w2) (material air)))) ;air cylinder
))
(set! symmetries (list (make rotate4-sym (direction Z))))
;make pml
(define dpml 1) (set! pml-layers(list (make pml (thickness dpml))))
(set-param! resolution 50)
;make source
(define fcen 2) ;center frequency
(define df 0.5) ;frequency width
(define-param endt 10000)
(set! source (list
(make source
(src (make gaussian-src (frequency fcen) (fwidth df))) (component Ey)
(center 0 0 (+ dpml (* -0.5 sz) 0.5)) (size sx sy 0))))
;define transmission spectrum
(define nfreq 20) ;number of frequencies at which to compute flux
(define trans
(add-flux fcen df nfreq (make flux-region (center 0 0 (- (* 0.5 sz) dpml
0.5)) (size sx sy 0))))
;specify running condition
(run-until endt)
(display-fluxes trans) ;print out the flux spectrum
2008-11-13
daxiazhangyin
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss