You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
acoustic module was not letting users interpolate polars across Reyno… - #3504
The acoustic module was not letting users interpolate polars across Reynolds because stall angle was computed offline and kept static. This commit overcomes this limitation. Note that, somewhat surprisingly, boundary layer properties were already being interpolated across different Reynolds
Related issue, if one exists
None
Impacted areas of the software
AeroAcoustics.f90, Aeroacoustics registry, and call to Aeroacoustics from AD15
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Multi-table AFTabMod=3 airfoils are accepted despite a hard-coded zero UserProp that can select a stall angle inconsistent with the node’s aerodynamic polar, producing incorrect acoustic results.
This PR enables Reynolds-dependent stall-angle interpolation in AeroAcoustics, replacing the fixed stall angle previously stored during initialization.
Changes:
Compute the acoustic stall angle using the node’s instantaneous Reynolds number.
Pass airfoil data through AeroDyn and the standalone acoustic driver.
Remove the cached stall-angle parameter and its serialization support.
File
Description
modules/aerodyn/src/AeroDyn.f90
Pass airfoil data to acoustic output calculations.
modules/aerodyn/src/AeroAcoustics.f90
Interpolate stall angles at runtime and remove the single-table restriction.
modules/aerodyn/src/AeroAcoustics_Types.f90
Remove cached stall-angle storage and lifecycle routines.
modules/aerodyn/src/AeroAcoustics_Registry.txt
Remove the cached stall-angle parameter definition.
modules/aerodyn/src/AeroAcoustics_Driver.f90
Supply airfoil data through the updated acoustic interface.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
For coupled runs with BEM_Mod=2, reconstructing Reynolds number from u%Vrel can select a stall angle inconsistent with the aerodynamic polar, so the AA input should use the existing nodal BEMT_y%Re while retaining velocity-based calculation for the standalone driver.
No open issues 🎉
1 previously missed issue
In code that hasn't changed since last review
Use the BEMT Reynolds number for stall-angle lookup
modules/aerodyn/src/AeroAcoustics.f90:1039
With BEM_Mod=2, reconstructing Reynolds number from u%Vrel can select a different stall angle from the aerodynamic polar because BEMT computes velocity and Reynolds number using different projections (BEMT.f90:2386–2387). Pass the existing nodal BEMT_y%Re through the AA input interface for coupled runs so both lookups use the same Reynolds number, retaining the velocity-based calculation for the standalone driver.
Rejected only the genuinely unsupported case (AFTabMod=3/AFITable_2User with multiple tables), since AA has no per-node UserProp.
Added a proper u%Re input field (registry + types) so coupled runs use BEMT's own nodal Re (m%BEMT_y%Re) instead of reconstructing it from Vrel, while the standalone driver computes it from Vrel*chord/KinVisc.
-Fixed BL_Param_Interp to use that same authoritative Re instead of re-deriving it from velocity and chord.
The reason will be displayed to describe this comment to others. Learn more.
🟢 Approval recommended
No active review issues are recorded for the Reynolds-dependent stall-angle interpolation changes.
No open issues 🎉
Review effort: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The acoustic module was not letting users interpolate polars across Reynolds because stall angle was computed offline and kept static. This commit overcomes this limitation. Note that, somewhat surprisingly, boundary layer properties were already being interpolated across different Reynolds
Related issue, if one exists
None
Impacted areas of the software
AeroAcoustics.f90, Aeroacoustics registry, and call to Aeroacoustics from AD15
Additional supporting information
None
Generative AI usage
Co-authored-by: Microsoft Copilot copilot@microsoft.com
Test results, if applicable
I believe tests will not be impacted, but I will see what the PR says