IES (Integral Equation Solver) is a set of Matlab functions to solve Laplace equations with mixed Neumann and Dirichlet boundary conditions in both interior and exterior domains of $\mathbb R^2$.


B. Pinçon and A. Munnier (Institut Elie Cartan, Université Henri Poincaré, Nancy, France).

Getting started

Download the files at

Launch Matlab and enter le line command:

>> IES_demo

Problems description and well-posedness

Interior problems

Let $\Omega$ be an open, bounded and connected set of $\mathbb R^2$ of classe $C^2$ (possibly multiply-connected) and denote by $\Sigma_i$ ($i=1,\ldots,k$) the connected components of its boundary $\Sigma$ (see the figure below) and by $n$ the unit normal to $\Sigma$ directed toward the exterior of $\Omega$.

With IES you can solve Laplace equations set in $\Omega$ having the general form: $$\begin{alignat}{3} -\Delta u&=0&\quad&\text{in }\Omega\\ u&=a_i&&\text{on }\Sigma_{i},\quad i\in I_D,\\ \frac{\partial u}{\partial n}&=b_i&&\text{on }\Sigma_{i},\quad i\in I_N, \end{alignat}$$ where $I_D\cup I_N$ is a partition of $\{1,\ldots,k\}$ and $a_i, b_i$ are smooth functions defined on $\Sigma_i$.

If $I_D\neq \emptyset$, the interior problem is always well-posed (it admits a unique solution).

In case $I_D = \emptyset$, the boundary value problem above turns out to be a purely Neumann boundary value problem. In this case, the functions $b_i$ have to satisfy the so-called compatibility condition: $$\sum_{i=1}^n\int_{\Sigma_i} b_i\,{\rm d}\sigma=0,$$ for the system to admit solutions. In addition, the solutions are only defined up to an additive constant.

Exterior problems

An exterior problem has the same general form. The domain $\Omega$ can be multiply-connected as well, as in the picture below.

However, the system has to be supplemented with an asymptotic condition to ensure uniqueness. We choose: $$|u(x)/\log(\|x\|)| = O(1)\quad\text{ as }\quad\|x\|\to+\infty.$$

The problem is then always well-posed. Moreover, the solution has the following asymptotic behavior as $\|x\|\to+\infty$ (uniformly in $x$): $$u(x)=-\frac{1}{2\pi}\left(\int_{\Sigma} \frac{\partial u}{\partial n}\,{\rm d}\sigma\right)\log(\|x\|)+O(1/\|x\|).$$ In particular, the solution tends to 0 at infinity if and only if the compatibility solution is satisfied.

Solving the Laplace equations

Simple layer potential

For both the interior and the exterior problem, we seek the solution in the form $$ u(x)=\frac{1}{2\pi}\int_{\Sigma}\ln\|x-y\|\,p(y)\,{\rm d}\sigma(y),\quad x\in\Omega.$$ In this representation, the function $p$ defined on the boundary $\Sigma$ is called a simple layer potential.

When $x\in \Sigma$, it can be shown that: $$\begin{align*} u(x)&=\frac{1}{2\pi}\int_{\Sigma}\ln\|x-y\|\,p(y)\,{\rm d}\sigma(y)\\ \frac{\partial u}{\partial n}(x)&=-\frac{1}{2}p(x)+\frac{1}{2\pi}\int_{\Sigma}\frac{(x-y)}{\|x-y\|^2}\cdot n(x)p(y)\,{\rm d}\sigma(y). \end{align*}$$ Since these values are given, we have turned the initial boundary value problem (with unknown $u$) into an integral equations problem (with unknown $p$).

For an exterior problem, we have: $$\int_{\Sigma} \frac{\partial u}{\partial n}\,{\rm d}\sigma=-\int_{\Sigma} p\,{\rm d}\sigma,$$ and hence the asymptotic behavior of the solution is as follows: $$u(x)=\frac{1}{2\pi}\left(\int_{\Sigma} p\,{\rm d}\sigma\right)\log(\|x\|)+O(1/\|x\|).$$

Limitation of the method

The logarithmic capacity of the boundary $\Sigma$ is a real number which is usually quite hard to evaluate. In case :

  1. this capacity is equal to 1 (it is the case for instance for a circle of radius 1);

  2. The boundary conditions are purely of Dirichlet type ($I_N=\emptyset$);

  3. All of the Dirichlet data are equal to the same constant $a\in\mathbb R$;

the method will fail. It is not a big deal because in this case, the solution is everywhere equal to $a$.

An example of solution

This example is treated in the script IES_demo.

The Laplace equation is an interior problem set in the following domain:

The boundary data are of Dirichlet type on the star-shaped boundary ($u(x)=4$) and on the exterior boundary ($u(x)=n_1(x)$, the first component of the unit normal vector). They are of Neumann type on the ellipse-shaped boundary ($\partial u/\partial n(x) = -4$).

With 573 discretization points, the problem is solved in 0.16467 seconds (MacBook Pro 2.8 GHz Intel Core i7). The solution is as on the following picture:


Valid XHTML 1.0 Strict | Valid CSS | OpenSource | Made with a Mac