FieldBoundedPropagator<T>, FieldPropagator<T>, FieldPVCoordinatesProvider<T>public class FieldIntegratedEphemeris<T extends org.hipparchus.RealFieldElement<T>> extends FieldAbstractAnalyticalPropagator<T> implements FieldBoundedPropagator<T>
Instances of this class are built and then must be fed with the results
provided by Propagator objects
configured in ephemeris generation mode. Once propagation is o, random access to any
intermediate state of the orbit throughout the propagation range is possible.
A typical use case is for numerically integrated orbits, which can be used by algorithms that need to wander around according to their own algorithm without cumbersome tight links with the integrator.
Another use case is persistence, as this class is one of the few propagators to be serializable.
As this class implements the Propagator
interface, it can itself be used in batch mode to build another instance of the
same type. This is however not recommended since it would be a waste of resources.
Note that this class stores all intermediate states along with interpolation models, so it may be memory intensive.
NumericalPropagatorDEFAULT_LAW, DEFAULT_MASS, EPHEMERIS_GENERATION_MODE, MASTER_MODE, SLAVE_MODE| Constructor | Description |
|---|---|
FieldIntegratedEphemeris(FieldAbsoluteDate<T> startDate,
FieldAbsoluteDate<T> minDate,
FieldAbsoluteDate<T> maxDate,
FieldStateMapper<T> mapper,
boolean meanFieldOrbit,
org.hipparchus.ode.FieldDenseOutputModel<T> model,
Map<String,T[]> unmanaged,
List<FieldAdditionalStateProvider<T>> providers,
String[] equations) |
Creates a new instance of IntegratedEphemeris.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected FieldSpacecraftState<T> |
basicPropagate(FieldAbsoluteDate<T> date) |
Propagate an orbit without any fancy features.
|
Frame |
getFrame() |
Get the frame in which the orbit is propagated.
|
FieldSpacecraftState<T> |
getInitialState() |
Get the propagator initial state.
|
protected T |
getMass(FieldAbsoluteDate<T> date) |
Get the mass.
|
FieldAbsoluteDate<T> |
getMaxDate() |
Get the last date of the range.
|
FieldAbsoluteDate<T> |
getMinDate() |
Get the first date of the range.
|
TimeStampedFieldPVCoordinates<T> |
getPVCoordinates(FieldAbsoluteDate<T> date,
Frame frame) |
Get the
FieldPVCoordinates of the body in the selected frame. |
protected FieldOrbit<T> |
propagateOrbit(FieldAbsoluteDate<T> date) |
Extrapolate an orbit up to a specific target date.
|
void |
resetInitialState(FieldSpacecraftState<T> state) |
Reset the propagator initial state.
|
protected void |
resetIntermediateState(FieldSpacecraftState<T> state,
boolean forward) |
Reset an intermediate state.
|
acceptStep, addEventDetector, clearEventsDetectors, getEventsDetectors, getGeneratedEphemeris, getPvProvider, propagateaddAdditionalStateProvider, getAdditionalStateProviders, getAttitudeProvider, getField, getFixedStepSize, getManagedAdditionalStates, getMode, getStartDate, getStepHandler, isAdditionalStateManaged, propagate, setAttitudeProvider, setEphemerisMode, setMasterMode, setMasterMode, setSlaveMode, setStartDate, updateAdditionalStatesaddAdditionalStateProvider, addEventDetector, clearEventsDetectors, getAdditionalStateProviders, getAttitudeProvider, getEventsDetectors, getGeneratedEphemeris, getManagedAdditionalStates, getMode, isAdditionalStateManaged, propagate, propagate, setAttitudeProvider, setEphemerisMode, setMasterMode, setMasterMode, setSlaveModepublic FieldIntegratedEphemeris(FieldAbsoluteDate<T> startDate, FieldAbsoluteDate<T> minDate, FieldAbsoluteDate<T> maxDate, FieldStateMapper<T> mapper, boolean meanFieldOrbit, org.hipparchus.ode.FieldDenseOutputModel<T> model, Map<String,T[]> unmanaged, List<FieldAdditionalStateProvider<T>> providers, String[] equations)
startDate - Start date of the integration (can be minDate or maxDate)minDate - first date of the rangemaxDate - last date of the rangemapper - mapper between raw double components and spacecraft statemeanFieldOrbit - output only the mean orbitmodel - underlying raw mathematical modelunmanaged - unmanaged additional states that must be simply copiedproviders - providers for pre-integrated statesequations - names of additional equationsprotected FieldSpacecraftState<T> basicPropagate(FieldAbsoluteDate<T> date)
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.
basicPropagate in class FieldAbstractAnalyticalPropagator<T extends org.hipparchus.RealFieldElement<T>>date - target date for propagationprotected FieldOrbit<T> propagateOrbit(FieldAbsoluteDate<T> date)
propagateOrbit in class FieldAbstractAnalyticalPropagator<T extends org.hipparchus.RealFieldElement<T>>date - target date for the orbitprotected T getMass(FieldAbsoluteDate<T> date)
getMass in class FieldAbstractAnalyticalPropagator<T extends org.hipparchus.RealFieldElement<T>>date - target date for the orbitpublic TimeStampedFieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> date, Frame frame)
FieldPVCoordinates of the body in the selected frame.getPVCoordinates in interface FieldPVCoordinatesProvider<T extends org.hipparchus.RealFieldElement<T>>getPVCoordinates in class FieldAbstractPropagator<T extends org.hipparchus.RealFieldElement<T>>date - current dateframe - the frame where to define the positionpublic FieldAbsoluteDate<T> getMinDate()
getMinDate in interface FieldBoundedPropagator<T extends org.hipparchus.RealFieldElement<T>>public FieldAbsoluteDate<T> getMaxDate()
getMaxDate in interface FieldBoundedPropagator<T extends org.hipparchus.RealFieldElement<T>>public Frame getFrame()
FieldAbstractPropagatorThe 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.
getFrame in interface FieldPropagator<T extends org.hipparchus.RealFieldElement<T>>getFrame in class FieldAbstractPropagator<T extends org.hipparchus.RealFieldElement<T>>FieldPropagator.resetInitialState(FieldSpacecraftState)public void resetInitialState(FieldSpacecraftState<T> state)
resetInitialState in interface FieldPropagator<T extends org.hipparchus.RealFieldElement<T>>resetInitialState in class FieldAbstractPropagator<T extends org.hipparchus.RealFieldElement<T>>state - new initial state to considerprotected void resetIntermediateState(FieldSpacecraftState<T> state, boolean forward)
resetIntermediateState in class FieldAbstractAnalyticalPropagator<T extends org.hipparchus.RealFieldElement<T>>state - new intermediate state to considerforward - if true, the intermediate state is valid for
propagations after itselfpublic FieldSpacecraftState<T> getInitialState()
getInitialState in interface FieldPropagator<T extends org.hipparchus.RealFieldElement<T>>getInitialState in class FieldAbstractPropagator<T extends org.hipparchus.RealFieldElement<T>>Copyright © 2002-2019 CS Systèmes d'information. All rights reserved.