compute_rdot Function

public function compute_rdot(rv) result(rdot)

compute rdot, which is d(rmag)/dt.

See also: compute_rdot_vecs

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(6) :: rv

rv vector (km, km/s)

Return Value real(kind=wp)

[km/s]


Called by

proc~~compute_rdot~~CalledByGraph proc~compute_rdot compute_rdot proc~get_problem_arrays mission_type%get_problem_arrays proc~get_problem_arrays->proc~compute_rdot proc~constraint_violations mission_type%constraint_violations proc~constraint_violations->proc~get_problem_arrays proc~initialize_the_mission mission_type%initialize_the_mission proc~initialize_the_mission->proc~get_problem_arrays proc~print_constraint_defects mission_type%print_constraint_defects proc~print_constraint_defects->proc~get_problem_arrays proc~halo_solver_main halo_solver_main proc~halo_solver_main->proc~constraint_violations proc~halo_solver_main->proc~print_constraint_defects proc~initialize_the_solver my_solver_type%initialize_the_solver proc~halo_solver_main->proc~initialize_the_solver proc~initialize_the_solver->proc~initialize_the_mission

Source Code

    function compute_rdot(rv) result(rdot)
        real(wp),dimension(6),intent(in) :: rv !! rv vector (km, km/s)
        real(wp) :: rdot !! [km/s]
        associate(r => rv(1:3), v => rv(4:6))
            rdot = dot_product(r,v) / norm2(r)
        end associate
    end function compute_rdot