I am trying to obtain the dispersion characteristic of the fundamental
TM surface plasmon polariton mode of a infinitely long nanowire [similar
to the dispersion branches shown below the light line, in Fig 1(a) of
Opt. Lett., 35, pp. 4190-4192 (2010)]. I'm using the same parameters as
in the paper. But when I run harminv to obtain the frequencies at
different k-points, the computed frequencies are erroneous. I'm quite
new to Meep, and I cannot figure out the problem. I've included my code
here, please let me know whether I am missing something here. Am I using
harminv in a wrong way? Thanks a
lot!
(set! dimensions CYLINDRICAL)
(set-param! m 0)
;############# LATTICE DIMENSIONS #############
(define-param sr 800)
(define-param sz 4000)
(set! geometry-lattice (make lattice (size sr no-size sz)))
;############# DEFINITION OF CONSTANTS #############
(define Pi 3.1415928) ; Define constant pi
(define cc (* 3 1e8)) ; Velocity of light ms-1
(define plankh (* 4.13566733 1e-15))
(define-param scaleFact 1e9) ; Characteristic length, a = 1 nm
;############# MATERIAL PARAMETERS #############
(define AgPlasFreqIneV 3.76) ; Plasma frequency of silver in eV
(define AgEpsInf 9.6) ; High frequency dielectric constant of silver
(define AgPlasFreq (/ (/ AgPlasFreqIneV plankh) (* cc scaleFact))) ; Plasma
frequency in meep units
(define AgDrudeOmega 1e-20) ; Introduce a very small number
to get rid of the omega_n term in the lorentzian denominator
(define AgDrudeSigma (/ (* AgEpsInf (* AgPlasFreq AgPlasFreq)) (* AgDrudeOmega
AgDrudeOmega)))
;############# OBJECTS #############
(set! geometry (list
(make block (center 50 0 0) (size 100 infinity infinity)
(material (make dielectric (epsilon AgEpsInf)
(polarizations
(make polarizability (omega
AgDrudeOmega) (gamma 0) (delta-epsilon AgDrudeSigma)))))) ; 'sigma' =
'delta-epsilon' in previous meep versions
(make block (center 35 0 0) (size 70 infinity infinity)
(material (make dielectric (epsilon 12.35))))))
;############# SOURCES #############
(define-param fcen (* 0.4 AgPlasFreq)) ; pulse center
frequency
(define-param df (* 0.2 AgPlasFreq)) ; pulse freq. width
; Use sources having components similar to that present in the fundamental TM
mode
; Place the source in an arbitrary position within the core
(set! sources (list
(make source (src (make gaussian-src (frequency fcen)
(fwidth df))) (component Hp) (center 20 0 0))
(make source (src (make gaussian-src (frequency fcen)
(fwidth df))) (component Er) (center 20 0 0))
(make source (src (make gaussian-src (frequency fcen)
(fwidth df))) (component Ez) (center 20 0 0))))
;############# PML #############
(set! pml-layers (list (make pml (direction R) (side High) (thickness 300.0))))
;############# RUNNING PARAMETERS #############
(set! resolution 0.1)
; Run harminv after 20 cycles have passed, for several k-points values
(define-param k-interp 5)
(run-k-points (* (/ 1 fcen) 20) (interpolate k-interp (list (vector3 0 0
(* 0.38 AgPlasFreq)) (vector3 0 0 (* 0.7 AgPlasFreq)))))
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss