With the cut mesh inheriting the adapt tail (add_conforming_sheet, PR #589), the velocity-block geometric MG installs and converges in 4 iterations against GAMG's 46 — and still loses the wall time 7x. Instrumented A/B on an 85k-cell cut child (same mesh, operator, tolerance; warm solves, setup excluded; scripts in ~/+Simulations/place_route_health/):
- inherited tail: warm 60.2 s, velocity block mg, 4 its (~13 s per preconditioner application)
- stripped: warm 8.5 s, velocity block gamg, 46 its
The finest transfer crosses the CUT: the cut child sets _refine_dofs_coincide=False (a cut vertex is not an edge midpoint), so the exact nested prolongation cannot apply and the transfer comes from the geometric builder. The #576/#579 FMG wins (2.2x smooth, 13x banded) were measured on UNCUT adapt children with exact transfers. A cheap sparse transfer across a cut level is the missing piece before the inherited tail pays for itself; until then GAMG remains the right default on cut children, and the tail's value is that split-aware or exact-transfer improvements have somewhere to land.
Related: #424 (dense RBF transfer cliff). Also observed: cold solves at this size are setup-dominated (~700-750 s of JIT/assembly against 8.5-60 s of Krylov), so preconditioner comparisons must be made on warm solves.
Underworld development team with AI support from Claude Code
With the cut mesh inheriting the adapt tail (add_conforming_sheet, PR #589), the velocity-block geometric MG installs and converges in 4 iterations against GAMG's 46 — and still loses the wall time 7x. Instrumented A/B on an 85k-cell cut child (same mesh, operator, tolerance; warm solves, setup excluded; scripts in ~/+Simulations/place_route_health/):
The finest transfer crosses the CUT: the cut child sets _refine_dofs_coincide=False (a cut vertex is not an edge midpoint), so the exact nested prolongation cannot apply and the transfer comes from the geometric builder. The #576/#579 FMG wins (2.2x smooth, 13x banded) were measured on UNCUT adapt children with exact transfers. A cheap sparse transfer across a cut level is the missing piece before the inherited tail pays for itself; until then GAMG remains the right default on cut children, and the tail's value is that split-aware or exact-transfer improvements have somewhere to land.
Related: #424 (dense RBF transfer cliff). Also observed: cold solves at this size are setup-dominated (~700-750 s of JIT/assembly against 8.5-60 s of Krylov), so preconditioner comparisons must be made on warm solves.
Underworld development team with AI support from Claude Code