Skip to content

Add the Python VSM v2.3.0 circulation-loop safeguards and solvers... #412

Open

Description

@1-Bort-1

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.

Activity

  1. self-assigned this
    on Nov 5, 2026
  2. 1-Bort-1 commented on Nov 5, 2026

    @1-Bort-1
    MemberAuthor

    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.

  3. 1-Bort-1 commented on Nov 5, 2026

    @1-Bort-1
    MemberAuthor

    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.

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions