From dc41783bca3df9dd6d3cc155c7ab9e1fa0351268 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Tue, 16 May 2023 15:53:32 -0400 Subject: [PATCH] Added new example of rmvs vs. swifter comparison with multiple planets and encountering test particles --- examples/rmvs_swifter_comparison/.gitignore | 1 + .../8pl_16tp_encounters/.gitignore | 5 + .../8pl_16tp_encounters/init_cond.py | 32 ++++ .../swiftest_vs_swifter.ipynb | 159 ++++++++++++++++++ .../swiftest_vs_swifter.py | 9 + 5 files changed, 206 insertions(+) create mode 100644 examples/rmvs_swifter_comparison/8pl_16tp_encounters/.gitignore create mode 100755 examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py create mode 100644 examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.ipynb create mode 100644 examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.py diff --git a/examples/rmvs_swifter_comparison/.gitignore b/examples/rmvs_swifter_comparison/.gitignore index ecf4c57c8..4d901ba7d 100644 --- a/examples/rmvs_swifter_comparison/.gitignore +++ b/examples/rmvs_swifter_comparison/.gitignore @@ -1,3 +1,4 @@ * !.gitignore !1pl_1tp_encounter +!8pl_16tp_encounters diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/.gitignore b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/.gitignore new file mode 100644 index 000000000..89c2a1c6c --- /dev/null +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/.gitignore @@ -0,0 +1,5 @@ +* +!.gitignore +!init_cond.py +!swiftest_vs_swifter.py +!swiftest_vs_swifter.ipynb diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py new file mode 100755 index 000000000..d59c068d6 --- /dev/null +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +import numpy as np +import swiftest + +tstart = 0.0 +dt = 1.0 +tstop = 365.25e2 +tstep_out = 100*dt + +sim = swiftest.Simulation(simdir="swiftest_sim",init_cond_format="XV",output_format="XV",general_relativity=False, integrator="RMVS", rhill_present=True, MU="Msun", DU="AU", TU="d") +sim.clean() +sim.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) + +plname = sim.init_cond['name'].where(sim.init_cond['name'] != "Sun", drop=True) +pl = sim.init_cond.sel(name=plname) + +for i,n in enumerate(pl.name): + pli = pl.sel(name=n) + rstart = 2 * pli['radius'].data[0] # Start the test particles at a multiple of the planet radius away + vstart = 1.5 * np.sqrt(2 * pli['Gmass'].data[0]) / rstart # Start the test particle velocities at a multiple of the escape speed + rstart_vec = np.array([rstart / np.sqrt(2.0), rstart / np.sqrt(2.0), 0.0]) + vstart_vec = np.array([vstart, 0.0, 0.0]) + rp = pli['rh'].data[0] + vp = pli['vh'].data[0] + sim.add_body(name=[f"TestParticle{100+i}",f"TestParticle{200+i}"],rh=[rp+rstart_vec, rp-rstart_vec],vh=[vp+vstart_vec, vp-vstart_vec]) + + +sim.set_parameter(tstart=tstart, tstop=tstop, dt=dt, tstep_out=tstep_out, dump_cadence=0) +sim.save() + +sim.set_parameter(simdir="swifter_sim",codename="Swifter",init_cond_file_type="ASCII",output_file_type="REAL8") +sim.save() diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.ipynb b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.ipynb new file mode 100644 index 000000000..920def237 --- /dev/null +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.ipynb @@ -0,0 +1,159 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import swiftest" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swifter file /home/daminton/git_debug/swiftest/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swifter_sim/param.in\n", + "Reading in time 2.330e+04\n", + "Creating Dataset\n", + "Successfully converted 234 output frames.\n", + "Swifter simulation data stored as xarray DataSet .data\n" + ] + } + ], + "source": [ + "swiftersim = swiftest.Simulation(simdir=\"swifter_sim\", read_data=True, codename=\"Swifter\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swiftest file /home/daminton/git_debug/swiftest/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_sim/param.in\n", + "\n", + "Creating Dataset from NetCDF file\n", + "Successfully converted 1 output frames.\n", + "\n", + "Creating Dataset from NetCDF file\n", + "Successfully converted 367 output frames.\n", + "Swiftest simulation data stored as xarray DataSet .data\n", + "Reading initial conditions file as .init_cond\n", + "Finished reading Swiftest dataset files.\n" + ] + } + ], + "source": [ + "swiftestsim = swiftest.Simulation(simdir=\"swiftest_sim\",read_data=True)\n", + "swiftestsim.data = swiftestsim.data.swap_dims({\"name\" : \"id\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "swiftdiff = swiftestsim.data - swiftersim.data" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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2r9/v/bv36/vv/9el156qa644orGvpyArY4cOaLLL79cgYGBev/997Vt2zY999xzatWqlfuKGh+RnZ1tRo4caeLi4owkk5mZaXu9tLQ0I6nWo3///m5tlzfKyckxkszu3bvrXJ+WlmaioqJMUVGRY9mcOXNMixYtTFVVVZ375OfnG0lm69atxhhjXn31VRMREWEOHz5c5/ZXXHGFmTFjRq1lb7zxhomLiztju48dO2Z27tx51sexY8fOeu5//etfTXBwsHnooYdMWFiY2bFjx1m3B+B9mmsft3TpUtO6dWtTWlpqjDEmNzfXWJZl8vLyzrgPAO/VXPu6k02ZMsV07NjR5Ofn12t7+L6SkhKzbds2U1JSYndTGuSBBx4wAwcOdOkxz/VaBLgv8mhaRUVF6tWrlyZMmKDrr7/eY+oNHz681idGQUFBbm+bt+nVq5euuuoq9ezZU8OGDVNKSopuuOEGtW7dutY2YWFhjucDBgxQYWGh9u7dq44dO+qbb77RI488ovXr1+vQoUOO5HzPnj1KSkpSbm6uevfuraioqDrbkJOTo40bN9ZK1KuqqlRaWqri4uJatWtEREQoIiKiUed+4403KjMzUzNnztScOXN0wQUXNOp4ADxPc+3jRo8erUmTJikzM1O33HKL/vKXv2jIkCHq1KmT08cE4Lmaa19XY+7cuZo3b57+/e9/q23bto0+HnyTMUaVZWW21A4IDq73iMUVK1Zo2LBhuvHGG5Wdna3zzjtP99xzj37zm9+4r31uO3ITS01NVWpq6hnXl5eX649//KPeeustHT16VElJSXr22WeVnJzslno1goODFRsb61SN5sLf31+rV6/WunXr9MEHH+ill17Sww8/rA0bNigxMfGs+9b8co0aNUodOnTQa6+9pvj4eFVXVyspKckxbzE0NPSsx6murtbjjz+uMWPGnLYuJCSkzn3eeust3XXXXWc97quvvqqxY8eecX1xcbFycnLk7++vnTt3nvVYALxTc+3jgoKCNG7cOM2fP19jxozRokWLNGvWrLMeD4D3aq59nSRlZWVp8uTJWrx4sXr16nXWY6F5qywr04tpN9hSe8rCvyvwDL8Hp/r22281Z84cZWRkaNq0afrss880ZcoUBQcH6/bbb3dL+3wmmDiXCRMmaPfu3VqyZIni4+OVmZmp4cOHa+vWrercubPb6mZl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MjLUu3dvPfroo45tlixZImOMbr311kbXazbBRFBQkPr06aPVq1fXWr569WpddtllNrWq/srKyrR9+3bFxcUpMTFRsbGxtc6lvLxc2dnZjnPp06ePAgMDa22zf/9+ffHFF45tBgwYoIKCAn322WeObTZs2KCCggJbXpOmPK8BAwboiy++0P79+x3bfPDBBwoODlafPn3cep6nOnz4sPbu3au4uDhJ3nGOxhhNmjRJ77zzjj766CMlJibWWt9cf5Z2o5+jn/PU3w36Oc89T29DP+fZ/Vxz/r2gn/Pc84RzkpOTZYw57bFgwQLHNr/97W9VXFysyMjIxhc8660zfcySJUtMYGCgmTdvntm2bZuZOnWqCQ8PN7t377a7aae59957TVZWlvn222/N+vXrzciRI01ERISjrc8884yJjIw077zzjtm6dau59dZbTVxcnDl27JjjGHfffbdp3769+fDDD83mzZvNlVdeaXr16mUqKysd2wwfPtxceOGF5tNPPzWffvqp6dmzpxk5cqTbzuv48ePm888/N59//rmRZJ5//nnz+eefm++++65Jz6uystIkJSWZq666ymzevNl8+OGHpn379ue8m2xjz/H48ePm3nvvNevWrTN5eXnm448/NgMGDDDnnXeeV53j//zP/5jIyEiTlZVl9u/f73gUFxc7tvGFn6U3op+jn6tBP9c49HOei37O3n6uOfRx5zpP+jnv+3na5VzfRNGcnOu1aFbBhDHG/L//9/9Mx44dTVBQkLn44osdX4fjaW6++WYTFxdnAgMDTXx8vBkzZoz58ssvHeurq6vNY489ZmJjY01wcLAZNGiQ2bp1a61jlJSUmEmTJpmoqCgTGhpqRo4cafbs2VNrm8OHD5uxY8eaiIgIExERYcaOHWuOHDnitvP6+OOPjaTTHmlpaU1+Xt99950ZMWKECQ0NNVFRUWbSpEmmtLTUredYXFxsUlJSTNu2bU1gYKBJSEgwaWlpp7Xf08+xrvOTZObPn+/Yxhd+lt6Kfo5+rgb9nPPo5zwb/Zx9/Vxz6OPOdZ70c97387QLwcTPzvVaWMYY0/hxFwAAAAAAoEZpaany8vKUmJiokJAQu5tjq3O9Fs3mHhMAAAAAAMDzEEwAAAAAAADbEEwAAAAAAADbEEwAAAAAAADbEEwAAAAAAADbEEwAAAAAAADbEEwAAAAAAADb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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "swiftdiff['rh'].plot(x=\"time\",hue=\"id\",col=\"space\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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fK06bGjM5MmTtX//fq1atUoOh0NpaWm68sortXPnTp177rluqTl06FCtW7dOt99+uxwOhzIyMvTll1/q5Zdfdks9X2JZli677DJddtlleuKJJ9S9e3elpaUpNTVVkvSvf/1LJSUlzhepzZs3q23bturSpYuOHj2q3bt36/XXX3deY7dx48Zax7/gggv0P//zP/rhhx/qTdMvuugi7dmzR+ecc06Tx3z11Vdr8ODBDW4TGxvb4PoHHnhAAQEB+sc//qGrrrpKo0eP1q9+9asmjwFAy9Fa57E777xTffv21YIFC1RRUVHvmwQAvqE1zmP79u3ThAkTNGvWLOYv+LTq6moNGjRIc+bMkSQNGDBAn3/+uRYuXEjY4ElfffWVVq5cqW+//VYOh0OS9OCDD2r9+vVasmSJ8xtkt1deeUV33XWXunTpoqCgIAUEBOh//ud/NHToULfU8xVbtmzRP//5TyUlJSkmJkZbtmzR999/r969ezu3KS8v1x133KHf/va3+uabb/Tkk09q6tSpCggIUIcOHdSxY0ctWrRI8fHxOnDggB599NFaNW6++WbNmTNH48aN09y5cxUfH68dO3bI4XBoyJAheuKJJzRmzBh17dpV119/vQICAvTZZ59p586deuaZZ+od95m27b377rv685//rE2bNumiiy7So48+qpSUFH322We1WhYBtHytdR6TpN69e+uSSy7RI488ottvv73Rv1wCaJla4zxWUlKisWPH6sILL9Tdd9+t/Px857q4uDiXjgn/ExQaqunL/tcrdZsjPj5e559/fq1lvXv31urVq+0c1n/YencIH6af3bDxr3/9q5Fk2rRpU+srKCjI3HDDDcYYY3Jzc42kBr+mTJnSpHo1XnjhBdOzZ0+zbt06869//cu8+uqrpm3btiY9Pd0dp+0zdu3aZUaNGmU6d+5sQkNDTc+ePc2rr77qXJ+SkmKuueYa88QTT5iOHTuatm3bmjvvvNN5QzJjjElPTze9e/c2oaGh5oILLjAZGRl1vg/79+83EyZMMO3atTMRERFm0KBBZsuWLc7169evN5deeqkJDw837dq1M7/85S/NokWL3HLOBQUFJjY2ttZNkCoqKswvf/lL579BAL6jNc5jp1q8eLGRZD799FO31wLgHq1xHmvo9320Tr58g8ibb765zg0iZ8yYYYYMGeLyMRt6Pixj+JBr6aeWsLS0NI0bN06S9NZbb+nWW2/V559/rsDAwFrbtm3bVnFxcaqoqKjzucA/16FDh3rbsn5eT/opOY2KilJaWppGjx7tXH7nnXfq22+/1fr1610/QT83adIkHTt2TGvXrvX2UADAJf4+jz377LNatWqVdu7c6e2hAHATf5/HAEkqLS1Vbm6uEhISTnufkJZq69atuvTSS/XUU0/phhtu0Keffqq77rpLixYtavCeJQ1p6PngMorTGDBggKqqqlRQUHDaz9ENDg7WeeedZ1vNiooKVVRUKCAgoNbywMBA5516AQDwJUVFRdq9e7deffVV/e53v/P2cAAAaLUuvvhipaWlaebMmXr66aeVkJCgefPmuRw0NKZVhw1FRUXat2+f83Fubq5ycnIUHR2tnj176tZbb9Vtt92mF198UQMGDNCRI0f00UcfqV+/frrqqqtsrdetWze1a9dOw4cP10MPPaTw8HB1795dmZmZWr58uV566SVbzhkAAE+aOnWqVq5cqXHjxun222/39nAAAGjVxowZozFjxnikVqu+jCIjI0MjRoyoszwlJUVLly5VRUWFnnnmGS1fvlyHDh1Sx44dNWTIED311FPq16+f7fUkKT8/XzNnztQHH3ygH374Qd27d9fdd9+t+++/v1mfoQoAAAAAsJcvX0bhDg09H606bAAAAAAAoKkIG2pr6PkIOM0+AAAAAAAALml192yorq7W4cOHFRkZyWUJADzGGKMTJ07I4XDUuQlsczGPAfAG5jEAvs7OeQyNa3Vhw+HDh9W1a1dvDwNAK3Xw4EF16dLljI7BPAbAm5jHAPg6O+YxNK7VhQ2RkZGSfvoH1q5dOy+PBkBrcfz4cXXt2tU5B50J5jEA3sA8BsDX2TmPoXGtLmyoadVr164dL24APM6OdmHmMQDexDwGwNdx+ZZncKEKAAAAAACwFWEDAAAAAACwFWEDAAAAAACwFWEDAAAAAAB+rkePHrIsq87XlClT3FKv1d0gEgAAAACA1mbr1q2qqqpyPv73v/+tX//617r++uvdUo+wAQAAwE9VVlbq6NGj9a4LCQlRhw4dPDwiAIC3dO7cudbj5557TmeffbaGDx/ulnqEDQAAAH5q+fLlOnDgQL3rEhISlJKS4uERAYD/McbIVFR7vK4VHODyx3iWl5frjTfeUGpqqts+CpSwAQAAwE/l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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "swiftdiff['vh'].plot(x=\"time\",hue=\"id\",col=\"space\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python (My debug_env Kernel)", + "language": "python", + "name": "debug_env" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.py b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.py new file mode 100644 index 000000000..dce7c1358 --- /dev/null +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_vs_swifter.py @@ -0,0 +1,9 @@ +import swiftest +import numpy as np + +swiftersim = swiftest.Simulation(simdir="swifter_sim", read_data=True, codename="Swifter") +swiftestsim = swiftest.Simulation(simdir="swiftest_sim",read_data=True) +swiftestsim.data = swiftestsim.data.swap_dims({"name" : "id"}) +swiftdiff = swiftestsim.data - swiftersim.data +swiftdiff['rh'].plot(x="time",hue="id",col="space") +swiftdiff['vh'].plot(x="time",hue="id",col="space") \ No newline at end of file