Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove IfW data from AD15 inputs #1882

Open
wants to merge 9 commits into
base: dev-unstable-pointers
Choose a base branch
from

Conversation

andrew-platt
Copy link
Collaborator

This PR is ready to merge.

Feature or improvement description
This is the first of 3 PR's to fix the linearization in AD15 after converting the IfW data handling to pointers. The three PRs are:

  1. remove IfW data from AD15 input, exact match to prior regression tests (this PR)
  2. Fix the linearization in AD15 that was broken in previous work and switch IfW inputs to AD15 to "extended inputs". This should reproduce all linearization results.
  3. remove extrapolation of IfW data -- many regression tests change as a result

PR 1
The IfW data is removed from the AD15 inputs. To match prior regression tests, the registry is temporarily modified to generate an extrap/interp routine for the new data structure AD_InflowType. This allows extrapolating the wind data for BEMT which gives a an exact match to the previous behavior.

Note: the input positions for the blade motion mesh stored in u(1) for the T + dt time step are used to calculate the wind. This yields very slightly different for wind based on extrapolated positions vs. extrapolated wind based on previous time steps. This causes the 5MW_Land_BD_DLL_WTurb test case to fail, but the test will pass with a correction step in both the reference and the test case. See below.

Related issue, if one exists

Impacted areas of the software
Internal data management of AD15 only. No other modules affected.

Additional supporting information
This series of PRs will allow us to merge the dev-unstable-pointers branch into dev

Test results, if applicable
All regression tests match exactly with the exception of 5MW_Land_BD_DLL_WTurb test case. This case has very small differences with the previous results (samples plotted below). However, this is due to calculating the wind at T + dt using the extrapolated positions, rather than extrapolating the wind from previous time steps. Running this test case with on correction step with both this branch and the dev-unstable-pointers branch yields identical results.

@andrew-platt
Copy link
Collaborator Author

The 5MW_Land_BD_DLL_WTurb case failed with the following channels:

  • LSSGagMza
  • YawBrMzp
  • TwrBsMzt
  • B1RootMzr
  • B2RootMzr
  • B3RootMzr
  • B1TipRDzr
  • B2TipRDzr
  • B3TipRDzr

The differences are very small. For example, for the B2RootMzr:
Screenshot 2023-11-17 at 5 41 14 PM

Zoomed in:
B2RootMzr18sec

These differences completely vanish if a correction step is used in both the reference and the test case.

- Add extrap-interp routine in registry for AD_RotInflowType (temporary for testing)
- Add RotInflow type to AD, and add this into misc vars.  This, with the above, should produce exactly the same results as before.

This is almost working locally, but fails on one test.  Hoping this is just numerics that work on GH (going to test).
Copy link
Contributor

@deslaughter deslaughter left a comment

Choose a reason for hiding this comment

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

I really like the RotInflow type and it will come in handy when integrating MHK

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.

None yet

2 participants