Unit test for the halo orbit module.
subroutine halo_orbit_test() use celestial_body_module implicit none integer :: libpoint !! Libration point number: [1,2,3] real(wp) :: mu1 !! grav param for primary body [km3/s2] real(wp) :: mu2 !! grav param for secondary body [km3/s2] real(wp) :: dist !! distance between bodies [km] real(wp) :: Az !! halo z amplitude [km] integer :: n !! halo family: 1, 3 real(wp) :: t1 !! tau1 [rad] real(wp),dimension(6) :: rv !! normalized state [wrt barycenter] write(*,*) '' write(*,*) '----------------' write(*,*) ' halo_orbit_test' write(*,*) '----------------' write(*,*) '' libpoint = 2 mu1 = body_earth%mu mu2 = body_moon%mu dist = 384400.0_wp Az = 10000.0_wp n = 1 t1 = 0.0_wp call halo_to_rv(libpoint,mu1,mu2,dist,Az,n,t1,rv) write(*,*) '' write(*,*) 'halo orbit state:' write(*,*) rv write(*,*) '' end subroutine halo_orbit_test