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