0% found this document useful (0 votes)
162 views75 pages

MECC2022 - OpenFAST Demonstrations

MECC2022_OpenFAST Demonstrations

Uploaded by

huynhnhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
162 views75 pages

MECC2022 - OpenFAST Demonstrations

MECC2022_OpenFAST Demonstrations

Uploaded by

huynhnhu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 75

Preparations

• Download git tool for Windows


– https://git-scm.com/download/win
• Install it with appropriate platform

NREL | 1
Preparations – No Compilation

• Visit OpenFAST code on GitHub


– https://github.com/OpenFAST/openfast/releases/tag/v3.1.0
• Download the latest release (ver. 3.1.0)

• Then, download OpenFAST’s regression test


(-r-test) repository to given directory in a
shell command prompt
– git clone https://github.com/OpenFAST/r-test.git

• Highly recommend to read OpenFAST


Documentation
– https://openfast.readthedocs.io/en/main/

NREL | 2
Preparations -Windows

• Download an open-source code for post-


processing, named as pyDatView
– https://github.com/ebranlard/pyDatView/releases

NREL | 3
Preparations

• Visit OpenFAST code on GitHub


– https://github.com/OpenFAST/openfast
• Open a shell command prompt in given directory and download it
using the following command
– git clone https://github.com/OpenFAST/openfast.git
– Or git clone --recurse-submodules https://github.com/OpenFAST/openfast.git
(Second command line is automatically installed for both OpenFAST and r-test
repositories)

• Similarly, download
OpenFAST’s regression test (-
r-test) repository Click here to
copy the link
– git clone
https://github.com/OpenFAST/r-
test.git

NREL | 4
Preparations

• Download and install an open-source code for post-processing,


named as pyDatView
– git clone --recurse-submodules https://github.com/ebranlard/pyDatView.git

• Note that your computer should have python/anaconda installation

NREL | 5
Preparations - Compiling for Linux

• In the Linux terminal, install dependent packages via the following


command
– apt install git cmake libblas-dev liblapack-dev gfortran-10 g++

• Clone the repository from GitHub using git


– git clone https://github.com/OpenFAST/OpenFAST.git
– cd OpenFAST
– mkdir build
– cd build
– cmake ..
– make openfast

Ref: https://openfast.readthedocs.io/en/main/source/install/index.html#cmake-with-make-for-linux-macos

NREL | 6
Demonstration:
Onshore Wind Turbine –
5 MW Baseline
NREL 5 MW Baseline Wind Turbine
Repower 5M Wind Turbine
• Fictitious, but representative,
multi-MW wind turbine
• Heavily influenced by REpower
5M prototype and DOWEC
project turbines
• Specifications include:
o Blade structural and
NREL 5 MW Turbine Properties
aerodynamic properties
o Nacelle and hub
o Drivetrain
o Tower
o Control system
▪ Generator torque
▪ Blade pitch

NREL | 8
OpenFAST Modules

• ElastoDyn Structural dynamics


• BeamDyn
• AeroDyn Aerodynamics
• InflowWind Fluid inflow
• ServoDyn
• HydroDyn
• SubDyn
• MAP++ • Steady, 8 m/s wind
• MoorDyn • No shear
• FEAMooring • No control
• OrcaFlexInterface • Fixed rotational speed
• Blade, tower, and drivetrain DOFs
• IceFloe
• IceDyn
NREL | 9
OpenFAST Input File Format

• Description
o Brief description, including options/units

• Keyword
o Variable name/identifier

• Value
o Numerical, logical, flag, or string

NREL | 10
OpenFAST Driver Input File

• TMax should allow convergence


• DT should resolve structural frequencies
(≤ 1/10 of the highest frequency DOF)

NREL | 11
OpenFAST Driver Input File

• CompElast=1: ElastoDyn without BeamDyn


• CompInflow=1: Inflow set by InflowWind
• CompAero=2: Aerodynamics computed by AeroDyn15
• Future releases
o Deprecate AeroDyn14
o Allow selection of “MHK=1” or “MHK=2”

NREL | 12
OpenFAST Driver Input File

• Specify module primary input files


o Path relative to folder containing .fst file
• Unused modules not specified

NREL | 13
OpenFAST Driver Input File

• Summary file prints inputs as read by the code


o Useful for debugging inputs
• SttsTime should balance screen updates with
time required to write to screen
• DT_Out can downsample calculated values
when writing to file

NREL | 14
OpenFAST Driver Input File

• Linearization=True enables linearization of the


full coupled solution
o Linearized equations can be output for
use in other models

NREL | 15
OpenFAST Driver Input File

• Visualization using VTK (Visualization ToolKit)

NREL | 16
ElastoDyn Primary Input File

• Specification of environmental conditions


moved to driver files in future release

NREL | 17
ElastoDyn Primary Input File

