public abstract class AbstractLyddanePropagator extends AbstractPropagator implements MeanOsculatingElementsProvider
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractLyddanePropagator.LyddaneParametersType
Lyddane parameters types.
|
static class |
AbstractLyddanePropagator.SubModel
Enumerate that indicates how we deal with eccentricity
DEFAULT : Used only for the first call of propagateOrbit in computeSecular to compute ecc model
LOW_ECC : Used to keep low ecc model if computed during first call
HIGH_ECC : Used to keep high ecc model if computed during first call
|
| Modifier and Type | Field and Description |
|---|---|
protected Orbit |
secularOrbitIn
Secular orbit.
|
MASSEPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE| Modifier | Constructor and Description |
|---|---|
protected |
AbstractLyddanePropagator(Orbit secularOrbit,
double referenceRadiusIn,
double muIn,
double c20In,
double c30In,
double c40In,
double c50In,
Frame frameIn,
ParametersType parametersTypeIn,
AttitudeProvider attitudeProvForces,
AttitudeProvider attitudeProvEvents,
MassProvider massProvider)
Generic constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected Orbit |
computeSecular(Orbit orbit,
AbstractLyddanePropagator.LyddaneParametersType fromType)
Compute secular orbit in body frame from provided orbit.
|
protected Orbit |
convertFrame(Orbit orbit,
Frame outputFrame)
Convert provided orbit in output frame.
|
Orbit |
propagateMeanOrbit(AbsoluteDate date)
Propagate mean orbit until provided date.
|
Orbit |
propagateOrbit(AbsoluteDate date)
Extrapolate an orbit up to a specific target date.
|
protected Orbit |
propagateOrbit(AbsoluteDate date,
Orbit secularOrbit,
Frame outputFrame,
AbstractLyddanePropagator.LyddaneParametersType returnType,
AbstractLyddanePropagator.SubModel fixConvLoop)
Propagate orbit to provided date.
|
void |
resetInitialState(SpacecraftState state)
Reset the propagator initial state.
|
void |
setThreshold(double newThreshold)
Setter for relative convergence threshold for osculating to mean algorithm.
|
protected void |
updateSecularOrbit(Orbit secularOrbit)
Update for secular Orbit.
|
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, setStartDateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitmean2osc, osc2meangetNativeFrameprotected Orbit secularOrbitIn
protected AbstractLyddanePropagator(Orbit secularOrbit, double referenceRadiusIn, double muIn, double c20In, double c30In, double c40In, double c50In, Frame frameIn, ParametersType parametersTypeIn, AttitudeProvider attitudeProvForces, AttitudeProvider attitudeProvEvents, MassProvider massProvider) throws PatriusException
secularOrbit - initial secular orbitreferenceRadiusIn - reference radius of the central body attraction model (m)muIn - central attraction coefficient (m3/s2)c20In - un-normalized 2nd zonal coefficient (about -1.08e-3 for Earth)c30In - un-normalized 3rd zonal coefficient (about +2.53e-6 for Earth)c40In - un-normalized 4th zonal coefficient (about +1.62e-6 for Earth)c50In - un-normalized 5th zonal coefficient (about +2.28e-7 for Earth)frameIn - Inertial or quasi-inertial frame in which the model is supposed valid, the Z axis of the frame being the
polar axis of the bodyparametersTypeIn - initial orbit parameters type (mean or osculating)attitudeProvForces - attitude provider for force computationattitudeProvEvents - attitude provider for events computationmassProvider - mass providerPatriusException - thrown if failed to build initial state or coefficients frame is not inertialpublic void resetInitialState(SpacecraftState state) throws PropagationException
resetInitialState in interface PropagatorresetInitialState in class AbstractPropagatorstate - new initial state to considerPropagationException - if initial state cannot be resetpublic Orbit propagateOrbit(AbsoluteDate date) throws PropagationException
propagateOrbit in class AbstractPropagatordate - target date for the orbitPropagationException - if some parameters are out of boundspublic Orbit propagateMeanOrbit(AbsoluteDate date) throws PatriusException
propagateMeanOrbit in interface MeanOsculatingElementsProviderdate - a datePatriusException - thrown if computation failedprotected Orbit propagateOrbit(AbsoluteDate date, Orbit secularOrbit, Frame outputFrame, AbstractLyddanePropagator.LyddaneParametersType returnType, AbstractLyddanePropagator.SubModel fixConvLoop) throws PropagationException
date - a datesecularOrbit - a secular orbit in body frameoutputFrame - output framereturnType - return type : SECULAR, MEAN or OSCULTATINGPropagationException - if some parameters are out of boundsprotected Orbit computeSecular(Orbit orbit, AbstractLyddanePropagator.LyddaneParametersType fromType) throws PatriusException
An iterative algorithm is used. threshold parameter is used to check convergence of iterations.
orbit - an orbitfromType - input typePatriusException - thrown if conversion to body frame failedpublic void setThreshold(double newThreshold)
newThreshold - new relative thresholdprotected void updateSecularOrbit(Orbit secularOrbit) throws PatriusException
secularOrbit - secular orbitPatriusException - thrown if conversion failedprotected Orbit convertFrame(Orbit orbit, Frame outputFrame) throws PatriusException
orbit - orbitoutputFrame - output framePatriusException - thrown if conversion failedCopyright © 2025 CNES. All rights reserved.