Questions and Answers

0 Like 0 Dislike


Problem in defining a dispersive material in Meep (Gold)

 I am contacting you regarding an issue I am facing in Meep. I am trying to define dispersion relation of Gold in Meep using Lorentz-Drude model. After running the code, I don't  receive any error message and the simulation continues, however the software does not recognize my defined material and considers all the materials as air (epsilon=1).  here is my code, I would be thankful if you could let me know how I can fix the problem.

(define-param a 0.10) ; inner radius
(define-param b 0.12) ; outer radius
(define-param pad 3) ; padding between waveguide and edge of PML
(define-param dpml 3) ; thickness of PML
(define-param l 1) ; length of simulation
(define sr (+ b pad dpml)) ; radial size (cell is from 0 to sr)
(define sl (+ l pad pad dpml dpml)) ; longitudinal size
(set! dimensions CYLINDRICAL)
(set! geometry-lattice (make lattice (size sr no-size sl)))
(set-param! m 0)

(define myAu (make dielectric (epsilon 1)
(make lorentzian-susceptibility
(frequency 1e-20) (gamma 0.042747) (sigma 4.0314e+41))
(make lorentzian-susceptibility
(frequency 0.33472) (gamma 0.19438) (sigma 11.363))
(make lorentzian-susceptibility
(frequency 0.66944) (gamma 0.27826) (sigma 1.1836))
(make lorentzian-susceptibility
(frequency 2.3947) (gamma 0.7017) (sigma 0.65677))
(make lorentzian-susceptibility
(frequency 3.4714) (gamma 2.0115) (sigma 2.6455))
(make lorentzian-susceptibility
(frequency 10.743) (gamma 1.7857) (sigma 2.0148))

(set! geometry (list
 (make block
 (center (/ sr 2) no-size 0 ) (size sr infinity l) (material myAu))
 (make block
 (center (/ b 2) no-size 0) (size b infinity l) (material air))
 (make block

 (center (/ a 2) no-size 0) (size a infinity l) (material myAu))
(set! pml-layers (list (make pml (thickness dpml))))
(set-param! resolution 200)
(define-param fcen 1.5) ; pulse center frequency
(define-param df 2.9) ; pulse width (in frequency)
(set! sources (list
(make source
(src (make gaussian-src (frequency fcen) (fwidth df)))
(component Er) (center 0 0 -1))))
(define-param nfreq 1000) ;number of frequencies at which to compute flux
(define trans ; transmitted flux
(add-flux fcen df nfreq
(make flux-region
(center (/ (+ a b) 2) 0 (/ l 2))
(size (- b a) no-size no-size)
(run-sources+ (stop-when-fields-decayed 50 Ez
(vector3 0 0 (+(/ l 2) 0.5)) 1000)
(at-beginning output-epsilon)
(at-end output-efield-z))
(display-fluxes trans)

Report abuse

The table below shows the current "market value" of the question and estimated amount of points that you can earn, when the question is closed.

Points Breakdown points Details
* Activity points are calculated based on summing up the weighted number of answers, recommendations and answer votes. Read further details.
Activity* 0
Bonus 2
Total market value 0 total
Asker will earn 0 1/3 of activity points
Asker will pay 2 Reward for best answer assigned by asker
Best answer may earn 0 Up to 2/3 of activity points plus the bonus

0 Responses

No other responses made.