Hi dear users.
I want to calculate the transmission of square-rods photonic crystals, but my 
result is wrong.
The program that I've used in Meep is as below, please help me to correct the 
mistake please.
Best.
Xioayu
(define-param ly 15)
(define-param w 5)
(define-param r 0.36)
(define-param eps 8.49)
(define-param dpml 1)
(define-param pad 2)
(define-param N 20)
(define mat (make dielectric (epsilon eps) ))
(define lx (+ (* 2 (+ pad dpml)) N) )
(set! geometry-lattice (make lattice (size lx ly no-size)))
(set! geometry
      (append ; combine lists of objects:
       (list (make block (center 0 0) (size infinity w infinity)
     (material air)))       
       (geometric-object-duplicates (vector3 1 0) 0 (- N 1)
 (make cylinder (center (- 0.5 (* 0.5 N)) 0) (radius r) (height infinity)
       (material (make dielectric (epsilon eps))))) 
       (geometric-object-duplicates (vector3 1 0) 0 (- N 1)
 (make cylinder (center (- 0.5 (* 0.5 N)) 1) (radius r) (height infinity)
       (material (make dielectric (epsilon eps))))) 
       (geometric-object-duplicates (vector3 1 0) 0 (- N 1)
 (make cylinder (center (- 0.5 (* 0.5 N)) 2) (radius r) (height infinity)
       (material (make dielectric (epsilon eps))))) 
       (geometric-object-duplicates (vector3 1 0) 0 (- N 1)
 (make cylinder (center (- 0.5 (* 0.5 N)) -1) (radius r) (height infinity)
       (material (make dielectric (epsilon eps))))) 
       (geometric-object-duplicates (vector3 1 0) 0 (- N 1)
 (make cylinder (center (- 0.5 (* 0.5 N)) -2) (radius r) (height infinity)
       (material (make dielectric (epsilon eps))))) 
 
     
))

(set! pml-layers (list (make pml (thickness dpml))))
(set-param! resolution 32)
(define-param fcen 0.25)
(define-param df 0.2)
(define-param nfreq 500)
(set! sources (list
  (make source
   (src (make gaussian-src
     (frequency fcen)
     (fwidth df)))
     (component Hy)
     (center (+ dpml (* -0.5 lx)) 0)
     (size 0 w))))

(set! symmetries (list (make mirror-sym (direction Y) (phase -1))))
(define trans
         (add-flux  fcen df nfreq
                    (make flux-region
                        (center (- (* 0.5 lx) dpml 0.5) 0) (size 0 (* w 2)))))
(run-sources+ (stop-when-fields-decayed
               50 Hy
               (vector3 (- (* 0.5 lx) dpml 0.5) 0)
               1e-3)
              (at-beginning output-epsilon)
)
(display-fluxes trans)

 
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to