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 8 cellells thick.
82