Skip to content
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

Introduction of AUSM+M and AUSM scheme refactoring in NEMO #1773

Merged
merged 30 commits into from
Feb 4, 2023

Conversation

fmpmorgado
Copy link
Contributor

@fmpmorgado fmpmorgado commented Sep 26, 2022

Proposed Changes

This PR makes several changes to the NEMO code:
1.) @fmpmorgado Introduced the AUSM+M convective scheme that avoids the carbuncle phenomena in hypersonic blunt bodies (https://doi.org/10.1016/j.apm.2019.09.005)
2.) Wally - A full refactoring of the AUSM schemes within NEMO
3.) Removal of AUSMPW+ scheme

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.

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • I have added a test case that demonstrates my contribution, if necessary.
  • 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.

image
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.

image
Temperature at the stagnation line (solid line is AUSM+M and dashed line is AUSM)

image
image
Pressure at the stagnation line and close-up at the stagnation point (solid line is AUSM+M and dashed line is AUSM)

SU2_CFD/include/numerics/CNumerics.hpp Outdated Show resolved Hide resolved
SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
@pcarruscag
Copy link
Member

pcarruscag commented Sep 26, 2022

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.

@pcarruscag pcarruscag marked this pull request as draft September 26, 2022 11:12
@pr-triage pr-triage bot added the PR: draft label Sep 26, 2022
@lgtm-com
Copy link

lgtm-com bot commented Sep 26, 2022

This pull request introduces 2 alerts when merging 84cdb7e into d32ccec - view on LGTM.com

new alerts:

  • 2 for Resource not released in destructor

@lgtm-com
Copy link

lgtm-com bot commented Sep 26, 2022

This pull request introduces 2 alerts when merging 787c7ea into bc6ef2a - view on LGTM.com

new alerts:

  • 2 for Resource not released in destructor

SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Outdated Show resolved Hide resolved
@WallyMaier WallyMaier changed the title [WIP] Introduction of a new convective scheme for NEMO: AUSM+M [WIP] Introduction of AUSM+M and AUSM scheme refactoring in NEMO Feb 3, 2023
@WallyMaier WallyMaier changed the title [WIP] Introduction of AUSM+M and AUSM scheme refactoring in NEMO Introduction of AUSM+M and AUSM scheme refactoring in NEMO Feb 3, 2023
Copy link
Contributor

@jtneedels jtneedels left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM, I think the refactoring makes sense. Thanks Wally!

Copy link
Member

@pcarruscag pcarruscag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work with the refactoring 👍
Run clang-format on the new files please.

SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp Outdated Show resolved Hide resolved
SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp Outdated Show resolved Hide resolved
Copy link
Member

@pcarruscag pcarruscag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I ran clang-format (because we want to make a release this Monday) LGTM on my side we can move those functions another day.

@pcarruscag pcarruscag merged commit 89f691f into develop Feb 4, 2023
@pcarruscag pcarruscag deleted the feature_NEMO_AUSMPLUSM_clean branch February 4, 2023 23:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants