pylupnt.NumericalOrbitDynamics¶
- class pylupnt.NumericalOrbitDynamics¶
Numerically integrated orbit dynamics driven by an ODE right-hand side and an integrator.
- compute_rates(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: SupportsFloat | SupportsIndex, arg1: Annotated[numpy.typing.ArrayLike, numpy.float64, '[m, 1]']) Annotated[numpy.typing.NDArray[numpy.float64], '[m, 1]']¶
Evaluate the state derivative dx/dt at epoch t [s] and state x.
- get_time_step(self: pylupnt._pylupnt.NumericalOrbitDynamics) float¶
Return the integration time step [s].
- propagate(*args, **kwargs)¶
Overloaded function.
propagate(self: pylupnt._pylupnt.Dynamics, x0: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”], t0: Real, tf: Real, u: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”] = None) -> typing.Annotated[numpy.typing.NDArray[Real], “[m, 1]”]
Propagate state x0 from epoch t0 to tf [s]; u is an optional control input.
propagate(self: pylupnt._pylupnt.Dynamics, x0: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”], t0: Real, tf: Real, u: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”], stm: bool) -> object
Propagate x0 from t0 to tf [s]; if stm=True, also return the state transition matrix.
propagate(self: pylupnt._pylupnt.Dynamics, x0: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”], tfs: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”]) -> typing.Annotated[numpy.typing.NDArray[Real], “[m, n]”]
Propagate x0 to each output epoch in tfs [s], returning states as rows.
- propagate_stm(self: pylupnt._pylupnt.Dynamics, x0: Annotated[numpy.typing.ArrayLike, numpy.float64, '[m, 1]'], t0: SupportsFloat | SupportsIndex, tf: SupportsFloat | SupportsIndex) tuple¶
Propagate a numpy state vector [r; v] from t0 to tf, returning (state_tf, STM) as numpy arrays – convenient for a filter’s predict step authored in Python.
- propagate_stm_with_info(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: Annotated[numpy.typing.ArrayLike, Real, '[m, 1]'], arg1: Real, arg2: Real) object¶
Propagate x0 from t0 to tf [s], returning (state_tf, STM, TerminationInfo).
- propagate_with_info(*args, **kwargs)¶
Overloaded function.
propagate_with_info(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”], arg1: Real, arg2: Real) -> object
Propagate x0 from t0 to tf [s], returning (state_tf, TerminationInfo).
propagate_with_info(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”], arg1: Real, arg2: typing.Annotated[numpy.typing.ArrayLike, Real, “[m, 1]”]) -> object
Propagate x0 from t0 to each epoch in tf [s], returning (states, TerminationInfo).
- set_integrator(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: pylupnt._pylupnt.IntegratorType) None¶
Select the integrator type (see IntegratorType).
- set_integrator_params(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: pylupnt._pylupnt.IntegratorParams) None¶
Set integrator tolerances, iteration limit, and termination predicate.
- set_ode_function(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: std::function<Eigen::Matrix<double, -1, 1, 0, -1, 1> (double, Eigen: :Matrix<double, -1, 1, 0, -1, 1> const&)>) None¶
Set the ODE right-hand side f(t, x) -> dx/dt.
- set_print_progress(self: pylupnt._pylupnt.Dynamics, arg0: bool) None¶
Enable or disable a progress bar during multi-step propagation.
- set_time_step(self: pylupnt._pylupnt.NumericalOrbitDynamics, arg0: SupportsFloat | SupportsIndex) None¶
Set the integration time step [s].