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

Reply via email to