Skip to content

Sand-bed conductance singularity at S→0 — may be capped by the hydraulic-radius correction + competence self-arrest (cf. GRLP #20) #1

Description

@awickert

Summary (hypothesis)

The sand-bed sediment conductance diverges as S → 0 (∝ S^(p−1) = S^(−1/6)).
The hydraulic-radius reframing + competence-limited self-arrest developed for
GRLP — full derivation in MNiMORPH/GRLP#20
(MNiMORPH/GRLP#20) — may cap this divergence,
converting it into a physical Q_s → 0 shutoff. But a quick estimate suggests
the self-arrest onset overlaps realistic lowland sand-bed slopes, so this is not
obviously a free fix — it needs derivation and testing.

The singularity

In fluvtree/alluvial_core/closures.py, SandClosure:

  • conductance_exponent = -1/6 → the implicit sediment-flux conductance goes as
    S^(−1/6) → ∞ as S → 0.
  • channel_depth(S) = (1+ε)·τ_crit_bank / (ρg·S)∝ 1/S → ∞ as S → 0.

The connection to GRLP #20

GRLP #20's finding: the length the shear/threshold closure returns and calls
"depth" is actually the hydraulic radius R_h; the true flow depth differs,
and the width b from continuity (∝ Q·S^(7/6)) is really the wetted
perimeter. The correction is a single linear cofactor f = R_h/h_true
applied to Q_s = q_s·b, plus a competence-limited self-arrest at the
narrow-channel limit.

Sand's channel_depth = (1+ε)·τ_crit_bank/(ρg·S) has the identical ∝1/S
bank-shear-closure form
— so it too is R_h, not the true flow depth, and the
same reframing/cofactor/self-arrest apply.

Mechanism at S → 0 (sand): R_h ∝ 1/S → ∞ while width b ∝ S^(7/6) → 0,
so b/R_h ∝ Q·S^(13/6) → 0, dropping below the existence floor b ≥ 8·R_h. The
channel can no longer hold the bank-shear threshold → competence-limited
self-arrest → Q_s → 0
, which caps the S^(−1/6) conductance divergence
before it reaches S = 0. That is the sense in which #20 may resolve the
singularity.

Caveat — why this may not be a clean fix

Rough estimate of the self-arrest onset slope S_min (existence floor
b = 8·R_h; sand constants n = 0.02, τ_crit_bank = 210test values):

Q (m³/s) S_min (τ_c=2) S_min (τ_c=10)
1 5.7×10⁻⁴ 4.1×10⁻³
100 6.8×10⁻⁵ 4.9×10⁻⁴
10000 8.1×10⁻⁶ 5.9×10⁻⁵

Realistic lowland sand-bed slopes are ~10⁻⁴–10⁻⁵, so these overlap. The
correction would therefore change real low-gradient sand reaches, not merely
remove the numerical singularity at S = 0. Whether that is physically correct
(real low-gradient sand transport genuinely is competence/supply-limited) or an
artifact of porting gravel-derived geometry to sand is the open question.
(Numbers preliminary: test-value constants and the gravel-derived 8·R_h floor.)

To investigate / do

  • Port the R_h naming + cofactor + self-arrest from GRLP #20 to SandClosure,
    re-deriving the sand-specific constants (Manning n, τ_crit_bank).
  • Derive the sand existence floor / Q_min / onset S_min properly — the
    gravel quadratic geometry may not carry over unchanged (sand width closure
    is bank-cohesion, not grain-threshold).
  • Test conductance behaviour near S = 0 with/without the correction;
    confirm it caps the S^(−1/6) divergence.
  • Check the impact on realistic lowland sand-bed slopes — is the self-arrest
    onset physical, or an artifact to be pushed below the realistic range?

Reference

Full derivation, numerical verification, gravel implementation plan, and the
b = A/R_h = P identity: MNiMORPH/GRLP#20
(MNiMORPH/GRLP#20).

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions