On Tue, 1 Aug 2006, Bryce wrote:
I've been working on simulating a non-ideal metal, and it seems to run
well with my calculated polarizations if I choose n>=1. However, there
seems to be a limit on how low I can make n. At my wavelength of
interest, Ag has n=0.226, and I can't go below about n=0.6 without the
simulation "blowing up" (energy densities become inf and eventually nan,
starting at the metal's outer surface). The lower I make n, the sooner
the simulation blows up. I've tried a few geometries with the same
effect.
It sounds like what you are running into is simply the Courant stability
condition, which relates the size of the time-step to the spatial
discretization in FDTD.
Basically, the time step must be small enough so that the numerical
propagation can keep up with the speed of light. However, if you decrease
the refractive index to be < 1, without including material dispersion
explicitly, then the speed of light increases and you need to reduce the
time-step size.
This is controlled by the "Courant" input variable, as described in the
Meep Reference section of the manual. In particular, the Courant factor
must be set to a value less than
(min index n) / sqrt(# dimensions)
The default Courant factor in Meep is 0.5, which means that in 2d it
becomes unstable at an index < 0.707, and in 3d it becomes unstable at an
index < 0.866.
However, if you are setting n < 1 just by setting the refractive index in
Meep (which is what it sounds like), you should be careful, because for n
< 1 you cannot neglect material-dispersion affects (unless you are using
only CW sources).
Analysis of stability becomes more complicated if you make the index < 1
via material dispersion, because in the presence of dispersion even the
definition of velocity becomes subtle. For example, if you look at the
"Material dispersion" example in the Meep tutorial, we simulate a material
in which the real part of epsilon goes all the way to zero, without any
instability, using the default Courant factor.
Cordially,
Steven G. Johnson
_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss