org.orekit.propagation.analytical
Class EcksteinHechlerPropagator

java.lang.Object
  extended by org.orekit.propagation.AbstractPropagator
      extended by org.orekit.propagation.analytical.EcksteinHechlerPropagator
All Implemented Interfaces:
java.io.Serializable, BasicPropagator, Propagator, PVCoordinatesProvider

public class EcksteinHechlerPropagator
extends AbstractPropagator

This class propagates a 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).

Version:
$Revision:1665 $ $Date:2008-06-11 12:12:59 +0200 (mer., 11 juin 2008) $
Author:
Guylaine Prat
See Also:
Orbit, Serialized Form

Field Summary
 
Fields inherited from interface org.orekit.propagation.Propagator
EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE
 
Constructor Summary
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeLaw attitudeLaw, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
          Build a propagator from orbit, attitude law and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, AttitudeLaw attitudeLaw, double mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
          Build a propagator from orbit, attitude law, mass and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
          Build a propagator from orbit and potential.
EcksteinHechlerPropagator(Orbit initialOrbit, double mass, double referenceRadius, double mu, double c20, double c30, double c40, double c50, double c60)
          Build a propagator from orbit, mass and potential.
 
Method Summary
protected  SpacecraftState basicPropagate(AbsoluteDate date)
          Propagate an orbit without any fancy features.
 SpacecraftState getInitialState()
          Get the propagator initial state.
 void resetInitialState(SpacecraftState state)
          Reset the propagator initial state.
 
Methods inherited from class org.orekit.propagation.AbstractPropagator
addEndDateChecker, addEventDetector, clearEventsDetectors, getEventsDetectors, getGeneratedEphemeris, getMode, getPVCoordinates, propagate, setEphemerisMode, setMasterMode, setMasterMode, setSlaveMode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
                                 double referenceRadius,
                                 double mu,
                                 double c20,
                                 double c30,
                                 double c40,
                                 double c50,
                                 double c60)
                          throws PropagationException
Build a propagator from orbit and potential.

Mass and attitude law are set to unspecified non-null arbitrary values.

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
 

Parameters:
initialOrbit - initial orbit
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m3/s2)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
Throws:
PropagationException - if the mean parameters cannot be computed
See Also:
Constants

EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
                                 double mass,
                                 double referenceRadius,
                                 double mu,
                                 double c20,
                                 double c30,
                                 double c40,
                                 double c50,
                                 double c60)
                          throws PropagationException
Build a propagator from orbit, mass and potential.

Attitude law 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
 

Parameters:
initialOrbit - initial orbit
mass - spacecraft mass
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m3/s2)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
Throws:
PropagationException - if the mean parameters cannot be computed

EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
                                 AttitudeLaw attitudeLaw,
                                 double referenceRadius,
                                 double mu,
                                 double c20,
                                 double c30,
                                 double c40,
                                 double c50,
                                 double c60)
                          throws PropagationException
Build a propagator from orbit, attitude law and potential.

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
 

Parameters:
initialOrbit - initial orbit
attitudeLaw - attitude law
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m3/s2)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
Throws:
PropagationException - if the mean parameters cannot be computed

EcksteinHechlerPropagator

public EcksteinHechlerPropagator(Orbit initialOrbit,
                                 AttitudeLaw attitudeLaw,
                                 double mass,
                                 double referenceRadius,
                                 double mu,
                                 double c20,
                                 double c30,
                                 double c40,
                                 double c50,
                                 double c60)
                          throws PropagationException
Build a propagator from orbit, attitude law, mass and potential.

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
 

Parameters:
initialOrbit - initial orbit
attitudeLaw - attitude law
mass - spacecraft mass
referenceRadius - reference radius of the Earth for the potential model (m)
mu - central attraction coefficient (m3/s2)
c20 - un-normalized zonal coefficient (about -1.08e-3 for Earth)
c30 - un-normalized zonal coefficient (about +2.53e-6 for Earth)
c40 - un-normalized zonal coefficient (about +1.62e-6 for Earth)
c50 - un-normalized zonal coefficient (about +2.28e-7 for Earth)
c60 - un-normalized zonal coefficient (about -5.41e-7 for Earth)
Throws:
PropagationException - if the mean parameters cannot be computed
Method Detail

getInitialState

public SpacecraftState getInitialState()
Get the propagator initial state.

Specified by:
getInitialState in interface Propagator
Specified by:
getInitialState in class AbstractPropagator
Returns:
initial state

basicPropagate

protected SpacecraftState basicPropagate(AbsoluteDate date)
                                  throws PropagationException
Propagate an orbit without any fancy features.

This method is similar in spirit to the AbstractPropagator.propagate(org.orekit.time.AbsoluteDate) method, except that it does not call any handler during propagation, nor any discrete events. It always stop exactly at the specified date.

Specified by:
basicPropagate in class AbstractPropagator
Parameters:
date - target date for propagation
Returns:
state at specified date
Throws:
PropagationException - if propagation cannot reach specified date

resetInitialState

public void resetInitialState(SpacecraftState state)
                       throws PropagationException
Reset the propagator initial state.

Parameters:
state - new initial state to consider
Throws:
PropagationException - if initial state cannot be reset


Copyright © 2002-2010 CS Communication & Systèmes. All Rights Reserved.