Dear all Meep users

For the past few months I have been trying to find the Q-factor of some
structures using harminv, but I have failed to get the desired Q value as
mentioned in the respective paper.

One such paper is "Ultrahigh-Q and Low-Mode-Volume Parabolic Radius
Modulated Single Photonic Crystal Slot Nanobeam Cavity for High-Sensitivity
Refractive Index Sensing". In the paper they have obtained a Q factor of
the order of 10^7. However I got the maximum Q factor of the order of 10^5.
Can anyone please suggest me any solution if I am following some wrong
methodology for finding Q. The methodologies are as follows-

I have used the 'eps-averaging false' code to stop sub-pixel averaging, as
because my fields get blown out whenever I put the simulation for long run
if I don't run the eps code. I am using PML of width 1 unit in all three
directions. The resolution is set to 20 and I have used very narrow pulse
with the width of pulse in frequency of 0.05. While simulating the above
mentioned paper, I have applied symmetry in x and y direction. I have made
the program to run as long as 10000 time steps units.

I am also attaching the ctl file of the code. The code is bit long but I
would me very thankful to you if you could suggest me any anomaly in
finding the Q-factor.

; Some parameters to describe the
geometry:
(define-param eps 12) ; dielectric constant of
waveguide
(define-param w 1.1627906977) ; width of
waveguide
(define-param r_center 0.4203935599) ; radius of holes at the center
(define-param r_end 0.3631484794) ; radius of holes at the end
(define-param h 0.3935599284) ; height of slab
(define-param w_slot 0.0894454383) ; width of
slot
;(define-param d 1.4) ; defect spacing (ordinary spacing = 1) but in my
case no defect hence disabled
(define-param N 30) ; number of holes on either side of defect
(define-param i-max 20) ; number of holes on either side of tapered region
(define-param di 1); change in i
(define-param dmirr 1); change in mirr
(define-param mirr-max 10) ; number of holes on either side of mirror holes
region


; The cell
dimensions
(define-param sy 6) ; size of cell in y direction (perpendicular to
wvg.)
(define-param sz 3) ; size of cell in z 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))) ; size of cell in x direction



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



(set! geometry (append geometry(list

(make block (center 0 0 0) (size infinity w h)
               (material (make dielectric (epsilon eps))))

))) ; end of nanobeam_silcn


(set! geometry (append geometry(list

 (make block (center 0 0 0) (size (+ (* 2 N) 2) w_slot h) (material air)) ;
air slot in the waveguide

))) ; end of slott



 (let loop ((i 1)) ; tapered region in +ve x direction
               (if (<= i i-max)
                  (begin
(set! geometry (append geometry(list
                        (make cylinder (center (+ 0.5 (* (+ i -1) 1)) 0 0)
(radius (+ r_center (/ (* (* (+ i -1) (+ i -1)) (- r_end r_center)) (* (+
i-max -1) (+ i-max -1))))) (height h) (material air))
))) ; end of taper_pos
(loop (+ i 1) ) ) ) ); end of begin if and let



 (let loop ((i 1)) ; tapered region in -ve x direction
               (if (<= i i-max)
                  (begin
(set! geometry (append geometry(list
                        (make cylinder (center (+ -0.5 (* (+ i -1) -1)) 0
0) (radius (+ r_center (/ (* (* (+ i -1) (+ i -1)) (- r_end r_center)) (*
(+ i-max -1) (+ i-max -1))))) (height h) (material
air))
))) ; end of taper_neg
(loop (+ i 1) ) ) ) ); end of begin if and let


 (let loop ((mirr 1)) ; mirror holes in +ve x direction
               (if (<= mirr mirr-max)
                     (begin
(set! geometry  (append geometry(list
                          (make cylinder (center (+ i-max mirr -0.5) 0 0)
(radius r_end) (height h) (material air))
))) ; end of mirror_pos
(loop (+ mirr 1) ) ) ) ); end of begin if and let


 (let loop ((mirr 1)) ; mirror holes in -ve x direction
               (if (<= mirr mirr-max)
                     (begin
(set! geometry  (append geometry(list
                          (make cylinder (center (- 0.5 i-max mirr) 0 0)
(radius r_end) (height h) (material air))
))); end of mirror_neg
 (loop (+ mirr 1) ) ) ) ); end of begin if and let



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

(set-param! resolution 20)


(define-param fcen 0.371) ; pulse center frequency
(define-param df 0.05)  ; 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 0 0))))

(set! symmetries
      (list (make mirror-sym (direction Y) (phase -1))
              (make mirror-sym (direction X) (phase 1))))



(run-sources+ 1000
              (at-beginning output-epsilon)
              (after-sources (harminv Ey (vector3 0 0) fcen df)))
(run-until (/ 1 fcen) (at-every (/ 1 fcen 20) output-efield-y))



Thank you in advance
_______________________________________________
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