OpenFAST / openfast

Main repository for the NREL-supported OpenFAST whole-turbine and FAST.Farm wind farm simulation codes.
http://openfast.readthedocs.io
Apache License 2.0
648 stars 447 forks source link

Large differences in yaw between OpenFAST and FAST7 for tail fin turbine #1653

Closed BecMax closed 1 year ago

BecMax commented 1 year ago

Dear all,

after updating a FAST 7 model of a small wind turbine to OpenFAST, which uses a tail fin for yawing, we see relatively large deviations in the predicted yaw behavior. Both the FAST7 and OpenFAST version are custom compiled due to usage of adjusted PitchCntrl_ACH (for passive pitch control), UserVSCont_KP ( for variable-speed torque control) and addition of a simple yaw friction model based on a friction coefficient, adding up to the yaw moment. As OpenFAST version we are using as basis version 3.4.1, which includes the tail fin aerodynamics (https://github.com/OpenFAST/openfast/pull/1277) and for FAST 7 version (v7.02.00d-bjj).

In the update process, we tried to keep the model parameters to be matching as close as possible between the different codes. In OpenFAST we are now using the elastodyn furl input file, where both rotor and tail furl DOF are disabled and additionally the tail fin aerodynamics input file. The only new parameter, which cannot be directly derived from the FAST 7 model, seems to be the tail fin chord (TFinChord). Unfortunately, this parameter is not described in the documentation, but we assumed it to be equal to some kind of mean aerodynamic chord of the tail fin, which we estimated from the drawings. Can you please explain, how we should define this parameter exactly?

Anyway, we would expect the yaw behavior to be approximately similar, but after simulating a wind ramp with both codes we find that the yaw angle in FAST 7 is about 10 times higher compared to OpenFAST simulation, compare with Figure below:

image

The implemented pitch and torque control behavior is approximately similar, except some stronger deviations at high wind speeds:

image

Moreover, the rotor furl and tail furl bearing moments, which I understand from the code are main components to determine the yaw angle, are also approximately equal (except for very high winds):

image

The implemented friction moment is approximately similar as well (Orange is OpenFAST; shown in Nm):

image

The resulting yaw bearing moments follow this behavior too (Orange is OpenFAST):

image

We are not directly able to tell the cause of this discepancy due to the large number of components in the code affecting the yaw angle. We do not think that the friction model is causing these issues here, as similar offset in yaw angles is obtained without any friction.

We realized that we could increase the magnitude of yaw angle by a few degrees by including a bank angle. However, the turbine has no tail angles, but it is interesting that this influences yaw angle in OpenFAST, whereas it did not have any major effect in FAST 7.

Unfortunately, we may not be able to share the model as the FAST 7 model originates from a customer. For testing purposes, we did a similar comparison with the small wind research turbine model until medium wind speeds due to the furling. Therefore, we adapted SWRT_YFree_VS_WTurb from OpenFAST regression tests including a tail fin chord of 0.5 m, estimated from report 38550 (https://www.nrel.gov/docs/fy06osti/38550.pdf). We run the tests with unchanged OpenFAST 3.4.1 and FAST v7.02.00d-bjj (adapted Test17). Here the yaw angle magnitude is again lower for OpenFAST, the match is better but a difference of about 10 degrees remains:

image

For this comparison, the pitch angle has been set to the same value of 11.44 deg. The rotor speed according to the torque control is deviating slightly, but due to the fact that the yaw angle magnitude in OpenFAST seems not to be increasing above certain values, we think this influence is small:

image

Do you have any ideas how these differences in yaw angle can be explained? Is this related to the aerodynamic overhaul and updates in AeroDyn 15? Is there any suggestion how we could better investigate this problem?

This is the compile info of the adjusted OpenFAST version, which we are using:

OpenFAST-v3.4.1-3-g004a102d-dirty Compile Info:

Kind Regards, Max Becker

ebranlard commented 1 year ago

Hi,

Thank you for your report. The tailfin aerodynamics have been reintroduced recently but the feature is still being worked on, so we appreciate your patience.
You'll find the code of the aerodynamic calculation around these lines: https://github.com/OpenFAST/openfast/blob/6b8706b75698cb1c97c6a8e3e9f42538a63fa71b/modules/aerodyn/src/AeroDyn.f90#L4344

It should match what is present in the (scarce) documentation. The chord is mostly used for the aerodynamic moment calculation and to estimate the Reynolds number.

Unfortunately, there is small bug. The chord is somehow present in the Fy force (on this line: https://github.com/OpenFAST/openfast/blob/main/modules/aerodyn/src/AeroDyn.f90#L4356C31-L4356C31). You would need to remove this, or use a chord of 1m.

Your testcase is likely a bit too complex for me to dive into it, but here are some things that can help debugging:

We tested this implementation using a one degree of freedom yawing system, exited only by the tailfin aerodynamic force (lift only). The results matched our predictions. But maybe there is another bug somewhere.

Thanks again for testing this out.

TFAlpha     Angle of attack of tailfin
TFMach      Mach number of tailfin flow
TFRe        Reynolds number of tailfin flow
TFVrel      Orthogonal relative velocity norm at the tailfin reference point
TFVundxi        Undisturbed wind velocity at the tailfin reference point in the inertial system (x-direction)
TFVundyi        Undisturbed wind velocity at the tailfin reference point in the inertial system (y-direction)
TFVundzi        Undisturbed wind velocity at the tailfin reference point in the inertial system (z-direction)
TFVindxi        Induced velocity at the tailfin reference point in the inertial system (x-direction)
TFVindyi        Induced velocity at the tailfin reference point in the inertial system (y-direction)
TFVindzi        Induced velocity at the tailfin reference point in the inertial system (z-direction)
TFVrelxi        Relative velocity at the tailfin reference point in the inertial system (x-direction)
TFVrelyi        Relative velocity at the tailfin reference point in the inertial system (y-direction)
TFVrelzi        Relative velocity at the tailfin reference point in the inertial system (z-direction)
TFSTVxi     Structural velocity at the tailfin reference point in the inertial system (x-direction)
TFSTVyi     Structural velocity at the tailfin reference point in the inertial system (y-direction)
TFSTVzi     Structural velocity at the tailfin reference point in the inertial system (z-direction)
TFFxi       Force at the tailfin reference point in the inertial system (x-direction)
TFFyi       Force at the tailfin reference point in the inertial system (y-direction)
TFFzi       Force at the tailfin reference point in the inertial system (z-direction)
TFMxi       Moment at the tailfin reference point in the inertial system (x-direction)
TFMyi       Moment at the tailfin reference point in the inertial system (y-direction)
TFMzi       Moment at the tailfin reference point in the inertial system (z-direction)
BecMax commented 1 year ago

Hi, thank you for the quick and comprehensive response.

We have now investigated this further based on the mentioned approach and inertial properties were matching perfect. To summarize there was an error in the provided FAST 7 model of our turbine, which accidentally has utilized a blade root airfoil as tail airfoil.

A simple test case with only yaw degree of freedom with initial yaw of 30 degrees and aerodynamic loads now results in nearly a perfect match for both the yaw position and tail loads (Orange is FAST 7, Blue OpenFAST):

image

image

The more complex wind ramp, which we have previously simulated, now also agrees very well in yaw, except for a strange peak in FAST 7 at the start. We do think the differences may be attributed to the control influence and deviations in rpm and pitch.

image

Moreover, the SWRT results, which I have accidentally misinterpreted above, also do agree much better:

image

Thanks again for the great support!

Kind regards, Max

ebranlard commented 1 year ago

Hi Max , Thanks for the update, it's good to hear that there is a better agreement now! Emmanuel