Skip to content

Supply general-gas thermodynamic data at supersonic outlets - #2974

Open
rois1995 wants to merge 1 commit into
su2code:developfrom
rois1995:fix_real_gas_supersonic_outlet
Open

rois1995 wants to merge 1 commit into
su2code:developfrom
rois1995:fix_real_gas_supersonic_outlet

Conversation

@rois1995

Copy link
Copy Markdown
Contributor

CEulerSolver::BC_Supersonic_Outlet extrapolates the interior state but does not supply secondary thermodynamic data to the general-gas flux objects. A fresh general-gas HLLC boundary call segfaults; a previously used object can retain stale derivatives. The boundary now passes the interior secondary data for both extrapolated states, in the convective and viscous calls.

The new regression reproduces the original segfault and passes 8,580 assertions after the correction, covering ideal/Peng–Robinson gases, 2D/3D, fixed/moving grids, and Euler/Navier–Stokes boundary calls. It checks the equal-state numerical flux, the physical fixed-grid flux and finite Jacobian entries. Both configured Meson suites and the changed-file pre-commit checks pass.

This does not change the boundary's assumption of supersonic outward flow. It does not repair the characteristic static-pressure outlet. The existing moving HLLC flux discrepancy on develop is addressed separately in #2943.

@rois1995

Copy link
Copy Markdown
Contributor Author

The regression is supersonic_outlet_tests.cpp. It builds a generated RECTANGLE/BOX, initializes a uniform flow with normal velocity twice the EOS sound speed relative to the grid, and calls the actual supersonic-outlet boundary with a fresh flux object.

Original develop exits with a segmentation fault in the first Peng–Robinson HLLC boundary call. With this fix, 8,580 assertions pass across 2D/3D, ideal/Peng–Robinson, fixed/20 m/s translating grids, and Euler/Navier–Stokes boundary calls. The checks compare the extrapolated equal-state numerical flux, the physical fixed-grid flux, and finite Jacobian entries. Both configured Meson suites and changed-file pre-commit checks pass.

Reproduce with an MPI-enabled normal build configured with -Denable-tests=true: run UnitTests/test_driver '[Supersonic-outlet]'. This is a boundary regression, not a full flow/convergence validation. Moving-grid HLLC flux correctness is handled separately in #2943; this test preserves the scheme's equal-state numerical flux.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant