Bempp-cl: A fast Python based just-in-time compiling boundary element library

Timo Betcke, Matthew W. Scroggs
Department of Mathematics, University College London 2 Department of Engineering, University of Cambridge
Journal of Open Source Software, 5(54), 2682, 2020


   title={Bempp-cl: A fast Python based just-in-time compiling boundary element library.},

   author={Betcke, Timo and Scroggs, Matthew W},



The boundary element method (BEM) is a numerical method for approximating the solution of certain types of partial differential equations (PDEs) in homogeneous bounded or unbounded domains. The method finds the approximation by discretising a boundary integral equation that can be derived from the PDE. The mathematical background of BEM is covered in, for example, Steinbach (2008) or McLean (2000). Typical applications of BEM include electrostatic problems, and acoustic and electromagnetic scattering. Bempp-cl is an open-source boundary element method library that can be used to assemble all the standard integral kernels for Laplace, Helmholtz, modified Helmholtz, and Maxwell problems. The library has a user-friendly Python interface that allows the user to use BEM to solve a variety of problems, including problems in electrostatics, acoustics and electromagnetics. Bempp-cl began life as BEM++, and was a Python library with a C++ computational core. The ++ slowly changed into pp as functionality gradually moved from C++ to Python with only a few core routines remaining in C++. Bempp-cl is the culmination of efforts to fully move to Python, and is an almost complete rewrite of Bempp.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2020 hgpu.org

All rights belong to the respective authors

Contact us: