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.
bodyFrame, centralTermContribution, MU, paramMu
Constructor and Description |
---|
GridGravityModel(GridAttractionProvider attractionProvider,
TrivariateGridInterpolator interpolator,
GravityModel backupModel,
Frame bodyFrame)
Constructor.
|
GridGravityModel(GridAttractionProvider attractionProvider,
TrivariateGridInterpolator interpolator,
GravityModel backupModel,
Frame bodyFrame,
boolean centralTermContributionIn)
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].
|
Vector3D |
computeAcceleration(Vector3D pos,
Frame frame,
AbsoluteDate date)
Compute the acceleration due to the gravitational attraction.
|
double[][] |
computeDAccDPos(Vector3D pos,
Frame frame,
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.
|
double |
getMu()
Get the central attraction coefficient.
|
void |
setMu(double muIn)
Set the central attraction coefficient.
|
getBodyFrame
public GridGravityModel(GridAttractionProvider attractionProvider, TrivariateGridInterpolator interpolator, GravityModel backupModel, Frame bodyFrame)
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 coefficientbodyFrame
- body-centered frame in which grid and accelerations are expressed.
Frame shall be centered on body center of mass, not on grid systempublic GridGravityModel(GridAttractionProvider attractionProvider, TrivariateGridInterpolator interpolator, GravityModel backupModel, Frame bodyFrame, boolean centralTermContributionIn)
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 coefficientbodyFrame
- body-centered frame in which grid and accelerations are expressed.centralTermContributionIn
- true if central term contribution should be considered (by default), false if
not
Frame shall be centered on body center of mass, not on grid systempublic Vector3D computeAcceleration(Vector3D pos, Frame frame, AbsoluteDate date) throws PatriusException
pos
- position of the spacecraftframe
- frame in which the acceleration is computeddate
- datePatriusException
- 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 pos, Frame frame, AbsoluteDate date) throws PatriusException
pos
- position of the spacecraftframe
- frame in which the acceleration derivatives are computeddate
- datePatriusException
- if derivatives cannot be computedpublic void checkData(AbsoluteDate start, AbsoluteDate end) throws PatriusException
start
- range start dateend
- range end datePatriusException
- thrown if some data is missingpublic double getMu()
getMu
in interface GravityModel
getMu
in class AbstractGravityModel
public void setMu(double muIn)
setMu
in interface GravityModel
setMu
in class AbstractGravityModel
muIn
- the central attraction coefficient.Copyright © 2023 CNES. All rights reserved.