cubie.systemmodels.systems.ODEData

Classes

ODEData(constants, parameters, ...)

Data structure to hold ODE system parameters and initial states.

SystemSizes(states, observables, parameters, ...)

Data structure to hold the sizes of various components of a system.

class cubie.systemmodels.systems.ODEData.ODEData(constants: ~cubie.systemmodels.SystemValues.SystemValues | None, parameters: ~cubie.systemmodels.SystemValues.SystemValues | None, initial_states: ~cubie.systemmodels.SystemValues.SystemValues, observables: ~cubie.systemmodels.SystemValues.SystemValues, precision: type = <class 'numpy.float32'>, num_drivers: int = 1)[source]

Bases: object

Data structure to hold ODE system parameters and initial states.

Parameters:
  • constants (SystemValues, optional) – System constants that do not change during simulation.

  • parameters (SystemValues, optional) – System parameters that can change during simulation.

  • initial_states (SystemValues) – Initial state values for the ODE system.

  • observables (SystemValues) – Observable variables to track during simulation.

  • precision (type, optional) – Data type for numerical calculations, by default float32.

  • num_drivers (int, optional) – Number of driver/forcing functions, by default 1.

constants: SystemValues | None
classmethod from_genericODE_initargs(initial_values=None, parameters=None, constants=None, observables=None, default_initial_values=None, default_parameters=None, default_constants=None, default_observable_names=None, precision=<class 'numpy.float64'>, num_drivers=1)[source]

Create ODEData from GenericODE initialization arguments.

Parameters:
  • initial_values (dict, optional) – Initial values for state variables.

  • parameters (dict, optional) – Parameter values for the system.

  • constants (dict, optional) – Constants that are not expected to change during simulation.

  • observables (dict, optional) – Auxiliary variables to track during simulation.

  • default_initial_values (dict, optional) – Default initial values if not provided in initial_values.

  • default_parameters (dict, optional) – Default parameter values if not provided in parameters.

  • default_constants (dict, optional) – Default constant values if not provided in constants.

  • default_observable_names (dict, optional) – Default observable names if not provided in observables.

  • precision (numpy.dtype, optional) – Precision to use for calculations, by default np.float64.

  • num_drivers (int, optional) – Number of driver/forcing functions, by default 1.

Returns:

Initialized ODEData object.

Return type:

ODEData

initial_states: SystemValues
property num_constants

Get the number of constants.

Returns:

Number of constants.

Return type:

int

num_drivers: int
property num_observables

Get the number of observable variables.

Returns:

Number of observable variables.

Return type:

int

property num_parameters

Get the number of parameters.

Returns:

Number of parameters.

Return type:

int

property num_states

Get the number of state variables.

Returns:

Number of state variables.

Return type:

int

observables: SystemValues
parameters: SystemValues | None
precision: type
property sizes

Get system sizes.

Returns:

Object containing sizes for all system components.

Return type:

SystemSizes

class cubie.systemmodels.systems.ODEData.SystemSizes(states: int, observables: int, parameters: int, constants: int, drivers: int)[source]

Bases: object

Data structure to hold the sizes of various components of a system.

Parameters:
  • states (int) – Number of state variables in the system.

  • observables (int) – Number of observable variables in the system.

  • parameters (int) – Number of parameters in the system.

  • constants (int) – Number of constants in the system.

  • drivers (int) – Number of driver variables in the system.

Notes

This is used to pass size information to the ODE solver kernel.

constants: int
drivers: int
observables: int
parameters: int
states: int