Boundary Element Method for a Fixed Body in Finite Depth
Introduction
We show how to solve for the wave scattering by a rigid body in constant Finite Depth using the Boundary Element Method.
Equations
The Standard Linear Wave Scattering Problem in Finite Depth for a fixed body is
(note that the last expression can be obtained from combining the expressions:
where [math]\displaystyle{ \alpha = \omega^2/g \, }[/math]) The body boundary condition for a rigid body is just
The equation is subject to some radiation conditions at infinity. We assume the following. [math]\displaystyle{ \phi^{\mathrm{I}}\, }[/math] is a plane wave travelling in the [math]\displaystyle{ x }[/math] direction,
where [math]\displaystyle{ A }[/math] is the wave amplitude (in potential) [math]\displaystyle{ \mathrm{i} k }[/math] is the positive imaginary solution of the Dispersion Relation for a Free Surface (note we are assuming that the time dependence is of the form [math]\displaystyle{ \exp(-\mathrm{i}\omega t) }[/math]) and
In two-dimensions the Sommerfeld Radiation Condition is
where [math]\displaystyle{ \phi^{\mathrm{{I}}} }[/math] is the incident potential.
Solution Method
We divide the domain into three regions, [math]\displaystyle{ x\lt -l }[/math], [math]\displaystyle{ x\gt r }[/math], and [math]\displaystyle{ -l\lt x\lt r }[/math] so that the body surface is entirely in the finite region.
Solution in the finite region
We use the Boundary Element Method in the finite region.
Solution in the Semi-infinite Domains
We now solve Laplace's equation in the semi-infinite domains. First consider the domain on the left so that [math]\displaystyle{ \Omega = \left\{ x\lt -l,\;-h\leq z\leq 0\right\} }[/math] The equations are
(note that the last expression can be obtained from combining the expressions:
where [math]\displaystyle{ \alpha = \omega^2/g \, }[/math]) We have the following explicit boundary conditions
and
where [math]\displaystyle{ f\left( z\right) }[/math] is an arbitrary continuous function[math]\displaystyle{ . }[/math] Our aim is to find the outward normal derivative of the potential on [math]\displaystyle{ x=-l }[/math] as a function of [math]\displaystyle{ \tilde{\phi}\left( z\right) }[/math]. [math]\displaystyle{ \phi_0 }[/math] and [math]\displaystyle{ k_0 }[/math] will be defined shortly when we separate variables, but are equivalent to the Sommerfeld Radiation Condition.
Since the water depth is constant in these regions we can solve Laplace's equation by separation of variables.
Separation of variables for a free surface
We use separation of variables
We express the potential as
[math]\displaystyle{ \phi(x,z) = X(x)Z(z)\, }[/math]
and then Laplace's equation becomes
[math]\displaystyle{ \frac{X^{\prime\prime}}{X} = - \frac{Z^{\prime\prime}}{Z} = k^2 }[/math]
The separation of variables equation for deriving free surface eigenfunctions is as follows:
[math]\displaystyle{ Z^{\prime\prime} + k^2 Z =0. }[/math]
subject to the boundary conditions
[math]\displaystyle{ Z^{\prime}(-h) = 0 }[/math]
and
[math]\displaystyle{ Z^{\prime}(0) = \alpha Z(0) }[/math]
We can then use the boundary condition at [math]\displaystyle{ z=-h \, }[/math] to write
[math]\displaystyle{ Z = \frac{\cos k(z+h)}{\cos kh} }[/math]
where we have chosen the value of the coefficent so we have unit value at [math]\displaystyle{ z=0 }[/math]. The boundary condition at the free surface ([math]\displaystyle{ z=0 \, }[/math]) gives rise to:
which is the Dispersion Relation for a Free Surface
The above equation is a transcendental equation. If we solve for all roots in the complex plane we find that the first root is a pair of imaginary roots. We denote the imaginary solutions of this equation by [math]\displaystyle{ k_{0}=\pm ik \, }[/math] and the positive real solutions by [math]\displaystyle{ k_{m} \, }[/math], [math]\displaystyle{ m\geq1 }[/math]. The [math]\displaystyle{ k \, }[/math] of the imaginary solution is the wavenumber. We put the imaginary roots back into the equation above and use the hyperbolic relations
[math]\displaystyle{ \cos ix = \cosh x, \quad \sin ix = i\sinh x, }[/math]
to arrive at the dispersion relation
[math]\displaystyle{ \alpha = k\tanh kh. }[/math]
We note that for a specified frequency [math]\displaystyle{ \omega \, }[/math] the equation determines the wavenumber [math]\displaystyle{ k \, }[/math].
Finally we define the function [math]\displaystyle{ Z(z) \, }[/math] as
[math]\displaystyle{ \chi_{m}\left( z\right) =\frac{\cos k_{m}(z+h)}{\cos k_{m}h},\quad m\geq0 }[/math]
as the vertical eigenfunction of the potential in the open water region. From Sturm-Liouville theory the vertical eigenfunctions are orthogonal. They can be normalised to be orthonormal, but this has no advantages for a numerical implementation. It can be shown that
[math]\displaystyle{ \int\nolimits_{-h}^{0}\chi_{m}(z)\chi_{n}(z) \mathrm{d} z=A_{n}\delta_{mn} }[/math]
where
[math]\displaystyle{ A_{n}=\frac{1}{2}\left( \frac{\cos k_{n}h\sin k_{n}h+k_{n}h}{k_{n}\cos ^{2}k_{n}h}\right). }[/math]
Expansion of the potential
This gives us the following expression for the potential in the region [math]\displaystyle{ \Omega }[/math]
where [math]\displaystyle{ a_m }[/math] can be found from [math]\displaystyle{ \left. \phi \right| _{x=-l} = f(z) }[/math] from the orthogonality of the vertical eigenfunctions. Therefore
The normal derivative of potential (with the normal outward from the interior region) we obtain
If we define [math]\displaystyle{ \mathbf{Q} }[/math] as
we can write
Similarly, we now consider the potential in the region [math]\displaystyle{ \Omega = \left\{ x\gt r,\;-h\leq z\leq 0\right\} }[/math] which satisfies exactly the equations as before except the boundary condition is
We solve again by separation of variables and obtain
where the outward normal is with respect to the inner domain as before. Note that, if the depth is different on each side then the matrix [math]\displaystyle{ \mathbf{Q} }[/math] will be different (since we need to use a different depth solving the Dispersion Relation for a Free Surface etc.)
Boundary Element Method
We have reduced the problem to Laplace's equation in a finite domain subject to certain boundary conditions. These boundary conditions give the outward normal derivative of the potential as a function of the potential but this is not always a point-wise condition; on some boundaries it is given by an integral equation. We must solve both Laplace's equation and the integral equations numerically. We will solve Laplace's equation by the Boundary Element Method and the integral equations by numerical integration. However, the same discretisation of the boundary will be used for both numerical solutions. We solve Laplace's equation by a modified constant panel method which reduces it to the following matrix equation
where [math]\displaystyle{ \vec{\phi}\mathcal{\ } }[/math]and [math]\displaystyle{ \partial_n\vec{\phi} }[/math] are vectors which approximate the potential and its normal derivative around the boundary [math]\displaystyle{ \partial \Omega }[/math], and [math]\displaystyle{ \mathbf{G} }[/math] and [math]\displaystyle{ \mathbf{G}_{n} }[/math] are matrices corresponding to the Green function and the outward normal derivative of the Green function respectively. The method used to calculate the elements of the matrices [math]\displaystyle{ \mathbf{G} }[/math] and [math]\displaystyle{ \partial_n\mathbf{G} }[/math] can be found in Boundary Element Method.
The outward normal derivative of the potential, [math]\displaystyle{ \partial_n\vec{\phi}, }[/math] and the potential, [math]\displaystyle{ \vec{\phi}, }[/math] are related by the conditions on the boundary [math]\displaystyle{ \partial \Omega }[/math]. This can be expressed as
where [math]\displaystyle{ \mathbf{A} }[/math] is the block diagonal matrix given by
where we have separated the boundaries to the semi-infinite domains, the free surface and the sea floor and body boundary. [math]\displaystyle{ \mathbf{Q} }[/math] is a matrix approximation of the integral operator of the same name and [math]\displaystyle{ \vec{f} }[/math] is the vector
We obtain the following matrix equation for the potential
which can be solved straightforwardly. The reflection and transmission coefficients are calculated from the solution.
Numerical Calculation of [math]\displaystyle{ \mathbf{Q} }[/math]
We begin by truncating to a finite number ([math]\displaystyle{ N }[/math]) of evanescent modes,
We calculate the integral with the same panels as we used to approximate the integrals of the Green function and its normal derivative . Similarly, we assume that [math]\displaystyle{ f(s) \, }[/math] is constant over each panel and integrate [math]\displaystyle{ \phi _{m}\left( s\right) }[/math] exactly. This gives us the following matrix factorisation of [math]\displaystyle{ \mathbf{Q} }[/math]
The components of the matrices [math]\displaystyle{ \mathbf{S} }[/math] and [math]\displaystyle{ \mathbf{R} }[/math] are
Reflection and Transmission Coefficients
Recall that our Sommerfeld radiation condition can be expressed in the form
and that the potential in the region [math]\displaystyle{ \Omega }[/math] is of the form
Note that for this series, if [math]\displaystyle{ m=0 }[/math], then [math]\displaystyle{ k_m }[/math] is imaginary, giving rise to a propagating wave. For [math]\displaystyle{ m \geq 1 }[/math], there is only a local contribution to this propagating wave -- in the extremes, there is no contribution (evanescent modes).
So when looking at the Reflected and Transmitted waves, we only consider [math]\displaystyle{ m=0 }[/math], that is,
Consequently, it is straightforward to see that [math]\displaystyle{ R = a_0 e^{k_0 l} }[/math]. Recall from earlier that
therefore,
However, we make use of the fact that [math]\displaystyle{ \mathbf{Q}[f]=\mathbf{S}\,\mathbf{R}\,[f] }[/math], where the components of the matrix [math]\displaystyle{ \mathbf{R} }[/math] is
which admits the representation
Consequently,
So in summary, if we multiply the potential at the left (after subtracting the incident wave) and the right by
[math]\displaystyle{ \mathbf{R} }[/math] we can calculate the coefficients in the eigenfunction expansion, and
hence determine the reflection and transmission coefficient.
where [math]\displaystyle{ z_{j} }[/math] is the value of the [math]\displaystyle{ z }[/math] coordinate in the centre of the panel
and [math]\displaystyle{ \Delta x }[/math] is the panel length.
Reflection and Transmission Coefficients
Recall that our Sommerfeld radiation condition can be expressed in the form
and that the potential in the region [math]\displaystyle{ \Omega }[/math] is of the form
Note that for this series, if [math]\displaystyle{ m=0 }[/math], then [math]\displaystyle{ k_m }[/math] is imaginary, giving rise to a propagating wave. For [math]\displaystyle{ m \geq 1 }[/math], there is only a local contribution to this propagating wave -- in the extremes, there is no contribution (evanescent modes).
So when looking at the Reflected and Transmitted waves, we only consider [math]\displaystyle{ m=0 }[/math], that is,
Consequently, it is straightforward to see that [math]\displaystyle{ R = a_0 e^{k_0 l} }[/math]. Recall from earlier that
therefore,
However, we make use of the fact that [math]\displaystyle{ \mathbf{Q}[f]=\mathbf{S}\,\mathbf{R}\,[f] }[/math], where the components of the matrix [math]\displaystyle{ \mathbf{R} }[/math] is
which admits the representation
Consequently,
So in summary, if we multiply the potential at the left (after subtracting the incident wave) and the right by
[math]\displaystyle{ \mathbf{R} }[/math] we can calculate the coefficients in the eigenfunction expansion, and
hence determine the reflection and transmission coefficient.
where [math]\displaystyle{ z_{j} }[/math] is the value of the [math]\displaystyle{ z }[/math] coordinate in the centre of the panel
and [math]\displaystyle{ \Delta x }[/math] is the panel length.
Singularity Expansion Method
The matrix equation for the potential
can be rewritten as
where [math]\displaystyle{ \mathbf{x} }[/math] represents the unknown potential values in the new notation. Resonant frequencies (or scattering frequencies) correspond to zero eigenvalues of the matrix [math]\displaystyle{ \mathbf{M}(k) }[/math] for a set of discrete points [math]\displaystyle{ k=k_p }[/math] in the upper half of the complex plane (due to the time dependence). Since
then [math]\displaystyle{ \mathbf{x} }[/math] will be singular for these scattering frequencies. Each scattering frequency, corresponding to a zero eigenvalue of [math]\displaystyle{ \mathbf{M}(k) }[/math] will possess a corresponding eigenvector [math]\displaystyle{ \mathbf{u}_{k_p} }[/math] satisfying
and also a related conjugate transpose eigenvector [math]\displaystyle{ \mathbf{u}^{*}_{k_p} }[/math] satisfying
In the vicinity of a scattering frequency it can be shown that the vector of unknowns satisfies
and we define a corresponding mode shape as
where [math]\displaystyle{ U(x) }[/math] is obtained
Matlab Code
- A program to solve for a fixed body fixed_body_twod.m
- a program to plot the panels can be found here domainplot.m
- a program to generate the panels for two circles can be found here semicircles_two.m
- a program to calculate the solution for a specific geometry (with two plots as output as shown) can be found here wave_bem_example.m
Additional code
This program requires
- dispersion_free_surface.m
- A program to calculate the matrices [math]\displaystyle{ G }[/math] and [math]\displaystyle{ G_{n} }[/math] bem_constant_panel.m