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

Reply via email to