diff --git a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb index 6e3effc7c..f1f15c4cb 100644 --- a/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb +++ b/examples/symba_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb @@ -81,8 +81,8 @@ { "data": { "text/plain": [ - "[,\n", - " ]" + "[,\n", + " ]" ] }, "execution_count": 6, @@ -91,7 +91,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -108,7 +108,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -465,91 +465,91 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
<xarray.DataArray 'px' (time (y): 199, id: 2)>\n",
-       "array([[ 0.00000000e+00,  0.00000000e+00],\n",
-       "       [ 0.00000000e+00, -7.12220460e-09],\n",
-       "       [ 0.00000000e+00, -2.84900827e-08],\n",
-       "       [ 0.00000000e+00, -6.41074152e-08],\n",
-       "       [ 0.00000000e+00, -1.13980512e-07],\n",
-       "       [ 0.00000000e+00, -1.78118202e-07],\n",
-       "       [ 0.00000000e+00, -2.56531852e-07],\n",
-       "       [ 0.00000000e+00, -3.49235353e-07],\n",
-       "       [ 0.00000000e+00, -4.56245140e-07],\n",
-       "       [ 0.00000000e+00, -5.77580189e-07],\n",
-       "       [ 0.00000000e+00, -7.13262030e-07],\n",
-       "       [ 0.00000000e+00, -8.63314745e-07],\n",
-       "       [ 0.00000000e+00, -1.02776499e-06],\n",
-       "       [ 0.00000000e+00, -1.20664199e-06],\n",
-       "       [ 0.00000000e+00, -1.39997756e-06],\n",
-       "       [ 0.00000000e+00, -1.60780612e-06],\n",
-       "       [ 0.00000000e+00, -1.83016468e-06],\n",
-       "       [ 0.00000000e+00, -2.06709291e-06],\n",
-       "       [ 0.00000000e+00, -2.31863308e-06],\n",
-       "       [ 0.00000000e+00, -2.58483014e-06],\n",
+       "
<xarray.DataArray 'px' (time (y): 199)>\n",
+       "array([ 0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
        "...\n",
-       "       [-4.44089210e-16, -5.00980628e-04],\n",
-       "       [-1.22124533e-15, -5.18253726e-04],\n",
-       "       [-3.33066907e-15, -5.36896942e-04],\n",
-       "       [-4.44089210e-15, -5.57134011e-04],\n",
-       "       [-5.44009282e-15, -5.79246689e-04],\n",
-       "       [-5.44009282e-15, -6.03596238e-04],\n",
-       "       [-5.32907052e-15, -6.30655877e-04],\n",
-       "       [-5.21804822e-15, -6.61061384e-04],\n",
-       "       [-5.10702591e-15, -6.95693612e-04],\n",
-       "       [-4.99600361e-15, -7.35820563e-04],\n",
-       "       [-4.99600361e-15, -7.83359285e-04],\n",
-       "       [ 1.33226763e-15, -8.41403959e-04],\n",
-       "       [ 4.77395901e-15, -9.15431516e-04],\n",
-       "       [-2.22044605e-16, -1.01661465e-03],\n",
-       "       [ 3.77475828e-15, -1.17430457e-03],\n",
-       "       [ 1.29488925e-06, -1.53697214e-03],\n",
-       "       [ 3.16460020e-03,  1.93749443e-03],\n",
-       "       [ 3.17685641e-03,  3.61711129e-02],\n",
-       "       [ 3.18905387e-03,  7.04843014e-02],\n",
-       "       [ 3.20119234e-03,             nan]])\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,\n",
+       "        0.00000000e+00,  3.33066907e-16,  4.44089210e-16,  1.11022302e-16,\n",
+       "        1.11022302e-16,  1.11022302e-16,  3.33066907e-16, -1.11022302e-16,\n",
+       "       -3.33066907e-16, -4.44089210e-16, -2.22044605e-16, -5.55111512e-16,\n",
+       "       -3.33066907e-16, -4.44089210e-16, -5.55111512e-16, -4.44089210e-16,\n",
+       "       -7.77156117e-16, -4.44089210e-16,  0.00000000e+00,  0.00000000e+00,\n",
+       "       -1.11022302e-16,  0.00000000e+00,  3.33066907e-16,  1.11022302e-16,\n",
+       "        1.11022302e-16, -2.22044605e-16,  0.00000000e+00, -5.55111512e-16,\n",
+       "       -3.33066907e-16, -1.11022302e-16, -4.44089210e-16, -4.44089210e-16,\n",
+       "       -3.33066907e-16,  2.22044605e-16,  0.00000000e+00,  0.00000000e+00,\n",
+       "        2.22044605e-16,  1.11022302e-16,  2.22044605e-16, -1.11022302e-16,\n",
+       "        3.33066907e-16,  6.66133815e-16,  8.88178420e-16,  1.22124533e-15,\n",
+       "        3.88578059e-15,  4.10782519e-15,  1.02750769e-03,  1.03179676e-03,\n",
+       "        1.03606675e-03,  1.04031758e-03,  1.04454916e-03,  1.04876143e-03,\n",
+       "        1.05295429e-03,  1.05712769e-03,  1.06128153e-03,  1.06541574e-03,\n",
+       "        1.06953025e-03,  1.07362498e-03,  1.07769985e-03])\n",
        "Coordinates:\n",
-       "  * id        (id) int64 2 100\n",
-       "  * time (y)  (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1342 0.1348 0.1355
  • " ], "text/plain": [ - "\n", - "array([[ 0.00000000e+00, 0.00000000e+00],\n", - " [ 0.00000000e+00, -7.12220460e-09],\n", - " [ 0.00000000e+00, -2.84900827e-08],\n", - " [ 0.00000000e+00, -6.41074152e-08],\n", - " [ 0.00000000e+00, -1.13980512e-07],\n", - " [ 0.00000000e+00, -1.78118202e-07],\n", - " [ 0.00000000e+00, -2.56531852e-07],\n", - " [ 0.00000000e+00, -3.49235353e-07],\n", - " [ 0.00000000e+00, -4.56245140e-07],\n", - " [ 0.00000000e+00, -5.77580189e-07],\n", - " [ 0.00000000e+00, -7.13262030e-07],\n", - " [ 0.00000000e+00, -8.63314745e-07],\n", - " [ 0.00000000e+00, -1.02776499e-06],\n", - " [ 0.00000000e+00, -1.20664199e-06],\n", - " [ 0.00000000e+00, -1.39997756e-06],\n", - " [ 0.00000000e+00, -1.60780612e-06],\n", - " [ 0.00000000e+00, -1.83016468e-06],\n", - " [ 0.00000000e+00, -2.06709291e-06],\n", - " [ 0.00000000e+00, -2.31863308e-06],\n", - " [ 0.00000000e+00, -2.58483014e-06],\n", + "\n", + "array([ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", "...\n", - " [-4.44089210e-16, -5.00980628e-04],\n", - " [-1.22124533e-15, -5.18253726e-04],\n", - " [-3.33066907e-15, -5.36896942e-04],\n", - " [-4.44089210e-15, -5.57134011e-04],\n", - " [-5.44009282e-15, -5.79246689e-04],\n", - " [-5.44009282e-15, -6.03596238e-04],\n", - " [-5.32907052e-15, -6.30655877e-04],\n", - " [-5.21804822e-15, -6.61061384e-04],\n", - " [-5.10702591e-15, -6.95693612e-04],\n", - " [-4.99600361e-15, -7.35820563e-04],\n", - " [-4.99600361e-15, -7.83359285e-04],\n", - " [ 1.33226763e-15, -8.41403959e-04],\n", - " [ 4.77395901e-15, -9.15431516e-04],\n", - " [-2.22044605e-16, -1.01661465e-03],\n", - " [ 3.77475828e-15, -1.17430457e-03],\n", - " [ 1.29488925e-06, -1.53697214e-03],\n", - " [ 3.16460020e-03, 1.93749443e-03],\n", - " [ 3.17685641e-03, 3.61711129e-02],\n", - " [ 3.18905387e-03, 7.04843014e-02],\n", - " [ 3.20119234e-03, nan]])\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", + " 0.00000000e+00, 3.33066907e-16, 4.44089210e-16, 1.11022302e-16,\n", + " 1.11022302e-16, 1.11022302e-16, 3.33066907e-16, -1.11022302e-16,\n", + " -3.33066907e-16, -4.44089210e-16, -2.22044605e-16, -5.55111512e-16,\n", + " -3.33066907e-16, -4.44089210e-16, -5.55111512e-16, -4.44089210e-16,\n", + " -7.77156117e-16, -4.44089210e-16, 0.00000000e+00, 0.00000000e+00,\n", + " -1.11022302e-16, 0.00000000e+00, 3.33066907e-16, 1.11022302e-16,\n", + " 1.11022302e-16, -2.22044605e-16, 0.00000000e+00, -5.55111512e-16,\n", + " -3.33066907e-16, -1.11022302e-16, -4.44089210e-16, -4.44089210e-16,\n", + " -3.33066907e-16, 2.22044605e-16, 0.00000000e+00, 0.00000000e+00,\n", + " 2.22044605e-16, 1.11022302e-16, 2.22044605e-16, -1.11022302e-16,\n", + " 3.33066907e-16, 6.66133815e-16, 8.88178420e-16, 1.22124533e-15,\n", + " 3.88578059e-15, 4.10782519e-15, 1.02750769e-03, 1.03179676e-03,\n", + " 1.03606675e-03, 1.04031758e-03, 1.04454916e-03, 1.04876143e-03,\n", + " 1.05295429e-03, 1.05712769e-03, 1.06128153e-03, 1.06541574e-03,\n", + " 1.06953025e-03, 1.07362498e-03, 1.07769985e-03])\n", "Coordinates:\n", - " * id (id) int64 2 100\n", + " id int64 2\n", " * time (y) (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1342 0.1348 0.1355" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "swiftdiff['px']" + "swiftdiff['px'].sel(id=2)" ] }, { diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 39721a098..611ca99be 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -104,7 +104,7 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) integer(I4B), intent(in) :: irec !! Current recursion level integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration ! Internals - integer(I4B) :: i, irm1, irecl + integer(I4B) :: k, irm1, irecl real(DP) :: r, rr, ri, ris, rim1, r2, ir3, fac, faci, facj real(DP), dimension(NDIM) :: dx logical :: isplpl, lgoodlevel @@ -125,28 +125,28 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) else irecl = irec end if - do i = 1, self%nenc - associate(index_i => self%index1(i), index_j => self%index2(i)) + do k = 1, self%nenc + associate(i => self%index1(k), j => self%index2(k)) if (isplpl) then - pl%ah(:,index_i) = 0.0_DP - pl%ah(:,index_j) = 0.0_DP + pl%ah(:,i) = 0.0_DP + pl%ah(:,j) = 0.0_DP else - tp%ah(:,index_j) = 0.0_DP + tp%ah(:,j) = 0.0_DP end if if (isplpl) then - lgoodlevel = (pl%levelg(index_i) >= irm1) .and. (pl%levelg(index_j) >= irm1) + lgoodlevel = (pl%levelg(i) >= irm1) .and. (pl%levelg(j) >= irm1) else - lgoodlevel = (pl%levelg(index_i) >= irm1) .and. (tp%levelg(index_j) >= irm1) + lgoodlevel = (pl%levelg(i) >= irm1) .and. (tp%levelg(j) >= irm1) end if if ((self%status(i) == ACTIVE) .and. lgoodlevel) then if (isplpl) then - ri = ((pl%rhill(index_i) + pl%rhill(index_j))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + ri = ((pl%rhill(i) + pl%rhill(j))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) rim1 = ri * (RSHELL**2) - dx(:) = pl%xh(:,index_j) - pl%xh(:,index_i) + dx(:) = pl%xh(:,j) - pl%xh(:,i) else - ri = ((pl%rhill(index_i))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + ri = ((pl%rhill(i))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) rim1 = ri * (RSHELL**2) - dx(:) = tp%xh(:,index_j) - pl%xh(:,index_i) + dx(:) = tp%xh(:,j) - pl%xh(:,i) end if r2 = dot_product(dx(:), dx(:)) if (r2 < rim1) then @@ -160,24 +160,24 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) ir3 = 1.0_DP / (r2 * sqrt(r2)) fac = ir3 end if - faci = fac * pl%mass(index_i) + faci = fac * pl%mass(i) if (isplpl) then - facj = fac * pl%mass(index_j) - pl%ah(:,index_i) = pl%ah(:,index_i) + facj*dx(:) - pl%ah(:,index_j) = pl%ah(:,index_j) - faci*dx(:) + facj = fac * pl%mass(j) + pl%ah(:,i) = pl%ah(:,i) + facj*dx(:) + pl%ah(:,j) = pl%ah(:,j) - faci*dx(:) else - tp%ah(:,index_j) = tp%ah(:,index_j) - faci*dx(:) + tp%ah(:,j) = tp%ah(:,j) - faci*dx(:) end if end if end associate end do if (isplpl) then - do i = 1, self%nenc - associate(index_i => self%index1(i), index_j => self%index2(i)) - pl%vb(:,index_i) = pl%vb(:,index_i) + sgn * dt * pl%ah(:,index_i) - pl%vb(:,index_j) = pl%vb(:,index_j) + sgn * dt * pl%ah(:,index_j) - pl%ah(:,index_i) = 0.0_DP - pl%ah(:,index_j) = 0.0_DP + do k = 1, self%nenc + associate(i => self%index1(k), j => self%index2(k)) + pl%vb(:,i) = pl%vb(:,i) + sgn * dt * pl%ah(:,i) + pl%vb(:,j) = pl%vb(:,j) + sgn * dt * pl%ah(:,j) + pl%ah(:,i) = 0.0_DP + pl%ah(:,j) = 0.0_DP end associate end do else