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
Name | Type | Annotation |
---|---|---|
order | uint | Order of the Adams-Bashforth type propagator. |
applyMoultonCorrector | boolean | Corrector 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.”
Name | Type | Annotation |
---|---|---|
order | uint | Order 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.”
Name | Type | Annotation |
---|---|---|
order | uint | of Gauss-Jackson method. |
warmup | orbitPropagator | |
correctorIterations | uint | Maximum number of iterations to run the corrector step for. |
epsilon | double | Convergence 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.
Name | Type | Annotation |
---|---|---|
degree | uint | polynomial degree to integrate accelerations |
shift | int | shift polynomial in future (predicted accelerations) |
epsilon | double | [m] max. position change to recompute forces |
warmup | orbitPropagator | to compute epochs before start epoch |
corrector | boolean | apply 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.
Name | Type | Annotation |
---|---|---|
inputfileOrbit | filename | epoch at timeStart is not used |
margin | double | [seconds] to find identical times |
recomputeForces | boolean |