Bempp

Boundary element method Python package

Tutorials & example applications

A number of Jupyter notebook of example applications are included in the Bempp-cl GitHub repository. They can also be viewed online by following the links below.

Laplace

Solving a Laplace problem with Dirichlet boundary conditions

This tutorial demonstrates how Bempp can be used to solve a simple Laplace problem, including plotting a 2D slice of the solution, and will be well suited to new Bempp users.

Solving a mixed Neumann-Dirichlet problem

This tutorial demonstrates how problem can be solved using finite element space defined on subsets of the boundary. It includes a demonstration of how functions can be exported in Gmsh and VTK format.

Computing the capacity of a cube with a re-entrant corner

This tutorial demonstrates a practical application of Bempp to calculate the capacity of an isolated conductor.

Weakly imposing a Dirichlet boundary condition

This tutorial demonstrated how Bempp can be used to weakly impose boundary conditions, as proposed in Boundary Element Methods with Weakly Imposed Boundary Conditions (2019).

Helmholtz

Scattering from a sphere using a combined direct formulation

This tutorial demonstrates an application of Bempp to Helmholtz wave scattering, including the use of Helmholtz operators and plotting of a 2D slice of the solution.

BEM-BEM Coupling using a simple multitrace formulation

This tutorial demonstrates a use of Bempp to solve a domain decomposition problem, including the use of blocked operators.

Simple FEM-BEM coupling with FEniCSx for the Helmholtz equation

This tutorial demonstrates how Bempp can be used in combination with FEniCSx (the latest version of FEniCS) to solve a FEM-BEM coupled problem.

Simple FEM-BEM coupling with FEniCS for the Helmholtz equation

This tutorial demonstrates how Bempp can be used in combination with FEniCS (an older version of FEniCS) to solve a FEM-BEM coupled problem.

The OSRC preconditioner for high-frequency scattering

This tutorial demonstrates how an OSRC (on-surface radiation condition) preconditioner can be used for Helmholtz problems.

Maxwell

Electromagnetic scattering from flat screens

This tutorial demonstrates an application of Bempp to Maxwell wave scattering from a screen, including the use of Maxwell operators and plotting of a 2D slice of the solution.

Bistatic RCS generated by dielectric spheres

This tutorial demonstrates and example application of Bempp to find a radar cross section generated by a plane wave scattering from two spheres.

Other

Running performance benchmarks with OpenCL on CPUs and GPUs

This tutorial demonstrates the use of Bempp on CPU and GPU devices, and demonstrates some performance results.