== Simulation ==
After the sources, observables, and mesh are set up, the simulation can is ready to be run.
For the engine settings, we use the default settings, except for "Thread Factor". The "Thread Factor" setting essentially tells the FDTD engine how many CPU threads to use during the time-marching loop. For a given system, some experimentation may be needed to determine the best number of threads to use for "Thread Factor". In many cases, using half of the available hardware concurrency works well. This comes as a result of there often being two cores per memory port on many modern processors. In other words, for many problems, the FDTD solver cannot load and store data from CPU memory quickly enough to use all available threads or hardware concurrency. The extra threads are idling waiting for data, and a performance hit is incurred since thread context switching takes some time. Also,
The complete simulation, including meshing, time-stepping, and farfield calculation took 5 hours, 50 minutes. The average performance of the timeloop was 330 MCells/s. The farfield computation requires a significant portion of the total simulation time. The farfield computation could have been reduced with larger theta and phi increments, but, typically, for electrically large structures, resolutions of 1 degree or less are required.