public class GLONASSNumericalPropagator extends AbstractIntegratedPropagator
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)
and Z''(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 a GLONASSAlmanac
is prone to error.
AbstractIntegratedPropagator.MainStateEquations
DEFAULT_MASS
Constructor and Description |
---|
GLONASSNumericalPropagator(ClassicalRungeKuttaIntegrator integrator,
GLONASSOrbitalElements glonassOrbit,
Frame eci,
AttitudeProvider provider,
double mass,
DataContext context,
boolean isAccAvailable)
Private constructor.
|
Modifier and Type | Method and Description |
---|---|
protected StateMapper |
createMapper(AbsoluteDate referenceDate,
double mu,
OrbitType orbitType,
PositionAngle 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.
|
addAdditionalDerivativesProvider, addAdditionalEquations, addEventDetector, afterIntegration, beforeIntegration, clearEventsDetectors, getAdditionalDerivativesProviders, getBasicDimension, getCalls, getEphemerisGenerator, getEventsDetectors, getInitialIntegrationState, getIntegrator, getManagedAdditionalStates, getMu, getOrbitType, getPositionAngleType, getPropagationType, initMapper, isAdditionalStateManaged, isMeanOrbit, propagate, setAttitudeProvider, setMu, setOrbitType, setPositionAngleType, setResetAtEnd, setUpEventDetector, setUpStmAndJacobianGenerators, setUpUserEventDetectors
addAdditionalStateProvider, createHarvester, getAdditionalStateProviders, getAttitudeProvider, getFrame, getHarvester, getInitialState, getMultiplexer, getPVCoordinates, getStartDate, initializeAdditionalStates, initializePropagation, resetInitialState, setStartDate, setupMatricesComputation, stateChanged, updateAdditionalStates, updateUnmanagedStates
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clearStepHandlers, getDefaultLaw, setStepHandler, setStepHandler
public GLONASSNumericalPropagator(ClassicalRungeKuttaIntegrator integrator, GLONASSOrbitalElements glonassOrbit, Frame eci, AttitudeProvider provider, double mass, DataContext context, boolean isAccAvailable)
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 messagepublic GLONASSOrbitalElements getGLONASSOrbitalElements()
public SpacecraftState propagate(AbsoluteDate 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.
propagate
in interface Propagator
propagate
in class AbstractIntegratedPropagator
date
- target date towards which orbit state should be propagatedprotected StateMapper createMapper(AbsoluteDate referenceDate, double mu, OrbitType orbitType, PositionAngle positionAngleType, AttitudeProvider attitudeProvider, Frame frame)
AbstractIntegratedPropagator
The position parameter type is meaningful only if propagation orbit type
support it. As an example, it is not meaningful for propagation
in Cartesian
parameters.
createMapper
in class AbstractIntegratedPropagator
referenceDate
- reference datemu
- central attraction coefficient (m³/s²)orbitType
- orbit type to use for mappingpositionAngleType
- angle type to use for propagationattitudeProvider
- attitude providerframe
- inertial frameprotected AbstractIntegratedPropagator.MainStateEquations getMainStateEquations(ODEIntegrator integ)
AbstractIntegratedPropagator
getMainStateEquations
in class AbstractIntegratedPropagator
integ
- numerical integrator to use for propagation.Copyright © 2002-2023 CS GROUP. All rights reserved.