Repository navigation
Conversation
|
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 |
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.