Earthquake

Ashes can shake the ground under a model with a measured or synthetic earthquake record. You give a time history of the ground acceleration in the three global directions, and Ashes turns it into inertial forces on every node of the finite-element model. This page describes how that load is formed and applied, how to set it up, and what it does not model.

1 Which models can have an earthquake

The earthquake settings belong to the part that forms the lower boundary of the model:
  • Onshore wind turbines: the Ground part.
  • Bottom-fixed offshore wind turbines: the Seabed part.
  • Floating offshore wind turbines: not available. The earthquake settings are hidden on the seabed of a floating model, and any values stored in the project are ignored.

2 How the ground acceleration is applied

Ashes does not move the foundation of the model. It solves for the motion of the structure relative to the ground, which is the standard way of applying a uniform base excitation. In the notation of Time domain simulation, with $d$ now the displacement of the structure relative to the ground and $a_g(t)$ the ground acceleration, the equation of motion at time step $n$ becomes
$$M\ddot{d_n} + C\dot{d_n}+f^{int}_n=f^{ext}_n + f^{eq}_n, \qquad f^{eq}_n = -M\,a_g(t_n)$$
where $f^{ext}$ are all the other external loads of the simulation (gravity, aerodynamics, hydrodynamics, controller actions and so on). The ground motion therefore enters as an extra external force $f^{eq}$ on the right-hand side: the inertial force the structure would feel in a reference frame that accelerates with the ground. Nothing else in the solution changes: the equation is solved with the same Newmark-Beta and Newton-Raphson scheme, and in a non-linear analysis $M$, $C$ and $f^{int}$ keep their dependency on the displacement.

In practice Ashes adds one earthquake load to each node of the finite-element model. At every time step, the force on node $i$ is
$$f^{eq}_i(t) = -\,M_{ii} \cdot a_g(t - t_0)$$
where
  • $M_{ii}$ is the translational mass assembled at node $i$, i.e. the 3 × 3 block of the mass matrix $M$ on that node's translational degrees of freedom. It includes the mass the connected elements lump to the node and any point masses on it;
  • $a_g = (a_x, a_y, a_z)$ is the ground acceleration in the global Ashes coordinate system, read from the acceleration history table and linearly interpolated between its rows;
  • $t_0$ is the Earthquake start time.
The minus sign makes the force act opposite to the ground acceleration: when the ground accelerates in $+x$, the structure is pushed back in $-x$ relative to it.

The load is applied to every node of the model, including those of the support structure, the nacelle, the hub and the blades, because the ground acceleration is felt by the whole machine. It is a force only: no moment is applied, and the ground does not rotate.

2.1 Timing

  • Before the Earthquake start time, no earthquake load is applied.
  • From the start time on, the table is read with the simulation time shifted by the start time: the table row with time $\tau$ is applied at simulation time $t_0 + \tau$. The times in the table are thus measured from the start of the earthquake, not from the start of the simulation.
  • The earthquake load is not ramped up: it is an exception to the ramp-up applied to the other loads, and switches on at full strength at the start time. The default start time of 10 s leaves room for the other loads to finish their ramp-up and for the start-up transients to settle first; make sure the start time is not shorter than the ramp-up duration set in the Analysis tab of the analysis parameters.
  • Between the start time and the first time in the table, the acceleration of the first row is applied. After the last time in the table, the acceleration of the last row is held for the rest of the simulation.
Note: because the last row is held, a record that does not end at zero acceleration keeps pushing the structure after it ends. Start the table at $\tau = 0$ with zero acceleration and end it with a row of zeros, unless a constant final acceleration is what you want.

3 Setting up an earthquake

The settings are in the Earthquake category of the Ground or Seabed part properties:
  • Enable earthquake: switches the earthquake on. The remaining settings are shown only when it is checked.
  • Acceleration history table: the ground acceleration as a function of time.
  • Earthquake start time: the simulation time at which the earthquake starts. Default 10 s.
  • Acceleration table units: either m/(s s), the default, or G (Gees). In gees, the values are fractions of the gravitational acceleration and are multiplied by the gravity magnitude set on the Environment.
