Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind...

14
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

Transcript of Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind...

Page 1: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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

Page 2: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 3: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 4: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 5: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 6: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 7: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 8: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 9: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 10: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

www.orcina.com

Renewables: K03 Fixed-bottom offshore wind turbine Page 10 of 14

Page 11: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 12: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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

Page 13: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.

Page 14: Renewables: K03 Fixed-bottom offshore wind turbine...The model (K03 Fixed-bottom offshore wind turbine.sim) is shown below. The turbine takes the form of a three-bladed rotor, with

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.