The field of computational electromagnetics has made
great strides over the last two decades due, in part, to the
development of fast algorithms -
that is numerical methods which scale
linearly (or nearly linearly) with the number of degrees of freedom required.
The fast multipole method (FMM) is one such scheme, requiring
O(N) or
O(N log N) work to compute all pairwise interactions
between N point scatterers whose interactions are described
by electrostatics, gravitation, acoustics or electromagnetics.
Naive methods, by contrast, require O(N^2) work.
. Because the algorithms are rather involved,
we have created open source distributions, available at the links below.
These FMM2D and FMM3D libraries are designed for the "low-frequency" regime,
assuming that the entire computational domain is a modest number of
wavelengths in size.
(The high-frequency version of the FMM requires a more complex algorithm,
and has not been incorporated in this software release.)
FMPS is an FMM-based package which allows for the rapid
simulation of multi-particle scattering gioverned by the full Maxwell
equations.