hydromodpy.solver.boussinesq.runtimes.scipy_sparse#

SciPy sparse-linear-algebra runtime for the Boussinesq backend.

This backend keeps the same damped Newton strategy as the historical dense runtime, but changes how each Newton system is assembled and solved:

  • the smooth residual blocks use a semi-analytic sparse Jacobian;

  • the saturation-excess block keeps a graph-colored finite-difference correction because it still contains the least smooth operators;

  • the resulting sparse linear system is solved with scipy.sparse.linalg.

That makes this runtime a practical intermediate step between the original dense prototypes and a later fully analytic or PETSc-based backend.

Functions

solve_steady_problem(inputs)

Solve one steady nonlinear balance with sparse Newton iterations.

solve_transient_step(inputs)

Solve one transient implicit step with sparse Newton iterations.