Orbit Manifold Example

This example demonstrates how to compute manifolds associated with periodic orbits in the Circular Restricted Three-Body Problem (CR3BP).

Computing orbit manifolds in the CR3BP
 1"""Example script: generation of several families of periodic orbits (Vertical,
 2Halo, planar Lyapunov) around an Earth-Moon libration point, together with their
 3stable manifolds.
 4
 5Run with
 6    python examples/orbit_manifold.py
 7"""
 8
 9import os
10import sys
11
12sys.path.append(os.path.join(os.path.dirname(__file__), "..", "src"))
13
14from hiten.system import System
15
16
17def main() -> None:
18    # Build system & centre manifold
19    system = System.from_bodies("sun", "earth")
20    l_point = system.get_libration_point(2)
21    halo_orbit = l_point.create_orbit('halo', amplitude_z=0.3, zenith='northern')
22    halo_orbit.correct()
23    halo_orbit.propagate()
24
25    direction, stability = ['positive', 'negative'], [True, False]
26    for d in direction:
27        for s in stability:
28            manifold = halo_orbit.manifold(stable=s, direction=d)
29            manifold.compute(integration_fraction=1, dt=1e-3)
30            manifold.plot()
31
32if __name__ == "__main__":
33    main()