!$omp parallel & !$omp shared ( n, coord, f ) & !$omp private ( i, j, k, d, dif ) !$omp do do i = 1, n do j = 1, n d = 0.0 do k = 1, 3 dif(k) = coord(k,i) - coord(k,j) d = d + dif(k) * dif(k) end do do k = 1, 3 f(k,i) = f(k,i) - dif(k) * pfun ( d ) / d end do end do end do !$omp end do !$omp end parallel