Split out of #549, which the ribbon representation resolves (PR #552). The contact (slit) representation still refuses any fault touching the boundary:
fault_split: the fault touches the domain boundary. Only strictly interior
faults, with both tips ...
The refusal's argument is about tips — the slit would reach the boundary, where the tip-clamping argument fails. That argument is right for a tip and over-broad for a crossing:
- A tip lands on the boundary — keep refusing. The clamping argument genuinely fails there.
- The slit crosses the boundary transversally — a daylighting fault's boundary end is not a tip. It is an edge where the boundary condition differs above and below the slit, which is exactly how Barr & Houseman (GRL 1992; GJI 1996) drive slip: velocity +u0/2 above the fault on the boundary, -u0/2 below.
The substantive work is the boundary labelling: the two sides of the slit at the wall must be separately addressable so a solver can set different conditions across it. That is a design decision about label identity (does the wall label split? does each side get a derived name, as fault_split already mints per-fault boundary values?), not carve plumbing.
The ribbon path went first because it was bounded and unblocks the science; this issue is the second half of the original ask, and the Barr & Houseman boundary-driven configuration is its acceptance test.
Underworld development team with AI support from Claude Code
Split out of #549, which the ribbon representation resolves (PR #552). The contact (slit) representation still refuses any fault touching the boundary:
The refusal's argument is about tips — the slit would reach the boundary, where the tip-clamping argument fails. That argument is right for a tip and over-broad for a crossing:
The substantive work is the boundary labelling: the two sides of the slit at the wall must be separately addressable so a solver can set different conditions across it. That is a design decision about label identity (does the wall label split? does each side get a derived name, as fault_split already mints per-fault boundary values?), not carve plumbing.
The ribbon path went first because it was bounded and unblocks the science; this issue is the second half of the original ask, and the Barr & Houseman boundary-driven configuration is its acceptance test.
Underworld development team with AI support from Claude Code