Category:Boundary Element Method

From WikiWaves
Jump to navigationJump to search


The boundary element method is a method for solving Laplace's equation (and other related elliptic equation). It is a very general and powerful method well suited to the linear wave scattering problem and forms the basis for many commercial wave scattering codes. The are two boundary element method for linear water waves, standard boundary element method, in which the fundamental solution to Laplace's Equation is used, which we decribe here and the Green Function Solution Method, in which the the Free-Surface Green Function is used so that the problem reduces to solving only on the wetted body surface.

The theory for solving a wave scattering problem is described in Boundary Element Method for a Rigid Body in Finite Depth

Two-Dimensional Equations

We apply Green's second identity to a finite region [math]\Omega[/math]. This gives us

[math] \int_\Omega \left( G \nabla^2 \phi - \phi \nabla^2 G\right)\, \mathrm{d}V = \oint_{\partial \Omega} \left( G {\partial \phi \over \partial n} - \phi {\partial G \over \partial n}\right)\, \mathrm{d}S [/math]

We then substitute

[math] G\left( \mathbf{x},\mathbf{x}^{\prime }\right) =\frac{1}{2\pi }\ln \,\left| \mathbf{x}-\mathbf{x}^{\prime }\right| , [/math]

which is the free space Green function which satisfies

[math] \nabla^{2}G=\delta(\mathbf{x}-\mathbf{x}^{\prime }), [/math]

where [math]\delta[/math] is the Dirac delta function. This leads to

[math] \oint_{\partial \Omega }\left( G_{n}\left( \mathbf{x},\mathbf{x}^{\prime }\right) \phi \left( \mathbf{x} ^{\prime }\right) -G\left( \mathbf{x},\mathbf{x}^{\prime }\right) \phi _{n}\left( \mathbf{x}^{\prime }\right) \right) \mathrm{d}\mathbf{x}^{\prime } = \left( \begin{matrix} 0, \,\,\,x\notin \Omega \cup \partial \Omega, \\ \phi(\mathbf{x})/2,\,\,\,\mathbf{x} \in \partial \Omega, \\ \phi(\mathbf{x}),\,\,\,\mathbf{x} \in \Omega, \end{matrix} \right. [/math]

where [math]G_{n}\left( \mathbf{x},\mathbf{x}^{\prime }\right) [/math] is the outward normal derivative of [math]G[/math] (with respect to the [math]\mathbf{x}^{\prime }[/math] coordinate). This gives us the following equation relating the potential and its outward normal derivative on the boundary [math]\partial \Omega [/math]

[math] \left. \frac{1}{2}\phi \left( \mathbf{x}\right) \right|_{\mathbf{x}\in\partial \Omega} =\oint_{\partial \Omega }\left( G_{n}\left( \mathbf{x},\mathbf{x}^{\prime }\right) \phi \left( \mathbf{x} ^{\prime }\right) -G\left( \mathbf{x},\mathbf{x}^{\prime }\right) \phi _{n}\left( \mathbf{x}^{\prime }\right) \right) \mathrm{d}\mathbf{x}^{\prime },\;\; \mathbf{x}\in \partial \Omega . [/math]

We solve this equation by a modified constant panel method which reduces it to the following matrix equation

[math] \frac{1}{2}\vec{\phi}=\mathbf{G}_{n}\vec{\phi}-\mathbf{G}\vec{\phi}_{n}. [/math]

In this equation [math]\vec{\phi}\mathcal{\ }[/math]and [math]\vec{\phi} _{n}[/math] are vectors which approximate the potential and its normal derivative around the boundary [math]\partial \Omega [/math], and [math]\mathbf{G}[/math] and [math]\mathbf{G}_{n}[/math] are matrices corresponding to the Green function and the outward normal derivative of the Green function respectively. The outward normal derivative of the potential, [math]\vec{\phi}_{n},[/math] and the potential, [math]\vec{\phi},[/math] are related by the conditions on the boundary [math] \partial \Omega [/math].

Numerical Calculation of [math]\mathbf{G}[/math] and [math]\mathbf{G}_{n}[/math]

We solve the boundary element equation numerically by a modified constant panel method. In this method, the boundary is divided into panels over which the potential, [math]\phi ,[/math] or its outward normal derivative, [math]\phi _{n},[/math] are assumed to be constant. The free-space Green's function, [math]G,[/math] and its normal derivative, [math]G_{n}[/math] are more rapidly varying and have a singularity at [math]\mathbf{x}=\mathbf{x}^{\prime }[/math]. For this reason, over each panel, while [math]\phi [/math] and [math]\phi _{n}[/math] are assumed constant, [math]G[/math] and [math]G_{n}[/math] are integrated exactly. For example, we use the following approximation to calculate the integral of [math]G[/math] and [math]\phi [/math] over a single panel

[math] \int_{\mathbf{x}_{i}-h/2}^{\mathbf{x}_{i}+h/2}G\left( \mathbf{x},\mathbf{x} ^{\prime }\right) \phi \left( \mathbf{x}^{\prime }\right) \mathrm{d}\mathbf{x} ^{\prime }\approx \phi \left( \mathbf{x}_{i}\right) \int_{\mathbf{x} _{i}-h/2}^{\mathbf{x}_{i}+h/2}G\left( \mathbf{x},\mathbf{x}^{\prime }\right) \mathrm{d}\mathbf{x}^{\prime }, [/math]

where [math]\mathbf{x}_{i}[/math] is the midpoint of the panel and [math]h[/math] is the panel length. The integral on the right hand side, because of the simple structure of [math]G[/math], can be calculated exactly.

It is well known that, for higher accuracy, a higher order boundary element method works better.

Matlab Code

A program to calculate the matrices [math]G[/math] and [math]G_{n}[/math] bem_constant_panel.m

Pages in category "Boundary Element Method"

The following 2 pages are in this category, out of 2 total.