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