Computes something like x cross y dot grad zeta.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension(-ntgrid:, :) | :: | x | ||
real, | intent(in), | dimension(-ntgrid:, :) | :: | y | ||
real, | intent(in), | dimension(-ntgrid:) | :: | invR | ||
real, | intent(out), | dimension(-ntgrid:) | :: | val |
pure subroutine tripprod2dtgrid(x, y, invR, val)
implicit none
real, dimension(-ntgrid:), intent (in) :: invR
real, dimension(-ntgrid:), intent (out) :: val
real, dimension(-ntgrid:, :), intent (in) :: x, y
integer :: i
! factor of 1/R from grad zeta
do i = -nth, nth
val(i) = (x(i, 1) * y(i, 2) - x(i, 2) * y(i, 1)) * invR(i)
end do
end subroutine tripprod2dtgrid