Step control

cubie.integrators.step_control

The step control package encapsulates the configuration and compilation machinery used to build CUDA device functions that manage integrator time-step selection. Fixed, integral, proportional–integral, proportional–integral– derivative, and Gustafsson-style predictive controllers share a common configuration interface that feeds the cubie.CUDAFactory compilation pipeline.

Controller interfaces

Configuration objects

Dependencies

  • Relies on cubie.CUDAFactory for compile-time caching of CUDA device functions.

  • Requires Numba CUDA support during runtime to JIT the device controllers.

  • Pulls validators and clamp helpers from cubie._utils when building device functions.

Suggested controller parameters

The default proportional, integral, and derivative gains mirror the recommendations from Söderlind and Wang while matching the guidance in OrdinaryDiffEq.jl. Common choices include:

Controller

beta1

beta2

beta3

basic

1.00

0.00

0

PI42

0.60

-0.20

0

PI33

2/3

-1/3

0

PI34

0.70

-0.40

0

H211PI

1/6

1/6

0

H312PID

1/18

1/9

1/18