Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
d78d660
refactor(smoothing): D-01/READ-02 — remove inline duplicate of _build…
lmoresi Jul 7, 2026
eac4bbc
refactor(smoothing): D-02/READ-05 — extract _backtracked_move + _cap_…
lmoresi Jul 7, 2026
7691f19
refactor(smoothing): D-03/READ-06 — rename the four mis-prefixed _win…
lmoresi Jul 7, 2026
c6a7023
refactor(smoothing): D-04/READ-07 — module-top _MPI import + _global_…
lmoresi Jul 7, 2026
e6d9972
refactor(smoothing): D-05/READ-11 — _mmpde_mover kwargs tightening
lmoresi Jul 7, 2026
80737b8
docs(smoothing): D-06/READ-08 — rewrite the stale module docstring
lmoresi Jul 7, 2026
1a7cc4a
docs(smoothing): D-07/READ-09 — delete dead amp-inversion; document t…
lmoresi Jul 7, 2026
f29ae74
docs(smoothing): D-08/READ-10 — smooth_mesh_interior method lists inc…
lmoresi Jul 7, 2026
2c48640
docs(smoothing): D-09/READ-12 — document the real 5-key mesh_metric_m…
lmoresi Jul 7, 2026
caad6c9
refactor(smoothing): D-10/READ-66 — _solver_wiring + _warm_start_kryl…
lmoresi Jul 7, 2026
c9637bc
refactor(smoothing): D-11/READ-67 — extract _reweight_displacement_ra…
lmoresi Jul 7, 2026
b423ac5
refactor(smoothing): D-12/READ-69 — extract _mean_edge_length
lmoresi Jul 7, 2026
5e00652
refactor(smoothing): D-13/READ-04 — split the 4,500-line module into …
lmoresi Jul 7, 2026
ce5250b
docs(smoothing): TODO(BUG) — spring mover rank-local early return bef…
lmoresi Jul 7, 2026
300bba4
docs(smoothing): Copilot-review pass — docstring fixes + TODO(BUG) ma…
lmoresi Jul 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/skills/adaptive-meshing/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ strictly-positive nodal values — evaluates to **NEGATIVE garbage** (even at it
DOFs) → non-SPD → the mover wrecks the mesh. FIX (both):
- **`8a9d2ff2`** (refresh `_nav_coords` + projected normals on every deform) —
the real fix; makes `function.evaluate`/`points_in_domain` track deformation.
- **Monotone RBF metric bake** (in `_winslow_mmpde`): Shepard-interpolate the
- **Monotone RBF metric bake** (in `_mmpde_mover`, formerly `_winslow_mmpde`): Shepard-interpolate the
metric from its **positive nodal values** — a convex average is guaranteed ≥0
(monotone) + fast (no cell-location). Use RBF for the metric; it doesn't need
high-precision eval.
Expand Down
3 changes: 2 additions & 1 deletion src/underworld3/discretisation/remesh.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,8 @@ def remesh_with_field_transfer(
"""Adapt-op contract: run a mover and transfer every registered var.

``do_move`` is a closure that performs the actual coordinate move —
typically the body of a ``_winslow_*`` mover, the OT step, or a
typically the body of one of the ``underworld3.meshing.smoothing``
package movers (spring / MA / OT / anisotropic / MMPDE) or a
``follow_metric`` mover. It is expected to call
:meth:`Mesh._deform_mesh` one or more times and leave the mesh
Comment on lines 228 to 232

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Good catch — this line was rewritten by this PR (the D-03 mover renames touched it) and still pointed at the now-retired single file. Fixed in 300bba4: it now refers to the underworld3.meshing.smoothing package movers.

Underworld development team with AI support from Claude Code

sitting at the final adapted positions. ``do_move`` MUST NOT touch
Expand Down
3 changes: 2 additions & 1 deletion src/underworld3/meshing/_ot_adapt.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
reusable library function. The public entry point is :meth:`Mesh.OT_adapt`
(see ``discretisation/discretisation_mesh.py``); this module holds the
algorithm and the boundary-slip helpers it shares with the OT mover
(``_winslow_equidistribute`` in ``smoothing.py``).
(``_ot_improvement_step`` in the ``underworld3.meshing.smoothing``
package, ``smoothing/monge_ampere.py``).

Comment on lines 6 to 10

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Confirmed — the reference was updated for the D-03 rename but not for the D-13 package split. Fixed in 300bba4: it now points at _ot_improvement_step in the underworld3.meshing.smoothing package (smoothing/monge_ampere.py).

Underworld development team with AI support from Claude Code

The algorithm, per adapt event:

Expand Down
Loading
Loading