Propagator Components
The Component Browser lets you examine the properties of any selected propagator and create a new one through the process of duplication and editing.
The Component Browser is configured with several propagators that can be used for common situations, such as Earth Point Mass, Earth Full, Lunar, and Heliocentric. In addition, you can create a new propagator, such as 'Venus J2' or 'Ceres Point Mass' by duplicating an existing propagator and redefining one or more of its parameters.
Each propagator component has the following property pages:
Page | Description |
---|---|
Propagator Functions | Add and remove propagator function components, and edit their fields on this page to define the forces that are to be modeled for the orbit propagation. |
Numerical Integrator | Edit the fields on this page to select the numerical integration algorithm used to integrate the accelerations of the spacecraft, as well as the constants that control the step size and accuracy of the propagation. |
Propagator Functions
To define the central body of the propagator, click and select one in the component selection window that appears. You can add, copy, delete and perform other actions on the force components by right-clicking in the table that lists them or by using the following toolbar buttons:
Button | Name | Function |
---|---|---|
![]() |
New... | Opens the component selection window, which allows you to select a propagator function component to assign to the propagator. |
![]() |
Cut | Removes the currently selected component from the list and copies it to the clipboard. |
![]() |
Copy | Makes a copy of the currently selected component to the clipboard. |
![]() |
Paste | Inserts a copy of the component that is currently on the clipboard. |
![]() |
Delete | Deletes the currently selected component. |
![]() |
Add To Component Browser | Copies the currently selected component to the Component Browser |
If you change the central body of a propagator, Astrogator will automatically adjust the components to be compatible with it. Components that have no relationship with the central body (i.e., SRP) will remain as they are. Components that have a relationship with the central body that can be made compatible with the new central body (i.e., gravity models) will be changed as needed; components that have a relationship with the central body that cannot be made compatible with the new central body (i.e., atmospheric models) will be removed from the propagator.
When you add a component to a propagator model you embed it, meaning that you are adding a copy of the component to the propagator, rather than linking the component from the Component Browser. This means that components that you add to a propagator can be edited within the propagator component's interface, and that any changes you make to the embedded copy will have no effect on the component as it exists in the Component Browser. In a like manner, changes that are made to the component in the Component Browser will not get updated to the propagator; to pick up a change that has been made to a component in the Component Browser, you will have to remove it from the propagator and add it again.
Numerical Integrators
The Numerical Integrator page allows you to select the type of integrator to be used by the propagator and define its parameters. Click the ellipsis to the right of the Numerical Integrator field and, in the selection window that appears, select the desired integrator. Astrogator provides eight numerical integrators that can be selected to define the algorithm used to integrate the accelerations of the spacecraft, as well as the constants that control the step size and accuracy of the propagation. Click the integrator name in the table below to view a description of its parameters.
Integrator | Description |
---|---|
Bulirsch-Stoer | An integrator based on Richardson extrapolation with automatic step size control. |
Gauss-Jackson | A 12th order Gauss-Jackson integrator for second order ODEs. There is currently no error control implemented for this method, meaning that a fixed step size is used. |
RK2nd3rd | A 2nd order Runge-Kutta integrator with 3rd order error control, using Bogacki and Shampine coefficients. |
RK4th | A 4th order Runge-Kutta integrator that does not employ error control. |
RK4th5th | A 4th order Runge-Kutta integrator with 5th order error control, using Cash-Karp coefficients. |
RK4thAdapt | A 4th order Runge-Kutta integrator, adapting step size by comparing one full step to two half steps. Although this technique can be quite slow compared to the other algorithms, it is very common and can be used for comparison. |
RKF7th8th | A 7th order Runge-Kutta-Fehlberg integrator with 8th order error control. This is the default integrator used in the HPOP propagator. |
RKV8th9th | A 9th order Runge-Kutta-Verner integrator with 8th order error control. |
If in doubt about which integrator to choose, select the RKF7th8th integrator, since it can be used for all situations and the parameter default values are set to achieve good precision for low Earth orbits.
Bulirsch-Stoer
These are the parameters that can be specified for the Bulirsch-Stoer integrator:
Parameter | Description |
---|---|
Use VOP | Select to use a variation of parameters in universal variables formulation of the equations of motion. |
Initial Step | The time interval, or step, from the initial point to the first point that the integrator evaluates. |
Use fixed step | Select to force the step size to remain constant throughout the integration of the orbit; error control is not employed and the related parameter fields are disabled. Using a large fixed step size can cause the integrator to produce inaccurate results. |
Maximum Step | Select to specify a maximum time interval permissible between two subsequent evaluations. |
Minimum Step | Select to specify a minimum time interval permissible between two subsequent evaluations. This can cause the integrator to produce inaccurate results, as the error control cannot adjust the step size below this value, regardless of whether it exceeds the error tolerance. |
Maximum Relative Error | The error tolerance for an individual integration step. If the calculated error exceeds the tolerance, the step size will be reduced; if the calculated error is less than the tolerance, the step size will be increased. |
Maximum Sequences | The maximum number of sequences to be taken for an individual step when attempting to meet the error tolerance. |
Maximum Iterations | The maximum number of trial steps to be taken when searching for a step size that meets the error tolerance. |
First Safety Coefficient | Scales the step size decrease that will be applied when the calculated error is too high. Used to control the aggressiveness of step size change. |
Second Safety Coefficient | Scales the step size increase that will be applied when the calculated error is within the error tolerance. Used to control the aggressiveness of step size change. |
Use (Regularized Time) |
Select "Use" to integrate the trajectory with respect to regularized time. The relationship between regularized and normal time is given by the following equation:![]() where n is a user provided exponent, defined by the Exponent field. |
Exponent | Defines the exponent for the regularized time equation. |
Steps per Orbit | Defines the step size in regularized time. |
The Bulirsch-Stoer integrator does not behave well with the Maximum Relative Error tolerance set to 1.0e-16 or below. The problem is due to the tolerance being of the same order as the truncation error. The result is extremely long run times.
Gauss-Jackson
These are the parameters that can be specified for the Gauss-Jackson predictor-corrector:
Gauss-Jackson Starting-Stopping Integrator
When you select Gauss-Jackson as the numerical integrator, an additional tab - Starting/Stopping Integrator - is displayed. The starting/stopping integrator is a single-step integrator that is used when starting the Gauss-Jackson integrator and when searching for stopping conditions; you can select any of the other numerical integrators to define the starting and stopping integrator.
The RK2nd3rd integrator cannot function as the starting integrator, so if you select it, it will function as the stopping integrator while using the (default) RK7th8th integrator as the starting integrator.
Variable-Step Runge-Kutta Integrators
These are the parameters that can be specified for the RK2nd3rd, RK4th5th, RK4thAdapt, RKF7th8th, and RKV8th9th integrators:
Parameter | Description |
---|---|
Use VOP | Select to use a variation of parameters in universal variables formulation of the equations of motion. |
Initial Step | The time interval, or step, from the initial point to the first point that the integrator evaluates. |
Coefficients | For the RKV8th9th integrator, select Efficient to use the latest, most efficient coefficients, or SIAM 1978 to use the original 1978 coefficients. |
Use fixed step | Select to force the step size to remain constant throughout the integration of the orbit; error control is not employed and the related parameter fields are disabled. Using a large fixed step size can cause the integrator to produce inaccurate results. |
Maximum Step | Select to specify a maximum time interval permissible between two subsequent evaluations. |
Minimum Step | Select to specify a minimum time interval permissible between two subsequent evaluations. This can cause the integrator to produce inaccurate results, as the error control cannot adjust the step size below this value, regardless of whether it exceeds the error tolerance. |
Error Control | Select from:
|
Maximum Absolute Error | Defines the error tolerance for an individual integration step in absolute terms. If the calculated error exceeds the absolute tolerance- regardless of whether the relative tolerance, if applicable, has been exceeded or not - the step will fail and the integrator will attempt the step again with a reduced size; if the calculated error is less than both the absolute tolerance and relative tolerance (if applicable), then the step size will be increased. |
Maximum Relative Error | If you have selected a relative form of error control, this field defines the relative error tolerance for an individual integration step based on the selected error control type. If the calculated error exceeds the relative tolerance- regardless of whether the absolute tolerance has been exceeded or not - the step will fail and the integrator will attempt the step again with a reduced size; if the calculated error is less than both the absolute tolerance and relative tolerance (if applicable), then the step size will be increased. |
Maximum Iterations | The maximum number of trial steps to be taken when searching for a step size that meets the error tolerance. |
High Safety Coefficient | Scales the step size decrease that will be applied when the calculated error is too high. Used to control the aggressiveness of step size change. |
Low Safety Coefficient | Scales the step size increase that will be applied when the calculated error is within the error tolerance. Used to control the aggressiveness of step size change. |
Use (Regularized Time) |
Select "Use" to integrate the trajectory with respect to regularized time. The relationship between regularized and normal time is given by the following equation:![]() where n is a user provided exponent, defined by the Exponent field. |
Exponent | Defines the exponent for the regularized time equation. |
Steps per Orbit | Defines the step size in regularized time. |
RK4th
The RK4th uses a fixed step size and does not employ error control. These are the parameters that can be specified for the RK4th integrator:
Parameter | Description |
---|---|
Use VOP | Select to use a variation of parameters in universal variables formulation of the equations of motion. |
Step Size | The time interval of the integration step. |
Use (Regularized Time) |
Select "Use" to integrate the trajectory with respect to regularized time. The relationship between regularized and normal time is given by the following equation:![]() where n is a user provided exponent, defined by the Exponent field. |
Exponent | Defines the exponent for the regularized time equation. |
Steps per Orbit | Defines the step size in regularized time. |
Integration Comparison Tests
A set of integration comparison tests were performed to evaluate the application of various integrator and equation of motion combinations to different force model configurations. For each case force model configuration, a reference trajectory was generated at a 10 second time step using the Runge-Kutta-Fehlberg 7/8 integrator with relative error control set at 1.0e-13. Trajectories generated with other integrator and equation of motion combinations were compared to these reference trajectories and the results tabulated in the sample file. All differences are the maximum positional differences during the integration time span and are given in meters. These tables are not meant to be a definitive guide to integrator selection, but may be used to assist in that process.