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