org.orekit.orbits
Class CircularOrbit

java.lang.Object
  extended by org.orekit.orbits.Orbit
      extended by org.orekit.orbits.CircularOrbit
All Implemented Interfaces:
java.io.Serializable, TimeStamped

public class CircularOrbit
extends Orbit

This class handles circular orbital parameters.

The parameters used internally are the circular elements which can be related to keplerian elements as follows:

where Ω stands for the Right Ascension of the Ascending Node and αv stands for the true longitude argument

The conversion equations from and to keplerian elements given above hold only when both sides are unambiguously defined, i.e. when orbit is neither equatorial nor circular. When orbit is circular (but not equatorial), the circular parameters are still unambiguously defined whereas some keplerian elements (more precisely ω and Ω) become ambiguous. When orbit is equatorial, neither the keplerian nor the circular parameters can be defined unambiguously. equinoctial orbits is the recommended way to represent orbits.

The instance CircularOrbit is guaranteed to be immutable.

Version:
$Revision:1665 $ $Date:2008-06-11 12:12:59 +0200 (mer., 11 juin 2008) $
Author:
Luc Maisonobe, Fabien Maussion, Véronique Pommier-Maurussane
See Also:
Orbit, KeplerianOrbit, CartesianOrbit, EquinoctialOrbit, Serialized Form

Field Summary
static int ECCENTRIC_LONGITUDE_ARGUMENT
          Identifier for eccentric longitude argument.
static int MEAN_LONGITUDE_ARGUMENT
          Identifier for mean longitude argument.
static int TRUE_LONGITUDE_ARGUMENT
          Identifier for true longitude argument.
 
Constructor Summary
CircularOrbit(double a, double ex, double ey, double i, double raan, double alpha, int type, Frame frame, AbsoluteDate date, double mu)
          Creates a new instance.
CircularOrbit(Orbit op)
          Constructor from any kind of orbital parameters.
CircularOrbit(PVCoordinates pvCoordinates, Frame frame, AbsoluteDate date, double mu)
          Constructor from cartesian parameters.
 
Method Summary
 double getA()
          Get the semi-major axis.
 double getAlphaE()
          Get the eccentric longitude argument.
 double getAlphaM()
          Get the mean longitude argument.
 double getAlphaV()
          Get the true longitude argument.
 double getCircularEx()
          Get the first component of the circular eccentricity vector.
 double getCircularEy()
          Get the second component of the circular eccentricity vector.
 double getE()
          Get the eccentricity.
 double getEquinoctialEx()
          Get the first component of the equinoctial eccentricity vector.
 double getEquinoctialEy()
          Get the second component of the equinoctial eccentricity vector.
 double getHx()
          Get the first component of the inclination vector.
 double getHy()
          Get the second component of the inclination vector.
 double getI()
          Get the inclination.
 double getLE()
          Get the eccentric latitude argument.
 double getLM()
          Get the mean latitude argument.
 double getLv()
          Get the true latitude argument.
 double getRightAscensionOfAscendingNode()
          Get the right ascension of the ascending node.
 CircularOrbit shiftedBy(double dt)
          Get a time-shifted orbit.
 java.lang.String toString()
          Returns a string representation of this Orbit object.
 
Methods inherited from class org.orekit.orbits.Orbit
getDate, getFrame, getKeplerianMeanMotion, getKeplerianPeriod, getMu, getPVCoordinates, getPVCoordinates
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MEAN_LONGITUDE_ARGUMENT

public static final int MEAN_LONGITUDE_ARGUMENT
Identifier for mean longitude argument.

See Also:
Constant Field Values

ECCENTRIC_LONGITUDE_ARGUMENT

public static final int ECCENTRIC_LONGITUDE_ARGUMENT
Identifier for eccentric longitude argument.

See Also:
Constant Field Values

TRUE_LONGITUDE_ARGUMENT

public static final int TRUE_LONGITUDE_ARGUMENT
Identifier for true longitude argument.

See Also:
Constant Field Values
Constructor Detail

CircularOrbit

public CircularOrbit(double a,
                     double ex,
                     double ey,
                     double i,
                     double raan,
                     double alpha,
                     int type,
                     Frame frame,
                     AbsoluteDate date,
                     double mu)
              throws java.lang.IllegalArgumentException
Creates a new instance.

