I have issues with aligning my aerodynamic pitch sensitivity curve with the tabulated data for the NREL 5 MW reference turbine.
I have attached an image of my calculated steady-state pitch vs the reference parameters (these are clearly aligned) and of the obtained pitch sensitivity curve vs the reference curve (here there is a clear deviation).
Steady State pitch curve
The steady-state pitch parameter is obtained by looping through rated → cutout wind speeds, finding a required CP parameter to obtain rated power and then looking in the 2D CP curve dependent on pitch and tip speed ratio. This final search is performed using the fzero solver in matlab.
Aerodynamic pitch sensitivity curve
Steady state pitch curve as linearization points
Pitch deviation is both added and subtracted and Cp is read from these deviations
Central difference is applied to obtain the Cp gradient
Cp is substituted with Cp gradient in aerodynamic power calculation:
Partial_Power_Partial_Beta = dCp_dBeta * (1/2*Air_Density * pi R^2) v^3 * eta
Final remark
This has troubled me for a good while, it is quite important as we do not have access to high fidelity models and thus rely on reduced fidelity to design our controllers, as such we are limited to 2D curves and Matlab implementations. Therefore, using the aeroelastic tools are not an option.
I hope the answer is very simple and I will feel foolish
The offset: -21153000 gets the pitch sensitivity to lie almost ontop.
Feel free to ask any questions, I will do my best to explain / add additional information! Also thanks to Younes Oudich for providing the Cp curve!!
I think the main issue is that the original data for the aerodynamic power sensitivity is not based on the steady Cp surface, but rather, from an aero-elastic model (FAST) that considers frozen wake in the perturbation. That is, when perturbing pitch angle, the induced velocities are not recomputed when computing the partial derivative of power, which is more aligned with a how a dynamic wake model would consider the effect. If you take the derivative from the steady Cp surface, the partial derivatives would consider that the wake is always an equilibrium with the perturbation.
Just to clarify, is it correctly understood that the main difference between the original data and my data is the effect of dynamic inflow. Which is considered in FAST but not in my derivation?
Also, knowing this. What would your course of action be? Should I take my derivation at face value when working on other turbines and simply raise the omega and zeta parameters? Should I try to manually add this effect in my derivation.
This must be a common issue right? Or is it common to have access to full aero-elastic models. So maybe some litterature covers this area.
I apologize for the barrage of questions, I am searching for answers as I have been troubled by the “rule of thumb” omega and zeta parameters - as I have to deviate quite heavily to obtain appropriate responses.
Yes, I would say the absence of frozen wake in your approach is the reason for the offset.
FYI: Similar questions have been discussed in past forum topics, e.g., see:
I asked internally how this is handled in ROSCO (GitHub - NREL/ROSCO: A Reference Open Source Controller for Wind Turbines) to automate the calculation of pitch controller gains, and @Daniel.Zalkind confirmed that the pitch sensitivities are computed numerically based on the Cp surface, like you have done. I’m a bit puzzled myself how this would work, especially near rated where the pitch sensitivity will be near zero with equilibrium wake, but where the pitch sensitivity will be nonzero with frozen wake, which is preferred.