-
Notifications
You must be signed in to change notification settings - Fork 460
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
Updates to AeroDyn #538
Updates to AeroDyn #538
Conversation
- added omega to UA driver time-series file - added UAMod=4 (HGM model); linearization is incomplete - added DBMET_Mod=3 (continuous form of constant tau); linearization is incomplete - reorganized loops in BEM CalcOutput and UpdateStates for ease of reading/calculations - NEED TO CHECK the Cp/Cavit stuff!!! - added C_lalpha parameter to airfoil input file - NWTC Library: fix fatal issue if ever calling WrOver with more than ConRecL-1 characters - Allow AeroDyn driver to read time-history file as input - Many AeroDyn driver (all output is in one file)
added option to blend BEM/non-BEM solution when the TSR is lower than 2. BEM is totally off when TSR is <= 1
Default has changed from 20 Hz to 0.5 NEED TO DOCUMENT THIS!!!!!
- also a couple of additional robustness checks on DBEMT CCSD (alphaE and Tu)
These get inherited from FASTlib, and it seems to be bothering newer version of Visual Studio (trying to link the FAST executable with the Registry executable)
- Add continuous state for UA in FVW - change not-Fortran2003 `norm2()` to `TwoNorm()` - change precision in {x|y|z}_hat_disk to 8-byte - remove iBladeNode and iBlade from FVW%m_UA - update `UA_UpdateState_Wrapper` to call UA routines with appropriate arguments - attempt to call UA_UpdateStates and UA_CalcOutput with correct inputs (NEEDS A REVIEW!!!) - CHANGED dynamic cl, cd, cm when UA is called - fixed some error handling in `SetOutputsFromFVW`
- removed extra solution files - modified existing ones with Registry not using Release|Win32 configurations
will need to be updated again soon
The GemoPhi output will be a number between 0 (BEM only) and 1 (no BEM) that indicates if BEM has been turned off due to either no valid value of phi error from the BEM solution or a gradual turning off because TSR is less than 2.
That looks good to me, thanks for that. Right now the UA is not enabled with OLAF (an error is thrown in Here's some changes that we will need to do on our side after this merge:
|
I don't see any issue with the cavitation check. It seems that it was not allowed with dynamic stall (AFAeroMod_BL_unsteady), I'm not sure why, but I believe it's fine to keep it that way. I can see that the code of the check (around line 1250 of AeroDyn) has not changed. Let me know if I'm missing something. I'm not sure why some of the r-test fail. Hopefully the errors are just small numerical changes. Do you know what it could be? |
Thanks for checking the cavitation. I don't have that in my original code base and don't have a test for it, so it's good to have someone else take a look. I think all of the r-tests with AD (15) are failing. I suspect most of them just have small differences because the loops in the code have been completely reordered, and some calculations are done in a slightly different order. I did see a few 5MW-model tests that had some bigger changes. I attributed those to the different UA filter. Unfortunately, we don't have a good way to visualize the failing tests here. |
ok, thanks a lot for the clarifications! |
@bjonkman I made a few commits to your branch so that you can now inspect the results of the regression tests from GitHub. If the reg tests fail, the test files including the html-based plots are posted to the GitHub Actions workflow artifacts: https://github.com/bjonkman/openfast/actions/runs/336987286. The html files are in |
One easy way to open all of these at once on a Mac is this bash command:
I don't know the cmd prompt form, but I bet you do. |
is there a change in the way the skewed wake is calculated and applied? From my quick look at the results, I'm seeing some changes in the loads from AD15 in the 5MW models that I'm not entirely certain about. This has the effect of changing the blade pitch a little in response. This can be seen in the root forces in the |
I think the differences are a result of the different unsteady aero filter that is now used. I think we need to run this with the UA filter calculated the old way and compare results. For the few models that use AD15 without UA turned on, I don't see differences. |
Setting the The only other case that might be problematic is the |
@andrew-platt , I reverted the changes for the new UA filter (i.e., I made these changes: bjonkman@3142b2f), and this is what I get for SWRT_YFree_VS_EDG01/SWRT_YFree_VS_EDG01.html#NacYawP I'll take a look at the results over here when it's finished and make sure that is the same as what I get locally. |
Going through all of the manual regression test locally (with the exception of a couple of cases that didn't run because the python script didn't copy the input files and one that ran out of memory), I see only minor numerical differences between this branch using the old UA filter and previous results--including the BeamDyn and SWRT cases @andrew-platt mentioned. So, it is the UA filter that is causing differences. |
I was able to look at the artifacts from here: https://github.com/bjonkman/openfast/runs/1349704167 (the code from this PR with the old UA filter put back in). The most noticeable difference was in the This difference is caused by the TSR dropping below 2. In the new code, BEM starts to turn off when TSR is 2 and is turned off completely when TSR is below 1. Here is a plot of the TSR from that case: I also plotted TSR of another case that had some minor differences, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all looks good to me. I confirmed that any differences in the results were due to the newer UA filter (as seen in rerunning with the old filter), and the change in the default cutoff frequency for the UA filter.
So, I recommend we rerun baselines and merge this.
8bfd804
to
416ff43
Compare
Complete this sentence
THIS PULL REQUEST IS NOT READY TO MERGE
Items to address before merging this code:
Feature or improvement description
This pull request updates the structure of the AeroDyn module that was required to add new linearizable dynamic stall and dynamic inflow models. In the interest of getting the code changes that affect future pull requests in OpenFAST sooner, the two new models have been disabled until they can be tested and documented further.
Other modifications include:
The unsteady aero
filtCutOff
input value is now specified as a reduced frequency instead of Hz. The default has changed from 20 Hz to 0.5.Added code to turn off BEM if TSR <= 1. When TSR is below 2, it blends the BEM and non-BEM solution so that this is a gradual turning off of BEM. The
GeomPhi
output channel from the AeroDyn blade nodes indicates how much of the solution is BEM and how much is a geometric (non-BEM) solution.The AeroDyn driver now outputs only 1 file. It also allows a time-series input file.
The
FrozenWake
option should work better. It may have been broken by New Linearization and Mode-Shape Capabilities (and more) #373.The azimuth channel output from AeroDyn now is limited to [0, 360] degrees.
Added a
DBEMTau1
output channel to AeroDyn, which outputs thetau1
value used in the DBEMT module.Changes to NWTC Library
ConRecL
-1 characters.Cleaned up the Visual Studio solution files contained in the
vs-build
directory.Related issue, if one exists
Impacted areas of the software
AeroDyn, linearization, NWTC LibraryTest results, if applicable
Cases that use AeroDyn will see some changes. Those changes should be very minor if unsteady aero is not used and the TSR is larger than 2. Cases that use unsteady aero may see some larger changes due to the slightly different filter that is implemented.