org.orekit.propagation.analytical
Class LyddaneSecularPropagator

java.lang.Object
  extended by org.orekit.propagation.AbstractPropagator
      extended by org.orekit.propagation.analytical.AbstractLyddanePropagator
          extended by org.orekit.propagation.analytical.LyddaneSecularPropagator
All Implemented Interfaces:
Serializable, MeanOsculatingElementsProvider, Propagator, PVCoordinatesProvider

public class LyddaneSecularPropagator
extends AbstractLyddanePropagator

Lyddane secular propagator.

Lyddane propagator is an analytical propagator taking into account only mean secular effects of J2 to J5 zonal harmonics.

This propagator is valid for orbits with eccentricity lower than 0.9 and inclination not close to critical inclinations

Since:
3.2
Version:
$Id: LyddaneSecularPropagator.java 16712 2016-10-04 12:00:36Z bignon $
Author:
Emmanuel Bignon
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.orekit.propagation.analytical.AbstractLyddanePropagator
AbstractLyddanePropagator.LyddaneParametersType
 
Field Summary
 
Fields inherited from class org.orekit.propagation.analytical.AbstractLyddanePropagator
secularOrbitIn
 
Fields inherited from class org.orekit.propagation.AbstractPropagator
MASS
 
Fields inherited from interface org.orekit.propagation.Propagator
EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE
 
Constructor Summary
LyddaneSecularPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, double c20In, double c30In, double c40In, double c50In, Frame frameIn, ParametersType parametersTypeIn)
          Constructor without attitude provider and mass provider.
LyddaneSecularPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, double c20In, double c30In, double c40In, double c50In, Frame frameIn, ParametersType parametersTypeIn, AttitudeProvider attitudeProvider)
          Constructor without mass provider.
LyddaneSecularPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, double c20In, double c30In, double c40In, double c50In, Frame frameIn, ParametersType parametersTypeIn, AttitudeProvider attitudeProvForces, AttitudeProvider attitudeProvEvents)
          Constructor without mass provider.
LyddaneSecularPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, double c20In, double c30In, double c40In, double c50In, Frame frameIn, ParametersType parametersTypeIn, AttitudeProvider attitudeProvForces, AttitudeProvider attitudeProvEvents, MassProvider massProvider)
          Generic constructor.
LyddaneSecularPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, double c20In, double c30In, double c40In, double c50In, Frame frameIn, ParametersType parametersTypeIn, AttitudeProvider attitudeProvider, MassProvider massProvider)
          Generic constructor.
LyddaneSecularPropagator(Orbit initialOrbit, double referenceRadiusIn, double muIn, double c20In, double c30In, double c40In, double c50In, Frame frameIn, ParametersType parametersTypeIn, MassProvider massProvider)
          Constructor without attitude provider.
 
Method Summary
 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.
 
Methods inherited from class org.orekit.propagation.analytical.AbstractLyddanePropagator
computeSecular, convertFrame, propagateOrbit, propagateOrbit, resetInitialState, setThreshold, updateSecularOrbit
 
Methods inherited from class org.orekit.propagation.AbstractPropagator
acceptStep, addAdditionalStateProvider, addAdditionalStateProvider, addEventDetector, basicPropagate, clearEventsDetectors, getAttitudeProvider, getAttitudeProviderEvents, getAttitudeProviderForces, getEventsDetectors, getFrame, getGeneratedEphemeris, getInitialState, getMode, getPVCoordinates, getPvProvider, manageStateFrame, propagate, propagate, setAttitudeProvider, setAttitudeProviderEvents, setAttitudeProviderForces, setEphemerisMode, setMasterMode, setMasterMode, setOrbitFrame, setSlaveMode, setStartDate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LyddaneSecularPropagator

public LyddaneSecularPropagator(Orbit initialOrbit,
                                double referenceRadiusIn,
                                double muIn,
                                double c20In,
                                double c30In,
                                double c40In,
                                double c50In,
                                Frame frameIn,
                                ParametersType parametersTypeIn)
                         throws OrekitException
Constructor without attitude provider and mass provider.

Parameters:
initialOrbit - initial orbit
referenceRadiusIn - 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 - frame in which model coefficients are expressed (must be inertial or quasi-inertial).
parametersTypeIn - initial orbit parameters type (mean or osculating)
Throws:
OrekitException - thrown if failed to build initial state or coefficients frame is not inertial

LyddaneSecularPropagator

public LyddaneSecularPropagator(Orbit initialOrbit,
                                double referenceRadiusIn,
                                double muIn,
                                double c20In,
                                double c30In,
                                double c40In,
                                double c50In,
                                Frame frameIn,
                                ParametersType parametersTypeIn,
                                MassProvider massProvider)
                         throws OrekitException
Constructor without attitude provider.

