Skip to content

feat(gds-sim): continuous-time ODE integration support #122

@rororowyourboat

Description

@rororowyourboat

Problem

gds-sim only supports discrete-time simulation (timestep-based). Many dynamical systems — differential games, optimal control, continuous-time control theory — require continuous-time ODE solvers with adaptive step control.

Proposed Solution

Add a ContinuousModel to gds-sim wrapping scipy.solve_ivp:

  • ODE right-hand side function specification
  • Adaptive RK45/RK23 integration with configurable tolerances
  • Backward-time integration support (for reachable sets, adjoint equations)
  • Compatible with gds-psuu (Metric extraction from continuous results)

Motivation

The Homicidal Chauffeur notebook demonstrates a pursuit-evasion differential game that requires solve_ivp at rtol=1e-10. This class of problem cannot be approximated well with discrete timesteps.

Scope

  • ContinuousModel class with rhs function and time span
  • Integration backend using SciPy
  • ContinuousResults compatible with existing Results columnar storage
  • Backward integration via time reversal

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions