Hi all Meep users,

I am trying to get the drop port spectrum of a microring filter. The first 
problem is that the result seems to be wrong since the spectrum I got is not 
realistic.  The second problem is the Gaussian source. I tried a continuous 
source before which is not suitable for this simulation. Then I use a Gaussian 
source to see what happens. But in the output GIF image, the Gaussian source 
works the same as the continuous source. I even can't use "stop-when 
fields-decayed" to finalize the simulation because the Gaussian source works 
like a continuous source and the power is stable. Can anyone help me?

(define-param n 3.4) ;index ofwaveguide                                      
(define-param fcen .645) ; frequency of source
(define-param L 20.94)      ; holds distance
(define-param gap .0415) ; gap is 41.5nm
(define-param fspread .2) ; spread in gaussian freq range
(define-param nfreq 100) ; number of frequencies at which to compute flux
(define-param rho 3.3346) ; radius of circles in track
(define-param gap_wg .17) ; this is the gap between ring and waveguide
(define-param gap2_wg .1) ; this is the gap between ring and waveguide
(define-param gap_index .035) ; this is the gap bw index modulator and ring
(define-param guide_z .2)
(define-param guide_r .2)    ;this is the radial thickness of ring
(define-param size_z 2)
(define-param size_x 10)
(define-param size_y 10)
(define-param pml_thickness 2)
 
(set! geometry-lattice (make lattice (size 30 12)))
 
(set! geometry
          (list
        (make cylinder (center 0 0) (height infinity)
                      (radius rho) (material (make dielectric (epsilon 11.7))))
 
        (make cylinder (center 0 0) (height infinity)
                      (radius (- rho guide_r)) (material air))
 
        (make block (center 0 (+ rho guide_r gap_wg)) (size 60 guide_r 
infinity)  
                      (material (make dielectric (epsilon 11.7))))
 
        (make block (center 0 (- (+ rho guide_r gap2_wg))) (size 60 guide_r 
infinity)  
                      (material (make dielectric (epsilon 11.7))))
         
     ))
 
                          
(set! sources (list
               (make source
                 (src (make continuous-src (frequency fcen) (fwidth fspread)))
                 (component Ez)
                 (center -14 (+ rho guide_r gap_wg) )
                 )))
 
 
 
 
(define trans ; transmitted flux                                          
        (add-flux fcen fspread nfreq
                  (make flux-region
                    (center -14 (- (+ rho guide_r gap2_wg))) (size 0 (* guide_r 
2)))))
 
 
     
 
(set! pml-layers (list (make pml (thickness 1))))
(set! resolution 20)
(use-output-directory)
 
 
(run-until 500
           (at-beginning output-epsilon)
           (to-appended "ez" (at-every 1 output-efield-z)))
(display-fluxes trans) ; print out the flux spectrum
_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to