IEA 10MW Offshore Wind Turbine Steady-state analysis

Dear NREL Forum Communities

I ran steady-state analysis for the IEA 10MW offshore wind turbine using OpenFAST v3.2.0
(I used model from Github.)

Unlike IEA Wind TCP Task 37 Report(https://www.nrel.gov/docs/fy19osti/73492.pdf), my results are so strange.

There are as following


My Result

image image

IEA Wind TCP Task 37 Report Result


In my opinion, There might be two causes

  1. The data in Github. is obsolete.

    • It hasn’t been updated according to the latest version of OpenFAST and ROSCO since 2020 (Onshore Version has done recently)
  2. Simulation setting was wrong

    • I followed the other’s steady-state analysis setting.
      If I have to, I will write down my OpenFAST setting later.

Honestly speaking, I never tried to steady-state analysis before.

May I get any advises from this situation?

Best regards,
Sangwon

Dear @Sangwon.Lee,

My guess is something is wrong with your simulation settings. You mentioned running a steady-state analysis. Can you clarify how you computed the steady-state solution?

Given that your Cp is well above the Betz limit (which is not possible), I’m curious if you have accidentally disabled the calculation of induction, e.g. by setting WakeMod = 0 (instead of 1) in AeroDyn.

Best regards,

1 Like

Dear @Jason.Jonkman

I really appreciate your quick reply.

Here are my Steady-state analysis solutions.


.fst File

AeroDyn15

ElastoDyn

ServoDyn

SubDyn

HydroDyn

InflowFile

DISCON.IN


I hope these can help you to find out trouble.

Best Regards,
Sangwon

Dear @Sangwon.Lee,

From my quick skim, I don’t see anything set incorrectly. How are you extracting the steady state solution from the time series? Are you sure the system has reached steady state?

Please note that you’ve disabled the six platform degrees of freedom in ElastoDyn, so, there is little need to enable HydroDyn and SubDyn.

Best regards,

1 Like

Dear @Jason.Jonkman

I found the error from your advises and really appreciated for your help.

I changed WakeMod setting 0 to 1.

Here are my results.


My results



IEA Wind TCP Task 37 Report


It’s much better than before but still have a question.

How can i set minimum rpm of Rotor or Generator?

Accoring to the report, Minimum rotor speed is 6 rpm.

I saw RotSpeed in ElastoDyn and GenSpd_MinOM in ServoDyn and set to 6.
(IEA Offshore 10MW is D-D Type so I set both 6.)

But results didn’t reflect these changes on low wind speed area.

Best regards,
Sangwon

Dear @Sangwon.Lee,

I’m glad you solved the core issue.

Regarding the minimum rotor speed, this would be defined by the controller. Are you enabling the reference ROSCO controller when simulating the IEA Offshore 10-MW reference wind turbine? If so, ServoDyn input GenSpd_MinOM is not used. Instead, the controller settings in the ROSCO controller are set in the associated controller (_DISCON.IN) input file.

Best regards,

1 Like

Dear @Jason.Jonkman

Thank you for your detail instruction.

In this case, I set True on Platform DOF in ElastoDyn but made abnormal results again.

These don’t make any sense with respect to aerodynamic theory.

Would you please check my steady-state solution again?

FYI, I used IEA 10MW offshore Monopile wind turbine model from github.
(GitHub - IEAWindTask37/IEA-10.0-198-RWT at offshore)

Best Regards,
Sangwon


My Result

.fst file

ElastoDyn

InflowWind

AeroDyn15

ServoDyn

DISCON.IN

HydroDyn

SubDyn


Dear @Sangwon.Lee,

From my brief review of your input files, the transition piece does not appear to be set correctly. SubDyn coupled to ElastoDyn through the interface node in SubDyn (which is located at 40 m above MSL) and the platform reference point in ElastoDyn (which is located at 10 m above MSL). Your SubDyn model doesn’t seem to match the model provided in the GitHub repository.

Best regards,

1 Like

Dear @Jason.Jonkman,

Thank you for your detail advise.

I am trying to update IEA 10MW Offshore Monopile Model using OpenFAST(v 3.1.0) because it’s obsolete in GitHub - IEAWindTask37/IEA-10.0-198-RWT at offshore.

I have another question.

Is it right and trustable method for running steady-state analysis on IEA 10MW Offshore Monopile without SubDyn and HydroDyn?

If so, Is it ok using onshore model in GitHub - IEAWindTask37/IEA-10.0-198-RWT to run steady-state analysis instead of offshore monopile model?

Because I want to see the result immediately but i am freshman and i guess, it will takes a lot of times to update model.

Best Regards,

Sangwon

Dear @Sangwon.Lee ,

I’m not really sure I understand your question. What are you trying to get from the steady-state analysis? Certainly you would want to model the monopile, e.g., if you goal is steady-state loads at the seabed.

Best regards,

1 Like

Dear @Jason.Jonkman

My objective is running perfect steady-state analysis for IEA 10MW offshore monopile.

As I mentioned before, I tried to combine IEA 10MW Onshore Model with Offshore Model by using OpenFAST & ROSCO because Onshore Model is the latest version but Offshore Model is obsolete version in github. (Onshore Model has been updated recently using OpenFAST v3.2.0 & ROSCO v2.6.0 but Offshore Model hasn’t been yet since 2020)

Maybe I could update Offshore Model myself using the latest version of OpenFAST & ROSCO but I don’t know how to start and compile so I am studying now.

Currently, my result using OpenFAST & ROSCO is different to IEA Wind TCP Task 37 Report.

In my opinion, Minimum Pitch Saturation and Cp_Ct_Cq and other look-up table data are different between Github and Task Report.

Can I get any detail numerical value(e.g. Cp_Ct_Cq.txt, Minimum Pitch Saturation) used in Report?

Best Regards,
Sangwon


Steady-State Analysis Result

Hello Sangwon Lee,
The IEA10 model isn’t as well maintained as the IEA15 and I am sorry to see that you’ve been struggling with it. The offshore branch on the repository was created for another IEA task and later not maintained. I’ve just tried to merge the branches, but that’s easier said than done at this point. Also, this model has always been our (NREL) best interpretation of a model originally developed at DTU, so I don’t find too surprising that some parameters are off between GitHub and the documentation. This said, I believe this DISCON IEA-10.0-198-RWT/IEA-10.0-198-RWT_DISCON.IN at master · IEAWindTask37/IEA-10.0-198-RWT · GitHub should fix some of the issues that you’ve experienced, for example the min omega of 6 rpm and the nonzero pitch before region II. The discrepancy in rotor power is likely due to comparing mechanical (orange) and electrical (blue) power. Finally, the discrepancies in Cp, Ct, and thrust come from differences between HAWC2 and OpenFAST.
I hope this helps.
Best regards,
Pietro Bortolotti

1 Like

Dear @Pietro.Bortolotti

Thank you for your great description.

It really helps me a lot.

Have a nice day!

Best regards,
Sangwon

Hello Sangwon,
I’ve just pushed new OpenFAST v3.3 files for the IEA10 mounted on its monopile, see here GitHub - IEAWindTask37/IEA-10.0-198-RWT. I used WEIS to generate them GitHub - WISDEM/WEIS: Wind Energy with Integrated Servo-controls Toolset. Note that I haven’t really tested the OpenFAST model and I’m curious to know what you might see by running it.
I hope this helps.
Best regards,
Pietro

1 Like

Dear @Pietro.Bortolotti

I sincerly appreciated for your amazing work.

It was one of my wishes that I really wanted.

I will run steady-state simulation as soon as possible.

Thanks again!

Best regards,
Sangwon

Dear Pietro.Bortolotti
First thanks for your detailed description.
I have running steady-state simulation of the OpenFAST model files which you pushed newly, however, there were some errors:
1、I have downloaded the latest files from Github-IEAWindTask37 / IEA-10.0-198-RWT, but I can not found the dynamic library which is metioned in the line 77 of the “IEA-10.0-198-RWT_ServoDyn.dat”. Should I use the “DISCON_IEA_offshore.dll” from the folder:“controller/dll_windows”?
2、After running OpenFAST, I have received an error:


I guess the error could come from the ServoDyn.dat and the DISCON.IN file. I have searched that error in the forum, but did not find any solutions.
I would be very grateful for help in this matter. Thanks in advance.
Best regards.

Hello,
it sounds like you need to download/compile the ROSCO controller for your platform. Please follow the instructions on the ROSCO GitHub page (GitHub - NREL/ROSCO: A Reference Open Source Controller for Wind Turbines). If you compile the code, use the main branch. Once done, make sure that the ServoDyn file points to your new ROSCO library.
Best regards,
Pietro