• Blade and tower bending DOFs enabled


• Drivetrain DOF enabled
• Generator and yaw DOFs disabled
o Fixed RPM specified
• Teeter and platform DOFs not applicable

NREL | 18
ElastoDyn Primary Input File

• Specify initial angles, displacements, and motions


• Fixed rotor speed of 9 rpm
• Platform inputs not used for onshore turbine

NREL | 19
ElastoDyn Primary Input File

• Specify turbine geometry


• Platform inputs not used for onshore turbine NREL | 20
ElastoDyn Primary Input File

• Specify turbine mass and inertia


• Platform inputs not used for onshore turbine

NREL | 21
ElastoDyn Primary Input File

• Specify blade structural input files


• BldFile(3) ignored for 2-bladed rotor

NREL | 22
ElastoDyn Primary Input File

• Specifications for teetering rotors

NREL | 23
ElastoDyn Primary Input File

• Gearbox and drivetrain specifications,


including drivetrain rotational flexibility

NREL | 24
ElastoDyn Primary Input File

• Furling properties (currently unused)

NREL | 25
ElastoDyn Primary Input File

• Specify tower structural input file

NREL | 26
ElastoDyn Primary Input File

• Specify formatting of outputs


written to file

NREL | 27
ElastoDyn Primary Input File

• List of user-selectable outputs


(not comprehensive)

NREL | 28
AeroDyn Primary Input File

• WakeMod options include steady and dynamic


BEM and OLAF (vortex model)
• AFAeroMod options include steady and unsteady
aerodynamics models

NREL | 29
AeroDyn Primary Input File

• Options to calculate tower influence and loads

NREL | 30
AeroDyn Primary Input File

• Cavitation check for MHK turbines


• Future releases will include options to
calculate buoyancy and added mass

NREL | 31
AeroDyn Primary Input File

• Future releases will specify environmental


conditions in driver input files

NREL | 32
AeroDyn Primary Input File

• BEM options, including optional correction


models

NREL | 33
AeroDyn Primary Input File

• Dynamic BEM, OLAF, and unsteady


aerodynamics model options

NREL | 34
AeroDyn Primary Input File

• Specify airfoil input file format and names

NREL | 35
AeroDyn Primary Input File

• Specify blade input files

NREL | 36
AeroDyn Primary Input File

• Tower geometric and


aerodynamic properties
• Future releases will
include buoyancy and
added mass properties
for tower, hub, and
nacelle

NREL | 37
AeroDyn Primary Input File

• Specify formatting of outputs written


to file
• Select blade/tower nodes for output

NREL | 38
AeroDyn Primary Input File

• User-selectable outputs

NREL | 39
InflowWind Primary Input File

• Type of wind specification


o Steady
o Uniform
o TurbSim
o Bladed
o HAWC
o Etc.

NREL | 40
InflowWind Primary Input File

• Steady wind speed, reference


height, and shear exponent

NREL | 41
Supporting Files

• ElastoDyn blade structural properties


• ElastoDyn tower structural properties
• AeroDyn blade geometric properties
• AeroDyn blade aerodynamic properties

NREL | 42
Running OpenFAST

• In a terminal, navigate to the folder containing the relevant


OpenFAST executable for your system and the simulation
input files
• For Mac users, run OpenFAST using the following command
for the onshore example
➢ ./openfast_Mac “Onshore/5MW_Onshore.fst”
• For Windows users, run OpenFAST using the following
command for the onshore example
➢ openfast_Windows.exe Onshore\5MW_Onshore.fst
• For Linux users, run OpenFAST using the following command
for the onshore example
➢ ./openfast_Linux Onshore/5MW_Onshore.fst

NREL | 43
OpenFAST Outputs

• Summary files
o OpenFAST (5MW_Onshore.sum)
o ElastoDyn (5MW_Onshore_ED.sum)
o AeroDyn (5MW_Onshore_AD.sum)
• Output file
o 5MW_Onshore.out

NREL | 44
OpenFAST Outputs

NREL | 45
OpenFAST Post Processing

Two post-processing tools using Matlab and Python languages are being
actively developed and supported.

https://github.com/OpenFAST

NREL | 46
OpenFAST GitHub Resources
OpenFAST Documentation https://openfast.readthedocs.io/en/main/index.html

OpenFAST GitHub repository https://github.com/OpenFAST/openfast NREL | 47


OpenFAST GitHub Resources
Discussion Forum: https://wind.nrel.gov/forum/wind/index.php
Highly recommended to find useful information before posting questions on
GitHub or this forum?

GitHub issues

MHK forum

NREL | 48
Thank You

