RKPropagator
- class ssapy.propagator.RKPropagator[source][source]
Bases:
Propagator
,ABC
Abstract base class for Runge-Kutta-based orbit propagators.
The RKPropagator class provides a framework for implementing orbit propagation using Runge-Kutta methods. Subclasses must override specific methods to define the propagation logic and interpolation behavior.
- Attributes:
- _minPoints (int): Minimum number of points required for interpolation.
This should be overridden by subclasses.
- Methods:
- _prop():
Abstract method that subclasses must implement to define the propagation logic.
- _getRVOne(orbit, tQuery):
Retrieves the position and velocity of an orbit at specified query times using interpolation.
- Args:
orbit (Orbit): The orbit object containing initial conditions and propagation settings. tQuery (numpy.ndarray): An array of times at which the position and velocity are queried.
- Returns:
- tuple: A tuple containing:
r (numpy.ndarray): Position vectors at the query times.
v (numpy.ndarray): Velocity vectors at the query times.
- Notes:
The _getRVOne method uses an interpolation cache to store computed states and times, minimizing redundant computations.
The Runge-Kutta propagation logic must be implemented in the _prop method by subclasses.
Spline interpolation is used for smooth querying of position and velocity data.
The container object caches the interpolant data, including times, states, and spline objects.
- Example:
Subclass implementation: