-
Notifications
You must be signed in to change notification settings - Fork 918
Fix for turbulent viscosity calculation in SST Solver #905
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
Conversation
|
@jayantmukho LGTM. I'm also in favor of moving to SST-2003 if it means a more robust SST solver. This might also be a good time to continue to look into other issues with SST, e.g. some TKE terms mentioned in #797. Another possible discrepancy I noticed is that in CTurbSSTVariable we have which is consistent with TMR, but when computing the cross diffusion residual we have However, here TMR (as well as both SST-1993 and SST-2003) has so we don't clip the cross diffusion residual? Not sure how much of a difference this makes (or other discrepenacies like the TKE issue). |
economon
left a comment
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.
Looks to be a good catch, @jayantmukho, thanks.
I am not sure how often that max is active, but given that a number of the SST tests are failing, it is not negligible. Have you looked at any comparisons with the prior version? Might be worth rerunning the V&V cases linked to the main project page to see (or at least the flat plate).
As for adding new SST variants, I am all for it! However, I would suggest that we keep the original "Standard" SST model and add the new versions alongside it, like we have done with SA. It is not too many lines of code that need to change, but we should find a clean way to do it (without duplicating code).
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.
I just checked the math, and it looks good to me. With regards to the cross-diffusion terms: Without testing it myself, I'm not sure about what is the "correct" way to clip these terms.
Have you checked the difference in quantities of interest, such as skin friction coefficient, pressure coefficient, lift, and drag, on fully converged regression test cases? I would specifically be interested in the RAE2822 case.
|
Just a couple of non scientific comments.
|
|
Sorry took a while to get around to it but here are the results from the validation cases that were requested. Turns out, this change is minimal in its effect to the overall simulation (at least for the two cases I have run) FlatplateFor the flatplate case, there was no difference in the C_D calculation so the lines mesh convergence were on top of each other. But while I was doing that, I was playing around with the solver parameters and there was an interesting difference between simulations run with This shows interesting parallels between RAE 2822Luckily I have been working on the RAE2822 as a validation case so I already had a family of grids that worked for this case. Again seems like the change didn't make much of a difference. dev_SST refers to the current SST implementation in develop. SST refers to the results from this PR |
|
Ok. Unless there's significant differences in any of the other regression test cases, then this PR looks good to me. |
|
Hmm.. you are right that the Cf results look a little different than the ones posted on the V&V page (for both SA and SST). Is there anything else different in the configuration for those cases from the set up for the cases on the V&V page? For the flat plate, I may have used unweighted LSQ for the posted V&V results. |
|
@economon, from the config files in the V&V folder, it seems like you ran without adaptive CFL and without the unweighted LSQ. The main difference between the V&V runs and these ones is that I don't use any slope limiter. In the V&V cases the There are some other differences:
For my runs, I used the settings you had suggested in #790 :
I have attached the config files I used. I am still working on confirming all the regression tests, everything seems to be reasonable thus far. |
|
Updated all the regression test values. Ran all of them to convergence and the difference in the integrated quantities (lift, drag, sens_press, entropy generation etc) were < 1%. While running the regression tests, I saw that some of them weren't up to date with the best practices from the recent PRs. I know they are for Regressions and not necessarily as example configs, but I think it'd be good to have the configs reflect best practices so that people can look to them for reference. If people are on board with that, I can update some of the rans configs to include things like ILU, adaptive CFL, the new convergence monitoring systems etc. I will make sure that the tests still cover all the relevant config options. I will also make sure that if you were to run the test individually, it would run to convergence. |
|
I think coverage should take priority over best practices. |
talbring
left a comment
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.
Looks ok to me!
.github/workflows/regression.yml
Outdated
| uses: docker://su2code/test-su2:20200303 | ||
| with: | ||
| args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} | ||
| args: -b ${{github.ref}} -t develop -c fix_sst_term -s ${{matrix.testscript}} |
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.
Remember to change that
See PR 905 upstream: su2code#905





Proposed Changes
In a previous PR the SST model implementation in the CTurbSSTSolver was corrected to use the vorticity magnitude to calculate the turbulent viscosity (mu_T). But this change was not copied in the relevant numerics class where mu_T is used to calculate production terms. This is probably going to break all the SST related regression tests, so I will ensure convergence of those cases and update regression values.
Related Work
A relevant discussion to have here is whether to update the SST turbulence model according to a 2003 paper by Menter (author of the SST model): Ten years of industrial experience with the SST turbulence model
It involves tiny changes to coefficients, production limits, and uses strain magnitude instead of the vorticity magnitude to calculate mu_T. The last point means reversing the change that this PR is making. But currently the model is just inconsistent and needs to be corrected.
The changes are supposed to make the model more stable, which has been a cause for concern with the SST model before. Not sure if people have thoughts about altering the original turbulence model.
PR Checklist