Open
Labels
agent:waiting-stackAgent task stateAgent task state
Description
Add the Python VSM v2.3.0 circulation-loop safeguards and solvers Julia lacks
Python's base loop stops on non-finite circulation (#402 also proposes this), damps oscillation and has optional stagnation stops (stagnation_patience, stagnation_rtol). It also has an Anderson loop and a pseudo-transient exact-Jacobian Newton with fallback to the base loop; #113 declined Anderson because NONLIN already uses Newton, while #410 asks for all of Python's features, so say on the pull request what was kept out and why. Python's tests are tests/Solver/test_solver.py, test_gamma_loop_casadi_newton.py. Python's non_linear loop never runs Broyden (the import is missing), so that is not a feature to port. Build on the branch of the pull request for #410.
Metadata
Metadata
Assignees
Labels
agent:waiting-stackAgent task stateAgent task state
Activity
1-Bort-1 commentedon Nov 5, 2026
Adding Python v2.3.0's base-loop safeguards to the circulation loop (stop on non-finite circulation, oscillation damping, optional stagnation stops), with Python's solver tests ported, on top of #415 (the #410 branch).
Weighing Anderson and the pseudo-transient Newton against what NONLIN already does and porting what earns its place; whatever stays out is named on the pull request with the reason. Broyden is not a feature to port: Python's non_linear loop never runs it.
1-Bort-1 commentedon Nov 5, 2026
Waiting for #415. This branch is built on it, so the turn picks up again when its checks are green, or when it is no longer open.