Convenience utilities #24

Closed
opened 2026-09-30 12:48:49 -04:00 by connor · 1 comment
Owner

Quantities that should not be computed by hand in an example or a test:

  • orbital period from semi-major axis, and back
  • Keplerian elements to and from Cartesian state
  • altitude above a reference ellipsoid
  • specific energy and angular momentum

ANISE has much of this on its Orbit type but only at f64, so anything the filters need to differentiate has to be generic over the scalar here. Use ANISE's as a cross-check.

Quantities that should not be computed by hand in an example or a test: - orbital period from semi-major axis, and back - Keplerian elements to and from Cartesian state - altitude above a reference ellipsoid - specific energy and angular momentum ANISE has much of this on its `Orbit` type but only at `f64`, so anything the filters need to differentiate has to be generic over the scalar here. Use ANISE's as a cross-check.
connor added this to the M1 milestone 2026-09-30 12:48:49 -04:00
connor added the size/S label 2026-09-30 12:48:50 -04:00
Author
Owner

Done in 412d96d.

  • period from semi-major axis and back, mean motion, circular speed
  • Keplerian elements to and from Cartesian, with the three degenerate cases handled
  • specific energy and specific angular momentum
  • anomaly conversions, true <-> eccentric <-> mean
  • all generic over the scalar, cross-checked against ANISE and against central differences under autodiff

One bullet moved rather than landed. "Altitude above a reference ellipsoid" is only Cartesian::spherical_altitude, which subtracts the equatorial radius. True geodetic altitude needs a body-fixed frame to be meaningful at all, so it belongs to #6 and is noted there.

Done in 412d96d. - period from semi-major axis and back, mean motion, circular speed - Keplerian elements to and from Cartesian, with the three degenerate cases handled - specific energy and specific angular momentum - anomaly conversions, true <-> eccentric <-> mean - all generic over the scalar, cross-checked against ANISE and against central differences under autodiff **One bullet moved rather than landed.** "Altitude above a reference ellipsoid" is only `Cartesian::spherical_altitude`, which subtracts the equatorial radius. True geodetic altitude needs a body-fixed frame to be meaningful at all, so it belongs to #6 and is noted there.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: connor/astrokit#24