Parameters:
initialOrbit - initial orbit
referenceRadiusIn - 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 - frame in which model coefficients are expressed (must be inertial or quasi-inertial).
parametersTypeIn - initial orbit parameters type (mean or osculating)
massProvider - mass provider
Throws:
OrekitException - thrown if failed to build initial state or coefficients frame is not inertial

LyddaneSecularPropagator

public LyddaneSecularPropagator(Orbit initialOrbit,
                                double referenceRadiusIn,
                                double muIn,
                                double c20In,
                                double c30In,
                                double c40In,
                                double c50In,
                                Frame frameIn,
                                ParametersType parametersTypeIn,
                                AttitudeProvider attitudeProvider)
                         throws OrekitException
Constructor without mass provider.

Parameters:
initialOrbit - initial orbit
referenceRadiusIn - 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 - frame in which model coefficients are expressed (must be inertial or quasi-inertial).
parametersTypeIn - initial orbit parameters type (mean or osculating)
attitudeProvider - attitude provider
Throws:
OrekitException - thrown if failed to build initial state or coefficients frame is not inertial

LyddaneSecularPropagator

public LyddaneSecularPropagator(Orbit initialOrbit,
                                double referenceRadiusIn,
                                double muIn,
                                double c20In,
                                double c30In,
                                double c40In,
                                double c50In,
                                Frame frameIn,
                                ParametersType parametersTypeIn,
                                AttitudeProvider attitudeProvForces,
                                AttitudeProvider attitudeProvEvents)
                         throws OrekitException
Constructor without mass provider.

Parameters:
initialOrbit - initial orbit
referenceRadiusIn - 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 - frame in which model coefficients are expressed (must be inertial or quasi-inertial).
parametersTypeIn - initial orbit parameters type (mean or osculating)
attitudeProvForces - attitude provider for force computation
attitudeProvEvents - attitude provider for events computation
Throws:
OrekitException - thrown if failed to build initial state or coefficients frame is not inertial

LyddaneSecularPropagator

public LyddaneSecularPropagator(Orbit initialOrbit,
                                double referenceRadiusIn,
                                double muIn,
                                double c20In,
                                double c30In,
                                double c40In,
                                double c50In,
                                Frame frameIn,
                                ParametersType parametersTypeIn,
                                AttitudeProvider attitudeProvider,
                                MassProvider massProvider)
                         throws OrekitException
Generic constructor.

Parameters:
initialOrbit - initial orbit
referenceRadiusIn - 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 - frame in which model coefficients are expressed (must be inertial or quasi-inertial).
parametersTypeIn - initial orbit parameters type (mean or osculating)
attitudeProvider - attitude provider
massProvider - mass provider
Throws:
OrekitException - thrown if failed to build initial state or coefficients frame is not inertial

LyddaneSecularPropagator

public LyddaneSecularPropagator(Orbit initialOrbit,
                                double referenceRadiusIn,
                                double muIn,
                                double c20In,
                                double c30In,
                                double c40In,
                                double c50In,
                                Frame frameIn,
                                ParametersType parametersTypeIn,
                                AttitudeProvider attitudeProvForces,
                                AttitudeProvider attitudeProvEvents,
                                MassProvider massProvider)
                         throws OrekitException
Generic constructor.

Parameters:
initialOrbit - initial orbit
referenceRadiusIn - 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 - frame in which model coefficients are expressed (must be inertial or quasi-inertial).
parametersTypeIn - initial orbit parameters type (mean or osculating)
attitudeProvForces - attitude provider for force computation
attitudeProvEvents - attitude provider for events computation
massProvider - mass provider
Throws:
OrekitException - thrown if failed to build initial state or coefficients frame is not inertial
Method Detail

propagateMeanOrbit

public Orbit propagateMeanOrbit(AbsoluteDate date)
                         throws OrekitException
Propagate mean orbit until provided date.

Specified by:
propagateMeanOrbit in interface MeanOsculatingElementsProvider
Overrides:
propagateMeanOrbit in class AbstractLyddanePropagator
Parameters:
date - a date
Returns:
mean orbit at provided date
Throws:
OrekitException - thrown if computation failed

osc2mean

public Orbit osc2mean(Orbit orbit)
               throws OrekitException
Convert provided osculating orbit into mean elements.

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.

Parameters:
orbit - an orbit (osculating elements)
Returns:
mean elements of provided orbit
Throws:
OrekitException - if conversion fails

mean2osc

public Orbit mean2osc(Orbit orbit)
               throws OrekitException
Convert provided mean orbit into osculating elements.

Parameters:
orbit - an orbit (mean elements)
Returns:
osculating elements of provided orbit
Throws:
OrekitException - if conversion fails


Copyright © 2016 CNES. All Rights Reserved.