Class DeepSDP4

  • All Implemented Interfaces:
    Propagator, PVCoordinatesProvider

    public class DeepSDP4
    extends TLEPropagator
    This class contains the methods that compute deep space perturbation terms.

    The user should not bother in this class since it is handled internaly by the TLEPropagator.

    This implementation is largely inspired from the paper and source code Revisiting Spacetrack Report #3 and is fully compliant with its results and tests cases.

    Author:
    Felix R. Hoots, Ronald L. Roehrich, December 1980 (original fortran), David A. Vallado, Paul Crawford, Richard Hujsak, T.S. Kelso (C++ translation and improvements), Fabien Maussion (java translation)
    • Field Detail

      • omgadf

        protected double omgadf
        New perigee argument.
      • xn

        protected double xn
        New mean motion.
      • xll

        protected double xll
        Parameter for xl computation.
      • em

        protected double em
        New eccentricity.
      • xinc

        protected double xinc
        New inclination.
    • Constructor Detail

      • DeepSDP4

        public DeepSDP4​(TLE initialTLE,
                        AttitudeProvider attitudeProvider,
                        double mass,
                        Frame teme)
        Constructor for a unique initial TLE.
        Parameters:
        initialTLE - the TLE to propagate.
        attitudeProvider - provider for attitude computation
        mass - spacecraft mass (kg)
        teme - the TEME frame to use for propagation.
        Since:
        10.1
    • Method Detail

      • luniSolarTermsComputation

        protected void luniSolarTermsComputation()
        Computes luni - solar terms from initial coordinates and epoch.
      • deepSecularEffects

        protected void deepSecularEffects​(double t)
        Computes secular terms from current coordinates and epoch.
        Parameters:
        t - offset from initial epoch (minutes)
      • deepPeriodicEffects

        protected void deepPeriodicEffects​(double t)
        Computes periodic terms from current coordinates and epoch.
        Parameters:
        t - offset from initial epoch (min)
      • sxpInitialize

        protected void sxpInitialize()
        Initialization proper to each propagator (SGP or SDP).
        Specified by:
        sxpInitialize in class TLEPropagator
      • sxpPropagate

        protected void sxpPropagate​(double tSince)
        Propagation proper to each propagator (SGP or SDP).
        Specified by:
        sxpPropagate in class TLEPropagator
        Parameters:
        tSince - the offset from initial epoch (minutes)
      • thetaG

        protected double thetaG​(AbsoluteDate date)
        Computes SPACETRACK#3 compliant earth rotation angle.
        Parameters:
        date - the current date
        Returns:
        the ERA (rad)