If Enable earthquake is checked but the table is empty, no earthquake is applied. On the Ground part, the part information says so, and with a table loaded it shows the number of rows, the duration of the record, and the peak acceleration in each direction and in magnitude, in both m/s² and g, with the time at which each occurs. Check these values before running: they are the quickest way to catch a table in the wrong units.

3.1 The acceleration history table

The table has exactly four columns:
Column Content
1 Time since the earthquake start, s
2 Ground acceleration in global $x$
3 Ground acceleration in global $y$
4 Ground acceleration in global $z$ (vertical, positive up)
A component that is not part of the record is given as a column of zeros. Gravity is applied separately by Ashes; do not include it in the $z$ column.

Ground motion records are usually given along north, east and up, or along the two horizontal axes of the measuring station. Project them onto the Ashes global axes before filling the table: their orientation relative to the rotor decides whether the earthquake shakes the wind turbine fore-aft, side-to-side, or in between.


3.2 Reading the table from a file in a batch

To run several earthquake records in one batch, set the parameter Ground.EarthquakeAccelerationHistoryTableFilePath in the batch CSV file to the path of a text file holding the table. The parameter is only used in batches and is not shown in the part properties. When it is set, the file replaces the table in the project for that load case.
The file is plain text, with columns separated by whitespace. The first line holds the four column titles (each a single word), and lines starting with # are comments. The Acceleration table units setting applies to the file as it does to the table, and can be set in the same batch CSV with Ground.EarthquakeAccelerationHistoryTableUnits. For example:
# Synthetic record, accelerations in m/s2
Time  Ax     Ay     Az
0.00  0.000  0.000  0.000
0.01  0.012 -0.004  0.002
0.02  0.031 -0.010  0.005
...
40.00 0.000  0.000  0.000

4 Interpreting the results

  • Motions are relative to the ground. Displacements, velocities and accelerations reported by the sensors are those of the structure relative to the shaking ground. To get the absolute acceleration of a point, for instance at the nacelle, add the ground acceleration to the acceleration Ashes reports.
  • Internal forces are physical. Section forces and moments, and the reaction at the foundation, are the real ones, because they depend on the relative deformation of the structure only.
  • Time step. Earthquake records are typically sampled at 0.005 to 0.02 s and carry energy up to 20 Hz or more. The Calculated time step (see Time domain simulation) only depends on the rotor radius, and is often around 0.03 s, which is too long for an earthquake: the load is evaluated once per time step, so a step longer than the sampling interval of the table skips over peaks. Set Timestep scheme to User defined and choose a step no longer than the sampling interval of the record and short enough for the structural modes it excites.

5 Limitations

  • Uniform excitation. Every node feels the same ground acceleration at the same instant. Spatial variation of the ground motion, such as wave passage along a long foundation or different motions at the legs of a jacket, is not modelled.
  • Translations only. Rotational components of the ground motion are not supported.
  • Lumped mass. The force on each node uses the mass assembled at that node only. Mass coupling between neighbouring nodes is not included in the earthquake force.
  • No soil-structure interaction from the earthquake itself. The acceleration in the table is applied as given. Ashes does not propagate a bedrock motion through the soil layers, and the soil does not change stiffness or damping during the earthquake; site response must be accounted for in the input record.
  • Air and water do not move with the ground. Aerodynamic and hydrodynamic loads are computed from the motion of the structure relative to the ground, so the ground's own velocity does not enter them. Seismic sea waves and hydrodynamic pressure caused by the motion of the seabed are not modelled.
  • Floating models. Earthquakes cannot be applied to floating offshore wind turbines.

6 Verification

The earthquake load is verified against OpenSees on a cantilever with a top mass, for constant, sinusoidal and recorded (Northridge) ground accelerations. See Earthquake Opensees.