Dear Prof. Steven and other meep users,
 
I have sent you an email before which described a very strange situation, the 
same control file gives different results based on meep-0.10.1 and meep-0.20.3. 
I think the result from meep-0.10.1 is right for the field distribution is 
reasonable and almost overlaps with result given by mpb. However, I tried an 
example called ring.ctl and found the result was similar to the result given by 
website. What happen to my .ctl?
 
Thank you very very much. 
Sincerely,
Li
 
PS: The code is attached and the command should be "meep kx=0.455 
line-defect-meep.ctl | tee line-defect-meep.out"
 
The result given by meep-0.20.3 is as follows,
harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error
harminv0:, 0.199992443176843, 0.00106393940446218, -93.9867638786909, 
248.590827359398, -246.156353721556+34.7051720891609i, 5.56840029066671e-5
harminv0:, 0.244257548009154, 1.69586098608868e-5, -7201.57931613567, 
57546.4703141053, -44448.9214146996+36549.823948715i, 5.5436640981173e-8
harminv0:, 0.315909872378239, 5.44024199948998e-4, -290.345422508646, 
60.6783985864972, 14.7041727568326-58.8698170420041i, 4.82323002927895e-4
harminv0:, 0.343139329220777, 0.00219029364430844, -78.3318095526684, 
43.4020505925575, 36.1850319201478+23.9662567076464i, 1.31936084176338e-4

 
The result given by meep-0.10.1 is as follows,
harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error
harminv0:, 0.201403571459837, 1.29560871901094e-4, -777.254615936776, 
468.162285644085, -465.014896788019-54.1947549558214i, 6.98523354211499e-6
harminv0:, 0.246189852123845, 7.22445845936889e-6, -17038.637117816, 
61042.2193916522, -36254.1734475937+49109.9527172486i, 6.89888895508281e-8
harminv0:, 0.270548749376897, -4.60626309174859e-4, 293.674876996869, 
241.434584858579, -190.696223839471-148.072985311977i, 1.73295636522519e-5
harminv0:, 0.309850129799906, 1.66978399783975e-4, -927.815005416177, 
2293.40851391858, 1005.89381100601-2061.04348636656i, 1.45382063810427e-6
harminv0:, 0.323022140974845, -3.09950175485968e-4, 521.087204529537, 
1353.70985359115, -1210.51311394079+605.960698962521i, 2.88441388495969e-6
harminv0:, 0.344794581065221, 6.18037905203931e-5, -2789.42908001291, 
140.175896489659, 138.816052199976+19.4778234998938i, 8.4507441642397e-6
 
The field distribution is also attached. 

<<attachment: 0.10.1.png>>

<<attachment: 0.20.3.png>>

(define-param sx 1) ; the (odd) number of lateral supercell periods
(define-param sy 12)
(define-param sz 3)
(set! default-material (make dielectric (index 3.45)))
(set! geometry-lattice (make lattice (size sx sy sz)))
(define-param r 0.25) ; the rod radius in the bulk crystal
(define thick 0.6)
(define halfthick (/ thick 2)) 
(define SiO2-height (- (/ sz 2) halfthick))  
(define half-SiO2 (/ SiO2-height 2))
(define obj-list1  (make cylinder (center 0.5 0.571577 0)   (radius r) (height 
thick) (material air)))
(define obj-list2  (make cylinder (center 0.5 -0.571577 0)  (radius r) (height 
thick) (material air)))
(define obj-list3  (make cylinder (center 0 1.4376 0)      (radius r) (height 
thick) (material air)))
(define obj-list4  (make cylinder (center 0 -1.4376 0)     (radius r) (height 
thick) (material air)))
(define obj-list5  (make cylinder (center -0.5 0.571577 0)  (radius r) (height 
thick) (material air)))
(define obj-list6  (make cylinder (center -0.5 -0.571577 0) (radius r) (height 
thick) (material air)))

(set! geometry 
      (append
        (geometric-object-duplicates (vector3 0 (sqrt 3)) 0 3 obj-list1)
        (geometric-object-duplicates (vector3 0 (-(sqrt 3))) 0 3 obj-list2)
        (geometric-object-duplicates (vector3 0 (sqrt 3)) 0 2 obj-list3)
        (geometric-object-duplicates (vector3 0 (-(sqrt 3))) 0 2 obj-list4)
        (geometric-object-duplicates (vector3 0 (sqrt 3)) 0 3 obj-list5)
        (geometric-object-duplicates (vector3 0 (-(sqrt 3))) 0 3 obj-list6)
        (list (make block (material (make dielectric (index 1.45)))  (size sx 
sy SiO2-height) (center 0 0 (+ halfthick half-SiO2))))
        (list (make block (material air)  (size sx sy SiO2-height) (center 0 0 
(- (- halfthick) half-SiO2))))
        (list (make block (material air) (size sx 2 sz) (center 0 6 0)))
        (list (make block (material air) (size sx 2 sz) (center 0 -6 0)))
))
(define dpml 0.5)
(set! pml-layers (list (make pml (direction Y) (thickness dpml))
                       (make pml (direction Z) (thickness dpml))
))
        
(set-param! resolution 20)
(define fcen 0.245)
(define df 0.2)

(set! sources (list
     (make source
          (src (make gaussian-src (frequency fcen) (fwidth df)))
          (component Ex) (amplitude 1e5) (size 0 0)
          (center 0.1 0.2 0.1))
     (make source 
          (src (make gaussian-src (frequency fcen) (fwidth df)))
          (component Ex) (amplitude -1e5) (size 0 0)
          (center 0.1 -0.2 0.1))
     ))
          
(define (print-Ex) (print "Ex" (get-field-point Ex (vector3 0 0 0)) "\n"))
(set! symmetries (list (make mirror-sym (direction Y) (phase -1))))
(use-output-directory)
(define-param kx false)
(define k-interp 9)
(if kx
    (begin
      (set! k-point (vector3 kx 0 0))
      (run-sources+ 200  ;(at-every 5 print-Ex)
       (at-beginning output-epsilon)
       (after-sources (harminv Ex (vector3 0.1 0.2 0.1) fcen df)))
       (run-until (/ 1 fcen) (at-every (/ 1 fcen 20) output-hfield-z))
)
    (run-k-points 300 (interpolate k-interp (list  (vector3 0.4) (vector3 
0.5)))))
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to