Kernel-Independent Parallel 3D Fast Multipole Method

The Kernel-Independent Fast Multipole 3d Method (kifmm3d) is a new FMM implementation which does not require the explicit multipole expansions of the underlying kernel, and it is based on kernel evaluations. Instead of using analytic expansions to represent the potential generated by sources inside a box of the hierarchical FMM tree (quadtree or octree), we use a continuous distribution of an equivalent density on a surface enclosing the box. To find this equivalent density, we match its potential to the potential of the original sources at a asurface in the far field, by solving local Dirichlet-type boundary value problems. The far field evaluations are sparsified with SVDs in 2D and FFTs in 3D. This new method has been tested on a variety of single and double layer operators, including the Laplacian, modified Laplacian, Stokes, modified Stokes, Navier-Stokes and modified Navier-Stokes in two and three dimensions. The major advantages of the KIFMM3d method is the relative simplicity of its implementation and its immediate extension to more general kernels.

The code provided here is made available under the GNU General Public License. The main purpose of this website is for the distribution of this code along with detailed documentation in order to facilitate the accesibility to users with specific questions on implementation issues. Please use the links above for the code location or further information, including relevant publications and contact information.