Parameters:
a - semi-major axis (m)
ex - e cos(ω), first component of circular eccentricity vector
ey - e sin(ω), second component of circular eccentricity vector
i - inclination (rad)
raan - right ascension of ascending node (Ω, rad)
alpha - an + ω, mean, eccentric or true longitude argument (rad)
type - type of longitude argument, must be one of MEAN_LONGITUDE_ARGUMENT, ECCENTRIC_LONGITUDE_ARGUMENT or TRUE_LONGITUDE_ARGUMENT
frame - the frame in which are defined the parameters (must be a quasi-inertial frame)
date - date of the orbital parameters
mu - central attraction coefficient (m3/s2)
Throws:
java.lang.IllegalArgumentException - if the longitude argument type is not one of MEAN_LONGITUDE_ARGUMENT, ECCENTRIC_LONGITUDE_ARGUMENT or TRUE_LONGITUDE_ARGUMENT or if frame is not a quasi-inertial frame
See Also:
MEAN_LONGITUDE_ARGUMENT, ECCENTRIC_LONGITUDE_ARGUMENT, TRUE_LONGITUDE_ARGUMENT

CircularOrbit

public CircularOrbit(PVCoordinates pvCoordinates,
                     Frame frame,
                     AbsoluteDate date,
                     double mu)
              throws java.lang.IllegalArgumentException
Constructor from cartesian parameters.

Parameters:
pvCoordinates - the PVCoordinates in inertial frame
frame - the frame in which are defined the PVCoordinates (must be a quasi-inertial frame)
date - date of the orbital parameters
mu - central attraction coefficient (m3/s2)
Throws:
java.lang.IllegalArgumentException - if frame is not a quasi-inertial frame

CircularOrbit

public CircularOrbit(Orbit op)
Constructor from any kind of orbital parameters.

Parameters:
op - orbital parameters to copy
Method Detail

getA

public double getA()
Get the semi-major axis.

Specified by:
getA in class Orbit
Returns:
semi-major axis (m)

getEquinoctialEx

public double getEquinoctialEx()
Get the first component of the equinoctial eccentricity vector.

Specified by:
getEquinoctialEx in class Orbit
Returns:
e cos(ω + Ω), first component of the eccentricity vector

getEquinoctialEy

public double getEquinoctialEy()
Get the second component of the equinoctial eccentricity vector.

Specified by:
getEquinoctialEy in class Orbit
Returns:
e sin(ω + Ω), second component of the eccentricity vector

getCircularEx

public double getCircularEx()
Get the first component of the circular eccentricity vector.

Returns:
ex = e cos(ω), first component of the circular eccentricity vector

getCircularEy

public double getCircularEy()
Get the second component of the circular eccentricity vector.

Returns:
ey = e sin(ω), second component of the circular eccentricity vector

getHx

public double getHx()
Get the first component of the inclination vector.

Specified by:
getHx in class Orbit
Returns:
first component of the inclination vector.

getHy

public double getHy()
Get the second component of the inclination vector.

Specified by:
getHy in class Orbit
Returns:
second component of the inclination vector.

getAlphaV

public double getAlphaV()
Get the true longitude argument.

Returns:
v + ω true longitude argument (rad)

getAlphaE

public double getAlphaE()
Get the eccentric longitude argument.

Returns:
E + ω eccentric longitude argument (rad)

getAlphaM

public double getAlphaM()
Get the mean longitude argument.

Returns:
M + ω mean longitude argument (rad)

getE

public double getE()
Get the eccentricity.

Specified by:
getE in class Orbit
Returns:
eccentricity

getI

public double getI()
Get the inclination.

Specified by:
getI in class Orbit
Returns:
inclination (rad)

getRightAscensionOfAscendingNode

public double getRightAscensionOfAscendingNode()
Get the right ascension of the ascending node.

Returns:
right ascension of the ascending node (rad)

getLv

public double getLv()
Get the true latitude argument.

Specified by:
getLv in class Orbit
Returns:
true latitude argument (rad)

getLE

public double getLE()
Get the eccentric latitude argument.

Specified by:
getLE in class Orbit
Returns:
eccentric latitude argument.(rad)

getLM

public double getLM()
Get the mean latitude argument.

Specified by:
getLM in class Orbit
Returns:
mean latitude argument.(rad)

shiftedBy

public CircularOrbit shiftedBy(double dt)
Get a time-shifted orbit.

The orbit can be slightly shifted to close dates. This shift is based on a simple keplerian model. It is not intended as a replacement for proper orbit and attitude propagation but should be sufficient for small time shifts or coarse accuracy.

Specified by:
shiftedBy in class Orbit
Parameters:
dt - time shift in seconds
Returns:
a new orbit, shifted with respect to the instance (which is immutable)
See Also:
AbsoluteDate.shiftedBy(double), PVCoordinates.shiftedBy(double), Attitude.shiftedBy(double), SpacecraftState.shiftedBy(double)

toString

public java.lang.String toString()
Returns a string representation of this Orbit object.

Overrides:
toString in class java.lang.Object
Returns:
a string representation of this object


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