Horizontal wind profile

Dear all,

In the TurbSim v2.00.00 manual I read that a user defined vertical mean wind speed profile can be used. Is it possible to also define a horizontal mean wind speed profile? I would like to define a 2D mean windspeed inflow profile to represent a far wake inflow.

Would it also be possible to add a mean flow to the generated .wnd files? For example that I would add a wake to an existing .wnd file by changing the mean values at certain points in the grid?

Thank you in advance.

Sincerely,
Christophe

Dear Christophe,

The user-specified wind profile option in TurbSim v2.00 allows you to specify the mean wind speed and mean wind direction as a function of height, but does not allow you to specify a more general 2D mean wind profile. For that, you’d have to change the TurbSim source code.

Best regards,

Dear Dr. Jason Jonkman,

I am not familiar with coding in Fortran. Is there any other way to represent a waked inflow? For example when I have a .wnd file generated by TurbSim for a 35x35 grid, would it be possible to change the mean values at each gridpoint to a desired value?

Best regards,
Christophe

Dear Christophe,

In lieu of changing TurbSim, another option could be to develop a script to read the TurbSim data, modify it, and write the updated TurbSim file. I’m not aware of a MATLAB-based writer of TurbSim binary (*.bts) formatted wind data files, but there is a MATLAB-based reader, readfile_BTS.m, in the MATLAB Toolbox: github.com/OpenFAST/matlab-tool … /Utilities. I’m sure with a bit of work, this script could be updated to become a writer. Of course, there is a Fortran-based writer inherent within the TurbSim source code.

Best regards,

Dear Dr. Jason Jonkman,

Thank you for your quick reply! Do I also need to change the summary file (.sum) or is it sufficient to just change the full field time series (.wnd) file?

Sincerely,
Christophe

Dear Christophe,

You should only need to change the *.wnd file, if you are using Bladed-formatted files (or the *.bts file if using TurbSim format). The summary (*.sum) file used together with the *.wnd file in Bladed format stores the mean wind speed, but not the wind profile.

If you are not already familiar, the appendices in the InflowWind User’s Guide and Theory Manual would likely be informative to you: drive.google.com/file/d/1-yJox2 … sp=sharing.

Best regards,

Dear Jason,

Could you please advice me on where I can get the wind profile along the tower (I want to know whether the wind shear is applied or not in inflow wind). I am considering steady wind in inflowwind file. I am using OpenFAST v3.0.

Thanks,
Satish J

Dear Satish,

Yes, the wind shear specified within InflowWind is applied to the tower. You can output the wind along the tower at each tower aerodynamic analysis node via AeroDyn output TwN#VUndx, etc.

Best regards,

Dear jonkman

I want to set the inflowwind as the wake model developed by myself. Its form is similar to that in Figure 1, but on the YOZ plane, its velocity distribution changes along the Y and Z directions, so the WindType of uniform format can not meet my requirements. Turbosim can only generate time-series wind files, which means that the wind speed changes with time. And my wind speed doesn’t change with time. So I think of using IECWind to generate the wind file i need . Can I achieve my goal by modifying iecwind.f90?

When I run IECWind to test whether I can generate the input file that inflowwind can use, I find that the. Wnd format file generated by IECWind is the same as the uniform format file. but the. Wnd file generated by Turbsim cannot be opened with Notepad. Can the wind file generated by IECWind realize that the wind speed will change along the law I set in Y and Z directions?

I am looking forward to your reply

Best regards,


fig1.png

Dear Russell,

The simple IECWind software was developed to generate uniform wind file formats, which only support (possibly time-varying) wind with shear.

The *.wnd files generated by TurbSim are binary files in Bladed format.

If you want to code up your own wind data with Y and Z variation based on an analytical function, I recommend using the user-defined functionality of the InflowWind module (UserWind), which involves modifying the IfW_UserWind.f90 file and recompiling FAST / OpenFAST.

See the InflowWind User’s Guide for more information: nrel.gov/wind/nwtc/assets/d … Manual.pdf.

