-
Notifications
You must be signed in to change notification settings - Fork 99
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
SA rough #259
base: main
Are you sure you want to change the base?
SA rough #259
Conversation
update sa rough
update sa-rough
keeping up
Overset update fixes (mdolab#225)
This only implements the logic to read the ks value from the gridfile and stores it in memory. The same logic must be implemented for the isothermal wall aswell
pull main
Hi @DavidAnderegg , I was just curious if there were any specific things you wanted to finish before making this PR ready to review? @sabakhshi said he had tried out the SA model for analysis. |
Hi @gawng As written in the description, there is still that problem where the effect of the specified sand grain roughness is to little compared to SU2 and experiments. Unfortunately, I was not able to determine the cause yet. If you guys are ok with that, this should be ready to merge. |
@DavidAnderegg I brought up this PR at the maintenance meeting today, and I think what would be good is to proceed with updating and merging this PR. But please do put a code warning for SA rough about the behavior you were seeing wrt lower surface roughness effects compared to experiments and SU2. As long as it is documented what issues there are with SA rough, having the capability in ADflow is better than letting this branch of code go stale. |
Hi @gawng, sounds good. I will dust it off in the coming days.. |
pull main
Purpose
This extends the SA model for rough walls as described here.
How to use
To activate the rough variant, those ADflow options must be present:
The surface roughness may be prescribed using
cgns_utils overwriteBC
with the following examplebcfile
:Alternatively, the ADflow-method
setSurfaceRoughness(self, ks, groupName=None)
may be used.Known bugs
The proposed changes work, but two bugs are still present:
The effect of the specified surface-roughness is to little compared to SU2:
The effect of the specified surface-roughness is to little compared to experiments:
The predicted shape of the effect seems correct.
The AD-gradients only agree to a relative tolerance of ~1e-8 compared to complex step.
All of this information may be found to more detail in the report i had to write.
Expected time until merged
This depends on the mdo-team. Although there are two bugs, I would argue this feature is already usable. I spent a lot of time trying to find the errors, but i was unsuccessful. My intention is to do something else and later come back and fix it.
Type of change
Testing
I used the tutorial wing and roughened its surface. Based on this, I introduced three tests:
test_adjoint.py
with the rough wing.test_functionals.py
with the rough wing.test_functionals.py
where the rough SA variant is activated. But the restart and reference files are from the testrans_tut_wing
. This makes sure SA rough with a roughness value of 0 is consistent to the regular SA model.Checklist
flake8
andblack
to make sure the Python code adheres to PEP-8 and is consistently formattedfprettify
or C/C++ code withclang-format
as applicable