Drivetrain Dynamic Model

Greetings to the forum.

For the purposes of my research work, I need to apply Kalman filter to estimate the rotor speed and rotor torque for the FAST 5MW NREL, v8. For this purpose, I use the Drivetrain model from Estimation of rotor effective wind speed: a comparison, MN Soltani et al. The schematic representation of the drivetrain along with the equations of motion are given in the attachment. In order to apply the Kalman filter theory I need to use the correct values of Br, Bg, Ktheta, Btheta which correspond to the friction of the rotor, friction of the generator, stiffness of the drivetrain and damping of the drivetrain, respectively.

By looking at the ElastoDyn.dat, I compute Ktheta (DTTorSpr)=8.67637E+08 and Btheta (DTTorDmp)=6.215E+06, but I am unable to find the values for Bg, Br (I assume they might be lumped into Btheta, Ktheta and thus are equal to 0 but I am not sure). Could you please help me? Thank you in advance for your actions responses.

Bart

Dear Bart,

I don’t see that you’ve added an attachment. But from my understanding, Br in your model represents the aerodynamic damping (i.e. the change in aerodynamic torque with rotor speed) and Bg in your model represents the generator damping (i.e. the slope of the generator torque-speed curve). You can get both through a FAST linearization analysis.

Best regards,

Dear Jason,

thank you so much for your replies. In the forum linked as Resistant moment of the rotor and of the electric generator you replied to another user that the equation of the drivetrain is

T_Aero – J_RotorAlpha = DTTorSpr(Azimuth-LSSGagPxs) + DTTorDmp*( RotSpeed- LSSGagVxs).

I was expecting a term Br (aerodynamic damping) to model viscous friction to appear in the equations i.e.

T_Aero – J_RotorAlpha = DTTorSpr(Azimuth-LSSGagPxs) + DTTorDmp*( RotSpeed- LSSGagVxs) +Br*RotSpeed.

Can you tell me please why viscous friction losses are not incorporated in the model? Thank you in advance for your responses!

Bart

Dear Bart,

Actually, aerodynamic damping and aerodynamic stiffness are included in the model because T_Aero itself depends on Azimuth and RotSpeed (though this function is nonlinear). When linearized, you could you write T_Aero = T_Aero_op + ( pT_Aero/pAzimuth )_op dAzimuth + ( pT_Aero/pRotSpeed )_opdRotSpeed, where “p” indicates partial, _op identifies an evaluation at the linearization operating point, and “d” indicates perturbations about the operating point. This will result in your expression, plus the inclusion of the aerodynamic stiffness. However, FAST does not linearize the aerodynamics during its nonlinear time-domain solution.

Best regards,

Hello everyone,

I am new to FAST and currently trying to simulate a small wind turbine model towed in a water tank.
I had a discussion with my supervisor about aerodynamic damping on wind turbine blades (since it is about 2 to 10 times bigger than structural damping according to him). Reading this and several other posts on this forum, I can see that it is included via the dependency on T_Aero on Azimuth and Rotspeed.
Now my question is:
In the paper AERODYNAMIC DAMPING OF NONLINEARILY WIND-EXCITED WIND TURBINE BLADES (P. van der Male, K.N. van Dalen, A.V. Metrikine) aerodynmaic damping is described as force reduction due to structural feedback velocity.
How does FAST account this effect?
I am using FAST v8 and AeroDyn15.

Kind regards
Joel Purtschert

Dear Joel,

Aerodynamic damping is calculated by FAST as a result of the coupling between the structural module (ElastoDyn or BeamDyn) and the aerodynamic module (AeroDyn). That is, the aerodynamic loads calculated by AeroDyn and sent to structural module depend on the structural motions (position/orientation and velocity of the various analysis nodes) sent from the structural module to AeroDyn.

Best regards,

Dear Jason,

Thank you for your quick response.

Kind regards
Joel Purtschert

Dear Jason,

Recently I am doing research in drivetrain model. I met some problem, so want to ask you for help.
Read the appendix of " Simulation for Wind Turbine Generators—With FAST and MATLAB-Simulink Modules" for learning how to use simscape to build the drivetrain model. It is detailed in every step with exception of the parameter setting.

So I want to ask where I can get these parameters of the model shown in the figure,such as stiffness, ratio an inertia. It is the model from the appendix. With these, I can verify whether I grasp the theory of this model by comparing my result to the report.
10_6.png

1 Like

Dear FuHang,

These detailed properties of the drivetrain will depend on the wind turbine you are simulating. I’m not aware that such properties have been specified for any of the reference/baseline wind turbines publicly released by NREL.

Best regards,

Dear Jason,

Thanks for your quick reply. I see what you mean.

Best regards,
Fuhang.

Dear all,
I am working on the two-mass drive train model now. Here are two problems to ask for help:
First. For the open loop wind turbine system, I get the state space equations as shown in the following graph. (It needs to be mentioned that all the values in the low-speed shaft side has been transformed into the high-speed side.) Could you please help me check whether the state equations I derived is right or not?
Second. For the MPPT control in the second wind turbine working region, when I choose the power closed loop control method, what new state space equations can I get, based on the open-loop state space equation I already derived? According to the control logic, I can get the expression of the electromagnetic torque Te as shown in the following graph, but I don’t know how to derive δTe, which should be expressed by all state variables. Could you please help me to choose one more new state variable, which I think can be the generator rotating angle θe, and then derive the new state equations?


