Skip to content

test_1063 [ti]: constrained free-slip topography 1.8% off its recorded anchor on the anchor's own mesh #826

Description

@lmoresi

tests/parallel/test_1063_constrained_freeslip_parallel.py::test_constrained_freeslip_partition_independent[ti] fails its accuracy anchor on the host that recorded it (mesh fingerprint matches: 434 cells, vol 2.35568541253):

recorded 2026-08-15 (#568) now
velocity L2 0.3925981604039 0.3925981604143
mean-stripped topography 37.07799837159 37.75254788367

Velocity agrees to 3e-11. Topography is 1.8% higher. The np=1 and np=2 runs agree with each other, so this is not a partition effect. The iso anchor and the gauge anchor still pass.

It is not new. The same 37.75254788 comes from the main checkout's build of development at 1391e4a (built 2026-10-06), and from bugfix/unwrap-memoised-823 with its unwrap and realness changes switched on and off (four combinations, identical to 12 digits).

CI cannot see it. CI's gmsh builds 430 cells, so the anchor skips there (run 37431877336: "accuracy anchor was recorded on a different mesh"). The anchor is a live gate only on one machine, and only in the parallel pass.

Likely mechanism, not yet confirmed. The test's own comment says the topography is read off the multiplier, whose [p, λ] Schur sub-block runs into its 200-iteration cap ("a converged SNES over a capped inner block"). A topography that is not converged moves with anything that changes the inner solve's iteration path: KSP or PC defaults, restart length, or tolerance. The velocity does not move. If so, the 37.08 anchor is also an unconverged number, and the question is what the converged topography is, rather than which of the two values is right.

To do:

  • Converge the multiplier block on this fixture (raise the cap, or tighten it and read the true value).
  • Bisect development between 2026-08-15 and 1391e4a if the converged value differs from both numbers.
  • Re-record the anchor at a converged state, and give it a fingerprint CI also matches, or anchor something CI can reach.

Underworld development team with AI support from Claude Code

Activity

  1. lmoresi commented on Oct 7, 2026

    @lmoresi
    MemberAuthor

    #801 closed into this one. It reported the same numbers (anchor 37.07799837159, observed 37.752547…) as partition dependence at np=4; this issue shows it on the recording host with a matching mesh fingerprint and velocity agreeing to 3e-11, so rank count is not involved. Worth keeping that: it rules out the partition explanation that #801 would have sent someone after.

    Note also that #814 (merged 2026-10-06) changed tests/test_1063_constrained_traction.py — the serial file — to refine a 16×16 base rather than use a single-level 32×32. This issue is about tests/parallel/test_1063_constrained_freeslip_parallel.py, a different file, so that merge does not touch it.

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

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