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

Reply via email to