astro.state_2_classical_p#

hohmannpy.astro.state_2_classical_p(position, velocity, grav_param=398600441800000.0)#

Parabolic version of state_2_classical() which takes in the semi-latus rectum instead of the semi-major axis.

For a parabolic orbit the semi-major axis is infinite. As a result computing the semi-latus rectum (and hence the orbital radius) from these is impossible and instead to define a parabolic orbit the semi-latus rectum must be defined directly. Note that for parabolic orbits only this is equivalent to the radius of periapsis.

Parameters:
  • position (np.ndarray) – Position of the satellite in planet-centered inertial coordinates.

  • velocity (np.ndarray) – Velocity of the satellite in planet-centered inertial coordinates.

  • grav_param (float) – Gravitational parameter of the central body (defaults to that of the Earth in \(\text{m}^3/\text{s}^2\)).

Returns:

  • sl_rectum (float) – Semi-latus rectum.

  • eccentricity (float) – Eccentricity.

  • raan (float) – Right ascension (longitude) of the ascending node.

  • argp (float) – Argument of periapsis.

  • inclination (float) – Inclination.

  • true_anomaly (float) – True anomaly.

  • grav_param (float) – Gravitational parameter of the central body (defaults to that of the Earth in \(\text{m}^3/\text{s}^2\)).

See also

state_2_classical()

Standard version of this function which returns the semi-major axis instead of the semi-latus rectum.

Notes

The semi-latus rectum \(p\) is computed from the eccentricity \(e\) and semi-major axis \(a\) via

\[p = a (1 - e^2)\]

For a parabolic orbit this results in the indeterminate form \(p = \infty (0)\) from which the semi-latus rectum can not be recovered.