el2op Subroutine

private pure subroutine el2op(z, po)

heliocentric coordinates for orbital plane from elements

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(8) :: z

elements [a,e,i,l,w,o,ma,ea]

real(kind=wp), intent(out), dimension(6) :: po

coordinates and velocities


Called by

proc~~el2op~~CalledByGraph proc~el2op standish_module::el2op proc~helio standish_module::helio proc~helio->proc~el2op proc~standish_module_test standish_module::standish_module_test proc~standish_module_test->proc~helio proc~standish_rv_func standish_module::standish_ephemeris%standish_rv_func proc~standish_module_test->proc~standish_rv_func proc~standish_rv_func->proc~helio

Source Code

    pure subroutine el2op (z, po)

    implicit none

    real(wp), dimension(8), intent (in) :: z   !! elements [a,e,i,l,w,o,ma,ea]
    real(wp), dimension(6), intent (out) :: po !! coordinates and velocities

    real(wp) :: v, s1, c1, s2

    ! heliocentric orbital plane
    po = zero
    s1 = sin (z(8))
    c1 = cos (z(8))
    s2 = sqrt (one-z(2)*z(2))
    v = twopi / (sqrt(z(1))*(one-z(2)*c1))  ! velocity au/yr

    po (1) = z (1) * (c1-z(2)) ! xp (plane of orbit)
    po (2) = z (1) * s1 * s2   ! yp
    po (4) = - v * s1          ! vxp
    po (5) = v * c1 * s2       ! vyp

    end subroutine el2op