BaseStepConfig

class cubie.integrators.algorithms.base_algorithm_step.BaseStepConfig(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], n: int = 1, n_drivers: int = 0, evaluate_f: Callable | None = None, evaluate_observables: Callable | None = None, evaluate_driver_at_t: Callable | None = None, get_solver_helper_fn: Callable | None = None)[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 (int) – Number of state entries advanced by each step call.

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

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

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

  • evaluate_driver_at_t (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.

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.

evaluate_driver_at_t: Callable | None
evaluate_f: Callable | None
evaluate_observables: 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
n: int
n_drivers: int
property settings_dict: Dict[str, object]

Return a mutable view of the configuration state.

property stage_count: int

Return the number of stages described by the tableau.