This is not a flattened copy of the 3D scene. The 3D sim solves the Bingham profile only in the vertical direction and fakes the lateral (bank-to-bank) variation with a hand-picked parabolic multiplier. This 2D sim instead numerically solves the real governing PDE over the whole channel cross-section (x = lateral position, z = height above bed):
0 = ρg·sinθ + ∂/∂x(μ_eff ∂u/∂x) + ∂/∂z(μ_eff ∂u/∂z)
μ_eff(γ̇) = μ + (τ_y/γ̇)·(1 − e^(−m·γ̇)) [Papanastasiou regularization]
γ̇ = |∇u| (local shear-rate magnitude)
u = 0 on bed (z=0) and both banks (x=±W/2)
∂u/∂z = 0 at the free surface (z=h)
The regularization replaces the true rigid/yielded switch with a smooth apparent viscosity that grows huge (≈ μ + τy·m) wherever the local shear rate is tiny, and relaxes to μ where shear is strong — so a cell "locks up" into the plug purely because the PDE finds it energetically favorable, not because a formula told it to. The solver runs a Picard iteration: freeze μeff from the current velocity field, solve the resulting linear finite-volume system with over-relaxed line sweeps (an exact tridiagonal solve down each vertical column, swept bank to bank), recompute μeff, repeat to convergence.
- Far from the banks (x ≈ 0, wide W) this 2D solve converges to the same closed-form vertical profile the 3D sim uses — that's the physics check, not a coincidence.
- Near the banks, wall drag genuinely drops the local velocity to zero rather than being scaled by an ad-hoc factor — the stalled margin width you see is a real PDE output.
- The lower strip accretes a physical levee: wherever the converged surface velocity stays below 5% of the centerline peak, material is deposited there frame by frame, building the bank the way a real debris flow leaves natural-hazard deposits after repeated pulses.