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

Interpolation of airfoil tables in aerodyn #374

Open
tonyinme opened this issue Dec 18, 2019 · 4 comments
Open

Interpolation of airfoil tables in aerodyn #374

tonyinme opened this issue Dec 18, 2019 · 4 comments

Comments

@tonyinme
Copy link
Contributor

Is your feature request related to a problem? Please describe.
The lift and drag coefficient tables inside of aerodyn are discontinuous. When computing blade forces, the airfoil sections change abruptly from on point to the next.
This leads to discontinuities in the forces along the blade.

Describe the solution you'd like
There should be a variable for the total number of aerodyn points to be used.
Then, all values needed for the points can be interpolated from the tables.
The best solution would be to interpolate the lift and drag coefficients between sections at runtime.
This interpolation should be linear based on radial location.

Describe alternatives you've considered
As a work-around, one can define many blade sections each with it's own table of interpolated lift and drag coefficients.

Additional context
This feature is of great interest when running actuator line simulations in Nalu-Wind/SOWFA.

@andrew-platt
Copy link
Collaborator

To clarify, are you requesting interpolation of airfoil tables between spanwise locations?

@jjonkman
Copy link
Collaborator

Hi @tonyinme,

We had previously considered adding the ability in AeroDyn to interpolate airfoil data between spanwise stations, but chose not to for several reasons. For one, the interpolation would not be straightforward considering the nonlinearity of the airfoil data. For example, if one airfoil has the stall point around 10 degrees, and the second airfoil has a stall point around 20 degrees, how should this be interpolated for an airfoil section in between? A simple linear interpolation at each angle of attack would result in two stall points (one at 10 and another at 20), which is not physical. It is more intuitive for the stall point at the midpoint between the two stations to be at 15 degrees, but what interpolation would do this? Second, how would one interpolate the unsteady airfoil aerodynamic parameters, when these should be based on the airfoil data themselves?

In the end, we decided that the aerodynamic solution is strongly tied to the accuracy of the airfoil tables, so, the user should be heavily involved in their specification. Thus, we chose to force the user to specify the airfoil data at each and every station, and it is up to the user to ensure that the airfoil data is smooth between stations if that is desired for the response. We have made available the AirfoilPrep preprocessor (https://nwtc.nrel.gov/AirFoilPrep) to aid in the specification of the airfoil data, though AirfoilPrep is due for an update.

Best regards,

@tonyinme
Copy link
Contributor Author

hey @andrew-platt, yes, this is a request for interpolation of airfoil tables between sections. As a part of this, it seems natural to interpolate all quantities to as many sections as needed.

@jjonkman I see your point. You think we can reconsider that decision? I still believe it would be beneficial to interpolate in between sections, even with unsteady effects. In terms of usability and running simulations with the actuator line model, this would simplify a lot of things. I know DTU interpolates based on thickness value, maybe this would be even better than the linear interpolation based on radial location?

@jjonkman
Copy link
Collaborator

@tonyinme,

Yes, interpolating based on thickness implies that one is interpolating within the same airfoil family, which are likely have much more similar airfoil data (e.g., the same stall point) than two possibly completely different airfoils. AeroDyn already supports interpolation based on Reynolds number (or control) for this reason--see the recently merged in pull request #213.

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

No branches or pull requests

4 participants