poliastro.iod.vallado

Initial orbit determination.

Module Contents

Functions

lambert(k, r0, r, tof[, M, prograde, lowpath, ...])

Solves the Lambert problem.

Attributes

kms

poliastro.iod.vallado.kms
poliastro.iod.vallado.lambert(k, r0, r, tof, M=0, prograde=True, lowpath=True, numiter=35, rtol=1e-08)

Solves the Lambert problem.

New in version 0.3.0.

Parameters
  • k (Quantity) – Gravitational constant of main attractor (km^3 / s^2).

  • r0 (Quantity) – Initial position (km).

  • r (Quantity) – Final position (km).

  • tof (Quantity) – Time of flight (s).

  • M (int, optional) – Number of full revolutions, default to 0.

  • prograde (boolean) – Controls the desired inclination of the transfer orbit.

  • lowpath (boolean) – If True or False, gets the transfer orbit whose vacant focus is below or above the chord line, respectively.

  • numiter (int, optional) – Maximum number of iterations, default to 35.

  • rtol (float, optional) – Relative tolerance of the algorithm, default to 1e-8.

Returns

v0, v – Pair of velocity solutions.

Return type

tuple

Raises

RuntimeError – If it was not possible to compute the orbit.

Notes

This uses the universal variable approach found in Battin, Mueller & White with the bisection iteration suggested by Vallado. Multiple revolutions not supported.