# 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