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

