B.1.2. tempest limitations
a. Off-axis plane waves. Symmetrical domains of course must have symmetrical illumination. The TEMPEST approach is to forbid such domains to have off-axis plane waves applied to them. The other approach would have been to double each plane wave source, so that their result was symmetric, which would be preferable. Since the xxBEAM source statements are implemented as sums of plane waves, we can’t use them on symmetric domains. Use mode sources instead. It isn’t difficult to make a mode source out of a beam source: just run a three-cycle simulation of the desired beam shining into an empty domain, and make the mode file in a plane near the source.
B.1.3. Advice common to all or most FDTD programs
a. Step sizes. In general, don’t try to use a step size less than 1/15 wavelength in the highest-index material. Sufficiently simple geometries with low index contrast may allow 1/10 wavelength, at reduced accuracy.
b. Understanding convergence
FIDO/TEMPEST’s console output reports "convergence error" after each complete cycle. While this is useful, it must be understood properly. The FDTD algorithm is a direct- stepping method, not an iterative one. On each step, the fields are correctly propagated by one time step, within the error caused by discretization and roundoff. Convergence therefore means something quite different than in, say, Newton’s method for root finding—it means that you have to wait long enough for the turn-on transient to settle out. The fields have to rattle round the domain long enough to settle down to a steady- state condition.
This has an important practical consequence: you don’t have to use a fully-converged simulation in the early stages of optimization. Unless your structure is resonant, or has to sit a long way from the source location, you can usually get the right directional information for the optimizer as long as the full-strength fields have reached your structure. At first, try using the time-of-flight from the source to the far side of the structure, plus two or three cycles. This can speed up convergence of the structure by a factor of five or more. Don’t be dissuaded by TEMPEST’s stern warning that "Convergence error" is 93.7% and that convergence did not occur. It isn’t TEMPEST that we want to converge, at first anyway. Do take a peek at the bitmaps generated as the optimization progresses, to make sure they’re halfway sane. Later on, you can do the final polishing of the design by changing MAXCYCLES in the COMPUTE statement to allow FIDO/TEMPEST to converge fully on each iteration. (P. 22).
c. Hints and Kinks
Don’t put sources, dispersive materials or any material discontinuity adjacent to PMLs. A full wavelength away is safer, though you may get away with less. This can lead to divergences, which fortunately are not difficult to spot, and to the generation of NaNs, which will cause the simulation to abort.
Make PMLs at least 8ellscellthick.