Re-measurement of the recorded place-vs-embed pathology (fault-split close-out 2026-08-10: composed chain 3850 s vs 125 s on adapt children). Measured 2026-08-20 at h=0.06 / h_far=0.24 (scripts in ~/+Simulations/place_route_health/):
- embed: 3,141 cells, contact solve 6 s
- place: 85,352 cells, contact solve 249 s
27x the cells, 41x the time — 41 ≈ 27^1.13, proportionate under 3-D Stokes scaling. Per-cell cost is comparable (2.9 vs 1.9 ms), both converge in one nonlinear iteration with machine-zero no-opening leak, and the physics answers agree (peak slip 0.1740 vs 0.1718). The place mesh's quality tail is mild (q_min 0.028, six cells under 0.05). The recorded pathology is therefore CELL COUNT, not operator sickness.
Mechanism: _build_3d builds the base box at cellSize=h_far with refinement=1, so the far field is h_far/2 everywhere — 8x the requested far-field density before adaptation starts — compounded by edge_split marking on diameters (1.2–2.5x a gmsh target edge). The same h_far-vs-measured-diameters trap as the spherical megathrust build.
Candidate fix: build the base at 2*h_far so refinement=1 lands on the requested far size (the refinement is needed for the multigrid tail), and re-validate the clearance=0.8 window, which was calibrated on the current sizing.
Underworld development team with AI support from Claude Code
Re-measurement of the recorded place-vs-embed pathology (fault-split close-out 2026-08-10: composed chain 3850 s vs 125 s on adapt children). Measured 2026-08-20 at h=0.06 / h_far=0.24 (scripts in ~/+Simulations/place_route_health/):
27x the cells, 41x the time — 41 ≈ 27^1.13, proportionate under 3-D Stokes scaling. Per-cell cost is comparable (2.9 vs 1.9 ms), both converge in one nonlinear iteration with machine-zero no-opening leak, and the physics answers agree (peak slip 0.1740 vs 0.1718). The place mesh's quality tail is mild (q_min 0.028, six cells under 0.05). The recorded pathology is therefore CELL COUNT, not operator sickness.
Mechanism: _build_3d builds the base box at cellSize=h_far with refinement=1, so the far field is h_far/2 everywhere — 8x the requested far-field density before adaptation starts — compounded by edge_split marking on diameters (1.2–2.5x a gmsh target edge). The same h_far-vs-measured-diameters trap as the spherical megathrust build.
Candidate fix: build the base at 2*h_far so refinement=1 lands on the requested far size (the refinement is needed for the multigrid tail), and re-validate the clearance=0.8 window, which was calibrated on the current sizing.
Underworld development team with AI support from Claude Code