Scope
Two coupled pieces of floodplain/valley realism, building on the v3 node-based unified solver (target: v3.1 realism milestone):
- Transient valley widening / narrowing — valley width
B becomes dynamic (B(x, t)) rather than the static set_B.
- Deposit tracking, incl. overbank — account for where sediment goes: channel-bed gravels vs. overbank/floodplain fines and a storage/stratigraphy layer. Naturally coupled to width change (valley fill vs. the channel thread).
Conservation (sediment budget)
The mass balance the feature must close (integrated Exner, solid volume):
d/dt ∫(1−λ_p)·B·z dx = Q_s,in − Q_s,out + ∫(1−λ_p)·U·B dx − L_fining + ∫(1−λ_p)·z·(dB/dt) dx
The last term — "valley-width storage and release" — is the new physics this issue adds and the term the current solver omits. A compute_sediment_budget() diagnostic (designed) reports channel_storage, overbank_storage, and cumulative_input, with the invariant Δ cumulative_input == Δ(channel_storage + overbank_storage).
Numerical substrate
Builds on volume-first conservation (#18): this work supplies the real valley-geometry V(z) map that the volume-first solver consumes, so dynamic B keeps BDF2 second-order and conservation exact without reintroducing the storage secant.
Related
🤖 Generated with Claude Code
Scope
Two coupled pieces of floodplain/valley realism, building on the v3 node-based unified solver (target: v3.1 realism milestone):
Bbecomes dynamic (B(x, t)) rather than the staticset_B.Conservation (sediment budget)
The mass balance the feature must close (integrated Exner, solid volume):
The last term — "valley-width storage and release" — is the new physics this issue adds and the term the current solver omits. A
compute_sediment_budget()diagnostic (designed) reportschannel_storage,overbank_storage, andcumulative_input, with the invariantΔ cumulative_input == Δ(channel_storage + overbank_storage).Numerical substrate
Builds on volume-first conservation (#18): this work supplies the real valley-geometry
V(z)map that the volume-first solver consumes, so dynamicBkeeps BDF2 second-order and conservation exact without reintroducing the storage secant.Related
🤖 Generated with Claude Code