BEM++ offers attractive high-level interfaces for doing BEM calculations in Python and C++.
Currently it supports Galerkin BEM for the Laplace, Helmholtz, and modified Helmholtz (Yukawa or linearized Poisson-Boltzmann) equations, using planar triangle boundary elements with either piecewise-constant or piecewise-linear basis functions. Support for collocation or qualocation would be nice, and it seems like these can be implemented pretty easily.
For fast BEM, the library supports AHMED (H-matrix based) representations only; coupling BEM++ to tree codes or fast multipole methods would be really important to me in production-level work. At the moment, I’m really just happy to have a high-quality implementation for hypersingular operators.
I’ve gotten BEM++ installed and running without much trouble at all, and I look forward to giving it a real workout over the Christmas holidays (when I’m done teaching).
Congratulations to the BEM++ team, and thanks for releasing it as open-source software under the BSD license!