On the vortex-shedding cylinder (Re 200, Wi 0.5, log-conformation store, SUPG momentum) the forward integration-point stress history with its per-cell linear fit fails at t 5.2: one cell at the rear stagnation point receives a few arrivals in a corner, passes the conditioning test, extrapolates its slope across the cell and puts tau_II = 4 where nothing above 0.8 arrived; the exponential decode amplifies it and the next solve diverges. The excursion of the fit beyond its arrivals' range is 25-48% of the carried range in the background (a cell's vertices lie outside its interior arrivals, so the fit always extrapolates) and grew 0.89 -> 1.29 -> 3.05 over the three steps before the failure. Store smoothing at c = 0.07 holds it and removes a third of the drag; a Barth-Jespersen limiter on the cell's own range holds it and clips true gradients (the bound is wrong for interior arrivals).
The fix on PR #800 is a different reconstruction: one global L2 projection of the arrivals onto the continuous field (`reconstruction="global"`, `ParticleL2Projector`), which interpolates each node from the arrivals around it and holds an emptied cell to what it carried. It runs the same case to t = 8 with no smoothing and no limiter at a steady 2-5% excursion. The per-cell fit stays as `reconstruction="cell"`.
Underworld development team with AI support from Claude Code
On the vortex-shedding cylinder (Re 200, Wi 0.5, log-conformation store, SUPG momentum) the forward integration-point stress history with its per-cell linear fit fails at t 5.2: one cell at the rear stagnation point receives a few arrivals in a corner, passes the conditioning test, extrapolates its slope across the cell and puts tau_II = 4 where nothing above 0.8 arrived; the exponential decode amplifies it and the next solve diverges. The excursion of the fit beyond its arrivals' range is 25-48% of the carried range in the background (a cell's vertices lie outside its interior arrivals, so the fit always extrapolates) and grew 0.89 -> 1.29 -> 3.05 over the three steps before the failure. Store smoothing at c = 0.07 holds it and removes a third of the drag; a Barth-Jespersen limiter on the cell's own range holds it and clips true gradients (the bound is wrong for interior arrivals).
The fix on PR #800 is a different reconstruction: one global L2 projection of the arrivals onto the continuous field (`reconstruction="global"`, `ParticleL2Projector`), which interpolates each node from the arrivals around it and holds an emptied cell to what it carried. It runs the same case to t = 8 with no smoothing and no limiter at a steady 2-5% excursion. The per-cell fit stays as `reconstruction="cell"`.
Underworld development team with AI support from Claude Code