ssapy_toolkit.Orbital_Mechanics.transfer_hohmann

ssapy_toolkit.Orbital_Mechanics.transfer_hohmann(*args, r1=None, v1=None, r2=None, v2=None, elements1=None, elements2=None, orbit1=None, orbit2=None, t0=<Time object: scale='utc' format='iso' value=2025-01-01 00:00:00.000>, mu=398600441800000.0, plot=False)[source]

Compute a Hohmann transfer between two orbits and return orbital parameters and delta-V.

Can be called with positional arguments: - transfer_hohmann(orbit1, orbit2) # Two Orbit objects - transfer_hohmann(r1, v1, r2, v2) # Four state vectors - transfer_hohmann(elements1, elements2) # Two sets of Keplerian elements

Or with keyword arguments as before.

Parameters:
  • *args (tuple) – Positional arguments: either (orbit1, orbit2), (r1, v1, r2, v2), or (elements1, elements2).

  • r1 (array_like, optional) – Initial position and velocity vectors (m, m/s).

  • v1 (array_like, optional) – Initial position and velocity vectors (m, m/s).

  • r2 (array_like, optional) – Target position vector (m).

  • v2 (array_like, optional) – Target velocity vector (m/s). If not provided and r2 is given, assumes a circular orbit at r2.

  • orbit1 (ssapy.Orbit, optional) – Initial and target orbit objects.

  • orbit2 (ssapy.Orbit, optional) – Initial and target orbit objects.

  • elements1 (tuple/list or Orbit, optional) – Keplerian elements (a, e, i, ap, raan, trueAnomaly) or Orbit objects.

  • elements2 (tuple/list or Orbit, optional) – Keplerian elements (a, e, i, ap, raan, trueAnomaly) or Orbit objects.

  • t0 (Time or float, optional) – Initial time (default: “2025-01-01”).

  • mu (float, optional) – Gravitational parameter (default: EARTH_MU).

  • plot (bool, optional) – If True, generate a plot (default: False).

Returns:

  • dict – Dictionary with transfer details (initial, final, transfer orbits, delta-Vs, etc.).

  • Author

  • ——

  • Travis Yeager (yeager7@llnl.gov)