Dear NREL Forum Communities
I am currently conducting a steady state analysis on the IEA 15MW model. The version I am using is v1.1, which was released on March 5, 2022.
I performed the steady state analysis without making significant modifications to the existing files. However, I’ve noticed slight discrepancies in blade pitch and other results compared to the original results. I’m unsure of the underlying issue causing these differences.
The graph below illustrates the steady state results from the IEA Wind TCP Task 37 report compared to the results I obtained. The red dots represent my results, and discrepancies start to appear from a wind speed of 10m/s onwards.
Could this be related to a control issue? Or perhaps I made incorrect settings during the steady state analysis?
are you maybe modeling the blades with BeamDyn? If so, the discrepancy in pitch could be simply explained by the fact that the plots in the technical report were generated with ElastoDyn, which has no torsional degree of freedom. How does your power curve look like?
I will also add that with the v1.1 turbine, the model files are significantly different than what was used to generate the original report graphics. We also cannot perfectly recreate those results given the changes. The changes since the original release were all corrections to errors that bring the current version closer to the original design intent.
Dear Pietro Bortolotti,
Thank you for your response.
Upon reviewing your response, here are my thoughts:
Firstly, the Blade modeling was conducted using ElastoDyn, and ElastoDyn was also utilized for the OpenFAST analysis.
Furthermore, if the Power curve you mentioned refers to the Generator Power plot, you can refer to the graph below.
Dear Garrett Barter,
Thank you for your response.
I also had the thought that the version of the 15MW IEA OpenFAST model I released might be different from the one used in the IEA Wind TCP Task 37 report. So, I looked into the source of the model in report, but I couldn’t find any information related to the model used for the analysis
Do you happen to know the release version of the 15MW IEA OpenFAST model that was used for the report?
Additionally, I’m interested in validating a turbine with performance similar to that in the report and using it for future analyses. Is there a method you could suggest?
The report was released alongside the v1.0 model of the reference turbine.
I’m not clear what you mean by your comment: “I’m interested in validating a turbine with performance similar to that in the report and using it for future analyses.”
Could you please explain a bit more? In general, turbine validation is always challenging and it is especially difficult to do validation of steady-state performance against real-world data.
Dear Garrett Barter,
Thank you for your prompt response and ongoing interest in our inquiries.
The meaning of the comment I mentioned, “I’m interested in validating a turbine with performance similar to that in the report and using it for future analyses,” is as follows.
My intention is to implement and validate the steady-state performance results of the turbine as documented in the IEA Wind TCP Task 37 report. I plan to use the validated turbine information as a basis for conducting further analyses of the entire floating offshore wind turbine (FOWT) system.
Is it not feasible to directly implement the steady-state performance results from the IEA Wind TCP Task 37 report using the 15MW IEA FOWT released model available on Github?
If possible, could you please guide me through the steps I need to take to validate the steady-state performance from the IEA Wind TCP Task 37 report using the 15MW IEA FOWT released model available on GitHub? Your assistance would be greatly appreciated.
My apologies, I think I was reading your words too narrowly.
If you download the latest version of the IEA 15-MW model from the Github site, you can consider it “validated”. There is no need to run the model and compare to the report graphs. As you noted and we explained, you will not be able to match those figures exactly anymore as the model has evolved (for the better). The same is true for all graphs in the report, such as load values, not just steady state performance.
Dear Garrett Barter,
I sincerely appreciate your continued responses.
I have thoroughly understood the points you’ve mentioned. I will apply them to the analysis using the latest version.
I have realized that I’ve been thinking incorrectly up to this point, which has led to me not conducting proper validations. There was a mistake in attempting to verify using the control system applied to the Semi 15MW. When I used the control system applied to the Monopile for verification, the results in the report turned out somewhat similar.
However, the same curiosity remains. Is it accurate that the control system applied to the Semi 15MW can generate power up to 20MW?
You are seeing 20MW power production in steady state? I think you will have to give us some more detail on your setup. Is this with the latest reference turbine and OpenFAST versions? Fixed-bottom or floating? Are you using the correct ROSCO library and input files? How are you setting up your steady-state runs?
I suspect that you’re averaging out a very unstable power signal. Is that the case? I’m also observing some nasty instability that I can’t explain. The instability goes away by turning off the platform degrees of freedom in ElastoDyn. We’ll need to dig deeper to understand what’s happening.
I might be mistaken, but the instability is gone if you push structural damping of the tower to 1% critical. This has been a weakness of the design of the IEA15 since its beginning and we might need to accept this unrealistic value moving forward. See this commit bring back tower damping to 1% crit... · IEAWindTask37/IEA-15-240-RWT@d064c2e · GitHub where I’ve adjusted tower structural damping from 0.32% crit to 1% crit. We’ll try to do a better job with the new IEA-22 design GitHub - IEAWindTask37/IEA-22-280-RWT: Repository for 22MW offshore reference wind turbine developed by the IEA Wind Task 37
I hope this helps.
Dear Garrett Barter,
I will provide you with an answer regarding the inquiries you’ve made.
1) Is this with the latest reference turbine and OpenFAST versions?
→ The OpenFAST version I used for the Steady-State analysis is version 1.14.
2) Fixed-bottom or floating?
→ For the case of 20MW power production, I used the floating Semi 15MW model.
3) Are you using the correct ROSCO library and input files?
→ I’m not entirely sure if what I’m saying matches your inquiry, but the ROSCO library I used is the “libdiscon.dll” file, and within the ServoData folder, there exist the files “Cp_Ct_Cq.IEA15MW.txt” and “DISCON-UMaineSemi.IN”.
4) How are you setting up your steady-state runs?
→ There haven’t been any significant changes made, just adjustments to the initial conditions of ElastoDyn. The altered settings are as follows: DrTrDOF and Ptfm##DOF changed to False, RotSpeed changed to 5.
If you need any additional information, please let me know. I can also copy and paste the contents of the input file I used if that would be helpful.
I appreciate your response.
Regarding the instability in the power curve, I want to begin by informing you that I have performed an analysis by first setting all Platform Degrees of Freedom (DOF) to False.
Additionally, I intend to follow the link you provided to learn about adjusting structural damping, as you suggested.
I have a continued question that I’m curious about: Do you think that adjusting the damping could result in the power output being aligned with the 15MW range, even up to 20MW?
If there’s a reason for generating power up to 20MW instead of 15MW, I’m curious about it. However, I understand that a more thorough and comprehensive examination is required to fully understand the underlying factors behind this phenomenon.
The damping in ElastoDyn is always a bit tricky… Note that the damping values provided to ElastoDyn correspond to the tower isolated with a clamp at the tower base and free at the tower top (i.e., without rotor-nacelle-assembly). If you want to have a first tower bending mode damping of 0.32%, likely the damping that you should provide in ElastoDyn is significantly higher (in the order of 1%).
You could use the next relationship to input the tower damping in ElastoDyn:
ζ_ElastoDyn= ζ_target*(f_(tower isolated)/f_(tower coupled))
where f_(tower isolated) is the eigenfrequency of the tower clamped at the base and free at the top, f_(tower_coupled) is the eigenfrequency of the tower accounting for the corresponding boundary conditions (e.g., RNA and monopile flexibility, if any), ζ_target is the target damping that you want to have in the tower bending mode, ζ_ElastoDyn is the damping that you have to provide in the ElastoDyn input file.
For example, in OC6 phase II project (DTU 10-MW wind turbine on top of a monopile), the frequency of the tower isolated was 1.001 Hz, the coupled frequency of the tower (e.g., accounting for rotor-nacelle-assembly and monopile flexibility) was 0.249 Hz, and the target damping was 0.5%. In this case, the damping in ElastoDyn for the first tower bending mode was: ζ_ElastoDyn= 0.5*(1.001/0.249) = 2.01%.
This damping value can be verified by making the rotor-nacelle-assembly rigid, disabling any aero influence, performing a free-decay, and obtaining the damping through a logarithmic decrement analysis.
I hope that helps!
Thank you Roger for spotting the inconsistency and the detailed, clear, and very helpful explanation.
I’ve now fixed things here Simple vs ctrl by ptrbortolotti · Pull Request #158 · IEAWindTask37/IEA-15-240-RWT · GitHub