Why is a simulation diverging?#
Date |
Category |
---|---|
2023-10-24 15:55:24 |
Simulation Troubleshoot |
Sometimes, a simulation is numerically unstable and can result in divergence. All known cases where this may happen are related to PML boundaries and/or dispersive media. Below is a checklist of things to consider.
For dispersive materials with \(\epsilon_{\infty} < 1\), decrease the value of the Courant stability factor to below \(\sqrt{\epsilon_{\infty}}\).
Move PML boundaries further away from structure interfaces inside the simulation domain, or from sources that may be injecting evanescent waves, like PointDipole, [UniformCurrentSource](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.UniformCurrentSource.html#tidy3d UniformCurrentSource), or CustomFieldSource.
Make sure structures are translationally invariant into the PML, or if not possible, use Absorber boundaries.
Remove dispersive materials extending into the PML, or if not possible, use Absorber boundaries.
If using our fitter to fit your own material data, ensure you are using the
plugins.StableDispersionFitter
.If none of the above work, try using StablePML or Absorber boundaries anyway (note: these may introduce more reflections than in usual simulations with regular PML).