Class FieldGnssPropagator<T extends CalculusFieldElement<T>,O extends GNSSOrbitalElements<O>>
- Type Parameters:
T- type of the field elementsO- type of the orbital elements (non-field version)
- All Implemented Interfaces:
FieldPropagator<T>,FieldPVCoordinatesProvider<T>,ParameterDriversProvider
FieldAbstractAnalyticalPropagator methods for GNSS propagators.
This class allows to provide easily a subset of FieldAbstractAnalyticalPropagator methods
for specific GNSS propagators.
- Since:
- 13.0
- Author:
- Pascal Parraud, Luc Maisonobe
-
Field Summary
Fields inherited from interface org.orekit.propagation.FieldPropagator
DEFAULT_MASS -
Constructor Summary
ConstructorsConstructorDescriptionFieldGnssPropagator(Field<T> field, GNSSOrbitalElementsFactory<O> factory) Build a new instance.FieldGnssPropagator(FieldGnssOrbitalElements<T, O> orbitalElements, Frame eci, Frame ecef, AttitudeProvider provider, T mass) Build a new instance.FieldGnssPropagator(FieldSpacecraftState<T> initialState, FieldGnssOrbitalElements<T, O> nonKeplerianElements, Frame ecef, AttitudeProvider provider, T mass) Build a new instance from an initial state. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends CalculusFieldElement<T>,O extends GNSSOrbitalElements<O>>
FieldGnssOrbitalElements<T, O> buildOrbitalElements(FieldSpacecraftState<T> initialState, FieldGnssOrbitalElements<T, O> nonKeplerianElements, NonKeplerianDriversFactory driversFactory, Frame ecef, AttitudeProvider provider, T mass) Build orbital elements from initial state.getECEF()Gets the Earth Centered Earth Fixed frame used to propagate GNSS orbits according to the Interface Control Document.getECI()Gets the Earth Centered Inertial frame used to propagate the orbit.getFrame()Get the frame in which the orbit is propagated.protected TgetMass(FieldAbsoluteDate<T> date) Get the mass.getMU()Gets the Earth gravity coefficient used for GNSS propagation.Get the underlying GNSS propagation orbital elements.Get the drivers for parameters.propagateInEcef(FieldAbsoluteDate<T> date, T[] parameters) Gets the PVCoordinates of the GNSS SV inECEF frame.propagateOrbit(FieldAbsoluteDate<T> date, T[] parameters) Propagate an orbit up to a specific target date.voidresetInitialState(FieldSpacecraftState<T> state) Reset the propagator initial state.protected voidresetIntermediateState(FieldSpacecraftState<T> state, boolean forward) Reset an intermediate state.Methods inherited from class org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator
acceptStep, addEventDetector, basicPropagate, clearEventsDetectors, getEphemerisGenerator, getEventDetectors, propagateMethods inherited from class org.orekit.propagation.FieldAbstractPropagator
addAdditionalDataProvider, getAdditionalDataProviders, getAttitudeProvider, getBaseInitialState, getField, getInitialState, getManagedAdditionalData, getMultiplexer, getStartDate, initializeAdditionalData, initializePropagation, isAdditionalDataManaged, 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, getParameterDriverWithSubstring, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Constructor Details
-
FieldGnssPropagator
Build a new instance.The attitude provider is set by default to be aligned with the provided inertial frame. This can be changed (typically to
GenericGNSS) after construction by callingsetAttitudeProviderThe mass is set to the
DEFAULT_MASS.- Parameters:
field- field to which elements belongfactory- factory for the elements and frames- Since:
- 14.0
-
FieldGnssPropagator
public FieldGnssPropagator(FieldGnssOrbitalElements<T, O> orbitalElements, Frame eci, Frame ecef, AttitudeProvider provider, T mass) Build a new instance.- Parameters:
orbitalElements- GNSS orbital elementseci- Earth Centered Inertial frameecef- Earth Centered Earth Fixed frameprovider- Attitude providermass- Satellite mass (kg)
-
FieldGnssPropagator
public FieldGnssPropagator(FieldSpacecraftState<T> initialState, FieldGnssOrbitalElements<T, O> nonKeplerianElements, Frame ecef, AttitudeProvider provider, T mass) Build a new instance from an initial state.The Keplerian elements already present in the
nonKeplerianElementsargument will be ignored as it is theinitialStateargument that will be used to build the complete orbital elements of the propagator- Parameters:
initialState- initial statenonKeplerianElements- non-Keplerian orbital elements (the Keplerian orbital elements will be ignored)ecef- Earth Centered Earth Fixed frameprovider- attitude providermass- spacecraft mass
-
-
Method Details
-
getParametersDrivers
Get the drivers for parameters.- Returns:
- drivers for parameters
-
getECI
Gets the Earth Centered Inertial frame used to propagate the orbit.- Returns:
- the ECI frame
-
getECEF
Gets the Earth Centered Earth Fixed frame used to propagate GNSS orbits according to the Interface Control Document.- Returns:
- the ECEF frame
-
getMU
Gets the Earth gravity coefficient used for GNSS propagation.- Returns:
- the Earth gravity coefficient.
-
getOrbitalElements
Get the underlying GNSS propagation orbital elements.- Returns:
- the underlying GNSS orbital elements
- Since:
- 14.0
-
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
-
propagateInEcef
Gets the PVCoordinates of the GNSS SV inECEF frame.The algorithm uses automatic differentiation to compute velocity and acceleration.
- Parameters:
date- the computation dateparameters- propagation parameters- Returns:
- the GNSS SV PVCoordinates in
ECEF frame
-
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:
-
getMass
Get the mass.- Specified by:
getMassin classFieldAbstractAnalyticalPropagator<T extends CalculusFieldElement<T>>- Parameters:
date- target date for the orbit- Returns:
- mass mass
-
resetInitialState
Reset the propagator initial state.- 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
-
buildOrbitalElements
public static <T extends CalculusFieldElement<T>,O extends GNSSOrbitalElements<O>> FieldGnssOrbitalElements<T,O> buildOrbitalElements(FieldSpacecraftState<T> initialState, FieldGnssOrbitalElements<T, O> nonKeplerianElements, NonKeplerianDriversFactory driversFactory, Frame ecef, AttitudeProvider provider, T mass) Build orbital elements from initial state.This method is roughly the inverse of
propagateInEcef(FieldAbsoluteDate, CalculusFieldElement[]), except it starts from a state in inertial frame- Type Parameters:
T- type of the field elementsO- type of the orbital elements (non-field version)- Parameters:
initialState- initial statenonKeplerianElements- non-Keplerian orbital elements (the Keplerian orbital elements will be overridden)driversFactory- factory for non-Keplerian driversecef- Earth Centered Earth Fixed frameprovider- attitude providermass- satellite mass (kg)- Returns:
- orbital elements that generate the
initialStatewhen used with a propagator
-