Choosing an Integrator

Top  Previous  Next

Choosing an Integrator appropriate to the task can significantly improve FreeFlyer's performance. FreeFlyer can utilize several integrators with varying degrees of accuracy and speed, from a simple Two Body, to the robust Runge-Kutta 8(9). The following table summarizes details about the integrators that are provided for the Spacecraft. For detailed information on a specific integrator, follow the links shown below.

 

 

Integrator Summary Table


Below is a table of the integrators available in FreeFlyer and some relative accuracy and speed values of them compared to each other. In every integrator's case, it is especially helpful for Spacecraft in specific orbits and orbital regimes such that its advantages come into play. Because of that, some insight is provided below into what each integrator is recommended for and what it isn't recommended for. Speed and accuracy were determined by varying the integrator type and step size in sample LEO, GPS, and GEO orbit regimes, illustrating common propagation scenarios. Individual results will vary. All speed values are percentages relative to the run time of the RK89 integrator. All accuracy values are expressed as orders of magnitude relative to the accuracy of the Two Body integrator.

 

Integrator

Characteristics

Accuracy

Speed

Recommended For:

Not Recommended For:

Runge Kutta 8(9)

Single step

Uses fixed or variable step size

Takes fewest propagation steps of RK integrators to reach a desired accuracy

107 times more accurate

--

General orbit propagation

Impulsive maneuvers

Finite maneuvers

Interplanetary Design

When speed is more important than accuracy.

Runge Kutta 4(5)

Single step

Uses fixed or variable step size

low CPU usage compared to other RK integrators

106 times more accurate

55% faster

General orbit propagation

Impulsive maneuvers

Finite maneuvers

Interplanetary Design

When accuracy is more important than speed.

Runge Kutta 7(8)

Single step

Uses fixed or variable step size

Equations of motion expressed in Cartesian

2•106 times more accurate

20% faster

General orbit propagation

Impulsive maneuvers

Finite maneuvers

Interplanetary Design

Runge Kutta 7(8) VOP

Single step

Uses fixed or variable step size

Equations of motion expressed in Equinoctial

5•106 times more accurate

5% faster

 

Smooth slow-varying force models

Lifetime studies where constant intervals in the output data are required.

Interplanetary Design

Bulirsch Stoer

Self-starting

Single large step

Uses fixed or variable step size

Equations of motion expressed in Cartesian

100 times more accurate

75% faster

Smooth force models

Orbital decay analysis

Lifetime studies

Short duration perturbations

Finite maneuvers

Bulirsch Stoer VOP

Self-starting

Single large step

Uses fixed or variable step size

Equations of motion expressed in Equinoctial

100 times more accurate

70% faster

Smooth slow-varying force models

Orbital decay analysis

Lifetime studies

Short duration perturbations

Finite maneuvers

Cowell

Multi-step predictor/corrector

Uses a variable step size

103 times more accurate

80% faster

Multiple spacecraft with stable orbital elements

Impulsive maneuvers

Finite maneuvers

Norad

Used to propagate Norad two-line elements (TLE’s)

105 times more accurate

90% faster

Stable orbital elements with short propagation time period

 

J2Mean

First-order propagator

Accounts only for Earth oblateness in model

Only takes RAAN and Argument of Perigee rates into account.

10 times more accurate

90% faster

Only when modest accuracy requirements are needed such as for early mission concept development or visualization

When detailed analysis with high accuracy is required

When 3+ body forces are required in model.

Two Body

Simple orbit propagator

Assumes unperturbed central force motion

Produces Keplerian motion around the Earth

Fixed step size

--

95% faster

Only when modest accuracy requirements are needed such as for early mission concept development or visualization

When detailed analysis with high accuracy is required

 

Note: The specific Runge-Kutta integration method used in FreeFlyer is the Runge-Kutta-Verner method.

 

 

SP and SGP4 Propagators


In addition to the above integrators, the Air Force Space Command SGP4 (General Perturbations) and SP (Special Perturbations) propagators (supplied in DLLs) can be used. Explore the section below for instructions on using these DLLs with FreeFlyer.

 

1.Install the visual FORTRAN Runtime Environment, VFRUN66AI.exe. This is available in the FreeFlyer extras folder in this location: \Extras\Visual Fortran Runtime\VFRUN66AI.exe

2.Create a directory called ‘prop’ in the FreeFlyer Install Directory Support Files\Engine\Third Party folder. For example: C:\Program Files\a.i. solutions, Inc\FreeFlyer 7.1.1.11949\Support Files\Engine\Third Party\prop

3.Copy the desired DLL (Sgp4Dll.dll and/or SpephDll.dll) into this directory. These DLLs are only available from the Air Force Space Command. They are not available from a.i. solutions.

4.Start FreeFlyer. The DLLs will automatically register themselves.

5.Add the following lines in a FreeForm script editor to create a propagator:

 

For the NoradSGP4 Propagator:

 

NoradSGP4 NoradSGP4Prop;

Spacecraft Spacecraft1(NoradSGP4Prop);

 

For the NoradSP Propagator:

 

NoradSP NoradSPProp;

Spacecraft Spacecraft1(NoradSPProp);

 

 

6.Set the propagator step size (in seconds):
 

NoradSGP4Prop.StepSize = TIMESPAN(300 seconds);

NoradSPProp.StepSize = TIMESPAN(300 seconds);

 

7.Acquire spacecraft state from a TLE file or Norad job spec file:
 

Get Spacecraft1 as NORADSGP4 from "Orbiter1.tle" using "Norad_config.txt";

Get Spacecraft1 as NORADSP from "Orbiter1.inp";

 

The "Norad_config.txt" file is used to map the name of the Spacecraft object to the name in the TLE file. For example, if the TLE contains a state named Orbiter1, as shown below:

 

1 90021U Orbiter1 00 51.47568104  .00000184      0 0  00000-4   814

2 90021   0.0222 182.4923 0000720  45.6036 131.8822  1.00271328 1199

 

The configuration file should map the name of the Spacecraft object to the name shown in the TLE:

 

Spacecraft1 "Orbiter1"

 

8.When the spacecraft is stepped, it is now advanced with the designated SGP4 or SP propagator contained in corresponding DLL.

 

 

See Also


Integrator Properties and Methods

Setting up an Integrator

Solar System settings that affect Spacecraft Propagation