Note

This website uses cookies for certain functionalities and to collect usage data. Please see the Privacy page for more information.

Welcome to BEM++

BEM++ is an open-source Galerkin boundary element library that handles Laplace, Helmholtz and Maxwell problems on bounded and unbounded domains.

New Release

The new Release 3.1 is finished and contains significant improvements, including:

  • MPI Support for H-Matrix assembly
  • Speed improvements for operator assembly
  • Redesigned Maxwell operator support, including efficient EFIE preconditioning
  • Cleaned up dependencies
  • PPA Archives for Ubuntu 16.04 and 16.10
  • Lots of bug fixes

The new Maxwell implementation is not compatible with the one in version 3.0. Moreover, new default options lead to a slightly different performance profile of the library in various situations. A paper explaining the new Maxwell capabilities is in preparation and will be released together with an updated homepage and documentation. In the meantime for anyone who is interested please follow these instructions to obtain and install the new release.

Current Version

Version: 3.0.3

Getting Help

Quick Start

  • Download the BEM++ VirtualBox image
  • In VirtualBox configure a shared folder named export.
  • Adapt the settings for number of processors and memory to your hardware.
  • Start the image.
  • Open an IPython notebook session on http://localhost:8888 to load or write new IPython notebooks for BEM++.

For more detailed information, binary installers for Linux, Homebrew installers for Mac or source code compilation of BEM++ see the Installation page.

Citing BEM++

If you use BEM++ in your research please include the following citation in your publications:

  • W. Śmigaj, S. Arridge, T. Betcke, J. Phillips, M. Schweiger, “Solving Boundary Integral Problems with BEM++”, ACM Trans. Math. Software 41, pp. 6:1–6:40 (2015)

Licensing

The library source code is covered by the MIT license. The full licensing text is:

Copyright (C) 2015 by the BEM++ Authors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Please note that depending on the chosen linking options with 3rd party librarys the compiled BEM++ library may have a more restrictive license.

Development

BEM++ is developed at University College London and Pontificia Universidad Católica de Chile. The current development team includes Simon Arridge, Timo Betcke, Matthew Scroggs and Elwin Van ‘t Wout. Much of the original work on BEM++ was done by Wojciech Śmigaj, now at Simpleware Ltd. We are very grateful for the substantial contributions of the UCL Research Software Development Team to the code itself, installers and testing environment. BEM++ is supported by EPSRC Grants EP/I030042/1 and EP/K03829X/1.

We would also like to acknowledge support from the Dune Project for the integration of Dune into BEM++ and the HyENA Team at the Technical University Graz who provided definitions of the core integration rules to the project.