Orbit Propagation Library is now available in the AGI Components 2011 r6 release for .NET, Java, and Silverlight! Go to the ADN Download Center for more information and to view the Orbit Propagation Library Documentation Overview. Users can now propagate a satellite’s state over time using provided and custom force and environment models.
Orbit track showing perturbations from the effects of the Earth's oblateness.
AGI Components previously had a variety of simpler orbit propagators such as the Sgp4Propagator, as well as the NavstarISGps200DPropagator targeted solely for GPS satellites. With the addition of the NumericalPropagator in the Dynamic Geometry Library and the force models in the Orbit Propagation Library, users can now propagate a satellite with the same accuracy attainable with STK’s High Precision Orbit Propagator (HPOP).
Force and Environment Models
A variety of force and environment models are provided in Orbit Propagation Library, and the extensibility of the library allows users to specify their own custom models. This release includes the following models:
- Spherical harmonic gravity of an arbitrary degree and order and permanent solid tides.
- Two body gravity, which treats each body as a point-mass.
- Third body gravity, which models point-mass gravity of an arbitrary number of additional bodies.
- Atmospheric drag, with a density determined by either the Jacchia-Roberts model, MSIS 2000, MSIS 90 or MSIS 86.
- Solar radiation pressure with dual-cone or cylindrical occlusion as well as boundary mitigation.
Additions to DGL
While the new force and environment models are located in the Orbit Propagation Library, the NumericalPropagator, integrators and other associated types have been added to the Dynamic Geometry Library, allowing all of our existing users to take advantage of them.
Our NumericalIntegrators can also be used outside of propagation. The following integrators are provided: RungeKutta4Integrator, RungeKuttaFehlberh78Integrator, GaussJacksonIntegrator and BulirschStoerIntegrator.
The first step to configuring the propagator is to create PropagationStateElements like PropagationScalar, PropagationVector (and PropagationNewtonianPoint with the Orbit Propagation Library) with derivatives defined from DGL geometry types and an initial state. Once these state elements, a JulianDate epoch, and a NumericalIntegrator are added to a NumericalPropagatorDefinition, a NumericalPropagator can be produced.
Once the propagator is created, it can propagate the state forward or backward in time, producing output at a specified frequency over an interval or simply producing the state at the final time. Each propagator is thread-safe, so the propagation of multiple satellites can be split among multiple propagators and run simultaneously in different threads. In addition, users can dynamically monitor and control the progress of the propagation from another thread.
Remarks and Future Development
In the coming months we plan to add new capabilities to the library with the addition of the ability to propagate covariance and orientation. We will also implement improvements to our current capabilities, such as adding support for time-varying solid and liquid tides to the spherical harmonic gravity model. If you or someone else on your team has any questions about Orbit Propagation Library, how to extend it to implement custom functionality, or if you have a feature request, please feel free to post on our ADN discussion forums.