Q&A
Demonstration:
Floating Offshore Wind Turbine –
OC4 Semisubmersible
OC4 Semi-Submersible FOWT
• Reference OC4 semi-submersible
floating offshore wind turbine
• Specifications include:
o Blade structural and
aerodynamic properties
o Nacelle and hub
o Drivetrain
o Tower
o Control system
▪ Generator torque
OC4 Semi-submersible FOWT with NREL 5-
▪ Blade pitch
MW Reference Wind Turbine
o Platform properties
o Mooring line

Robertson et. al. (2014). Definition of the Semisubmersible Floating


System for Phase II of OC4. Technical Report NREL/TP-5000-60601 NREL | 51
Specification of OC4 Semi-Submersible FOWT
Mooring System Properties OC4 Semi-submersible Floating Platform
Hydrodynamic Properties

Robertson et. al. (2014). Definition of the Semisubmersible Floating


System for Phase II of OC4. Technical Report NREL/TP-5000-60601 NREL | 52
OC4-OC6 International Collaboration – Result Overview
◼ From the most comprehensive benchmark
study to date is the Offshore Code (OC)
Comparison Collaboration project (Hywind:
OC3&4 and DeepCwind semisubmersible:
OC4,5,6), most of the engineering tools shows:
• The potential flow and Morison-only solvers
within the wave-frequency region provided the
similar results for the semisubmersible
platform.
• The viscous drag loads achieved with
calculating the Morison drag terms for each
member compared to approximation with a
global drag matrix is significant difference.
• Mean and slow drift caused by wave
excitation varies significantly between the
numerical codes.
• Heave response is improved when dynamic
pressure on heave plates is included in the
Morison-only approach.
• There is significant difference for moorings
using the dynamic method vs. the quasi-static
method, particularly in frequencies above the
linear wave range. Ref: Robertson et al. (2017). OC5 Project Phase II: Validation
Ref: Otter et al. (2021), “A review of modelling techniques of Global Loads of the DeepCwind Floating Semisubmersible
for floating offshore wind turbines”. Wind Energy;1–27 Wind Turbine. Energy Procedia, Vol.137: 37-58 NREL | 53
OC4-OC6 International Collaboration – Result Overview
◼ Compared to experiment data, most of the
engineering tools shows:
• Ultimate and fatigue loads were
underpredicted.
• The largest underpredictions were found at
the low-frequency responses in pitch and
surge due to inaccuracies in the nonlinear
difference-frequency loads; codes that used
second order hydrodynamics achieved the
closest result, but still underpredicted loads.
• Differences in aerodynamics were masked by
the differences in hydrodynamic loads; without
an uncertainty assessment the researchers
found it difficult to accurately quantify the
differences in the results between
experimental and numerical simulations.
• Some nonlinear loads could have been
caused by the cables for the load cells on the
model.
Ref: Otter et al. (2021)

Ref: Robertson et al. (2020) NREL | 54


OpenFAST Modules

• ElastoDyn Structural dynamics • Similar setting can


• BeamDyn be referred to the
previous onshore
• AeroDyn Aerodynamics demonstration
• InflowWind Fluid inflow
• ServoDyn Control and electrical-drive dynamics
• HydroDyn Hydrodynamic loads
• SubDyn
• MAP++ Mooring line with multi-segmented,
• MoorDyn quasi-static solver
• FEAMooring • Steady, 8 m/s wind
• No shear
• OrcaFlexInterface
• White noise spectrum (irregular)
• IceFloe • Blade pitch and variable-speed control
• IceDyn • Blade, tower, drivetrain, and platform DOFs
• 3 catenary mooring lines NREL | 55
OpenFAST Example Folder

• This file needs to be in


the same folder as the
executable file

• Replace the
executable file
depending on
your platform

NREL | 56
OpenFAST Driver Input File

• TMax should allow convergence


• DT should resolve structural frequencies
(≤ 1/10 of the highest frequency DOF)

• CompElast=1: ElastoDyn without BeamDyn


• CompInflow=1: Inflow set by InflowWind
• CompAero=2: Aerodynamics computed by AeroDyn15*
• CompServo = 1: Compute control and electrical-drive dynamics
• CompHydro = 1: Compute hydrodynamic loads using HydroDyn
• CompMooring = 3: Compute mooring loads using MoorDyn
• There are the MAP++ or FEAMooring inputs if you want to
play around
NREL | 57
OpenFAST Driver Input File

• Specify module primary input files


o Path relative to folder containing .fst file
• Unused modules not specified

• Refer the setting meaning of other parameters


from the previous demonstration as needed

NREL | 58
HydroDyn Input File

• Specify water density and depth

• WaveMod = 3: Specify wave type - white noise


spectrum
o Can be still water, regular wave w/wo
user-defined wave phase,
JONSWAP/Pierson-Moskowitz spectrum,
user wave spectrum, wave elevation time
history, externally generated full wave-
kinematics time series
o Depend on PotMod option,
aforementioned wave types may not be
valid
NREL | 59
HydroDyn Input File

