AoA differences between UA_Mod = 1 and UA_Mod = 4

Hello,

I’ve been comparing AeroDyn results obtained with UA_Mod = 1 and UA_Mod = 4 for the same turbine operating point and I’ve noticed that AoA are slightly lower when using UA_Mod = 4, even though no dynamic stall or flow separation occurs. The attached figure shows this behavior:

My doubt comes up when, even not being close to angles of attack that cause stall, these differences still happen. I’d really appreciate it if you could give me an explanation.

Thank you very much for your time and support.

Kind regards,

Kepa

Dear @Kepa.Cueto,

Can you clarify what this operating point is? Are you simulating with steady inflow and this is the result after all start-up transients have passed? Are structural degrees of freedom enabled in the solve or is the system fully rigid?

Best regards,

Dear Jason,

the operating point is a normal case of power production, with turbulent wind and the following structural degrees of freedom activated:

On the other hand, I have also tested disabling YawDOF, and there is still a difference, but a smaller one.

Kind regards,

Kepa

Dear @Kepa.Cueto,

Thanks for clarifying. So, are you showing the mean result after all start-up transients have passed? What settings have you used in AeroDyn?

Best regards,

Dear Jason,
Yes, I am displaying the average value after all start-up transients have passed. This is the Aerodyn configuration I am using:

------- AERODYN for OpenFAST INPUT FILE -------------------------------------------------------------
Description line that will be printed in the output file and written to the screen.
====== General Options ============================================================================
False Echo - Echo the input to “.AD.ech”? (flag)
“default” DTAero - Time interval for aerodynamic calculations {or “default”} (s)
1 Wake_Mod - Wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} [Wake_Mod cannot be 2 or 3 when linearizing]
0 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}
False TwrAero - Calculate tower aerodynamic loads? (flag)
False CavitCheck - Perform cavitation check? (flag) [UA_Mod must be 0 when CavitCheck=true]
False Buoyancy - Include buoyancy effects? (flag)
False NacelleDrag - Include Nacelle Drag effects? (flag)
False CompAA - Flag to compute AeroAcoustics calculation [used only when Wake_Mod = 1 or 2]
“unused” AA_InputFile - AeroAcoustics input file [used only when CompAA=true]
====== Environmental Conditions ===================================================================
1.225 AirDens - Air density (kg/m^3)
1.4639E-05 KinVisc - Kinematic viscosity of working fluid (m^2/s)
335 SpdSound - Speed of sound in working fluid (m/s)
103500 Patm - Atmospheric pressure ¶ [used only when CavitCheck=True]
170 Pvap - Vapour pressure of working fluid ¶ [used only when CavitCheck=True]
====== Blade-Element/Momentum Theory Options ====================================================== [unused when Wake_Mod=0 or 3, except for BEM_Mod]
1 BEM_Mod - BEM model {1=legacy NoSweepPitchTwist, 2=polar} (switch) [used for all Wake_Mod to determine output coordinate system]
— Skew correction
1 Skew_Mod - Skew model {0=No skew model, -1=Remove non-normal component for linearization, 1=skew model active}
True SkewMomCorr - Turn the skew momentum correction on or off [used only when Skew_Mod=1]
1 SkewRedistr_Mod - Type of skewed-wake correction model (switch) {0=no redistribution, 1=Glauert/Pitt/Peters, default=1} [used only when Skew_Mod=1]
“default” SkewRedistrFactor - Constant used in Pitt/Peters skewed wake model {or “default” is 15/32*pi} (-) [used only when Skew_Mod=1 and SkewRedistr_Mod=1]
— BEM algorithm
False TipLoss - Use the Prandtl tip-loss model? (flag) [unused when Wake_Mod=0 or 3]
False HubLoss - Use the Prandtl hub-loss model? (flag) [unused when Wake_Mod=0 or 3]
True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when Wake_Mod=0 or 3]
True AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when Wake_Mod=0 or 3]
False TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when Wake_Mod=0,3 or TanInd=FALSE]
“Default” IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or “default”} (-) [unused when Wake_Mod=0 or 3]
100 MaxIter - Maximum number of iteration steps (-) [unused when Wake_Mod=0]
— Shear correction
False SectAvg - Use sector averaging (flag)
1 SectAvgWeighting - Weighting function for sector average {1=Uniform, default=1} within a sector centered on the blade (switch) [used only when SectAvg=True]
default SectAvgNPoints - Number of points per sectors (-) {default=5} [used only when SectAvg=True]
default SectAvgPsiBwd - Backward azimuth relative to blade where the sector starts (<=0) {default=-60} (deg) [used only when SectAvg=True]
default SectAvgPsiFwd - Forward azimuth relative to blade where the sector ends (>=0) {default=60} (deg) [used only when SectAvg=True]
— Dynamic wake/inflow
2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {0=No Dynamic Wake, -1=Frozen Wake for linearization, 1:constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-)
20 tau1_const - Time constant for DBEMT (s) [used only when DBEMT_Mod=1 or 3]
====== OLAF – cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when Wake_Mod=3]
“unused” OLAFInputFileName - Input file for OLAF [used only when Wake_Mod=3]
====== Unsteady Airfoil Aerodynamics Options ====================================================
True AoA34 - Sample the angle of attack (AoA) at the 3/4 chord or the AC point {default=True} [always used]
4 UA_Mod - Unsteady Aero Model Switch (switch) {0=Quasi-steady (no UA), 2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L HGM+vortex 5 states, 6=Oye, 7=Boeing-Vertol}
True FLookup - Flag to indicate whether a lookup for f’ will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when UA_Mod=2 or UA_Mod=3]
1 IntegrationMethod - Switch to indicate which integration method UA uses (1=RK4, 2=AB4, 3=ABM4, 4=BDF2)
0.3 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius [0.0,1.0]) [used only when UA_Mod>0; if line is missing UAStartRad=0]
1 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius [0.0,1.0]) [used only when UA_Mod>0; if line is missing UAEndRad=1]
====== Airfoil Information =========================================================================
1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-)
1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-)
2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-)
3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-)
4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-)
0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-)
41 NumAFfiles - Number of airfoil files used (-)
AFNames - Airfoil file names (NumAFfiles lines) (quoted strings)

