Class GNSSPropagator

All Implemented Interfaces:
Propagator, PVCoordinatesProvider

public class GNSSPropagator extends AbstractAnalyticalPropagator
Common handling of AbstractAnalyticalPropagator methods for GNSS propagators.

This class allows to provide easily a subset of AbstractAnalyticalPropagator methods for specific GNSS propagators.

Author:
Pascal Parraud
  • Method Details

    • getECI

      public Frame getECI()
      Gets the Earth Centered Inertial frame used to propagate the orbit.
      Returns:
      the ECI frame
    • getECEF

      public 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

      public double getMU()
      Gets the Earth gravity coefficient used for GNSS propagation.
      Returns:
      the Earth gravity coefficient.
    • getOrbitalElements

      public GNSSOrbitalElements<?> getOrbitalElements()
      Get the underlying GNSS propagation orbital elements.
      Returns:
      the underlying GNSS orbital elements
      Since:
      13.0
    • createHarvester

      protected AbstractMatricesHarvester createHarvester(String stmName, RealMatrix initialStm, DoubleArrayDictionary initialJacobianColumns)
      Create the harvester suitable for propagator.
      Overrides:
      createHarvester in class AbstractPropagator
      Parameters:
      stmName - State Transition Matrix state name
      initialStm - initial State Transition Matrix ∂Y/∂Y₀, if null (which is the most frequent case), assumed to be 6x6 identity
      initialJacobianColumns - initial columns of the Jacobians matrix with respect to parameters, if null or if some selected parameters are missing from the dictionary, the corresponding initial column is assumed to be 0
      Returns:
      harvester to retrieve computed matrices during and after propagation
      Since:
      13.0
    • getJacobiansColumnsNames

      protected List<String> getJacobiansColumnsNames()
      Get the names of the parameters in the matrix returned by MatricesHarvester.getParametersJacobian(org.orekit.propagation.SpacecraftState).
      Overrides:
      getJacobiansColumnsNames in class AbstractAnalyticalPropagator
      Returns:
      names of the parameters (i.e. columns) of the Jacobian matrix
      Since:
      13.0
    • propagateOrbit

      public Orbit propagateOrbit(AbsoluteDate date)
      Extrapolate an orbit up to a specific target date.
      Specified by:
      propagateOrbit in class AbstractAnalyticalPropagator
      Parameters:
      date - target date for the orbit
      Returns:
      extrapolated parameters
    • propagateInEcef

      public PVCoordinates propagateInEcef(AbsoluteDate date)
      Gets the PVCoordinates of the GNSS SV in ECEF frame.

      The algorithm uses automatic differentiation to compute velocity and acceleration.

      Parameters:
      date - the computation date
      Returns:
      the GNSS SV PVCoordinates in ECEF frame
    • getFrame

      public 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:
      getFrame in interface Propagator
      Overrides:
      getFrame in class AbstractPropagator
      Returns:
      frame in which the orbit is propagated
      See Also:
    • getMass

      protected double getMass(AbsoluteDate date)
      Get the mass.
      Specified by:
      getMass in class AbstractAnalyticalPropagator
      Parameters:
      date - target date for the orbit
      Returns:
      mass mass
    • resetInitialState

      public void resetInitialState(SpacecraftState state)
      Reset the propagator initial state.
      Specified by:
      resetInitialState in interface Propagator
      Overrides:
      resetInitialState in class AbstractPropagator
      Parameters:
      state - new initial state to consider
    • resetIntermediateState

      protected void resetIntermediateState(SpacecraftState state, boolean forward)
      Reset an intermediate state.
      Specified by:
      resetIntermediateState in class AbstractAnalyticalPropagator
      Parameters:
      state - new intermediate state to consider
      forward - if true, the intermediate state is valid for propagations after itself