|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.orekit.parameter.Parameterizable
org.orekit.parameter.JacobiansParameterizable
org.orekit.forces.gravity.BalminoAttractionModel
public class BalminoAttractionModel
Computation of central body attraction with normalized coefficients and Helmholtz Polynomials.
The algorithm implemented in this class has been designed by Balmino Georges (Observatoire Midi-Pyrénées/ Groupe de Recherche de Géodésie Spatiale (GRGS) / Centre National d’Etudes Spatiales (CNES), France) in his 1990 paper: Non-singular formulation of the gravity vector and gravity gradient tensor in spherical harmonics. (Manuscr. Geod., Vol. 15, No. 1, p. 11 - 16, 02/1990). It uses normalized C and S coefficients for greater accuracy.
Warning: using a 0x0 Earth potential model is equivalent to a simple Newtonian attraction. However computation times will be much slower since this case is not particularized and hence conversion from body frame (often ITRF) to integration frame is necessary.
| Field Summary | |
|---|---|
static String |
RADIUS
Parameter name for equatorial radius. |
| Fields inherited from interface org.orekit.forces.gravity.AttractionModel |
|---|
MU |
| Constructor Summary | |
|---|---|
BalminoAttractionModel(Frame frame,
double ae,
double mu,
double[][] Ccoefs,
double[][] Scoefs)
Create an instance of a normalized gravity computation model using normalized coefficients. |
|
BalminoAttractionModel(Frame frame,
double ae,
double mu,
double[][] Ccoefs,
double[][] Scoefs,
int degreePD,
int orderPD)
Create an instance of a normalized gravity computation model using normalized coefficients. |
|
BalminoAttractionModel(Frame frame,
Parameter ae,
Parameter mu,
double[][] Ccoefs,
double[][] Scoefs)
Create an instance of a normalized gravity computation model using normalized coefficients. |
|
BalminoAttractionModel(Frame frame,
Parameter ae,
Parameter mu,
double[][] Ccoefs,
double[][] Scoefs,
int degreePD,
int orderPD)
Create an instance of a normalized gravity computation model using normalized coefficients. |
|
| Method Summary | |
|---|---|
void |
addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
Compute the contribution of the force model to the perturbing acceleration. |
void |
addDAccDParam(SpacecraftState s,
Parameter param,
double[] dAccdParam)
Compute acceleration derivatives with respect to additional parameters. |
void |
addDAccDState(SpacecraftState s,
double[][] dAccdPos,
double[][] dAccdVel)
Compute acceleration derivatives with respect to state parameters. |
Vector3D |
computeAcceleration(PVCoordinates pv)
Acceleration in body frame. |
Vector3D |
computeAcceleration(SpacecraftState s)
Compute the acceleration due to the force. |
boolean |
computeGradientPosition()
This method returns true if the acceleration partial derivatives with respect to position have to be computed. |
boolean |
computeGradientVelocity()
This method returns true if the acceleration partial derivatives with respect to velocity have to be computed. |
EventDetector[] |
getEventsDetectors()
Get the discrete events related to the model. |
double |
getMu()
Get the central attraction coefficient &mu. |
| Methods inherited from class org.orekit.parameter.JacobiansParameterizable |
|---|
addJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameter |
| Methods inherited from class org.orekit.parameter.Parameterizable |
|---|
addParameter, getParameters, supportsParameter |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.orekit.parameter.IParameterizable |
|---|
getParameters, supportsParameter |
| Field Detail |
|---|
public static final String RADIUS
| Constructor Detail |
|---|
public BalminoAttractionModel(Frame frame,
double ae,
double mu,
double[][] Ccoefs,
double[][] Scoefs)
frame - central body frameae - equatorial radius constantmu - standard gravitational constantCcoefs - Normalized c coefficientsScoefs - Normalized s coefficients
public BalminoAttractionModel(Frame frame,
double ae,
double mu,
double[][] Ccoefs,
double[][] Scoefs,
int degreePD,
int orderPD)
frame - central body frameae - equatorial radius constantmu - standard gravitational constantCcoefs - Normalized c coefficients for acceleration computationScoefs - Normalized s coefficients for acceleration computationdegreePD - degree for partial derivativesorderPD - order for partial derivatives
public BalminoAttractionModel(Frame frame,
Parameter ae,
Parameter mu,
double[][] Ccoefs,
double[][] Scoefs)
frame - central body frameae - parameter storing equatorial radiusmu - parameter storing standard gravitationalCcoefs - Normalized c coefficientsScoefs - Normalized s coefficients
public BalminoAttractionModel(Frame frame,
Parameter ae,
Parameter mu,
double[][] Ccoefs,
double[][] Scoefs,
int degreePD,
int orderPD)
frame - central body frameae - parameter storing equatorial radiusmu - parameter storing standard gravitationalCcoefs - Normalized c coefficients for acceleration computationScoefs - Normalized s coefficients for acceleration computationdegreePD - degree for partial derivativesorderPD - order for partial derivatives| Method Detail |
|---|
public void addContribution(SpacecraftState s,
TimeDerivativesEquations adder)
throws OrekitException
addContribution in interface ForceModels - current state information: date, kinematics, attitudeadder - object where the contribution should be added
OrekitException - if some specific error occurs
public Vector3D computeAcceleration(SpacecraftState s)
throws OrekitException
computeAcceleration in interface ForceModels - current state information: date, kinematics, attitude
SpacecraftState frame
OrekitException - if some specific error occurspublic final Vector3D computeAcceleration(PVCoordinates pv)
pv - the PVCoordinates of the spacecraft in the body frame
public EventDetector[] getEventsDetectors()
getEventsDetectors in interface ForceModelpublic boolean computeGradientPosition()
computeGradientPosition in interface GradientModelpublic boolean computeGradientVelocity()
computeGradientVelocity in interface GradientModel
public final void addDAccDState(SpacecraftState s,
double[][] dAccdPos,
double[][] dAccdVel)
throws OrekitException
addDAccDState in interface IJacobiansParameterizables - spacecraft statedAccdPos - acceleration derivatives with respect to positiondAccdVel - acceleration derivatives with respect to velocity
OrekitException - if derivatives cannot be computed
public void addDAccDParam(SpacecraftState s,
Parameter param,
double[] dAccdParam)
throws OrekitException
addDAccDParam in interface IJacobiansParameterizables - spacecraft stateparam - the parameter with respect to which derivatives are requireddAccdParam - acceleration derivatives with respect to specified parameters
OrekitException - if derivatives cannot be computedpublic double getMu()
getMu in interface AttractionModel
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||