On Mar 9, 2009, at 4:43 PM, Nathan wrote:
Thank you for your response. I believe my simulation is going
unstable not because there is gain, but because of it's magnitude,
and the fact that it doesn't die down as the source is turned off.
I only have gain for a very small piece of the simulation and when I
launch a pulse at this piece, the fields grow during the entire
simulation, even after the source is off. Considering the gain
section is a low index material sandwiched between two higher index
slabs, the power should very quickly go into the transparent higher
index slabs. Also, the magnitude of the gains is very
unreasonable. I have seen gain on the order of 10^205. That's a
tad high, even for my toy problem.
Note that gain can still lead to exponential growth after the source
turns off -- the gain is still there, and leads to exponentially
growing solutions with or without sources. Even if you think the
power is leaving the gain region quickly, the question is essentially
whether it leaves faster than the gain makes it grow.
As for 10^205, I find it hard to draw conclusions from particular
numbers. You have exponential growth. Exponentially growth means
that you get large numbers very quickly. The relevant quantity in a
circumstance of exponential growth is the log of the field, and
log(10^205) is not big.
I did a numerical experiment based on your suggestion for stability
though. I used ctl file I uploaded earlier and did three separate
runs of the same physical situation at three different resolutions.
I modeled a Gaussian source launched at 45 degrees from a slab
n=3.22 onto a trench 140nm thick filled with eps=1.89 eps"=-1 and I
recorded the transmitted and reflected flux. I recalculated the
reference field for each resolution befor doing the actual run.
(That bit me once a few years ago)
At resolution = 50 T-flux = 1.43E18 R-flux = 5.73E11;
at resolution = 100 T-flux = 9.02E11 R-flux = 1.10 E12;
at resolution = 200 T-flux = 3.8 E12 R-flux = 4.86 E12.
Okay, it seems like it's blowing up faster as the resolution
increases. (I assume that you are using the same run time, e.g. with
run-until 100, for all runs). If this is correct, it is a sign of a
numerical instability rather than a physical one.
You notice that these numbers vary and don't seem to be converging
in any way. I've done some research and there seems to be a wide
variety of thoughts on numerical stability for FDTD and complex /
dispersive materials. I would like to look into this further with
meep. Could you please tell me specifically which numerical method
is implemented in meep to calculate the response to complex
materials? I read through "Materials In Meep" and it seems like you
are using the Axillary Differential Equation Method but there are a
few variations on that that will behave differently for stability.
If you could please point me to a paper that discusses the method
implemented I would greatly appreciate it. I'll make sure to update
this thread with any results I get.
If I remember correctly, you're just using the conductivity feature,
with a negative sign, to implement gain. There's really only one
reasonable way to implement conductivity in center-difference Yee-
lattice FDTD, and that's described e.g. in Taflove and Hagness.
Steen
_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss