Hi,

I'm learning to use meep and am attempting some simple simulations.  I'm
getting a weird result when calculating the wideband transmission of a plane
wave at oblique incidence on a thin dielectric slab.  When I use normal
incidence, I get a perfect result.  For oblique incidence, the oscillations
in the transmission look correct, but something else funny is happening.
 Any ideas on how to fix this?  Is something set up wrong in the ctl file?

Picture of transmission:
http://picasaweb.google.com/lh/photo/wxSYCr_M9_PsHYS_Klllzr00Wanc329Uua6LuGynryc?feat=directlink

Thanks!
Matt Miskiewicz

Research Assistant, Optoelectronics and Lightwave Engineering Group
North Carolina State University



Here is the ctl file:

(define-param pmlthick 2)
(define-param sy .5)
(define-param sx 10)
(define-param ref true)


(set! geometry-lattice (make lattice (size (+ sx (* pmlthick 2)) sy
no-size)))
(set! geometry (list
               (make block (center 0 0) (size (- sx 5) sy)
                     (material (make dielectric (index (if ref 1 1.5)))))))


(set! resolution 30)

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

(define-param theta_deg 0)         ; angle in degrees.
(define theta_rad (/ (* pi theta_deg) 180))
(define-param fcen 0.75) ; pulse center frequency
(define-param df 0.5) ; pulse bandwidth
(define-param dfe 0.5) ; data extraction bandwidth
(define wlength (/ 1 fcen)) ; pulse wavelength
(define-param kdir (vector3 (cos theta_rad) (sin theta_rad)))
(define k (vector3-scale (* 2 pi fcen) kdir))

(define ((pw-amp k) y)
  (exp (* 0+1i (vector3-dot k y))))

(set-param! k-point (vector3 0 (* fcen (sin theta_rad)) 0))

(set! sources (list
              (make source
                (src (make gaussian-src (frequency fcen) (fwidth df)))
                (component Ez)
                (center (+(/ sx -2) 1) 0)
                (size 0 sy 0)
                (amp-func (pw-amp k)))))

(define-param nfreq 200) ; number of frequencies at which to compute flux
(define trans ; transmitted flux
     (add-flux fcen dfe nfreq
                (make flux-region
                (center (- (/ sx 2) 1)  0) (size 0 sy))))

(run-until 10000)

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

Reply via email to