Best regards,

Dear Dr. Jason Jonkman,

Thank you for your advice. I am trying to edit the user defined f90 file.

I have another question.I am trying to model a wind turbine by OpenFAST with setting (WakeRegMethod=[2] or DiffusionMethod=[1]). OpenFast is aborted with the following error:

FAST_InitializeAll:AD_Init:Init_FVWmodule:FVW_Init:FVW_ReadInputFile:Error in file.\Helix_OLAF.dat: Wake regularization method (WakeRegMethod) not implemented: 2
or FAST_InitializeAll:AD_Init:Init_FVWmodule:FVW_Init:FVW_ReadInputFile:Error in file.\Helix_OLAF.dat: Diffusion method (DiffusionMethod) not implemented: 1.

Can these two options not be implemented in openfast ? The openfast manual illustrates that setting DiffusionMethod=[1] is the same as using the wake age method (WakeRegMethod=[3]).Does this mean that the calculation result with setting wakeregmethod = [3] and diffusionmethod = [0] is the same as that with setting wakeregmethod = [1] and diffusionmethod = [1]?

Sincerely,
Russell

Dear Russell,

The option DiffusionMethod=1 is not available, so you’ll need to set this parameter to 0 (We most likely forgot to activate it. We’ll try to fix this in the future).

To use the core spreading method, you will have to use WakeRegMethod=3 (and DiffusionMethod=0).

You can follow the guidelines presented here to setup some of the OLAF parameters:
openfast.readthedocs.io/en/dev/ … guidelines

Note that RegDetMethod=2,3 have been added recently and might not be available in older versions of OpenFAST. They are yet more convenient because the “RegFactors” are then dimensionless.

I hope that helps,

Emmanuel

Dear Emmanuel

With your help, my program can run normally and get the correct results. Thank you so much for your great patience and huge help.

Best wishes,

Russell

Dear Jonkman,

I want to obtain the harmonic wind velocity which can be used in Fast v7, and I find that turbsim can only generate uniform wind velocity. Should I use InflowWind or other software to generate harmonic wind velocity that can be used in Fast v7? If so, please give me a copy of that. Thanks in advance.

Best regards,
Kevin

Dear Kevin,

Actually, TurbSim can generate turbulent inflow with full-field spatial-temporal variations.

By harmonic wind inflow, are you referring to a wind velocity that changes as a sinusoid? NREL doesn’t supply any wind pre-processor to generate that, but I’m not sure I understand the application. Perhaps you want to apply a sinusoidal variation of turbine motion in the surge direction instead? Please clarify what you want to simulate.

Best regards,

Dear Jonkman,

I’m so sorry that I didn’t clarify my question. In fact, as you said, I want to generate a sinusoidal wind velocity over time, and so I can obtain a harmonic wind load in FAST v7. And I also want to know how to generate a sinusoidal variation of turbine motion in surge direction. Please give me some advice. Thanks

Best regards,
Kevin

Dear Kevin,

