Irregular waves
There are two methods for simulating irregular waves in Bladed and these are explained in more detail further below. A brief summary of the two approaches is provided here:
A legacy wave module that allows users to simulate irregular waves by specifying a sea surface elevation spectrum. This can be done using either a User-defined spectrum against angular frequency, \(S_{\eta}(\omega)\), or a JONSWAP or Pierson Moskowitz spectrum. The user has control over the analytical spectrum by changing mean wave parameters such as significant wave height, \(H_s\), and peak spectral period, \(T_p\), but has no control over the phases of the different wave components. In addition, the waves are unidirectional along the mean wave direction specified by the user. Modifications can be made to account for diffraction of waves due to the wind turbine support structure using a MacCamy Fuchs approximation or cut-off frequency.
Alternatively, a user can generate a SEA file that describes the amplitude, direction and phase of each wave frequency which can then be used to simulate irregular waves in a time domain calculation. The SEA file options also include the ability to model spread waves (multi-directional). The SEA files primary purpose is to be used in conjunction with the Boundary Element Method for modelling the hydrodynamics loading on large bodies where the process of radiation-diffraction is important. More detail discussions are given in SEA files.
Legacy wave module
During a simulation in which waves are specified, the following records are synthesised:
- Wave elevation,
- Wave particle velocities, accelerations and dynamic pressures are calculated at various points on a grid which spans the water column and horizontal locations that cover the turbine structure. The spacing in the vertical is biased with points focused towards the sea-surface where the water particle velocity rate of change is greater.
In order to compute velocity, acceleration, dynamic pressure, and free surface elevation at a specific point on the structured uring a time domain simulation, these records are interpolated from the grid points at which the values are known.
For irregular waves, these records are created by the digital filtering of pseudo-random white noise. A different filter is created for the wave elevation, the velocity, acceleration and the dynamic pressures, respectively. A single white noise record is used, and is combined with each filter for the generation of each time history. Because each filter introduces the correct amplitude variation and phase shift, the resulting output time histories display the correct amplitude and phase relationships to each other. Unlike the generation of turbulent flow fields, which are generated and written to a file before running the simulation, wave data are generated as the simulation proceeds.
The relationship between the parameter of interest (e.g. the wave particle velocity at the first tower station, the particle acceleration at the seabed etc.) and the water surface elevation is defined in terms of a complex function of the wave frequency known as a Response Amplitude Operator (RAO). It is represented as a complex number of the form:
The filters used to process the pseudo-random white noise are Finite Impulse Response (FIR) filters and are defined in terms of their frequency transforms. The transformed filter for response \(r\) is given by:
where:
and \(m\) is in the range \(0 \leq m \leq N\).
The filter weights are then obtained as the transform of the expression:
Having generated the filter functions for each parameter at each required location, time histories are generated using a shift-register technique. Firstly an \(N\) element array of normally-distributed random numbers is created. The random numbers are generated by converting the output of a simple random number generator to a normally distributed deviate with zero mean and unit variance using the Box-Muller method. For each filter function in turn, the \(N\) filter weights are multiplied by the values of the equivalent elements in the random number array and the \(N\) products are then summed to give the value of the property at one particular instant in time. To calculate the value of the property at the next time step, the elements of the random number array are 'shifted' one place higher in the array, a new random number is introduced at element 1 and the multiplication and summation process is repeated.
SEA file simulations
When SEA
files are used the following process is used to compute the surface elevation, water particle kinematics, and dynamics pressures:
- At initialisation of the simulation the SEA file wave components are read in. See definition in SEA files. The wave number is computed from the frequency data and water depth.
- During a time domain simulation, when wave data is requested at a specific location, the following procedure is followed depending on the data type requested:
- If surface elevation is requested then \(\eta(x,y,t)\) is computed using the formula defined in SEA files.
- If the kinematics or pressures are requested then the corresponding formula in wave particle kinematics is evaluated for the given \((x,y,z,t)\) location and summed up across all wave components defined in the SEA file. Note that the amplitude is defined in the SEA file while the definition in wave particle kinematics refers to the wave height.
Last updated 06-09-2024