cross_product Function

private pure function cross_product(u, v) result(val)

Returns the cross product of two vectors.

Arguments

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

Input vector

real(kind=wp), intent(in) :: v(3)

Input vector

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

Result


Called by

proc~~cross_product~2~~CalledByGraph proc~cross_product~2 cross_product proc~respart_set_advancemarkers ResPart_set%ResPart_set_AdvanceMarkers proc~respart_set_advancemarkers->proc~cross_product~2 proc~respart_set_gethydroforces ResPart_set%ResPart_set_GetHydroForces proc~respart_set_gethydroforces->proc~cross_product~2 proc~cdifs_obj_advancesolutionrp cdifs_obj_AdvanceSolutionRP proc~cdifs_obj_advancesolutionrp->proc~respart_set_advancemarkers proc~cdifs_obj_advancesolutionrp->proc~respart_set_gethydroforces proc~grans_obj_advancesolution grans_obj_AdvanceSolution proc~grans_obj_advancesolution->proc~respart_set_advancemarkers interface~grans_obj_advancesolution grans_obj%grans_obj_AdvanceSolution interface~grans_obj_advancesolution->proc~grans_obj_advancesolution proc~cdifs_obj_advancesolution cdifs_obj_AdvanceSolution proc~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolutionrp interface~cdifs_obj_advancesolution cdifs_obj%cdifs_obj_AdvanceSolution interface~cdifs_obj_advancesolution->proc~cdifs_obj_advancesolution

Source Code

    pure function cross_product(u,v) result(val)
      !> Returns the cross product of two vectors.
      implicit none
      real(wp), intent(in) :: u(3)                                             !! Input vector
      real(wp), intent(in) :: v(3)                                             !! Input vector
      real(wp)             :: val(3)                                           !! Result

      val(1) = u(2)*v(3)-u(3)*v(2)
      val(2) =-u(1)*v(3)+u(3)*v(1)
      val(3) = u(1)*v(2)-v(1)*u(2)

      return
    end function cross_product