Wavemaker Theory

From WikiWaves
Jump to: navigation, search
Wave and Wave Body Interactions
Current Chapter Wavemaker Theory
Next Chapter Ship Kelvin Wake
Previous Chapter Wave Momentum Flux



We will derive the potential in a two-dimensional wavetank due the motion of the wavemaker. The method is based on the Eigenfunction Matching Method. A paddle is undergoing small amplitude horizontal oscillations with displacement

[math] \zeta (t) = \mathrm{Re} \left \{\frac{1}{\mathrm{i}\omega} f(z) e^{i\omega t} \right \} [/math]

where [math] f(z) \, [/math] is assumed known. Since the time [math]t=0 \,[/math] is arbitrary we can assume that [math]f(z)\,[/math] is real but this is not necessary. Because the oscillations are small the linear equations apply (which will be given formally below). This excitation creates plane progressive waves with amplitude [math] A \, [/math] down the tank. The principal objective of wavemaker theory is to determine [math] A \, [/math] as a function of [math] \omega, f(z) \, [/math] and [math] h \, [/math]. Time-dependent wavemaker theories can also be developed.

Expansion of the solution

We also assume that Frequency Domain Problem with frequency [math]\omega[/math] and we assume that all variables are proportional to [math]\exp(-\mathrm{i}\omega t)\,[/math]

The water motion is represented by a velocity potential which is denoted by [math]\phi\,[/math] so that

[math] \Phi(\mathbf{x},t) = \mathrm{Re} \left\{\phi(\mathbf{x},\omega)e^{-\mathrm{i} \omega t}\right\}. [/math]

The equations therefore become

[math] \begin{align} \Delta\phi &=0, &-h\ltz\lt0,\,\,\mathbf{x} \in \Omega \\ \partial_z\phi &= 0, &z=-h, \\ \partial_z \phi &= \alpha \phi, &z=0,\,\,\mathbf{x} \in \partial \Omega_{\mathrm{F}}, \end{align} [/math]

(note that the last expression can be obtained from combining the expressions:

[math] \begin{align} \partial_z \phi &= -\mathrm{i} \omega \zeta, &z=0,\,\,\mathbf{x} \in \partial \Omega_{\mathrm{F}}, \\ \mathrm{i} \omega \phi &= g\zeta, &z=0,\,\,\mathbf{x} \in \partial \Omega_{\mathrm{F}}, \end{align} [/math]

where [math]\alpha = \omega^2/g \,[/math]) The boundary condition at the wavemaker is

[math] \left. \partial_x\phi \right|_{x=0} = \partial_t \xi = f(z). [/math]

We must also apply the Sommerfeld Radiation Condition as [math]x\rightarrow\infty[/math]. This essentially implies that the only wave at infinity is propagating away.

Separation of variables for a free surface

We use separation of variables

We express the potential as

[math] \phi(x,z) = X(x)Z(z)\, [/math]

and then Laplace's equation becomes

[math] \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] Z^{\prime\prime} + k^2 Z =0. [/math]

subject to the boundary conditions

[math] Z^{\prime}(-h) = 0 [/math]


[math] Z^{\prime}(0) = \alpha Z(0) [/math]

We can then use the boundary condition at [math]z=-h \, [/math] to write

[math] 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]z=0[/math]. The boundary condition at the free surface ([math]z=0 \,[/math]) gives rise to:

[math] k\tan\left( kh\right) =-\alpha \, [/math]

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]k_{0}=\pm ik \,[/math] and the positive real solutions by [math]k_{m} \,[/math], [math]m\geq1[/math]. The [math]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] \cos ix = \cosh x, \quad \sin ix = i\sinh x, [/math]

to arrive at the dispersion relation

[math] \alpha = k\tanh kh. [/math]

We note that for a specified frequency [math]\omega \,[/math] the equation determines the wavenumber [math]k \,[/math].

Finally we define the function [math]Z(z) \,[/math] as

[math] \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] \int\nolimits_{-h}^{0}\chi_{m}(z)\chi_{n}(z) \mathrm{d} z=A_{n}\delta_{mn} [/math]


[math] 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 in Eigenfunctions

The wavemaker velocity potential [math] \phi \,[/math] can be expressed simply in terms of eigenfunctions

[math] \phi = \sum_{n=0}^{\infty} a_n \phi_n (z) e^{-k_n x} [/math]

and we can solve for the coefficients by matching at [math]x=0 \,[/math]

[math] \left. \phi_x \right|_{x=0} = \sum_{n=0}^{\infty} -k_n a_n \phi_n (z) = f(z) [/math]

It follows that

[math] a_n = -\frac{1}{k_n A_n} \int_{-h}^0 \phi_n(z) f(z)\mathrm{d}z [/math]

Far Field Wave

One of the primary objecives of wavemaker theory is to determine the far-field wave amplitude [math] A \, [/math] in terms of [math] f(z) \, [/math]. The far-field wave component representing progagating waves is given by:

[math] \lim_{x\to\infty} \phi = a_0 \phi_0(z) e^{-k_0 x} = a_0 \frac{\cos k_0(z+h)}{\cos k_0 h } e^{-k_0 x} [/math]

Note that [math] k_0 \, [/math] is imaginery. We therefore obtain the complex amplitude of the propagating wave at infinity, namely modulus and phase, in terms of the wave maker displacement [math] f(z) \, [/math].

For what type of [math] f(z) \, [/math] are the non-wavelike modes zero? It is easy to verify by virtue of orthogonality that

[math] f(z) \ \sim \ \phi_0 (z) [/math]

Unfortunately this is not a "practical" displacement since [math] \phi_0 (z) \, [/math] depends on [math] \omega\, [/math], so one would need to build a flexible paddle.

Matlab Code

A program to calculate the coefficients for the wave maker problems can be found here wavemaker.m

Additional code

This program requires dispersion_free_surface.m to run

This article is based in part on the MIT open course notes and the original article can be found here

Ocean Wave Interaction with Ships and Offshore Energy Systems