Skip to content

Custom-P V-cycles across a cut level cost more than they save (7x slower than GAMG at 11x fewer iterations) #622

Description

@lmoresi

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions