Self-formed river-bank solvers and optimizers — the Parker-width solution set. Given the
rayisovel boundary-shear engine, solve for the
equilibrium bank shape of gravel (Coulomb/repose) and cohesive (erosion-strength) banks,
the wide-channel window, and the optimized mud-bank shape.
Extracted from the Parker-1978-revisited work (MNiMORPH/gravel-stress-parker), which holds the full development history.
Needs rayisovel + its dolfinx/conda stack:
conda create -n fenicsx-env -c conda-forge python=3.12 fenics-dolfinx mpich scipy numpy
conda run -n fenicsx-env pip install -e . # pulls rayisovel from git
import parker_banks as pb
R = pb.solve_window(tau_c0=64.0, bed_bh=8.0) # wide-channel window: self-formed cohesive bank
G = pb.build_parker(A_asp=15.0, Dc=1.0) # Parker cosine channelbank_threshold— repose/threshold relations (Parker Eq. 7)parker_eulerian(build_parker),dolfinx_parker(Eq. 28) — Parker channel & analytic shapeselfformed_gravel/shields/cohesive/window/undercut— self-formed bank solversmud_optimal— mud-bank shape optimizer
conda run -n fenicsx-env pip install -e .[test] # pulls rayisovel from git
conda run -n fenicsx-env pytest -q
Verifies the rayisovel dependency is present and used, the solver API, bank-threshold values,
and that the self-formed-bank pipeline runs end-to-end through the engine (-m "not slow" to skip the solver smoke).