Structural loads at pitch and yaw actuator

Dear Matthias,

Can you also plot YawVxn and YawAxn (i.e., the resulting yaw rate and yaw acceleration, which I suspect are different than the commanded yaw rate and acceleration)?

I suspect you’ve chosen values of YawSpr and YawDamp that are far too low to get the yaw motion to exactly track the desired yaw acceleration. The FAST User’s Guide recommends that you set YawSpr = YawIner•ωn^2 and YawDamp = 2•ζ•YawIner•ωn, where YawIner is the nominal inertia of the nacelle and rotor about the yaw axis in kg·m^2, ωn is the desired yaw actuator natural frequency in rad/sec, and ζ is the desired yaw actuator damping ratio in fraction of critical. The natural frequency I see in your plot of YawMom is around 1.87 Hz, or ωn = 11.75 rad/s. From your values of YawSpr and YawDamp and the equations above, this must mean that YawIner = 7.24E+6 kg·m^2 and ζ = 5.87 E-4 in your model. ζ should be set between 0.6 and 0.7 for optimal tracking of a desired yaw motion (increasing YawSpr may also help).

Best regards,

Hello Jason,

thanks for your response and the recommends in terms of YawSpr and YawDamp value.
Unfortunately the output result for YawMom is still not as expected.
Are the values YawVxn and YawAxn standard outputs of FAST?
If I do run a FAST job with this output channels FAST terminates with an error message.

Any help is much appreciated!

Best regards,

Matthias

Dear Matthias,

Sorry. I meant to say YawVzn and YawAzn, which are the nacelle-yaw rate and acceleration.

Best regards,

Hello,

I now use a double precision FAST where I receive the expected results.
I increased the YawDamp value up to 1e9. The yaw acceleration (YawAzn)
and the YawMom now stays constant.
To me it seems to be as a problem of the solver stability.
What I still wonder is, that I do get NaN as output if I choose the YawDamp value above 1e10.

Kind regards,

Matthias

Dear Matthias,

I’m glad you got the desired yaw response.

I’ve never needed to use double precision in FAST to get a desired output. Are you saying that you needed double precision with YawDamp = 1e9? What damping ratio, ζ, are you getting–based on the equations below–with YawDamp = 1e9 and YawDamp = 1e10? As I said before, you should ensure ζ is between 0.6 and 0.7 for optimal tracking of a desired yaw motion. Much higher damping may lead to a numerical instability in the model. I’m not sure where you are seeing NaN as output, but this is often the first sign of a numerical instability in the model.

Best regards,

Dear Jason,

I’m trying to add a mechanical pitch actuator model to FAST as a bladed-style DLL. For modelling the blade bearing I need several forces and moments at the blade root. Now I’m trying to use the user-defined records (120-129) and other records of the DLL-interface to get the forces and moments from ElastoDyn to my bladed-style DLL.
Is it possible to define the records with this variables in the Bladed Interface so I have access (for reading) in my bladed-style DLL?

Thank you in anticipation for your help.

Best regards
René

Dear René,

Yes, it is possible, and it sounds like you’re on the right track to implementing it. I suggest that you look at how the DLL currently gets the blade root out-of-plane bending moments (records 30-32) and blade root in-plane bending moments (records 69-71) and mimic the approach for the other load components you need.

Best regards,

Dear Jason,

I am trying to estimate the values of YawSpr and Yaw Damp, when I came across with this post where these variables a defined as;
YawSpr = YawIner•ωn^2
YawDamp = 2•ζ•YawIner•ωn

I was doing some test trying to get the same values as are shown on NREL 5MW example and DOWEC 6MW PREDESIGN. According to both examples I have some differences between my calculations and the values posted. I would like to know the reason (I think the differences are too high to be caused by the decimals).

In case NREL 5MW example:
YawSpr = YawIner•ωn^2=2,607,890*(32pi())^2=926,598,334 and the example is 9,028,320,000
YawDamp = 2•ζ•YawIner•ωn=20.22,607,890*(32pi())= 19,663,027 and in the example is 19,160,000 N•m/(rad/s).
The example I am referring is NREL 5MW: nrel.gov/docs/fy09osti/38060.pdf, Section 4; “4 Hub and Nacelle Properties”

Besides I am having some issues too, with the calculation of the YawInertia to obtain the same values as in NREL 5MW example. From the information I read, I assume that the YawIner is calculated with the Nacelle (NacMass,NacCMxn) and with the rotor (Rotormass,OverHang). Am I missing anything? Is there any old post where I can see the development?

Thank you a lot for your time.

Kind regards

Dear Pablo,

I agree with your calculations, except that:

I hope that helps.

Best regards,

Dear Jason,

Thank you very much for your quick response. The new value clarifies the calculation. Nevertheless the value of 2,607,890 kg•m2 posted on NREL 5MW, refers to Nacelle inertia about Yaw axis. This value is not calculated as only I=mr^2, isn’t it? Which components contribute to this inertia? Only the nacelle mass (including the generator)?
I was trying to calculate by hand a preliminary value. I was taking into account the nacelle mass and rotor mass as the inertia of two puntual masses (I=m1*m2/(m1+m2)*x^2) and the apply the parallel axis theorem to obtain it at the Yaw axis. I think I was too naive. I will try to reproduce the value you told me, with the linearization functionality of FAST and understand better the process.

Thank you for your time.

Best regards,

