Class FieldEphemeris<T extends CalculusFieldElement<T>>
- All Implemented Interfaces:
FieldPropagator<T>,FieldBoundedPVCoordinatesProvider<T>,FieldPVCoordinatesProvider<T>,ParameterDriversProvider
- Since:
- 14.0
- Author:
- Luc Maisonobe, Vincent Cucchietti, Romain Serra
- See Also:
-
Field Summary
Fields inherited from interface org.orekit.propagation.FieldPropagator
DEFAULT_MASS -
Constructor Summary
ConstructorsConstructorDescriptionFieldEphemeris(List<FieldSpacecraftState<T>> states, int interpolationPoints) Constructor with tabulated states and default Hermite interpolation.FieldEphemeris(List<FieldSpacecraftState<T>> states, FieldTimeInterpolator<FieldSpacecraftState<T>, T> stateInterpolator) Constructor with tabulated states.FieldEphemeris(List<FieldSpacecraftState<T>> states, FieldTimeInterpolator<FieldSpacecraftState<T>, T> stateInterpolator, AttitudeProvider attitudeProvider) Constructor with tabulated states and attitude provider.FieldEphemeris(Field<T> field, Ephemeris ephemeris) Constructor from non-Field object. -
Method Summary
Modifier and TypeMethodDescriptionbasicPropagate(FieldAbsoluteDate<T> date) Propagate an orbit without any fancy features.voidcheckInputConsistency(List<FieldSpacecraftState<T>> states, FieldTimeInterpolator<FieldSpacecraftState<T>, T> interpolator) Check input consistency between states and the interpolator.voidCheck that all state are either orbit defined or based on absolute position-velocity-acceleration.getFrame()Get the frame in which the orbit is propagated.Get the propagator initial state.String[]Get all the names of all managed data.protected TgetMass(FieldAbsoluteDate<T> date) Get the mass.Get the last date of the range.Get the first date of the range.Get the drivers for parameters.Get state interpolator.Getter for the interpolated states.booleanCheck if an additional data is managed.propagateOrbit(FieldAbsoluteDate<T> date, T[] parameters) Propagate an orbit up to a specific target date.voidresetInitialState(FieldSpacecraftState<T> state) Try (and fail) to reset the initial state.protected voidresetIntermediateState(FieldSpacecraftState<T> state, boolean forward) Reset an intermediate state.Methods inherited from class org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator
acceptStep, addEventDetector, clearEventsDetectors, getEphemerisGenerator, getEventDetectors, propagateMethods inherited from class org.orekit.propagation.FieldAbstractPropagator
addAdditionalDataProvider, getAdditionalDataProviders, getAttitudeProvider, getField, getMultiplexer, getStartDate, initializeAdditionalData, initializePropagation, propagate, removeAdditionalDataProvider, setAttitudeProvider, setStartDate, stateChanged, updateAdditionalData, updateUnmanagedDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.propagation.FieldPropagator
clearStepHandlers, getPosition, getPVCoordinates, getVelocity, setStepHandler, setStepHandlerMethods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Constructor Details
-
FieldEphemeris
public FieldEphemeris(List<FieldSpacecraftState<T>> states, int interpolationPoints) throws MathIllegalArgumentException Constructor with tabulated states and default Hermite interpolation.- Parameters:
states- list of spacecraft statesinterpolationPoints- number of points to use in interpolation- Throws:
MathIllegalArgumentException- if the number of states is smaller than the number of points to use in interpolationOrekitIllegalArgumentException- if states are not defined the same way (orbit or absolute position-velocity-acceleration)- See Also:
-
FieldEphemeris
public FieldEphemeris(List<FieldSpacecraftState<T>> states, FieldTimeInterpolator<FieldSpacecraftState<T>, T> stateInterpolator) throws MathIllegalArgumentExceptionConstructor with tabulated states.- Parameters:
states- list of spacecraft statesstateInterpolator- spacecraft state interpolator- Throws:
MathIllegalArgumentException- if the number of states is smaller than the number of points to use in interpolationOrekitIllegalArgumentException- if states are not defined the same way (orbit or absolute position-velocity-acceleration)
-
FieldEphemeris
public FieldEphemeris(List<FieldSpacecraftState<T>> states, FieldTimeInterpolator<FieldSpacecraftState<T>, T> stateInterpolator, AttitudeProvider attitudeProvider) throws MathIllegalArgumentExceptionConstructor with tabulated states and attitude provider.- Parameters:
states- list of spacecraft statesstateInterpolator- spacecraft state interpolatorattitudeProvider- attitude law to use- Throws:
MathIllegalArgumentException- if the number of states is smaller than the number of points to use in interpolationOrekitIllegalArgumentException- if states are not defined the same way (orbit or absolute position-velocity-acceleration)
-
FieldEphemeris
Constructor from non-Field object.- Parameters:
field- fieldephemeris- ephemeris
-
-
Method Details
-
getStates
Getter for the interpolated states.- Returns:
- copy of states
-
checkInputConsistency
public void checkInputConsistency(List<FieldSpacecraftState<T>> states, FieldTimeInterpolator<FieldSpacecraftState<T>, T> interpolator) Check input consistency between states and the interpolator.- Parameters:
states- spacecraft states sampleinterpolator- spacecraft state interpolator
-
checkStatesDefinitionsConsistency
Check that all state are either orbit defined or based on absolute position-velocity-acceleration.- Parameters:
states- spacecraft state sample
-
getMinDate
Get the first date of the range.- Specified by:
getMinDatein interfaceFieldBoundedPVCoordinatesProvider<T extends CalculusFieldElement<T>>- Returns:
- the first date of the range
-
getMaxDate
Get the last date of the range.- Specified by:
getMaxDatein interfaceFieldBoundedPVCoordinatesProvider<T extends CalculusFieldElement<T>>- Returns:
- the last date of the range
-
getFrame
Get the frame in which the orbit is propagated.The propagation frame is the definition frame of the initial state, so this method should be called after this state has been set, otherwise it may return null.
- Specified by:
getFramein interfaceFieldPropagator<T extends CalculusFieldElement<T>>- Overrides:
getFramein classFieldAbstractPropagator<T extends CalculusFieldElement<T>>- Returns:
- frame in which the orbit is propagated
- See Also:
-
basicPropagate
Propagate an orbit without any fancy features.This method is similar in spirit to the
FieldAbstractAnalyticalPropagator.propagate(org.orekit.time.FieldAbsoluteDate<T>, org.orekit.time.FieldAbsoluteDate<T>)method, except that it does not call any handler during propagation, nor any discrete events, not additional states. It always stop exactly at the specified date.- Overrides:
basicPropagatein classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
date- target date for propagation- Returns:
- state at specified date
-
propagateOrbit
Propagate an orbit up to a specific target date.- Specified by:
propagateOrbitin classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
date- target date for the orbitparameters- model parameters- Returns:
- propagated orbit
-
getMass
Get the mass.- Specified by:
getMassin classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
date- target date for the orbit- Returns:
- mass mass
-
resetInitialState
Try (and fail) to reset the initial state.This method always throws an exception, as ephemerides cannot be reset.
- Specified by:
resetInitialStatein interfaceFieldPropagator<T extends CalculusFieldElement<T>>- Overrides:
resetInitialStatein classFieldAbstractPropagator<T extends CalculusFieldElement<T>>- Parameters:
state- new initial state to consider
-
resetIntermediateState
Reset an intermediate state.- Specified by:
resetIntermediateStatein classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
state- new intermediate state to considerforward- if true, the intermediate state is valid for propagations after itself
-
getInitialState
Get the propagator initial state.- Specified by:
getInitialStatein interfaceFieldPropagator<T extends CalculusFieldElement<T>>- Overrides:
getInitialStatein classFieldAbstractPropagator<T extends CalculusFieldElement<T>>- Returns:
- initial state
-
isAdditionalDataManaged
Check if an additional data is managed.Managed data are the ones for which the propagators know how to compute its evolution. They correspond to additional data for which an
additional data providerhas been registered by calling theaddAdditionalDataProvidermethod. If the propagator is anintegrator-based propagator, the states for which a set ofadditional derivatives providerhas been registered by calling theaddAdditionalDerivativesProvidermethod are also counted as managed additional states.Additional data that are present in the
initial statebut have no evolution method registered are not considered as managed data. These unmanaged additional data are not lost during propagation, though. Their value are piecewise constant between state resets that may change them if some event handlerresetStatemethod is called at an event occurrence and happens to change the unmanaged additional data.- Specified by:
isAdditionalDataManagedin interfaceFieldPropagator<T extends CalculusFieldElement<T>>- Overrides:
isAdditionalDataManagedin classFieldAbstractPropagator<T extends CalculusFieldElement<T>>- Parameters:
name- name of the additional data- Returns:
- true if the additional data is managed
-
getManagedAdditionalData
Get all the names of all managed data.- Specified by:
getManagedAdditionalDatain interfaceFieldPropagator<T extends CalculusFieldElement<T>>- Overrides:
getManagedAdditionalDatain classFieldAbstractPropagator<T extends CalculusFieldElement<T>>- Returns:
- names of all managed data
-
getStateInterpolator
Get state interpolator.- Returns:
- state interpolator
-
getParametersDrivers
Description copied from interface:ParameterDriversProviderGet the drivers for parameters.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-