Upload
others
View
36
Download
0
Embed Size (px)
Citation preview
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 1 of 14
K03 Fixed-bottom offshore wind
turbine This example considers modelling of the NREL 15MW reference wind turbine (RWT), developed
as part of the International Energy Agency’s (IEA) Wind Task 37. The system design basis is
documented through the Definition of the IEA Wind 15-Megawatt Offshore Reference Wind
Turbine technical report, which can be accessed from the open-source IEA-15-240-RWT GitHub
repository.
The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the
form of a three-bladed rotor, with variable-speed and collective blade-pitch control capabilities.
The turbine hub is fixed to the nacelle, which houses a direct-drive synchronous generator. The
nacelle is supported by the tower which is mounted upon a fixed-bottom monopile foundation,
embedded to a depth of 45m below the seabed.
Note: the model properties considered in this example are based on our interpretation of the
data made available through the above links. If you use, or make reference to, this model as part
of your own analysis requirements then please carry out the appropriate checks to confirm the
implemented data is suitable for the scenario being analysed.
Python installation requirements
This example uses a Python script, required for external function purposes. Hence, Python 3 is
required to view and run this particular example. It is also possible to view this model using the
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 2 of 14
demo version of OrcaFlex; which is available for download from our website:
https://www.orcina.com/orcaflex/demo/.
For more information on Python installation requirements, and dealing with installation
problems that may occur when interfacing to OrcaFlex, please refer to our dedicated Python
Interface: Installation help page on the subject.
Building the model
Turbine object
We have gathered the necessary input data for the turbine object from the available 15MW RWT
documentation and supporting online resources.
It should be noted that the 15MW RWT specification includes pre-bend for the turbine blades.
This feature is not available in OrcaFlex v11.0 and, as a result, the turbine blades are considered
to be straight. However, we do plan to introduce blade pre-bend as part of our next major
OrcaFlex release (v11.1) in autumn 2020.
This example document does not provide any further discussion on capturing the physical
properties of the 15MW RWT turbine rotor, using the turbine object in OrcaFlex. For further
details relating to various turbine modelling aspects, please refer to our K01 Floating wind
turbine example.
Control system modelling
Control system modelling for the turbine is supported through a Python external function. For
this particular example, the turbine controller source code is compiled as a dynamic link library
(DLL) which represents NREL’s Reference Open Source Controller (ROSCO).
To implement this controller in OrcaFlex, the Python external function must act as a wrapper
which we have written in the so-called “Bladed style” (BladedControllerWrapper.py). This works in
conjunction with a 64-bit version of the ROSCO DLL (libdiscon.dll). When called, the DLL updates
and calculates the necessary control values before passing them back to the external function to
regulate generator torque and/or blade pitch during the dynamic simulation.
The external functions written to the BladedControllerWrapper.py script accept a series of object
tags. These are assigned to the 15MW RWT turbine object on the tags page of the turbine data
form. This is shown by the image below, which also includes a description of each tag.
The control DLL also calls an input file (DISCON-Monopile.IN), which lists the required turbine
control parameters, as well as a rotor performance file (Cp_Ct_Cq.IEA15MW.txt) containing tables
of coefficients for the rotor power (CP), thrust (CT) and torque (CQ). The contents of these files can
be viewed using a text file editor, such as Notepad++. These files are available for download from
the IEA-15-240-RWT GitHub repository.
Note: Although this example makes use of a 64-bit version of the ROSCO DLL, a 32-bit version of
this controller is also available. If access to this version is required then please contact us for
further details.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 3 of 14
When analysing systems such as these, it is often useful to make use of the batch processing
facility in OrcaFlex. If running multiple simulations over multiple threads, the SetCWDToModelDir
tag must be omitted, or set to False, and a full absolute path to the rotor performance file
(Cp_Ct_Cq.IEA15MW.txt) should be specified on line 79 of the DISCON-Monopile.IN parameter input
file.
The image below shows where the path to this performance file must be set; where the word
‘PATH’ should be replaced by the path to the rotor performance file of interest. Additionally, the
image below also shows that a LoggingLevel of 0 should be specified on line 5 of the DISCON-
Monopile.IN file.
Note:
The 'wind estimator' part of the ROSCO controller code has a bug which is triggered when the
turbine rotor starts from a stationary position, as is always the case with the turbine object in
OrcaFlex. To allow the controller to function correctly, we have set the WE_Mode, on line 15 of
the DISCON-Monopile.IN parameter input file, to a value of 0.
The wrapper populates the swap array sufficiently to support the control modes used in this
example. If other controller modes are required, the wrapper might need to be further
extended. The control modes enabled in the controller input file, known to be unsupported
by the wrapper, include IPC_ControlMode, Y_ControlMode and Flp_Mode.
For further information about using a Python external function to wrap a Bladed style control
DLL, please refer to our guide to using Python external functions to model turbine controllers.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 4 of 14
Nacelle modelling
The nacelle is modelled as a lumped 6D buoy with the necessary mass, inertia and centre of
mass properties assigned to it. To provide a useful visual representation of the structure, in the
OrcaFlex model view, we have used the available SolidWorks CAD models for the turbine system
to create a panel mesh of the nacelle in the .gdf file format (nacelle.gdf). This was created using
Rhino.
We have imported this file, through the drawing page of the 6D buoy data form (pictured below),
to automatically generate the vertices and edges required to draw the nacelle in the wireframe
view. The same .gdf file has been imported as a shaded drawing file – through the shaded
drawing page of the 6D buoy data form – to create a representative drawing of the nacelle in the
shaded graphics view.
We have taken a similar approach to create a panel mesh file for the turbine hub (hub.gdf). As
the wireframe vertices and edges cannot be directly imported to the turbine object, we have
attached a ‘dummy’ 6D buoy – with negligible properties – to the turbine object (hub drg) to draw
the hub in both the wireframe and shaded graphics views.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 5 of 14
Tower and monopile modelling
The turbine support structure comprises a tower and monopile, as well as a 15m transition piece.,
which we have modelled using line objects. The corresponding line types utilise the homogeneous
pipe category, which allows for modelling of the variable outer and inner diameter profiles of
these items (where necessary) as well as their physical properties.
Although it is possible to model the support structure using a single line, with multiple sections,
we have intentionally chosen to model these items as separate line objects which are connected
together, in sequence, using line-to-line connections. This provides the option to check the
interface loads between these components using the line end load results available in OrcaFlex.
Note: with the turbine support structure being extremely stiff, this can give rise to results
precision problems in dynamics i.e. it is possible that single precision logging, which is the default
setting specified on the dynamics page of the general data form, will not log the node position
results with enough significant figures to allow certain results to be accurately derived from
them. Consequently, we have decided to log the dynamic results using double precision. For
further information about this setting, please refer to the Modelling, data and results | General
data | Logging OrcaFlex help page.
We have also implemented the potential tower influence model, which is set on the tower page of
the 15MW RWT data form (pictured below). This makes use of the classic potential theory model,
further details of which can be found on the Modelling, data and results | Turbines | Turbine data |
Tower OrcaFlex help page.
When using this model, the tower connections must be specified along with the tower profiles
data. These profiles are defined at a number of discrete unstretched arc lengths along the tower
length, starting at End A. The outer diameter for each tower profile is also specified here. The data
are assumed to vary linearly between the arc lengths at which they are given.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 6 of 14
Soil modelling
The soil model, required to capture the interaction between the seabed and the monopile
foundation, is specified as part of the 15MW RWT technical report (see Appendix B). This
represents the monopile-to-soil interaction using the ‘elastic halfspace model’ where linear
springs resist the translational and rotational movement of the embedded monopile in 6
degrees of freedom (DOFs).
The P-y models, available in OrcaFlex, cannot account for these spring constants in 6 DOFs so we
have chained 4 calculated DOFs constraints together to capture the translational and rotational
spring stiffnesses at each embedded monopile line node: (1) horizontal (x, y), (2) vertical (z), (3)
rocking (Rx, Ry), (4) twisting (Rz).
Each line node is then connected to its respective ‘chain’ of constraints, to create the following
connection sequence:
Node torsional constraint (Rz) Rocking constraint (Ry & Rx) vertical constraint (z)
horizontal constraint (x & y) Global (anchored)
The stiffnesses calculated for each constraint account for the embedded depth (h) of each
monopile line node and the constraint chains work to resist the loads applied to the embedded
monopile in all 6 DOFs. Note that the sequence terminates at the horizontal constraint (x & y)
constraint, which is connected (anchored) to the global axis system.
For each constraint, the corresponding DOFs are set to free, on the degrees of freedom page of
the constraint data form. The necessary translational/rotational stiffnesses are calculated and
assigned to each constraint, through the stiffness & damping page. The stiffnesses required for
the horizontal (x, y) and vertical (z) constraints are input using the translational stiffness data item.
The stiffnesses required for the rocking (Rx, Ry) and twisting (Rz) constraints are input through
the rotational stiffness data item.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 7 of 14
As an example, the right-hand images (below) show the constraint settings required to capture
the horizontal spring stiffness (x & y) at the line node which sits level with the mud line.
To ensure each of the monopile lines nodes are connected to their respective constraint chains,
End B of the line is connected to the necessary constraint chain through the monopile’s end
connection. The other embedded nodes are connected to their respective constraint chains using
mid-line connections, as shown by the image below.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 8 of 14
As these constraints effectively take over from the seabed model in OrcaFlex, the seabed normal
and shear stiffness – specified on the seabed page of the environment data form – are both set to
0.
Note: this method of ‘chaining’ constraints is strictly only valid for small angular displacements.
In this case, the soil stiffnesses are very high and so the displacement of each embedded
monopile node is expected to be small. However, chaining constraints in this way may not be
appropriate in cases where the constraint out-frame rotates significantly relative to the in-frame.
Environment
The simulation considers a build-up (stage 0) duration of 200s followed by a stage 1 duration of
300s. Irregular (JONSWAP) waves, with a significant wave height (HS) of 5m and spectral peak wave
period (TP) of 8s are also considered.
On the wave calculation page of the environment data form, we have also specified a wave
kinematics cutoff depth of 30m. This is measured downwards from the mean sea surface and,
below this depth, the wave kinematic fluid velocity and acceleration are taken to be zero. The
default value here is infinity, which is equivalent to not having a cutoff depth at all. As OrcaFlex
does not automatically exclude wave kinematics below the seabed (mud line), specifying a
nominal depth ensures the embedded monopile does not experience any wave loading.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 9 of 14
In this example, we have chosen to apply a turbulent wind flow in the simulation environment.
This is applied using the full field wind model, which captures the variation of wind velocity, in
both space and time, with data specified in an external TurbSim file (wind.bts). This file contains a
time series of wind velocity, in 3-dimenions, at points on an evenly spaced 2-dimensional grid (in
the vertical yz-plane).
On the wind page of the environment data form, the name of the .bts file is specified along with
the wind direction and origin; which determine how the .bts file's coordinate system is mapped on
to the OrcaFlex coordinate system. Clicking file header provides some visibility on the information
contained in the .bts file header. The file header provides useful information about the imported
wind data; including the size, position and resolution of the 2D grid.
During the simulation, this grid is considered to move forward at a mean speed of 15m/s. In
doing so, the grid sweeps through a volume in the model space within which the turbine is
positioned; thus, imparting aerodynamic loading on the system. The images below provide a
visual representation of this.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 10 of 14
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 11 of 14
The file header also reports some information about the tower points included as part of the .bts
file. As the bottom of the 2D grid is positioned 20m above the sea surface, the implemented
tower points help to ensure wind loading is captured on the length of tower between the grid
and the sea surface.
Based on the reported file header information, we have specified a Z wind origin value of 145m,
which represents the height of the reference point above the sea surface. A wind direction of 0° is
also considered, which is the direction in which the 2D grid will propagate through the model
space. For this simulation, we have also set the wind to ramp during build-up by ticking the
corresponding check-box. Note that, when the wind is ramped, no wind is applied during statics,
otherwise the wind velocity at the simulation start time is applied during statics.
For further details related to wind modelling in OrcaFlex, please see the Modelling, data and
results | Environment | Wind data help page.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 12 of 14
Results
Wind
Opening the workspace file named K03 full field wind.wrk provides some visibility on the wind
characteristics specified by the wind.bts file. The upper graph shows the wind speed, at the hub
position (0, 0, 150 m), which ramps up during the build-up phase (stage 0). The lower graph
shows the variation in wind direction at the same hub position, which applies the starting wind
direction from the .bts file (-6.4°) as a constant wind direction over the build-up phase. The
turbulent nature of the wind field is evident by the speed and direction profiles shown over stage
1.
Rotor and generator response
The workspace file, named K03 rotor and generator response.wrk, displays time history results for
the generator power output and blade pitch response over stage 1. Note, the blade pitch rapidly
increases around 183s, 225s and 240s into the simulation, which coincides with the wind speed
consistently exceeding 10.59m/s: the ‘rated’ wind speed for the 15MW RWT. This represents the
wind speed above which the control system will pitch the blades to regulate the turbine’s power
output.
Blade tip response
Opening the workspace file named K03 blade tip response.wrk produces time history results, over
stage 1, showing the out of plane deflection and in plane deflection at the tip of blade 1 (End B).
Generally speaking, the deflection is defined as the node's position relative to the blade's pitch
axis, i.e. relative to a line passing through the root frame’s z-axis.
The deflection component in the turbine's z-axis direction, represents the out of plane deflection
(pictured below, left). Its component normal to both the turbine's z-axis direction and the blade's
pitch axis, is reported as the in plane deflection (pictured below, right).
The bottom left-hand graph shows a time history of the line clearance results for blade 1. With
reference to the left-hand image below, the results selection form lets you choose how to report
clearances: (i) from the blade to all other lines or (ii) from the blade to a specified line. In this
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 13 of 14
case, we have chosen to report the blade tip clearance from all lines, so the line clearance graph
shows the shortest distance between the node at End B of the blade and the outer edges of the
line segments in the model (pictured below, right).
Note: the line clearance result does not account for the cross-sectional extent of the blade itself.
For further details relating to the turbine results, available in OrcaFlex, please refer to the
Modelling, data and results | Turbines | Turbine results help page.
Monopile response
Opening the workspace file named K03 monopile response.wrk displays some instantaneous value
range graphs showing the monopile response mid-way through stage 1.
The upper right-hand graph shows the x Morison force experienced by the monopile line. This
represents the x-component of the total force defined by Morison's equation; which is the sum
of the x drag force and the x fluid inertia force (also shown by the bottom two graphs).
Note that the embedded monopile (arc length range of 30m to 75m) does not experience any
wave loading because the wave kinematics cutoff depth is set to 30m.
Soil response
Finally, the workspace file named K03 soil response.wrk, displays some results showing how the
constraint chain, at the mud line (h=0m), works to represent the interaction between the
monopile and the soil.
For the constraint capturing the horizontal soil stiffness (soil-h=0m: y-x), the lower left-hand graph
shows a time history of the out-frame X; which is the global X position of the out-frame. For the
constraint which captures the rotational spring stiffness of the soil (soil-h=0m: Rz), the lower
right-hand graph shows a time history of the out-frame dynamic Rz. This represents the
orientation of the out-frame relative to its static orientation.
In this case, the soil stiffnesses assigned to each degree of freedom are very high. As a result, the
calculated out-frame displacements are generally very small. The out-frame rotations are also
very small and this is important when considering the small-angle approximation which
accompanies this method of chaining constraints together.
Lastly, the upper right-hand graph shows the in-frame connection force results for the horizontal
constraint (x & y). With this constraint being connected to the global axis system (anchored), the
chain effectively terminates here and so the reported force is the resultant load the line node
imparts on the constraint chain.
www.orcina.com
Renewables: K03 Fixed-bottom offshore wind turbine Page 14 of 14
Further details about the available results for constraints can be found on the Modelling, data
and results | Constraints | Results help page.