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

New AeroDyn input file exposing new BEM options (polar BEM, skew momentum correction, sector averaging) #1909

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

Conversation

ebranlard
Copy link
Contributor

@ebranlard ebranlard commented Dec 1, 2023

This pull request is ready to be merged

See :
#1895

Feature or improvement description

  • New AeroDyn input file
  • Sector averaging (for shear)
  • Skew momentum correction (for skew)
  • Polar BEM

Related issue, if one exists

  • Input file changes: # 1895
  • Link to other pull requests: dev-unstable-pointers

Impacted areas of the software
AeroDyn

Test results
No change expected as this introduces new options, and the input file is read as backward compatible.

  • Finish pull request
  • Make sure connections for the Shear weighting is done
  • Document changes - Live doc here
  • Add example file , here

Future pull request

  • Change all the r-test input files
  • Add aerodyn test case for new features

@ebranlard ebranlard added this to the v4.0.0 milestone Dec 1, 2023
@ebranlard ebranlard marked this pull request as draft December 1, 2023 02:35
@ebranlard ebranlard changed the base branch from dev-unstable-pointers to dev March 13, 2024 18:33
@ebranlard ebranlard changed the base branch from dev to dev-unstable-pointers March 13, 2024 18:36
@ebranlard ebranlard self-assigned this Mar 13, 2024
@ebranlard ebranlard force-pushed the f/AD-shear branch 2 times, most recently from 9ee85b2 to e83e8a4 Compare March 14, 2024 14:01
@ebranlard ebranlard marked this pull request as ready for review March 14, 2024 16:40
@ebranlard
Copy link
Contributor Author

This pul request is ready for review. Becasue it relies on dev-unstable-pointers, I would like to recommend merging it now at this point, so that others start to use it and potentially give feedback / bug fixes.
The implementation is currently backward compatible and tell the user how to change the inputs.

In a future pull request, I can work on a script to convert the AeroDyn input files and do that for the r-test inputs.

@jjonkman jjonkman mentioned this pull request Mar 15, 2024
Copy link
Collaborator

@jjonkman jjonkman left a comment

Choose a reason for hiding this comment

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

Overall, this reformatted AeroDyn input file looks great to me! Please find a few minor comments below.

====== Blade-Element/Momentum Theory Options ====================================================== [unused when WakeMod=0 or 3, except for BEM_Mod]
2 BEM_Mod - BEM model {1=legacy NoSweepPitchTwist, 2=polar} (switch) [used for all Wake_Mod to determine output coordinate system]
--- Skew correction
1 Skew_Mod - Skew model {0=No skew model, -1=Remove non-normal component for linearization, 1=skew model active}
Copy link
Collaborator

Choose a reason for hiding this comment

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

What is the difference between Skew_Mod = 0 and Skew_Mod = 1 with SkewModCorr = False and SkewRedistr_Mod = 0?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently, they would be the same. Skew_Mod is like a master switch.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Makes sense. I suggest adding a sentence in the input file documentation to clarify this point.

4 tau1_const - Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1 or 3]
--- Shear correction
False SectAvg - Use sector averaging (flag)
1 SectAvgWeighting - Weighting function for sector average {1=Uniform} within a sector centered on the blade (switch) [used only when SectAvg=True]
Copy link
Collaborator

Choose a reason for hiding this comment

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

Were other SectAvgWeighting options implemented? Wasn't the angle range of the sector averaging implemented? Or do we want to keep this simple for now?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently I have two hidden inputs:
SA_PsiBwd and SA_PsiFwd
We disagreed on their use (you advocated for 360/nB) and wanted to rely on the weighting method only.
I think the extent is quite useful, and saves in computational time (if we want to focus close to the blade).
I would be in favor of introducing these inputs below. The alternative is to keep them hidden for now.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I generally prefer not having "hidden" inputs. I would be in favor of exposing the inputs you recommend (SA_PsiBwd, SA_PsiFwd) directly within the input file.

docs/source/user/aerodyn/input.rst Outdated Show resolved Hide resolved
docs/source/user/aerodyn/input.rst Outdated Show resolved Hide resolved
@andrew-platt
Copy link
Collaborator

andrew-platt commented Apr 2, 2024

ToDo items

@andrew-platt
Copy link
Collaborator

andrew-platt commented May 6, 2024

@ebranlard, if/when you are done with the minor updates, I will plan on merging this in the next day or two.

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

4 participants