Dear Sina,
In the NREL 5MW baseline controller, the torque will be computed in Region 2.5 if the generator speed is between the lower (1136.498 rpm) and upper (1161.963 rpm) limits of Region 2.5 and if the bladepitch angle is less than 1 degree.
I have not reviewed your Simulink implementation in detail, but Leonardo.Lopez uploaded his Simulink implementation of the baseline controller for the NREL 5MW turbine in the Mar 03, 2017 post in the following forum topic: viewtopic.php?f=30&t=1777&p=8736.
Best regards,
Applying wind signal as input to the simulink
Moderator: Bonnie.Jonkman

 Posts: 4843
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Applying wind signal as input to the simulink
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 68
 Joined: Mon Oct 15, 2018 11:23 am
 Organization: FSU
 Location: Florida
Re: Applying wind signal as input to the simulink
Dear Dr. Jonkman,
Thanks a lot for mentioning the forum. I implemented the baseline control and enter a fixed wind speed of 15 m/s and got these results:
The Fast document for 5 MW offshore windturbines (https://www.nrel.gov/docs/fy09osti/38060.pdf), mentions that if wind speed is 15 m/s, the pitch angle should be around 11 deg, while mine is around 17! I also think the generator speed and power should be much higher with this wind speed!
Moreover, when I enter a fixed wind speed of 20 m/s, at the beginning of the simulation I encounter such an error in Matlab:
An error occurred while running the simulation and the simulation was terminated
Caused by:
Error reported by Sfunction 'FAST_SFunc' in 'PI_Control10312018_Offshore/FAST Nonlinear Wind Turbine/SFunction':
FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_CalcOutput:BEMT_CalcOutput(node 19, blade 2):Compute_UA_AirfoilCoefs:UA_CalcOutput:Mach number exceeds 1.0. Equations cannot be evaluated.
Thanks
Best Regards,
Sina
Thanks a lot for mentioning the forum. I implemented the baseline control and enter a fixed wind speed of 15 m/s and got these results:
The Fast document for 5 MW offshore windturbines (https://www.nrel.gov/docs/fy09osti/38060.pdf), mentions that if wind speed is 15 m/s, the pitch angle should be around 11 deg, while mine is around 17! I also think the generator speed and power should be much higher with this wind speed!
Moreover, when I enter a fixed wind speed of 20 m/s, at the beginning of the simulation I encounter such an error in Matlab:
An error occurred while running the simulation and the simulation was terminated
Caused by:
Error reported by Sfunction 'FAST_SFunc' in 'PI_Control10312018_Offshore/FAST Nonlinear Wind Turbine/SFunction':
FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_CalcOutput:BEMT_CalcOutput(node 19, blade 2):Compute_UA_AirfoilCoefs:UA_CalcOutput:Mach number exceeds 1.0. Equations cannot be evaluated.
Thanks
Best Regards,
Sina

 Posts: 4843
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Applying wind signal as input to the simulink
Dear Sina,
If you are not getting the correct rotor speed and bladepitch angle (as well generator power etc.) response to steady wind, then I would guess that there is a problem with your controller implementation.
My guess is your towerstrike error is caused by the use of improper initial conditions. To reduce startup transients (and errors such as tower strike), normally we recommend that at a minimum, the initial conditions of rotor speed and bladepitch angle be set to their steadystate values for the given wind speed being simulated.
Best regards,
If you are not getting the correct rotor speed and bladepitch angle (as well generator power etc.) response to steady wind, then I would guess that there is a problem with your controller implementation.
My guess is your towerstrike error is caused by the use of improper initial conditions. To reduce startup transients (and errors such as tower strike), normally we recommend that at a minimum, the initial conditions of rotor speed and bladepitch angle be set to their steadystate values for the given wind speed being simulated.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 68
 Joined: Mon Oct 15, 2018 11:23 am
 Organization: FSU
 Location: Florida
Re: Applying wind signal as input to the simulink
Dear Dr. Jonkman,
Thanks for the reply. Actually, I checked the controller several times, it is completely matched with the simulink figures located on that forum you stated!
Regarding the error, the problem is that even when I run test 24 (only the open loop), the matlab gives me this error:
Error using Run_OpenLoop (line 30)
Error reported by Sfunction 'FAST_SFunc' in 'OpenLoop/FAST Nonlinear Wind Turbine/SFunction':
FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_CalcOutput:BEMT_CalcOutput(node 19, blade 3):Compute_UA_AirfoilCoefs:UA_CalcOutput:Mach number exceeds 1.0. Equations cannot be
evaluated.
That is the same as the error I mentioned previously. Previously I didn't get such an error and could run the test completely!
Thanks
Best Regards,
Sina
Thanks for the reply. Actually, I checked the controller several times, it is completely matched with the simulink figures located on that forum you stated!
Regarding the error, the problem is that even when I run test 24 (only the open loop), the matlab gives me this error:
Error using Run_OpenLoop (line 30)
Error reported by Sfunction 'FAST_SFunc' in 'OpenLoop/FAST Nonlinear Wind Turbine/SFunction':
FAST_Solution:FAST_AdvanceStates:AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_UpdateStates:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:SetInputs:TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
TwrInfl:getLocalTowerProps:Tower strike.
AD_CalcOutput:BEMT_CalcOutput(node 19, blade 3):Compute_UA_AirfoilCoefs:UA_CalcOutput:Mach number exceeds 1.0. Equations cannot be
evaluated.
That is the same as the error I mentioned previously. Previously I didn't get such an error and could run the test completely!
Thanks
Best Regards,
Sina

 Posts: 4843
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Applying wind signal as input to the simulink
Dear Sina,
What modifications did you make to Test24 to run it OpenLoop? If you are disabled all control, I could imagine you'd get a towerstrike error because the blades won't pitch to shed load when the turbulent wind speed increases.
I don't really understand enough about what you are doing to offer more advice.
Best regards,
What modifications did you make to Test24 to run it OpenLoop? If you are disabled all control, I could imagine you'd get a towerstrike error because the blades won't pitch to shed load when the turbulent wind speed increases.
I don't really understand enough about what you are doing to offer more advice.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 68
 Joined: Mon Oct 15, 2018 11:23 am
 Organization: FSU
 Location: Florida
Re: Applying wind signal as input to the simulink
Dear Dr. Jonkman,
Thanks for your reply and help. My problem was solved by getting the implemented file from the forum you introduced. I want to design a pitch controller but I don't have dynamic equations of the offshore 5 MW wind turbine. I need an equation relating generator speeds (for example its second order derivative equation) to three variables pitch angle, generator and wind speed. What I mean is the equation with perturbed values of these variables. Where can I find them?
Thanks
Best Regards,
Sina
Thanks for your reply and help. My problem was solved by getting the implemented file from the forum you introduced. I want to design a pitch controller but I don't have dynamic equations of the offshore 5 MW wind turbine. I need an equation relating generator speeds (for example its second order derivative equation) to three variables pitch angle, generator and wind speed. What I mean is the equation with perturbed values of these variables. Where can I find them?
Thanks
Best Regards,
Sina

 Posts: 4843
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Applying wind signal as input to the simulink
Dear Sina,
If I understand your question correctly, you want the linearized (perturbed) equations of motion of the drivetrain dependent on perturbations of the rotorcollective bladepitch angle, generator torque, and wind speed. Such a linear form of the equations of motion can be derived from FAST using FAST's fullsystem linearization functionality.
Best regards,
If I understand your question correctly, you want the linearized (perturbed) equations of motion of the drivetrain dependent on perturbations of the rotorcollective bladepitch angle, generator torque, and wind speed. Such a linear form of the equations of motion can be derived from FAST using FAST's fullsystem linearization functionality.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 68
 Joined: Mon Oct 15, 2018 11:23 am
 Organization: FSU
 Location: Florida
Re: Applying wind signal as input to the simulink
Dear Dr. Jonkman,
Thanks for your reply.To illustrate, I want to design a nonlinear controller for the 5 MW offshore wind turbine. I need such an equation:
but the problem is Cp that does not give me a specific equation. It seems one way is linearizing the model in this way:
My question is that since I want to design a nonlinear controller, is there any specific nonlinear equation of this model? If not, how can I linearize the model using Fast 8? Should I use a software or Matlab does it for me?
Thanks
Best Regards,
Sina
Thanks for your reply.To illustrate, I want to design a nonlinear controller for the 5 MW offshore wind turbine. I need such an equation:
but the problem is Cp that does not give me a specific equation. It seems one way is linearizing the model in this way:
My question is that since I want to design a nonlinear controller, is there any specific nonlinear equation of this model? If not, how can I linearize the model using Fast 8? Should I use a software or Matlab does it for me?
Thanks
Best Regards,
Sina

 Posts: 4843
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Applying wind signal as input to the simulink
Dear Sina,
FAST itself is a nonlinear model, so, there certainly are specific nonlinear equations. But the equations are extensive (and can't be shown in a forum post), their solutions are numerical (not analytical), and their linearization is done numerically in some areas of the model due to the complexity of the equations.
The linearization functionality of FAST v8 is built into FAST. Linear models can be generated while running FAST in Simulink or with the standalone executable. See the "Linearization" and "Linearization Files" sections of the FAST v8 ReadMe file for more information: https://wind.nrel.gov/nwtc/docs/README_FAST8.pdf.
Best regards,
FAST itself is a nonlinear model, so, there certainly are specific nonlinear equations. But the equations are extensive (and can't be shown in a forum post), their solutions are numerical (not analytical), and their linearization is done numerically in some areas of the model due to the complexity of the equations.
The linearization functionality of FAST v8 is built into FAST. Linear models can be generated while running FAST in Simulink or with the standalone executable. See the "Linearization" and "Linearization Files" sections of the FAST v8 ReadMe file for more information: https://wind.nrel.gov/nwtc/docs/README_FAST8.pdf.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 68
 Joined: Mon Oct 15, 2018 11:23 am
 Organization: FSU
 Location: Florida
Re: Applying wind signal as input to the simulink
Dear Dr. Jonkman,
Thanks a lot for your help that I need in these days to progress my research. Actually, in your document for 5 MW offshore WT, you have already given the perturbation equations and parameters (the linearized drivetrain equation)! Now, I have three questions. First, what is the value of the drivetrain inertia (I_Drivetrain) mentioned in (https://www.nrel.gov/docs/fy09osti/38060.pdf)?
Second, as the FAST in Simulink/Matlab does not have any actuator dynamic, I need to add a dynamic for the pitch actuator. What is the response time constant of pitch angle (actuator)? In the mentioned file for 5MW offshore, it mentions (Equivalent BladePitchActuator LinearSpring Constant=971,350,000N•m/rad and Equivalent BladePitchActuator LinearDamping Constant=206,000N•m/rad/s). I need an a dynamic equation of the pitch actuator like this:
Last but not least, how and where can I create a fault in pitch actuator in FAST/Simulink?
Thanks
Best Regards,
Sina
Thanks a lot for your help that I need in these days to progress my research. Actually, in your document for 5 MW offshore WT, you have already given the perturbation equations and parameters (the linearized drivetrain equation)! Now, I have three questions. First, what is the value of the drivetrain inertia (I_Drivetrain) mentioned in (https://www.nrel.gov/docs/fy09osti/38060.pdf)?
Second, as the FAST in Simulink/Matlab does not have any actuator dynamic, I need to add a dynamic for the pitch actuator. What is the response time constant of pitch angle (actuator)? In the mentioned file for 5MW offshore, it mentions (Equivalent BladePitchActuator LinearSpring Constant=971,350,000N•m/rad and Equivalent BladePitchActuator LinearDamping Constant=206,000N•m/rad/s). I need an a dynamic equation of the pitch actuator like this:
Last but not least, how and where can I create a fault in pitch actuator in FAST/Simulink?
Thanks
Best Regards,
Sina

 Posts: 4843
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Applying wind signal as input to the simulink
Dear Sina,
The total drivetrain (rotor + generator) inertia of the NREL 5MW baseline wind turbine is documented in the following forum topic: viewtopic.php?f=4&t=731&p=5622.
The equivalent bladepitchactuator spring and damping constants stated result in a secondorder transfer function (with a natural frequency and damping ratio) rather than the firstorder form you are showing. Thus, there is no true equivalency. That said, the frequency of the secondorder actuator is very highas if the actuator does not exist. This would be equivalent to a very low value of tau_theta in your firstorder transfer function.
Pitch faults are set by the override pitch maneuvers defined within the ServoDyn module.
Best regards,
The total drivetrain (rotor + generator) inertia of the NREL 5MW baseline wind turbine is documented in the following forum topic: viewtopic.php?f=4&t=731&p=5622.
The equivalent bladepitchactuator spring and damping constants stated result in a secondorder transfer function (with a natural frequency and damping ratio) rather than the firstorder form you are showing. Thus, there is no true equivalency. That said, the frequency of the secondorder actuator is very highas if the actuator does not exist. This would be equivalent to a very low value of tau_theta in your firstorder transfer function.
Pitch faults are set by the override pitch maneuvers defined within the ServoDyn module.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 68
 Joined: Mon Oct 15, 2018 11:23 am
 Organization: FSU
 Location: Florida
Re: Applying wind signal as input to the simulink
Dear Dr. Jonkman,
Thank you so much for your prompt response and for clarifying the issue.
Best Regards,
Sina
Thank you so much for your prompt response and for clarifying the issue.
Best Regards,
Sina
Who is online
Users browsing this forum: No registered users and 1 guest