Ansys Insight: General FDTD troubleshooting tips and tricks
It is common to set up and run an FDTD simulation and obtain unexpected results that you suspect are inaccurate. These unexpected results may be physically impossible (such as transmission results greater than one), or different from results from another source (such as a paper or another simulation). This may indicate that there is a mistake in the setup of the simulation.
There could be many possible issues causing inaccurate results, and these issues do not necessarily produce the same type of results every time they occur. This means it is difficult to be general when discussing troubleshooting simulations. However, in this post I will list some tips and strategies that we find are often useful when trying to determine the causes of inaccurate results or errors in FDTD simulations.
If you encounter issues with your FDTD simulation, the following steps may be helpful in determining the cause of error:
- Check important settings: Check that your simulation settings are correct as described in the Key FDTD settings topic. This topic discusses some of the most important settings for FDTD simulations, for example the mesh, simulation time, and simulation region span, which are the cause of many FDTD simulation errors.
- Search online resources: There are various online resources that could help you troubleshoot your simulation. For example, the Ansys Learning Forum has customer support cases which commonly deal with troubleshooting issues. It is very likely that another user has encountered similar issues to yours, so searching the ALF for similar issues is a good place to start if you are having problems with your simulation. The Application Gallery also has many example simulations and pages that discuss approaches to various types of simulation. These examples often include tips on how to properly set up specific types of simulations.
- Simplify your simulation: When developing FDTD simulations it is a good idea to start with a very simple structure along with your sources and monitors. Once the results for this simple simulation are accurate, you can gradually increase the complexity of your simulation, making sure the settings are correct at each step. A similar approach can be useful for troubleshooting. If your full simulation is generating inaccurate results, reducing the complexity of your simulation step-by-step can help determine which aspect of the simulation or the geometry is causing the error. For example, you can:
- Start by approximating your structure with a 2D simulation before extending to a full 3D FDTD simulation. A 2D simulation is much faster to run, decreasing the time required to develop the simulation.
- Start with a single wavelength simulation with non-dispersive materials before moving to a broadband simulation.
- If measuring transmission/reflection from a patterned substrate, start with a simulation of an unpatterned substrate, and compare your FDTD results with results using the stackrt command.
- View fields with monitors: Movie or DFT monitors can be used to view the fields in simulations, which can be helpful in determining where an error occurs. For example, these monitors can be used to determine where the fields are diverging in a diverging simulation, or if sources are injecting the input pulses properly.
- Reduce the bandwidth: While FDTD simulations can be used to obtain broadband results, some aspects of an FDTD simulation do not work as well with a large bandwidth. For example, it can be more difficult to find a good material fit 2, the PML boundaries may not absorb properly at all wavelengths, and sources may not inject light properly 3 (the last point can be improved using multifrequency injection). For this reason, the bandwidth should only include wavelengths over which the results are being calculated. If using a large bandwidth (larger than a few hundred nm for optical simulations), it can be helpful to break up the bandwidth over multiple simulations.
- Check field profiles of sources: It is common for source fields to be improperly calculated or truncated by the edges of the source object. It is a good idea to double-check the field profiles of sources before running an FDTD simulation. Make sure the span of the sources is large enough such that the amplitudes of the modal fields reach close to zero (around 10^−3) at the edges of the source. It is also often a good idea to check the individual components of the source E field profile to ensure that the polarization is correct. For example, the span of this mode source is too small to contain the entire modal field::
- Convergence testing: If you believe your settings are close to correct, convergence testing 4 should be used to finalize your simulation settings and make sure your results are accurate. This is an especially important step if you would like to compare your results to data from another source, such as a published paper or another simulation.