ODE systems

cubie.odesystems

The create_ODE_system() helper is the main entry point. It consumes symbolic sympy equations and creates SymbolicODE instances that inherit CUDA compilation behaviour from cubie.CUDAFactory. BaseODE sets the abstract requirements, and SymbolicODE is currently its concrete implementation. Base classes and data containers expose the precision-aware metadata required by integrator factories.

Subpackages

Core API

Data containers and caches

  • ODEData – captures compile-time metadata such as precision and state sizes.

  • SystemValues – runtime container for system-specific constants.

  • SystemSizes – records shape information for state and observable vectors.

  • ODECache – caches compiled device functions and solver helpers.

Dependencies

  • SymbolicODE subclasses cubie.CUDAFactory so integrator loops can request compiled CUDA device functions directly.

  • Precision handling relies on cubie._utils helpers and cubie.cuda_simsafe to provide simulator-safe coercions.

  • Generated kernels are consumed by cubie.integrators factories during loop construction.