Repository navigation
Conversation
Expose solver-owned pressure extraction, numerical Taylor wall updates, circular CBF topography recovery and modal trace integration for affine isoviscous P2/continuous-P1 annuli. Keep five public methods backed by private lazy helpers, explicit configuration and numerical failure histories. Document technical sources and the required projected pressure gauge. Include the registered-boundary collective datum scheduling prerequisite from open PR underworldcode#855; no analytical, geoid, Poisson, spherical or child-submesh changes are included. Add independent mathematical regressions and one explicit CI entry. Validation: executable kernel/method/test ASTs match d2c0527 tested on the integration branch (14 serial UW3, 189 annulus components and 14 tests on 16 MPI ranks). Four standalone h32 migrations reproduce calibrated fields and signed coefficients within 1e-14. Coverage and style checks pass. A matching upstream-base native installation and focused serial/MPI gates are next before opening the review PR. Underworld development team with AI support from Claude Code
Constrain the public examples and helper docstrings to nondimensional inputs; mark prerequisite datum tests level_1/tier_b. No numerical implementation or test-body changes. Validation: Gadi182128805 built bf81ed9 against the existing int32 image, verified native/Python origins and passed all 12 tests serially and on every one of 16 MPI ranks. Executable ASTs remain identical after these documentation/selection changes; coverage355, style and diff gates pass. No native/model reruns are affected. Next: narrow upstream review, retaining separate integration-campaign provenance. Underworld development team with AI support from Claude Code
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Straight-sided annulus meshes approximate circular density interfaces and walls. These opt-in Stokes methods provide circular pressure-jump extraction, numerical Taylor wall updates, and circular consistent-boundary-flux recovery so benchmark drivers can use one solver-owned implementation instead of duplicate numerical kernels.
Supported scope is a nondimensional, origin-centred 2-D isoviscous annulus with affine triangles, continuous P2 velocity/P1 regular pressure, rotated strong free slip, and pressure-nullspace projection enabled. Defaults and existing solver paths are unchanged. The guide and docstrings distinguish the published pressure-extraction, shifted-boundary and CBF principles from the radial lift, lagged wall updates and circular moment-transfer adaptations here; no inherited stability theorem or spherical/curved-element support is claimed.
Changes
Dependency and validation
The FE-valued datum collective-ordering prerequisite also proposed in #855 is included in
rotated_bc.pywith its two regressions. It is needed to evaluate wall fields safely when some ranks own no points. The unrelated submesh-name fix used by the integration benchmark is excluded from this PR.Gadi job
182128805.gadi-pbsbuilt review commitbf81ed97122d6dea7626c12dfe223f8e168612d8from a fresh checkout against the existing PETSc int32 image. Python/native origins, integer width and MPI runtime checks passed. All 12 tests passed in serial and on each of 16 MPI ranks. Subsequent commit80243e81changes only documentation and test selection markers; numerical/public-method executable ASTs and test bodies are identical. Coverage reports all 355 test files reachable; style and whitespace checks pass.The separate
feature/topography-geoid-consolidationintegration branch atd2c05279has completed 50 fresh Gadi models (case1/2, both primary gravity workflows, before/after, h=1/8–1/128, and prescribed-source gravity tests). Those workflow runs use the integration branch, not this narrow upstream base; independent saved-field audit182128125.gadi-pbspassed all 50 runs, 20 matched mesh pairs and ten complete sequences. The consolidated report and evidence preserve every before/after result, including adverse Poisson gravity changes. They do not replace the narrow-branch installation/component evidence above.Review scope
Boundary-only replication and a SciPy sparse line-mass solve remain bounded implementation limitations, documented explicitly; scalability beyond the tested annulus is not claimed. Four wall updates are a selected benchmark schedule, not a universal convergence guarantee. The API requires integer
updates; float inputs are outside the documented parameter contract.Adversarial review of
80243e81found no blocking source issue within the documented scope. It checked empty-rank schedules, inner/outer signs, gauges, deterministic indexing, CI reach and executable equivalence. Missing unit-scope documentation and prerequisite test markers were corrected. The minor float-updatesvalidation inconsistency remains; documented integer inputs are unaffected. The independent integration campaign audit has passed; review of the supported scope and remaining documented limitations is still required before merge.Related issue verdicts: #320 (broader BC comparisons), #348 (LU pressure pin), #546 (workspace/FMG follow-ups), #608 (mixed boundary corners), #625 (pressure preconditioning cost), #408 (3-D recovery scaling), #647 (spherical projection), and #787/#766 (adjoint/sensitivity) remain live and outside this branch. None is claimed fixed or independently reproduced as already fixed. Existing issue labels are unchanged.
Underworld development team with AI support from Claude Code