org.orekit.forces.gravity
Class GravityToolbox

java.lang.Object
  extended by org.orekit.forces.gravity.GravityToolbox

public final class GravityToolbox
extends Object

Toolbox for tides.

Since:
1.2
Version:
$Id: GravityToolbox.java 13619 2015-06-24 11:16:12Z trapier $
Author:
Julie Anton, Gerald Mercadier, Rami Houdroge
Concurrency :
immutable

Method Summary
static Vector3D computeBalminoAcceleration(PVCoordinates pv, double[][] coefficientsC, double[][] coefficientsS, double muc, double eqRadius, int degree, int order, HelmholtzPolynomial helm)
          Method to compute the acceleration, from Balmino algorithm (see BalminoAttractionModel).
static Vector3D computeCunninghamAcceleration(PVCoordinates pv, double equatorialRadius, double[][] coefC, double[][] coefS, int degree, int order, double mu)
           Method to compute the acceleration.
static double[][] computeDAccDPos(PVCoordinates pv, AbsoluteDate date, double equatorialRadius, double mu, double[][] C, double[][] S)
          Compute the partial derivatives of the acceleration (Cunningham algorithm) with respect to the position.
static Vector3D computeDrozinerAcceleration(PVCoordinates pv, Frame frame, double[][] coefficientsC, double[][] coefficientsS, double muc, double eqRadius, double threshold, int degree, int order)
          Method to compute the acceleration, from Droziner algorithm (see DrozinerAttractionModel).
static double[][] deNormalize(double[][] tab)
          Denormalize an array of coefficients.
static double[][] normalize(double[][] tab)
          Normalize an array of coefficients.
static double[][] unNormalize(double[][] normalized)
          Unnormalize a coefficients array.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

computeBalminoAcceleration

public static Vector3D computeBalminoAcceleration(PVCoordinates pv,
                                                  double[][] coefficientsC,
                                                  double[][] coefficientsS,
                                                  double muc,
                                                  double eqRadius,
                                                  int degree,
                                                  int order,
                                                  HelmholtzPolynomial helm)
Method to compute the acceleration, from Balmino algorithm (see BalminoAttractionModel).

Parameters:
pv - PV coordinates of the spacecraft in body frame
coefficientsC - array of "C" coeffs
coefficientsS - array of "S" coeffs
muc - Central body attraction coefficient
eqRadius - Reference equatorial radius of the potential
degree - Number of zonal coefficients
order - Number of tesseral coefficients
helm - Helmholtz polynomial
Returns:
acceleration vector

computeDrozinerAcceleration

public static Vector3D computeDrozinerAcceleration(PVCoordinates pv,
                                                   Frame frame,
                                                   double[][] coefficientsC,
                                                   double[][] coefficientsS,
                                                   double muc,
                                                   double eqRadius,
                                                   double threshold,
                                                   int degree,
                                                   int order)
                                            throws OrekitException
Method to compute the acceleration, from Droziner algorithm (see DrozinerAttractionModel).

Parameters:
pv - PV coordinates of the spacecraft
frame - frame in which the acceleration is computed
coefficientsC - array of "C" coeffs
coefficientsS - array of "S" coeffs
muc - Central body attraction coefficient
eqRadius - Reference equatorial radius of the potential
threshold - threshold
degree - Number of zonal coefficients
order - Number of tesseral coefficients
Returns:
acceleration vector
Throws:
OrekitException - if an Orekit error occurs

computeCunninghamAcceleration

public static Vector3D computeCunninghamAcceleration(PVCoordinates pv,
                                                     double equatorialRadius,
                                                     double[][] coefC,
                                                     double[][] coefS,
                                                     int degree,
                                                     int order,
                                                     double mu)

Method to compute the acceleration. This method has been implemented in order to validate the force model only. The reason is that for the validation context, we do not want to set up an instance of the SpacecraftState object to avoid the inertial frame of the spacecraft orbit.

Method taken from CunninghamAttractionModel

Parameters:
pv - PV coordinates of the spacecraft in the rotating frame of the central body
equatorialRadius - equatorial radius of earth
coefC - C coefficients array
coefS - S coefficients array
degree - degree
order - order
mu - gravitation constant
Returns:
acceleration vector
See Also:
CunninghamAttractionModel

deNormalize

public static double[][] deNormalize(double[][] tab)
Denormalize an array of coefficients.

Parameters:
tab - normalized coefficients array
Returns:
unnormalized coefficients array
Additional comments :
works up to degree + order = 179

normalize

public static double[][] normalize(double[][] tab)
Normalize an array of coefficients.

Parameters:
tab - normalized coefficients array
Returns:
unnormalized coefficients array
Additional comments :
works up to degree + order = 179

unNormalize

public static double[][] unNormalize(double[][] normalized)
Unnormalize a coefficients array.

Parameters:
normalized - normalized coefficients array
Returns:
unnormalized array

computeDAccDPos

public static double[][] computeDAccDPos(PVCoordinates pv,
                                         AbsoluteDate date,
                                         double equatorialRadius,
                                         double mu,
                                         double[][] C,
                                         double[][] S)
Compute the partial derivatives of the acceleration (Cunningham algorithm) with respect to the position.

Parameters:
pv - : position and velocity of the spacecraft
date - : date
equatorialRadius - equatorial radius
mu - gravitational parameter
C - C coefficients
S - S coefficients
Returns:
array of the partial derivatives See the following article : "On the computation of spherical harmonic terms needed during the numerical integration of the orbital motion of an artifical satellite" , Leland E. Cunningham


Copyright © 2016 CNES. All Rights Reserved.