Welcome to NG-BEM#
NG-BEM implements boundary integral operators on top of NGSolve.
Currently it supports single-layer and double-layer operators and hypersingular operators for the
Laplace equation
Helmholtz equation
Maxwell equation
NG-BEM supports high order function spaces on curved surface meshes. It uses numerical integration following [Sauter-Schwab: Boundary Element Methods, 2009], and matrix compression based on the ACA algorithm [Bebendorf: Hierarchical Matrices: A Means to Efficiently Solve Elliptic Boundary Value Problems, 2008]
Installation:
Install a recent NGSolve (later than Feb. 10, 2024)
Install ngbem from github:
git clone https://github.com/Weggler/ngbem.git cd ngbem mkdir build cd build cmake .. make -j4 install
Try notebooks from the demos folder. You can read (only read) them directly on github: Weggler/ngbem
- Laplace solver using indirect formulation (Dirichlet)
- Laplace solver using direct formulation (Dirichlet)
- Laplace solver using indirect formulation (Neumann)
- Laplace solver using direct formulation (Neumann)
- Laplace mixed boundary values
- FEM-BEM Coupling
- Boundary Integral Equations for Maxwell
- Maxwell solver for PEC bodies (EFIE)
- Maxwell solver for Pec using direct formulation
- Maxwell solver with mixed BC
- Convergence Rates for HO BEM