BaseStepControllerConfig
- class cubie.integrators.step_control.base_step_controller.BaseStepControllerConfig(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], n_states: int = 1, mass_flags: Iterable | None = None, dt: float | None = None, timestep_memory_location: str = 'local', atol: float | ArrayLike = array([1.e-06]), rtol: float | ArrayLike = array([1.e-06]), *, jit_flags: JITFlags = NOTHING, unroll: UnrollFlags = NOTHING)[source]
Bases:
CUDAFactoryConfig,ABCConfiguration interface for step-size controllers.
- precision
Precision used for controller calculations.
- Type:
type[numpy.float16] | type[numpy.float32] | type[numpy.float64] | numpy.dtype[numpy.float16] | numpy.dtype[numpy.float32] | numpy.dtype[numpy.float64]
- n_states
Number of state variables controlled per step.
- Type:
- atol
Absolute tolerance vector. Adaptive controllers scale their error norms with it; every controller carries it so implicit algorithms can derive inner-solver tolerances from it.
- Type:
- rtol
Relative tolerance vector, carried on the same terms as
atol.- Type:
- mass_flags
Per-state mass-diagonal flags,
Truefor a differential row; defaults to allTrue.
- atol: ndarray
- abstract property dt: float
Return the initial step size used when integration starts.
- abstract property dt_max: float
Return the maximum supported step size.
- abstract property dt_min: float
Return the minimum supported step size.
- abstract property is_adaptive: bool
Return
Truewhen the controller adapts its step size.
- n_states: int
- rtol: ndarray
- timestep_memory_location: str
- property tol_length: int
Return the tolerance-array length for tol_converter.