Hi all,

I'm interrested in simulating the spectral transmission of some array of
nano-holes in metalic layer. I think meep can do that so I tried.

As exercice, I tried to simulate the figure 1 of PRB 66 195105 which represent
the transmission spectra of a one dimensional grating made of a metal with
epsilon = -5.

But so far I didn't succed. I can't get any flux for epsilon = -5 while I can
for the case of epsilon = 5 in which I'm not interrested. I only get some
strange #.# !

Any idea what I do wrong ? I put in attachement the corresponding ctl file.

Moreover, I don't understand why it isn't possible to simply define a function
which return the permitivity, given the frequency ? It would permit to use raw
ellipsometry data of plenty of material, without having to decompose them in
term of polarixability, which is not a so easy process.

I also hate this Scheme stuff but I can survive with it.

Thanks in advance for any helpfull comments.

-- 
(set! eps-averaging? false)

(define-param sx 40) ; size of cell in X direction                              
(define-param sy 16) ; size of cell in Y direction                              

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

(define-param diameter 2.5)
(define-param periodicity 20.0)
(define-param thcknss 2.0)
(define-param normalization? false) ; true to get normalization

(set! geometry
      (if normalization?
          (list 
                (make block 
                      (center 0 0)
                      (size 0 0 0)
                      (material air)))
          (list 
                (make block 
                      (center 0 0)
                      (size infinity thcknss infinity)
                      (material (make dielectric (epsilon 5.0))))
                (make block
                      (center (/ periodicity -2) 0)
                      (size diameter thcknss infinity)
                      (material air))
                (make block
                      (center (/ periodicity 2) 0)
                      (size diameter thcknss infinity)
                      (material air)))))

(define-param fcen (/ (+ (/ 1 3) (/ 1 33)) 2)) ; pulse center frequency         
                      
(define-param df (/ 1 3) )    ; pulse width (in frequency)                      
       
(set! sources (list
               (make source
                 (src (make gaussian-src (frequency fcen) (fwidth df) ))
                 (component Ex)
                 (center 0 (- (/ sy 2) 2))
                 (size sx 0))))

(set! pml-layers (list (make pml (thickness 1.0))))

(set! resolution 10)

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

(run-until 100
           (at-beginning output-epsilon)
           (to-appended "ex" (at-every 0.5 output-efield-x))
           (at-end 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