SU2
SU2 copied to clipboard
[WIP] Introduction of a new convective scheme for NEMO: AUSM+M
Proposed Changes
Introduction of a new convective scheme AUSM+M to avoid the carbuncle in hypersonic blunt bodies (https://doi.org/10.1016/j.apm.2019.09.005)
Related Work
This work is a follow-up and a cleaner version of the work in the branch feature_NEMO_AUSMPLUSM. I will delete both branches after merge.
PR Checklist
Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.
- [X] I am submitting my contribution to the develop branch.
- [X] My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
- [X] My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
- [X] I have added a test case that demonstrates my contribution, if necessary.
- [X] I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.
Benchmark
I have conducted a comparison between the AUSM and AUSM+M for a 2D axisymmetric non-equilibrium flow over a cylinder with a 0.1 meter diameter and a freestream of M=24, P = 10.23 N and T = 224.5 K.
The left image represents the converged 2nd order solution using AUSM+M and the right image using the standard AUSM scheme. The new AUSM+M scheme enables to get rid of the pressure oscillations near the stagnation area.
Temperature at the stagnation line (solid line is AUSM+M and dashed line is AUSM)
Pressure at the stagnation line and close-up at the stagnation point (solid line is AUSM+M and dashed line is AUSM)
Not for this PR, but the documentation update the NEMO team should consider is this one https://su2code.github.io/docs_v7/Convective-Schemes/, the config_template is not much use for users since it does not say what schemes can be used with what fluid models.
This pull request introduces 2 alerts when merging 84cdb7ea1e6d56692c88c0b16be72f7793cf0a97 into d32ccec357c855fd8843b32cf52381631e62515d - view on LGTM.com
new alerts:
- 2 for Resource not released in destructor
This pull request introduces 2 alerts when merging 787c7ea9939ea4b56a7a71226fe566a435b3c85c into bc6ef2a8968bccfcfe9a305bc4d7ebe975db58a9 - view on LGTM.com
new alerts:
- 2 for Resource not released in destructor
@pcarruscag @WallyMaier @jtneedels I believe the Scheme is complete.
I will take a look at merging all the base AUSM features into a base class in a nearby future, but I believe it's out of the scope for this feature pull request
Mate... I graduated from the school of "out of the scope of" with honors ok... You and I know that is just code for "I'll leave it for someone else". Just cut and past the parts of the implementation that are exactly the same as another scheme into a function instead of copying, and given that other NEMO schemes have Jacobians that is probably something you should look into re-using. You also clicked the box for having added a testcase but I don't see anything, why don't you add the testcase for the pictures and plots you showed? That is the only way for anything in this code to continue working... It's good work, it went into a paper, make it reproducible. These are the contribution guidelines https://su2code.github.io/docs_v7/Style-Guide/ they may not always make things easier for authors, but they make it easier for the people coming after them.