Propagator Components

A propagator component comprises a numerical integrator and a set of propagator functions. The numerical integrator defines the algorithm used to integrate the accelerations of the spacecraft and the constants that control the step size and accuracy of the propagation. Propagator functions define the external forces that will influence the spacecraft's trajectory.

Propagator Functions

You can use the Propagator Functions tab to select and define the external forces that you want to model. Astrogator will apply them to the numerical integrator when it calculates the spacecraft's trajectory.

Defining the central body

Click next to the Central Body field to select the central body of the propagator from the Select CentralBody dialog box.

If you change the central body of a propagator, Astrogator will adjust the propagator functions. It will try to correct functions that are incompatible with the new central body. If a function cannot be compatible with the new central body, Astrogator will remove it.

Selecting propagator functions

You can apply five types of propagator functions to your propagator: atmospheric models, gravity models, plugins, SRP models, and third bodies. Click to select components from the Propagator Functions folder or any of its subfolders. A propagator can have as many third-body components as you want, but it can only have one component of each of the other types. You can right-click a selected component or use the toolbar buttons to cut, copy, paste, or delete it.

When you add a function to a propagator model, Astrogator embeds a copy of the component in that model. If you edit the function within the propagator model, the original component remains unchanged. If you edit the original component, the copy that you have embedded in the propagator model will remain unchanged. You will need to remove the function component and replace it if you want to use the new version.

To save a propagator function embedded in a propagator model as a new component, select it in the list and then click .

Numerical integrators

You can use the Numerical Integrator tab to select the type of integrator for the propagator to use and to define the integrator's parameters. Click to select integrator components from the Numerical Integrator List. You can right-click a selected component or use the toolbar buttons to cut, copy, paste, or delete it. You can add as many integrators to the tab list as are available in the New Function Numerical Integrator List. This tab list becomes the available integrator list for that particular propagator at any place in Astrogator where you select propagator/integrator pairs.

Astrogator provides eight numerical integrators, which are briefly described in the table below. Click the name of an integrator in this table to skip to the section of this topic that provides a full description of it.

Astrogator Numerical Integrators

Integrator Description
Bulirsch-Stoer An integrator based on Richardson extrapolation with automatic step-size control
Gauss-Jackson A twelfth-order Gauss-Jackson integrator for second-order ODEs; does not use error control, meaning that it uses a fixed step size
RK2nd3rd A second-order Runge-Kutta integrator with third-order error control, using Bogacki and Shampine coefficients
RK4th A fourth-order Runge-Kutta integrator that does not use error control
RK4th5th A fourth-order Runge-Kutta integrator with fifth-order error control, using Cash-Karp coefficients
RK4thAdapt A fourth-order Runge-Kutta integrator that adapts step size by comparing one full step to two half steps; can be slow compared to the other algorithms, but is very common and can be used for comparison
RKF7th8th A seventh-order Runge-Kutta-Fehlberg integrator with eighth-order error control; the default integrator used in the HPOP propagator
RKV8th9th A ninth-order Runge-Kutta-Verner integrator with eighth-order error control

The RKV8th9thEfficient integration method utilizes Jim Verner's coefficients, available at https://www.sfu.ca/~jverner.

If you don't know which integrator to choose, select the RKF7th8th integrator. It works for all situations, and the parameter default values are precise for low-Earth orbits.

Bulirsch-Stoer

Bulirsch-Stoer parameters

Parameter Description
Use VOP Select this option to use a variation of parameters in universal variables formulation of the equations of motion.
Initial Step This is the time interval from the initial point to the first point that the integrator evaluates.
Use fixed step Select this option 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 this option to specify a maximum time interval between two subsequent evaluations.
Minimum Step Select this option to specify a minimum time interval between two subsequent evaluations. This can cause the integrator to produce inaccurate results because the error control cannot adjust the step size below this value, regardless of whether it exceeds the error tolerance.
Maximum Relative Error This is the error tolerance for an individual integration step. If the calculated error exceeds the tolerance, the integrator will reduce the step size. If the calculated error is less than the tolerance, the integrator will increase the step size.
Maximum Sequences This is the maximum number of sequences to be taken for an individual step when attempting to meet the error tolerance.
Maximum Iterations This is the maximum number of trial steps to be taken when searching for a step size that meets the error tolerance.
First Safety Coefficient This is a coefficient that scales the decrease in step size that will be applied when the calculated error is too high. The algorithm uses it to control the magnitude of step size changes.
Second Safety Coefficient This is a coefficient that scales the increase in step size that will be applied when the calculated error is within the error tolerance. The algorithm uses it to control the magnitude of step size changes.
Use
(Regularized Time)
Select this option 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 This is the exponent for the regularized time equation.
Steps per Orbit This is the step size in regularized time.

The Bulirsch-Stoer integrator does not function efficiently with the Maximum Relative Error tolerance set to 1.0e-16 or below. This is because the tolerance is of the same order as the truncation error. The result is extremely long run times.