I know it must take time to solve, so I am really grateful for your patience and help! Thank you in advance for your responses!
Yinghan.Liu

@Jason.Jonkman
Dear Jason,
I would be grateful if you can give me some guidance about that question. Thank you for your kindness!
Yinghan.Liu

Dear @Yinghan.Liu,

Regarding your first question, I generally follow your derivation but I’m not sure I understand all of the details, e.g., why the sign on J_e is the opposite to that of J_w. Alan Wright’s PhD Thesis-turned NREL report is likely of interest to you because similar state-space matrices are derived: https://www.nrel.gov/docs/fy04osti/35816.pdf.

I’m not sure I understand your second question, but again hopefully Alan Wright’s thesis is of use

Best regards,

Dear @Jason.Jonkman ,
Thank you so much for your reply. The report you provide is incredibly helpful for my work. It turns out that the state-space matrices I derived is correct, according to Alan’s paper. The reason why the result in mode analysis is strange may be the inappropiate parameters I put.


It seems like these two parameters (equivalent drive-shaft torsional-spring constant and equivalent drive-shaft torsional-damping constant) in Dynamics Modeling and Loads Analysis of an Offshore Floating Wind Turbine is the value about Low-Speed Shaft, is that right?
Best regards,
Yinghan.Liu

Yes, that is correct.

Best regards,

1 Like

Dear Jason,

Got it! Thank you so much for your quick reply.

Best regards,
Yinghan.Liu

Dear FuHang.Gan,

Did you complete your simulation of the Drivetrain in simulink, and did you obtain good results?

SIncerely,

Jersson.Leon

Dear @Jason.Jonkman

About the drivetrain dynamic model, I have two questions to ask.

First, in a paper I see someone notes that, in mass dynamic model, the number of the natural frequencies is one less than the number of mass blocks , why does that hold? Is that a experimental principle, or it can be derive theoretically without specific data?

Second, I construct a two-mass drivetrain model, and use the state-space matrices to derive the frequency of open-loop system, and the result is 2.088Hz. However, by using the linearization in OpenFAST, the natural frequency for 1st drivetrain is only 1.69Hz, which is different from 2.088Hz. In my opinion, the frequency I derived from the state-space matrix should be close to the natural frequency calculated in OpenFAST. Could you please help me explain why that happens?

About the natural frequency, I have one question to ask. When doing the linearization in OpenFAST, as the rotor speed vary from 0 rpm to 14rpm, the mode of the generator is always rigid, or the frequency of generator mode is near to 0 Hz. Is that because when you construct the models in OpenFAST, you consider generator mode already as rigid???

Thanks so much!

Dear @Yinghan.Liu,

Here are my responses:

  1. Presumably you are referring to a drivetain model with masses/inertias interconnected by torsional springs; is that correct? As with any multi-body system, the number of natural frequencies will match the number of degrees of freedom (DOFs). So, a two-mass drivetrain model with two DOFs will have two natural frequencies. But the first natural frequency of a drivetrain model will be the rigid body mode, with a natural frequency of zero. There will be NDOF-1 modes with nonzero natural frequencies.
  2. Can you clarify how you derived the natural frequency that is different from what OpenFAST is calculating?
  3. If you enable the generator DOF in ElastoDyn (GenDOF = TRUE), the drivetrain is the rigid-body mode and the drivetrain DOF (DrTrDOF = TRUE) represents the torsional spring. If GenDOF = TRUE and DrTrDOF = FALSE, only the rigid-body mode is included. If GenDOF = TRUE and DrTrDOF = TRUE, the rigid-body mode is included and the other mode represents a free-free torsion mode. If GenDOF = FALSE and DrTrDOF = TRUE, the rigid-body mode is absent and the remaining mode represents a fixed-free torsion mode.

Best regards,

Dear @Jason.Jonkman

Thanks for your quick reply!

Here are my questions and responses:

  1. You just mentioned that the first natural frequency of a drivetrain model would be the rigid body mode, with a natural frequency of zero. Is that because when we analyze for the mutil-mass drivetrain model, we set the reference as the first mass, which means all the motions would be considered with reference to the first mass block? Thus, the first mass block would be considered as still?

  2. The derivation process is as follows:

After substituting the parameters for NREL 5MW wind turbine, I get the result as following:

Thus, the oscillation frequency of drivetrain is 2.088Hz. But from linearization in OpenFAST, the result is 1.69Hz.

  1. Why does the enabled generator DOF represents the rigid-body mode of drivetrain? I think when the generator DOF is enabled, it represents that the generator can rotate freely, whether accelerating or decelerating. It has no relationship with the rigid body mode of drivetrain. The thing that decides ‘rigid’ or not may be the drivetrain DOF (DrTrDOF) only.

Thanks again in advance!