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

Reply via email to