Class FieldSpacecraftStateInterpolator<KK extends CalculusFieldElement<KK>>

java.lang.Object
org.orekit.time.AbstractFieldTimeInterpolator<FieldSpacecraftState<KK>,KK>
org.orekit.propagation.FieldSpacecraftStateInterpolator<KK>
Type Parameters:
KK - type of the field element
All Implemented Interfaces:
FieldTimeInterpolator<FieldSpacecraftState<KK>,KK>

public class FieldSpacecraftStateInterpolator<KK extends CalculusFieldElement<KK>> extends AbstractFieldTimeInterpolator<FieldSpacecraftState<KK>,KK>
Generic class for spacecraft state interpolator.

The user can specify what interpolator to use for each attribute of the spacecraft state. However, at least one interpolator for either orbit or absolute position-velocity-acceleration is needed. All the other interpolators can be left to null if the user do not want to interpolate these values.

Author:
Luc Maisonobe, Vincent Cucchietti
See Also:
  • Constructor Details

    • FieldSpacecraftStateInterpolator

      public FieldSpacecraftStateInterpolator(Frame outputFrame)
      Simplest constructor to create a default Hermite interpolator for every spacecraft state field.

      The interpolators will have the following configuration :

      • Same frame for coordinates and attitude
      • Default number of interpolation points of DEFAULT_INTERPOLATION_POINTS
      • Default extrapolation threshold of DEFAULT_EXTRAPOLATION_THRESHOLD_SEC s
      • Use of position and two time derivatives for absolute position-velocity-acceleration coordinates interpolation
      • Use of angular and first time derivative for attitude 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).

      BEWARE: output frame must be inertial if this instance is going to interpolate between tabulated spacecraft states defined by orbit, will throw an error otherwise.

      Parameters:
      outputFrame - output frame
    • FieldSpacecraftStateInterpolator

      public FieldSpacecraftStateInterpolator(int interpolationPoints, Frame outputFrame)
      Constructor to create a customizable Hermite interpolator for every spacecraft state field.

      The interpolators will have the following configuration :

      • Same frame for coordinates and attitude
      • Default number of interpolation points of DEFAULT_INTERPOLATION_POINTS
      • Default extrapolation threshold of DEFAULT_EXTRAPOLATION_THRESHOLD_SEC s
      • Use of position and two time derivatives for absolute position-velocity-acceleration coordinates interpolation
      • Use of angular and first time derivative for attitude 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).

      BEWARE: output frame must be inertial if this instance is going to interpolate between tabulated spacecraft states defined by orbit, will throw an error otherwise.

      Parameters:
      interpolationPoints - number of interpolation points
      outputFrame - output frame
    • FieldSpacecraftStateInterpolator

      public FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame)
      Constructor to create a customizable Hermite interpolator for every spacecraft state field.

      The interpolators will have the following configuration :

      • Same frame for coordinates and attitude
      • Use of position and two time derivatives for absolute position-velocity-acceleration coordinates interpolation
      • Use of angular and first time derivative for attitude 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).

      BEWARE: output frame must be inertial if this instance is going to interpolate between tabulated spacecraft states defined by orbit, will throw an error otherwise.

      Parameters:
      interpolationPoints - number of interpolation points
      extrapolationThreshold - extrapolation threshold beyond which the propagation will fail
      outputFrame - output frame
      Since:
      12.1
    • FieldSpacecraftStateInterpolator

      public FieldSpacecraftStateInterpolator(int interpolationPoints, Frame outputFrame, Frame attitudeReferenceFrame)
      Constructor to create a customizable Hermite interpolator for every spacecraft state field.

      The interpolators will have the following configuration :

      • Default extrapolation threshold of DEFAULT_EXTRAPOLATION_THRESHOLD_SEC s
      • Use of position and two time derivatives for absolute position-velocity-acceleration coordinates interpolation
      • Use of angular and first time derivative for attitude 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).

      BEWARE: output frame must be inertial if this instance is going to interpolate between tabulated spacecraft states defined by orbit, will throw an error otherwise.

      Parameters:
      interpolationPoints - number of interpolation points
      outputFrame - output frame
      attitudeReferenceFrame - reference frame from which attitude is defined
    • FieldSpacecraftStateInterpolator

      public FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, Frame attitudeReferenceFrame)
      Constructor to create a customizable Hermite interpolator for every spacecraft state field.

      The interpolators will have the following configuration :

      • Use of position and two time derivatives for absolute position-velocity-acceleration coordinates interpolation
      • Use of angular and first time derivative for attitude 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).

      BEWARE: output frame must be inertial if this instance is going to interpolate between tabulated spacecraft states defined by orbit, will throw an error otherwise.

      Parameters:
      interpolationPoints - number of interpolation points
      extrapolationThreshold - extrapolation threshold beyond which the propagation will fail
      outputFrame - output frame
      attitudeReferenceFrame - reference frame from which attitude is defined
    • FieldSpacecraftStateInterpolator

      public FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, Frame attitudeReferenceFrame, CartesianDerivativesFilter pvaFilter, AngularDerivativesFilter angularFilter)
      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).

      BEWARE: output frame must be inertial if this instance is going to interpolate between tabulated spacecraft states defined by orbit, will throw an error otherwise.

      Parameters:
      interpolationPoints - number of interpolation points
      extrapolationThreshold - extrapolation threshold beyond which the propagation will fail
      outputFrame - output frame
      attitudeReferenceFrame - reference frame from which attitude is defined
      pvaFilter - filter for derivatives from the sample to use in position-velocity-acceleration interpolation
      angularFilter - filter for derivatives from the sample to use in attitude interpolation
    • FieldSpacecraftStateInterpolator

      public FieldSpacecraftStateInterpolator(int interpolationPoints, double extrapolationThreshold, Frame outputFrame, FieldTimeInterpolator<FieldOrbit<KK>,KK> orbitInterpolator, FieldTimeInterpolator<FieldAbsolutePVCoordinates<KK>,KK> absPVAInterpolator, FieldTimeInterpolator<TimeStampedField<KK>,KK> massInterpolator, FieldTimeInterpolator<FieldAttitude<KK>,KK> attitudeInterpolator, FieldTimeInterpolator<TimeStampedField<KK>,KK> additionalStateInterpolator)
      Constructor.

      BEWARE: output frame must be inertial if interpolated spacecraft states are defined by orbit. Throws an error otherwise.

      Parameters:
      interpolationPoints - number of interpolation points
      extrapolationThreshold - extrapolation threshold beyond which the propagation will fail
      outputFrame - output frame
      orbitInterpolator - orbit interpolator
      absPVAInterpolator - absolute position-velocity-acceleration
      massInterpolator - mass interpolator
      attitudeInterpolator - attitude interpolator
      additionalStateInterpolator - additional state interpolator
  • Method Details