I run a program to calculate the mode of the ring resonator,but some Q are
negative ,some Q are  positive.

It is normal? What is wrong with my program? Thanks
Program:

(define-param eps 11.6964) ; Dielectric index of  Si
(define-param eps1 2.1316) ; Dielectric index of  SiO2

(define-param space 0.2) ;space  between edge of direct WG and edge of ring
WG
(define-param pad 0.5) ; padding between waveguide and edge of PML
(define-param dpml 1) ; thickness of PML

(set! resolution 10)
(define-param fcen 0.6452) ; pulse center frequency
(define-param df 0.4)  ; pulse width (in frequency)

(define-param wx 21) ; length x of waveguide Si
(define-param wy 0.40)  ; width of waveguide Si
(define-param wz 0.22)  ; height of waveguide Si
(define-param w 0.40) ; width of  ring
waveguide
(define-param r  10) ; inner radius of ring

(define-param wxs  wx)  ; length x of  SiO2 waveguide
(define-param wys (+  1 wy space (* 2 (+ r  w)))) ; width of  SiO2 waveguide
(define-param wzs 2)  ; height of  SiO2 waveguide

; determine the cell sizes
(define sx (+  wxs  (* 2 (+ pad dpml)))) ; cell size
(define sy (+  wys  (* 2 (+ pad dpml)))) ; cell size
(define sz (+  wz  wzs  (* 2 (+ pad dpml)))) ; cell size



(set! geometry-lattice (make lattice (size sx sy sz)))

 create the WG
(set! geometry
(list
   create the Si
              (make block (center  0 (- (/ wy 2) (* 0.5 (+ wy space (* 2 (+
r w))))) 0) (size wx wy wz)
              (material (make dielectric (epsilon eps))))
 create the SiO2
               (make block (center  0 0  (+ ( / wz 2) (/ wzs 2))) (size wxs
wys wzs)
              (material (make dielectric (epsilon eps1))))
   create the ring WG
            (make cylinder (center 0 (- (* 0.5 (+ wy space (* 2 (+ r w)))) r
w) 0) (height wz)
             (radius (+ r  w)) (material (make dielectric (epsilon eps))))
             (make cylinder (center 0 (- (* 0.5 (+ wy space (* 2 (+ r w))))
r w)  0) (height  wz)
             (radius r) (material air))))


(set! pml-layers (list (make pml (thickness dpml))))

(set! sources (list
        (make source
   (src (make gaussian-src (frequency fcen) (fwidth df)))
   (component Ez)
   (center ( +  0.4  ( /  wx  -2))   (- (/ wy 2) (* 0.5 (+ wy space (* 2 (+
r w))))) 0))))



(run-sources+ 200
    (at-beginning output-epsilon)
       (after-sources (harminv Ez (vector3 (+  r  ( /  w  2) )) fcen df)))
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to