Difference between revisions of "Eigenfunction Matching for a Submerged Finite Dock"

From WikiWaves
Jump to navigationJump to search
(complete page)
 
(18 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{complete pages}}
 +
 +
 
= Introduction =
 
= Introduction =
  
Line 20: Line 23:
 
<center>
 
<center>
 
<math>
 
<math>
\phi_{z}=0, \,\, z=-h,
+
\partial_{z} \phi=0, \,\, z=-h,
 
</math>
 
</math>
 
</center>
 
</center>
Line 28: Line 31:
 
<center>
 
<center>
 
<math>
 
<math>
\partial_z\phi=0, \,\, z=-d,\,-L<x>L,
+
\partial_z\phi=0, \,\, z=-d,\,-L<x<L,
 
</math>
 
</math>
 
</center>
 
</center>
Line 39: Line 42:
 
=Solution Method=
 
=Solution Method=
  
We use [http://en.wikipedia.org/wiki/Separation_of_Variables separation of variables] in the three regions, <math>x<0</math>
+
We use [http://en.wikipedia.org/wiki/Separation_of_Variables separation of variables] in the four regions, {<math>x<-L \,</math>}, {<math>x>L \,</math>}, {<math>-d<z<0,\,\,-L<x<L</math>}, and {<math>-h<z<-d,\,\,-L<x<L</math>}. The first three regions use the free-surface eigenfunction
<math>-d<z<0,\,\,x>0</math>, and <math>-h<z<-d,\,\,x>0</math>. The first two regions use the free-surface eigenfunction
+
and the last uses dock eigenfunctions. Details can be found in [[Eigenfunction Matching for a Semi-Infinite Dock]].
and the third uses the dock eigenfunctions. Details can be found in [[Eigenfunction Matching for a Semi-Infinite Dock]].
 
  
 
The incident potential is a wave of amplitude <math>A</math>
 
The incident potential is a wave of amplitude <math>A</math>
Line 48: Line 50:
 
<center>
 
<center>
 
<math>
 
<math>
\phi^{\mathrm{I}}  =e^{-k_{0}(x+L)}\phi_{0}\left(
+
\phi^{\mathrm{I}}  =e^{-k_{0}^{h}(x+L)}\phi_{0}\left(
 
z\right)  
 
z\right)  
 
</math>
 
</math>
Line 58: Line 60:
 
<math>
 
<math>
 
\phi(x,z)=e^{-k_{0}^h (x+L)}\phi_{0}^h\left(
 
\phi(x,z)=e^{-k_{0}^h (x+L)}\phi_{0}^h\left(
z\right) + \sum_{m=0}^{\infty}a_{m}e^{k_{m}^h x}\phi_{m}^h(z), \;\;x<-L
+
z\right) + \sum_{m=0}^{\infty}a_{m}e^{k_{m}^h (x+L)}\phi_{m}^h(z), \;\;x<-L
 
</math>
 
</math>
 
</center>
 
</center>
Line 65: Line 67:
 
\phi(x,z)= \sum_{m=0}^{\infty}b_{m}
 
\phi(x,z)= \sum_{m=0}^{\infty}b_{m}
 
e^{-k_{m}^d (x+L)}\phi_{m}^d(z)
 
e^{-k_{m}^d (x+L)}\phi_{m}^d(z)
+ \sum_{m=0}^{\infty}c{m}
+
+ \sum_{m=0}^{\infty}c_{m}
 
e^{k_{m}^d (x-L)}\phi_{m}^d(z)
 
e^{k_{m}^d (x-L)}\phi_{m}^d(z)
 
, \;\;-d<z<0,\,\,-L<x<L
 
, \;\;-d<z<0,\,\,-L<x<L
Line 73: Line 75:
 
<center>
 
<center>
 
<math>
 
<math>
\phi(x,z)= \sum_{m=0}^{\infty}d_{m}
+
\phi(x,z)= d_0 \frac{L-x}{2 L} + \sum_{m=1}^{\infty}d_{m}
e^{\kappa_{m} (x+L)}\psi_{m}(z)
+
e^{-\kappa_{m} (x+L)}\psi_{m}(z)
+\sum_{m=0}^{\infty}e_{m}
+
+ e_0 \frac{x+L}{2 L} +
e^{-\kappa_{m} (x-L)}\psi_{m}(z)
+
\sum_{m=1}^{\infty}e_{m}
, \;\;-h<z<-d,\,\,-L<x>L
+
e^{\kappa_{m} (x-L)}\psi_{m}(z)
 +
, \;\;-h<z<-d,\,\,-L<x<L
 
</math>
 
</math>
 
</center>
 
</center>
 
<center>
 
<center>
 
<math>
 
<math>
\phi(x,z)= \sum_{m=0}^{\infty}f_{m}e^{-k_{m}^h (x-L)}\phi_{m}^h(z), \;\;x>L
+
\phi(x,z)= \sum_{m=0}^{\infty}f_{m}e^{-k_{m}^h (x-L)}\phi_{m}^h(z), \;\;L<x
 
</math>
 
</math>
 
</center>
 
</center>
  
 
The definition of all terms can be found in [[Eigenfunction Matching for Submerged Semi-Infinite Dock]],
 
The definition of all terms can be found in [[Eigenfunction Matching for Submerged Semi-Infinite Dock]],
as can the solution method.
+
as can the solution method and the method to extend the solution to waves incident at an angle.
 
 
=Numerical Solution=
 
 
 
The standard method to solve these equations (from [[Linton and Evans 1991]]) is to
 
mutiply  both equations by
 
<math>\phi_{q}^d(z)</math> and integrating from <math>-d</math> to <math>0</math> or
 
by multiplying both equations by
 
<math>\psi_{r}(z)</math> and integrating from <math>-h</math> to <math>-d</math>.
 
However, we use a different method, which is closer to the solution method
 
for [[Eigenfunction Matching for a Semi-Infinite Dock]] which allows us to keep
 
the computer code similar. These is no significant difference between the methods
 
numerically and a close connection exists.
 
 
 
We truncate the sum to <math>N+1</math> modes and introduce a new function
 
<center>
 
<math>
 
\chi_n =
 
\begin{cases}
 
\psi_{n}(z),\,\,\,-h<z<-d \\
 
0,\,\,\,-d<z< 0
 
\end{cases}
 
</math>
 
</center>
 
for <math>0 \leq n \leq M - 1 </math>
 
<center>
 
<math>
 
\chi_{n+M} =
 
\begin{cases}
 
0,\,\,\,-h<z<-d \\
 
\phi_{n}^{d}(z),\,\,\,-d<z< 0
 
\end{cases}
 
</math>
 
</center>
 
for <math>0 \leq n \leq N-M </math>
 
and we choose the values of <math>N</math> so that we have the <math>N+1</math> smallest values
 
of <math>k_n</math> and <math>\kappa_n</math> (with the proviso that we have at least one from each).
 
 
 
We truncate the equations and write
 
 
 
<center>
 
<math>
 
\phi_{0}^h\left(  z\right) + \sum_{m=0}^{N}
 
a_{m} \phi_{m}^h\left(  z\right)
 
=\sum_{m=0}^{N}b_{m} \chi_m,
 
</math>
 
</center>
 
<center>
 
<math>
 
-k_0^h\phi_{0}^h\left(  z\right) + \sum_{m=0}^{\infty}
 
k_m^h a_{m} \phi_{m}^h\left(  z\right)
 
=\sum_{m=0}^{N}k^{\prime}_m b_{m}\chi_{m}
 
</math>
 
</center>
 
where <math>k^{\prime}_m</math> is either <math>k^{d}_q</math> or  <math>\kappa_q</math>
 
as appropriate.
 
 
 
We multiply each equation by <math>\phi_{q}^h(z)</math> and integrating
 
from <math>-h</math> to <math>0</math> to obtain
 
<center>
 
<math>
 
A_{0}\delta_{0q} + a_{q}A_{q}
 
= \sum_{m=0}^{N} b_m B^{\prime}_{mq}
 
</math>
 
</center>
 
<center>
 
<math>
 
-k_{0}^h A_{0}\delta_{0q} + k_{q}^h a_{q}A_{q}
 
= \sum_{m=0}^{N} k^{\prime}_m b_m B^{\prime}_{mq}
 
</math>
 
</center>
 
where <math>B^{\prime}_{mq}</math> is made from <math>B_{mq}</math> or <math>C_{mq}</math> as appropriate.
 
 
 
= Solution with Waves Incident at an Angle =
 
 
 
We can consider the problem when the waves are incident at an angle <math>\theta</math> but this
 
is not presented here. For details see [[Eigenfunction Matching for a Semi-Infinite Dock]].
 
  
 
= Matlab Code =
 
= Matlab Code =
  
 
A program to calculate the coefficients for the submerged semi-infinite dock problems can be found here
 
A program to calculate the coefficients for the submerged semi-infinite dock problems can be found here
[http://www.math.auckland.ac.nz/~meylan/code/eigenfunction_matching/submerged_semiinfinite_dock.m submerged_semiinfinite_dock.m]
+
[http://www.math.auckland.ac.nz/~meylan/code/eigenfunction_matching/submerged_finite_dock.m submerged_finite_dock.m]
  
 
== Additional code ==
 
== Additional code ==
  
 
This program requires
 
This program requires
[http://www.math.auckland.ac.nz/~meylan/code/dispersion/dispersion_free_surface.m dispersion_free_surface.m]
+
* {{free surface dispersion equation code}}
to run
+
 
  
 
[[Category:Eigenfunction Matching Method]]
 
[[Category:Eigenfunction Matching Method]]
 
[[Category:Pages with Matlab Code]]
 
[[Category:Pages with Matlab Code]]
 
[[Category:Complete Pages]]
 
[[Category:Complete Pages]]

Latest revision as of 05:54, 1 September 2009



Introduction

This is the finite length version of the Eigenfunction Matching for a Submerged Semi-Infinite Dock. The full theory is not presented here, and details of the matching method can be found in Eigenfunction Matching for a Submerged Semi-Infinite Dock and Eigenfunction Matching for a Finite Dock

Governing Equations

We begin with the Frequency Domain Problem for the submerged dock in the region [math]\displaystyle{ x\gt 0 }[/math] (we assume [math]\displaystyle{ e^{i\omega t} }[/math] time dependence). The water is assumed to have constant finite depth [math]\displaystyle{ h }[/math] and the [math]\displaystyle{ z }[/math]-direction points vertically upward with the water surface at [math]\displaystyle{ z=0 }[/math] and the sea floor at [math]\displaystyle{ z=-h }[/math]. The boundary value problem can therefore be expressed as

[math]\displaystyle{ \Delta\phi=0, \,\, -h\lt z\lt 0, }[/math]

[math]\displaystyle{ \partial_{z} \phi=0, \,\, z=-h, }[/math]

[math]\displaystyle{ \partial_z\phi=\alpha\phi, \,\, z=0, }[/math]

[math]\displaystyle{ \partial_z\phi=0, \,\, z=-d,\,-L\lt x\lt L, }[/math]

We must also apply the Sommerfeld Radiation Condition as [math]\displaystyle{ |x|\rightarrow\infty }[/math]. This essentially implies that the only wave at infinity is propagating away and at negative infinity there is a unit incident wave and a wave propagating away.

Solution Method

We use separation of variables in the four regions, {[math]\displaystyle{ x\lt -L \, }[/math]}, {[math]\displaystyle{ x\gt L \, }[/math]}, {[math]\displaystyle{ -d\lt z\lt 0,\,\,-L\lt x\lt L }[/math]}, and {[math]\displaystyle{ -h\lt z\lt -d,\,\,-L\lt x\lt L }[/math]}. The first three regions use the free-surface eigenfunction and the last uses dock eigenfunctions. Details can be found in Eigenfunction Matching for a Semi-Infinite Dock.

The incident potential is a wave of amplitude [math]\displaystyle{ A }[/math] in displacement travelling in the positive [math]\displaystyle{ x }[/math]-direction. The incident potential can therefore be written as

[math]\displaystyle{ \phi^{\mathrm{I}} =e^{-k_{0}^{h}(x+L)}\phi_{0}\left( z\right) }[/math]

The potential can be expanded as

[math]\displaystyle{ \phi(x,z)=e^{-k_{0}^h (x+L)}\phi_{0}^h\left( z\right) + \sum_{m=0}^{\infty}a_{m}e^{k_{m}^h (x+L)}\phi_{m}^h(z), \;\;x\lt -L }[/math]

[math]\displaystyle{ \phi(x,z)= \sum_{m=0}^{\infty}b_{m} e^{-k_{m}^d (x+L)}\phi_{m}^d(z) + \sum_{m=0}^{\infty}c_{m} e^{k_{m}^d (x-L)}\phi_{m}^d(z) , \;\;-d\lt z\lt 0,\,\,-L\lt x\lt L }[/math]

and

[math]\displaystyle{ \phi(x,z)= d_0 \frac{L-x}{2 L} + \sum_{m=1}^{\infty}d_{m} e^{-\kappa_{m} (x+L)}\psi_{m}(z) + e_0 \frac{x+L}{2 L} + \sum_{m=1}^{\infty}e_{m} e^{\kappa_{m} (x-L)}\psi_{m}(z) , \;\;-h\lt z\lt -d,\,\,-L\lt x\lt L }[/math]

[math]\displaystyle{ \phi(x,z)= \sum_{m=0}^{\infty}f_{m}e^{-k_{m}^h (x-L)}\phi_{m}^h(z), \;\;L\lt x }[/math]

The definition of all terms can be found in Eigenfunction Matching for Submerged Semi-Infinite Dock, as can the solution method and the method to extend the solution to waves incident at an angle.

Matlab Code

A program to calculate the coefficients for the submerged semi-infinite dock problems can be found here submerged_finite_dock.m

Additional code

This program requires