cross_matrix Function

public pure function cross_matrix(r) result(rcross)

Computes the cross product matrix, where: cross(a,b) == matmul(cross_matrix(a),b)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(3) :: r

Return Value real(kind=wp), dimension(3,3)


Called by

proc~~cross_matrix~~CalledByGraph proc~cross_matrix vector_module::cross_matrix proc~axis_angle_rotation_to_rotation_matrix vector_module::axis_angle_rotation_to_rotation_matrix proc~axis_angle_rotation_to_rotation_matrix->proc~cross_matrix proc~get_c_cdot_two_body_rotating transformation_module::two_body_rotating_frame%get_c_cdot_two_body_rotating proc~get_c_cdot_two_body_rotating->proc~cross_matrix proc~get_c_cdot_two_body_rotating_pulsating transformation_module::two_body_rotating_pulsating_frame%get_c_cdot_two_body_rotating_pulsating proc~get_c_cdot_two_body_rotating_pulsating->proc~get_c_cdot_two_body_rotating proc~vector_test vector_module::vector_test proc~vector_test->proc~axis_angle_rotation_to_rotation_matrix

Source Code

    pure function cross_matrix(r) result(rcross)

    implicit none

    real(wp),dimension(3),intent(in) :: r
    real(wp),dimension(3,3)          :: rcross

    rcross(:,1) = [zero,r(3),-r(2)]
    rcross(:,2) = [-r(3),zero,r(1)]
    rcross(:,3) = [r(2),-r(1),zero]

    end function cross_matrix