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

Reply via email to