Hello,


I'm calculating reflection spectrum of simple grating structure under plane wave angled with 25 degrees. Code and result is attached below. 


My problem is the oscillation in reflection spectrum. I first thought this was interference pattern and tried other geometries but similar phenomena were detected. Also I performed RCWA simulation for comparison and found out that there is significant disagreement which was not found in normal incidence case.


Do you have any idea on this issue?


Thank you.

Jongwook Jeon


-----------------Graph------------------



-----------------CODE-----------------

; a=1000nm


; Defining parameters

(define-param sx 1) ; x lattice size

(define-param sy 25) ; y lattice size

(define-param w 0.5) ; grating width

(define-param h 0.1) ; grating height

(define-param d 0.1) ; dielectric height

(define-param W 1) ; film width

(define-param H 0.3) ; film height

(define-param no-grating? false) ; if ture, have nothing

(set! eps-averaging? false)



; Defining SiO2

(define SiO2 (* 1.45 1.45))


; Defining Silver (Lorentz-Drude model)

(define ag (make medium (epsilon 1.0)(polarizations 

(make polarizability (omega 1e-20)(gamma 0.0387146125929319)(sigma 4.46245296548519e+41) )

(make polarizability (omega 0.658148414079842)(gamma 3.13427051116944)(sigma 7.92469618055556) )

(make polarizability (omega 3.614170396436)(gamma 0.364562601916775)(sigma 0.50132732809575) )

(make polarizability (omega 6.601648001523918)(gamma 0.0524260378862619)(sigma 0.0133292250190222) )

(make polarizability (omega 7.32593387878334)(gamma 0.738803856981784)(sigma 0.826552111456641) )

(make polarizability (omega 16.3649893648039)(gamma 1.95105516379796)(sigma 1.11333628041501) )

 )))


; Defining geometry


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

(set-param! resolution 100)

(set! ensure-periodicity true)

(set! pml-layers (list (make pml (thickness 5) (direction Y)))) ; pml thickness larger than wavelength

(set! geometry

      (if no-grating? (list

(make block

           (center 0 -3.5)

           (size W H infinity)

           (material (make dielectric (epsilon 1)))))

     (list

(make block ; Ag film

     (center 0 -7)

           (size W H infinity)

           (material ag))

(make block ; dielectric spacing

           (center 0 -6.8)

           (size W d infinity)

           (material (make dielectric (epsilon SiO2))))

       (make block ; Ag grating

           (center 0 -6.7)

           (size w h infinity)

           (material ag)))))


; Defining source

(define-param inc_angle 25) ; angle in degree


(define-param fcen 1.15)

(define-param fw 1.7)


(define inc_angle_rad (/ (* pi inc_angle) 180))

(define kx (* fcen (sin inc_angle_rad)))

(set! k-point (vector3 kx 0 0))

(define (my-amp-func p) (exp (* 0+2i pi kx (vector3-x p))))


(set! sources (list

(make source

(src (make gaussian-src (frequency fcen) (fwidth fw)))

(component Hz)

(center 0 6)

(size sx 0)

(amp-func my-amp-func))))


; Define flux monitor

(define-param nfreq 171)

(define-param df 1.7)


(define refl

(add-flux fcen df nfreq

 (make flux-region (center 0 0) (size sx 0))))


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


(run-sources+

(stop-when-fields-decayed 30 Hz (vector3 0 0) 1e-3))

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


(display-fluxes refl)


Jongwook Jeon

Korea Advanced Institute of Science and Technology

Nano-scale Heat Transfer Laboratory



_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to