+++ /dev/null
-
-c---------------------------------------------------------------------
-c---------------------------------------------------------------------
- subroutine l2norm ( ldx, ldy, ldz,
- > nx0, ny0, nz0,
- > ist, iend,
- > jst, jend,
- > v, sum )
-c---------------------------------------------------------------------
-c---------------------------------------------------------------------
-
-c---------------------------------------------------------------------
-c to compute the l2-norm of vector v.
-c---------------------------------------------------------------------
-
- implicit none
-
- include 'mpinpb.h'
-
-c---------------------------------------------------------------------
-c input parameters
-c---------------------------------------------------------------------
- integer ldx, ldy, ldz
- integer nx0, ny0, nz0
- integer ist, iend
- integer jst, jend
- double precision v(5,-1:ldx+2,-1:ldy+2,*), sum(5)
-
-c---------------------------------------------------------------------
-c local variables
-c---------------------------------------------------------------------
- integer i, j, k, m
- double precision dummy(5)
-
- integer IERROR
-
-
- do m = 1, 5
- dummy(m) = 0.0d+00
- end do
-
- do k = 2, nz0-1
- do j = jst, jend
- do i = ist, iend
- do m = 1, 5
- dummy(m) = dummy(m) + v(m,i,j,k) * v(m,i,j,k)
- end do
- end do
- end do
- end do
-
-c---------------------------------------------------------------------
-c compute the global sum of individual contributions to dot product.
-c---------------------------------------------------------------------
- call MPI_ALLREDUCE( dummy,
- > sum,
- > 5,
- > dp_type,
- > MPI_SUM,
- > MPI_COMM_WORLD,
- > IERROR )
-
- do m = 1, 5
- sum(m) = sqrt ( sum(m) / ( (nx0-2)*(ny0-2)*(nz0-2) ) )
- end do
-
- return
- end