I am not sure whether it is OK to set periodic boundary condition in the X
direction, since your gold slab is not a periodic structure.

Simon

On Sat, Sep 8, 2012 at 2:44 AM, Minwoo Yang <[email protected]>wrote:

> Greetings MEEP users
>
> I tried to simulate case for the Poisson's spot.
> I made a gold slab and generated the plane wave source
> But the problem is light is penetrating the gold slab.
> I increased the thickness of gold to avoid skin depth problem,
> but the result was same. could you help me to understand this?
>
> Here is my code,
>
> -----------------------------------------------------------------------------------------------
> (define-param source-component Ez)
> (define-param theta_deg 0)
> (define-param fcen 0.8) ; pulse center frequency
> (define-param df 0.02) ; turn-on bandwidth
> (define wlength (/ 1 fcen)) ; pulse wavelength
>
> (define-param sx 16) ; the size of the comp cell in X, not including PML
> (define-param dpml 5) ; thickness of PML layers
>
> ; set periodicity in the X direction. The PML takes care of the
> ; non-desired Y periodicity that comes for free with the k-point
> declaration
> (set! k-point (vector3 0 0 0))
> (set! ensure-periodicity true)
>
> (define gold  (make dielectric
> (epsilon 4.98)
> (E-polarizations
> (make polarizability (omega 1e-10) (gamma 6.13e-4) (sigma (* .142 .142
> 1e20)))
> (make polarizability (omega 0.0592) (gamma 0.0211) (sigma 1.76))
> (make polarizability (omega 0.0458) (gamma 0.0119) (sigma 0.952))
> )
> ))
>
>
>
> (define sy (+ sx (* 2 dpml))) ; cell size in Y direction, including PML
> (set! geometry-lattice (make lattice (size sx sy no-size)))
> (set! geometry(list(make block (center 0 0) (size 4 2
> infinity)(material gold))))
>  ; we'll only have PML in the Y direction (top and bottom)
> (set! pml-layers (list (make pml (thickness dpml) (direction Y))))
>
> (set-param! resolution 50)
>
> ; pw-amp is a function that returns the amplitude exp(ik(x+x0)) at a
> ; given point x.  (We need the x0 because current amplitude functions
> ; in Meep are defined relative to the center of the current source,
> ; whereas we want a fixed origin.)  Actually, it is a function of k
> ; and x0 that returns a function of x ...
> (define ((pw-amp k x0) x)
>   (exp (* 0+1i (vector3-dot k (vector3+ x x0)))))
>
> (define theta_rad (/ (* pi theta_deg) 180))
>
> ; direction of k (length is irrelevant)
> (define-param kdir (vector3 (sin theta_rad) (cos theta_rad)))
>
> ; k with correct length
> (define k (vector3-scale (* 2 pi fcen) (unit-vector3 kdir)))
>
> (set! sources (list
>        (make source
>          (src (make continuous-src (frequency fcen) (fwidth df)))
>          (component source-component) (center 0 (* -0.5 sx)) (size sx 0)
>          (amp-func (pw-amp k (vector3 0 (* -0.5 sx)))))
> ))
>
> (run-until 40
>         (at-every 1 (output-png source-component "-Zc bluered")))
>
> _______________________________________________
> 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