Class FieldAbsolutePVCoordinatesHermiteInterpolator<KK extends CalculusFieldElement<KK>>
- java.lang.Object
-
- org.orekit.time.AbstractFieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK>
-
- org.orekit.utils.FieldAbsolutePVCoordinatesHermiteInterpolator<KK>
-
- Type Parameters:
KK
- type of the field elements
- All Implemented Interfaces:
FieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK>
public class FieldAbsolutePVCoordinatesHermiteInterpolator<KK extends CalculusFieldElement<KK>> extends AbstractFieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK>
Class using a Hermite interpolator to interpolate absolute position-velocity-acceleration coordinates.As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
- Author:
- Luc Maisonobe, Vincent Cucchietti
- See Also:
FieldHermiteInterpolator
,FieldAbsolutePVCoordinates
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.orekit.time.AbstractFieldTimeInterpolator
AbstractFieldTimeInterpolator.InterpolationData
-
-
Field Summary
-
Fields inherited from class org.orekit.time.AbstractFieldTimeInterpolator
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC, DEFAULT_INTERPOLATION_POINTS
-
-
Constructor Summary
Constructors Constructor Description FieldAbsolutePVCoordinatesHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, CartesianDerivativesFilter filter)
Constructor.FieldAbsolutePVCoordinatesHermiteInterpolator(int interpolationPoints, Frame outputFrame)
Constructor with : Default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
s) Use of position and two time derivatives during interpolation As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).FieldAbsolutePVCoordinatesHermiteInterpolator(int interpolationPoints, Frame outputFrame, CartesianDerivativesFilter filter)
Constructor with default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
s).FieldAbsolutePVCoordinatesHermiteInterpolator(Frame outputFrame)
Constructor with : Default number of interpolation points ofDEFAULT_INTERPOLATION_POINTS
Default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
s) Use of position and two time derivatives during interpolation As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CartesianDerivativesFilter
getFilter()
Get filter for derivatives from the sample to use in interpolation.Frame
getOutputFrame()
Get output frame for the interpolated instance.protected FieldAbsolutePVCoordinates<KK>
interpolate(AbstractFieldTimeInterpolator.InterpolationData interpolationData)
Interpolate instance from given interpolation data.-
Methods inherited from class org.orekit.time.AbstractFieldTimeInterpolator
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getCentralDate, getExtrapolationThreshold, getNbInterpolationPoints, getSubInterpolators, getTimeParameter, interpolate, interpolate
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.time.FieldTimeInterpolator
interpolate, interpolate
-
-
-
-
Constructor Detail
-
FieldAbsolutePVCoordinatesHermiteInterpolator
public FieldAbsolutePVCoordinatesHermiteInterpolator(Frame outputFrame)
Constructor with :- Default number of interpolation points of
DEFAULT_INTERPOLATION_POINTS
- Default extrapolation threshold value (
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
s) - Use of position and two time derivatives during interpolation
- Parameters:
outputFrame
- frame for the interpolated instance
- Default number of interpolation points of
-
FieldAbsolutePVCoordinatesHermiteInterpolator
public FieldAbsolutePVCoordinatesHermiteInterpolator(int interpolationPoints, Frame outputFrame)
Constructor with :- Default extrapolation threshold value (
DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
s) - Use of position and two time derivatives during interpolation
- Parameters:
interpolationPoints
- number of interpolation pointsoutputFrame
- frame for the interpolated instance
- Default extrapolation threshold value (
-
FieldAbsolutePVCoordinatesHermiteInterpolator
public FieldAbsolutePVCoordinatesHermiteInterpolator(int interpolationPoints, Frame outputFrame, CartesianDerivativesFilter filter)
Constructor with default extrapolation threshold value (DEFAULT_EXTRAPOLATION_THRESHOLD_SEC
s).As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
- Parameters:
interpolationPoints
- number of interpolation pointsoutputFrame
- frame for the interpolated instancefilter
- filter for derivatives from the sample to use in interpolation
-
FieldAbsolutePVCoordinatesHermiteInterpolator
public FieldAbsolutePVCoordinatesHermiteInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, CartesianDerivativesFilter filter)
Constructor.As this implementation of interpolation is polynomial, it should be used only with small number of interpolation points (about 10-20 points) in order to avoid Runge's phenomenon and numerical problems (including NaN appearing).
- Parameters:
interpolationPoints
- number of interpolation pointsextrapolationThreshold
- extrapolation threshold beyond which the propagation will failoutputFrame
- frame for the interpolated instancefilter
- filter for derivatives from the sample to use in interpolation
-
-
Method Detail
-
getFilter
public CartesianDerivativesFilter getFilter()
Get filter for derivatives from the sample to use in interpolation.- Returns:
- filter for derivatives from the sample to use in interpolation
-
getOutputFrame
public Frame getOutputFrame()
Get output frame for the interpolated instance.- Returns:
- output frame for the interpolated instance
-
interpolate
protected FieldAbsolutePVCoordinates<KK> interpolate(AbstractFieldTimeInterpolator.InterpolationData interpolationData)
Interpolate instance from given interpolation data.The interpolated instance is created by polynomial Hermite interpolation ensuring velocity remains the exact derivative of position.
Note that even if first time derivatives (velocities) from sample can be ignored, the interpolated instance always includes interpolated derivatives. This feature can be used explicitly to compute these derivatives when it would be too complex to compute them from an analytical formula: just compute a few sample points from the explicit formula and set the derivatives to zero in these sample points, then use interpolation to add derivatives consistent with the positions.
- Specified by:
interpolate
in classAbstractFieldTimeInterpolator<FieldAbsolutePVCoordinates<KK extends CalculusFieldElement<KK>>,KK extends CalculusFieldElement<KK>>
- Parameters:
interpolationData
- interpolation data- Returns:
- interpolated instance from given interpolation data.
-
-