Package org.orekit.orbits
Class FieldOrbitBlender<KK extends CalculusFieldElement<KK>>
- java.lang.Object
-
- org.orekit.time.AbstractFieldTimeInterpolator<FieldOrbit<KK>,KK>
-
- org.orekit.orbits.AbstractFieldOrbitInterpolator<KK>
-
- org.orekit.orbits.FieldOrbitBlender<KK>
-
- Type Parameters:
KK
- type of field element
- All Implemented Interfaces:
FieldTimeInterpolator<FieldOrbit<KK>,KK>
public class FieldOrbitBlender<KK extends CalculusFieldElement<KK>> extends AbstractFieldOrbitInterpolator<KK>
Orbit blender.Its purpose is to interpolate orbit state between tabulated orbit states using the concept of blending, exposed in : "Efficient Covariance Interpolation using Blending of Approximate State Error Transitions" by Sergei Tanygin, and applying it to orbit states instead of covariances.
It propagates tabulated values to the interpolating time using given analytical propagator and then blend each propagated states using a smoothstep function. It gives especially good results as explained here compared to Hermite interpolation when time steps between tabulated values get significant (In LEO, > 10 mn for example).
- Author:
- Vincent Cucchietti
- See Also:
SmoothStepFactory
,SmoothStepFactory.FieldSmoothStepFunction
-
-
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 FieldOrbitBlender(SmoothStepFactory.FieldSmoothStepFunction<KK> blendingFunction, FieldAbstractAnalyticalPropagator<KK> analyticalPropagator, Frame outputInertialFrame)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldOrbit<KK>
interpolate(AbstractFieldTimeInterpolator.InterpolationData interpolationData)
Interpolate instance from given interpolation data.-
Methods inherited from class org.orekit.orbits.AbstractFieldOrbitInterpolator
getOutputInertialFrame, interpolate
-
Methods inherited from class org.orekit.time.AbstractFieldTimeInterpolator
addOptionalSubInterpolatorIfDefined, checkInterpolatorCompatibilityWithSampleSize, getCentralDate, getCentralDate, getExtrapolationThreshold, getNbInterpolationPoints, getSubInterpolators, getTimeParameter, 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
-
FieldOrbitBlender
public FieldOrbitBlender(SmoothStepFactory.FieldSmoothStepFunction<KK> blendingFunction, FieldAbstractAnalyticalPropagator<KK> analyticalPropagator, Frame outputInertialFrame)
Default constructor.- Parameters:
blendingFunction
-smoothstep function
used for blendinganalyticalPropagator
- analytical propagator used to propagate tabulated orbits to interpolating timeoutputInertialFrame
- output inertial frame- Throws:
OrekitException
- if output frame is not inertial
-
-
Method Detail
-
interpolate
public FieldOrbit<KK> interpolate(AbstractFieldTimeInterpolator.InterpolationData interpolationData)
Interpolate instance from given interpolation data.- Specified by:
interpolate
in classAbstractFieldTimeInterpolator<FieldOrbit<KK extends CalculusFieldElement<KK>>,KK extends CalculusFieldElement<KK>>
- Parameters:
interpolationData
- interpolation data- Returns:
- interpolated instance from given interpolation data.
-
-