• Recommend “0.1<=WaveDT<=1.0”
• Specify wave height and period
• Define wave direction

NREL | 60
HydroDyn Input File

• No current condition in this example

• PotMod = 1: Use hydrodynamic coefficients


from third-party program (WAMIT format)
• Enable to use any potential flow code
(NEMOH, Capytaine, AQWA,
OrcaWave,HAMS, etc.) if their output can
be converted to WAMIT format
• Refer to BEMRosette code convert from
NEMOH to WAMIT

NREL | 61
HydroDyn Input File

• RdtnMod = 1: Radiation memory-effect model


based on convolution integral approach
• If RdtnMod = 2: state-space is used to
consider radiation memory-effect.
• Then, additional state-space matrix inputs
are required from WAMIT directory

NREL | 62
HydroDyn Input File

• Specify directory of WAMIT input


o Require .1, .3, .hst files for linear
hydrodynamic solver
o For 2nd-order potential forces on the
platform (specified by DiffQTF and
SumQTF), it requires additional WAMIT
outputs.

NREL | 63
HydroDyn Input File

• Platform specifications such as its COG w.r.t


body reference point (0,0,0), platform volume,
and its buoyancy location

• From lines 68-93, users can specify additional


stiffness and damping (linear and quadratic)
matrices, force vector

NREL | 64
HydroDyn Input File

• To model viscous drag effect on platform


structure, we could use hybrid model
(potential flow + Morison element)
• Or users can use Morison element only to
model their supporting structures as lattice
structure - need to specify proper drag and
added-mass coefficients
• From lines 93-221 of this HydroDyn input
file, it shows us how to specify Morison
elements of OC4 platform (Cross brace,
main column, upper/base columns), drag
coefficients

NREL | 65
HydroDyn Input File

• Specify ballast specification as shown the


figure below

• Specify output variables for post-


processing and analysis
NREL | 66
MoorDyn Input File

• Specify line properties line diameter,


mass per unit length, extensional
stiffness, etc.

MoorDyn Documentation: https://moordyn.readthedocs.io/en/latest/ NREL | 67


MoorDyn Input File

• Specify connection locations:


o Fairlead location: connection point at the
platform structure via “Vessel” type
o Anchor location: at seabed via “Fixed”
type

MoorDyn Documentation: https://moordyn.readthedocs.io/en/latest/ NREL | 68


MoorDyn Input File

• Specify no. mooring line (3 ones in this


example), its unstretched length, no. elements
per mooring line
o Need to specify proper no. elements per
mooring line to get convergence result
o Specify proper connection nodes per each
line

MoorDyn Documentation: https://moordyn.readthedocs.io/en/latest/ NREL | 69


ServoDyn Input File

• PCMode = 5: compute blade pitch control using


user-defined from Bladed-style DLL
o Can compute blade pitch control using
user-defined from “PitchCntrl” routine or
from Simulink/Labview
o TPCOn = 0: time to activate blade pitch control

MoorDyn Documentation: https://moordyn.readthedocs.io/en/latest/ NREL | 70


ServoDyn Input File

• VSContrl = 5 : compute variable-speed control


using user-defined from Bladed-style DLL
o Can compute variable-speed control using
user-defined from “UserVSCont” routine or
from Simulink/Labview

• GenEff = 94.4 : Consider generator efficiency

ServoDyn Documentation: https://openfast.readthedocs.io/en/main/source/user/servodyn/index.html NREL | 71


ServoDyn Input File

• Refer to OpenFAST documentation for these


setting. Not use in this demonstration

ServoDyn Documentation: https://openfast.readthedocs.io/en/main/source/user/servodyn/index.html NREL | 72


ServoDyn Input File

• Specify the path of user-defined from Bladed-


style DLL
• Mac OS and Linux need a different compiled
DISCON lib (Linux: .so extension; Mac: .dylib
extension)

ServoDyn Documentation: https://openfast.readthedocs.io/en/main/source/user/servodyn/index.html NREL | 73


Running OpenFAST

• In a terminal, navigate to the folder containing the relevant


OpenFAST executable for your system and the simulation
input files
• For Mac users, run OpenFAST using the following command
for the onshore example
➢ ./openfast_Mac
“Offshore_OC4/5MW_OC4Semi_WSt_WavesWN.fst”
• For Windows users, run OpenFAST using the following
command for the onshore example
➢ openfast_Windows.exe
Offshore_OC4\5MW_OC4Semi_WSt_WavesWN.fst
• For Linux users, run OpenFAST using the following command
for the onshore example
➢ ./openfast_Linux
Offshore_OC4/5MW_OC4Semi_WSt_WavesWN.fst
NREL | 74
OpenFAST Outputs

NREL | 75

You might also like