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