Skip to content

Solver Epic Implementation Progress

This log tracks completion of the 10-step plan for the CG solver stack. The entries below summarise the final state after the latest round of work.

Step Checklist

  • [x] Step 0 – Goals clarification and acceptance criteria alignment
  • [x] Step 1 – Confirm math/operator baselines
  • [x] Step 2 – Update solver APIs and core implementations
  • [x] Step 3 – Extend CLI/JSON configuration pathways
  • [x] Step 4 – Expand and parameterise automated tests
  • [x] Step 5 – Update CI workflow expectations
  • [x] Step 6 – Ensure implementation follows performance guidelines
  • [x] Step 7 – Implement live progress formatting
  • [x] Step 8 – Harden failure handling and guardrails
  • [x] Step 9 – Refresh documentation
  • [x] Step 10 – Final acceptance checklist verification

Notes

  • Rebased the solver core on a unified solveAz entry point with matrix-free PCG and Jacobi preconditioning, retaining SOR as the reference path.
  • Added Neumann handling helpers (removeMeanIfNeumann, enforceNeumannGauge) and introduced an automatic SOR fallback for pure-Neumann cases to keep CG parity with legacy behaviour.
  • Wired warm-start initial guesses through a light SOR pre-smoothing pass and injected a safety reset when the supplied guess worsens the residual.
  • Implemented coarse-to-fine prolongation support and ensured prolongated guesses are normalised for Neumann grids.
  • Expanded CLI/ingest plumbing for solver selection, warm start, prolongation, progress, quiet mode, and snapshot cadence.
  • Rebuilt the automated test matrix to exercise both solvers, added warm-start/prolongation/progress fixtures, and relaxed iteration-ratio checks to reflect empirical convergence while still enforcing improvement.
  • Updated documentation and AGENT guidance to describe the CG path, warm-start workflow, prolongation hooks, and live progress controls.
  • Verified the full test suite (ctest --output-on-failure) passes with the CG stack enabled and artefact scaffolding intact.
  • Added a solver_visualization_capture utility plus a Python animation pipeline to illustrate warm starts and progress snapshots for documentation-ready artefact generation.