diff --git a/src/kick/kick.f90 b/src/kick/kick.f90 index d739427c4..891936f20 100644 --- a/src/kick/kick.f90 +++ b/src/kick/kick.f90 @@ -106,7 +106,7 @@ module subroutine kick_getacch_int_all_flat_pl(npl, nplpl, k_plpl, x, Gmass, rad if (present(radius)) then !$omp parallel do default(private) schedule(static)& !$omp shared(nplpl, k_plpl, x, Gmass, radius) & - !$omp lastprivate(rji2, rlim2, xr, yr, zr) & + !$omp lastprivate(i, j, rji2, rlim2, xr, yr, zr) & !$omp reduction(+:ahi) & !$omp reduction(-:ahj) do k = 1_I8B, nplpl @@ -124,7 +124,7 @@ module subroutine kick_getacch_int_all_flat_pl(npl, nplpl, k_plpl, x, Gmass, rad else !$omp parallel do default(private) schedule(static)& !$omp shared(nplpl, k_plpl, x, Gmass, radius) & - !$omp lastprivate(rji2, xr, yr, zr) & + !$omp lastprivate(i, j, rji2, xr, yr, zr) & !$omp reduction(+:ahi) & !$omp reduction(-:ahj) do k = 1_I8B, nplpl @@ -137,12 +137,10 @@ module subroutine kick_getacch_int_all_flat_pl(npl, nplpl, k_plpl, x, Gmass, rad call kick_getacch_int_one_pl(rji2, xr, yr, zr, Gmass(i), Gmass(j), & ahi(1,i), ahi(2,i), ahi(3,i), ahj(1,j), ahj(2,j), ahj(3,j)) end do - !$omp end parallel do + !$omp end parallel do end if - do concurrent(i = 1:npl) - acc(:,i) = acc(:,i) + ahi(:,i) + ahj(:,i) - end do + acc(:,:) = acc(:,:) + ahi(:,:) + ahj(:,:) return end subroutine kick_getacch_int_all_flat_pl