Gauss-Jackson

Gauss-Jackson predictor-corrector parameters

Parameter Description
Step Size Enter the time interval of the integration step.
Predictor Corrector Scheme Select one of the following:
  • Full Correction - The algorithm reevaluates all force models at each corrector step.
  • Pseudo Correction - The algorithm only reevaluates the two-body acceleration at each corrector step.
Max Corrector Iterations The maximum number of iterations that the Predictor Corrector will attempt to meet the relative error tolerance.
Relative Error Tolerance The error tolerance for an individual Predictor Corrector step.
Use
(Regularized Time)
Select this check box 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 Enter the exponent for the regularized time equation.
Steps per Orbit Enter the step size in regularized time.

Gauss-Jackson Starting-Stopping Integrator

When you select Gauss-Jackson as the numerical integrator, the Propagator dialog box presents a section called Starting/Stopping Integrator. This integrator is a single-step integrator that Astrogator uses 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. 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

RK2nd3rd, RK4th5th, RK4thAdapt, RKF7th8th, and RKV8th9th integrator parameters

Parameter Description
Use VOP Select this option to use a variation of parameters in universal variables formulation of the equations of motion.
Initial Step Enter the time interval from the initial point to the first point that the integrator evaluates.
Coefficients For the RKV8th9th integrator, select Efficient to use the most recent and efficient coefficients or SIAM 1978 to use the original 1978 coefficients.
Use fixed step Select this option 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 this option to specify a maximum time interval between two subsequent evaluations.
Minimum Step Select this option to specify a minimum time interval between two subsequent evaluations. This can cause the integrator to produce inaccurate results because the error control cannot adjust the step size below this value, regardless of whether it exceeds the error tolerance.
Error Control Select an option from the menu to define the error control that you want to apply for the integrator:
  • Absolute - The error estimate of each integrated component is compared to the absolute error tolerance. Error control with this method is based on absolute values, such as meters for position and m/sec for velocity.
  • Relative to state - The magnitude of the vector error estimate for integrated vectors, such as position and velocity, relative to the magnitude of those vectors. The error estimate of nonvector elements, like mass during thrusting, relative to the magnitude of those elements are compared on an individual basis to the relative error tolerance. The magnitudes of those error values are also compared to the absolute error tolerances.
  • Relative to step - The error estimate of each integrated component relative to the element's change in value over the step is compared to the relative error tolerance, and the absolute error estimate of each integrated component is compared to the absolute error tolerance. Error control is relative to the size of the current step of the state, such as delta X for X and delta Y for Y.
  • Relative by component - The error estimate of each element being integrated relative to the element's value at the start of the step is compared to the relative error tolerance, and the absolute error estimate of each element is compared to the absolute error tolerance.
Maximum Absolute Error Defines the error tolerance for an individual integration step in absolute terms. If the calculated error exceeds the absolute tolerance, the step will fail and the integrator will attempt the step again with a reduced size. It will fail regardless of whether the relative tolerance (if applicable) has been exceeded or not. If the calculated error is less than both the absolute tolerance and relative tolerance (if applicable), the integrator will increase the step size.
Maximum Relative Error Defines the error tolerance for an individual integration step in relative terms. If the calculated error exceeds the tolerance, the integrator will reduce the step size. If the calculated error is less than the tolerance, the integrator will increase the step size.
Maximum Iterations Enter the maximum number of trial steps the integrator will take when searching for a step size that meets the error tolerance.
High Safety Coefficient Enter a coefficient that scales the decrease in step size that will be applied when the calculated error is too high. The integrator uses it to control the magnitude of step size changes.
Low Safety Coefficient Enter a coefficient that scales the increase in step size that will be applied when the calculated error is within the error tolerance. The integrator uses it to control the magnitude of step size changes.
Use
(Regularized Time)
Select this option 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 Enter the exponent for the regularized time equation.
Steps per Orbit Enter the step size in regularized time.

RK4th

RK4th integrator parameters

Parameter Description
Use VOP Select this option to use a variation of parameters in universal variables formulation of the equations of motion.
Step Size Enter the time interval of the integration step.
Use
(Regularized Time)
Select this option 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 Enter the exponent for the regularized time equation.
Steps per Orbit Enter the step size in regularized time.

Integration comparison tests

To contrast the integrators that you can choose from, AGI performed a set of integration comparison tests. The tests evaluated integrator and equation of motion combinations applied to several force model configurations. For each force model configuration, the software generated a reference trajectory with a 10 second time step. The baseline was the Runge-Kutta-Fehlberg 7/8 integrator with relative error control set at 1.0e-13. This was compared to trajectories generated with other integrator and equation of motion combinations to the reference trajectories. The results are tabulated in the sample file. All differences are the maximum positional differences during the integration time span. The unit is meters. These tables are not a definitive guide to integrator selection, but may help you with that decision.