Rescoped 2026-08-16 after review. This was originally filed as three defects; two of them do not survive scrutiny and are withdrawn below. What remains is one open modelling question.
The question
Where two fault zones overlap, the fused zone carries a single label by design — that ignorance is what makes fuse (#541) remove junction detection, and it is deliberate. So the rheology at an overlap comes entirely from the Surface lookup, which today gives each node the director of the nearest surface.
At a low-angle crossing or a tangential merge the two directors nearly agree, so the choice does not matter. At a high-angle crossing the overlap is weak in two directions, and a single director represents only one of them.
The open question is whether that matters in practice. The ownership boundary is a measure-zero surface with cells either side taking opposite directors, so the net response of the overlap region may already approximate the orthotropic answer without anyone constructing it. That is plausible and unmeasured.
What would settle it
A high-angle crossing — the tangential geometries used so far cannot discriminate, since both directors agree there by construction. Compare, on one mesh:
- nearest-fault director (current behaviour)
- an explicit orthotropic treatment, e.g. summing the two weak planes' compliance tensors and inverting — which represents both weaknesses, is continuous, and degenerates correctly where only one surface is near
against the gmsh-union control. If they agree, the current rule is fine and this issue closes. If not, the gap is the error being carried today.
Note the connection to #539: an additive-compliance treatment needs the TI compliance tensor and the eta -> 1/(4 eta) structure that issue records. The two are related if this route is taken.
Withdrawn from the original report
- "Nearest vertex, not nearest surface." Real as stated — a densely-sampled trace annexes territory from a sparsely-sampled one — but this is a modelling-discipline requirement, not a defect: a fault set that builds one model should be consistently sampled. Generalising the KDTree to exact distance-to-segment would make a coarse triangulation work well enough to keep, which is the wrong service. Refine or retriangulate the surface instead, which fixes the distance query and everything else that reads it.
- "The director flips discontinuously across the partition boundary." Poor wording on my part: "partition" here meant the geometric medial axis between the two traces, not the MPI decomposition. Nothing is decomposition-dependent — the KDTree is built from replicated
Surface vertices and queried with rank-local coordinates, so a given point gets the same answer at any rank count. The parallel contract is intact.
Underworld development team with AI support from Claude Code
Rescoped 2026-08-16 after review. This was originally filed as three defects; two of them do not survive scrutiny and are withdrawn below. What remains is one open modelling question.
The question
Where two fault zones overlap, the fused zone carries a single label by design — that ignorance is what makes
fuse(#541) remove junction detection, and it is deliberate. So the rheology at an overlap comes entirely from theSurfacelookup, which today gives each node the director of the nearest surface.At a low-angle crossing or a tangential merge the two directors nearly agree, so the choice does not matter. At a high-angle crossing the overlap is weak in two directions, and a single director represents only one of them.
The open question is whether that matters in practice. The ownership boundary is a measure-zero surface with cells either side taking opposite directors, so the net response of the overlap region may already approximate the orthotropic answer without anyone constructing it. That is plausible and unmeasured.
What would settle it
A high-angle crossing — the tangential geometries used so far cannot discriminate, since both directors agree there by construction. Compare, on one mesh:
against the gmsh-union control. If they agree, the current rule is fine and this issue closes. If not, the gap is the error being carried today.
Note the connection to #539: an additive-compliance treatment needs the TI compliance tensor and the
eta -> 1/(4 eta)structure that issue records. The two are related if this route is taken.Withdrawn from the original report
Surfacevertices and queried with rank-local coordinates, so a given point gets the same answer at any rank count. The parallel contract is intact.Underworld development team with AI support from Claude Code