Skip to content

BCGSTAB: return the iterate with the smallest residual - #2933

Merged
bigfooted merged 9 commits into
developfrom
fix_bcgstab
Oct 13, 2026
Merged

bigfooted merged 9 commits into
developfrom
fix_bcgstab

Conversation

@bigfooted

@bigfooted bigfooted commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Proposed Changes

BCGSTAB does not reduce the residual monotonically. With a small iteration limit (e.g. LINEAR_SOLVER_ITER= 3) the last iterate can have a larger residual than the initial guess, and returning it gives a bad update. keeping the best iterate makes this converge for small iteration limits.

PR Checklist

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

BCGSTAB does not reduce the residual monotonically. With a small iteration
limit (e.g. LINEAR_SOLVER_ITER= 3) the last iterate can have a larger
residual than the initial guess, and returning it gives a bad update. On
the RAE2822 SA case with multigrid at CFL 200-1500 this caused erratic
divergence; keeping the best iterate makes every CFL converge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bigfooted bigfooted changed the title BCGSTAB: return the iterate with the smallest residual [WIP] BCGSTAB: return the iterate with the smallest residual Sep 27, 2026
@bigfooted bigfooted changed the title [WIP] BCGSTAB: return the iterate with the smallest residual BCGSTAB: return the iterate with the smallest residual Oct 4, 2026
@joshkellyjak joshkellyjak self-assigned this Oct 9, 2026
Comment thread Common/src/linear_algebra/CSysSolve.cpp Outdated
@bigfooted
bigfooted merged commit 3aa1a95 into develop Oct 13, 2026
37 of 38 checks passed
@bigfooted
bigfooted deleted the fix_bcgstab branch October 13, 2026 19:17
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.

2 participants