Dear OpenFASTers,
I simulated 5MW onshore (fixed) wind turbine (5MW_Land_DLL_WTurb in OpenFAST example folders) using OpenFAST and Simpack and want to check these two software can reach the same results.
1. Structural property
I have checked structural property (mass, inertia, bending stiffness) is identically used between Simpack and OpenFAST.
To double check these two software simulate the same wind turbine, I conducted a free decay test (without any other environmental loads) by assigning an initial tower top displacement of 1 meter in x axis. And then I compared the displacement of tower top in x and y axis simultaneously. The tower top displacement curve can match well initially (with the same 1% critical damping for both blade and tower) :
With time going on, there is a deviation for both x and y axis. I guess it results from the torsion effect. Elastodyn has no torsion mode, while Simpack explicitly model tower as euler-bernoulli beam so that torsion effect is accounted for.
But I am inclined to come into the conclusion that I have used the same structural property between Simpack and OpenFAST as the initial free decay response is similar.
2. Aerodyn
Then I turn to apply wind.
I simplified the wind to steady and uniform wind, with inflow veloctity = 11 m/s.
11 HWindSpeed - Horizontal wind speed (m/s)
1 RefHt - Reference height for horizontal wind speed (m)
0 PLExp - Power law exponent
For Aerodyn15, I adopted BEMT and steady AFAeroMod. TwrPotent and TwrAero are turned on:
1 WakeMod - Type of wake/induction model (switch) {0=none, 1=BEMT, 2=DBEMT, 3=OLAF} [WakeMod cannot be 2 or 3 when linearizing]
1 AFAeroMod - Type of blade airfoil aerodynamics model (switch) {1=steady model, 2=Beddoes-Leishman unsteady model} [AFAeroMod must be 1 when linearizing]
1 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction}
0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model}
True TwrAero - Calculate tower aerodynamic loads? (flag)
False FrozenWake - Assume frozen wake during linearization? (flag) [used only when WakeMod=1 and when linearizing]
False CavitCheck - Perform cavitation check? (flag) [AFAeroMod must be 1 when CavitCheck=true]
False CompAA - Flag to compute AeroAcoustics calculation [used only when WakeMod = 1 or 2]
"unused" AA_InputFile - AeroAcoustics input file [used only when CompAA=true]
I have checked that Simpack used the same airfoil files and Aerodyn15 file with OpenFAST. Although BEMT and steady AFAeroMod seem to be unsuitable for rotating rotor, I just keep the same aerodyn15 configurations between Simpack and OpenFAST to hope to get the same rotor loads.
3. Elastodyn
And intial conditions keep zeroed. That is to say, no initial rotor velocity, no initial tower top displacement, no precone (Still Simpack has the same intial conditions with OpenFAST):
0 OoPDefl - Initial out-of-plane blade-tip displacement (meters)
0 IPDefl - Initial in-plane blade-tip deflection (meters)
0 BlPitch(1) - Blade 1 initial pitch (degrees)
0 BlPitch(2) - Blade 2 initial pitch (degrees)
0 BlPitch(3) - Blade 3 initial pitch (degrees) [unused for 2 blades]
0 TeetDefl - Initial or fixed teeter angle (degrees) [unused for 3 blades]
0 Azimuth - Initial azimuth angle for blade 1 (degrees)
0 RotSpeed - Initial or fixed rotor speed (rpm)
0 NacYaw - Initial or fixed nacelle-yaw angle (degrees)
0 TTDspFA - Initial fore-aft tower-top displacement (meters)
0 TTDspSS - Initial side-to-side tower-top displacement (meters)
0 PtfmSurge - Initial or fixed horizontal surge translational displacement of platform (meters)
0 PtfmSway - Initial or fixed horizontal sway translational displacement of platform (meters)
0 PtfmHeave - Initial or fixed vertical heave translational displacement of platform (meters)
0 PtfmRoll - Initial or fixed roll tilt rotational displacement of platform (degrees)
0 PtfmPitch - Initial or fixed pitch tilt rotational displacement of platform (degrees)
0 PtfmYaw - Initial or fixed yaw rotational displacement of platform (degrees)
4. Servodyn:
#1. Servodyn is turned off. So no control is adopted in OpenFAST and Simpack. That said, rotor will rotate freely.
#2 Simpack and OpenFAST use the same bladed style DLL for PCMode and VSControl compiled by Dr. Jason.
Then I Compared the rotor load (RtAeroFxg), rotor speed and calculated the tip speed ratio (TSR):
For #1 (no control):
The rotor speed and TSR of Simpack and OpenFAST can match. But I can not understand why the rotor load is so different.
#2 with control (same DLL):
Now with control, rotor load and rotor speed seem to be identical while there is still a deviation for steady value of rotor load.
Here is my question:
-
Do you have an experience of rotor load for 5MW wind turbine without control? I can not judge which rotor load bwtween Simpack and OpenFAST is correct in #1.
-
For #1, the rotor load begin to deviate largely after 50s when TSR exceed 9. As inflow velocity is 11, at this time tip velocity will be 99 m/s. And for #2, servodyn will control to avoid a high tip velocity.
Considering turning on servodyn help to make the results to match well, I am guessing whether BEMT and steady AFAeroMod have a limitaion for tip speed? When tip speed become large, BEMT and steady AFAeroMod can not accurately calculate aerodynamic load. Maybe Simpack conducted an inherent correction. Could it be the reason resulting in the difference in #1? But the difference is too large, I have no confidence to favor my guess … -
For #2, Simpack rotor load is sort of lower than OpenFAST rotor load. I guess possible reason might be the blade torsion. As Simpack modelled blade as beam, so blade can twist. Maybe during the simulation, Simpack blade twist a few, then its pitch angle will be larger than OpenFAST’s, leading to a lower rotor force. I will try to extract blade pitch in Simpack to support my guess. Do you have a suggestion about any other possible reasons?
Regards,
Ran Tu