Skip to content

Add non-autonomous stiff3 overload with dF/dx callback and regression test - #11

Draft
ivan-pi with Copilot wants to merge 8 commits into
mainfrom
copilot/add-non-autonomous-support
Draft

ivan-pi with Copilot wants to merge 8 commits into
mainfrom
copilot/add-non-autonomous-support

Conversation

Copilot AI commented May 7, 2026

Copy link
Copy Markdown
Contributor

stiff3 only exposed an autonomous API, while the underlying ROS4 approach supports non-autonomous systems. This change adds a second stiff3 interface variant for F(x,y) that also accepts ∂F/∂x, without disrupting existing autonomous call sites.

  • API extension (non-autonomous support)

    • Added an overloaded stiff3 procedure that accepts:
      • RHS: fun(n, x, y, f)
      • Jacobian wrt state: dfun(n, x, y, df)
      • Derivative wrt independent variable: dfdx(n, x, y, fx)
    • Preserved the current autonomous signature as-is.
  • Implementation approach

    • Added a non-autonomous wrapper in stiff3_solver that lifts the system to an augmented autonomous form and reuses the existing integrator path.
    • Added dedicated abstract callback interfaces for non-autonomous RHS/Jacobian and dF/dx.
  • Docs alignment

    • Updated README wording to reflect support for both autonomous and non-autonomous systems.
  • Regression coverage

    • Added test/nonautonomous.f90 using a scalar non-autonomous ODE with closed-form solution to exercise the new API shape and verify endpoint accuracy.
call stiff3(n, fun, jac, dfdx, out, nprint, x0, x1, h0, eps, w, y)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • dl.google.com
    • Triggering command: /usr/lib/apt/methods/https /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI linked an issue May 7, 2026 that may be closed by this pull request
Copilot AI and others added 7 commits May 7, 2026 16:12
Agent-Logs-Url: https://github.com/ivan-pi/stiff3/sessions/67f692d9-43f0-4337-94d3-193b5edcdf71

Co-authored-by: ivan-pi <21085643+ivan-pi@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for non-autonomous systems in ROS4 solver Add non-autonomous stiff3 overload with dF/dx callback and regression test May 7, 2026
Copilot finished work on behalf of ivan-pi May 7, 2026 16:19
Copilot AI requested a review from ivan-pi May 7, 2026 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Non-autonomous systems

2 participants