Dear steven and Meep users, 

I am trying to simulate some periodic gold squares, which are periodic in x 
and y directions. The incident light polarized along x direction was launched 
in -z direction. The length and thickness of the square are 116 nm and 20 nm, 
respectively. The gap between the two squares is 44 nm. 
However, the transmission curves are not convergence when I double the 
resolution. When the resolution is 25 and 50, the dip of the transmission is 
691.3 nm and 623.4 nm, respectively. Is it normal with so large blue shift? I 
also try doubling the PML thickness, run time, distance of source and flux 
planes from geometry, but they do not affect on the result. It is still 
divergence. 
In addition, I simulated the same geometry by another FDTD software named 
Sim3D developed by ACMS at the Department of Mathematics University of 
Arizona. When the resolution is 50, the dip of the transmission is 668.9 nm. 
When I decrease the resolution to 25, there is not an apparent shift. 
Therefore, I think my ctl file may have error. Would you please give me some 
advice to improve my ctl file? Thanks a lot.

Best,
Shuqi

(reset-meep)
(define-param unit 100e-9)     ; base unit in meters (1e-9 = 1 nm)
(define-param c 299792458)     ; the speed of light in vacuum (m/s)
(define-param lam 785e-9)      ; free space wavelength (meters)
(define lamu (/ lam unit))     ; wavelength in base units

; Some parameters to describe the geometry:
(define-param len 1.16)   ; length of square
(define-param thick 0.2) ; thickness of square
(define-param gap 0.44)   ; gap between the two squares
(define-param dpml 1)     ; PML thickness
(define-param pad 0.04)    ; the distance from pml

; The lattice dimensions
(define sx (+ len gap)) ; size of cell in x direction
(define sy (+ len gap)) ; size of cell in y direction
(define sz 5.4)           ; size of cell in z direction
(set! geometry-lattice (make lattice (size sx sy sz)))
(set-param! resolution 50)

; Drude model of Gold
; the following parameters are from Drude model
(define-param wp 1.3166e+16)     ; resonant plasma frequency
(define-param epsinf 9.0)        ; relative permittivity at infinite frequency
(define-param del 1.3464e+14)   ; the collision frequency
;these parameters are for Meep
(define unitw (/ (* 2 pi c) unit))   ; base unit for frequency
(define gammau (/ del unitw))        ; gamma in base unit
(define wpu (/ wp unitw))            ; resonant plasma frequency in base unit
(define deltaeps (* wpu wpu 1e+40))  ; for delta-epsilon

;(set! eps-averaging? false)
(define gold
      (make dielectric (epsilon epsinf)
            (polarizations 
             (make polarizability
               (omega 1e-20) (gamma gammau) (delta-epsilon deltaeps))
             )))
             
(define-param no-geometry? false)    ; if true, no geometry
; Set Geometry
(set! geometry 
             (if no-geometry?  
              (list
                (make block (center 0 0 0) (size len len thick)
                      (material air)))            
              (list
                (make block (center 0 0 0) (size len len thick)
                      (material gold)))              
                ))       
                
(set-param! k-point (vector3 0 0 0))  ; set periodic boundary condition
(set! pml-layers (list (make pml (thickness dpml) (direction 
Z))))              
; Set Source
(define fcen (/ unit lam))     ; source center frequency
(define-param pw 2e+14)        ; free space pulse width (in frequency)
(define df (/ (* pw unit) c))  ; pulse width in Meep Unit
(define-param tw 0.2123e-14)       ; free space pulse width (in time)
(define twidth (/ (* tw c) unit))  ; pulse time width in Meep Unit
(set! sources (list
               (make source
                 (src (make gaussian-src (frequency fcen) (width twidth)))
                 (component Ex)
                 (center 0 0 (+ (/ sz -2) dpml pad)) (size sx sy 0)
                 )))

(define-param nfreq 200) ; number of frequencies at which to compute 
flux             
(define trans ; transmitted 
flux                                                
      (add-flux fcen df nfreq
                    (make flux-region
                     (center 0.06 0.04 (- (/ sz 2) dpml pad)) (size 0 0 0) 
(direction Z))                    
                  ))
(run-sources+ 
 (stop-when-fields-decayed 50 Ex                            
                               (vector3 0.06 0.04 (- (/ sz 2) dpml 
pad))                            
                           1e-3)
 (if no-geometry?                         
   (to-appended "air-point" (in-volume (volume (center 0.06 0.04 (- (/ sz 2) 
dpml pad)) (size 0 0 0)) 
                           output-efield-x)) 
   (to-appended "geometry-point" (in-volume (volume (center 0.06 0.04 (- (/ sz 
2) dpml pad)) (size 0 0 0)) 
                           output-efield-x))                         
                           ))
(display-fluxes trans)


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

Reply via email to