halo_orbit_test Subroutine

public subroutine halo_orbit_test()

Uses

  • proc~~halo_orbit_test~~UsesGraph proc~halo_orbit_test halo_orbit_module::halo_orbit_test module~celestial_body_module celestial_body_module proc~halo_orbit_test->module~celestial_body_module module~base_class_module base_class_module module~celestial_body_module->module~base_class_module module~kind_module kind_module module~celestial_body_module->module~kind_module module~numbers_module numbers_module module~celestial_body_module->module~numbers_module iso_fortran_env iso_fortran_env module~kind_module->iso_fortran_env module~numbers_module->module~kind_module

Unit test for the halo orbit module.

Arguments

None

Calls

proc~~halo_orbit_test~~CallsGraph proc~halo_orbit_test halo_orbit_module::halo_orbit_test proc~halo_to_rv halo_orbit_module::halo_to_rv proc~halo_orbit_test->proc~halo_to_rv proc~compute_crtpb_parameter crtbp_module::compute_crtpb_parameter proc~halo_to_rv->proc~compute_crtpb_parameter proc~compute_libration_points crtbp_module::compute_libration_points proc~halo_to_rv->proc~compute_libration_points proc~cube_root math_module::cube_root proc~compute_libration_points->proc~cube_root

Source Code

    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