Wave theory

$\DeclareMathOperator{\E}{E}$ $\newcommand{\rmin}{r_\textrm{min}}$ $\newcommand{\rmax}{r_\textrm{max}}$ $\newcommand{\dfmax}{\delta\!f_\textrm{max}}$ $\newcommand{\f}[2]{f_{\mathrm{#1}{\mathrm{#2}}}}\!$ $\DeclareMathOperator{\G}{\Gamma}$

Each wave train can be a regular wave, a random wave or given by a time history.

Regular waves

OrcaFlex offers a choice of a long-crested, regular, linear Airy wave (including seabed influence on wave length) or nonlinear waves using Dean, Stokes' 5th or cnoidal wave theories. Waves are specified in terms of height and period, and direction of propagation.

Random waves

OrcaFlex offers five standard frequency spectra: JONSWAP, ISSC (also known as Bretschneider or modified Pierson-Moskowitz), Ochi-Hubble, Torsethaugen and Gaussian swell.

A wave time history is synthesised from a user-defined number of linear wave components, whose selection is described below. The phases associated with the wave components are pseudo-random: a random number generator is used to assign phases, but the sequence is repeatable, so the same user data will always give the same train of waves. Different wave component phasing for the same spectrum can be obtained by shifting the simulation time origin relative to the wave time origin, or by specifying a different random number seed.

OrcaFlex provides special facilities to assist in selecting an appropriate section of random sea. These are available on the waves preview page of the environment data form. The facilities include


The autocorrelation at time lag $\tau$ is calculated as \begin{equation} \rho(\tau) = \frac{1}{\sigma^2} \sum_i a_i^2 \cos(\omega_i\tau) \end{equation} where the sum is over all wave components, $a_i$ and $\omega_i$ are the amplitude and angular frequency of the $i^\mathrm{th}$ wave component, and $\sigma^2$ is the variance of the sea surface elevation relative to still water.

Somewhat confusingly, there are two commonly used definitions of autocorrelation. The autocorrelation reported by OrcaFlex is equivalent to evaluating the more general expression \begin{equation} \rho(\tau) = \frac{1}{\sigma^2} \E[\eta(t)\ \eta(t+\tau)] \end{equation} where $\eta$ is the sea surface elevation relative to the still water level and $\E$ is the expectation operator. For a single wave train, with or without direction spreading, the wave process is ergodic and so the OrcaFlex calculation is equivalent to evaluating the expectation in the above expression as both

If there are multiple wave trains in the model then the wave process is not ergodic and so only the former is true, i.e. the expectation is evaluated over the ensemble.

Note: The autocorrelation only includes the principal linear component. Higher order terms, which are generated by nonlinear regular wave types. are not accounted for. Since, however, the autocorrelation function is only really useful for irregular waves, which are linear by their nature, this should not be a constraint in practise.

Frequency spectrum discretisation

An irregular wave train is constructed by linear superposition of linear wave components. The component frequencies are selected using the user-specified frequency spectrum discretisation method. The available options are: arithmetic progression, geometric progression and equal energy. In all cases, the chosen components cover the user-specified range of the frequency spectrum.

Arithmetic progression

The wave components are chosen to be equally spaced in frequency.

Geometric progression

The wave components are chosen such that the ratio of successive wave component frequencies is constant.

Equal energy

Note: There are three distinct equal energy discretisation methods named equal energy, equal energy, 9.3a, deprecated and equal energy, legacy, deprecated. The deprecated options are hidden in the GUI by default and are only retained to maintain backwards compatibility with simulation files produced by older versions of OrcaFlex. These options are only shown when a model is loaded that uses one of the deprecated options. The deprecated options should not be used for new analysis.

Wave components are chosen such that each component represents an equal amount of spectral energy. Since the energy is equal to the area under the spectrum, this method is sometimes described as the equal area approach.

However this approach can result in some components (e.g. near the tails of the spectrum where the spectral energy is low) representing a wide range of frequencies. Such components can result in poor modelling of system responses, since a wide frequency range of spectral energy is then concentrated at a single frequency. To solve this a maximum component frequency range may be specified, and any component that covers a wider frequency range is then subdivided into multiple components (which then have lower energy, so they no longer all have equal energy) until all the components satisfy the specified maximum frequency range.

This method of allocating wave components is now described in more detail. We denote by $\rmin$ and $\rmax$ the minimum and maximum relative frequencies, and by $\dfmax$ the maximum component frequency range.

The wave components are created as follows:

  1. Define $\f{m}{-}$ to be the frequency of the spectral peak with the lowest frequency. Likewise, define $\f{m}{+}$ to be the frequency of the spectral peak with the highest frequency. For single peaked spectra $\f{m}{-}{=}\f{m}{+}{=}\f{m}{}$. For the Ochi-Hubble spectrum, the spectral peak frequencies are data items named $\f{m1}{}$ and $\f{m2}{}$. For the Torsethaugen spectrum, the spectral peak frequencies are calculated internally by OrcaFlex as described in the Torsethaugen and Haver paper.
  2. The overall frequency range considered is $\big[\rmin\f{m}{-},\ \rmax\f{m}{+}\big]$. The nature of wave spectra means that the energy outside the range is negligible, at least for the default values of $\rmin$ and $\rmax$.
  3. This overall frequency range is then broken into $n$ component frequency bands $\big\{\big[\f{i}{-},\ \f{i}{+}\big],\ \text{i = 1 to }n\big\}$, such that each band contains the same amount of spectral energy. Here $\f{1}{-}{=}\rmin\f{m}{-}$, $\f{n}{+}{=}\rmax\f{m}{+}$ and $\f{i}{+}{=}\f{(i+1)}{-}$ in between, and $n$ is the user-specified number of components. See the illustration below, which for clarity is for only $n{=}10$ components (the default value of $n$ is much larger).
  4. Any frequency band $\big[\f{i}{-},\ \f{i}{+}\big]$ for which $\f{i}{+}{-}\f{i}{-} > \dfmax$ is then recursively subdivided into multiple bands, until the frequency width of each band is less than the specified maximum $\dfmax$. Any such subdivision will result in the number of components, $n$, increasing, and the components resulting from subdivision will no longer have the same energy as the non-subdivided components.
  5. A wave component is then created for each resulting frequency band. The wave component frequency, $\f{i}{}$, is chosen so that there is equal spectral energy either side of it in the frequency band represented by that component. In other words there is equal spectral energy in the ranges $\big[\f{i}{-},\ \f{i}{}\big]$ and $\big[\f{i}{},\ \f{i}{+}\big]$.
Note: For the deprecated spectrum discretisation methods the values of $\f{m}{-}$ and $\f{m}{+}$ are defined differently. Both $\f{m}{-}$ and $\f{m}{+}$ are set to the nominal value of $\f{m}{}$. For single peaked spectra this is identical to the behaviour described above. For the Ochi-Hubble spectrum the nominal $\f{m}{}$ is defined to be $\f{m1}{}$. For the Torsethaugen spectrum the nominal $\f{m}{}$ is user input data.

The wave spectrum plotted below illustrates the effect of the equal energy approach. The vertical lines represent the component frequency ranges. For simplicity we have only used 10 components, but you would typically use a lot more than this in order to give a much better discretisation of the spectrum. In addition, we have not applied the maximum component frequency range $\dfmax$, and the effect of this can be seen in the wider component frequency ranges in the low and high frequency tails of the spectrum.

Figure: Equal energy approach to choosing wave components

Directional spread spectrum

The directional spreading spectrum used by OrcaFlex is \begin{equation} \nonumber S_\mathrm{d}(\theta) = K(n)\ \cos^n(\theta-\theta_\mathrm{p}) \quad \text{ for } {-\tfrac\pi2} \leq \theta-\theta_\mathrm{p} \leq \tfrac\pi2 \end{equation} where

$K(n) = \dfrac{\G\left(\frac{n}{2}+1\right)}{\sqrt{\pi}\G\left(\frac{n}{2}+\frac12\right)}\;$ is a normalising constant

$n$ is the spreading exponent

$\theta$ is the wave direction

$\theta_\mathrm{p}$ is the principal wave direction.

The total spectrum used by OrcaFlex $S(f,\theta)$ is then given by $S(f,\theta) = S_\mathrm{f}(f)\ S_\mathrm{d}(\theta)$ where $S_\mathrm{f}$ is the frequency spectrum.

Discretisation of the directional spectrum

The direction range ${-\frac\pi2} \leq \theta-\theta_\mathrm{p} \leq \frac\pi2$ is discretised into the user-specified number of wave directions. OrcaFlex discretises the directional spectrum using the same equal energy strategy as described above for the frequency spectrum.

For time domain analysis, the same set of wave component frequencies is not used for each of the directions. Doing so would introduce unrealistic correlations between the frequencies for different directions, and not correctly represent the continuous spread spectrum. Instead, if $n_\mathrm{d}$ and $n_\mathrm{f}$ are the user-specified number of wave directions and number of frequencies per direction, respectively, then OrcaFlex chooses $n_\mathrm{d} {\times} n_\mathrm{f}$ frequencies from the frequency spectrum, using the specified frequency spectrum discretisation method, and then randomly distributes those frequency components over the $n_\mathrm{d}$ directions in a way that gives $n_\mathrm{f}$ of them in each of the $n_\mathrm{d}$ directions. For frequency domain analysis there is no such constraint and the same set of frequencies are used for each of the directions.