Whenever you have metals in your structure, you have to turn off sub-pixel averaging:
(set-param! eps-averaging? false) That should fix it. Ardavan Rohan Dhall wrote: > Hi, > I just ran a code for calculating the flux through a hollow 3-d > metallic pipe. The simulation gave me the following results: > flux1:, 0.45, #.# > flux1:, 0.454166666666667, #.# > flux1:, 0.458333333333333, #.# > flux1:, 0.4625, #.# > flux1:, 0.466666666666667, #.# > flux1:, 0.470833333333333, #.# > flux1:, 0.475, #.# > flux1:, 0.479166666666667, #.# > flux1:, 0.483333333333333, #.# > flux1:, 0.4875, #.# > flux1:, 0.491666666666667, #.# > flux1:, 0.495833333333333, #.# > flux1:, 0.5, #.# > flux1:, 0.504166666666667, #.# > flux1:, 0.508333333333333, #.# > flux1:, 0.5125, #.# > flux1:, 0.516666666666666, #.# > flux1:, 0.520833333333333, #.# > flux1:, 0.525, #.# > flux1:, 0.529166666666666, #.# > flux1:, 0.533333333333333, #.# > flux1:, 0.5375, #.# > flux1:, 0.541666666666666, #.# > flux1:, 0.545833333333333, #.# > flux1:, 0.55, #.# > > What is #.#? > > The code i used is :------------ > > ; define constants > > (define-param length_z 20) > (define-param width_x 4); of the inner air > (define-param height_y 1); of the inner air > (define-param metal_thickness 2); each side.. thickness of 2 > (define-param pml_thickness 2); each side... thickness of 1 !!!!!(THIS > IS DOUBLE)****** > (define air (make dielectric (epsilon 1))) > ;(define metal (make perfect-metal)) > (define-param center_freq 0.5) ; with a = 1m and c = 1 I get w_c = > pi*c/width_x < 0.5 > (define-param freq-samples 25) > (define-param df 0.1) > > ;set lattice > (set! geometry-lattice (make lattice (size (+ width_x metal_thickness > metal_thickness pml_thickness) > (+ height_y metal_thickness > metal_thickness pml_thickness) > (+ length_z pml_thickness) > ) ) ) > > > > (set! geometry (list > (make block (center 0 0 0) (size width_x height_y > length_z)(material air) ) ; middle air > > (make block (center 0 (+ (/ height_y 2) (/ metal_thickness > 2)) 0) ; bottom metal > (size (+ width_x (* metal_thickness 2)) > metal_thickness length_z) > (material metal) > ) > (make block (center 0 (* -1 (+ (/ height_y 2) (/ > metal_thickness 2))) 0 ); top metal > (size (+ width_x (* metal_thickness 2)) > metal_thickness length_z) > (material metal) > ) > (make block (center (+ (/ width_x 2) (/ > metal_thickness 2)) 0 0) ; right side metal > (size metal_thickness (+ height_y (* > metal_thickness 2)) length_z) > (material metal) > ) > (make block (center (* -1 (+ (/ width_x 2) (/ > metal_thickness 2))) 0 0) ; left metal > (size metal_thickness (+ height_y (* > metal_thickness 2)) length_z) > (material metal) > ) > ) > ) > > (set! pml-layers (list > (make pml (thickness (/ pml_thickness 2) )) ; because pml > is 1 unit thick > ) > ) > ;THIS LOOKS BAD--- MOVE SOURCE OUT??? > (set! sources (list > (make source (src (make gaussian-src (frequency > center_freq)(width 6))) > (component Ez) > (center 0 0 (/ length_z 2.5)) > (size 0 (* .9 height_y) 0) > ) > ) > ) > (set! resolution 5) > > (define trans ; transmitted flux > (add-flux center_freq df freq-samples > (make flux-region > (center 0 0 (* length_z -0.4) ) > (size width_x height_y no-size)))) > > (run-sources+ 100 > (at-beginning output-epsilon) > (to-appended "ez" (at-every 0.6 output-efield-z))) > > (display-fluxes trans ) > > Kindly let me know if anyone know where I'm messing this up. > > Thanks a pile, > Rohan. > ------------------------------------------------------------------------ > > _______________________________________________ > meep-discuss mailing list > [email protected] > http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss _______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

