Analysis A02 Lx: max average tilt angle (serviceability limit state)
Introduction
Aim
To verify that the average whole platform inclination angle is less than the specified angle (serviceability limit state).
Constraints
ID |
Constraint |
Units |
Value |
Description |
|---|---|---|---|---|
1 |
Max_tilt_mean |
deg |
5.00 |
Max allowable average tilt (global platform response inclination) in roll/pitch |
Notes |
|
|---|---|
^ |
For IEA 15MW Reference Wind Turbine (Updated reference values here) |
^^ |
Value agreed in WIND-14 STIFF-STIFF TOWER DESIGN FOR FLOATING WIND TURBINES (Previous TIC LCPE project) |
^^^ |
DNV-RP-0289, Section 5.5 Serviceability limit state |
Methodology
Level 0 (L0)
The average tilt angle is obtained with an analytical approach, using the following equation.
where
Variable |
u.m. |
Description |
|---|---|---|
\(F_{Trated}\) |
N |
Aerodynamic thrust at rated wind speed |
\(z_h\) |
m |
Hub height vertical coordinate |
\(z_m\) |
m |
Fairlead vertical coordinate |
\(F_B\) |
N |
Buoyancy force (at rest) |
\(GM_{pitch}\) |
m |
Metacentric height for a rotation around the y axis |
Level 1 (L1)
Not implemented.
Level 2 (L2)
Warning
Differently from L0, at this analysis level, a series of OpenFAST aero-hydro-servo-elastic coupled model of dynamics analyses are run, and postprocessed, therefore while A02 L0 takes a minute or so, A02 L2 may take 20-30 minutes to run.
OpenFAST is utilised to derive this parameter, adopting the following settings:
- Metocean conditions:
- Wind
Speed: steady at rated wind speed (10.64 m/s)
Turbulence: No
Direction: 5 directions, 0:30:120
Waves: no waves
Currents: no currents
- Wind turbine
Situation: power production
- Simulation:
Analysis time: 600 seconds
SCUBE postprocessing extracts the last 60s of the roll (PtfmRoll) and pitch (PtfmPitch) OpenFAST output signals, derives the total tilt angle (square root of sum of squares), and then calculates its average, which is then compared against the average specified in the constraint file.
Note
This is not a realistic wind, waves, and currents situation, since there are no waves, no currents, and the wind speed is constant in time (steady), therefore the metocean conditions will NOT be taken from the Metocean input xlsx.
It is only used to estimate the average tilt angle of the overall system with a constant aerodynamic thrust force. In the simulation, the platform will initially drift toward the horizontal equilibrium condition (transient), and will then reach the final equilibrium position.
Perform the analysis
Prepare the input file
The SCUBE input data can be found in scube\data.
Constraints
Open the file
CNSTR.xlsxFamiliarise yourself with the variables, explained in the
legendsheetSelect the sheet
constraints_A02_L0for level 0 (L0) analysis, orconstraints_A02_L2for level 2 (L2) analysisA pre-prepared list of contraints and values can be found. Adjust the value for each constraint (where available) if necessary
Save and close the spreadsheet file
Tower
Open the file
INPUT_tower.xlsxFamiliarise yourself with the variables, explained in the
legendsheetSpecify the geometry of the cans in the
geometrysheetSpecify the aerodynamic drag properties of the tower in the
dragsheet (if unsure, leave the default values, they can be applied to a wide range of dimensions)Specify the tower material characteristics in the
materialsheet (the default values are for the steel ASTM A572 Grade 50, see more hereSave and close the spreadsheet file
Environment
For this analysis, this input file is not used, so you can ignore it.
OpenFAST simulation settings
As mentioned, this analysis, at level 2 (L2), runs a series of (simple) OpenFAST analyses (see Methodology above).
The default values are relevant for the IEA 15MW Umaine semisubmrsible platform (see here). If another wind turbine generator and/or another floating support structure are considered, the OpenFAST settings should be checked and, if necessary, adjusted.
If you wish to change the OpenFAST settings mentioned above, these can be changed by modifying the relevant values in the WEIS input file modeling_options_A02_L2.yaml, which can be found in the folder scube\data\weis_anlyses\A02_L2\: look at the values at line 110 and beyond. Please look at the in-line comments (i.e,, the text after the “#” symbol) for further info on the parameter description.
DLC_driver: openfast_input_map: inflow_prop_dir: [InflowWind,PropagationDir] nac_yaw_dir: [ElastoDyn,NacYaw] DLCs: - DLC: "1.2" # With the new WEIS release, to be substituted by "Steady" wind_speed: [10.64] # (m/s) Wind turbine rated wind speed user_group: - inflow_prop_dir: [0., 30., 60., 90., 120.] # (deg) Wind propagation directions (for direction convention, please refer to the parameter "PropagationDir" in here: https://openfast.readthedocs.io/en/dev/source/user/fast.farm/InputFiles.html#ambient-wind-with-inflowwind-module-input-files nac_yaw_dir: [0., -30., -60., -90., -120.] # (deg) Initial or fixed nacelle-yaw angle (degrees). NB To align wind and nacelle, nac_yaw_dir = -inflow_prop_dir, e.g., if inflow_prop_dir= [30.], nac_yaw_dir= [-30.] analysis_time: 600 #600 # (s) OpenFAST simulation analysis time. transient_time: 0 turbulent_wind: flag: True HubHt: 150 # (m) Wind turbine rotor hub height, inertial axis system WindProfileType: 'PL' RefHt: 150 # (m) Reference height, height at which the wind speed (i.e, "wind_speed") is given. Keep equal to HubHt PLExp: 0.12 # (N/A) Wind profile power law exponent TurbModel: 'NONE'
For example, it may be necessary to change:
The rated wind speed at which these simulations are done: change the value of
wind_speedThe number of wind directions over which the simulation is performed: change the values in the
inflow_prop_dirvector, and accordingly thenac_yaw_dirvector. For notation, please see hereThe simulation time length: change
analysis_time, making sure it is long enough to have the initial transient responses disappearThe hub height: change
HubHtThe reference height, at which the wind speed is specified: change
RefHtThe wind profile power law exponent: change
PLExp
Run the analysis
Open a miniforge/miniconda/conda terminal prompt
Activate the WEIS environment you set up (see Installation)
conda activate weis-env
Navigate to the root folder
scubeLaunch the analysis with the following command
python main.py A02 L0
or
python main.py A02 L2
Expected conda prompt outcome
If all goes well, you should see something similar to the following.
Level 0 (L0)
Using weis.aeroelasticse in rosco.toolbox...
******* SCUBE: preprocessing - updating tower geometry *******
******* SCUBE: processing - WEIS analysis *******
RuntimeWarning: C:\Users\mauri\miniforge3\envs\weis-env2\Lib\site-packages\wisdem\commonse\utilization_dnvgl.py:322
The number of calls to function has reached maxfev = 50.RuntimeWarning: C:\Users\mauri\miniforge3\envs\weis-env2\Lib\site-packages\wisdem\commonse\cylinder_member.py:513
divide by zero encountered in scalar divideRuntimeWarning: C:\Users\mauri\miniforge3\envs\weis-env2\Lib\site-packages\wisdem\commonse\cylinder_member.py:514
divide by zero encountered in scalar divide----------------
Design Variables
----------------
name val size lower upper
---- --- ---- ----- -----
-----------
Constraints
-----------
name val size lower upper equals
---- --- ---- ----- ----- ------
----------
Objectives
----------
name val size
---- --- ----
Run time (A02_L0): 11.181295156478882
******* SCUBE: postprocessing - results VS constraints analysis *******
UserWarning: C:\Users\mauri\miniforge3\envs\weis-env2\Lib\site-packages\openpyxl\worksheet\_read_only.py:85
Data Validation extension is not supported and will be removed
******* Constraint definitions imported *******
******* Simulation output xlsx and yaml files data loaded *******
******* Constraint verification started *******
Check of constraint Max_tilt_mean
******* Constraint verification completed *******
******* SCUBE: Validation report with formatting exported successfully *******
[INFO] Time taken: 0:00:14
Level 2 (L2)
See the full output here
Common errors
Permission error
PermissionError: [Errno 13] Permission denied: 'data/INPUT_tower.xlsx'
The file INPUT_tower.xlsx is still open on your pc. In order to be safely read by SCUBE, the file needs to be closed.
A similar error can occur for CNSTR.xlsx.