Conversation
- Replace deprecated EXT_ITER with ITER - Fix swapped CFL_ADAPT_PARAM values (factor-down must be < 1.0) - Switch from JST to ROE with MUSCL and Venkatakrishnan limiter for better robustness at Mach 1.7 - Remove unused adjoint, design-variable, and equivalent-area settings - Disable multigrid and add case to serial_regression.py
6d513e2 to
a60faaa
Compare
|
Thanks! Please keep the adjoint stuff so the file can then be re-used for an adjoint setup as well. With these settings, does it converge completely, can you post a plot of the residuals as function of iterations here? |
…te test_vals - Restore adjoint, DV, and adjoint I/O settings (inert in DIRECT runs) - Keep EQUIV_AREA and MARKER_NEARFIELD commented out: enabling them gives 760 non-physical points and rms[Rho] +3.4 instead of -3.9 - Update test_vals to CI-computed values
|
That convergence doesn't look good. Also, the equivalent area and nearfield conditions are important parts of this setup so I think it is best to keep those, since we already have a bunch of testcases that test the standard euler flow with a farfield BC. That probably means tinkering a bit with the settings to find out how to make it converge well. |
I dug into the nearfield setup and I think the problem is deeper than config settings. Findings, all tested with everything else held constant: MARKER_NEARFIELD alone (with EQUIV_AREA= NO) gives 760 non-physical points and rms[Rho] = 3.4319. Enabling EQUIV_AREA= YES on top gives bit-identical results, so the EA post-processing isn't involved it's the nearfield BC itself. So this looks like the 2D coincident-node nearfield path being broken rather than a settings issue probably needs a look at the nearfield BC implementation. Happy to keep going if you can point me at the relevant code, or to close this if you'd rather handle it separately. |
|
Thanks @Syphonicc for separating the nearfield behavior from the equivalent-area post-processing. Following your request for code pointers, there is a dispatch detail that may help narrow the next check. At the inspected revision
Could the next check be where the coincident nearfield nodes are intended to receive their paired-state/flux contribution in the direct solver? I may be missing another path, so this is a source-trace lead rather than a confirmed explanation of the divergence. I would not simply broaden the interface guard: that path expects donor-state setup. Keeping the original nearfield/equivalent-area purpose seems important before choosing either a solver fix or a configuration migration. AI disclosure: ChatGPT generated this comment and traced the source. The fork-only Actions run below collected complete matching source files at the pinned revision and verified their Git blob hashes. No CFD solve, mesh validation, or independent reproduction of the reported residuals was performed. https://github.com/kvnloo/space-ros/actions/runs/36094835607 |
|
Thanks @kvnloo, that dispatch trace is right, and it has a definite answer: there is no path, and that is deliberate.
Checking on current develop, every surviving use of
That makes me more comfortable with the scope choice in this PR: dropping the nearfield/equivalent-area settings from the regression case is not working around a solver bug, it is removing settings that no longer have an implementation behind them. Restoring the capability would be a separate piece of work, and not one I would attach to a regression-test fix. @bigfooted @pcarruscag - separate question, and happy to open an issue for it rather than clutter this PR: should |
|
Appreciate you taking a look, thanks 🙏 |

Proposed Changes
Updates the biparabolic supersonic Euler case (
TestCases/euler/biparabolic) so it runs on currentdevelop, and adds it toserial_regression.py.Config changes:
EXT_ITER→ITER(deprecated option prevented the config from parsing at all)CFL_ADAPT_PARAM: factor-down and factor-up were swapped (1.5, 0.5→0.5, 1.5). SU2 rejects factor-down ≥ 1.0, but this was never caught becauseCFL_ADAPTwas set toNO.CONV_NUM_METHOD_FLOWfrom JST to ROE withMUSCL_FLOWand the Venkatakrishnan limiter. The case diverged with JST at CFL 25, 5 and 1, so it wasn't a timestep issue — the central scheme wasn't robust enough for the shocks at Mach 1.7.MGLEVEL3 → 0Note on scope: the original config was set up for an adjoint-based sonic-boom (equivalent-area) design study rather than a direct solve, and the
MARKER_NEARFIELD/EQUIV_AREAsetup appears to be what was causing the divergence. I reduced it to a minimal direct Euler run so it works as a regression case happy to restore the design-related settings if you'd prefer the case keep that capability.Regression entry uses
test_iter = 25, with values verified reproducible across repeated runs. Residuals stall around -4 rather than reaching the -6 criterion at longer horizons let me know if you'd prefer different settings.Tested locally with a serial build (MPI disabled). I'm new to SU2, and worked through this with AI assistance.
Related Work
Resolves #2864.
PR Checklist
pre-commit run --allto format old commits.