Code
Code
PetFMM
PetFMM is a portable, extensible software library for N-body interactions, using the fast multipole method (FMM). The software is built to be used as a part of the PETSc library, and it is distributed as open source. It can be used either in serial or parallel mode.
A prominent feature of PetFMM is its capacity for dynamic load balancing, based on an optimizing strategy for distribution of work among processors and a model of both work estimates and communication estimates.
Authors: Felipe A Cruz, Matthew G Knepley, Lorena A Barba
First release: May, 2009.
The first release performs the fast calculation of the velocity induced by N smooth vortex particles in 2D. Ample verification and testing of this code has been performed, as well as a strong-scaling study with close to a million particles in up to 64 processors.
The library is currently able to achieve over 90% parallel efficiency for 32 processors and over 85% parallel efficiency for 64 processors.
Publications:
‣“PetFMM–A dynamically load-balancing parallel fast multipole library”, Felipe A Cruz, Matthew G Knepley, Lorena A Barba. Submitted.
[arXiv]
‣“Characterization of the accuracy of the fast multipole method in particle simulations”, Felipe A Cruz, Lorena A Barba
Int. J. Num. Meth. Engrg., 2009 [doi]
[arXiv]
Download:
[Feb. 2010] We have moved the repository to Bitbucket, where we can have a code tracker, wiki, and issue tracker.
‣distribution of petfmm-dev >> http://bitbucket.org/petfmm/petfmm-dev/get/tip.zip
‣Version-controlled repository >> http://bitbucket.org/petfmm/petfmm-dev/
The software library is open source under the conditions of the PETSc license, even less restrictive than the BSD license.
User’s Manual:
‣Not yet complete, but nevertheless useful ... [PetFMM-UserManual.pdf]
Contact:
If you have interest or any questions about PetFMM, join the Mailing list and post there —traffic is very low and you can unsubscribe at any time:
http://barbagroup.bu.edu/mailman/listinfo/petfmm