ssapy_toolkit.Orbital_Mechanics.lagrange_points
Functions
Calculate the positions of the lunar Lagrange points (L1, L2, L3, L4, L5) in the Earth-Moon system. |
|
Calculate the positions of the lunar Lagrange points (L1, L2, L3, L4, L5) in a circular restricted three-body problem. |
|
Calculate the normal vector to the Moon's orbital plane at a given time. |
- 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:
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.
- 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:
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)