The MLFMM Solver

The MLFMM solver is based on a hierarchical algorithm that relies on the underlying physics of electromagnetic interactions to provide a more efficient scheme to compute the matrix vector product that is at the heart of every iterative IE solver. The algorithm views a matrix vector product as the computation of E and H fields and it computes these fields using a multi-level multi-pole expansion.

The algorithm can be conceptually broken down in to the following 6 steps.

  1. Hierarchical decomposition of the geometry into a set of nested boxes (Figure 1) and identification of near and far interactions for each box (Figure 2).

The reason for the separation of near and far interactions is to be able to efficiently compute far interactions using multi-poles. See additional explanations in Further Details of MLFMM Algorithm.

  1. Computation of multi-poles at the center of each box at the lowest level due to the currents contained in the boxes (Basis functions projected on to multipoles)

In HFSS, the multi-poles are plane waves sampled on the surface of a sphere of diameter equal to the diagonal of the box and centered at its center.

  1. Hierarchical computations of multi-poles at the center of each "higher" level box due to multi-poles at the centers of its children (Up-tree traversal).

Since the multi-poles are effectively plane-waves, this step is equivalent to resampling plane waves on a larger sphere using spherical interpolation.

  1. Construction of fields at each box center at the "highest" level due to all multi-poles at this level (Translation).

The fields at the receiving box can be again computed on a per-multi-pole (per-plane-wave) basis using the addition theorem for the Green's function. The fields at the receiving box center are, thus, again represented using plane-waves.

  1. Hierarchical computation of fields at the center of each "child" box due to the "received" fields at its parents (Down-tree traversal)

Due to the plane-wave nature of the multi-poles, this step is equivalent to a "down-sampling" from a sphere at the parent level to one at the child level.

  1. Computation of fields at the observer locations inside each lowest level box (local fields projected to testing function)

This is done using integration (summation) over all the plane-waves to compute the field, followed by testing using appropriate testing functions.

The first step, the computation of the absolute "near-field" and all RHS-independent pre-computations possible for steps 2 - 6 are performed during the "Matrix Assembly" stage and the remaining computations for steps 2 - 6 are performed during the "Iterative Solution" stage (Figure 3).

Due to the way the algorithm is constructed the MLFMM solver will take significantly less amount of time than ACA for "Matrix Assembly". It is, however, possible that the MLFMM solver may take a larger amount of time than ACA per iteration for "Matrix Solution". Further, due to its construction, MLFMM algorithm tends to use significantly less memory than the ACA solver for large problems.