|
Multilevel Fast Multipole Method
The method is based on the acceleration
of matrix-vector multiply operations, performed in each iteration of the
iterative solver, by calculating interactions of the near-neighbor and
distant basis functions within the model differently.
Basis functions are grouped in a multilevel tree-like grid.
The grouping is done
in two levels. At the coarse level, the entire model is divided into
groups of patches according to a specified group size in wavelengths.
Only non-empty groups are kept in memory, others are discarded. During
simulation, distances between pairs of groups are evaluated. If the two groups are further apart than the
specified threshold, interactions between the belonging basis functions
are replaced by interactions between the groups. If not, the algorithm
resolves the remaining basis functions interactions at the fine level of
grouping, where all basis functions defined over the same quad patch are
considered to belong to the same group. The algorithm is repeated at the
fine level. Distance between pairs of
patches are evaluated and if the two patches
are further apart than the threshold, interactions between the belonging
basis functions are replaced by interactions between the patches.
Otherwise, their interactions are calculated in a standard MoM way.
Hence, the accuracy-speed-memory trade-off is controlled through two
parameters: the coarse level group size and the relative distance
threshold.
The benefit of the method is a dramatic
reduction of memory and time resources needed for simulation of various
classes of electrically large structures. |