public class ThirdBodyAttraction extends AbstractBodyAttraction
This attraction is a differential attraction of the body between the spacecraft and the central body. It can be
synthesized as:
gamma = gamma(body->spacecraft) - gamma(body->centralBody)
Note that the expression of gamma(body->centralBody) is theoretically computed with a complex formula
including the complete potential of the two bodies and a coupled term (see N. Borderies. Mutual gravitational
potential of n solid bodies for more information).
In this implementation the coupled term is neglected. Beware that the coupled term coming from the low degrees
might overcome the high degree independent terms of the gamma(body->centralBody) contribution.
computePartialDerivativesWrtPosition, K_FACTOR| Constructor and Description |
|---|
ThirdBodyAttraction(GravityModel gravityModelIn)
Constructor.
|
ThirdBodyAttraction(GravityModel gravityModelIn,
AbstractHarmonicGravityModel centralBodyGravityModel)
Constructor.
|
ThirdBodyAttraction(GravityModel gravityModelIn,
AbstractHarmonicGravityModel centralBodyGravityModel,
boolean computePD)
Constructor.
|
ThirdBodyAttraction(GravityModel gravityModelIn,
AbstractHarmonicGravityModel centralBodyGravityModel,
boolean computePD,
Parameter k)
Constructor.
|
ThirdBodyAttraction(GravityModel gravityModelIn,
boolean computePD)
Constructor.
|
ThirdBodyAttraction(GravityModel gravityModelIn,
boolean computePD,
Parameter k)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
checkData(AbsoluteDate start,
AbsoluteDate end)
This methods throws an exception if the user did not provide all the required data to perform model call on
provided range [start; end].
|
protected Vector3D |
computeAcceleration(Vector3D positionInBodyFrame,
AbsoluteDate date,
Transform scFrameToBodyFrame)
Abstract method to compute the acceleration of the implementation
|
addContribution, addDAccDParam, addDAccDParam, addDAccDState, addDAccDState, computeAcceleration, computeGradientPosition, computeGradientVelocity, getEventsDetectors, getGravityModel, getMultiplicativeFactor, getMultiplicativeFactorParameter, setMultiplicativeFactoraddJacobiansParameter, addJacobiansParameter, addJacobiansParameter, supportsJacobianParameteraddAllParameters, addAllParameters, addParameter, getParameters, supportsParameterclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParameters, supportsParameterpublic ThirdBodyAttraction(GravityModel gravityModelIn)
gravityModelIn - the gravitational attraction model to considerNullArgumentException - if gravityModelIn is nullpublic ThirdBodyAttraction(GravityModel gravityModelIn, AbstractHarmonicGravityModel centralBodyGravityModel)
gravityModelIn - the gravitational attraction model to considercentralBodyGravityModel - The central body gravity model to take into account the harmonic contribution in the
gamma(body->centralBody) term.null.NewtonianGravityModel isn't supported, the model will be set as null if it is
Newtonian.NullArgumentException - if gravityModelIn is nullpublic ThirdBodyAttraction(GravityModel gravityModelIn, boolean computePD)
gravityModelIn - the gravitational attraction model to considercomputePD - true if partial derivatives have to be computed, false otherwiseNullArgumentException - if gravityModelIn is nullpublic ThirdBodyAttraction(GravityModel gravityModelIn, AbstractHarmonicGravityModel centralBodyGravityModel, boolean computePD)
gravityModelIn - the gravitational attraction model to considercentralBodyGravityModel - The central body gravity model to take into account the harmonic contribution in the
gamma(body->centralBody) term.null.NewtonianGravityModel isn't supported, the model will be set as null if it is
Newtonian.computePD - true if partial derivatives have to be computed, false otherwiseNullArgumentException - if gravityModelIn is nullpublic ThirdBodyAttraction(GravityModel gravityModelIn, boolean computePD, Parameter k)
gravityModelIn - the gravitational attraction model to considercomputePD - true if partial derivatives have to be computedk - multiplicative coefficientNullArgumentException - if gravityModelIn is nullpublic ThirdBodyAttraction(GravityModel gravityModelIn, AbstractHarmonicGravityModel centralBodyGravityModel, boolean computePD, Parameter k)
gravityModelIn - the gravitational attraction model to considercentralBodyGravityModel - The central body gravity model to take into account the harmonic contribution in the
gamma(body->centralBody) term.null.NewtonianGravityModel isn't supported, the model will be set as null if it is
Newtonian.computePD - true if partial derivatives have to be computedk - multiplicative coefficientNullArgumentException - if gravityModelIn is nullprotected Vector3D computeAcceleration(Vector3D positionInBodyFrame, AbsoluteDate date, Transform scFrameToBodyFrame) throws PatriusException
computeAcceleration in class AbstractBodyAttractionpositionInBodyFrame - position in body framedate - datescFrameToBodyFrame - transform from spacecraft frame to body framePatriusException - thrown if computation failedpublic void checkData(AbsoluteDate start, AbsoluteDate end)
start - range start dateend - range end dateCopyright © 2025 CNES. All rights reserved.