ssapy_toolkit.Orbital_Mechanics.lagrange_points

Functions

lagrange_points_lunar_fixed_frame()

lagrange_points_lunar_frame()

lunar_lagrange_points(t)

Calculate the positions of the lunar Lagrange points (L1, L2, L3, L4, L5) in the Earth-Moon system.

lunar_lagrange_points_circular(t)

Calculate the positions of the lunar Lagrange points (L1, L2, L3, L4, L5) in a circular restricted three-body problem.

moon_normal_vector(t)

Calculate the normal vector to the Moon's orbital plane at a given time.

ssapy_toolkit.Orbital_Mechanics.lagrange_points.lagrange_points_lunar_fixed_frame()[source]
ssapy_toolkit.Orbital_Mechanics.lagrange_points.lagrange_points_lunar_frame()[source]
ssapy_toolkit.Orbital_Mechanics.lagrange_points.lunar_lagrange_points(t)[source]

Calculate the positions of the lunar Lagrange points (L1, L2, L3, L4, L5) in the Earth-Moon system.

Parameters:

t (Time or list) – The time at which to calculate the Lagrange points. Can be: - A single Time object (from astropy) - A list of Time objects - A list of GPS times (float) - A single GPS time (float)

Returns:

A dictionary containing the positions of the Lagrange points: - “L1”: Position of L1 from Earth in the Moon’s direction (np.ndarray or None if discriminant < 0) - “L2”: Position of L2 from Earth in the Moon’s direction (np.ndarray or None if discriminant < 0) - “L3”: Position of L3 (opposite to the Moon, on the far side of Earth) - “L4”: Position of L4 (60 degrees ahead of the Moon in its orbit) - “L5”: Position of L5 (60 degrees behind the Moon in its orbit)

Return type:

dict

Notes

  • L1 and L2 are calculated by solving a quadratic equation.

  • L4 and L5 are approximated by shifting the Moon’s position forward or backward by 1/6 of its orbital period.

  • L3 is simply the position opposite the Moon.

Author

Travis Yeager (yeager7@llnl.gov)

ssapy_toolkit.Orbital_Mechanics.lagrange_points.lunar_lagrange_points_circular(t)[source]

Calculate the positions of the lunar Lagrange points (L1, L2, L3, L4, L5) in a circular restricted three-body problem.

Parameters:

t (Time or list) – The time at which to calculate the Lagrange points. Can be: - A single Time object (from astropy) - A list of Time objects - A list of GPS times (float) - A single GPS time (float)

Returns:

A dictionary containing the positions of the Lagrange points: - “L1”: Position of L1 from Earth in the Moon’s direction (np.ndarray or None if discriminant < 0) - “L2”: Position of L2 from Earth in the Moon’s direction (np.ndarray or None if discriminant < 0) - “L3”: Position of L3 (opposite to the Moon, on the far side of Earth) - “L4”: Position of L4 (60 degrees ahead of the Moon in its orbit) - “L5”: Position of L5 (60 degrees behind the Moon in its orbit)

Return type:

dict

Notes

  • L1 and L2 are calculated by solving a quadratic equation.

  • L4 and L5 are calculated by rotating the Moon’s position by ±60 degrees.

  • L3 is simply the position opposite the Moon.

Author

Travis Yeager (yeager7@llnl.gov)

ssapy_toolkit.Orbital_Mechanics.lagrange_points.moon_normal_vector(t)[source]

Calculate the normal vector to the Moon’s orbital plane at a given time.

Parameters:

t (Time or list) – The time at which to calculate the Moon’s orbital plane normal vector. Can be: - A single Time object (from astropy) - A list of Time objects - A list of GPS times (float) - A single GPS time (float)

Returns:

The normal vector to the Moon’s orbital plane, normalized to unit length.

Return type:

np.ndarray

Notes

  • The normal vector is calculated as the cross product of the Moon’s position vector at time t and its position vector one week later (t + 604800 seconds).

  • The result is normalized to ensure it has unit length.

Author

Travis Yeager (yeager7@llnl.gov)