ODEData

class cubie.odesystems.ODEData(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], constants: SystemValues | None, parameters: SystemValues | None, initial_states: SystemValues, observables: SystemValues, num_drivers: int = 1, mass: Any = None)[source]

Bases: CUDAFactoryConfig

Bundle numerical values and metadata for an ODE system.

Parameters:
Returns:

Instance containing all values and derived sizes needed for CUDA compilation.

Return type:

ODEData

property beta: float

Return the cached solver shift parameter.

constants: SystemValues | None
classmethod from_BaseODE_initargs(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], initial_values: Dict[str, float] | None = None, parameters: Dict[str, float] | None = None, constants: Dict[str, float] | None = None, observables: Dict[str, float] | None = None, default_initial_values: Dict[str, float] | None = None, default_parameters: Dict[str, float] | None = None, default_constants: Dict[str, float] | None = None, default_observable_names: Dict[str, float] | None = None, num_drivers: int = 1) ODEData[source]

Create ODEData from BaseODE initialization arguments.

Parameters:
  • initial_values – Initial values for state variables.

  • parameters – Parameter values for the system.

  • constants – Constants that are not expected to change during simulation.

  • observables – Auxiliary variables to track during simulation.

  • default_initial_values – Default initial values if initial_values omits entries.

  • default_parameters – Default parameter values if parameters omits entries.

  • default_constants – Default constant values if constants omits entries.

  • default_observable_names – Default observable names if observables omits entries.

  • precision – Precision factory used for calculations. Defaults to numpy.float64.

  • num_drivers – Number of driver or forcing functions. Defaults to 1.

Returns:

Initialized data container suitable for CUDA compilation.

Return type:

ODEData

property gamma: float

Return the cached solver Jacobian weight.

initial_states: SystemValues
property mass: Any

Return the cached solver mass matrix.

property num_constants: int

Number of constants.

num_drivers: int
property num_observables: int

Number of observable variables.

property num_parameters: int

Number of parameters.

property num_states: int

Number of state variables.

observables: SystemValues
parameters: SystemValues | None
property sizes: SystemSizes

System component sizes grouped for CUDA kernels.

update_precisions(updates_dict)[source]

Update precision of all values in the ODEData instance.