Output parameters of Tower-Top,Yaw-bearing Motions

Hi,

We are performing several simulations with FAST 7.02 and and 8 of the NREL 5MW Onshore model. And I have several questions:

I can understand that YawBrTDxp (Tower-top / yaw bearing fore-aft (translational) deflection (relative to the undeflected position)Directed along the
x_p -axis ) and YawBrTDxt (Tower-top / yaw bearing fore-aft (translational) deflection (relative to the undeflected position)Directed along the
x_t -axis ) will be numerically quite similar, because of the Tower-top / yaw bearing angular roll and pitch small deflections. This deflections have the maximum more or less about 0.15 deg, so cos(0,15)~=1 and the Tower-Base(t) and Tower-Top(p) coordinate system will have more or less the same orientation. If I plot this variables wrt the time I can see similar graphics, I can’t differentiate them. Same occurs with YawBrTDyp and YawBrTDyt, they are numerically similar.

Under this assumption I suppose that YawBrTDzp and YawBrTDzt will be too similar but they are very different. First one is positive and the other is negative. See the image where YawBrTDzp is the blue one and YawBrTDzt the green one:

But just trying to invert the green one, scaling by -1, they aren’t similar:

I assume that the same vector represented in this two frames,having close similar orientations, will have same components, but I you can see there is something wrong.

The question is, Is FAST wrong or are my assumptions wrong?

Another question is: why the following output parameters are not implemented YawBrTVxp, YawBrTVyp, YawBrTVzp (linear velocities) if YawBrTAxp, YawBrTAyp, YawBrTAzp (linear accelerations) and the correspondent deflections are?

It curious because YawBrRVxp, YawBrRVyp, YawBrRVzp are implemented…

Thanks in advance

Aitor Plaza

Dear Aitor,

For YawBrTDzp, a portion of the deflection will come from the transverse deflection (e.g. YawBrTDxt) projected on the moving zp axis, which does not happen with YawBrTDzt.

If I recall, outputs YawBrRVxp, YawBrRVyp, YawBrRVzp were added out of necessity for a project we were using FAST for, but I agree that it is odd that YawBrTVxp, YawBrTVyp, YawBrTVzp were not added at the same time. These would not be too difficult to add through a small modification to the FAST source code.

Best regards,

Dear Jason.

Thank you very much for your response.

In the picture you can see that the yellow one is the 3rd component of:
(diff_rot_x_mat(YawBrRDzt)*diff_rot_y_mat(YawBrRDzt)diff_rot_z_mat(YawBrRDzt))'[YawBrTDxt,YawBrTDyt,YawBrTDzt]

and is fully coincident with the red one (given by FAST) so, yes you are right. At a first glance it was not so obvious for us.

Regarding the addition of YawBrTVxp, YawBrTVyp and YawBrTVzp in the output, it would be very nice. Or if you can tell us where to implement them It would be very useful.

We are using FAST 7.2 in Linux but we have noticed that execution is much slower than the same one under windows, is there any reason?

Thank you very much again.

Aitor

Dear Aitor,

We don’t currently have plans to change FAST v7 or to add YawBrTVxp, YawBrTVyp, and YawBrTVzp to the ElastoDyn module of FAST v8. However, you should be able to modify the source code yourself. I suggest that you search code for YawBrTDxp, YawBrTDyp, and YawBrTDzp to see how/where they are defined and mimic the logic for YawBrTVxp, YawBrTVyp, and YawBrTVzp.

If you are running FAST on Linux my guess is that you compiled FAST yourself; the speed, then, is dictated by the compiler or compiler settings you are using.

Best regards,

Dear Jason

Thank you for your response. We will try to modify the code and implement those features.

Best regards

Aitor

Hi Jason

We have implemented these features in FAST v8 and for YawBrTVxp and YawBrTVyp seems to work fine but not for YawBrTVzp. I’m sure that we are doing something wrong.

In the next figures you can see YawBrTVxp,YawBrTVyp,YawBrTVzp obtained with our implementation in FAST v8, in red, and obtained by numeric differentiation of YawBrTDxp, YawBrTDyp, YawBrTDzp, in green (differentiation performed by Euler Method)

YawBrTVxp

and a zoom

As can be seen they are quite similar

YawBrTVyp (They are similar too)

But for YawBrTVzp, they are not similar

Taking into account that we don’t know how to code in Frotran, we have done the next modification in ElastoDyn.f90:

m%AllOuts(YawBrTVxp) = DOT_PRODUCT( m%RtHS%LinVelEO, m%CoordSys%b1 )
m%AllOuts(YawBrTVyp) = -DOT_PRODUCT( m%RtHS%LinVelEO, m%CoordSys%b3 )
m%AllOuts(YawBrTVzp) = DOT_PRODUCT( m%RtHS%LinVelEO, m%CoordSys%b2 )

correspondent variables too have be introduced in ElastoDyn_IO.f90

It works, but the Z component is not correct, can you help us?

Tanks in advance

Best regards

Aitor

Dear Aitor,

Your modification to ElastoDyn.f90 looks correct. It is your numerical differentiation that is in error.

What you want to do is to compute the velocity in inertial frame coordinates and project that velocity on the rotating xp/yp/zp coordinate system. This is what you’ve done in your modification to ElastoDyn.f90. But in your numerical differentiation, you’ve taken the time-derivative in the rotating coordinating system, which in general is not the same as the former. My guess is the error is negligible for YawBrTVxp and YawBrTVyp, but large for YawBrTVzp (or at least the error the error is large relative to the value for YawBrTVzp).

Best regards,

Dear Jason

Thank you very much for your fast answer. I agree with you, the error is because I differentiate with respect to a moving frame. I’ll try to figure out where is our error.

Best regards

Aitor

Dear Jason.Jonkman,
I have a question about the Tower-top deflection.
In Aitor’s figure, the YawBrTDxp is positive, and in the fast user’s guides, written that it is positive downwind; but the 5WM wind turbine is an upwind model, I think the YawBrTDxp should be negative.
So I did some simulation with downwind and upwind model(By changing HubCM, Precone, ShftTilt, OverHang and ShftGagL ), I found that all the YawBrTDxp are positive. I’m very confused about it.
Could you please tell me why? Do I misunderstand the definition of YawBrTDxp or my model is wrong?

Thanks in advance

ZHANGCheng

Dear Cheng ZHANG,

The xp-axis in FAST points nominally in the downwind (zero-degree wind) direction for both upwind and downwind rotors. That is, an upwind rotor passes through the negative xp axis.

Best regards,

Dear Jason.Jonkman,

First, I’m sorry for repose you late.
that means the xp does not change whether the wind turbine is upwind or downwind? the wind direction as well?
the only change is the wind turbine’s direction?

Best regards,
Cheng ZHANG

Dear Cheng ZHANG,

Correct. This is discussed more e.g. in the following forum topic: upwind and downwind turbines - #2 by Jason.Jonkman.

Best regards,

Dear Jason.Jonkman,

Thank you very much for your answering! Now, I’m very clear!

Best regards,
ZHANG Cheng