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 Details

    • 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 Details

    • DeepSDP4

      @DefaultDataContext public DeepSDP4(TLE initialTLE, AttitudeProvider attitudeProvider, double mass)
      Constructor for a unique initial TLE.

      This constructor uses the default data context.

      Parameters:
      initialTLE - the TLE to propagate.
      attitudeProvider - provider for attitude computation
      mass - spacecraft mass (kg)
      See Also:
    • 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 Details

    • 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)