Given a number N of sources in a unit box with potential in the form [phi(zi)=q/(zi-zj)], and given the desired level of accuracy for the multipole expansion, these scripts solve all pairwise interactions using of the Fast Multipole Method.
The file FMM_opt.m generates a better grid than FMM.m because the gridding strategy is optimized based on N and the order of accuracy, p. This can be noticed by comparing the elapsed times between the two strategies.
To run, just launch either script and input the number of sources and desired multipole expansion accuracy.
The script also generates a plot of the mesh with the generated sources.
Angelo Tafuni (2020). A single level Fast Multipole Method solver (https://www.mathworks.com/matlabcentral/fileexchange/55316-a-single-level-fast-multipole-method-solver), MATLAB Central File Exchange. Retrieved .