Skip to content

Updates of Unsteady Aero (UAMod=4) and DBEMT (DBEMT_Mod=3) for linearization#1000

Merged
rafmudaf merged 22 commits into
OpenFAST:devfrom
ebranlard:f/ua-dbemt
Sep 26, 2022
Merged

Updates of Unsteady Aero (UAMod=4) and DBEMT (DBEMT_Mod=3) for linearization#1000
rafmudaf merged 22 commits into
OpenFAST:devfrom
ebranlard:f/ua-dbemt

Conversation

@ebranlard

@ebranlard ebranlard commented Feb 12, 2022

Copy link
Copy Markdown
Contributor

This pull request is not ready to be merged.

Feature or improvement description

  • New formulation of continuous DBEMT. Results will now match discrete DBEMT
  • Update of UAMod=4 with new dynamic drag (consistent with HAWC2 formulation)
  • The two modules are now allowed to be used for linearization

Impacted areas of the software
AeroDyn, UA and DBEMT

Additional supporting information
Theory, and verification results are given in the following reference:
E. Branlard, B. Jonkman, G.R. Pirrung, K. Dixon, J. Jonkman (2022) Dynamic inflow and unsteady aerodynamics models for modal and stability analyses in OpenFAST, Journal of Physics: conference series 2265 032044

Test results, if applicable

Comparison of DBEMT_Mod=1 and DBEMT_Mod=3
image

Examples using UAMod=4, comparison with HAWC2
image

Results from new r-test:

  • In the legend, we use "DBEMT0" to indicate "WakeMod=1". We use "UAMod0" to indicate "AFAeroMod=1"
  • As expected, DBEMT1 gives the same results as DBEMT3 (discrete and continuous formulations match)
  • The r-test results are the ones corresponding to DBEMT3 and UAMod4.
  • The UAMod and DBEMT features clearly changes the results, indicating that the features are well tested by this r-test.
    image

Checklist

  • Update the documentation Live version available here
  • Add r-test (BAR_SineMotion_UA4_DBEMT3)
  • Publication

@andrew-platt

Copy link
Copy Markdown
Collaborator

Maybe will fix #983 ?

@rafmudaf rafmudaf added this to the v3.3.0 milestone Apr 7, 2022
@ebranlard ebranlard marked this pull request as ready for review May 17, 2022 21:05
@ebranlard ebranlard requested a review from jjonkman June 16, 2022 17:50
@ebranlard

ebranlard commented Jun 16, 2022

Copy link
Copy Markdown
Contributor Author

This pull request is ready to be merged. The commits can potentially be squashed. A r-test pull request accompanies this pull-request.

@jjonkman jjonkman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't reviewed the source code changes in detail (and don't intend to), but please find a few comments on the documentation attached. I'm very excited for about this new functionality! Thanks!

Comment thread docs/source/user/aerodyn/input.rst Outdated
Comment thread docs/source/user/aerodyn/theory_ua.rst Outdated
Comment thread modules/aerodyn/src/AeroDyn.f90 Outdated
@ebranlard

Copy link
Copy Markdown
Contributor Author

Thank you @jjonkman for the review, I've now addressed your comments.

@jjonkman jjonkman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing my comments! I now approve this PR.

@ebranlard

ebranlard commented Jul 18, 2022

Copy link
Copy Markdown
Contributor Author

A couple of changes were needed to activate the linearization with UA_Mod=6.
Currently UA_Mod=6 is using 4 states, where only the 4th one is used. This is to reduce code duplications since the 4th state is the same for UA_Mod=4,5,6.

To reduce the burden of mode identification, I've added if statements to only linearize the "4th" state when UA_Mod=6 is used.

In the future we could consider handling the Oye model separately and storing only the relevant info in x(1). Then the variable UA_NumLinStates introduced by bjonkman could be used. I've chosen to keep the current UnsteadyAeroDynamics for now since we already have a lot of pull requests and conflicts for AeroDyn. @bjonkman and @jjonkman let me know if that's ok.

@jjonkman

Copy link
Copy Markdown
Collaborator

Seems like a reasonable shortcut to me for now. Hopefully the implementation of UAMod = 6 would be simplified in the future.

Thanks,

@rafmudaf

Copy link
Copy Markdown
Collaborator

@ebranlard could you merge dev into here and resolve the merge conflicts? If its ready to merge after that, I'll hit the button.

@ebranlard

ebranlard commented Sep 26, 2022

Copy link
Copy Markdown
Contributor Author

Thanks, that's done. Note that it requires an updated r-test branch, (ua-dbemt) with an extra test case for this feature and updated input file descriptions.

@rafmudaf

Copy link
Copy Markdown
Collaborator

Is the r-test branch for this pull request, ua-dbemt, also ready to be merged into that repository's dev or is there more that needs to be updated there?
Sorry, I don't fully follow your comment.

@ebranlard

Copy link
Copy Markdown
Contributor Author

I just wanted to note that this branch of openfast is pointing to the r-test branch ua-dbemt (I'm not sure if that's relevant or not).
The r-test branch ua-dbemt has been merged with r-test dev (but not into dev). So it should all be ready to go.

@rafmudaf rafmudaf merged commit ba6e89b into OpenFAST:dev Sep 26, 2022
@rafmudaf

Copy link
Copy Markdown
Collaborator

Ah I see now OpenFAST/r-test#62, and I've merged that one, as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants