IEAWindTask37 / IEA-15-240-RWT

15MW reference wind turbine repository developed in conjunction with IEA Wind
Apache License 2.0
203 stars 125 forks source link

Adding HAWC2 monopile model #153

Closed jennirinker closed 1 year ago

jennirinker commented 1 year ago

Purpose

The repo currently does not have a HAWC2 model of the IEA 15 MW with a monopile. Shame on me! This is long overdue.

Type of change

Testing

See the discussion in the comments below.

Checklist

jennirinker commented 1 year ago

The monopile is now implemented and seems to be numerically stable. (Thanks Anders!)

Info on the HAWC2 model. The monopile is constrained at the bottom node in translation in the vertical direction and rotation around the z axis. The soil is modelled as distributed linear springs as noted in Issue #151. Currently only lateral soil stiffness is modelled in HAWC2, no rocking, axial or torsional stiffness. If this is an issue, let me know. We can't do rocking, but we can do axial/torsional.

The current first natural frequencies calculated with HAWC2 using a system eigenanalysis in HAWC2 at 12 m/s steady wind with irregular waves are:

I want to add some small tests on the tower, otherwise I think this is soon ready to merge.

gbarter commented 1 year ago

Excited to see we are moving forward on this one!

jennirinker commented 1 year ago

I have added a test that checks that the monopile tower matches the yaml definition.

I think this PR is ready to merge, assuming all the tests are passing. I will therefore remove the "Draft" status.

@gbarter If this looks okay to you, feel free to merge it. Otherwise if you want more tests or you see any issues with how I modelled the turbine, let me know. :)

gbarter commented 1 year ago

It looks like the monopile thickness profile changed a bit in this PR. Was that intentional? Maybe we discussed it already and I'm forgetting the conversation?

jennirinker commented 1 year ago

Ahh, I never mentioned that in the PR sorry.

Yes, I updated the yaml, similar to what I did for #149 to revert back to the discretized thickness. The thickness values in the yaml in this branch should match the values in the original report.

gbarter commented 1 year ago

Well, I should probably update the OF files & tabular data too then. I'll do that and then we can merge.

Would you be okay if we redirected this to develop and then tagged the release with a PR from develop?

jennirinker commented 1 year ago

Totally fine with merging into develop instead of master--I've updated the base branch on this PR to reflect that.

And good point about updating the OF and Excel files. I don't have as many tests on the monopile as I did for the tower because the SubDyn format was a bit harder to work with. I unfortunately don't have time to develop more tests (this is my last week at work before a 3-week vacation) to cross-verify the monopile models as thoroughly as the tower, so thank goodness you caught the yaml change in the PR!

EDIT: So yes to sum up, feel free to either update OF/Excel on this branch, or merge to develop and update there. I'm fine with either.

gbarter commented 1 year ago

The OF files were already in sync. I edited the Excel data to be consistent. I will take a look at the tests to see if I can generate one for the monopile profile, but might struggle given my unfamiliarity with HAWC2.

jennirinker commented 1 year ago

If you like, I'd be happy to make a test that checks the HAWC2 monopile compared to the Excel and the yaml, similar to what exists in test_tower. Then you can just update it with a function that checks the OpenFAST subdyn file.

jennirinker commented 1 year ago

I just realized that I don't know what the hydrodynamic drag/added mass coefficients should be for the monopile, and I don't think they're in the report. Can you tell me what values for Cd/Cm are in the OpenFAST model?

jennirinker commented 1 year ago

Ugh, I'm sorry for the spam but I just realized that I forgot to model the transition-piece mass, so I need to push some updates. I think I will also make that Excel/yaml/HAWC2 check while I'm at it to prevent future issues. I'll edit this comment when the stuff is pushed.

EDIT: Transition piece is now added in HAWC2. I added a test to check the monopile distributed properties, and left some lines commented out for the potential SubDyn check. I still am not sure we have the right Cd/Cm values for the monopile, though.

gbarter commented 1 year ago

No apologies! In answer to your questions:

jennirinker commented 1 year ago

Okay, then the HAWC2 model should be good to go. I pushed a test_monopile.py script that (hopefully) can easily be updated to check the SubDyn files. I flagged the relevant lines with "TODO" to make it easier to see which lines should be updated.

I think everything is thus ready from my side, so feel free to push/merge as seems suitable for you. So glad we're getting this published!

gbarter commented 1 year ago

I've got the function coded up and it is catching a mismatch with OF. Let me take a bit to dive into it.

jennirinker commented 1 year ago

Perhaps related to something I noted with the Excel file? The excel file was missing the station at -29.999, so I had to add it manually when I was prepping the Excel data. See the "amazing" logic here: https://github.com/IEAWindTask37/IEA-15-240-RWT/blob/hawc2_monopile/tests/test_monopile.py#L32

gbarter commented 1 year ago

@jennirinker : All good on your end? All looks good here.

jennirinker commented 1 year ago

All good here! I will press the big green button. :D Thanks for working with me on this -- so glad we got it implemented.