Class GLONASSNumericalPropagator
- java.lang.Object
-
- org.orekit.propagation.AbstractPropagator
-
- org.orekit.propagation.integration.AbstractIntegratedPropagator
-
- org.orekit.propagation.numerical.GLONASSNumericalPropagator
-
- All Implemented Interfaces:
Propagator
,PVCoordinatesProvider
public class GLONASSNumericalPropagator extends AbstractIntegratedPropagator
This class propagates GLONASS orbits using numerical integration.As recommended by the GLONASS Interface Control Document (ICD), a
4th order Runge-Kutta technique
shall be used to integrate the equations.Classical used of this orbit propagator is to compute GLONASS satellite coordinates from the navigation message.
If the projections of luni-solar accelerations to axes of Greenwich geocentric coordinates
X''(tb)
,Y''(tb)
andZ''(tb)
are available in the navigation message; a transformation is performed to convert these accelerations into the correct coordinate system. In the case where they are not available into the navigation message, these accelerations are computed.Caution: The Glonass numerical propagator can only be used with
GLONASSNavigationMessage
. Using this propagator with aGLONASSAlmanac
is prone to error.- Author:
- Bryan Cazabonne
- See Also:
- GLONASS Interface Control Document
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.orekit.propagation.integration.AbstractIntegratedPropagator
AbstractIntegratedPropagator.MainStateEquations
-
-
Field Summary
-
Fields inherited from interface org.orekit.propagation.Propagator
DEFAULT_MASS
-
-
Constructor Summary
Constructors Constructor Description GLONASSNumericalPropagator(ClassicalRungeKuttaIntegrator integrator, GLONASSOrbitalElements glonassOrbit, Frame eci, AttitudeProvider provider, double mass, DataContext context, boolean isAccAvailable)
Private constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StateMapper
createMapper(AbsoluteDate referenceDate, double mu, OrbitType orbitType, PositionAngleType positionAngleType, AttitudeProvider attitudeProvider, Frame frame)
Create a mapper between raw double components and spacecraft state.GLONASSOrbitalElements
getGLONASSOrbitalElements()
Gets the underlying GLONASS orbital elements.protected AbstractIntegratedPropagator.MainStateEquations
getMainStateEquations(ODEIntegrator integ)
Get the differential equations to integrate (for main state only).SpacecraftState
propagate(AbsoluteDate date)
Propagate towards a target date.-
Methods inherited from class org.orekit.propagation.integration.AbstractIntegratedPropagator
addAdditionalDerivativesProvider, addEventDetector, afterIntegration, beforeIntegration, clearEventsDetectors, getAdditionalDerivativesProviders, getBasicDimension, getCalls, getEphemerisGenerator, getEventDetectors, getInitialIntegrationState, getIntegrator, getIntegratorName, getManagedAdditionalStates, getMu, getOrbitType, getPositionAngleType, getPropagationType, getResetAtEnd, initializeAttitudeProviderForDerivatives, initMapper, isAdditionalStateManaged, propagate, resetInitialState, setAttitudeProvider, setMu, setOrbitType, setPositionAngleType, setResetAtEnd, setUpEventDetector, setUpStmAndJacobianGenerators, setUpUserEventDetectors
-
Methods inherited from class org.orekit.propagation.AbstractPropagator
addAdditionalStateProvider, createHarvester, getAdditionalStateProviders, getAttitudeProvider, getFrame, getHarvester, getInitialState, getMultiplexer, getStartDate, initializeAdditionalStates, initializePropagation, resetInitialState, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.propagation.Propagator
clearStepHandlers, getPosition, getPVCoordinates, setStepHandler, setStepHandler
-
-
-
-
Constructor Detail
-
GLONASSNumericalPropagator
public GLONASSNumericalPropagator(ClassicalRungeKuttaIntegrator integrator, GLONASSOrbitalElements glonassOrbit, Frame eci, AttitudeProvider provider, double mass, DataContext context, boolean isAccAvailable)
Private constructor.- Parameters:
integrator
- Runge-Kutta integratorglonassOrbit
- Glonass orbital elementseci
- Earth Centered Inertial frameprovider
- Attitude providermass
- Satellite mass (kg)context
- Data contextisAccAvailable
- true if the acceleration is transmitted within the navigation message
-
-
Method Detail
-
getGLONASSOrbitalElements
public GLONASSOrbitalElements getGLONASSOrbitalElements()
Gets the underlying GLONASS orbital elements.- Returns:
- the underlying GLONASS orbital elements
-
propagate
public SpacecraftState propagate(AbsoluteDate date)
Propagate towards a target date.Simple propagators use only the target date as the specification for computing the propagated state. More feature rich propagators can consider other information and provide different operating modes or G-stop facilities to stop at pinpointed events occurrences. In these cases, the target date is only a hint, not a mandatory objective.
- Specified by:
propagate
in interfacePropagator
- Overrides:
propagate
in classAbstractIntegratedPropagator
- Parameters:
date
- target date towards which orbit state should be propagated- Returns:
- propagated state
-
createMapper
protected StateMapper createMapper(AbsoluteDate referenceDate, double mu, OrbitType orbitType, PositionAngleType positionAngleType, AttitudeProvider attitudeProvider, Frame frame)
Description copied from class:AbstractIntegratedPropagator
Create a mapper between raw double components and spacecraft state. /** Simple constructor.The position parameter type is meaningful only if
propagation orbit type
support it. As an example, it is not meaningful for propagation inCartesian
parameters.- Specified by:
createMapper
in classAbstractIntegratedPropagator
- Parameters:
referenceDate
- reference datemu
- central attraction coefficient (m³/s²)orbitType
- orbit type to use for mappingpositionAngleType
- angle type to use for propagationattitudeProvider
- attitude providerframe
- inertial frame- Returns:
- new mapper
-
getMainStateEquations
protected AbstractIntegratedPropagator.MainStateEquations getMainStateEquations(ODEIntegrator integ)
Description copied from class:AbstractIntegratedPropagator
Get the differential equations to integrate (for main state only).- Specified by:
getMainStateEquations
in classAbstractIntegratedPropagator
- Parameters:
integ
- numerical integrator to use for propagation.- Returns:
- differential equations for main state
-
-