Hi:
   I want to get the flux of two waveguide for different index ,so I use a
loop and add-flux should be after the geometry,I put it in the loop.
But (define trans     (add-flux fcen df nfreq      (make flux-region    )))
can not work in the loop .
    How can I do?
 Thank you
the following is the control file




(define-param n 2.7) ; index of Si

(define-param pad 2) ; 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.0001)  ; pulse width (in frequency)
(define-param space 0.2)
(define-param l 10)
(define-param w 0.5)
(define sx  (+  (* 2 w)  space (* 2 (+ pad dpml)))) ; cell size
(define sy (+  l  (* 2 (+ pad dpml)))) ; cell size
(set! geometry-lattice (make lattice (size sx sy no-size)))
(set! pml-layers (list (make pml (thickness dpml))))
(set! sources
              (list
        (make source
   (src (make gaussian-src (frequency fcen) (fwidth df)))
   (component Ex)
   (center   (/ (+ w  space) 2)  (- (/ sy 2) 2) )

   )))
 (define-param nfreq 1) ; number of frequencies at which to compute flux


(do ((n 2.7 (+ n 6e-3))) ((> n 2.8))
(reset-meep)
(set! geometry
(list
        (make block (center (/ (+ w  space) 2) 0 ) (size  w  infinity )
  (material (make dielectric (index n)) ))
 (make block (center (/ (+ w  space) -2) 0 ) (size  w  infinity )
  (material (make dielectric (index n)) )) )    )

(define trans ; transmitted flux
     (add-flux fcen df nfreq      (make flux-region       (center (/ (+ w
space) -2)  (- 2 (/ sy 2) )) (size w  0)      )))


(run-sources+
 (stop-when-fields-decayed 50 Ex
               (vector3 (/ (+ w  space) -2)  (- 2 (/ sy 2) ))
      1e-3))

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

Reply via email to