Skip to content

Provide a multigrid hierarchy for the constrained-traction regression - #814

Merged
lmoresi merged 1 commit into
underworldcode:developmentfrom
gthyagi:bugfix/constrained-traction-test-hierarchy
Oct 6, 2026
Merged

lmoresi merged 1 commit into
underworldcode:developmentfrom
gthyagi:bugfix/constrained-traction-test-hierarchy

Conversation

@gthyagi

@gthyagi gthyagi commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

The constrained-traction SolCx regression times out on Gadi with PETSc 3.25.4 using both 32-bit and 64-bit indices. Its single-level 32×32 mesh causes the high-contrast augmented system to fall back to GAMG. A diagnostic recorded 21,666 velocity iterations in 90 seconds; the unchanged upstream test exceeded its 180-second timeout.

Build a 16×16 base mesh and refine once, preserving the 32×32 fine grid while providing geometric multigrid. The hierarchy allows the existing test to finish and check the augmented traction, bare-multiplier negative control and topography against SolCx. Physical parameters, tolerances, accuracy bounds and production solver defaults are unchanged.

Validation

  • Gadi PETSc 3.25.4 int32 and int64 container checks pass with the hierarchy, taking approximately 35–40 seconds in the targeted probes.
  • A separate upstream-source baseline check passes in 32.72 seconds with only this mesh change applied, establishing that it does not depend on the integer-width fixes in PR Fix PETSc integer-width mismatches in boundary registration and JIT callbacks #813.
  • Paired verification job 180509622 passed all 23 selected serial tests for each integer width, including this regression, plus the selected two- and four-rank MPI checks.
  • Python syntax and diff whitespace checks pass. No shared native Pixi installation was rebuilt for this validation.

This change is separate from PR #813's PETSc integer-width fixes and from the benchmark-only 3D DFZ memory changes.

Keep the SolCx fine grid at 32x32 elements by refining a 16x16 base once. This supplies geometric multigrid to the high-contrast augmented saddle-point solve instead of falling back to single-level GAMG.

The unchanged upstream test times out after 180 seconds on Gadi. A guarded diagnostic spends 21,666 velocity iterations in 90 seconds; the hierarchy completes and satisfies all existing traction, negative-control and topography bounds in 35-40 seconds with PETSc 3.25.4 int32 and int64. No tolerances, physical parameters, accuracy bounds or production defaults are changed.

Underworld development team with AI support from Claude Code
@gthyagi
gthyagi requested a review from lmoresi as a code owner October 5, 2026 05:23
@lmoresi

lmoresi commented Oct 6, 2026

Copy link
Copy Markdown
Member

Issues in this branch's territory

Territory is tests/test_1063_constrained_traction.py.

issue verdict
none open against this test —
#801 test_1063_constrained_freeslip_parallel[ti]: topography 37.75 vs 37.08 at np=4 still live — a different test in the same family, and a value discrepancy rather than a timeout. Nothing here touches it.

Beyond the territory: this unblocks #744

PR #744 (the discrete adjoint) is red on exactly this test:

FAILED tests/test_1063_constrained_traction.py::test_constrained_topography_carries_the_augmentation_share

scripts/triage.py (#820) classifies that failure as live — the test is on development, so #744 is not stale in the way #785/#789/#795/#800 are. But this PR is the reason the test times out: a single-level 32×32 mesh drops the high-contrast augmented system onto GAMG at 21,666 velocity iterations in 90 s. Giving it a 16×16 base refined once keeps the 32×32 fine grid and provides the hierarchy.

So this should merge before #744 is re-run, and #744's CI is then worth re-checking before anyone treats its failure as its own.

Underworld development team with AI support from Claude Code

@lmoresi lmoresi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved for merge. Adjudication posted above; the multigrid hierarchy is confined to the test fixture and the physical parameters are unchanged, so the assertions still gate what they gated. Merging this ahead of #744, whose CI failure is this test timing out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants