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 -m pip 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.4.2.tar.gz (33.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for bempp_cl-0.4.2.tar.gz
Algorithm Hash digest
SHA256 40527c4266980e78ec26ab3ab871fd5b4d6e69c16a4feccba285bf61c6fe81c3
MD5 ebe5d5bc9cf16bee25b8f08931a309de
BLAKE2b-256 8cd8481a744f7e7684b71f80ccb7de7de238465b0132bd4f59049b650b487a28

See more details on using hashes here.

Provenance

The following attestation bundles were made for bempp_cl-0.4.2.tar.gz:

Publisher: release.yml on bempp/bempp-cl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: bempp_cl-0.4.2-py3-none-any.whl
  • Upload date:
  • Size: 33.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for bempp_cl-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4f1f862f6c735ce250dc48d977a4225e22bed26e418b7626de95d540c4f03c4b
MD5 f3c78e8c73b413da1193ee684855079b
BLAKE2b-256 2382d6e4cbd25ecbaba8a5ab2e2f657ca88e388b396c4b3c04a01a0bb5d16b4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for bempp_cl-0.4.2-py3-none-any.whl:

Publisher: release.yml on bempp/bempp-cl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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