Skip to content

WP17 - Large solver stack and preconditioning

Decision

This document records the original WP17 diagnostic checkpoint. Its PARTIAL status is preserved as historical evidence; the active WP17 closeout is docs/verification/0_2_7/0_2_7_wp17_final.md.

WP17 is PARTIAL. The existing structured TET4 matrix-free route was instrumented and compared with a diagnostic diagonal-Jacobi alternative. No solver, formulation, WP14 tolerance or public backend selection was changed. The WP16 1M equilibrium failure therefore remains a release blocker.

The implementation and measurement source is 6c975e9fc80854814cb40d1e3d9377f1042f216e. The full machine-readable probe is qualification/0_2_7/wp17_runtime/wp17_probe.json and the summarized state is qualification/0_2_7/wp17_state.json.

Instrumented route

The probe uses the existing generated homogeneous six-TET-per-cell TET4 model, SciPy LinearOperator, CG, chunk size 4096 and the frozen WP14 settings (rtol=1e-8, atol=0, maxiter=10000). It records model setup, operator and preconditioner setup, solve, reaction calculation, energy/post processing and total time, together with iterations, matvecs, sampled residual history and peak RSS.

The medium model has 35,937 nodes, 196,608 TET4 elements and 107,811 true DOF. It is a diagnostic probe only and is not a 1M qualification run.

Route Iterations Matvecs Residual Equilibrium Energy Total [s] Peak RSS
Nodal block-Jacobi 486 486 9.713e-9 2.192e-8 1.531e-15 8.288 125,374,464
Diagonal-Jacobi 468 468 9.797e-9 7.193e-8 4.975e-14 7.815 125,227,008

Nodal block-Jacobi remains the selected WP14-compatible preconditioner. The diagonal candidate is not retained: it reduces iterations and is faster in this medium probe, but its equilibrium result is worse than the frozen 1e-8 limit. That timing result is diagnostic only and does not justify a WP14 route change. No implicit fallback is introduced.

Reaction diagnosis

The compensated reaction reduction changes the equilibrium metric by only 2.65e-13 relative. The identity between the global equilibrium balance and the accumulated free residual is 1.66e-12 relative. Together with the subscale operator/displacement/reaction/energy comparison, this classifies the observed WP16 error as iterative residual amplification, not a demonstrated reaction reconstruction, floating-point summation, BC or matrix-free operator mismatch. No post-processing-only correction is used to mask the result.

The frozen WP14 subscale comparison remains PASS across 81, 375, 2,187 and 14,739 DOF. Its maximum errors are 1.25e-14 for operator action, 3.45e-13 for displacement, 2.30e-9 for reaction, 7.97e-14 for energy and 8.78e-9 for relative residual.

PETSc status and next gate

petsc4py and mpi4py were unavailable in the local environment; mpiexec was present but no PETSc backend was run. The result is recorded as UNAVAILABLE, not PASS, and the matrix-free route was selected explicitly.

WP17 does not claim a 1M improvement, PETSc support, distributed scaling or a 3M solve. A future WP16 retry requires a separately justified numerical change or a solver-path improvement that satisfies the unchanged WP14 equilibrium criterion. WP18 is not considered ready from this diagnostic-only checkpoint.