astro.UniversalVariablePropagator#

class hohmannpy.astro.UniversalVariablePropagator(step_size=60, solver_tol=1e-08, stumpff_tol=1e-08, stumpff_series_length=10, fg_constraint=True)#

Propagates orbits using an f and g functions as well as a universal variable formulation of Kepler’s equation.

Unlike with the standard form of Kepler’s equation the inclusion of the universal variable allows propagation of parabolic orbits in addition to elliptical and hyperbolic ones.

Parameters:
  • step_size (float) – Time interval between propagation steps. If one is not provided by the user it will be set in propagate() to 60 \(s\).

  • solver_tol (float) – Error tolerance when performing root-finding to solver Kepler’s equation.

  • fg_constraint (bool) – Flag which indicates whether to compute the derivative of the g function (False) or to use a constraint to eliminate it (True).

  • stumpff_tol (float) – The universal variable is not an angular quantity, so it is used to compute a variable known as the Stumpff parameter whose root is an angle. The Stumpff parameter is used to compute two hypergeometric series, termed as Stumpff series, from which the f and g functions may be assembled. For most values of the Stumpff parameter these series converge absolutely to either trigonometric or hyper-trigonometric functions, but when it is small the Stumpff series must be computed via summation. “Small” is defined here as the absolute value of the Stumpff parameter being under stumpff_tol.

  • stumpff_series_length (int) – When the Stumpff series are computed via summation, how many terms to include.