Dear Steven,

I have been using meep recently for simulating a metallic grating in
2D. As most people have discovered, simulating metals in meep can be
rather tricky if you don't do it correctly. Thanks to your tutorials
and discussion threads I have managed to make good progress.  While I
hope some of this may be helpful for other users, I also have a few
final questions...

Stuff I have discovered and incorporated into my code:

(1) Negative epsilons require dispersion! (Even for a cw source). Thus
it is imperative to fit your experimental or Drude model to a
Lorenztian by defining the polarizability (as you show in the tutorial
http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Material_dispersion).

(2) If a metal (or any material) has a refractive index less than one,
then you have to consider modifying the Courant factor.  The Courant
factor must be less than n_min / sqrt(N) where N is the number of
dimensions in your simulation.  Use something like (set! Courant 0.35)
to change the value.

Questions I have:

(1) Since I only care about using a cw-source at a single frequency, I
simply fit the Lorentzian dispersion function so that it intersected
my nominal epsilon values at my desired frequency.  For example,
supposing I have a material with an eps = -3.8155 + 3.9605i at f =
0.127.  I fit the model and come pretty close using something like:

(material (make dielectric (epsilon 0.3)
            (E-polarizations
             (make polarizability
               (omega 1.) (gamma 1) (sigma 1.27))
             (make polarizability
               (omega 0.5) (gamma 10) (sigma 4e1))
             )))

When I use this definition, the simulation runs great.  However,
suppose my epsilon was now eps = -4.4 + 3.9605i.  I could arbitrarily,
change the epsilon term (eps_inf) from 0.3 to -0.2.  In this case, the
simulation diverges and the field explodes into black.

Thus, even though I have defined a dispersive model it is possible for
the field to explode.  While I get the correct eps(w) with dispersion,
I assume it is not possible to have a eps(inf) that is negative.
Since eps = (ck/w)^2 then the epsilon that is defined in the
dispersion model must always be positive (even if your eps(w) is
negative)?  And does this also mean that I can refit the model to use
an arbitrarily large eps(inf) so long as the function intersects my
data point at the desired frequency?

(2) Currently, I am trying to obtain a representative time average
field distribution by simulating my structure and averaging the fields
over one period (doing so in Matlab).  Is that the best way to go
about it? I would expect the cw-source to average out to zero over
time, however I don't think my time stepping results in exactly one
period, and as a result my average is biased (and perhaps not exactly
correct).

However, I also discovered that there is an experimental
frequency-domain solver that can be used to obtain field profiles
equivalent to a time simulation run to infinity
(http://ab-initio.mit.edu/wiki/index.php/Meep_Reference#Frequency-domain_solver).
 While you mention that it supports conductors, you also mention that
it does not support dispersive materials.  Thus, I assume that
negative epsilon materials cannot be simulated by this method?

Sorry for the lengthy message! And thanks for your help.


Best,

Judson

_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to