gemseo.algos.ode.ode_result module#

Result of an ODE problem.

class ODEResult(times, state_trajectories, n_func_evaluations, n_jac_evaluations, algorithm_has_converged, algorithm_name, algorithm_settings, algorithm_termination_message, terminal_event_index, terminal_event_state, terminal_event_time)[source]#

Bases: object

The result of the resolution of an ODE problem.

In the ODE \(\frac{d\mathbf{s}(t)}{dt}=f(t,\mathbf{s}(t))\), the right-hand side (RHS) function is noted \(f\) and the state variable at time \(t\) is noted \(\mathbf{s}(t)\in\mathbb{R}^d\).

Parameters:
  • times (RealArray)

  • state_trajectories (RealArray)

  • n_func_evaluations (int)

  • n_jac_evaluations (int)

  • algorithm_has_converged (bool)

  • algorithm_name (str)

  • algorithm_settings (dict[str, Any])

  • algorithm_termination_message (str)

  • terminal_event_index (int | None)

  • terminal_event_state (RealArray)

  • terminal_event_time (float)

algorithm_has_converged: bool#

Whether the algorithm has converged.

algorithm_name: str#

The name of the ODE solver.

algorithm_settings: dict[str, Any]#

The settings of the ODE solver.

algorithm_termination_message: str#

The termination message of the ODE solver.

n_func_evaluations: int#

The number of evaluations of the RHS function \(f\).

n_jac_evaluations: int#

The number of differentiations of the RHS function \(f\).

state_trajectories: RealArray#

The states at times \(t_1,\ldots,t_N\).

Shaped as (d,N) where d is the state dimension.

terminal_event_index: int | None#

The index of the event function responsible for the termination of the integration.

If None, the integration has been performed on the entire time interval without interruption.

terminal_event_state: RealArray#

The state at the instant of interruption of the integration in time.

If a terminal event occurs, it is the state during such occurrence. Otherwise, it is the state at the final time of integration.

terminal_event_time: float#

The time of interruption of the integration in time.

If a terminal event occurs, it is the time of such occurrence. Otherwise, it is the final time of integration.

times: RealArray#

The times \(t_1,\ldots,t_N\).