Symptom
uw.function.evaluate(V_fn, coords, evalf=True) returns correct values but reports every point as extrapolated, so at np > 1 it warns that all query points are "not located on this rank" even when every point is local. Swarm.estimate_dt calls it this way on the swarm's own particles, so every advection of a swarm (for example the particle stress history, stress_transport="lagrangian") prints the warning on every rank, every step.
Where
src/underworld3/swarm.py, estimate_dt (marked TODO(BUG)); the flag comes from the evalf path of evaluate.
Underworld development team with AI support from Claude Code
Symptom
uw.function.evaluate(V_fn, coords, evalf=True)returns correct values but reports every point as extrapolated, so at np > 1 it warns that all query points are "not located on this rank" even when every point is local.Swarm.estimate_dtcalls it this way on the swarm's own particles, so every advection of a swarm (for example the particle stress history,stress_transport="lagrangian") prints the warning on every rank, every step.Where
src/underworld3/swarm.py,estimate_dt(markedTODO(BUG)); the flag comes from the evalf path ofevaluate.Underworld development team with AI support from Claude Code