Integral Equation Solver (v1.0)
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).
Download the files at http://www.mathworks.com/matlabcentral/fileexchange/34241
Launch Matlab and enter le line command:
>> IES_demo
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.
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.
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\|).$$
The logarithmic capacity of the boundary $\Sigma$ is a real number which is usually quite hard to evaluate. In case :
this capacity is equal to 1 (it is the case for instance for a circle of radius 1);
The boundary conditions are purely of Dirichlet type ($I_N=\emptyset$);
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$.
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:
Kress, Rainer, Linear integral equations. Second edition. Applied Mathematical Sciences, 82. Springer-Verlag, New York, 1999. xiv+365 pp. ISBN: 0-387-98700-2.
Atkinson, Kendall E. The numerical solution of integral equations of the second kind. Cambridge Monographs on Applied and Computational Mathematics, 4. Cambridge University Press, Cambridge, 1997. xvi+552 pp. ISBN: 0-521-58391-8.
McLean, William, Strongly elliptic systems and boundary integral equations . Cambridge University Press, 2000. xiv+357 pp. ISBN 0-521-66332-6.