Class FieldDeepSDP4<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.propagation.FieldAbstractPropagator<T>
-
- org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator<T>
-
- org.orekit.propagation.analytical.tle.FieldTLEPropagator<T>
-
- org.orekit.propagation.analytical.tle.FieldDeepSDP4<T>
-
- Type Parameters:
T
- type of the field elements
- All Implemented Interfaces:
FieldPropagator<T>
,FieldPVCoordinatesProvider<T>
,ParameterDriversProvider
public class FieldDeepSDP4<T extends CalculusFieldElement<T>> extends FieldTLEPropagator<T>
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.
- Since:
- 11.0
- 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), Thomas Paulet (field translation)
-
-
Field Summary
Fields Modifier and Type Field Description protected T
em
New eccentricity.protected T
omgadf
New perigee argument.protected T
xinc
New inclination.protected T
xll
Parameter for xl computation.protected T
xn
New mean motion.-
Fields inherited from class org.orekit.propagation.analytical.tle.FieldTLEPropagator
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.FieldPropagator
DEFAULT_MASS
-
-
Constructor Summary
Constructors Constructor Description FieldDeepSDP4(FieldTLE<T> initialTLE, AttitudeProvider attitudeProvider, T mass, Frame teme, T[] parameters)
Constructor for a unique initial TLE.FieldDeepSDP4(FieldTLE<T> initialTLE, AttitudeProvider attitudeProvider, T mass, T[] parameters)
Constructor for a unique initial TLE.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
deepPeriodicEffects(T t)
Computes periodic terms from current coordinates and epoch.protected void
deepSecularEffects(T t)
Computes secular terms from current coordinates and epoch.protected void
luniSolarTermsComputation()
Computes luni - solar terms from initial coordinates and epoch.protected void
sxpInitialize(T[] parameters)
Initialization proper to each propagator (SGP or SDP).protected void
sxpPropagate(T tSince, T[] parameters)
Propagation proper to each propagator (SGP or SDP).protected double
thetaG(FieldAbsoluteDate<T> date)
Computes SPACETRACK#3 compliant earth rotation angle.-
Methods inherited from class org.orekit.propagation.analytical.tle.FieldTLEPropagator
getFrame, getMass, getMU, getParametersDrivers, getPVCoordinates, getTLE, propagateOrbit, resetInitialState, resetIntermediateState, selectExtrapolator, selectExtrapolator, selectExtrapolator, selectExtrapolator
-
Methods inherited from class org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventsDetectors, getPvProvider, propagate
-
Methods inherited from class org.orekit.propagation.FieldAbstractPropagator
addAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getField, getInitialState, getManagedAdditionalStates, getMultiplexer, getPVCoordinates, getStartDate, initializeAdditionalStates, initializePropagation, isAdditionalStateManaged, propagate, setAttitudeProvider, setStartDate, 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.FieldPropagator
clearStepHandlers, setStepHandler, setStepHandler
-
Methods inherited from interface org.orekit.utils.FieldPVCoordinatesProvider
getPosition
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Field Detail
-
omgadf
protected T extends CalculusFieldElement<T> omgadf
New perigee argument.
-
xn
protected T extends CalculusFieldElement<T> xn
New mean motion.
-
xll
protected T extends CalculusFieldElement<T> xll
Parameter for xl computation.
-
em
protected T extends CalculusFieldElement<T> em
New eccentricity.
-
xinc
protected T extends CalculusFieldElement<T> xinc
New inclination.
-
-
Constructor Detail
-
FieldDeepSDP4
@DefaultDataContext public FieldDeepSDP4(FieldTLE<T> initialTLE, AttitudeProvider attitudeProvider, T mass, T[] parameters)
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)parameters
- SGP4 and SDP4 model parameters- See Also:
FieldDeepSDP4(FieldTLE, AttitudeProvider, CalculusFieldElement, Frame, CalculusFieldElement[])
-
FieldDeepSDP4
public FieldDeepSDP4(FieldTLE<T> initialTLE, AttitudeProvider attitudeProvider, T mass, Frame teme, T[] parameters)
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.parameters
- SGP4 and SDP4 model parameters
-
-
Method Detail
-
luniSolarTermsComputation
protected void luniSolarTermsComputation()
Computes luni - solar terms from initial coordinates and epoch.
-
deepSecularEffects
protected void deepSecularEffects(T t)
Computes secular terms from current coordinates and epoch.- Parameters:
t
- offset from initial epoch (minutes)
-
deepPeriodicEffects
protected void deepPeriodicEffects(T t)
Computes periodic terms from current coordinates and epoch.- Parameters:
t
- offset from initial epoch (min)
-
sxpInitialize
protected void sxpInitialize(T[] parameters)
Initialization proper to each propagator (SGP or SDP).- Specified by:
sxpInitialize
in classFieldTLEPropagator<T extends CalculusFieldElement<T>>
- Parameters:
parameters
- model parameters
-
sxpPropagate
protected void sxpPropagate(T tSince, T[] parameters)
Propagation proper to each propagator (SGP or SDP).- Specified by:
sxpPropagate
in classFieldTLEPropagator<T extends CalculusFieldElement<T>>
- Parameters:
tSince
- the offset from initial epoch (minutes)parameters
- model parameters
-
thetaG
protected double thetaG(FieldAbsoluteDate<T> date)
Computes SPACETRACK#3 compliant earth rotation angle.- Parameters:
date
- the current date- Returns:
- the ERA (rad)
-
-