Hello,

You shouldn't divide the right edge flux by the left edge flux, because the 
left one is a summation of left-going (incident) flux and right-going 
(reflected) flux with minux sign. In order to calculate transmission, you have 
to obtain correct incident flux. To do that, you need to calculate twice like 
the case of "Transmission spectrum around a waveguide bend" in the MEEP 
tutorial. 

Sang Soon

  ----- Original Message ----- 
  From: andika asyuda 
  To: [email protected] 
  Sent: Thursday, September 04, 2008 2:17 AM
  Subject: [Meep-discuss] transmission larger than 1


  Good night meep user

  I encountered a problem about meep simulation about periodic dielectric, 
sequence of hole at a block of silicon. I calculate flux at 3 points, the left 
edge (near the source) , center, and right edge. I calcuate transmission by 
divide the value of flux at center and left edge with the right edgeI got the 
surprising result because I saw there some frequencies with transmission value 
larger than 1. I hope some one can tell me what my mistake is

  Thank you so much for the help. I provide my code as following

  ; Some parameters to describe the geometry:                                   
  
  (define-param eps 11.9) ; dielectric constant of waveguide                    
    
  (define-param w 1.43) ; width of waveguide                                    
   
  (define-param r 0.26) ; radius of holes                                       
  
  (define-param d 1.4) ; defect spacing (ordinary spacing = 1)                  
  
  (define-param N 5) ; number of holes on periodic mirror 
  (define-param Ni 4) ; number of holes on inside cavity
  (define-param No 3) ; number of holes on outside defect                  

  ; The cell dimensions                                                         
  
  (define-param sy 6) ; size of cell in y direction (perpendicular to wvg.)     
  
  (define-param pad 2) ; padding between last hole and PML edge                 
  
  (define-param dpml 1) ; PML thickness   

  (define sx (+ (* 2 (+ pad dpml N Ni No)) d -1)) ; size of cell in x direction
  (set! geometry-lattice (make lattice (size sx sy no-size)))

  (set! geometry
        (append ; combine lists of objects:                                     
  
         (list (make block (center 0 0) (size infinity w infinity)
                     (material (make dielectric (epsilon eps)))))
         (geometric-object-duplicates (vector3 1 0) 0 (- N 1)
          (make cylinder (center (+ (/ d 2) Ni) 0) (radius r) (height infinity)
                (material air)))
         (geometric-object-duplicates (vector3 -1 0) 0 (- N 1)
          (make cylinder (center (- (/ d -2) Ni) 0) (radius r) (height infinity)
                (material air)))
         (geometric-object-duplicates (vector3 1 0) 0 (- Ni 1)
          (make cylinder (center  (/ d 2)  0) (radius r) (height infinity)
                (material air)))
         (geometric-object-duplicates (vector3 -1 0) 0 (- Ni 1)
          (make cylinder (center (/ d -2)  0) (radius r) (height infinity)
                (material air)))
         (geometric-object-duplicates (vector3 1 0) 0 (- No 1)
          (make cylinder (center  (+ (/ d 2) Ni N)  0) (radius r) (height 
infinity)
                (material air)))
         (geometric-object-duplicates (vector3 -1 0) 0 (- No 1)
          (make cylinder (center (- (/ d -2) Ni N)  0) (radius r) (height 
infinity)
                (material air)))))

  (set! pml-layers (list (make pml (thickness dpml))))
  (set-param! resolution 20)
  (define-param fcen 0.25) ; pulse center frequency
  (define-param df 0.2)  ; pulse width (in frequency)
  (define-param nfreq 500) ; number of frequencies at which to compute flux

  (set! sources (list
                 (make source
                   (src (make gaussian-src (frequency fcen) (fwidth df)))
                   (component Ey)
                   (center  (+ (/ d 2) Ni N No r 1)  0)
                   (size 0 w))))

  (set! symmetries (list (make mirror-sym (direction Y) (phase -1))))
  (define trans ; transmitted flux                                          
          (add-flux fcen df nfreq
                    (make flux-region
                      (center (+ (/ d 2) Ni N No r) 0) (size 0 (* w 2)))))
  (define trans2 ; transmitted flux                                          
          (add-flux fcen df nfreq
                    (make flux-region
                      (center 0 0) (size 0 (* w 2)))))

  (define trans3 ; transmitted flux                                          
          (add-flux fcen df nfreq
                    (make flux-region
                      (center (* (+ (/ d 2) Ni N No r) -1) 0) (size 0 (* w 
2)))))

  (run-sources+ (stop-when-fields-decayed
                 50 Ey
                 (vector3 (* (+ (/ d 2) Ni N No r) -1) 0)
                 1e-3)
                (at-beginning output-epsilon)
                (during-sources
                  (to-appended "hz" (at-every 0.4 output-hfield-z))))

  (display-fluxes trans trans2 trans3) ; print out the flux spectrum

  with regard

  Andika Asyuda





------------------------------------------------------------------------------
  Dapatkan alamat Email baru Anda! 
  Dapatkan nama yang selalu Anda inginkan sebelum diambil orang lain!


------------------------------------------------------------------------------


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

Reply via email to