OrbitPropagator

Implements the propagation of a satellite orbit under the influence of forces as used in SimulateOrbit (dynamic orbits from numerical orbit integration).

Euler

This class implements Euler's method to propagate a satellite orbit under the influence of Forces. Satellite is assumed to be oriented along-track.

RungeKutta4

This class implements the classical Runge-Kutta 4 method of orbit propagation for satellite orbit under the influence of Forces. No step-width control or other advanced features are implemented. Satellite is assumed to be oriented along-track. See: Montenbruck, Oliver, and Eberhard Gill. 2000. Satellite Orbits

AdamsBashforthMoulton

This class implements the Adams-Moulton class of predictor-corrector orbit propagators for a satellite orbit under the influence of Forces using an implicit Adams-Bashforth corrector. The coefficients for the propagator are derived using the equations given in section 4.2.3 of [1]. Satellite is assumed to be oriented along-track. [1] Montenbruck, Oliver, and Eberhard Gill. 2000. Satellite Orbits

NameTypeAnnotation
order
uintOrder of the Adams-Bashforth type propagator.
applyMoultonCorrector
booleanCorrector step after Adams-Bashforth predcition.
warmup
orbitPropagator

StoermerCowell

This class implements the Stoermer-Cowell class of predictor-corrector orbit propagators for a satellite orbit under the influence of Forces. The coefficients for the Stoermer predictor and Cowell corrector are derived using the equations given in section 4.2.6 of [1]. Stoermer-Cowell is a double integration algorithm, yielding positions directly from accelertions. It does not produce velocities. The velocities are derived using Adams-type propagators as suggested in [2]. Satellite is assumed to be oriented along-track. [1] Montenbruck, Oliver, and Eberhard Gill. 2000. Satellite Orbits [2] Berry, Matthew M., and Liam M. Healy. 2004. “Implementation of Gauss-Jackson Integration for Orbit Propagation.”

NameTypeAnnotation
order
uintOrder of the Stoermer-Cowell type propagator.
warmup
orbitPropagator

GaussJackson

This class implements the Gauss-Jackson multi-step predictor-corrector method to propagate a satellite orbit under the influence of Forces. Satellite is assumed to be oriented along-track. Implementation is based on [1]. [1] Berry, Matthew M., and Liam M. Healy. 2004. “Implementation of Gauss-Jackson Integration for Orbit Propagation.”

NameTypeAnnotation
order
uintof Gauss-Jackson method.
warmup
orbitPropagator
correctorIterations
uintMaximum number of iterations to run the corrector step for.
epsilon
doubleConvergence criteria for position, velocity, and acceleration tests.

Polynomial

This class implements an integration Polynomial method to propagate a satellite orbit under the influence of Forces. Satellite is assumed to be oriented along-track. Implementation is based on code by Torsten Mayer-Gürr.

NameTypeAnnotation
degree
uintpolynomial degree to integrate accelerations
shift
intshift polynomial in future (predicted accelerations)
epsilon
double[m] max. position change to recompute forces
warmup
orbitPropagatorto compute epochs before start epoch
corrector
booleanapply corrector iteration if position change is larger than epsilon

File

Reads an orbit from file. If the needed epochs are not given an exception is thrown.

NameTypeAnnotation
inputfileOrbit
filenameepoch at timeStart is not used
margin
double[seconds] to find identical times
recomputeForces
boolean