Well, you can manually-generate a uniform wind file type (called the "hub-height wind files in FAST v7 and WindType = 2 in FAST v8 and OpenFAST) that contains a sinusoidal wind velocity over time. These are simple text-based wind data files giving the wind speed, direction, shear, etc. as a function of time that you can generate by hand or by a simple user-written script.

It is not possible in FAST v7 to prescribe a sinusoidal variation of turbine motion in the surge direction without either modifying the source code or using the Seismic functionality of FAST v7.

FYI: It looks like you are using a quite old version of FAST (v7). I would recommend upgrading to OpenFAST unless there is a strong reason to use an old version of the software. A new standalone driver for the AeroDyn module has recently been merged into the dev branch of OpenFAST that allows the user to prescribe motion of the wind turbine and perform aerodynamic-only analysis: github.com/OpenFAST/openfast/pull/688. One use of this functionality is to study how sinusoidal variation of surge motion impacts the aerodynamic response of wind turbine rotors.

Best regards,

Dear Jonkman,

According to your suggestion, now I got the sinusoidal wind velocity as shown in Fig1. And In Fast v7 (Rigid foundation model), I set the values of BlPitch and BlPitchF to 0, also set YCMode and PCMode to 0 to disable the yaw control and pitch control, so that a sinusoidal wind load can be obtained. I extracted the wind load at the hub as shown in Fig2, and the wind load is not symmetrical about 0. I think this is due to the fact that the BlPitch is 0. Do you agree? And I want to ask how to obtain a sinusoidal wind load symmetrical about 0, please give me some suggestion. Thanks a lot.


Fig1


Fig2

Best regards,
Kevin

Dear Kevin,

Are all structural degrees of freedom disabled? Is the rotor spinning? If so, is the response closer to zero mean when the rotor is parked?

Best regards,

Dear Jason,

I have set YCMode=0, PCMode=0, GenDOF=False, YawDOF=False and disabled all Platform DOF, the wind load at the hub is also not closer to zero mean as shown in Fig1. The main input file is attached for your further check. Really appreciate!

Best regards,
Kevin


Fig1

-------------------------------------------------------------------------------- ------- FAST INPUT FILE -------------------------------------------------------- NREL 5.0 MW Baseline Wind Turbine for Use in Offshore Analysis. Properties from Dutch Offshore Wind Energy Converter (DOWEC) 6MW Pre-Design (10046_009.pdf) and REpower 5M 5MW (5m_uk.pdf); Compatible with FAST v7.0. ---------------------- SIMULATION CONTROL -------------------------------------- True Echo - Echo input data to "echo.out" (flag) 1 ADAMSPrep - ADAMS preprocessor mode {1: Run FAST, 2: use FAST as a preprocessor to create an ADAMS model, 3: do both} (switch) 1 AnalMode - Analysis mode {1: Run a time-marching simulation, 2: create a periodic linearized model} (switch) 3 NumBl - Number of blades (-) 600.0 TMax - Total run time (s) 0.02 DT - Integration time step (s) ---------------------- TURBINE CONTROL ----------------------------------------- 0 YCMode - Yaw control mode {0: none, 1: user-defined from routine UserYawCont, 2: user-defined from Simulink} (switch) 9999.9 TYCOn - Time to enable active yaw control (s) [unused when YCMode=0] 0 PCMode - Pitch control mode {0: none, 1: user-defined from routine PitchCntrl, 2: user-defined from Simulink} (switch) 9999.9 TPCOn - Time to enable active pitch control (s) [unused when PCMode=0] 2 VSContrl - Variable-speed control mode {0: none, 1: simple VS, 2: user-defined from routine UserVSCont, 3: user-defined from Simulink} (switch) 9999.9 VS_RtGnSp - Rated generator speed for simple variable-speed generator control (HSS side) (rpm) [used only when VSContrl=1] 9999.9 VS_RtTq - Rated generator torque/constant generator torque in Region 3 for simple variable-speed generator control (HSS side) (N-m) [used only when VSContrl=1] 9999.9 VS_Rgn2K - Generator torque constant in Region 2 for simple variable-speed generator control (HSS side) (N-m/rpm^2) [used only when VSContrl=1] 9999.9 VS_SlPc - Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control (%) [used only when VSContrl=1] 2 GenModel - Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} (switch) [used only when VSContrl=0] True GenTiStr - Method to start the generator {T: timed using TimGenOn, F: generator speed using SpdGenOn} (flag) True GenTiStp - Method to stop the generator {T: timed using TimGenOf, F: when generator power = 0} (flag) 9999.9 SpdGenOn - Generator speed to turn on the generator for a startup (HSS speed) (rpm) [used only when GenTiStr=False] 9999.9 TimGenOn - Time to turn on the generator for a startup (s) [used only when GenTiStr=True] 9999.9 TimGenOf - Time to turn off the generator (s) [used only when GenTiStp=True] 2 HSSBrMode - HSS brake model {1: simple, 2: user-defined from routine UserHSSBr} (switch) 0 THSSBrDp - Time to initiate deployment of the HSS brake (s) 9999.9 TiDynBrk - Time to initiate deployment of the dynamic generator brake [CURRENTLY IGNORED] (s) 9999.9 TTpBrDp(1) - Time to initiate deployment of tip brake 1 (s) 9999.9 TTpBrDp(2) - Time to initiate deployment of tip brake 2 (s) 9999.9 TTpBrDp(3) - Time to initiate deployment of tip brake 3 (s) [unused for 2 blades] 9999.9 TBDepISp(1) - Deployment-initiation speed for the tip brake on blade 1 (rpm) 9999.9 TBDepISp(2) - Deployment-initiation speed for the tip brake on blade 2 (rpm) 9999.9 TBDepISp(3) - Deployment-initiation speed for the tip brake on blade 3 (rpm) [unused for 2 blades] 0.0 TYawManS - Time to start override yaw maneuver and end standard yaw control (s) 0.0 TYawManE - Time at which override yaw maneuver reaches final yaw angle (s) 0.0 NacYawF - Final yaw angle for override yaw maneuvers (degrees) 0.0 TPitManS(1) - Time to start override pitch maneuver for blade 1 and end standard pitch control (s) 0.0 TPitManS(2) - Time to start override pitch maneuver for blade 2 and end standard pitch control (s) 0.0 TPitManS(3) - Time to start override pitch maneuver for blade 3 and end standard pitch control (s) [unused for 2 blades] 0.0 TPitManE(1) - Time at which override pitch maneuver for blade 1 reaches final pitch (s) 0.0 TPitManE(2) - Time at which override pitch maneuver for blade 2 reaches final pitch (s) 0.0 TPitManE(3) - Time at which override pitch maneuver for blade 3 reaches final pitch (s) [unused for 2 blades] 0.0 BlPitch(1) - Blade 1 initial pitch (degrees) 0.0 BlPitch(2) - Blade 2 initial pitch (degrees) 0.0 BlPitch(3) - Blade 3 initial pitch (degrees) [unused for 2 blades] 0.0 BlPitchF(1) - Blade 1 final pitch for pitch maneuvers (degrees) 0.0 BlPitchF(2) - Blade 2 final pitch for pitch maneuvers (degrees) 0.0 BlPitchF(3) - Blade 3 final pitch for pitch maneuvers (degrees) [unused for 2 blades] ---------------------- ENVIRONMENTAL CONDITIONS -------------------------------- 9.80665 Gravity - Gravitational acceleration (m/s^2) ---------------------- FEATURE FLAGS ------------------------------------------- True FlapDOF1 - First flapwise blade mode DOF (flag) True FlapDOF2 - Second flapwise blade mode DOF (flag) True EdgeDOF - First edgewise blade mode DOF (flag) False TeetDOF - Rotor-teeter DOF (flag) [unused for 3 blades] True DrTrDOF - Drivetrain rotational-flexibility DOF (flag) False GenDOF - Generator DOF (flag) False YawDOF - Yaw DOF (flag) True TwFADOF1 - First fore-aft tower bending-mode DOF (flag) True TwFADOF2 - Second fore-aft tower bending-mode DOF (flag) True TwSSDOF1 - First side-to-side tower bending-mode DOF (flag) True TwSSDOF2 - Second side-to-side tower bending-mode DOF (flag) True CompAero - Compute aerodynamic forces (flag) False CompNoise - Compute aerodynamic noise (flag) ---------------------- INITIAL CONDITIONS -------------------------------------- 0.0 OoPDefl - Initial out-of-plane blade-tip displacement (meters) 0.0 IPDefl - Initial in-plane blade-tip deflection (meters) 0.0 TeetDefl - Initial or fixed teeter angle (degrees) [unused for 3 blades] 0.0 Azimuth - Initial azimuth angle for blade 1 (degrees) 0.0 RotSpeed - Initial or fixed rotor speed (rpm) 0.0 NacYaw - Initial or fixed nacelle-yaw angle (degrees) 0.0 TTDspFA - Initial fore-aft tower-top displacement (meters) 0.0 TTDspSS - Initial side-to-side tower-top displacement (meters) ---------------------- TURBINE CONFIGURATION ----------------------------------- 63.0 TipRad - The distance from the rotor apex to the blade tip (meters) 1.5 HubRad - The distance from the rotor apex to the blade root (meters) 1 PSpnElN - Number of the innermost blade element which is still part of the pitchable portion of the blade for partial-span pitch control [1 to BldNodes] [CURRENTLY IGNORED] (-) 0.0 UndSling - Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades] 0.0 HubCM - Distance from rotor apex to hub mass [positive downwind] (meters) -5.01910 OverHang - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters) 1.9 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters) 0.0 NacCMyn - Lateral distance from the tower-top to the nacelle CM (meters) 1.75 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters) 87.6 TowerHt - Height of tower above ground level [onshore] or MSL [offshore] (meters) 1.96256 Twr2Shft - Vertical distance from the tower-top to the rotor shaft (meters) 0.0 TwrRBHt - Tower rigid base height (meters) -5.0 ShftTilt - Rotor shaft tilt angle (degrees) 0.0 Delta3 - Delta-3 angle for teetering rotors (degrees) [unused for 3 blades] -2.5 PreCone(1) - Blade 1 cone angle (degrees) -2.5 PreCone(2) - Blade 2 cone angle (degrees) -2.5 PreCone(3) - Blade 3 cone angle (degrees) [unused for 2 blades] 0.0 AzimB1Up - Azimuth value to use for I/O when blade 1 points up (degrees) ---------------------- MASS AND INERTIA ---------------------------------------- 0.0 YawBrMass - Yaw bearing mass (kg) 240.00E3 NacMass - Nacelle mass (kg) 56.78E3 HubMass - Hub mass (kg) 0.0 TipMass(1) - Tip-brake mass, blade 1 (kg) 0.0 TipMass(2) - Tip-brake mass, blade 2 (kg) 0.0 TipMass(3) - Tip-brake mass, blade 3 (kg) [unused for 2 blades] 2607.89E3 NacYIner - Nacelle inertia about yaw axis (kg m^2) 534.116 GenIner - Generator inertia about HSS (kg m^2) 115.926E3 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) ---------------------- DRIVETRAIN ---------------------------------------------- 100.0 GBoxEff - Gearbox efficiency (%) 94.4 GenEff - Generator efficiency [ignored by the Thevenin and user-defined generator models] (%) 97.0 GBRatio - Gearbox ratio (-) False GBRevers - Gearbox reversal {T: if rotor and generator rotate in opposite directions} (flag) 28.1162E3 HSSBrTqF - Fully deployed HSS-brake torque (N-m) 0.6 HSSBrDT - Time for HSS-brake to reach full deployment once initiated (sec) [used only when HSSBrMode=1] "Dummy" DynBrkFi - File containing a mech-gen-torque vs HSS-speed curve for a dynamic brake [CURRENTLY IGNORED] (quoted string) 867.637E6 DTTorSpr - Drivetrain torsional spring (N-m/rad) 6.215E6 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s)) ---------------------- SIMPLE INDUCTION GENERATOR ------------------------------ 9999.9 SIG_SlPc - Rated generator slip percentage (%) [used only when VSContrl=0 and GenModel=1] 9999.9 SIG_SySp - Synchronous (zero-torque) generator speed (rpm) [used only when VSContrl=0 and GenModel=1] 9999.9 SIG_RtTq - Rated torque (N-m) [used only when VSContrl=0 and GenModel=1] 9999.9 SIG_PORt - Pull-out ratio (Tpullout/Trated) (-) [used only when VSContrl=0 and GenModel=1] ---------------------- THEVENIN-EQUIVALENT INDUCTION GENERATOR ----------------- 9999.9 TEC_Freq - Line frequency [50 or 60] (Hz) [used only when VSContrl=0 and GenModel=2] 9998 TEC_NPol - Number of poles [even integer > 0] (-) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_SRes - Stator resistance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_RRes - Rotor resistance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_VLL - Line-to-line RMS voltage (volts) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_SLR - Stator leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_RLR - Rotor leakage reactance (ohms) [used only when VSContrl=0 and GenModel=2] 9999.9 TEC_MR - Magnetizing reactance (ohms) [used only when VSContrl=0 and GenModel=2] ---------------------- PLATFORM ------------------------------------------------ 2 PtfmModel - Platform model {0: none, 1: onshore, 2: fixed bottom offshore, 3: floating offshore} (switch) "NRELOffshrBsline5MW_Platform_Monopile_RF.dat" PtfmFile - Name of file containing platform properties (quoted string) [unused when PtfmModel=0] ---------------------- TOWER --------------------------------------------------- 99 TwrNodes - Number of tower nodes used for analysis (-) "NRELOffshrBsline5MW_Tower_Monopile_RF.dat" TwrFile - Name of file containing tower properties (quoted string) ---------------------- NACELLE-YAW --------------------------------------------- 9028.32E6 YawSpr - Nacelle-yaw spring constant (N-m/rad) 19.16E6 YawDamp - Nacelle-yaw damping constant (N-m/(rad/s)) 0.0 YawNeut - Neutral yaw position--yaw spring force is zero at this yaw (degrees) ---------------------- FURLING ------------------------------------------------- False Furling - Read in additional model properties for furling turbine (flag) "Dummy" FurlFile - Name of file containing furling properties (quoted string) [unused when Furling=False] ---------------------- ROTOR-TEETER -------------------------------------------- 0 TeetMod - Rotor-teeter spring/damper model {0: none, 1: standard, 2: user-defined from routine UserTeet} (switch) [unused for 3 blades] 0.0 TeetDmpP - Rotor-teeter damper position (degrees) [used only for 2 blades and when TeetMod=1] 0.0 TeetDmp - Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1] 0.0 TeetCDmp - Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1] 0.0 TeetSStP - Rotor-teeter soft-stop position (degrees) [used only for 2 blades and when TeetMod=1] 0.0 TeetHStP - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1] 0.0 TeetSSSp - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] 0.0 TeetHSSp - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] ---------------------- TIP-BRAKE ----------------------------------------------- 0.0 TBDrConN - Tip-brake drag constant during normal operation, Cd*Area (m^2) 0.0 TBDrConD - Tip-brake drag constant during fully-deployed operation, Cd*Area (m^2) 0.0 TpBrDT - Time for tip-brake to reach full deployment once released (sec) ---------------------- BLADE --------------------------------------------------- "NRELOffshrBsline5MW_Blade.dat" BldFile(1) - Name of file containing properties for blade 1 (quoted string) "NRELOffshrBsline5MW_Blade.dat" BldFile(2) - Name of file containing properties for blade 2 (quoted string) "NRELOffshrBsline5MW_Blade.dat" BldFile(3) - Name of file containing properties for blade 3 (quoted string) [unused for 2 blades] ---------------------- AERODYN ------------------------------------------------- "NRELOffshrBsline5MW_AeroDyn.ipt" ADFile - Name of file containing AeroDyn input parameters (quoted string) ---------------------- NOISE --------------------------------------------------- "Dummy" NoiseFile - Name of file containing aerodynamic noise input parameters (quoted string) [used only when CompNoise=True] ---------------------- ADAMS --------------------------------------------------- "NRELOffshrBsline5MW_ADAMSSpecific.dat" ADAMSFile - Name of file containing ADAMS-specific input parameters (quoted string) [unused when ADAMSPrep=1] ---------------------- LINEARIZATION CONTROL ----------------------------------- "NRELOffshrBsline5MW_Linear.dat" LinFile - Name of file containing FAST linearization parameters (quoted string) [unused when AnalMode=1]