Bembel
Laplace Single Layer Operator Full

This examples solves the Laplace problem with dense matrices. More...

Functions

int main ()
 

Detailed Description

This examples solves the Laplace problem with dense matrices.

Let \(\Omega\in\mathbb{R}^3\) be a bounded domain with Lipschitz boundary \(\Gamma = \partial\Omega\). We solve the Laplace problem

\begin{eqnarray*} -\Delta u &=& 0,\quad \textrm{in}\,\Omega, \\ u &=& g,\quad\textrm{on}\,\Gamma. \end{eqnarray*}

The solution \(u\) can be computed by a single layer potential ansatz

\begin{eqnarray*} u(\mathbf{x}) &=& \tilde{\mathcal{V}}(\rho) = \int_\Gamma \frac{\rho(\mathbf{y})}{4\pi\|\mathbf{x} - \mathbf{y}\|}\,\mathrm{d}\sigma(\mathbf{y}),\quad\mathbf{x}\in\Omega. \end{eqnarray*}

Applying the Dirichlet trace operator yields the integral equation

\begin{eqnarray*} \mathcal{V}(\rho) = \gamma_0\tilde{\mathcal{V}}(\rho) &=& g \end{eqnarray*}

on \(\Gamma\).

Let \(\langle\cdot,\cdot\rangle\) denote the \(L^2\)-scalar product. Discretizing \(\rho^h = \in\mathbb{S}^0_{p,m}(\Gamma)\) with discontinuous tensorized B-splines with polynomial degree \(p\) and refine \(m\) times uniformly yields the variational formulation: Find \(\rho^h = \in\mathbb{S}^0_{p,m}(\Gamma)\) such that

\begin{eqnarray*} \langle\mathcal{V}(\rho^h), \varphi\rangle &=& \langle g, \varphi\rangle, \quad\forall \varphi\in\mathbb{S}^0_{p,m}(\Gamma). \end{eqnarray*}

This system is solved by the Eigen framework. The computed density \(\rho^h\) is then inserted in the single layer potential ansatz to compute the numerical solution of the Laplace problem.

See [3] for details.

Function Documentation

◆ main()

int main ( )

The procedure is as follows:

Load geometry from file "sphere.dat"

Define evaluation points \(\mathbf{x}_i\) for potential field

Define analytical solution \(g\) using a lambda function

Build ansatz space \(\mathbb{S}^0_{p,m}(\Gamma)\) with discontinuous tensorized B-splines.

Set up linear form \(\langle g, \varphi\rangle\)

Assemble system matrix \(\langle\mathcal{V}(\rho^h), \varphi\rangle\)

Solve system with Eigen

Evaluate single layer potential \(u(\mathbf{x}_i) = \tilde{\mathcal{V}}(\rho^h)\)

Compute error to analytical solution

Definition at line 75 of file LaplaceSingleLayerFull.cpp.