public final class GravityToolbox extends Object
Modifier and Type | Method and Description |
---|---|
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.
|
public static Vector3D computeBalminoAcceleration(PVCoordinates pv, double[][] coefficientsC, double[][] coefficientsS, double muc, double eqRadius, int degree, int order, HelmholtzPolynomial helm)
BalminoAttractionModel
).pv
- PV coordinates of the spacecraft in body framecoefficientsC
- array of "C" coeffscoefficientsS
- array of "S" coeffsmuc
- Central body attraction coefficienteqRadius
- Reference equatorial radius of the potentialdegree
- Number of zonal coefficientsorder
- Number of tesseral coefficientshelm
- Helmholtz polynomialpublic static Vector3D computeDrozinerAcceleration(PVCoordinates pv, Frame frame, double[][] coefficientsC, double[][] coefficientsS, double muc, double eqRadius, double threshold, int degree, int order) throws PatriusException
DrozinerAttractionModel
).pv
- PV coordinates of the spacecraftframe
- frame in which the acceleration is computedcoefficientsC
- array of "C" coeffscoefficientsS
- array of "S" coeffsmuc
- Central body attraction coefficienteqRadius
- Reference equatorial radius of the potentialthreshold
- thresholddegree
- Number of zonal coefficientsorder
- Number of tesseral coefficientsPatriusException
- if an Orekit error occurspublic 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 fromCunninghamAttractionModel
pv
- PV coordinates of the spacecraft in the rotating frame of the central bodyequatorialRadius
- equatorial radius of earthcoefC
- C coefficients arraycoefS
- S coefficients arraydegree
- degreeorder
- ordermu
- gravitation constantCunninghamAttractionModel
public static double[][] deNormalize(double[][] tab)
tab
- normalized coefficients arraypublic static double[][] normalize(double[][] tab)
tab
- normalized coefficients arraypublic static double[][] unNormalize(double[][] normalized)
normalized
- normalized coefficients arraypublic static double[][] computeDAccDPos(PVCoordinates pv, AbsoluteDate date, double equatorialRadius, double mu, double[][] c, double[][] s)
pv
- : position and velocity of the spacecraftdate
- : dateequatorialRadius
- equatorial radiusmu
- gravitational parameterc
- C coefficientss
- S coefficientsCopyright © 2019 CNES. All rights reserved.