public class EcksteinHechlerPropagator extends AbstractPropagator implements MeanOsculatingElementsProvider
SpacecraftState
using the
analytical Eckstein-Hechler model.
The Eckstein-Hechler model is suited for near circular orbits (e < 0.1, with poor accuracy between 0.005 and 0.1) and inclination neither equatorial (direct or retrograde) nor critical (direct or retrograde).
Orbit
,
Serialized FormMASS
EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE
Constructor and Description |
---|
EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProvForces,
AttitudeProvider attitudeProvEvents,
double referenceRadiusIn,
double muIn,
Frame frame,
double c20In,
double c30In,
double c40In,
double c50In,
double c60In,
MassProvider massProvider,
ParametersType paramsType)
Build a propagator from orbit, attitude provider, mass and potential.
|
EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProvForces,
AttitudeProvider attitudeProvEvents,
double referenceRadiusIn,
double muIn,
Frame frame,
double c20In,
double c30In,
double c40In,
double c50In,
double c60In,
ParametersType paramsType)
Build a propagator from orbit, attitude provider for forces and events computation and
potential.
|
EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double referenceRadiusIn,
double muIn,
Frame frame,
double c20In,
double c30In,
double c40In,
double c50In,
double c60In,
MassProvider massProvider,
ParametersType paramsType)
Build a propagator from orbit, attitude provider, mass and potential.
|
EcksteinHechlerPropagator(Orbit initialOrbit,
AttitudeProvider attitudeProv,
double referenceRadiusIn,
double muIn,
Frame frame,
double c20In,
double c30In,
double c40In,
double c50In,
double c60In,
ParametersType paramsType)
Build a propagator from orbit, attitude provider and potential.
|
EcksteinHechlerPropagator(Orbit initialOrbit,
double referenceRadiusIn,
double muIn,
Frame frame,
double c20In,
double c30In,
double c40In,
double c50In,
double c60In,
MassProvider massProvider,
ParametersType paramsType)
Build a propagator from orbit, mass and potential.
|
EcksteinHechlerPropagator(Orbit initialOrbit,
double referenceRadiusIn,
double muIn,
Frame frame,
double c20In,
double c30In,
double c40In,
double c50In,
double c60In,
ParametersType paramsType)
Build a propagator from orbit and potential.
|
Modifier and Type | Method and Description |
---|---|
Orbit |
mean2osc(Orbit orbit)
Convert provided mean orbit into osculating elements.
|
Orbit |
osc2mean(Orbit orbit)
Convert provided osculating orbit into mean elements.
|
Orbit |
propagateMeanOrbit(AbsoluteDate date)
Propagate mean orbit until provided date.
|
Orbit |
propagateOrbit(AbsoluteDate date)
Extrapolate an orbit up to a specific target date.
|
void |
resetInitialState(SpacecraftState state)
Reset the propagator initial state.
|
static void |
setThreshold(double newThreshold)
Setter for osculating to mean conversion relative convergence threshold.
|
acceptStep, addAdditionalStateProvider, addAdditionalStateProvider, addEventDetector, basicPropagate, clearEventsDetectors, getAttitudeProvider, getAttitudeProviderEvents, getAttitudeProviderForces, getEventsDetectors, getFrame, getGeneratedEphemeris, getInitialState, getMode, getPVCoordinates, getPvProvider, getSpacecraftState, manageStateFrame, propagate, propagate, setAttitudeProvider, setAttitudeProviderEvents, setAttitudeProviderForces, setEphemerisMode, setMasterMode, setMasterMode, setOrbitFrame, setSlaveMode, setStartDate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getNativeFrame
public EcksteinHechlerPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, Frame frame, double c20In, double c30In, double c40In, double c50In, double c60In, ParametersType paramsType) throws PropagationException
Mass and attitude provider are set to null value.
The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:
Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½
Cn,0
Cn,0 = -Jn
initialOrbit
- initial orbitreferenceRadiusIn
- reference radius of the Earth for the potential model (m)muIn
- central attraction coefficient (m3/s2) used for propagationframe
- Inertial or quasi-inertial frame in which the model is supposed valid, the Z axis of the frame being the
polar axis of the bodyc20In
- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30In
- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40In
- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50In
- un-normalized zonal coefficient (about +2.28e-7 for Earth)c60In
- un-normalized zonal coefficient (about -5.41e-7 for Earth)paramsType
- parameters type (mean or osculating)PropagationException
- if the mean parameters cannot be computed or coefficients
frame is not inertialConstants
,
ParametersType
public EcksteinHechlerPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, Frame frame, double c20In, double c30In, double c40In, double c50In, double c60In, MassProvider massProvider, ParametersType paramsType) throws PropagationException
Attitude law is set to null value.
The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:
Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½
Cn,0
Cn,0 = -Jn
initialOrbit
- initial orbitreferenceRadiusIn
- reference radius of the Earth for the potential model (m)muIn
- central attraction coefficient (m3/s2) used for propagationframe
- Inertial or quasi-inertial frame in which the model is supposed valid, the Z axis of the frame being the
polar axis of the bodyc20In
- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30In
- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40In
- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50In
- un-normalized zonal coefficient (about +2.28e-7 for Earth)c60In
- un-normalized zonal coefficient (about -5.41e-7 for Earth)massProvider
- spacecraft mass providerparamsType
- parameters type (mean or osculating)PropagationException
- if the mean parameters cannot be computed or coefficients
frame is not inertialpublic EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double referenceRadiusIn, double muIn, Frame frame, double c20In, double c30In, double c40In, double c50In, double c60In, ParametersType paramsType) throws PropagationException
Mass is set to null value.
The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:
Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½
Cn,0
Cn,0 = -Jn
initialOrbit
- initial orbitattitudeProv
- attitude providerreferenceRadiusIn
- reference radius of the Earth for the potential model (m)muIn
- central attraction coefficient (m3/s2) used for propagationframe
- Inertial or quasi-inertial frame in which the model is supposed valid, the Z axis of the frame being the
polar axis of the bodyc20In
- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30In
- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40In
- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50In
- un-normalized zonal coefficient (about +2.28e-7 for Earth)c60In
- un-normalized zonal coefficient (about -5.41e-7 for Earth)paramsType
- parameters type (mean or osculating)PropagationException
- if the mean parameters cannot be computed or coefficients
frame is not inertialpublic EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProvForces, AttitudeProvider attitudeProvEvents, double referenceRadiusIn, double muIn, Frame frame, double c20In, double c30In, double c40In, double c50In, double c60In, ParametersType paramsType) throws PropagationException
Mass is set to an unspecified non-null arbitrary value.
The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:
Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½
Cn,0
Cn,0 = -Jn
initialOrbit
- initial orbitattitudeProvForces
- attitude provider for forces computationattitudeProvEvents
- attitude provider for events computationreferenceRadiusIn
- reference radius of the Earth for the potential model (m)muIn
- central attraction coefficient (m3/s2) used for propagationframe
- Inertial or quasi-inertial frame in which the model is supposed valid, the Z axis of the frame being the
polar axis of the bodyc20In
- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30In
- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40In
- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50In
- un-normalized zonal coefficient (about +2.28e-7 for Earth)c60In
- un-normalized zonal coefficient (about -5.41e-7 for Earth)paramsType
- parameters type (mean or osculating)PropagationException
- if the mean parameters cannot be computed or coefficients
frame is not inertialpublic EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProv, double referenceRadiusIn, double muIn, Frame frame, double c20In, double c30In, double c40In, double c50In, double c60In, MassProvider massProvider, ParametersType paramsType) throws PropagationException
The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:
Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½
Cn,0
Cn,0 = -Jn
initialOrbit
- initial orbitattitudeProv
- attitude providerreferenceRadiusIn
- reference radius of the Earth for the potential model (m)muIn
- central attraction coefficient (m3/s2) used for propagationframe
- Inertial or quasi-inertial frame in which the model is supposed valid, the Z axis of the frame being the
polar axis of the bodyc20In
- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30In
- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40In
- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50In
- un-normalized zonal coefficient (about +2.28e-7 for Earth)c60In
- un-normalized zonal coefficient (about -5.41e-7 for Earth)massProvider
- spacecraft mass providerparamsType
- parameters type (mean or osculating)PropagationException
- if the mean parameters cannot be computed or coefficients
frame is not inertialpublic EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeProvider attitudeProvForces, AttitudeProvider attitudeProvEvents, double referenceRadiusIn, double muIn, Frame frame, double c20In, double c30In, double c40In, double c50In, double c60In, MassProvider massProvider, ParametersType paramsType) throws PropagationException
The Cn,0 coefficients are the denormalized zonal coefficients, they are related to both the normalized coefficients Cn,0 and the Jn one as follows:
Cn,0 = [(2-δ0,m)(2n+1)(n-m)!/(n+m)!]½
Cn,0
Cn,0 = -Jn
initialOrbit
- initial orbitattitudeProvForces
- attitude provider for forces computationattitudeProvEvents
- attitude provider for events computationreferenceRadiusIn
- reference radius of the Earth for the potential model (m)muIn
- central attraction coefficient (m3/s2) used for propagationframe
- Inertial or quasi-inertial frame in which the model is supposed valid, the Z axis of the frame being the
polar axis of the bodyc20In
- un-normalized zonal coefficient (about -1.08e-3 for Earth)c30In
- un-normalized zonal coefficient (about +2.53e-6 for Earth)c40In
- un-normalized zonal coefficient (about +1.62e-6 for Earth)c50In
- un-normalized zonal coefficient (about +2.28e-7 for Earth)c60In
- un-normalized zonal coefficient (about -5.41e-7 for Earth)massProvider
- spacecraft mass providerparamsType
- parameters typePropagationException
- if the mean parameters cannot be computed or coefficients
frame is not inertialpublic void resetInitialState(SpacecraftState state) throws PropagationException
resetInitialState
in interface Propagator
resetInitialState
in class AbstractPropagator
state
- new initial state to considerPropagationException
- if initial state cannot be resetpublic Orbit propagateOrbit(AbsoluteDate date) throws PropagationException
propagateOrbit
in class AbstractPropagator
date
- target date for the orbitPropagationException
- if some parameters are out of boundspublic Orbit propagateMeanOrbit(AbsoluteDate date) throws PatriusException
propagateMeanOrbit
in interface MeanOsculatingElementsProvider
date
- a datePatriusException
- thrown if computation failedpublic Orbit osc2mean(Orbit orbit) throws PatriusException
Warning: Used algorithm often consists in an iterative algorithm with a convergence criterion. As a result convergence is not always ensured, depending on the underlying theory.
osc2mean
in interface MeanOsculatingElementsProvider
orbit
- an orbit (osculating elements)PatriusException
- if conversion failspublic Orbit mean2osc(Orbit orbit) throws PatriusException
mean2osc
in interface MeanOsculatingElementsProvider
orbit
- an orbit (mean elements)PatriusException
- if conversion failspublic static void setThreshold(double newThreshold)
newThreshold
- new threshold to setCopyright © 2023 CNES. All rights reserved.