If I’m not mistaking , this only works for dispersive media of which the real 
part is positive, because for negative epsilon you just get exponential decay
There is way to verify your material: 
http://www.mail-archive.com/[email protected]/msg03527.html

Best regards,

Milan




From: [email protected] 
[mailto:[email protected]] On Behalf Of ???
Sent: dinsdag 2 november 2010 15:08
To: [email protected]
Subject: [Meep-discuss] Verification of material (Au) dispersion

Dear MEEP users,

I get a Drude model for Au (the model itself has been proved to be accurate 
with applicable wavelength range: 500~1000nm), and want to verify it through 
simulaltion as the MEEP Tutorial of Material dispersion. I made a slight change 
to the given tutorial .ctl file. However, the result achieved is not what I 
have expected. The .ctl command and partial simulation results are as follows. 
Any statement about my problem will be highly appreciated.

With best regards.

***************************************
The ctl command:
; Define lengthscale a = 200nm
; Wavelength range : 500~1000nm
; Corresponding frequency range in MEEP : 0.2 ~ 0.4

(set! geometry-lattice (make lattice (size no-size no-size no-size)))
(set-param! resolution 20)

(set! default-material
    (make dielectric (epsilon 5.9673)
        (E-polarizations
           (make polarizability (omega 0.666667e-10) (gamma 0.0106133) (sigma 
4.4673e20))
           (make polarizability (omega 0.43338) (gamma 0.0699067) (sigma 1.09))
        )
    )
)

(define-param fcen 0.3)
(define-param df 0.2)
(set! sources (list (make source
              (src (make gaussian-src (frequency fcen) (fwidth df)))
              (component Ez) (center 0 0 0))))

(define-param kmin 0.2)
(define-param kmax 0.4)            ; I am not sure if the values for kmin and 
kmax are right. However, even if I change these values, the results and the 
problem are the same.
(define-param k-interp 99)
(define kpts (interpolate k-interp (list (vector3 kmin) (vector3 kmax))))

(define all-freqs (run-k-points 200 kpts)) ; a list of lists of frequencies

(map
    (lambda (kx fs)
        (map
            (lambda (f) (print "eps:, " (real-part f) ", " (imag-part f) ", " 
(sqr (/ kx f)) "\n"))
            fs
        )
    )
    (map vector3-x kpts) all-freqs
)

*********************************
Partial simulation results:
...
harminv0:, frequency, imag. freq., Q, |amp|, amplitude, error
run 0 finished at t = 250.0 (10000 timesteps)
freqs:, 1, 0.2, 0, 0
freqs-im:, 1, 0.2, 0, 0
harminv1:, frequency, imag. freq., Q, |amp|, amplitude, error
run 1 finished at t = 250.0 (10000 timesteps)
freqs:, 2, 0.202, 0, 0
freqs-im:, 2, 0.202, 0, 0
...
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to