Dear Meep users,

I am new using Meep. I'm trying to simulate the same system as in Kalervo et
al. "Effective Permittivity of Mixtures...", (DOI: 10.1109/36.843023).
Basically it is a TEM waveguide with a slab of thickness "w" and relative
permittivity eps_eff. Its reflection coefficient absolute value must be
equal to:

[ tan(2pi*f*w*eps_eff^0.5 / c0) * (eps_eff-1) ]/
[4*eps_eff+ tan^2(2pi*f*w*eps_eff^0.5 / c0) * (eps_eff+1)^2 ]^0.5

where c0 is the velocity of light in vacuum and f is the frequency.

I 've tried a lot of things but I couldn't get good results.... There is
always a huge difference between the simulated and theoretical reflection
coefficient (see the attached figure)

My .ctl file is as bellow.

Any idea of what I'm doing wrong?

Thank you very much in advance.

Regards

Ramiro


.ctl file

;Simulation Kalervo paper.
(define-param sx 75) ; size of cell in X direction
(define-param sy 25) ; size of cell in Y direction
(define-param a 0.01) ; meep unit
(define-param amp 10.0); amplitude of source
(define-param c 299792458); velocity of light
(define-param fmax 800000000); max. freq in Hz
(define-param fmin 1000000);  min. freq in Hz
(define-param fcen (/ (* (/ (+ fmax fmin) 2) a) c));  max. freq  in meep
units
(define-param df (/ (* (/ (- fmax fmin) 2) a) c)); df in meep units

(set! geometry-lattice (make lattice (size sx sy no-size)))

(set! geometry
      (if no-slab?
          (list (make block (center 0 0) (size infinity sy infinity)
    (material (make dielectric (epsilon 1)))))
          (list (make block (center 0 0) (size 25 sy infinity)
    (material (make dielectric (epsilon 16))))
)))
(set! sources (list
               (make source
                 (src (make gaussian-src (frequency fcen) (fwidth df)))
                 (component Ez)
                 (center -30 0)
 (size 0 sy) (amplitude amp))))

(set! pml-layers (list (make pml (thickness 4) (direction X))))

(set! k-point (vector3 0 sy)) ; bloch periodicity sz
(set! ensure-periodicity true); should ensure periodicity

(set! resolution 20)

(define-param nfreq 1000) ;
(define trans ;
      (add-flux fcen df nfreq
                (make flux-region
                   (center 30 0) (direction X)))) ;
(define refl ;
      (add-flux fcen df nfreq
                 (make flux-region
                   (center -25 0) (direction X))))

(if (not no-slab?) (load-minus-flux "refl-flux" refl))

(run-sources+
 (stop-when-fields-decayed 50 Ez
                           (if no-slab?
                               (vector3 30 0)
                               (vector3 30 0))
                           1e-3)
   (at-beginning output-epsilon)
  (at-end output-efield-z)
          (to-appended "ez" (at-every 0.6 output-efield-z)))

(if no-slab? (save-flux "refl-flux" refl))

(display-fluxes trans refl)

<<attachment: figure_meep_list_small.png>>

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

Reply via email to