BackwardsEulerPCStep

Defaults

algorithm="backwards_euler_pc" inherits every default from BackwardsEulerStep — order 1, fixed-step control, and the shared Newton–Krylov solver settings (Default settings) — adding only an explicit forward-Euler predictor evaluated before the implicit corrector runs.

class cubie.integrators.BackwardsEulerPCStep(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], n_states: int, dxdt_fn: Callable | None = None, observables_fn: Callable | None = None, drivers_fn: Callable | None = None, get_solver_helper_fn: Callable | None = None, **kwargs)[source]

Bases: BackwardsEulerStep

Backward Euler with a predictor-corrector refinement.

build_step(dxdt_fn: Callable, observables_fn: Callable, drivers_fn: Callable | None, solver_function: Callable, numba_precision: type, n: int, n_drivers: int) StepCache[source]

Build the device function for the predictor-corrector scheme.

Parameters:
  • dxdt_fn – Device function for evaluating f(t, y).

  • observables_fn – Device function for computing observables.

  • drivers_fn – Optional device function for evaluating drivers at time t.

  • solver_function – Device function for the Newton-Krylov nonlinear solver.

  • numba_precision – Numba precision corresponding to the configured precision.

  • n – Dimension of the state vector.

  • n_drivers – Number of driver signals provided to the system.

Returns:

Container holding the compiled predictor-corrector step.

Return type:

StepCache