Class DeepSDP4
- java.lang.Object
-
- org.orekit.propagation.AbstractPropagator
-
- org.orekit.propagation.analytical.AbstractAnalyticalPropagator
-
- org.orekit.propagation.analytical.tle.TLEPropagator
-
- org.orekit.propagation.analytical.tle.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 Summary
Fields Modifier and Type Field Description protected double
em
New eccentricity.protected double
omgadf
New perigee argument.protected double
xinc
New inclination.protected double
xll
Parameter for xl computation.protected double
xn
New mean motion.-
Fields inherited from class org.orekit.propagation.analytical.tle.TLEPropagator
a, a0dp, beta0, beta02, c1, c2, c4, coef, coef1, cosi0, e, e0sq, eeta, eta, etasq, i, omega, omgdot, perige, s4, sini0, t2cof, theta2, tle, tsi, utc, xl, xmdot, xn0dp, xnodcf, xnode, xnodot
-
Fields inherited from interface org.orekit.propagation.Propagator
DEFAULT_MASS
-
-
Constructor Summary
Constructors Constructor Description DeepSDP4(TLE initialTLE, AttitudeProvider attitudeProvider, double mass)
Constructor for a unique initial TLE.DeepSDP4(TLE initialTLE, AttitudeProvider attitudeProvider, double mass, Frame teme)
Constructor for a unique initial TLE.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
deepPeriodicEffects(double t)
Computes periodic terms from current coordinates and epoch.protected void
deepSecularEffects(double t)
Computes secular terms from current coordinates and epoch.protected void
luniSolarTermsComputation()
Computes luni - solar terms from initial coordinates and epoch.protected void
sxpInitialize()
Initialization proper to each propagator (SGP or SDP).protected void
sxpPropagate(double tSince)
Propagation proper to each propagator (SGP or SDP).protected double
thetaG(AbsoluteDate date)
Computes SPACETRACK#3 compliant earth rotation angle.-
Methods inherited from class org.orekit.propagation.analytical.tle.TLEPropagator
createHarvester, getDefaultTleGenerationAlgorithm, getFrame, getJacobiansColumnsNames, getMass, getMU, getPVCoordinates, getTLE, propagateOrbit, resetInitialState, resetIntermediateState, selectExtrapolator, selectExtrapolator, selectExtrapolator, selectExtrapolator
-
Methods inherited from class org.orekit.propagation.analytical.AbstractAnalyticalPropagator
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getPvProvider, propagate
-
Methods inherited from class org.orekit.propagation.AbstractPropagator
addAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getHarvester, getInitialState, getManagedAdditionalStates, getMultiplexer, getPVCoordinates, getStartDate, initializeAdditionalStates, initializePropagation, isAdditionalStateManaged, propagate, setAttitudeProvider, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.Propagator
clearStepHandlers, setStepHandler, setStepHandler
-
Methods inherited from interface org.orekit.utils.PVCoordinatesProvider
getPosition
-
-
-
-
Constructor Detail
-
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 computationmass
- spacecraft mass (kg)- See Also:
DeepSDP4(TLE, AttitudeProvider, double, Frame)
-
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 computationmass
- 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 classTLEPropagator
-
sxpPropagate
protected void sxpPropagate(double tSince)
Propagation proper to each propagator (SGP or SDP).- Specified by:
sxpPropagate
in classTLEPropagator
- 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)
-
-