BaseStepConfig

class cubie.integrators.algorithms.base_algorithm_step.BaseStepConfig(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], n_states: int = 1, n_drivers: int = 0, is_adaptive: bool = True, dxdt_fn: Callable | None = None, observables_fn: Callable | None = None, drivers_fn: Callable | None = None, get_solver_helper_fn: Callable | None = None, tableau: ButcherTableau | None = None, *, jit_flags: JITFlags = NOTHING, unroll: UnrollFlags = NOTHING)[source]

Bases: CUDAFactoryConfig, ABC

Configuration shared by explicit and implicit integration steps.

Parameters:
  • precision (type[numpy.float16] | type[numpy.float32] | type[numpy.float64] | numpy.dtype[numpy.float16] | numpy.dtype[numpy.float32] | numpy.dtype[numpy.float64]) – Numerical precision to apply to device buffers. Supported values are float16, float32, and float64.

  • n_states (int) – Number of state entries advanced by each step call.

  • n_drivers (int) – Number of external driver signals consumed by the step (>= 0).

  • is_adaptive (bool) – Whether the step controller is adaptive.

  • dxdt_fn (Callable | None) – Device function that evaluates the system right-hand side f(t, y).

  • observables_fn (Callable | None) – Device function that evaluates the system observables.

  • drivers_fn (Callable | None) – Device function that evaluates driver arrays for a given time t.

  • get_solver_helper_fn (Callable | None) – Optional callable that returns device helpers required by the nonlinear solver construction.

  • tableau (cubie.integrators.algorithms.base_algorithm_step.ButcherTableau | None) – Butcher tableau of the method; None on tableau-less steps.

property can_reuse_accepted_start: bool

Return True when the accepted state seeds the next proposal.

Returns False when the algorithm is not tableau-based.

drivers_fn: Callable | None
dxdt_fn: Callable | None
property first_same_as_last: bool

Return True when the first and last stages align.

Returns False when the algorithm is not tableau-based.

get_solver_helper_fn: Callable | None
is_adaptive: bool
n_drivers: int
n_states: int
observables_fn: Callable | None
property stage_count: int

Return the number of stages described by the tableau.

tableau: ButcherTableau | None