-
Notifications
You must be signed in to change notification settings - Fork 469
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
Induction differences between single and double precision #1209
Comments
Hi @ebranlard, For some reason I can't unzip your files to take a look, but just a quick question. Presumably you have already ruled the influence of how the "DEFAULT" value of BEM input Thanks, |
Checking |
It is possible that small differences in the numerics in the inductionFactors routine can cause the BEM algorithm to find a solution in a different region. We noticed this, particularly in the vicinity of phi=0. We changed the local variables in Not sure if that's the same issue you are seeing, but thought I'd mention it. |
The difference between the Single and Double precision results is caused by the BEM algorithm finding a solution for
When
I'm curious about the selection of the As for a solution, reducing Should the algorithm be changed to handle this case differently or is changing the value of Also, here is a plot comparing AB1002TnInd in Single and Double precision for the test input after changing *Edited to fix values for phi_lower(2) and phi_upper(2) |
Thanks a lot @deslaughter for looking into it! I personally would need to dive a bit more into the algorithm to be able to see what should be preferred, but looking into it again, the "double version" is likely the wrong one as it leads to tangential induced velocity of ~10m/s (signal Vindy). I just tested it, and it seems the AeroDyn code from Envision returns values closer to the "single version". The Envision version has a different ways to solve for the regions, and returns 4 regions instead of 3. Yet, I've tried using their sorting of regions, and that alone didn't do the trick. For a different project, I'm looking at a step by step approach to try to reduce the differences between the Envision and current AeroDyn version. I might be able to track down what changes was introduced that solved this issue. But in the meantime, maybe we could find a quick fix so that the "double version" matches the "single version". I'll chat with you internally. |
Thanks for the detailed summary. It sounds like you have a good path forward. I'll just respond to @deslaughter's comment:
Negative values of phi (between -pi/4 and -eps) represent the propeller brake region in Ning's paper. Thanks, |
@deslaughter , I believe the 2013 paper you reference was later updated to include the negative phi values (they were omitted in early versions of this work -- including the code). I don't readily have the new reference, but I'll bet @jjonkman does. It would probably be dated 2017 or later. |
Actually, the negative phi values and the propeller brake region are discussed in section 3.2 and is in Algorithm 1 of Ning's original BEM solution paper that @deslaughter referenced. I never reviewed Ning's updated paper, but from a quick Google search, I believe this is the one @bjonkman is referring to: https://link.springer.com/content/pdf/10.1007/s00158-021-02883-6.pdf |
Bug description
Large differences in inductions are obtained between the single and double precision versions (in debug or release).
the structural and wind velocity at the airfoil section are the same in both versions. I suspect something happening in the BEM implementation and in particular in the high-thrust correction (from some preliminary debugging done about a year ago).
To Reproduce
Compile the AeroDyn driver with single and double precision and run in on the test case enclosed.
AD_Sine_Bug.zip
(NOTE: this is a simplification of the AeroDyn driver test case BAR_SineMotion, so solving this bug might affect the r-test)
Expected behavior
The Axial and tangential induction should match between the two versions.
Screenshots, if applicable

OpenFAST Version
Tried on Windows and Mac, with OpenFAST 3.2, but likely several years old.
The text was updated successfully, but these errors were encountered: