pylupnt.J2KeplerianDynamics

class pylupnt.J2KeplerianDynamics

Numerical Keplerian dynamics with secular J2 perturbation.

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.

  1. 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.

  1. 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.

  1. 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.

  1. 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).

  1. 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].