madlib._satellite.ContinuousThrustSatellite¶
- class madlib._satellite.ContinuousThrustSatellite(epoch: float, pos: ndarray[Any, dtype[float64]], vel: ndarray[Any, dtype[float64]], acc: ndarray[Any, dtype[float64]] = array([0., 0., 0.]), maneuver_info: ContinuousManeuver | None = None, epoch_true: float | None = None, pos_true: ndarray[Any, dtype[float64]] | None = None, vel_true: ndarray[Any, dtype[float64]] | None = None, acc_true: ndarray[Any, dtype[float64]] | None = None, **kwargs)[source]¶
Satellite subclass for propagating an orbit that uses continuous thrust (i.e. ContinuousManeuver)
- __init__(epoch: float, pos: ndarray[Any, dtype[float64]], vel: ndarray[Any, dtype[float64]], acc: ndarray[Any, dtype[float64]] = array([0., 0., 0.]), maneuver_info: ContinuousManeuver | None = None, epoch_true: float | None = None, pos_true: ndarray[Any, dtype[float64]] | None = None, vel_true: ndarray[Any, dtype[float64]] | None = None, acc_true: ndarray[Any, dtype[float64]] | None = None, **kwargs)[source]¶
Instantiate a Satellite object.
- Parameters:
epoch (float) – Timestamp (MJD, UTC) indicating the time at which this orbital state is defined
pos (NDArray[np.float64]) – Vector describing the satellite position at epoch. Coordinate system is TETED. Units are km. Shape: (3,)
vel (NDArray[np.float64]) – Vector describing the satellite velocity at epoch. Coordinate system is TETED. Units are km/s. Shape: (3,)
acc (NDArray[np.float64], optional) – Vector describing the satellite anomalous acceleration at epoch. Coordinate system is TETED. Units are km/s/s. Shape: (3,), by default np.zeros((3,))
maneuver_info (Optional[ImpulsiveManeuver], optional) – Maneuver object describing when and how the satellite performs an impulsive maneuver, by default None
epoch_true (float | None, optional) – If not None, then this is the ACTUAL epoch of the orbit, and <epoch> is a reported value with some error. Units are MJD in UTC system. Default is None.
pos_true (NDArray[np.float64] | None, optional) – If not None, then this vector is the satellite’s ACTUAL position at epoch, and <pos> is a reported value with some error. Coordinate system is TETED. Units are km. Shape: (3,). Default is None.
vel_true (NDArray[np.float64] | None, optional) – If not None, then this vector is the satellite’s ACTUAL velocity at epoch, and <vel> is a reported value with some error. Coordinate system is TETED. Units are km/s. Shape: (3,). Default is None.
acc_true (NDArray[np.float64] | None, optional) – If not None, then this vector is the satellite’s ACTUAL anomalous acceleration at epoch, and <acc> is a reported value with some error. Coordinate system is TETED. Units are km/s/s. Shape: (3,). Default is None.
- Raises:
NotImplementedError – kwargs are not yet supported
Methods
__init__(epoch, pos, vel[, acc, ...])Instantiate a Satellite object.
copy()create_cross_tag(cross_mjd, delta_pos_km, ...)Create a satellite that will cross nearby this satellite, potentially creating a series of misattribution events.
from_GEO_longitude(lon, epoch)Create a Satellite in GEO at the given longitude
from_keplerian(epoch, inclination_rad, ...)Create a Satellite from Keplerian elements
propagate(times[, ignore_maneuvers, ...])Top level continuous thrust propagate method.
rv2rsw(r, v)Compute rotation matrix from ECI frame to RSW frame.
validate_input_vector(input_vector, input_name)Attributes
accacc_truedoes_maneuverepochepoch_truemaneuvervv_truexx_true