Skip to main content

The Bempp boundary element library

Project description

Bempp-cl

Documentation Status DOI

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).

Installation

Bempp-cl can be installed from this repository by running:

python setup.py install

Full installation instuctions, including installation of dependencies, can be found at bempp.com/installation.html.

Documentation

Full documentation of Bempp can be found at bempp.com/documentation and in the Bempp Handbook. Automatically generated documentation of the Python API can be found on Read the Docs.

Testing

The functionality of the library can be tested by running:

python -m pytest test/unit

Larger validation tests that compare the output with the previous version of Bempp can be run with:

python -m pytest test/validation

Getting help

Errors in the library should be added to the GitHub issue tracker.

Questions about the library and its use can be asked on the Bempp Discourse.

Licence

Bempp-cl is licensed under an MIT licence. Full text of the licence can be found here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bempp_cl-0.3.2.tar.gz (33.9 MB view details)

Uploaded Source

Built Distribution

bempp_cl-0.3.2-py3-none-any.whl (33.9 MB view details)

Uploaded Python 3

File details

Details for the file bempp_cl-0.3.2.tar.gz.

File metadata

  • Download URL: bempp_cl-0.3.2.tar.gz
  • Upload date:
  • Size: 33.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for bempp_cl-0.3.2.tar.gz
Algorithm Hash digest
SHA256 329e457dd82cd49d9b206df5fdd5ea32f7b109379ac40e416cfb86795164cc08
MD5 8bc2bca4c1b80e0ac8bd43ceb4ad60da
BLAKE2b-256 f7cf16c599d6242573000cdd43b6aff7801a87dc05d8137f37dfa6dcfe26af8a

See more details on using hashes here.

File details

Details for the file bempp_cl-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: bempp_cl-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 33.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for bempp_cl-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e8ca8d5d5e991fbd1986b4b50d1c96891cab0901c51f024fb2850faafa706108
MD5 999e55f882a0f8f921be26b62e2f805f
BLAKE2b-256 4fc45cfa7e7a1bc54d0a6dc340790f38e193af1e3f33a873f8203607a32b2d74

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page