To design efficient maritime and offshore structures, a good understanding of the dynamic response to hydrodynamic loads is key. To make better design choices, hydrodynamicists historically relied on model-scale experiments. A specialized laboratory facility called a wave flume, wave basin or wave tank is used to study the behavior of water waves and their interaction with structures or sediments.
Due to the limited dimensions of wave tanks, experiments are often performed with scaled down models, leading to unwanted scaling effects. E.g., it is in practice very difficult to have parity in Froude and Reynolds numbers between model and full scale, which leads to over or underestimation of hydrodynamic forces.
Computational Fluid Dynamics (CFD), on the other hand, allows researchers to do full scale experiments using a numerical representation of a wave tank. In this article we will demonstrate how to simulate a numerical wave tank using PreonLab’s mesh-free approach, and convenient built-in features to model free-surface flows and rigid-body kinematics.
Before going deeper into the setup in PreonLab we need to introduce some basics about waves. Free-surface gravity waves, as they occur in bodies of water, can be described by the free-surface elevation at a certain space and time. A regular sinusoidal wave is described by:
$$
\eta(x,t)=A_w\cos(kx-\omega t),\quad
k=\frac{2\pi}{\lambda},\quad
\omega=\frac{2\pi}{T}.
$$
Figure 1: Sketch of a free surface wave relative to its mean waterline and the water depth $h$.
For gravity waves, the wave number and frequency are related via the dispersion relation given by: $$ \omega^2 = gk \tanh(kh), $$
with $g$ and $h$ being the gravitational acceleration and the water depth, respectively.
Using this equation, it can be derived that for large water depths $(h \gg 0)$,
waves travel at their so-called phase velocity
$$ c_p = \sqrt{\frac{g\lambda}{2\pi}} = \frac{g}{2\pi} T. $$
Hence, longer waves generally travel faster than shorter waves.
Note that capillary effects due to surface tension often play an insignificant role
in wave tank experiments and are therefore not considered in this article.
Most modern wave tanks use one of two types of wavemaker, i.e., a flap or piston-type (see Figure 2). These systems consist of a moving wall placed in a tank onto which an oscillatory motion is applied. So-called Biésel transfer functions (BTF), which are derived using linear wave theory, describe the relation between the wavemaker actuation and the corresponding wave it induces. For each wavemaker type, there is a corresponding BTF.
Figure 2: Piston and flap wavemaker with the piston displacement and flap angle.
In this article, we have used the piston-type wavemaker as shown in the left sketch of
Figure 2. The BTF for piston wavemakers is a function of the water depth $h$ and the
wave number $k$:
$$ H(k,h) = \frac{A_w}{A_p} = \frac{2\sinh^2(kh)}{\sinh(kh)\cosh(kh) + kh}, $$
where $A_p$ is the piston deflection relative to its neutral position.
Given a desired free-surface wave
$$ \eta(x,t) = A_w \cos(kx – \omega t) $$
and the BTF, the actuator signal for the wavemaker can be defined as:
$$ x_p(t) = \frac{A_w}{H} \cos(\omega t). $$
This relation can then be used to script a moving boundary in PreonLab to generate the
given wave. A more detailed description of wavemaker theory for various other types of
wavemakers is given in [1].
Using the above linear wave theory and BTFs, arbitrary irregular waves can be composed through the superposition of multiple waves with varying amplitudes and frequencies. Simple examples are biochromatic waves which consist of two waves with different frequencies as shown in Figure 3.
Figure 3: Two wave components with different wave periods result in a bichromatic wave when added together.
The concept of superposition can be further extended to obtain statistically realistic waves. E.g., the Joint North Sea Wave Project (JONSWAP) model provides the amplitudes for a set of frequency modes given a set of imput varialbes such as the significant wave height and peak period and frequency. For more details on JONSWAP wave spectra see, e.g., [2].
Using the basic wavemaker theory, we model a sine-shaped regular wave in a numerical wave tank setup. For this, we will set up a tank according to the dimensions in [3] which for completeness are given in Figure 4. The only difference in our setup is the shift of the probe distance to the wavemaker from 24.6 to 15.0 meters. The choice for probing at closer to the wavemaker, is to reduce the time needed for the wave to reach the probe and therefore minimize the required computational time.
Figure 4: Layout of a wave tank using the dimensions presented in [3]. Note that in our setup the wave probe is placed closer to the wavemaker at a distance of 15.0 meters.
For 2D wave tank simulations, the walls and wavemaker depicted above can be represented by solid planes. For a 3D wave tank, the tank can be modeled as a box with fixed width, or with the use of period boundaries. A general overview of the tank as used withing PreonLab is shown in Video 1.
Video 1: Virtual Wave Tank Setup in PreonLab. (Dimensions are in meters.)
As can be observed in Video 1, the total dimensions of the complete wave tank are quite large, in particular the length. Consequently, a large number of particles would be needed to resolve the full fluid volume. To minimize the total number of particles, and the required computational cost, we employ a non-uniform particle resolution. The Continuous Particle Size (CPS) feature of PreonLab allows the user to specify regions with a different particle size. In case of free-surface waves the tank is filled with coarse particle and refinement is applied only in the region close to the free-surface. This choice is based on the fact that most of the wave energy in deep water waves is transported close to the free surface. In Video 2, the effect of using CPS is clearly visible.
Video 2: Piston-Type Wave Actuation and Visualization of Particle Refinement using Continuous Particle Size (CPS).
To obtain a regular wave pattern, we use a regular sine wave signal as an input,
similar to that used in [3]. We investigate waves generated by two differing
piston-type wavemaker motions.
The first set of waves is actuated by a wavemaker moving sinusoidally with a period
of $T = 1.95\,\mathrm{s}$ and an amplitude of $A_p = 50.5\,\mathrm{mm}$, while the
water depth is set to $h = 1.1\,\mathrm{m}$.
For the second set of waves, the wavemaker moves with twice the period,
i.e. $T = 3.9\,\mathrm{s}$. For both regular sine waves, the wavemaker motions can
be defined directly in PreonLab by specifying the amplitude and period in the
Keyframe Editor.
To obtain irregular waves using a superposition of regular sine waves, the wavemaker
position keyframing can be imported as a CSV file directly into PreonLab.
Given the above wave maker actuations, the resulting theoretical wave elevation at any given distance from the wave maker can be obtained using the BTF for each of the two waves. For example, for the first set of waves, this results in a wave amplitude of approximately 64.2mm.
Figure 5 depicts the surface elevations at 15.0m from the wave maker, for the first (top) and second (bottom) set of waves. In both cases, the results are obtained using the analytic formulation (black) as well as the PreonLab setup (blue) described above. The results show a good match in both amplitude and frequency. Video 3 shows the transient behavior of each the two sets of waves that are being produced by the respective wave maker motions from the left-hand side of the tank. After a certain amount of time, the waves pass the free-floating wave probe and get dissipated at the right-hand side by a wave-absorbing beach. Note, as stated before, the measuring point is 15.0m away from the wave maker. An initial start-up phase of approximately 5-10 seconds is observed in the numerical solution. This is the time required for the waves to fully develop and reach the location where the height is measured.
Figure 5: Wave elevation as a function of time at a distance of 15 meters from the wave maker. (Top) shows the wave elevation for wave actuation with A = 50.5 mm and T = 1.95s, and (bottom) for wave actuation with A = 50.5 mm and T = 3.9 s. The black curve represents the analytic solution whereas the blue curve represents the numerical solution obtained using PreonLab.
Video 3: Comparison between the two regular waves, visualized at the wavemaker, at the measurement probe, and at the wave absorbing beach. (Top) Wave actuation with T = 1.95 s, (bottom) wave actuation with T = 3,9 s. Note that the resulting amplitudes of the two waves are different even though the wavemakers are moving with identical amplitudes. The difference is a direct result of the Biésel transfer function which relates the wavemaker motion to the free surface elevation.
As already stated, with the use of superposition, an irregular wave can be constructed simply by adding together regular sine waves with varying period, amplitude, and phase angle. We demonstrate this concept using the wave tank setup from [3] which we used in the previous case. We replace the regular sine wave with a bichromatic wave comprised of two regular sine waves of different frequencies which we added together.
The wave components both have an amplitude of $A_p = 50.5\,\mathrm{mm}$ and wave
periods of $T = 2.0\,\mathrm{s}$ and $T = 2.5\,\mathrm{s}$, respectively. The
resulting wave is similar to the bichromatic wave previously shown. The mean water
depth of the wave tank is kept at $h = 1.1\,\mathrm{m}$.
By generating an actuation signal for each wave component and subsequently adding them together, the actuation signal for the bichromatic wave is obtained. This signal can directly be used in PreonLab to keyframe the horizontal position of the wavemaker in time.
With the known relation between the actuation signal and the wave height at any given distance from the wavemaker, we can compare PreonLab to the theoretical wave as was done previously in case of the single sine wave setup. Figure 6 shows the free surface elevation at a distance of 15.0m away from the wavemaker. Both the analytic and numerically obtained transient wave height are depicted. The PreonLab result clearly shows an initial buildup to a fully developed wave pattern up to approximately 15 seconds. Once the wave is fully developed, there is a good match between the numerical and analytic solution.
Figure 6: wave elevation of a bichromatic wave as a function of time at a distance of 15 meters from the wave maker. The red curve represents the analytic solution whereas the blue curve represents the numerical solution obtained using PreonLab.
Although not demonstrated here, keyframing of wavemakers using BTFs in PreonLab can be used for more realistic scenarios such as ocean waves too. Ocean waves are composed of a wide range of frequencies and amplitudes, rather than a single uniform wave. Wave spectra describe how the total energy of the sea surface is distributed across these different wave frequencies. It provides a statistical representation of the sea state, capturing both the dominant waves that carry most energy and the smaller waves that are less dominant. Spectra are fundamental for modeling wave dynamics, predicting loads on structures, and understanding energy transfer within the ocean surface. The demonstrated concept of superposition for the bichromatic wave can simply be extended with a larger number of frequency components that are based on a realistic, statistically backed wave spectrum.
One widely used model for representing a wave spectrum is the JONSWAP spectrum, developed from extensive measurements during the Joint North Sea Wave Project [2]. It provides a practical way to reconstruct the energy distribution across individual wave frequencies using only a small set of parameters, such as the peak frequency, significant wave height, and a peak enhancement factor. This makes it particularly useful in engineering and coastal applications, where a realistic, yet computationally efficient representation of a sea state is needed. By capturing the concentration of energy around the dominant waves, the JONSWAP spectrum offers a more accurate description of developing seas than simpler, fully developed models.
The resulting realistic ocean waves can be explored in PreonLab to analyze all sorts of marine applications such as floating structures in waves. A nice example is that of parametric rolling of a ship due to head waves as shown in Video 4. Parametric roll is an unintuitive phenomenon in which a side-to-side roll can occur due to alignment of the ships natural roll period and the encounter frequency of the head waves. It is an unintuitive effect which needs to be constantly monitored by ship masters to mitigate capsizing of the vessel either by changing course or ship speed. As the video progresses, it can be clearly seen how the resonant roll motion can intensify to dangerous levels.
Video 4: Simulation of Parametric Roll for a Ship Geometry in PreonLab.