public class GridGravityModel extends AbstractGravityModel
GridAttractionProvider which provides for a set of coordinates the value of acceleration. Interpolation
is performed within grid points using a TrivariateGridInterpolator. Computed acceleration excludes the
central attraction force like the other AbstractGravityModel.
If requested point is out of grid boundaries, a 2nd model (back-up model) is used for computing attraction force.
Potential is also available using method #computePotential(SpacecraftState).
Partial derivatives are not available.
MU| Constructor and Description |
|---|
GridGravityModel(GridAttractionProvider attractionProvider,
TrivariateGridInterpolator interpolator,
GravityModel backupModel,
Frame bodyFrameIn)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Vector3D |
computeAcceleration(Vector3D positionInBodyFrame,
AbsoluteDate date)
Compute the acceleration due to the gravitational attraction.
|
double[][] |
computeDAccDPos(Vector3D positionInBodyFrame,
AbsoluteDate date)
Compute acceleration derivatives with respect to the position of the spacecraft.
|
double |
computePotential(Vector3D pos,
Frame frame,
AbsoluteDate date)
Compute the potential due to the body attraction.
|
GravityModel |
getBackupModel()
Getter for the backup model
|
double |
getMu()
Get the central attraction coefficient.
|
void |
setMu(double muIn)
Set the central attraction coefficient.
|
getBodyFrame, getMuParameterpublic GridGravityModel(GridAttractionProvider attractionProvider, TrivariateGridInterpolator interpolator, GravityModel backupModel, Frame bodyFrameIn)
attractionProvider - attraction data providerinterpolator - 3D interpolator using for interpolating acceleration and potentialbackupModel - back-up model used if requested point out of boundaries. Beware that this model should not
include multiplicative coefficientbodyFrameIn - body-centered frame in which grid and accelerations are expressed.
Frame shall be centered on body center of mass, not on grid systempublic Vector3D computeAcceleration(Vector3D positionInBodyFrame, AbsoluteDate date) throws PatriusException
positionInBodyFrame - the position expressed in the body framedate - The date for which the computation needs to be performedPatriusException - if some specific error occurspublic double computePotential(Vector3D pos, Frame frame, AbsoluteDate date) throws PatriusException
If state position is out of grid boundaries, potential is approximated to central body potential.
pos - position of the spacecraftframe - frame in which the position of the spacecraft is givendate - datePatriusException - thrown if position is out of grid boundariespublic final double[][] computeDAccDPos(Vector3D positionInBodyFrame, AbsoluteDate date) throws PatriusException
positionInBodyFrame - the position expressed in the body framedate - The date for which the computation needs to be performedPatriusException - if derivatives cannot be computedpublic double getMu()
getMu in interface GravityModelgetMu in class AbstractGravityModelpublic void setMu(double muIn)
setMu in interface GravityModelsetMu in class AbstractGravityModelmuIn - the central attraction coefficient.public GravityModel getBackupModel()
Copyright © 2025 CNES. All rights reserved.