unit Function

private pure function unit(r) result(rhat)

3x1 Unit vector.

Arguments

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

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


Called by

proc~~unit~~CalledByGraph proc~unit unit proc~add_cone stl_file%add_cone proc~add_cone->proc~unit proc~generate_circle stl_file%generate_circle proc~add_cone->proc~generate_circle proc~add_curve stl_file%add_curve proc~add_curve->proc~unit proc~add_cylinder stl_file%add_cylinder proc~add_curve->proc~add_cylinder proc~add_cylinder->proc~unit proc~add_cylinder->proc~generate_circle proc~axis_angle_rotation axis_angle_rotation proc~axis_angle_rotation->proc~unit proc~generate_circle->proc~unit proc~generate_circle->proc~axis_angle_rotation proc~perpendicular perpendicular proc~generate_circle->proc~perpendicular proc~normal normal proc~normal->proc~unit proc~perpendicular->proc~unit proc~add_arrow stl_file%add_arrow proc~add_arrow->proc~add_cone proc~add_arrow->proc~add_cylinder proc~write_ascii_stl_file stl_file%write_ascii_stl_file proc~write_ascii_stl_file->proc~normal proc~write_binary_stl_file stl_file%write_binary_stl_file proc~write_binary_stl_file->proc~normal proc~add_axes stl_file%add_axes proc~add_axes->proc~add_arrow

Source Code

    pure function unit(r) result(rhat)

    implicit none

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

    real(wp) :: rmag

    rmag = norm2(r)

    if (rmag/=zero) then
        rhat = r/rmag
    else
        rhat = zero
    end if

    end function unit