Dear Pablo,

The nacelle-yaw inertia of NacYIner = 2,607,890 kgm^2 for the NREL 5-MW baseline turbine includes contributions both from the nacelle mass center offset from the yaw axis and the distribution of mass around the nacelle center of mass. However, the value of YawIner in the equation for the yaw spring and damper should include not only the nacelle-yaw inertia, but also the inertia of the rotor about the yaw axis. This latter inertia has contributions both from the rotor mass center offset from the yaw axis and the distribution of mass around the rotor center of mass.

Best regards,

Dear Jason,

I’m coming back to what Pablo said about NacYIner, YawSpr and YawDamp numerical values. For NacYIner, it’s NacYIner=2.60789E+06 kg.m^2 right? As for YawSpr and YawDamp, should we take the default values in the documentation which are :
9.02832E+09 YawSpr - Nacelle-yaw spring constant (N-m/rad)
1.916E+07 YawDamp - Nacelle-yaw damping constant (N-m/(rad/s))

Or take the values that respect the 3Hz natural nacelle frequency and a ratio damping of 0.02, as calculated by Pablo, which are:
9.2660e+08 YawSpr - Nacelle-yaw spring constant (N-m/rad)
1.9663e+06 YawDamp - Nacelle-yaw damping constant (N-m/(rad/s))

Or can we adjust the YawSpr and YawDamp freely with respect to 3Hz and a ratio damping of 0.65 for instance, which will be:
9.2660e+08 YawSpr - Nacelle-yaw spring constant (N-m/rad)
6.3905e+07 YawDamp - Nacelle-yaw damping constant (N-m/(rad/s))

Kindest regards

Younes

Dear Younes,

As I explained to Pablo, the value of YawIner he was using in those equations was too small. YawIner in those equations should use the combined inertia from the nacelle (NacYIner) and the rotor about the yaw axis (YawIner = NacYIner + RotorInertiaAboutYawAxis). For the NREL 5-MW turbine, the value I used was NacYIner = 2,607,890 kg m^2 and YawIner = 25,410,000 kg m^2. I had used ζ = 0.02, but you could use a higher damping ratio of ζ = 0.65 if you want.

Best regards,

Dear Jason,

Thank you for the reply, it helps a lot!

Kindest regards

Younes

Dear Jason
I am studying the impact of wake meandering on turbine yaw duty and fatigue loading using SOWFA-OpenFAST. I implemented active yaw-rate controller in bladed DISCON.
Because I enabled YawDOF, there are spikes in yaw bearing moment about yaw axis (YawBrMzn) when the yaw controller is triggered due to the yaw actuator command load (as shown in the plot; the left axis is the yaw position relative to the mean free-stream wind direction (red line) and the right axis is the yaw moment, YawBrMzn (green line)).
I would like to get some suggestions if there is any simple way to calculate only external yaw moment loads (wind load) without rerunning the LES with YawDOF disabled. So that I can compare the yaw moment due to wind loads between active yaw control and fixed yaw position cases.
Is it possible to use the YawAccel from ElastoDyn and YowMomCom from ServoDyn to obtain the external loads?

Thank you very much
Warit
YawPos_YowMom.png

Dear WARIT,

If the rotor-nacelle assembly (RNA) was rigid, the equation of motion for the nacelle-yaw DOF would be:

YawBrMzn = YawSpr*( YawPos - YawPosCom ) + YawDamp*( YawRate - YawRateCom ) = YawTq - YawIner*YawAccel

where YawTq is the aerodynamic applied yaw moment and YawIner is the inertia of the RNA about the yaw axis. Thus:

YawTq = YawBrMzn + YawIner*YawAccel

If the RNA is not rigid (e.g. from blade flexibility and rotor rotation), then this may still be a reasonable approximation if YawIner is calculated as some averaged value.

Alternatively, AeroDyn v15 can output the total aerodynamic applied loads in the hub coordinate system via the six outputs RtAeroFxh, …, RtAeroMzh.

Best regards,

Dear Jason
Thank you very much for your suggestion.
This is really helpful.

Regards
Warit

Dear Jason,

You mentioned in a 2019 reply that you calculated the YawInerta (Nacelle + Rotor inertias) through linearization. Did you use FAST v7 + MBC3 codes for that?

Could it be possible for you to summarize the procedure? (the calculation, not linearization process). I am trying to obtain the YawSpring and YawDamp for the WindPact 1.5 MW turbine. I obtained documentation with this information, but I want to validate the second-order yaw actuator in matlab with the same parameters. However, I am unsure of how to obtain the YawInertia from scratch (I.E. calculation with rotor inertia about the rotor axis and overhang + NacIner).

Best Regards.

Dear Leanardo,

When I originally developed the YawInertia for the NREL 5-MW baseline wind turbine, I used the linearization functionality of pre-FAST v7 (which is similar to that of FAST v7). The yaw inertia comes directly from the mass matrix (no MBC3 needed) for a model with only the nacelle-yaw DOF enabled.

The FAST v8 and OpenFAST linearizations do not output the mass matrix directly, but this matrix can often be inferred from other matrices generated through the linearization process, e.g., as discussed in the following forum topic: OpenFast 2nd order Linearization - #2 by Jason.Jonkman. A process similar to what is described there could be done to derive YawInertia when only the nacelle-yaw DOF is enabled.

Best regards,

Dear Jason,

Thank you very much.

Best regards.