Difference between revisions of "Eigenfunction Matching for a Submerged Finite Dock"
Line 87: | Line 87: | ||
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= | =Numerical Solution= |
Revision as of 21:59, 12 July 2008
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{ \phi_{z}=0, \,\, z=-h, }[/math]
[math]\displaystyle{ \partial_z\phi=0, \,\, z=-d,\,-L\lt x\gt 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 three regions, [math]\displaystyle{ x\lt 0 }[/math] [math]\displaystyle{ -d\lt z\lt 0,\,\,x\gt 0 }[/math], and [math]\displaystyle{ -h\lt z\lt -d,\,\,x\gt 0 }[/math]. The first two regions use the free-surface eigenfunction 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]\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}(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}\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)= \sum_{m=0}^{\infty}d_{m} e^{\kappa_{m} (x+L)}\psi_{m}(z) +\sum_{m=0}^{\infty}e_{m} e^{-\kappa_{m} (x-L)}\psi_{m}(z) , \;\;-h\lt z\lt -d,\,\,-L\lt x\gt L }[/math]
[math]\displaystyle{ \phi(x,z)= \sum_{m=0}^{\infty}f_{m}e^{-k_{m}^h (x-L)}\phi_{m}^h(z), \;\;x\gt L }[/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.
Numerical Solution
The standard method to solve these equations (from Linton and Evans 1991) is to mutiply both equations by [math]\displaystyle{ \phi_{q}^d(z) }[/math] and integrating from [math]\displaystyle{ -d }[/math] to [math]\displaystyle{ 0 }[/math] or by multiplying both equations by [math]\displaystyle{ \psi_{r}(z) }[/math] and integrating from [math]\displaystyle{ -h }[/math] to [math]\displaystyle{ -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]\displaystyle{ N+1 }[/math] modes and introduce a new function
[math]\displaystyle{ \chi_n = \begin{cases} \psi_{n}(z),\,\,\,-h\lt z\lt -d \\ 0,\,\,\,-d\lt z\lt 0 \end{cases} }[/math]
for [math]\displaystyle{ 0 \leq n \leq M - 1 }[/math]
[math]\displaystyle{ \chi_{n+M} = \begin{cases} 0,\,\,\,-h\lt z\lt -d \\ \phi_{n}^{d}(z),\,\,\,-d\lt z\lt 0 \end{cases} }[/math]
for [math]\displaystyle{ 0 \leq n \leq N-M }[/math] and we choose the values of [math]\displaystyle{ N }[/math] so that we have the [math]\displaystyle{ N+1 }[/math] smallest values of [math]\displaystyle{ k_n }[/math] and [math]\displaystyle{ \kappa_n }[/math] (with the proviso that we have at least one from each).
We truncate the equations and write
[math]\displaystyle{ \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]
[math]\displaystyle{ -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]
where [math]\displaystyle{ k^{\prime}_m }[/math] is either [math]\displaystyle{ k^{d}_q }[/math] or [math]\displaystyle{ \kappa_q }[/math] as appropriate.
We multiply each equation by [math]\displaystyle{ \phi_{q}^h(z) }[/math] and integrating from [math]\displaystyle{ -h }[/math] to [math]\displaystyle{ 0 }[/math] to obtain
[math]\displaystyle{ A_{0}\delta_{0q} + a_{q}A_{q} = \sum_{m=0}^{N} b_m B^{\prime}_{mq} }[/math]
[math]\displaystyle{ -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]
where [math]\displaystyle{ B^{\prime}_{mq} }[/math] is made from [math]\displaystyle{ B_{mq} }[/math] or [math]\displaystyle{ 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]\displaystyle{ \theta }[/math] but this is not presented here. For details see Eigenfunction Matching for a Semi-Infinite Dock.
Matlab Code
A program to calculate the coefficients for the submerged semi-infinite dock problems can be found here submerged_semiinfinite_dock.m
Additional code
This program requires dispersion_free_surface.m to run