omega_pc is the pitch controller closed-loop bandwidth. It’s a measure of the response of the pitch control to generator speed error.
PA_CornerFreq is the pitch actuator’s natural frequency. It measures how quickly the pitch angle responds to the commanded pitch control. You can think of it as a realistic delay in the system.
I think I did exactly what you suggested and linearized it with OpenFASTv3.5.0. However, the result I got is not completely consistent with Table 7-1, I would like to know if there is a mistake in my linearization, or is this result due to the difference of versions?
My folder is attached below via the Google Drive link. I would appreciate it if you had the time to look into the problem
Another problem is that when I calculated Kp according to formulas 7-18, 7-19, 7-20, I found that the value of I_Drivetrain I used was wrong. But this number is based on previous discussions on the forum (Question about PI control - #14 by Jason.Jonkman). Could you help me point out my mistake? Attached here are my two calculations, and it looks like the I_Drivetrain number should be something close to 72900.
Your results look very close to those published in the NREL 5-MW baseline wind turbine specifications report. I would guess the small differences are the result of different versions of the software.
The value of I_Drivetrain = 4.37e7 kg*m^2 is closer to the value used in the report. However, your equation for Kp_0 is not correct. The omega_Phin should not be squared and the factor of 1000 is not needed.
Thank you very much. I was so careless. Now I have get the right value for NREL 5.0 MW Baseline Wind Turbine (Onshore).
But I also want to know how you got the Proportional Gain and Integral Gain for the OC4-DeepCwind semisubmersible FOWT. I guess you just changed the reference value of the natural frequency. Did you use a value closer to 0.0319Hz?As I tried shown in the picture. Is that correct? How was this value determined?Since I only saw 0.037Hz and 0.034Hz.
Thank you again for your work and time.
Yes, that is correct. What you call Omega_Phin was changed from 0.6 rad/s in the baseline controller of the NREL 5-MW baselind wind turbine to 0.2 rad/s (0.03183 Hz) for the baseline controller for the OC3-Hywind and OC4-DeepCwind semisubmersible models.
Dear forum members,
For controller design, I am interested in getting the partial derivative of aerodynamic torque w.r.t rotor speed and the partial derivative of aerodynamic torque w.r.t wind speed. How can I get that for any of the NREL OpenFast models?
These derivatives can be obtained through the OpenFAST linearization functionality. You should include the aerodynamic torque (AeroDyn output RtAeroMxh) in the AeroDyn OutList and ensure that the generator or drivetrain DOFs are enabled in OpenFAST. I would use FrozenWake = TRUE in AeroDyn with WakeMod = AFAeroMod = 1. Then linearize OpenFAST with LinInputs = LinOutputs = 1. The derivative of aerodynamic torque with respect to rotor speed will then be included in the C matrix and the derivative of aerodynamic torque with respect to wind speed will be included in the D matrix.
Dear Jason sir,
To get the derivative of aerodynamic torque with respect to rotor speed, I understand that I need to compare the C matrix element which matches between the output RtAeroMxh and the state ED First time derivative of Variable speed generator DOF (internal DOF index = DOF_GeAz), rad/s.And I need to compare the D matrix element which matches between the output RtAeroMxh and the input IfW Extended input: horizontal wind speed (steady/uniform wind), m/s. Is my understanding correct? Another question is whether this partial derivative calculation method applies to all wind speeds in below and above-rated conditions. Also I am facing difficulty to linearize the model at certain wind speeds with the GenDOF mode ON, do I have to change any setting for such cases?
Dear Jason sir,
Assuming that my understanding was correct as per my previous post, I have tried to calculate the values of the partial derivative of aerodynamic torque with respect to rotor speed and wind speed which I get for wind speeds ranging from 11 to 25 m/s obtained by the procedure mentioned by you, in standard units as output by OpenFast. The openfast model used was 5MW_OC4Semi_Linear. Does this seems correct?
I don’t recall computing the partial derivative of aerodynamic torque with respect to rotor speed myself before for the NREL 5-MW baseline wind turbine rotor, but your partial derivatives of aerodynamic torque with respect to wind speed are in the ballpark of what I would expect.
Regarding the steady state solution with GenDOF = TRUE, I would suggest using TrimCase = 2 with fixed pitch (= 0deg for the NREL 5-MW baseline wind turbine) for operational wind speeds below rated and TrimCase = 3 with fixed generator torque (= the rated torque of 43093.55 Nm for the NREL 5-MW baseline wind turbine) for operational wind speeds above rated. Is that what you’ve done?
Dear Jason sir,
I have only tried above-rated wind conditions, for that I used Trimcase 3 and constant torque of 43093.55 Nm. I wonder about the values of partial derivatives of torque to rotor speed, can it have values as high as these?
Best regards
Again, I haven’t computed these partial derivatives myself before.
But in Region 2, the torque-speed curve of the generator has a slope of roughly 10000 Nm/ (200 rpm) = 50 Nm/rpm = 500 Nm/(rad/s) on the high-speed shaft side, which (multipling by GBRatio^2) is about 5e6 Nm/rpm on the low-speed shaft side, so, your numbers are a similar order of magnitude.
Dear Jason sir,
I tried finding the partial derivatives for speed range from 3 to 11 m/s using trim case 2, attaching the table for confirmation of values as per your last post.
Dear Jason sir,
For calculating the partial derivative of power wrt to pitch angle in an older post you mentioned, [quote=“Jason.Jonkman, post:2, topic:286”]
Set BlPitch(K) in the primary input file to the proper pitch angle associated with each wind speed for all blades (K=1,2,3). I.e., set BlPitch to 23.47deg at 25m/s.
[/quote]
I wonder whether this configuration is required for calculating partial derivative of aerodynamic torque wrt rotor speed? When I redid my linearization with this configuration, I got all values in above rated winds as +ve instead of the results I showed earlier. Thanks in advance.
Best regards
I’m not sure what you mean by “+ve”, but I would say in general that the linearized solution is only valid for small perturbations around an operating point, so, it is always useful to define a reasonable operating point when making use of a linearized model.