Faults: to mesh or not to mesh? (UWTN 2026-017) - #54
Merged
Merged
Conversation
Drafted 23-24 August and never committed, so two weeks of outline, five figures and nine example scripts lived only in a worktree. Committing it also closes the allocator's blind spot: `ids_on_branches` searches every ref, but a note that has never been committed is invisible to it, and 2026-017 was offered a second time on 8 September exactly as 2026-012 was offered twice before. The outline stands as written. It frames the fault against the shear band, separates saying WHERE the fault is from saying HOW to model it, sets out the four representations in a table, and carries the S-bend worked example with the split-versus-TI comparison and the series roadmap. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
The note asked "how do I put a fault in a mesh"; the reader's question is whether to. Leading with the free options — a shear band the rheology localises on its own, and a prescribed fault painted as a director the mesh never learns about — makes meshing a cost with a reason attached, and gives the four representations a spine, from the mesh knowing nothing to the mesh conforming and being cut. The comparison section is rewritten on the newer measurements: on a single strand the two representations converge, provided eta_1/w is what is held fixed rather than eta_1; at a junction they do not, and it is not resolution. A band can fork, two cuts cannot without sharing a node, so a cut network leaves an intact ligament that carries load. The band's junction conserves slip; the cut's is 25 to 40% short. Two TODO(LOUIS) markers left where the content is judgement rather than measurement: the thesis paragraph on what forces you up the ladder, and the practical rule for a network. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
Brings the branch up to date after 14 commits — the house-style checker, the outstanding report, analytics injection — and the note now passes check_style.py cleanly. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
The merge brought five tests the note had never been held to: it was unclassified, carried no discussion block, its archival PDF was unbranded, and three example scripts hard-coded a path under my home directory. The description also still described the old frame. The examples now take their output directory from SF_OUT, defaulting to the working directory, so they run wherever they are unpacked. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
The table listed them in no particular order. Ordered by what the mesh is asked to do — nothing, resolve, resolve, conform and cut — it becomes the answer to the title's question, and the width column reads across as the trade: physics for the first three, a mesh convenience for the last. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
Paragraphs, list items and figure captions are one line each. Front matter, tables, fenced blocks and the discussion block are untouched. The reflow was gated on the word sequence being identical before and after, so nothing was reworded. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
The note's anisotropic representations are not new machinery, and the draft introduced the painted director as if they were. Moresi and Mühlhaus formulate large-deformation Mohr-Coulomb failure as an orthotropic viscous rheology; Sharples and co-authors use the resulting anisotropic frictional rheology to study how rifts organise and how far apart their faults sit. Both cited by DOI, both verified to resolve in the built page's reference list. Author details taken from authors.yml rather than retyped. The article was also missing from the table of contents, so it had never built. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
He moved at the start of the year; the affiliation was transcribed from the JOSS paper, which predates the move. Corrected in authors.yml so every future note inherits it, with a comment saying why the JOSS paper disagrees, and in this note's two copies. The remaining Monash entry is John Mansour's, untouched. The JOSS citation on the how-to-cite page is a fixed published record and is also untouched. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
…ot a review The previous paragraph claimed the anisotropic rheology had been used to carry faults in convection models. It had not — those models mostly went the damage route — and the sentence was pulling the note toward localisation, which is the neighbouring argument rather than this one. Now four citations doing four jobs. Weak zones for plate margins since the 1980s (Davies), the same idea still carrying a subduction interface (Sandiford & Moresi), the directional version the band representations here use (Moresi & Mühlhaus), and the slippery-node precedent at the other end of the ladder (Zhong & Gurnis) — whose mesh was a hexahedral grid nudged towards the fault rather than conforming to it, which is the gap this series is about. All four verified by reading the built page's reference list, not by trusting the identifiers. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
Moresi and Muhlhaus give the rheology; Sharples and co-authors are where it is put to work on faults, which is the step this note's band representations inherit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
Three forward references removed: the band representations "below", the detail going "to the notes that follow", and a precedent at "the other end of the ladder" that pointed at a ladder the reader had not been shown. Each spent a sentence on scaffolding instead of on the argument. The separation of where the fault is from how it is modelled is the thesis of both Zhong & Gurnis and Sandiford & Moresi, so it is cited at the point it is stated rather than left as an assertion. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
…d the stress-and-slip figure from the rig, citations where the ideas are The four-representation table becomes three things and whether to mesh for them, with XFEM in the cell the split cannot fill. One three-panel anatomy figure (ribbon, painted band, split) on one bent mesh replaces the split figure; the geometry figure is regenerated from the rig with the Y, the en-echelon array and both stepovers; the comparison figure is cut against band at w = 0.005 on one stress and one slip scale, with the stepover closed to one element. Figures are named and cross-referenced; every figure has alt text. The precedent paragraphs dissolve into the sentences they support: Davies at plate boundaries as prior knowledge, Moresi & Muhlhaus at the TI ribbon, Zhong & Gurnis at the general cut, Yang et al. at the stress concentrations of the painted band. Generating scripts for every figure ship in examples/. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
Panel order now follows the table's columns — the mesh untouched, then the mesh made to conform, then the cut — with caption, alt text and the prose references swapped to match. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
MyST renders every markdown table as tablex(..tableStyle, ..columnStyle) with both dictionaries empty in its generated import, so the PDF template shadows them after that import: horizontal hairlines and no verticals, the header row filled in the theme blue with light sans text, the body at 9pt, the table centred. static/uwtn.css carries the same design to the site for both colour schemes. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
The geometry figure at 60%, the anatomy at 72%, the stress-and-slip panel at 64%; nine pages become seven and no figure takes a page alone. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
Status published, the date set, and the ten figures and scripts the note no longer references removed, so figures/ holds exactly the three it uses and examples/ exactly their generators. The deposit waits for the sibling notes' DOIs, to be cited inline at 1.1.0. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
The preview failed on CI because doi.org would not answer for one DOI or another on the runner — Zhong & Gurnis and Sandiford & Moresi on 2026-09-11, Yang et al. on 2026-09-18 — and MyST then produced no PDF. The repository's rule already covers it: resolve once, pin the BibTeX beside the article, cite by key, so the build never depends on doi.org answering. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
…he concurrent PDF build Typst downloads a package into a per-user cache on first import, MyST compiles the archival PDFs concurrently, and a CI runner's cache is always cold — so every compile that starts together downloads the same package into the same directory and the losers die. Two contenders got away with it; when the template began importing @preview/tablex for the house table style every article became one, and four PDFs died on the first cold runner (PR #54). The serial first-target build was not warming the cache in either run. The packages the template imports are read from the template files and compiled from a stub, serially, before MyST starts. Verified on a cold cache via TYPST_PACKAGE_CACHE_PATH. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
Contributor
|
Preview Or the whole site. Built from |
eta_1 is defined where the TI rheology is first described — the second, smaller viscosity for shear on the fault plane, against the background eta_0 — and every occurrence is now the symbol rather than its python spelling, in the prose, both tables and the figure caption. The bottom row of the comparison figure had no text: two collinear segments butted end to end with one element between them, which the cut cannot close and the band does. Underworld development team with AI support from Claude Code Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UWTN 2026-017, Louis Moresi and Thyagarajulu Gollapalli. The frame the fault series hangs on: why a fault is not a shear band, the three implementations Underworld3 offers (weak zone, weak zone with a direction, cut) and whether to mesh for each, and where the band and the cut agree — on a strand, provided
eta_1/wis held — and where they cannot: at a junction, and at a stepover closed to one element.Publish now; hold the deposit. The sibling notes are in preparation and this one will cite them inline by DOI at 1.1.0, which is when it should be deposited. Leave the "Deposit:" pull request that
deposit-readyopens after this merge unmerged until then.Also in this branch, as its own commit (937ea50): the house table style — every markdown table centred, horizontal hairlines only, header row in the theme blue — in the PDF template and the site CSS. It lands with the note.
Three figures, all with alt text and generating scripts in
examples/; the comparison figure comes from the S-fault rig inuw3-fault-workflows. Seven pages.Underworld development team with AI support from Claude Code
🤖 Generated with Claude Code
https://claude.ai/code/session_01RzK7JXSxsc2GoG7TGnQgUS