====== Rotor/Blade Properties =====================================================================
False UseBlCm - Include aerodynamic pitching moment in calculations? (flag)
“AeroDyn_blade.dat” ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-)
“AeroDyn_blade.dat” ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2]
“AeroDyn_blade.dat” ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3]
====== Hub Properties ============================================================================== [used only when Buoyancy=True]
0 VolHub - Hub volume (m^3)
0 HubCenBx - Hub center of buoyancy x direction offset (m)
====== Nacelle Properties ========================================================================== [used only when Buoyancy=True or NacelleDrag=True]
0 VolNac - Nacelle volume (m^3)
0, 0, 0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m)
0, 0, 0 NacArea - Projected area of the nacelle in X, Y, Z in the nacelle coordinate system (m^2)
0, 0, 0 NacCd - Drag coefficient for the nacelle areas defined above (-)
0, 0, 0 NacDragAC - Position of aerodynamic center of nacelle drag in nacelle coordinates (m)
====== Tail Fin Aerodynamics =======================================================================
False TFinAero - Calculate tail fin aerodynamics model (flag)
“unused” TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True]
====== Tower Influence and Aerodynamics ============================================================ [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True]
46 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True]
TwrElev TwrDiam TwrCd TwrTI TwrCb ! TwrTI used only when TwrShadow=2; TwrCb used only when Buoyancy=True
(m) (m) (-) (-) (-)
====== Outputs ====================================================================================
True SumPrint - Generate a Model_mmary file listing input options and interpolated properties to “.AD.Model_m”? (flag)
4 NBlOuts - Number of blade node outputs [0 - 9] (-)
1, 3, 4, 6 BlOutNd - Blade nodes whose values will be output (-)
0 NTwOuts - Number of tower node outputs [0 - 9] (-)
1 TwOutNd - Tower nodes whose values will be output (-)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
“B1N1VDisx, B1N1VDisy, B1N1VDisz” ! disturbed wind velocity at Blade 1, Node 1
“B1N2VDisx, B1N2VDisy, B1N2VDisz” ! disturbed wind velocity at Blade 1, Node 2
“B1N3VDisx, B1N3VDisy, B1N3VDisz” ! disturbed wind velocity at Blade 1, Node 3
“B1N1STVx, B1N1STVy, B1N1STVz” ! structural translational velocity at Blade 1, Node 1
“B1N2STVx, B1N2STVy, B1N2STVz” ! structural translational velocity at Blade 1, Node 2
“B1N3STVx, B1N3STVy, B1N3STVz” ! structural translational velocity at Blade 1, Node 2
“RtSpeed, RtSkew, B1Azimuth”
“B1N1AxInd, B1N2AxInd, B1N3AxInd”
“B1N1Alpha, B1N2Alpha, B1N3Alpha”
“B1N1Theta, B1N2Theta, B1N3Theta”
“B1N1Alpha”
“B1N2Alpha”
“B1N3Alpha”
“B1N4Alpha”
“B1N5Alpha”
“B1N6Alpha”
“B1N7Alpha”
“B1N8Alpha”
“B1N9Alpha”
“B1N1Cl”
“B1N2Cl”
“B1N3Cl”
“B1N4Cl”
“B1N5Cl”
“B1N6Cl”
“B1N7Cl”
“B1N8Cl”
“B1N9Cl”
“B1N1Cd”
“B1N2Cd”
“B1N3Cd”
“B1N4Cd”
“B1N5Cd”
“B1N6Cd”
“B1N7Cd”
“B1N8Cd”
“B1N9Cd”
“B1Pitch”
“B1Azimuth”
“B2Azimuth”
“B3Azimuth”
“RtAeroCp”
“RtAeroCt”
“RtTSR”
“RtAeroPwr”
END of OutList section (the word “END” must appear in the first 3 columns of the last OutList line)
====== Outputs for all blade stations (same ending as above for B1N1… =========================== [optional section]
1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-)
“All” BldNd_BlOutNd - Specify a portion of the nodes to output. {“ALL”, “Tip”, “Root”, or a list of node numbers} (-)
OutList_Nodal - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
“Fx, Fy”
“Vx, Vy”
“Vrel”
“TnInd”
“AxInd”
“Theta”
“Phi”
“Vindx”
“Vindy”
“Alpha”

On the other hand, there is a thread in the forum that discusses this question: BEDDOES dynamic Stall problem . Could you confirm whether the provided answer is correct?

Thank you once again for your time,

Best regards,

Kepa

Dear @Kepa.Cueto,

I’m guessing this is tied to small nonlinearities in what is normally the linear part of the lift curve, e.g. as discussed in the following forum topic and OpenFAST issue on GitHub:

Best regards,

1 Like