BEM++ : Cool new library for boundary-element method (BEM) simulations

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!


Our new paper on asymmetric solvation is out!

Pavel Jungwirth, Lee Makowski, and I have a new paper out in The Journal of Chemical Physics: “Affine-response model of molecular solvation of ions: Accurate predictions of asymmetric charging free energies.”  This paper was a whole lot of fun to think about, work on, and write.  Please e-mail me if you’d like more information on the simulations, or do not have access to the article.

Our new paper on ellipsoidal harmonics is out!

Matt Knepley and I have a new paper out in the open-access journal Computational Science and Discovery (IOP).

The article, “Computational science and re-discovery: open-source implementation of ellipsoidal harmonics for problems in potential theory,” represents a new direction for Matt’s and my continuing work on simple models for biomolecular electrostatics.  Our previous paper addressed an analysis of boundary-integral operators on the sphere, and in this work we begin to look towards the much more general case of ellipsoids.  As it turns out, implementing ellipsoidal harmonics is quite a bit trickier than implementing spherical harmonics, so we thought it would be best to double-check our work by developing TWO implementations, one in MATLAB and one in Python.  Both are freely available under BSD licenses at Matt’s bitbucket site at

Incidentally, the article was submitted to CS&D’s special issue celebrating the 20th anniversary of the Department of Energy’s Computational Science Graduate Fellowship program, which is administered by the wonderful people at the Krell Institute.  I was a fellow from 2002-2006, and consider it one of the greatest privileges I have been afforded in my life.  Eligible young researchers in computational science and engineering (currently, that means undergraduate seniors and first-year grad students) are strongly encouraged to apply!!

Our new paper on fast Poisson approximations for protein electrostatics is out!

Matt Knepley and I continue to improve the BIBEE model (boundary-integral based electrostatics estimation) using mathematical analysis of the underlying integral operator.  The newest version, published here, achieves 4% accuracy with a single fit parameter.  The authoritative version of the paper is at The Journal of Chemical Physics, but a non-typeset version is available at

We would especially like to thank my department chair, Prof. Bob Eisenberg, for his continuing support and encouragement in our quest for better implicit-solvent models.  Also, we would like to acknowledge the referee for his or her very insightful and tough comments; these led to a substantially improved paper.