Hi, all. I'm using a continuous-src with df=0.1. The waveguide is a
straight one.  I find that at the end of the waveguide, the flux at
some frequencies is growing along the waveguide. It is very strange.
Can somebody explain this?

Some flux data:

flux1:, 0.750374158144176, 0.429421299644998, 0.423691442986392,
0.414386750810881, 0.257307458436225, 0.274745682135273,
0.29401239311623, 0.314345611177744, 0.334941529199157,
0.354987461546692, 0.37369355491702, 0.390323514085922,
0.404222852206275, 0.414843260110482, 0.421764582227118,
0.424710710088044, 0.423562471304567, 0.418363044774868,
0.409316822534819, 0.396782206926932, 0.3812559857066,
0.363353139215964, 0.343781215209108, 0.323312032938191,
0.302752494584958, 0.28291303610835, 0.264186345938286
flux1:, 0.755637316038913, 0.280917292936351, 0.269339634208062,
0.256922761616022, 0.28141677925034, 0.289746967760546,
0.295869206662469, 0.299473123902808, 0.300376679479407,
0.298535504612023, 0.294044242012215, 0.28713118787899,
0.278146771409106, 0.267545389737565, 0.25586360908067,
0.24369289230143, 0.231650904973727, 0.220349863946176,
0.210364564317173, 0.202202859318697, 0.196278513675469,
0.192890481115708, 0.192208066209635, 0.194263417721775,
0.19895145235796, 0.206034980817059, 0.214838573239676
flux1:, 0.76090047393365, 0.191138454650363, 0.183925802695895,
0.177699770281434, 0.220229228894231, 0.215952664338567,
0.210396415420002, 0.203913508513821, 0.196915088044211,
0.189844453851221, 0.183148771101378, 0.177250991044987,
0.172523762774477, 0.169265771506167, 0.167683603094362,
0.16787799737842, 0.16983782454435, 0.173440015293596,
0.178456754409874, 0.184570210116465, 0.191392332159967,
0.198490287078474, 0.205413954263539, 0.211724611924092,
0.217023073417851, 0.220973976764985, 0.222996002028004


my .ctl file:

(define-param d 1)
(define-param l1 6)
(define-param l2 12)
(define-param MFD (* (/ d 2) 1.08318956225546))


(define-param guide 450)
(define-param wlength (/ 633 guide))
(define-param overlap 0) ; define the overlap length
(define-param distance 4000)
(define-param eps (* 1.45 1.45)) ;define the index

(define-param uend 1.44)

(define-param sx 26.88)
(define-param sy 6)
(define-param sz 5)
(set! geometry-lattice (make lattice (size sx sy sz)))

(set-param! force-complex-fields? true)

(define wvg-yucen (* -0.5 (+ d distance)))
(define wvg-xucen (* -0.5 l2))


(set! geometry
     (list
      (make cylinder
        (center wvg-xucen wvg-yucen 0)
        (radius (/ d 2))
        (height (* 3 sx))
        (axis 1 0 0)
        (material (make dielectric (epsilon eps))))
))

(define-param fcen (/ 1 wlength))
(define-param df 0.1)


(define ((circular-amp w) r)
 (if (> (vector3-norm r) (/ d 2))
     (* (exp (* -1 (/ (vector3-dot r r) (* w w)))) eps)
     (exp (* -1 (/ (vector3-dot r r) (* w w))))))

(set! sources
         (list
          (make source
            (src (make continuous-src (frequency fcen) (fwidth df)))
                (component Ez)
                (center (+ 1.5 (* -0.5 sx)) wvg-yucen 0)
                (size 0 sy sz)
                (amp-func (circular-amp MFD))))
        )


(set! pml-layers (list (make pml (thickness 1.0))))
(set-param! resolution 10)
(use-output-directory "450-wide2-source-4000")

(define input ;input flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ (/ sx -2) 5) wvg-yucen 0) (size 0 sy sz))))

(define input1 ;input flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ (/ sx -2) 5.5) wvg-yucen 0) (size 0 sy sz))))

(define input2 ;input flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ (/ sx -2) 6) wvg-yucen 0) (size 0 sy sz))))

(define trans ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center uend wvg-yucen 0) (size 0 sy sz))))

(define trans1 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 0.5) wvg-yucen 0) (size 0 sy sz))))

(define trans2 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 1) wvg-yucen 0) (size 0 sy sz))))

(define trans3 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 1.5) wvg-yucen 0) (size 0 sy sz))))

(define trans200 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 2) wvg-yucen 0) (size 0 sy sz))))

(define trans250 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 2.5) wvg-yucen 0) (size 0 sy sz))))

(define trans4 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 3) wvg-yucen 0) (size 0 sy sz))))

(define trans5 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 3.5) wvg-yucen 0) (size 0 sy sz))))

(define trans6 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 4) wvg-yucen 0) (size 0 sy sz))))

(define trans7 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 4.5) wvg-yucen 0) (size 0 sy sz))))

(define trans8 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 5) wvg-yucen 0) (size 0 sy sz))))

(define trans9 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 5.5) wvg-yucen 0) (size 0 sy sz))))

(define trans10 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 6) wvg-yucen 0) (size 0 sy sz))))

(define trans11 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 6.5) wvg-yucen 0) (size 0 sy sz))))

(define trans12 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 7) wvg-yucen 0) (size 0 sy sz))))

(define trans13 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 7.5) wvg-yucen 0) (size 0 sy sz))))

(define trans14 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 8) wvg-yucen 0) (size 0 sy sz))))

(define trans15 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 8.5) wvg-yucen 0) (size 0 sy sz))))

(define trans16 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 9) wvg-yucen 0) (size 0 sy sz))))

(define trans17 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 9.5) wvg-yucen 0) (size 0 sy sz))))


(define trans18 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 10) wvg-yucen 0) (size 0 sy sz))))


(define trans19 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 10.5) wvg-yucen 0) (size 0 sy sz))))

(define trans20 ;transmitted flux
 (add-flux fcen df 20
           (make flux-region
             (center (+ uend 11) wvg-yucen 0) (size 0 sy sz))))

(run-until 200
           (at-beginning output-epsilon)
           (to-appended "ez" (at-every 30 output-efield-z))
           (to-appended "dpwr" (at-every 30 output-dpwr))
           )
(display-fluxes input input1 input2 trans trans1 trans2 trans3
trans200 trans250 trans4 trans5 trans6 trans7 trans8 trans9 trans10
trans11 trans12 trans13 trans14 trans15 trans16 trans17 trans18
trans19 trans20)

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to