Bempp-cl swMATH ID: 37712 Software Authors: Timo Betcke; Matthew W. Scroggs Description: 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. It is an almost complete rewrite of Bempp: the C++ core has been replaced by highly SIMD optimised just-in-time compiled OpenCL kernels, or alternatively, by just-in-time compiled Numba routines, which are automatically used on systems that do not provide OpenCL drivers. User visible functionality is strictly separated from the implementation of computational routines, making it easy to add other discretisation technologies in the future (e.g. future support for SYCL-based heterogeneous compute devices). Homepage: http://bempp.com Source Code: https://github.com/bempp/bempp-cl Dependencies: Python Keywords: Bempp-cl; Python; boundary element; Journal of Open Source Software; BEM; boundary element method; PDEs Related Software: Python; FEniCS; BEM++; exafmm; Numba; SciPy; FEniCSx; DefElement; xtensor; deal.ii; FInAT; DUNE; Symfem; FIAT; MFEM; FFC; UFL; DOLFIN; NGSolve; Basix Cited in: 2 Publications Standard Articles 1 Publication describing the Software Year Cited by 4 Authors 1 Betcke, Timo 1 Burman, Erik 1 Scroggs, Matthew W. 1 van ’t Wout, Elwin Cited in 2 Serials 1 Journal of Computational Physics 1 SIAM Journal on Scientific Computing Cited in 2 Fields 2 Partial differential equations (35-XX) 2 Numerical analysis (65-XX) Citations by Year