Skip to content

Enable viscous flux contribution at supersonic outlet boundary condition#2829

Open
yiluntam wants to merge 3 commits into
su2code:developfrom
yiluntam:fix/euler-outlet-bc
Open

Enable viscous flux contribution at supersonic outlet boundary condition#2829
yiluntam wants to merge 3 commits into
su2code:developfrom
yiluntam:fix/euler-outlet-bc

Conversation

@yiluntam

Copy link
Copy Markdown

Proposed Changes

The viscous flux contribution in BC_Supersonic_Outlet was previously commented out due to reported convergence issues. However, for viscous NS simulations this omission is physically incorrect and causes severe convergence problems at outlet boundary cells, which also prevents the use of second-order MUSCL reconstruction.

For supersonic flows, downstream disturbances cannot propagate upstream, so the outlet state can be safely extrapolated from the domain interior. Using SetPrimitive(V_domain, V_domain) instead of (V_domain, V_outlet) resolves the convergence problems that motivated the original commenting.

PR Checklist

  • [ 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).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • I used the pre-commit hook to prevent dirty commits and used pre-commit run --all to format old commits.
  • 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.

pcarruscag and others added 2 commits April 28, 2026 08:05
The viscous flux contribution in BC_Supersonic_Outlet was previously
commented out due to reported convergence issues. However, for viscous
NS simulations this omission is physically incorrect and causes severe
convergence problems at outlet boundary cells, which also prevents the
use of second-order MUSCL reconstruction.

For supersonic flows, downstream disturbances cannot propagate upstream,
so the outlet state can be safely extrapolated from the domain interior.
Using SetPrimitive(V_domain, V_domain) instead of (V_domain, V_outlet)
resolves the convergence problems that motivated the original commenting.
@yiluntam

Copy link
Copy Markdown
Author

@pcarruscag Could you take a look at this when you have time? Thanks!

@yiluntam yiluntam force-pushed the fix/euler-outlet-bc branch from f6a58b3 to 092f23a Compare June 10, 2026 13:03
@yiluntam

yiluntam commented Jun 10, 2026

Copy link
Copy Markdown
Author
image

Validation: Ma = 4, Tw/T∞ = 1, laminar flat plate boundary layer. Cf distribution agrees well with Anderson's hypersonic reference ("Hypersonic and High Temperature Gas Dynamics").

As can be seen, the new code aligns more closely with the theoretical solution. The distribution of physical quantities at the outlet is also more reasonable. Furthermore, the convergence time required during the calculation has been reduced.

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.

3 participants