From de9db5fba167b9f5ef71937f54eb6631a239e8c0 Mon Sep 17 00:00:00 2001 From: Carlisle April Wishard Date: Fri, 2 Dec 2022 11:34:42 -0500 Subject: [PATCH 01/20] added fragmentation example --- .../Fragmentation/swiftest_fragmentation.py | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 examples/Fragmentation/swiftest_fragmentation.py diff --git a/examples/Fragmentation/swiftest_fragmentation.py b/examples/Fragmentation/swiftest_fragmentation.py new file mode 100644 index 000000000..241391104 --- /dev/null +++ b/examples/Fragmentation/swiftest_fragmentation.py @@ -0,0 +1,41 @@ +""" + Copyright 2022 - David Minton, Carlisle Wishard, Jennifer Pouplin, Jake Elliott, & Dana Singh + This file is part of Swiftest. + Swiftest is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + Swiftest is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with Swiftest. + If not, see: https://www.gnu.org/licenses. +""" +#!/usr/bin/env python3 +""" +Generates a set of Swiftest input files from initial conditions, runs Swiftest, and generates fragmentation movies. +Returns +------- +Updates sim.data with the simulation data, produces fragmentation movies. +""" +import swiftest +import numpy as np +from numpy.random import default_rng + +sim_disruption = swiftest.Simulation(param_file="param.disruption.in", output_file_name="disruption.nc", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_disruption.add_solar_system_body(["Sun"]) +sim_disruption.add_body(name="Target", v1=1.0, v2=-1.807993e-05, v3=0.0, v4=-2.562596e-04, v5=6.280005, v6=0.0, idvals=1, Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=0.0) +sim_disruption.add_body(name="Projectile", v1=1.0, v2=1.807993e-05, v3=0.0, v4=-2.562596e-04, v5=-6.280005, v6=0.0, idvals=2, Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=0.0) +sim_disruption.get_parameter() +sim_disruption.run() + +sim_hitandrun = swiftest.Simulation(param_file="param.hitandrun.in", output_file_name="hitandrun.nc", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_hitandrun.add_solar_system_body(["Sun"]) +sim_hitandrun.add_body(name="Target", v1=1.0, v2=-4.2e-05, v3=0.0, v4=0.0, v5=6.28, v6=0.0, idvals=1, Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=6.0e4) +sim_hitandrun.add_body(name="Projectile", v1=1.0, v2=4.2e-05, v3=0.0, v4=-1.5, v5=-6.28, v6=0.0, idvals=2, Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=1.0e5) +sim_hitandrun.get_parameter() +sim_hitandrun.run() + +sim_supercat = swiftest.Simulation(param_file="param.supercat.in", output_file_name="supercat.nc", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_supercat.add_solar_system_body(["Sun"]) +sim_supercat.add_body(name="Target", v1=1.0, v2=-4.2e-05, v3=0.0, v4=0.0, v5=6.28, v6=0.0, idvals=1, Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=-6.0e4) +sim_supercat.add_body(name="Projectile", v1=1.0, v2=4.2e-05, v3=0.0, v4=1.0, v5=-6.28, v6=0.0, idvals=2, Gmass=1e-8, radius=3.25e-6, rhill=4e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=1.0e5) +sim_supercat.get_parameter() +sim_supercat.run() From 965d4e6cdf946e6ef3dfbaa7d42af9ab806e9311 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 5 Dec 2022 13:16:46 -0500 Subject: [PATCH 02/20] fixed problem with indexing of output --- src/main/swiftest_driver.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/swiftest_driver.f90 b/src/main/swiftest_driver.f90 index 528e0c73d..bc08a1a1b 100644 --- a/src/main/swiftest_driver.f90 +++ b/src/main/swiftest_driver.f90 @@ -81,7 +81,7 @@ program swiftest_driver t = tstart nloops = ceiling((tstop - t0) / dt, kind=I8B) istart = ceiling((tstart - t0) / dt + 1.0_DP, kind=I8B) - ioutput = int(istart / istep_out, kind=I4B) + ioutput = max(int(istart / istep_out, kind=I4B),1) ! Set up system storage for intermittent file dumps if (dump_cadence == 0) dump_cadence = ceiling(nloops / (1.0_DP * istep_out), kind=I8B) From 0dcc67327950d7b20a67dc814af23e54836da938 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 5 Dec 2022 13:33:07 -0500 Subject: [PATCH 03/20] More bugfixes for indexing the output files correctly --- src/io/io.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io/io.f90 b/src/io/io.f90 index 69c32f5dc..0f8c6761c 100644 --- a/src/io/io.f90 +++ b/src/io/io.f90 @@ -287,7 +287,7 @@ module subroutine io_dump_storage(self, param) iloop_start = max(param%iloop - int(param%istep_out * param%dump_cadence, kind=I8B),1) do i = 1, param%dump_cadence - param%ioutput = int(iloop_start / param%istep_out, kind=I4B) + i + param%ioutput = max(int(iloop_start / param%istep_out, kind=I4B),1) + i if (allocated(self%frame(i)%item)) then select type(system => self%frame(i)%item) class is (swiftest_nbody_system) From d4981a1e0a588eab465bd7f2a8470e7af02b1fc9 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 5 Dec 2022 16:54:16 -0500 Subject: [PATCH 04/20] Accidentally read in position vectors as velocity when using XV input --- src/netcdf/netcdf.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/netcdf/netcdf.f90 b/src/netcdf/netcdf.f90 index 261fa6355..c7bd9a256 100644 --- a/src/netcdf/netcdf.f90 +++ b/src/netcdf/netcdf.f90 @@ -524,7 +524,7 @@ module function netcdf_read_frame_system(self, nciu, param) result(ierr) if (ntp > 0) tp%vh(i,:) = pack(vectemp(i,:), tpmask(:)) end do else - call check( nf90_get_var(nciu%id, nciu%vh_varid, rtemp, start=[1, 1, tslot], count=[NDIM,idmax,1]), "netcdf_read_frame_system nf90_getvar vhx_varid" ) + call check( nf90_get_var(nciu%id, nciu%vh_varid, vectemp, start=[1, 1, tslot], count=[NDIM,idmax,1]), "netcdf_read_frame_system nf90_getvar vh_varid" ) do i = 1, NDIM if (npl > 0) pl%vh(i,:) = pack(vectemp(i,:), plmask(:)) if (ntp > 0) tp%vh(i,:) = pack(vectemp(i,:), tpmask(:)) From 7e8b751f77cf45a592142b5ac50ecd29dcb3694f Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 10:29:52 -0500 Subject: [PATCH 05/20] updated to use sim.data instead of ds --- examples/Basic_Simulation/output_reader.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/Basic_Simulation/output_reader.py b/examples/Basic_Simulation/output_reader.py index b171eb402..611e85a36 100644 --- a/examples/Basic_Simulation/output_reader.py +++ b/examples/Basic_Simulation/output_reader.py @@ -29,18 +29,18 @@ import matplotlib.pyplot as plt # Read in the simulation output and store it as an Xarray dataset -ds = swiftest.Simulation(param_file="simdata/param.in", read_old_output_file=True).data +sim = swiftest.Simulation(read_old_output_file=True) # Plot of the data and save the output plot -colors = ['white' if x == 'Massive Body' else 'black' for x in ds['particle_type']] -sizes = [100 if x == 'Massive Body' else 10 for x in ds['particle_type']] +colors = ['white' if x == 'Massive Body' else 'black' for x in sim.data['particle_type']] +sizes = [100 if x == 'Massive Body' else 10 for x in sim.data['particle_type']] fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(5,3)) -ax.set(xlabel="Semimajor Axis (AU)", ylabel="Eccentricity", title="Simulation Start") -ax.scatter(ds['a'].isel(time=0), ds['e'].isel(time=0), c=colors, s=sizes, edgecolor='black') +ax.set(xlabel="Semimajor Axis (AU)", ylabel="Eccentricity", title="Simulation Initial Conditions (t=0)") +ax.scatter(sim.data['a'].isel(time=0), sim.data['e'].isel(time=0), c=colors, s=sizes, edgecolor='black') ax.set_xlim(0, 2.0) ax.set_ylim(0, 0.4) -ax.text(1.5, 0.35, f"t = {ds['time'].isel(time=0).values} years", size=10, ha="left") +ax.text(1.5, 0.35, f"t = {sim.data['time'].isel(time=0).values} years", size=10, ha="left") plt.tight_layout() plt.show() -fig.savefig("output.eps", dpi=300, facecolor='white', transparent=False, bbox_inches="tight") \ No newline at end of file +fig.savefig("output.eps", dpi=300, facecolor='white', transparent=False, bbox_inches="tight") From 44ab293832b4e224d4adea0aa978374735b93ea8 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 10:36:12 -0500 Subject: [PATCH 06/20] cleaned up Basic_Simulation directory --- examples/Basic_Simulation/cb.in | 7 - .../Basic_Simulation/initial_conditions.ipynb | 190 ---- examples/Basic_Simulation/pl.in | 85 -- examples/Basic_Simulation/read_old_run.ipynb | 853 ------------------ examples/Basic_Simulation/read_old_run.py | 2 - examples/Basic_Simulation/run_from_file.ipynb | 119 --- .../Basic_Simulation/run_simulation.ipynb | 67 -- examples/Basic_Simulation/tp.in | 31 - 8 files changed, 1354 deletions(-) delete mode 100644 examples/Basic_Simulation/cb.in delete mode 100644 examples/Basic_Simulation/initial_conditions.ipynb delete mode 100644 examples/Basic_Simulation/pl.in delete mode 100644 examples/Basic_Simulation/read_old_run.ipynb delete mode 100644 examples/Basic_Simulation/read_old_run.py delete mode 100644 examples/Basic_Simulation/run_from_file.ipynb delete mode 100644 examples/Basic_Simulation/run_simulation.ipynb delete mode 100644 examples/Basic_Simulation/tp.in diff --git a/examples/Basic_Simulation/cb.in b/examples/Basic_Simulation/cb.in deleted file mode 100644 index b2cb85c35..000000000 --- a/examples/Basic_Simulation/cb.in +++ /dev/null @@ -1,7 +0,0 @@ -Sun -39.476926408897626 -0.004650467260962157 -4.7535806948127355e-12 --2.2473967953572827e-18 -0.0 0.0 0.07 -11.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/Basic_Simulation/initial_conditions.ipynb b/examples/Basic_Simulation/initial_conditions.ipynb deleted file mode 100644 index 60581d22a..000000000 --- a/examples/Basic_Simulation/initial_conditions.ipynb +++ /dev/null @@ -1,190 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "2c4f59ea-1251-49f6-af1e-5695d7e25500", - "metadata": {}, - "outputs": [], - "source": [ - "import swiftest\n", - "import numpy as np\n", - "from numpy.random import default_rng\n", - "%env OMP_NUM_THREADS=4" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6054c7ab-c748-4b39-9fee-d8b27326f497", - "metadata": {}, - "outputs": [], - "source": [ - "# Initialize the simulation object as a variable\n", - "sim = swiftest.Simulation(fragmentation=True, minimum_fragment_mass = 2.5e-11, mtiny=2.5e-8)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1c122676-bacb-447c-bc37-5ef8019be0d0", - "metadata": {}, - "outputs": [], - "source": [ - "# Add the modern planets and the Sun using the JPL Horizons Database\n", - "sim.add_solar_system_body([\"Sun\",\"Mercury\",\"Venus\",\"Earth\",\"Mars\",\"Jupiter\",\"Saturn\",\"Uranus\",\"Neptune\",\"Pluto\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "97fe9f16-bc2e-443c-856b-7dacb1267f2d", - "metadata": {}, - "outputs": [], - "source": [ - "# Add 5 user-defined massive bodies\n", - "npl = 5\n", - "density_pl = 3000.0 / (sim.param['MU2KG'] / sim.param['DU2M'] ** 3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "566a742e-3935-484d-9c7a-87310b6aaa3a", - "metadata": {}, - "outputs": [], - "source": [ - "name_pl = [\"MassiveBody_01\", \"MassiveBody_02\", \"MassiveBody_03\", \"MassiveBody_04\", \"MassiveBody_05\"]\n", - "a_pl = default_rng().uniform(0.3, 1.5, npl)\n", - "e_pl = default_rng().uniform(0.0, 0.3, npl)\n", - "inc_pl = default_rng().uniform(0.0, 90, npl)\n", - "capom_pl = default_rng().uniform(0.0, 360.0, npl)\n", - "omega_pl = default_rng().uniform(0.0, 360.0, npl)\n", - "capm_pl = default_rng().uniform(0.0, 360.0, npl)\n", - "GM_pl = (np.array([6e23, 8e23, 1e24, 3e24, 5e24]) / sim.param['MU2KG']) * sim.GU\n", - "R_pl = np.full(npl, (3 * (GM_pl / sim.GU) / (4 * np.pi * density_pl)) ** (1.0 / 3.0))\n", - "Rh_pl = a_pl * ((GM_pl) / (3 * sim.GU)) ** (1.0 / 3.0)\n", - "Ip_pl = np.full((npl,3),0.4,)\n", - "rot_pl = np.zeros((npl,3))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d2c14121-e5b4-45bd-99a7-acde0ee77955", - "metadata": {}, - "outputs": [], - "source": [ - "sim.add_body(name=name_pl, a=a_pl, e=e_pl, inc=inc_pl, capom=capom_pl, omega=omega_pl, capm=capm_pl, Gmass=GM_pl, radius=R_pl, rhill=Rh_pl, Ip=Ip_pl, rot=rot_pl)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b3f979b3-5238-492f-8589-0cf5d9a3c2bc", - "metadata": {}, - "outputs": [], - "source": [ - "# Add 10 user-defined test particles\n", - "ntp = 10" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5777c1bb-8c91-452a-8869-ce6f951b33a3", - "metadata": {}, - "outputs": [], - "source": [ - "name_tp = [\"TestParticle_01\", \"TestParticle_02\", \"TestParticle_03\", \"TestParticle_04\", \"TestParticle_05\", \"TestParticle_06\", \"TestParticle_07\", \"TestParticle_08\", \"TestParticle_09\", \"TestParticle_10\"]\n", - "a_tp = default_rng().uniform(0.3, 1.5, ntp)\n", - "e_tp = default_rng().uniform(0.0, 0.3, ntp)\n", - "inc_tp = default_rng().uniform(0.0, 90, ntp)\n", - "capom_tp = default_rng().uniform(0.0, 360.0, ntp)\n", - "omega_tp = default_rng().uniform(0.0, 360.0, ntp)\n", - "capm_tp = default_rng().uniform(0.0, 360.0, ntp)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8df4bcb7-46a6-402a-b10f-f37c55a0fdee", - "metadata": {}, - "outputs": [], - "source": [ - "sim.add_body(name=name_tp, a=a_tp, e=e_tp, inc=inc_tp, capom=capom_tp, omega=omega_tp, capm=capm_tp)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "135bd3f8-0a56-4d62-b728-f150debc1a76", - "metadata": {}, - "outputs": [], - "source": [ - "# Display the run configuration parameters\n", - "p = sim.get_parameter()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fd30638b-6868-4162-bc05-1011bb255968", - "metadata": {}, - "outputs": [], - "source": [ - "# Run the simulation\n", - "sim.run(tstart=0.0, tstop=1.0e3, dt=0.01, tstep_out=1.0e0, dump_cadence=0)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "02a8911d-3b2c-415c-9290-bf1519a3f5c6", - "metadata": {}, - "outputs": [], - "source": [ - "sim.ic" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5f8d1ac3-5ad0-4b8a-ad9d-1b63486920aa", - "metadata": {}, - "outputs": [], - "source": [ - "sim.data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "fb93805d-377b-47d6-a565-c26acd2a7cbc", - "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": 5 -} diff --git a/examples/Basic_Simulation/pl.in b/examples/Basic_Simulation/pl.in deleted file mode 100644 index 215b91f1d..000000000 --- a/examples/Basic_Simulation/pl.in +++ /dev/null @@ -1,85 +0,0 @@ -14 -Mercury 6.553709809565314e-06 -1.6306381826061646e-05 -0.3870985843095394 0.2056234010897001 7.003302508001384 -48.29611837378607 29.20442403952454 338.3394874682879 -0.0 0.0 0.346 -3.573018077015318 -18.380317085416586 34.36143850429876 -Venus 9.663313399581537e-05 -4.0453784346544176e-05 -0.7233297579736101 0.006717605698865438 3.394439273342282 -76.60235891771119 54.96037946082961 200.4789339550648 -0.0 0.0 0.4 -0.17650282045605922 -3.6612475825356214 8.702866268072764 -Earth 0.00012002693582795245 -4.25875607065041e-05 -0.9999904874543223 0.01671400376545858 0.003637862608863003 -175.025172600231 287.9619628812575 114.3482934042427 -0.0 0.0 0.3307 -6.157239621449141 0.057224133705898524 2301.2082528350797 -Mars 1.2739802010675942e-05 -2.2657408050928896e-05 -1.523711925589535 0.09344151133508208 1.847441673557901 -49.4728572124747 286.7379771285891 209.3396773477138 -0.0 0.0 0.3644 -997.9224351226384 -909.5549030011778 1783.3823046046184 -Jupiter 0.037692251088985676 -0.0004673261703049093 -5.2027278008516 0.04824497711637968 1.303631134570075 -100.5192588433081 273.5898402882514 129.5536700659942 -0.0 0.0 0.2756 --80.9864396731672 -2388.0246092955053 5008.722318533006 -Saturn 0.011285899820091273 -0.00038925687730393614 -9.532011952667288 0.05486329870433341 2.487906363280301 -113.6305781676206 339.5467356402391 290.8995806568904 -0.0 0.0 0.22 -441.95954822014636 378.52638822638795 5135.909115928892 -Uranus 0.001723658947826773 -0.00016953449859497232 -19.24498838290236 0.04796174942301296 0.7730102596086205 -74.0125809801658 93.59554912280227 262.8658637277515 -0.0 0.0 0.23 --677.3000258209181 -3008.1099071905787 -836.3013266185699 -Neptune 0.0020336100526728304 -0.00016458790412449367 -30.03895991152209 0.008955570138096731 1.771119354296142 -131.8221159748827 284.4748429674216 308.4513720536233 -0.0 0.0 0.23 -1232.224106980634 -2177.3040821077648 2329.8227878119233 -Pluto 2.924216771029454e-07 -7.943294877391593e-06 -39.36791814672583 0.2487178537481577 17.1705505990969 -110.3314332962701 113.0826635900664 55.11416408345664 -0.0 0.0 0.4 --243.59404988903637 261.28663002814227 -38.57352022187049 -MassiveBody_01 1.1912109366578089e-05 -2.425055692051245e-05 -0.7452368716298337 0.0633011418780484 0.11151363780595558 -203.01823417718037 284.9353898127118 266.79344592519305 -0.4 0.4 0.4 -0.0 0.0 0.0 -MassiveBody_02 1.5882812488770783e-05 -2.6691191565570074e-05 -0.7671203280602826 0.10149029388964753 53.46706656938751 -61.74738152068808 68.20565593722856 271.3352706902475 -0.4 0.4 0.4 -0.0 0.0 0.0 -MassiveBody_03 1.985351561096348e-05 -2.8752214513575297e-05 -1.4698824276418418 0.13621250684495437 23.635498327264845 -38.071905339231236 283.134612455057 250.67457601578352 -0.4 0.4 0.4 -0.0 0.0 0.0 -MassiveBody_04 5.9560546832890444e-05 -4.14678690275904e-05 -0.9741731590760117 0.1519713326893784 20.51335588582416 -350.53780805624825 304.05941264938997 142.62713592644738 -0.4 0.4 0.4 -0.0 0.0 0.0 -MassiveBody_05 9.926757805481742e-05 -4.916559523190238e-05 -0.6633500122731075 0.13550930562584215 10.680323453316653 -328.45970148163457 49.93948991697533 316.2109831817007 -0.4 0.4 0.4 -0.0 0.0 0.0 diff --git a/examples/Basic_Simulation/read_old_run.ipynb b/examples/Basic_Simulation/read_old_run.ipynb deleted file mode 100644 index 0a7459084..000000000 --- a/examples/Basic_Simulation/read_old_run.ipynb +++ /dev/null @@ -1,853 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "86b309f3-d400-4164-88fc-cf56b6cfcf5f", - "metadata": {}, - "outputs": [], - "source": [ - "import swiftest" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "353b2559-83a2-496f-8648-60f6121333a5", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Reading Swiftest file /home/daminton/git_debug/swiftest/examples/Basic_Simulation/simdata/param.in\n", - "\n", - "Creating Dataset from NetCDF file\n", - "Successfully converted 78 output frames.\n", - "Swiftest simulation data stored as xarray DataSet .data\n" - ] - } - ], - "source": [ - "sim = swiftest.Simulation(read_old_output_file=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c7bceca2-678d-469d-a3a7-06cfa9f29fc0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.Dataset>\n",
-       "Dimensions:          (time: 78, name: 25)\n",
-       "Coordinates:\n",
-       "  * time             (time) float64 0.0 2.0 nan 4.0 nan ... nan 76.0 nan 78.0\n",
-       "  * name             (name) <U32 'Sun' 'Mercury' ... 'TestParticle_10'\n",
-       "Data variables: (12/45)\n",
-       "    id               (name) int64 0 1 2 3 4 5 6 7 8 ... 17 18 19 20 21 22 23 24\n",
-       "    npl              (time) int64 14 14 -2147483647 14 ... 14 -2147483647 14\n",
-       "    ntp              (time) int64 10 10 -2147483647 10 ... 10 -2147483647 10\n",
-       "    nplm             (time) int64 13 13 -2147483647 13 ... 13 -2147483647 13\n",
-       "    particle_type    (name) <U32 'Central Body' ... 'Test Particle'\n",
-       "    status           (name) <U32 'ACTIVE' 'ACTIVE' ... 'ACTIVE' 'ACTIVE'\n",
-       "    ...               ...\n",
-       "    Ip3              (time, name) float64 0.07 0.346 0.4 0.3307 ... nan nan nan\n",
-       "    rotx             (time, name) float64 11.21 3.573 0.1765 ... nan nan nan\n",
-       "    roty             (time, name) float64 -38.76 -18.38 -3.661 ... nan nan nan\n",
-       "    rotz             (time, name) float64 82.25 34.36 8.703 ... nan nan nan\n",
-       "    j2rp2            (time) float64 4.754e-12 4.754e-12 nan ... nan 4.754e-12\n",
-       "    j4rp4            (time) float64 -2.247e-18 -2.247e-18 nan ... nan -2.247e-18
" - ], - "text/plain": [ - "\n", - "Dimensions: (time: 78, name: 25)\n", - "Coordinates:\n", - " * time (time) float64 0.0 2.0 nan 4.0 nan ... nan 76.0 nan 78.0\n", - " * name (name) Date: Tue, 6 Dec 2022 10:38:04 -0500 Subject: [PATCH 07/20] deleted notebook --- examples/helio_gr_test/helio_gr_test.ipynb | 158 --------------------- 1 file changed, 158 deletions(-) delete mode 100644 examples/helio_gr_test/helio_gr_test.ipynb diff --git a/examples/helio_gr_test/helio_gr_test.ipynb b/examples/helio_gr_test/helio_gr_test.ipynb deleted file mode 100644 index c6b0c67ea..000000000 --- a/examples/helio_gr_test/helio_gr_test.ipynb +++ /dev/null @@ -1,158 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import swiftest\n", - "from astroquery.jplhorizons import Horizons\n", - "import datetime\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_gr = swiftest.Simulation(simdir=\"gr\")\n", - "sim_gr.add_solar_system_body([\"Sun\",\"Mercury\",\"Venus\",\"Earth\",\"Mars\",\"Jupiter\",\"Saturn\",\"Uranus\",\"Neptune\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_nogr = swiftest.Simulation(simdir=\"nogr\")\n", - "sim_nogr.add_solar_system_body([\"Sun\",\"Mercury\",\"Venus\",\"Earth\",\"Mars\",\"Jupiter\",\"Saturn\",\"Uranus\",\"Neptune\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "run_args = {\"tstop\":1000.0, \"dt\":0.005, \"tstep_out\":10.0, \"dump_cadence\": 0,\"integrator\":\"helio\"}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_gr.run(**run_args,general_relativity=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_nogr.run(**run_args,general_relativity=False)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Get the start and end date of the simulation so we can compare with the real solar system\n", - "start_date = sim_gr.ephemeris_date\n", - "tstop_d = sim_gr.param['TSTOP'] * sim_gr.param['TU2S'] / swiftest.JD2S\n", - "\n", - "stop_date = (datetime.datetime.fromisoformat(start_date) + datetime.timedelta(days=tstop_d)).isoformat()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#Get the ephemerides of Mercury for the same timeframe as the simulation\n", - "obj = Horizons(id='1', location='@sun',\n", - " epochs={'start':start_date, 'stop':stop_date,\n", - " 'step':'10y'})\n", - "el = obj.elements()\n", - "t = (el['datetime_jd']-el['datetime_jd'][0]) / 365.25\n", - "varpi_obs = el['w'] + el['Omega']" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "varpisim_gr= sim_gr.data['varpi'].sel(name=\"Mercury\")\n", - "varpisim_nogr= sim_nogr.data['varpi'].sel(name=\"Mercury\")\n", - "tsim = sim_gr.data['time']" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dvarpi_gr = np.diff(varpisim_gr) * 3600 * 100 / run_args['tstep_out']\n", - "dvarpi_nogr = np.diff(varpisim_nogr) * 3600 * 100 / run_args['tstep_out']\n", - "dvarpi_obs = np.diff(varpi_obs) / np.diff(t) * 3600 * 100" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig, ax = plt.subplots()\n", - "\n", - "ax.plot(t, varpi_obs, label=\"JPL Horizons\",linewidth=2.5)\n", - "ax.plot(tsim, varpisim_gr, label=\"Swiftest helio GR\",linewidth=1.5)\n", - "ax.plot(tsim, varpisim_nogr, label=\"Swiftest helio No GR\",linewidth=1.5)\n", - "ax.set_xlabel('Time (y)')\n", - "ax.set_ylabel('Mercury $\\\\varpi$ (deg)')\n", - "ax.legend()\n", - "plt.savefig(\"helio_gr_mercury_precession.png\",dpi=300)\n", - "print('Mean precession rate for Mercury long. peri. (arcsec/100 y)')\n", - "print(f'JPL Horizons : {np.mean(dvarpi_obs)}')\n", - "print(f'Swiftest No GR : {np.mean(dvarpi_nogr)}')\n", - "print(f'Swiftest GR : {np.mean(dvarpi_gr)}')\n", - "print(f'Obs - Swiftest GR : {np.mean(dvarpi_obs - dvarpi_gr)}')\n", - "print(f'Obs - Swiftest No GR : {np.mean(dvarpi_obs - dvarpi_nogr)}')" - ] - } - ], - "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 -} From b917da8c77f9889a927a2290b45381e4f4ef1ced Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 10:39:09 -0500 Subject: [PATCH 08/20] deleted symba_hungarias example --- .../hungarias_5pl_500tp_17_param.in | 38 - .../hungarias_5pl_500tp_17_pl.in | 49 - .../hungarias_5pl_500tp_17_sun_MsunAUYR.in | 7 - .../hungarias_5pl_500tp_17_tp.in | 1 - .../swifter/control_planets/param.swifter.in | 26 - .../hungarias_5pl_500tp_17_param.in | 38 - .../control_tp/hungarias_5pl_500tp_17_pl.in | 49 - .../hungarias_5pl_500tp_17_sun_MsunAUYR.in | 7 - .../control_tp/hungarias_5pl_500tp_17_tp.in | 1501 ----------------- .../hungarias_5pl_500tp_17_param.in | 38 - .../control_pl/hungarias_5pl_500tp_17_pl.in | 79 - .../hungarias_5pl_500tp_17_sun_MsunAUYR.in | 7 - .../control_pl/hungarias_5pl_500tp_17_tp.in | 1 - .../hungarias_5pl_500tp_17_param.in | 38 - .../hungarias_5pl_500tp_17_pl.in | 49 - .../hungarias_5pl_500tp_17_sun_MsunAUYR.in | 7 - .../hungarias_5pl_500tp_17_tp.in | 1 - .../hungarias_5pl_500tp_17_param.in | 38 - .../control_tp/hungarias_5pl_500tp_17_pl.in | 49 - .../hungarias_5pl_500tp_17_sun_MsunAUYR.in | 7 - .../control_tp/hungarias_5pl_500tp_17_tp.in | 1501 ----------------- 21 files changed, 3531 deletions(-) delete mode 100644 examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_param.in delete mode 100644 examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_pl.in delete mode 100644 examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in delete mode 100644 examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_tp.in delete mode 100644 examples/symba_hungarias/swifter/control_planets/param.swifter.in delete mode 100644 examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_param.in delete mode 100644 examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_pl.in delete mode 100644 examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in delete mode 100644 examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_tp.in delete mode 100644 examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_param.in delete mode 100644 examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_pl.in delete mode 100644 examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_sun_MsunAUYR.in delete mode 100644 examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_tp.in delete mode 100644 examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_param.in delete mode 100644 examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_pl.in delete mode 100644 examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in delete mode 100644 examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_tp.in delete mode 100644 examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_param.in delete mode 100644 examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_pl.in delete mode 100644 examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in delete mode 100644 examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_tp.in diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_param.in deleted file mode 100644 index ba1fb3c2b..000000000 --- a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_param.in +++ /dev/null @@ -1,38 +0,0 @@ -! VERSION Swiftest parameter input -T0 0.0 -TSTOP 200000000.0 -DT 0.005 -ISTEP_OUT 200000 -ISTEP_DUMP 200000 -OUT_FORM XVEL -OUT_TYPE NETCDF_DOUBLE -OUT_STAT REPLACE -IN_TYPE ASCII -PL_IN hungarias_5pl_500tp_17_pl.in -TP_IN hungarias_5pl_500tp_17_tp.in -CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in -BIN_OUT hungarias_5pl_500tp_17_out.nc -CHK_QMIN -1.0 -CHK_RMIN -1.0 -CHK_RMAX 1000.0 -CHK_EJECT 1000.0 -CHK_QMIN_COORD HELIO -CHK_QMIN_RANGE -1.0 -1.0 -MU2KG 1.988409870698051e+30 -TU2S 31557600.0 -DU2M 149597870700.0 -IN_FORM EL -EXTRA_FORCE NO -PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat -BIG_DISCARD NO -CHK_CLOSE YES -RHILL_PRESENT YES -FRAGMENTATION NO -ROTATION YES -TIDES NO -ENERGY YES -GR YES -INTERACTION_LOOPS ADAPTIVE -ENCOUNTER_CHECK ADAPTIVE -ENERGY_OUT hungarias_5pl_500tp_17_energy.dat -GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_pl.in deleted file mode 100644 index cd9d16020..000000000 --- a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_pl.in +++ /dev/null @@ -1,49 +0,0 @@ -8 -Mercury 6.553709809565314146e-06 0.0014751274117575772341 -1.6306381826061645943e-05 -0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 -48.302897646473702764 29.190213908309409874 163.69992642152809026 -0.0 0.0 0.34599999999999997424 -3.5735549824428292985 -18.380047749494480457 34.361526740492798437 -Venus 9.6633133995815381836e-05 0.006759122875155079725 -4.0453784346544178454e-05 -0.7233300630551103838 0.006773384545514573099 3.394505355540899938 -76.62090440289564697 55.183156101464518883 271.2285045598760007 -0.0 0.0 0.4000000000000000222 -0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 -Earth 0.000120026935827952456416 0.010044657392872289059 -4.25875607065040958e-05 -0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 -175.84932558359508903 287.2227751976308241 324.72725799674782365 -0.0 0.0 0.33069999999999999396 -4.827962479462605839 0.034731626640621778608 2301.2114260455621944 -Mars 1.2739802010675941808e-05 0.007246146587933918669 -2.265740805092889601e-05 -1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 -49.490271729763087194 286.7387645553690163 252.78317601821959215 -0.0 0.0 0.3644000000000000017 -997.9376283354346323 -909.38573894978675416 1783.4600697011568969 -Jupiter 0.03769225108898567778 0.35525381666404283465 -0.00046732617030490929307 -5.203268729924161562 0.04848413524543258163 1.3035624911873560094 -100.51639734596980702 273.421918018626684 325.351028522703416 -0.0 0.0 0.27560000000000001164 --80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 -Saturn 0.01128589982009127331 0.43764770913411007376 -0.00038925687730393611812 -9.581513697274186114 0.05248801962394190196 2.4862838811768979141 -113.59546767797320399 335.45662431368151601 228.84653123700309152 -0.0 0.0 0.22000000000000000111 -441.9323685947327233 378.52918410105413535 5135.911248678291292 -Uranus 0.001723658947826773068 0.4699394560146697986 -0.00016953449859497231466 -19.24773626798451076 0.04408736292912442123 0.7704474968533898682 -74.09072726634606454 95.12631113857929677 237.66915583105441101 -0.0 0.0 0.23000000000000000999 --677.3000258209181323 -3008.109907190578637 -836.301326618569835 -Neptune 0.0020336100526728302882 0.7816500366521773358 -0.000164587904124493665 -30.297815841143489024 0.013873050398302080172 1.7688477929856469828 -131.74107055888509876 246.83916166351488641 334.07963351871291025 -0.0 0.0 0.23000000000000000999 -1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in deleted file mode 100644 index b2cb85c35..000000000 --- a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in +++ /dev/null @@ -1,7 +0,0 @@ -Sun -39.476926408897626 -0.004650467260962157 -4.7535806948127355e-12 --2.2473967953572827e-18 -0.0 0.0 0.07 -11.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_tp.in deleted file mode 100644 index 573541ac9..000000000 --- a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_tp.in +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/examples/symba_hungarias/swifter/control_planets/param.swifter.in b/examples/symba_hungarias/swifter/control_planets/param.swifter.in deleted file mode 100644 index b39e5a947..000000000 --- a/examples/symba_hungarias/swifter/control_planets/param.swifter.in +++ /dev/null @@ -1,26 +0,0 @@ -! VERSION Swifter parameter file converted from Swiftest -T0 0.0 -TSTOP 200000000.0 -DT 0.005 -ISTEP_OUT 200000 -ISTEP_DUMP 200000 -OUT_FORM XV -OUT_TYPE REAL8 -OUT_STAT UNKNOWN -IN_TYPE ASCII -PL_IN hungarias_5pl_500tp_17_pl.in -TP_IN hungarias_5pl_500tp_17_tp.in -BIN_OUT hungarias_5pl_500tp_17_out.dat -CHK_QMIN -1.0 -CHK_RMIN -1.0 -CHK_RMAX 1000.0 -CHK_EJECT 1000.0 -CHK_QMIN_COORD HELIO -CHK_QMIN_RANGE -1.0 -1.0 -EXTRA_FORCE NO -PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat -BIG_DISCARD NO -CHK_CLOSE YES -RHILL_PRESENT YES -J2 0.0 -J4 0.0 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_param.in deleted file mode 100644 index ba1fb3c2b..000000000 --- a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_param.in +++ /dev/null @@ -1,38 +0,0 @@ -! VERSION Swiftest parameter input -T0 0.0 -TSTOP 200000000.0 -DT 0.005 -ISTEP_OUT 200000 -ISTEP_DUMP 200000 -OUT_FORM XVEL -OUT_TYPE NETCDF_DOUBLE -OUT_STAT REPLACE -IN_TYPE ASCII -PL_IN hungarias_5pl_500tp_17_pl.in -TP_IN hungarias_5pl_500tp_17_tp.in -CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in -BIN_OUT hungarias_5pl_500tp_17_out.nc -CHK_QMIN -1.0 -CHK_RMIN -1.0 -CHK_RMAX 1000.0 -CHK_EJECT 1000.0 -CHK_QMIN_COORD HELIO -CHK_QMIN_RANGE -1.0 -1.0 -MU2KG 1.988409870698051e+30 -TU2S 31557600.0 -DU2M 149597870700.0 -IN_FORM EL -EXTRA_FORCE NO -PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat -BIG_DISCARD NO -CHK_CLOSE YES -RHILL_PRESENT YES -FRAGMENTATION NO -ROTATION YES -TIDES NO -ENERGY YES -GR YES -INTERACTION_LOOPS ADAPTIVE -ENCOUNTER_CHECK ADAPTIVE -ENERGY_OUT hungarias_5pl_500tp_17_energy.dat -GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_pl.in deleted file mode 100644 index cd9d16020..000000000 --- a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_pl.in +++ /dev/null @@ -1,49 +0,0 @@ -8 -Mercury 6.553709809565314146e-06 0.0014751274117575772341 -1.6306381826061645943e-05 -0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 -48.302897646473702764 29.190213908309409874 163.69992642152809026 -0.0 0.0 0.34599999999999997424 -3.5735549824428292985 -18.380047749494480457 34.361526740492798437 -Venus 9.6633133995815381836e-05 0.006759122875155079725 -4.0453784346544178454e-05 -0.7233300630551103838 0.006773384545514573099 3.394505355540899938 -76.62090440289564697 55.183156101464518883 271.2285045598760007 -0.0 0.0 0.4000000000000000222 -0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 -Earth 0.000120026935827952456416 0.010044657392872289059 -4.25875607065040958e-05 -0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 -175.84932558359508903 287.2227751976308241 324.72725799674782365 -0.0 0.0 0.33069999999999999396 -4.827962479462605839 0.034731626640621778608 2301.2114260455621944 -Mars 1.2739802010675941808e-05 0.007246146587933918669 -2.265740805092889601e-05 -1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 -49.490271729763087194 286.7387645553690163 252.78317601821959215 -0.0 0.0 0.3644000000000000017 -997.9376283354346323 -909.38573894978675416 1783.4600697011568969 -Jupiter 0.03769225108898567778 0.35525381666404283465 -0.00046732617030490929307 -5.203268729924161562 0.04848413524543258163 1.3035624911873560094 -100.51639734596980702 273.421918018626684 325.351028522703416 -0.0 0.0 0.27560000000000001164 --80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 -Saturn 0.01128589982009127331 0.43764770913411007376 -0.00038925687730393611812 -9.581513697274186114 0.05248801962394190196 2.4862838811768979141 -113.59546767797320399 335.45662431368151601 228.84653123700309152 -0.0 0.0 0.22000000000000000111 -441.9323685947327233 378.52918410105413535 5135.911248678291292 -Uranus 0.001723658947826773068 0.4699394560146697986 -0.00016953449859497231466 -19.24773626798451076 0.04408736292912442123 0.7704474968533898682 -74.09072726634606454 95.12631113857929677 237.66915583105441101 -0.0 0.0 0.23000000000000000999 --677.3000258209181323 -3008.109907190578637 -836.301326618569835 -Neptune 0.0020336100526728302882 0.7816500366521773358 -0.000164587904124493665 -30.297815841143489024 0.013873050398302080172 1.7688477929856469828 -131.74107055888509876 246.83916166351488641 334.07963351871291025 -0.0 0.0 0.23000000000000000999 -1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in deleted file mode 100644 index b2cb85c35..000000000 --- a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in +++ /dev/null @@ -1,7 +0,0 @@ -Sun -39.476926408897626 -0.004650467260962157 -4.7535806948127355e-12 --2.2473967953572827e-18 -0.0 0.0 0.07 -11.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_tp.in deleted file mode 100644 index f4ba244e1..000000000 --- a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_tp.in +++ /dev/null @@ -1,1501 +0,0 @@ -500 -TestParticle -1.8454769027014339411 0.13951119042459186881 25.837798047275626345 -328.17117785206306735 237.2860880034895672 64.23008023926446697 -TestParticle -1.8948047399930760815 0.39253684339890981825 30.57401904357708844 -171.8160167926455415 74.67067835186652758 346.82539114732162489 -TestParticle -1.4322956873029448754 0.26682998123758877584 36.888797433998760766 -135.67836179139501951 49.89780708941236753 50.12940813296061293 -TestParticle -1.5422738860284694873 0.37685139101297421282 19.245291067203744717 -242.6056203622448777 190.34039186776647057 265.5775848896740854 -TestParticle -1.4000225346968613316 0.29255853399659431657 19.890767084525684538 -119.10518346196536754 348.49038108835299 47.293501598324468205 -TestParticle -1.456396703278512561 0.21606816556140612251 29.008692147879436618 -108.30731953608933793 221.35606614343436149 135.6522448644592771 -TestParticle -1.4991966146428574724 0.2669401594934397437 30.077755049056197123 -191.15663442447419129 222.38194219090249248 69.087779756302211354 -TestParticle -1.2976220185588704936 0.2964166811906516763 17.074990789432430205 -304.33208099940674174 258.6470139846816778 322.57928297363247339 -TestParticle -1.2284058459883253622 0.02114032275754222992 21.48034199376179032 -253.91897753388707315 121.66008318006832667 48.90451689677965419 -TestParticle -1.3491703154567693534 0.12631152383406446527 12.08570156851411781 -94.79536576066179521 143.49729046755351192 208.82266091055907964 -TestParticle -1.354548306636307764 0.30813073753578051894 26.385704559503864175 -9.340695923175923454 140.9062990975310754 128.60525944669927867 -TestParticle -1.4726763914941964906 0.051608113984077212677 23.16805302210511286 -60.87571895315940651 37.85205814142705094 334.24673224972650587 -TestParticle -1.5463324166991267994 0.049680078831149866725 2.1376306166210978787 -220.16008032774595904 11.76294270807032305 189.70726088424217437 -TestParticle -1.8424848789863070841 0.22250945291262835823 31.15994606422547264 -200.26190393952850854 90.472365503047569746 91.504582635979360816 -TestParticle -1.3344201535197020014 0.22773738327276721316 26.57752464191161934 -153.96142537752339763 186.86606427694519539 35.556703962561442722 -TestParticle -1.9184874234026485507 0.023481756935774280443 35.397883111232822273 -271.86866710708176242 55.05965672749781703 149.58202579969920976 -TestParticle -1.5321856218987717213 0.3979302949006976453 2.3033304058957959626 -1.0080751214383187886 229.5039187263292888 149.08850733126683963 -TestParticle -1.8579680598185155382 0.22191671822921349433 4.132202808256058013 -84.407322217061448555 105.02111083305797479 146.60404199861849861 -TestParticle -1.8191335218869923995 0.081164276322499742666 2.5841250683973493452 -159.5912052269758874 90.717444711181698835 52.736155424681527393 -TestParticle -1.3667350901122115037 0.040168371245059432406 21.275121073210776501 -354.85336821525999085 78.43154031841972085 317.9997578721723812 -TestParticle -1.211310325452651826 0.22495050228658303171 6.171244471860548586 -261.19666701924728613 72.22571277624209074 188.79752520382470493 -TestParticle -1.5325985395295633751 0.31279786859050073833 20.80765006283890628 -318.17303457104600284 237.18051290105893258 171.10337432510698363 -TestParticle -1.8680074840187885776 0.2359667145186353232 3.4681761306941005785 -200.43760942249792834 358.90361110235892284 209.24526446322295214 -TestParticle -1.8902919155434694254 0.083578216274719355217 21.112558775866592242 -196.8514015184809125 347.4309841941474133 73.29619835953663198 -TestParticle -1.3627905330289311614 0.099888583939379896326 10.927033380075510394 -304.94152566655765213 199.55238917120914266 66.700355986912740036 -TestParticle -1.6040569601728904559 0.0037929451167165065088 35.906866500389931218 -99.48570161019421221 264.107310263435636 196.91578900528253371 -TestParticle -1.5861188083181421149 0.12827049258664038889 4.433072269138715882 -250.35776905499878353 45.94314631274010452 78.766936071707490896 -TestParticle -1.8085832921727800215 0.38738844761580382148 38.482814871600758977 -59.61087191956130482 302.66582104517908647 337.43444136948141931 -TestParticle -1.4784945066780474932 0.02330664972959981679 24.805661482861435019 -161.3343149737517308 260.74004269183234328 332.58410511792851594 -TestParticle -1.2147867771614853094 0.16512447645289687892 26.704102750300808822 -342.71215159236965064 303.68316149292064665 267.30686157877283904 -TestParticle -1.2201597354758311198 0.29779565538112623413 9.5137682254248456815 -191.53033272117548336 279.0125127827463416 212.78518850631689929 -TestParticle -1.6306412809893466864 0.17831015307074157827 3.1250419675817919796 -35.17124037365346112 108.44038602029890228 289.87991262900078482 -TestParticle -1.2151606182820764435 0.030818630012030868992 15.255139624036321067 -18.872922094318155928 231.7787216922804987 114.00766773514217789 -TestParticle -1.263893046608108861 0.2365742775318666613 11.945519016269416923 -42.860493283933593034 103.96603523733477914 283.38829024952065083 -TestParticle -1.6208609899851271763 0.084237547629803233296 12.70952077968544458 -283.22127471251508268 16.774057774443846824 300.16022765529646676 -TestParticle -1.369439844040318377 0.02479558882423171795 12.8318676295292597445 -301.63112212878189666 317.34595898371384237 30.617048625074787083 -TestParticle -1.5997694540834734855 0.09458558350377295476 19.448014834633401193 -12.1917196597836952066 3.3679767469261356894 154.78568082871979072 -TestParticle -1.7665402755717471983 0.30325026057285930925 27.633560559304825688 -101.32565005973741279 173.42784439679959974 37.232060344515574002 -TestParticle -1.9955375108845494481 0.36780600821797326816 31.984293078717442427 -282.80116122029363623 340.83055441100248117 39.611552110590793063 -TestParticle -1.8068990906750328485 0.21026617244057629885 1.0616116239923245601 -148.12562556977400163 298.30253571723386585 39.94475612648128049 -TestParticle -1.6630081107132843599 0.2735942970781838346 20.393789507385111648 -186.34515293922132173 65.17268953054855274 249.5770342523899501 -TestParticle -1.7985429554004617181 0.32088199656574384333 3.421215620948947489 -16.760921442599428843 74.095210179753522084 131.64141600391005227 -TestParticle -1.4370805125444752193 0.33325879590334600566 29.297209939601689399 -179.87886700027897291 9.64820682838999133 185.83130754139918395 -TestParticle -1.4655739620290153535 0.017666725980597774298 15.194095015809558902 -272.98954032167330297 58.084307572382229523 205.40990717491945361 -TestParticle -1.8476543863511110111 0.38915614646375812358 11.917542586934226634 -134.42337723208845546 335.9708646376130332 1.2971084841705504687 -TestParticle -1.4590877868615714785 0.00229625206779173743 3.1321552894228821273 -234.02046406252858901 255.12979045887780671 16.475368403924544936 -TestParticle -1.3888300055647480047 0.04773585409741545882 20.980957411518524225 -232.75615771007392141 269.83840631297238133 128.91250646333895702 -TestParticle -1.9931456375147125204 0.36812801925517474322 8.575906190939374341 -75.54998759463583724 336.19060016425089543 128.81172294803698719 -TestParticle -1.8774492133690419138 0.3438244675687084917 23.038981078440741612 -9.8914055387747712444 56.58764160659445963 274.986529163730836 -TestParticle -1.3204375538736723428 0.08737144541036796774 29.974540925371840672 -221.62895491427303796 180.74872085610940076 337.40135640751742585 -TestParticle -1.7927656300808507694 0.117314349174642992835 19.184850306121404628 -206.67799209022632567 27.751086824061687253 298.02149638567931333 -TestParticle -1.7770751091671890265 0.19250351376309945972 9.172954305563960631 -43.26806500508915576 40.25028641050728595 238.70170337404292127 -TestParticle -1.974616589119178478 0.34407442172588997842 9.802858566374489158 -297.25364573770326615 87.77531802870282718 75.66951173963438748 -TestParticle -1.3863166307158814039 0.076685155941225657816 27.402627668756696977 -65.08259549484182571 164.8638775674021133 100.45589134667613962 -TestParticle -1.865440866859517488 0.1196471086364425257 11.945324988836505398 -268.187594819792821 223.64720186520361267 29.40940210460087556 -TestParticle -1.924611171111724417 0.20112445232693854091 27.71898676703103348 -318.34445645026778493 191.25112555799532288 349.89422766228875616 -TestParticle -1.5993892099645203864 0.10968442780595713537 9.326690310948993812 -31.533935713187357663 310.02898225335894722 210.51997485541662058 -TestParticle -1.2359382488484538243 0.32658357473851062913 38.707976308555153366 -144.00217869231852319 119.06805794770258444 79.384200277529473055 -TestParticle -1.6109049166063780234 0.038297945827820673026 19.543826335927839466 -187.13697315293387646 257.17832502585736165 137.87766714187893058 -TestParticle -1.4314628393318562516 0.06605107757031168647 34.48524969280026653 -261.32336202719972107 132.91845049023550018 38.845354985336733478 -TestParticle -1.6270574875899108669 0.34703206127568098083 15.7198484814636287865 -347.55110983950402215 301.80674145531685326 112.25474179150697296 -TestParticle -1.2336395323546296421 0.09729394203067305569 5.1016432554912771735 -233.12366663108903708 146.38256752560837981 198.90738568911748985 -TestParticle -1.3456767380773657639 0.0037474665741684012703 39.938234490697439583 -256.57759604724572 75.054619437472723575 358.3650510442133168 -TestParticle -1.5755427111046413913 0.26176654357687628716 8.3705428253832359076 -37.517264866504824283 65.328654571322900324 91.55626866074713632 -TestParticle -1.6755570822166401257 0.13402717291758836637 24.063895956419415256 -13.799270685071709508 72.62055343894668624 87.31894896673983908 -TestParticle -1.5559490988866435668 0.15176826381840774483 38.48111346610262018 -256.2333379875098558 75.97800331031197629 59.41813313856062706 -TestParticle -1.44994652075586683 0.33986546456988747655 24.751134550954795088 -232.18945993885864709 196.68218102285592863 134.45246030705607154 -TestParticle -1.8429185809905443971 0.017095748280579449452 37.139787427802218645 -161.43471520401584485 307.27501647662722917 355.50902004252696997 -TestParticle -1.8754638534803846905 0.012020551314167439438 25.689663713162978809 -190.79044364156195002 199.61943428385487209 354.13757823278496062 -TestParticle -1.6785085343609076336 0.092751885821403062815 9.210612929641403213 -285.5852225501039925 151.86743084166838003 284.55869958326974256 -TestParticle -1.6543220378661067649 0.21134650270613800083 33.840207882222927083 -304.1335703446064258 326.82908020011677763 324.19035648687139428 -TestParticle -1.532142838634183768 0.38007507167758092237 0.41347334753230935434 -67.05133558163640828 34.399290053628249098 34.840294234675972973 -TestParticle -1.5607062121608026306 0.33781855969656376937 8.967843423326943508 -299.3643723824862377 200.63715648972143413 68.959909224159687824 -TestParticle -1.4493452438508076519 0.0685471748773834183 8.6320194163908645635 -72.080624314054560386 115.122237950328312195 0.4079154529894424286 -TestParticle -1.6460340581063395149 0.39668168452346741493 20.981074587513283802 -204.3451792276263177 201.37614636656564926 213.30860176845612841 -TestParticle -1.5920263567710581931 0.25848484530126630832 37.015946260712674132 -127.874562568991194667 65.19741011690945243 94.70447850395582634 -TestParticle -1.7336512363309442009 0.07029270812373322741 2.7619103909209741232 -186.8230602145383159 227.39378660430725176 98.630627655617857386 -TestParticle -1.2180382444813300236 0.3142235003505371993 28.081856084101627147 -111.345098722858793394 55.920002664921518942 282.87486367297071865 -TestParticle -1.6485319714902004762 0.3152277024193525512 9.613333711481617527 -294.21829832085342105 286.30105207001298595 128.67843292368630159 -TestParticle -1.4661249318513216444 0.05768902442216044396 0.40134055259916312508 -131.60830524837382427 243.75402215940340511 207.34266824752899083 -TestParticle -1.9808876352137643195 0.14308188258148502037 1.4378912336896432222 -80.646845170624999355 231.53252144735679963 232.24754717746816368 -TestParticle -1.2317104124445219515 0.2601604050852836525 0.45344055155487783537 -196.60019387641727917 281.28440095008312483 247.80040663000707468 -TestParticle -1.9766606334273690848 0.34561610666945052905 23.435434834980789276 -34.473035596172188377 271.1594424183512615 48.466138898201464258 -TestParticle -1.902283887520531902 0.11209856668107276434 36.03239655947709963 -294.40684092368923075 270.02199923071918874 114.382104661423511516 -TestParticle -1.6492323095244016962 0.15893979864294510707 37.659784271934086064 -104.66474319501168111 339.31942052690538958 216.02473301930888283 -TestParticle -1.3484148267391067311 0.21111072648635398341 10.89667366492733791 -291.56591682201212734 76.70162083026228572 312.33817224861377326 -TestParticle -1.4294351818194139803 0.088023727454350997323 39.975651469559892348 -198.68831704157523177 24.599669214308292453 112.67218982565516683 -TestParticle -1.7462490440076519072 0.37071438804152889723 21.870120107958371136 -306.73669065023256053 227.86908802150850306 221.53115484665687518 -TestParticle -1.2326287663421375829 0.38251042858385364553 15.802748366587309192 -199.40278420565533679 149.69869717845381274 315.67560896416114247 -TestParticle -1.8450862453370659999 0.35823810152470403345 0.24296995062495163609 -231.11355647090658749 268.36408970924156847 247.20131497380242536 -TestParticle -1.3463306194321635889 0.054152156717265725883 19.291673537548810202 -161.87111271376406307 110.46662751206984865 211.17562619004070257 -TestParticle -1.7304729990392044847 0.0060363382745066036794 4.5425988088905189244 -83.83165898233737323 161.12905358043980186 286.6647995328502816 -TestParticle -1.272415258736352639 0.34812105948963872892 35.045494396081245725 -14.574000729875393745 353.3713665259786012 131.5433867402096837 -TestParticle -1.6439273487752854574 0.36545065070539850538 6.353634441759323792 -208.14453818563018217 10.813063425795590433 206.06730287545840952 -TestParticle -1.6763079933342956984 0.094138501830316120844 9.085159707293687603 -80.58871476637817466 314.0368013316636393 100.690960685859835166 -TestParticle -1.4877140448295171904 0.16166761889883485281 34.241465691047999087 -79.8410863542756033 83.93580251433438377 326.42504725591442138 -TestParticle -1.2162284372972316238 0.0041396912261435492297 18.10971019209766908 -119.24015567046335207 329.67281909144981 104.828869567280364095 -TestParticle -1.8047735542382463692 0.33749016396948239294 0.52972364011479644574 -178.94392698813351217 299.23756071934496958 162.62104380151879468 -TestParticle -1.5839648306862472715 0.10066137160625268643 33.26828317225646714 -263.27920251880794922 68.67162164080139064 57.290691877799474696 -TestParticle -1.782207613297600135 0.28298109588186182162 35.127393670730072017 -210.15608294480230711 329.15212439443854464 156.34171670624388639 -TestParticle -1.3155167265331972892 0.3723026355627080397 31.9899066241260428 -91.31036979040656831 223.20537501312867334 55.827047719351739374 -TestParticle -1.5449962589928503132 0.042895131418722920458 19.621615335811604552 -53.274917868286941314 105.38186162729587636 323.020751462690896 -TestParticle -1.5754411317280814231 0.34816180369684263107 4.7678217298113434452 -120.95128002085144203 157.00930158977180895 240.29746717057042815 -TestParticle -1.5907469291141598244 0.1964357827791012312 32.411571541856559975 -170.61499094134663324 242.1650203501031342 17.501615221478704854 -TestParticle -1.830089894183755117 0.1183426089423230132 39.644525581214999477 -294.65378437812546508 109.07115594302160844 324.16241183209581322 -TestParticle -1.4367780052388956502 0.36401192064177911867 30.631206179017613778 -68.80265368578432117 273.93063220366155974 24.29554655983004352 -TestParticle -1.2142291174104986595 0.26599477562223389215 38.323418486729934784 -308.15266716976327643 181.95454939706644382 25.317934141736472498 -TestParticle -1.3097560558867786806 0.27086655670790987793 26.727111485760552512 -202.01817831967753136 111.97198753257944759 220.9572217341067244 -TestParticle -1.7068002319397266309 0.13225077417056724238 27.615823462695185952 -285.91192474987235528 163.31636137404424858 93.38394269951035653 -TestParticle -1.2055264990732839081 0.30786309414395046646 1.0578708063967390274 -10.359167032075170312 91.437369236993205845 199.49137469503560283 -TestParticle -1.507944679481377559 0.24354603379899894544 13.546984987329334871 -57.02677054315793015 348.2783664994595938 271.03255123935065285 -TestParticle -1.2000480949162781741 0.37393642722973008397 23.203234027939288353 -10.544426197782676979 54.256441116884829512 254.63780531903708493 -TestParticle -1.7449420987438828412 0.24948442565304040919 27.500692921539069857 -95.99564887831238025 273.51317842100650068 326.03984845413532412 -TestParticle -1.3765488182504534986 0.030416876982825514358 31.70464034258963082 -275.78595003182448409 133.87458225546748736 226.00553898246667472 -TestParticle -1.2429016633522536051 0.20958324622273286075 37.67591956683881449 -291.1872246516109044 179.51252843010638571 313.71221570905379394 -TestParticle -1.350836711566139936 0.37146863516149991602 10.648022816293165604 -303.44796444885918163 189.14789607745939293 51.43707686446851568 -TestParticle -1.3606071504125110128 0.33726059408562408803 29.623948782469774699 -174.22516541583135563 294.25596249059782394 95.41136217835122579 -TestParticle -1.2613426667283003102 0.28493782233230641188 2.8418286626483357793 -28.660785941482401995 87.50329638280636857 62.24419865756345871 -TestParticle -1.7174163570319429528 0.3032422501079781174 15.67069716211129915 -199.70972264612359481 32.767912430781642286 213.64123907162533555 -TestParticle -1.7458843970753306074 0.11283265730661723447 31.014841487303186796 -100.348702433335944306 70.42890181497725166 181.6379350423849246 -TestParticle -1.5856984450767472872 0.12800000166780992061 31.429108868252029652 -51.353858554652823898 23.612627758947475343 267.08391560632128403 -TestParticle -1.7153544980924069208 0.009492334383937130193 23.973160269033186864 -225.8121095708202688 166.53019043018878165 111.264606624241494615 -TestParticle -1.5026214783945404108 0.0060590469509819834884 26.922409196875427995 -295.19858318066900438 267.2316600455114326 164.01625566186100968 -TestParticle -1.9160661225785111661 0.2687972938601586037 36.621056515844763624 -334.838998311582543 64.064850181025448705 189.01682882741042135 -TestParticle -1.2176400162982947695 0.34785736514134202313 33.268864900617138858 -225.50438622677125977 227.27950095352301219 349.3797741235012495 -TestParticle -1.2273892818311689101 0.2816869543044054902 29.30501713210593806 -5.1819190308878404494 2.980732803128396391 210.95489861072306326 -TestParticle -1.3751089556704734207 0.2405885452138842584 36.06217993351511808 -199.72275209903938276 20.656954375719962513 63.697518910616103938 -TestParticle -1.5607369467841181176 0.07255978851264624496 7.9579329131271947517 -171.37467949380453547 212.58991825508687157 339.50383959100975062 -TestParticle -1.9532502979079398031 0.32689490765476852951 28.253212569212344363 -181.63986801834479934 358.1359989621613522 109.388744074059957256 -TestParticle -1.6386262719092012929 0.3843259001434648492 30.427684580834899464 -231.68744967547161195 57.857403700081057707 50.909305856223930675 -TestParticle -1.9782962700915884824 0.107957633562424437645 12.967168829872832703 -304.82496750248236594 137.36222813798312359 43.932431234771847528 -TestParticle -1.456906303967715921 0.14977091087281488302 11.183659205458482688 -73.40451433078203536 248.31190118288742497 75.220198402857562314 -TestParticle -1.2534896538060293913 0.32164641810767541363 3.6905727779895203255 -113.638768774667383354 40.160334282501267467 312.87037322501493009 -TestParticle -1.3014118589240171175 0.2335136721159586648 25.377666434917763638 -52.35427893272325406 9.000303326532378634 144.16353907228875642 -TestParticle -1.349118336295686893 0.043025081648941171375 4.3612305774961734883 -243.8860202407295219 2.8265136490351139287 103.60819968189791496 -TestParticle -1.3275933491849711832 0.30130671835155509175 9.869222679372882112 -140.91605869565009357 6.9406462242691979725 239.80228459696834875 -TestParticle -1.6818942627306852078 0.31620420657586079116 20.559233470145720446 -58.349404997197098055 117.22724335851061994 205.33268031856118796 -TestParticle -1.9852083696659352796 0.013418902816453127241 34.384158548277603984 -115.09964166928982365 93.38072290721305535 50.024657651717582496 -TestParticle -1.5693995761001753309 0.16001215059117473993 34.5933607052273544 -148.74442398288778122 35.382707682911650693 307.9784638941427488 -TestParticle -1.5266059802597138351 0.017927011927562432753 36.548915878020643788 -210.40292925773331945 201.71103729618005218 224.16233740901310512 -TestParticle -1.728092867591788595 0.17808919848065529745 20.998516569906101381 -308.92264952207932538 127.645229747456198766 161.89916144859373048 -TestParticle -1.6194915162303571421 0.12309065176675240694 11.294533006684988052 -54.678975810373955824 126.54242973288489793 198.90789595722705485 -TestParticle -1.3289490961949892434 0.29324085207912647943 30.6374181063208475 -269.87631534747202977 37.841881250480767562 348.01538484590025746 -TestParticle -1.992893537374311741 0.18673594337410803767 16.540817363482574365 -17.388276030638827763 78.86833627776049127 145.80382488854473877 -TestParticle -1.222299452110788831 0.30906300615816389987 12.345442063899700003 -306.8123712805751211 180.92912639536746155 259.40768755027107773 -TestParticle -1.4975645450575401085 0.33347394063389190766 1.5908406722909917974 -21.190900575813813589 29.47013297848204516 102.16591862721205075 -TestParticle -1.7529928369432026258 0.37348208125904397425 34.962456206016206295 -93.100816365900570304 51.110432866675402863 102.57164314281175166 -TestParticle -1.2425425262626379475 0.33615312037358630048 13.5646379554957707825 -178.52596605015196474 153.15866826328647221 144.53495382113527512 -TestParticle -1.6649955177303406018 0.2774227948724269921 0.19107601744351665474 -63.095836643914225306 354.85824120341573007 264.91047609564412824 -TestParticle -1.6484772171416994802 0.30267580759790019274 20.681865450161470932 -178.44791810461956061 236.1847171609527436 98.36374690667254583 -TestParticle -1.9932276245336744136 0.28313215139520719887 18.707112367987669188 -219.87647284127007197 126.12068590426943615 215.87266615210091913 -TestParticle -1.7032561164628601258 0.16397636271323282053 25.251751880173408438 -216.40546882883455737 157.48365299675131723 4.688955472432070337 -TestParticle -1.6688736346909214259 0.20206175633607201259 6.8253656041650678787 -216.49653061411731869 167.29352654167502124 264.9681676707442648 -TestParticle -1.8685421164356719181 0.017115665378235479788 37.702745220955684147 -341.22511657108503869 114.98911860271485352 180.97443389686239357 -TestParticle -1.2789089584183417347 0.38311485210375972876 34.310997435004189526 -320.3337196375490521 323.3381621809996318 259.21085923985185673 -TestParticle -1.6140662295704462093 0.22523087980360034788 31.289184028405010451 -342.24508460858135095 15.680010847649224814 231.38490121660879595 -TestParticle -1.9392715602121850527 0.15801671085680726869 28.474643946647489656 -130.88611486656463967 107.8187080577375383 123.51635573428578141 -TestParticle -1.2967745250719693306 0.06567169524305174755 33.95229338812422526 -290.63873117229752552 79.02208966627722475 232.82648238779003691 -TestParticle -1.5129927102068225775 0.035355940722157398748 39.88868697475624714 -192.95122284146495417 161.94702337269632153 136.8613631323482025 -TestParticle -1.6829217923833816872 0.25345881856811941502 11.3639096364677563145 -97.75123136727515316 45.772970150424697522 122.47944569483230737 -TestParticle -1.8496796135868087685 0.13179006688881342302 13.3337440463942780156 -265.13170996725159512 228.43295285296423458 86.46213418755671398 -TestParticle -1.3358066112403499393 0.14376027444378572384 39.375717961581145232 -157.40058260425848857 311.2848447975355839 331.54934076273463006 -TestParticle -1.4724981157763801232 0.09732120033570890172 28.321058818578286775 -59.894734856092107123 278.76518901350408441 80.89976806352470362 -TestParticle -1.2021644761475605012 0.31023967350442599455 28.526439154406524779 -141.17072146741031702 348.00301966689602295 345.1342457342993839 -TestParticle -1.5593994326172748721 0.1667781483451987734 33.654370780663562357 -266.88153921797828616 15.430552831803581171 331.4077165346525362 -TestParticle -1.2450357937715832435 0.028817230992748132934 35.27994061369459189 -170.88739535567884786 353.3811233168729018 235.24134924372253863 -TestParticle -1.9317961733915889333 0.3664316651845210826 24.216703033341396178 -53.371442738369651693 125.538665606108594375 100.18756180685251422 -TestParticle -1.6396980067944455506 0.35320738196817447196 38.908475459351436143 -246.96073709218802605 107.071264330560637745 337.8304256083255268 -TestParticle -1.7122870680368271756 0.33138468975426782492 22.34571124430782163 -41.625350595521808827 260.11274001626304653 319.5586433718779631 -TestParticle -1.7758391618474895779 0.055654577054355419685 14.384020683089943304 -218.7045008460380302 129.23569045343450057 314.73455478475153768 -TestParticle -1.8362854949156799389 0.17009562329070515574 9.220110348963054037 -5.6249185474454588274 94.48961934631255133 267.2078794777070243 -TestParticle -1.7334953226477165522 0.049544865778679184065 1.209613515173937337 -190.91534544660109418 64.56511824447872527 53.933623678817561142 -TestParticle -1.2066506827151026737 0.27307016461379868266 16.286012208431877468 -210.72290400454269843 4.9513407455376867716 217.19883427837939394 -TestParticle -1.9341836813541077866 0.31275777164344914505 21.744449246528134267 -16.671280260299788267 359.76195227232665275 224.80650775703034583 -TestParticle -1.2301271999661356205 0.031548406830605689455 39.849035058731047343 -90.34650036320888944 228.990784368342986 250.85529561169511226 -TestParticle -1.3410010761068889007 0.095083624572690483845 16.924908171363043152 -283.45379909314135602 86.752474366828209895 159.59709647132103782 -TestParticle -1.7698211243948773763 0.31273331984328978095 32.406541703763409146 -142.47083941877434654 108.934565017581746815 272.0311071315450704 -TestParticle -1.2184663095396561783 0.03812658809257066239 19.774618927626171683 -209.47233898474567582 217.91859195187419118 328.76297389338390076 -TestParticle -1.7206223471221142596 0.34602085721486458558 1.7719525390753965155 -165.06371680688690162 58.713339280074663407 131.55475352151159996 -TestParticle -1.3109621100006574324 0.1200549161067526599 35.241813901823853428 -280.10060451829298245 304.5154307276658301 258.67615548166588724 -TestParticle -1.890762195590066419 0.37035990280942132635 39.30878687557294171 -331.52556729751103148 337.10887406621617401 291.2002557551665518 -TestParticle -1.9459727148429868393 0.38159291851530796613 17.491010561827589953 -58.69944071533900143 205.64445683266583842 15.007877403052006571 -TestParticle -1.932411276121311472 0.04777930483056436195 25.073992516822389831 -121.57030712562516328 70.74439140769348455 289.9542940845957446 -TestParticle -1.5709963526669437073 0.10007382494413469276 31.19225199749002897 -25.663181434794644531 158.74882487098793149 349.24010777437848674 -TestParticle -1.335652850395929736 0.2682557203404010715 35.328293558121892204 -297.5826541744638689 60.254502441132032686 46.73892963602791184 -TestParticle -1.2957464098764572835 0.3440291712383192757 7.1735736922541004645 -59.24135447472242788 112.00172550339377153 63.553063734303997023 -TestParticle -1.3376569963037119315 0.3060189431378071423 33.029029350979975277 -152.73585490781837848 358.84231030107730476 37.635854669405638617 -TestParticle -1.771988403745682561 0.3418762364008507415 23.489318587551395012 -127.772934823946343386 203.78581662446330824 143.76143168311298837 -TestParticle -1.5956560402916708519 0.10759642083325884898 23.037334274387120558 -89.123439540602518605 335.80537435903943333 224.2944293252393777 -TestParticle -1.2213248137275627414 0.33273129495412528955 31.736197966218284705 -5.8113766822153190006 136.8878783815157476 64.522354495354704795 -TestParticle -1.5939091087487726739 0.18821654046060146137 30.731370977849337578 -266.58533763467028166 61.609425727717933796 18.235581197999763958 -TestParticle -1.7396585716134431721 0.33855494953671660951 29.449893101775622029 -180.02468739427200717 242.14518561194594781 286.10286226317128921 -TestParticle -1.282393302513987976 0.18117160916878405352 22.308223599873976184 -94.69043575838269078 120.90458523599184559 161.88428102391287666 -TestParticle -1.6814135190699217581 0.06566827687818244108 23.327233678731047917 -13.505074850212492876 48.75637107914376145 337.4546628636448986 -TestParticle -1.7657157709814490509 0.1428403447023711692 17.528150255810068359 -344.59038571613109525 139.36370104693307326 48.933862071120714177 -TestParticle -1.6903656227398606848 0.1881104051902828811 4.8333955434429443088 -225.1651227652955356 185.18882646555431393 132.21080070182574673 -TestParticle -1.994803202974419154 0.07010640681945860819 10.335500705227271823 -49.13850067137512667 6.4534592639328725028 80.823883651112907955 -TestParticle -1.3332640591247215678 0.06033190012542344327 21.035357456357957062 -97.733488288704805314 80.36567051536489714 46.55202086502264791 -TestParticle -1.6243595893431250765 0.19184864274731788791 3.8955991274805690239 -177.92659068814418788 143.40326100313114921 22.678654943892524898 -TestParticle -1.6823664970435372457 0.2224783311899178051 28.355960754425314718 -38.26291967170601538 109.90023925961423856 198.84047030132839495 -TestParticle -1.7191941261517613704 0.33174274738319786682 12.850948299491872007 -119.00419547116645447 97.60779700546201809 294.77008528831782996 -TestParticle -1.8572892923802768461 0.35111820477995814294 13.9604529367616514435 -90.00276864094306006 148.95323888923235245 105.97452396122218943 -TestParticle -1.3153721536816338489 0.19649899863576869574 15.0714118102473335625 -114.91054594701827796 42.412124805715073705 238.87013655434262205 -TestParticle -1.2329176043622995795 0.016982564457388795581 30.243701002322488591 -82.65191789811144929 330.6979385476704465 45.054558348890076047 -TestParticle -1.5821710473264454233 0.3143035815568485103 26.914241767154372553 -284.2538985550680195 218.88177874336824402 323.40347760377426312 -TestParticle -1.9040784761593252394 0.24428308876647972236 7.2140984856285061966 -36.905471182196343705 235.01221091601564694 318.38458893259758042 -TestParticle -1.65303582473123023 0.15480622128373774937 30.612597160930445028 -176.14307295689886246 344.8917806440758227 46.391668294041863874 -TestParticle -1.9906869462994456477 0.08417977136701382257 32.071163809129458855 -190.08888099464044785 12.337459747731131188 44.2017470332212028 -TestParticle -1.8765384210009301569 0.18365454827241262103 21.70846970886060845 -357.147106806575664 129.14807435709019501 12.280707552849744246 -TestParticle -1.4155101547192867617 0.04021447505437234643 9.344979114904226947 -15.0079117011066429654 104.10136849327774655 23.129488238006107537 -TestParticle -1.8212138878170127665 0.08047272581333581032 4.0968495722748254906 -174.58882187338159042 279.87646692565357398 23.324854698976157152 -TestParticle -1.7644240552946159895 0.028115303133601266677 37.495056810553286653 -118.13225365926875554 167.45393279647143459 34.012411764895496447 -TestParticle -1.4525677350618968475 0.30250405555180709394 17.82996354610970613 -220.00796720803919015 344.15563445760545846 123.14676507835467589 -TestParticle -1.548841766197246228 0.09540860671062662002 22.684926251185043355 -218.60911597389889494 90.33458573673138403 102.992143880334552364 -TestParticle -1.2079296534119159379 0.32769989355099571338 38.675927266126485904 -200.13361220962531206 158.78840734969233495 279.3835775172844933 -TestParticle -1.377134208847530239 0.24021816899861267447 9.0547885117482262984 -307.8373588937357681 250.70142057430294358 309.94009295835280682 -TestParticle -1.9686740753046718666 0.039229853667286734842 27.8754113045622951 -44.123357114694904624 256.01312835054108064 261.81824327677321662 -TestParticle -1.5814217806739057082 0.17335298748077404563 11.896107065940920933 -11.863952502714919746 24.317879056812333971 281.83737446678952665 -TestParticle -1.3875566874932281358 0.04186652452005912295 8.374003796839994962 -110.23215119957482955 294.56036703267886878 295.56595853737684365 -TestParticle -1.3902402383167473676 0.19593968424019078678 29.315181048510574158 -282.62385234829253022 324.77635841333739108 19.922520312932118003 -TestParticle -1.2840096543928043449 0.29990999639214999117 38.008971094948456937 -277.38971452757238012 208.06148201248271334 255.09629766073103951 -TestParticle -1.5591506829846155657 0.37436941724804151388 28.992037551395654305 -349.16296285001351407 325.2167596752620966 272.84514086043867565 -TestParticle -1.6470838643939573753 0.08288833139777805614 14.577369178129217175 -285.2260666698484215 331.09186078156602662 265.88764593799055547 -TestParticle -1.4078732644616405167 0.12168143435803764618 12.108634490395427719 -108.46688890223232704 161.29947110408681965 275.03585750375651742 -TestParticle -1.3806299194725459856 0.004926651150672434372 4.619034071475587311 -124.92525284958901466 247.86360149925218366 213.62866269117026263 -TestParticle -1.3192455632849615643 0.2895763215200138352 26.694213488950907731 -156.54596065699396945 129.81140517153278324 134.60446380394492394 -TestParticle -1.4439912056109245331 0.3898931766577775071 8.96508289894697441 -244.87528934455733065 193.64710431202621521 293.37512055758975293 -TestParticle -1.8635206283775769265 0.2795056553246003106 32.898054005194971694 -137.04912054787823195 287.93791057659291255 10.142083183616289688 -TestParticle -1.9812056783962854745 0.2247292940884803858 25.532351672534726816 -201.33822039314060248 254.90475216060337971 359.59652623258176618 -TestParticle -1.9116361511506723136 0.34944272223947114853 5.3334830645261233073 -165.89953551606566862 87.00762822041266986 286.54555713608760925 -TestParticle -1.2300510950958833956 0.09272681808089294764 6.1108306263088341126 -60.392041334648261852 166.06618730050502108 214.40030029409305712 -TestParticle -1.6587060971893274886 0.35283027123356813792 31.860313399205129059 -249.71240866151026694 222.43577149272385896 31.641338378167219503 -TestParticle -1.6042337378433173534 0.37025740688655151 17.202399535173533707 -87.81318396148407146 2.5620013176806422095 357.37399955588330158 -TestParticle -1.6471345300326571959 0.13620174045721983314 22.615216955031499424 -80.62529682810802001 69.592694813600971315 105.76774944494903252 -TestParticle -1.9072984229216274343 0.01501546063666405785 8.290907351796761304 -169.80316939963415734 18.043578597928426888 349.8451486157899808 -TestParticle -1.6906614679737514972 0.18058500638001656613 35.641943093270654686 -155.08172745880321486 318.8449035930426021 193.87642754894059749 -TestParticle -1.5896626347240321309 0.08039921506021037445 26.884736251329634626 -93.207751799271306936 291.57502433845007772 164.72382015911426834 -TestParticle -1.6992934898451703685 0.065201137301299824656 14.269610927403233447 -236.09727012824436088 254.53147047225508004 263.77965229044838225 -TestParticle -1.8538533648632840034 0.04766458860664664343 32.873078543951940844 -204.22879507518445052 106.636047257291238566 249.48280450502983285 -TestParticle -1.4212096807741136928 0.07499446462853280593 23.101996292119086007 -275.60817514452082833 213.13272785623379946 230.30352647630064666 -TestParticle -1.7510124795524912855 0.057099861992605485672 26.912262589245482758 -293.1635508220617794 35.9907631662996792 141.04718451469835827 -TestParticle -1.6563019761734052437 0.025865878674105769602 36.786210320613299984 -182.00701529286254754 302.4937526698793704 324.59294681664295013 -TestParticle -1.729605636071602337 0.11527751871838157194 8.269004569267789151 -347.6614584046645291 246.54991472345386683 257.4460526186617244 -TestParticle -1.5759605048363587443 0.11372511990649024349 2.1138568479458896832 -32.388292718466615838 301.59398434276658918 321.32099521949635346 -TestParticle -1.8344051151510727404 0.26899383835918777574 3.9802801398091425256 -84.71344253866337226 168.80695388443507454 259.706671920307258 -TestParticle -1.9193495257732000603 0.3433984358229728029 11.27141574019314163 -62.069125737912351326 344.62614387614092948 49.455425729806016477 -TestParticle -1.7910635325425254827 0.044197943689674758228 33.673496401958495028 -49.096060175323778196 333.20352819343492 344.1647888658290526 -TestParticle -1.3951416310339623816 0.25049231139019290104 13.926920554033479505 -24.468782285640848784 283.9433213127680915 38.716618949049291132 -TestParticle -1.4774439717601555166 0.34321703341922732422 34.23200733980726085 -253.1569295809615312 208.55072402648170282 142.78123543474748658 -TestParticle -1.8035383416573496085 0.31178214061844072846 38.848219271007792486 -163.78980370879801853 27.192135308956363104 240.49835213590739613 -TestParticle -1.8523952866624258107 0.2010708076570819347 22.034325231090594599 -124.711476085711595374 323.0644792551414639 138.10178915634389796 -TestParticle -1.9173340778250498317 0.2780025712872400967 25.973495130250071838 -193.9471251677579744 256.51445549034934857 68.5799795393802043 -TestParticle -1.2039954656193134763 0.32062119894339707882 11.801770668367792538 -261.58407010163364248 130.72550628237604542 295.22935271302458204 -TestParticle -1.3539793779063435952 0.05619140956045583224 0.39149769265351963554 -54.55272735280637164 335.83544373800691574 89.36258771851326799 -TestParticle -1.9516074079116982887 0.1921645005309346732 35.371640156848229708 -152.55319109406485723 247.31165449235123788 278.83909188690222436 -TestParticle -1.9301130006872968536 0.047382794904003239234 3.296738006904260665 -186.93636419954495409 38.829849755176162773 177.44532754290727894 -TestParticle -1.2580985637358546025 0.21204965723905899733 16.1659140062293325 -3.289189867948967283 190.84482276807500511 67.97050011468211039 -TestParticle -1.5295225293999865634 0.17172263806479373671 39.618093381378386653 -332.6463231490124599 278.70254383892529404 12.693771958962534185 -TestParticle -1.3231257344221201144 0.2573419902802399073 38.0841373767418645 -20.119441148442565037 244.32686028253979771 48.572638095274754733 -TestParticle -1.2390492871187110957 0.23798618359691314783 30.645766685864785472 -87.001950267678836326 278.12670273948640443 330.89492423249123476 -TestParticle -1.3993417216526349289 0.031843494342214208326 14.144935673919892594 -72.465298766095699534 334.2534597720372176 30.48791433958904662 -TestParticle -1.5347486253277040635 0.04338458251454313519 12.0921328741059639356 -120.79694902396420275 355.45117743828626544 160.7907173842522468 -TestParticle -1.2904906197620742425 0.28414011519071485923 33.037713210604835012 -289.81253890944515206 83.576357577029270374 220.09709176383933027 -TestParticle -1.6058032451228929638 0.36018141227094635504 17.994372902660266789 -3.7010845253058599624 141.54942979100397338 198.05616798418643043 -TestParticle -1.7714414500542230435 0.0035609242707668187222 22.050030319794334588 -264.59185760489833683 10.605770272399395182 215.25949766508875882 -TestParticle -1.81709217161712 0.27368429441007163794 17.149545687672187455 -35.988324614781888044 81.77856120500719328 10.201466538617181001 -TestParticle -1.9507969820486321666 0.104826252022570107214 21.570178232673107743 -110.11799658110533073 203.10615346805144554 174.54637699366600145 -TestParticle -1.5513016726876260876 0.0649073896097557973 28.406030811013923909 -294.40827400152136306 308.45384003953444108 250.69412013121518612 -TestParticle -1.6081730286462514457 0.0904772003540942199 8.756397654381963491 -95.30241023766843966 310.97856820924152998 78.51553642084900275 -TestParticle -1.9445060562513780678 0.34581412562291430346 38.93528925234138427 -322.18458452998703478 206.50871262487711988 171.6753679893202218 -TestParticle -1.2867830568980889172 0.23805020747269362014 30.605085071406584518 -107.834941188806425316 172.69897682961376972 231.64156285513004718 -TestParticle -1.5570299212666793842 0.34247490116827700168 25.701729758850273555 -57.759342054473357564 275.21368529820330195 0.5189093555138457603 -TestParticle -1.8297728730942826036 0.0059327247000139143526 26.27006410810665571 -351.91597475003959516 332.46172667657117472 193.83113607968971337 -TestParticle -1.4663451402621732189 0.019337346272064428326 0.491698998445047053 -336.79769240394642793 248.96724280968578569 175.15811073921727825 -TestParticle -1.724576194857081024 0.052697296256256631608 5.7447084496883027427 -66.182723011463494345 29.130322702617217345 339.9870439485365523 -TestParticle -1.3696669727225077029 0.33229023795273532338 39.64244722837145929 -133.49050184888841386 162.12402403598608203 293.04583577859932575 -TestParticle -1.3783417053600715008 0.2855227081254033128 11.873396199324094624 -181.03404330551020962 111.58079564001488393 50.497053185226064898 -TestParticle -1.8637392080726669086 0.0156183905360887560765 26.799919264480482894 -101.416124536033450454 141.64824974137857794 87.10767556818554169 -TestParticle -1.3990411255817394309 0.016424027824586850954 34.17231113580791657 -351.25674680067004374 51.410447621435544363 109.4743571087562799 -TestParticle -1.7113078627771947104 0.087396542572623220346 21.48366722009397023 -331.26077825265491583 87.597172428811916234 351.11237329056922363 -TestParticle -1.6537452602438895699 0.19076978286361276349 30.899468439263419128 -338.97921655361312787 354.2717007607652704 88.459659106615376345 -TestParticle -1.8713204845226436568 0.34948347966477527615 26.694021521206035885 -22.640920338079904894 267.1658484538838252 91.263466282262129425 -TestParticle -1.7800499814903345541 0.21591168642547953205 4.15893255030611364 -284.8692985786169629 273.15026927162216452 163.62920354405895296 -TestParticle -1.2770584465418410858 0.11704921307575957834 23.561299361007908004 -208.69763432291699701 114.84562071374233483 106.557589971007203644 -TestParticle -1.7789101924514278963 0.21089404756926086182 26.446391287965887784 -166.38039683220225129 280.94687192438289003 156.1732356226829097 -TestParticle -1.5095803628848272204 0.37888764670309865723 23.739638145042558648 -147.5462561757028368 320.06107890549310468 221.66365612858550094 -TestParticle -1.431320096709388201 0.090307147024224890264 8.768204975989792871 -86.741239636344801056 122.03132838806067184 343.580887072082362 -TestParticle -1.6349437899113876682 0.14387102541744481443 11.841216176535350968 -51.14042919054931957 69.171034829460595006 213.79008663660533784 -TestParticle -1.689003605562497734 0.13061345081474304286 24.749487065465949343 -180.96919715736157741 204.68845725307318162 260.67277137781871943 -TestParticle -1.3035444430147782313 0.19990048901013623972 15.958381821114077326 -24.968896817823825529 197.33820599380237581 119.001287940231961215 -TestParticle -1.6620625944290643439 0.2734543708115155236 30.556744105988030924 -323.42922129424488276 115.879900714354221236 18.69101695694187626 -TestParticle -1.9572874068027543704 0.3982637334300366816 23.395690692151514867 -282.1199835387070607 264.2819579212129497 226.80637570406867098 -TestParticle -1.7711614884940887205 0.16471476857196881705 34.541413045241888824 -209.78439563147685476 330.68687123431953978 302.79975669488345602 -TestParticle -1.2768346788945352799 0.2680189005217827325 2.3664781607185281231 -4.5230625737162633015 309.27315231219478164 35.64300138830596154 -TestParticle -1.7331467818212080712 0.08199012177664927181 2.5002689592511995187 -16.248296777956340975 8.818474849161844986 133.32825103025075464 -TestParticle -1.5824962842528258467 0.1664685697946028109 39.01047834163395578 -294.62170247515587107 5.127126749923851534 323.21555884047671725 -TestParticle -1.3065419938771187791 0.062752012732249048965 8.378519051225520542 -254.48399542766591708 227.28662992761130113 215.88914339840525258 -TestParticle -1.2803200151108913296 0.39024438031771679913 26.21206496548343523 -86.2004800657045962 86.508225331489853716 295.03587464294588472 -TestParticle -1.9599644739977994945 0.18082768987187250453 26.76260832548297941 -347.08076935823510212 187.06487585242066984 78.43547038210139988 -TestParticle -1.5504457817332411018 0.058138854268877486475 8.311304083318722391 -250.45953202370188251 51.58641776614162211 321.91182873943205323 -TestParticle -1.4030770961210228265 0.2255632436620616521 8.257376872662526068 -110.66653646497886143 331.8743125077128866 326.8827542847423615 -TestParticle -1.3330653778054313285 0.23576894818100968543 16.555280374134500931 -201.04570271621727784 304.9737571038722308 129.38177632189641031 -TestParticle -1.4676189305416613706 0.15334509742223720319 29.730324421851861416 -93.28877448580836074 98.24809064509591394 318.26221325804715434 -TestParticle -1.4959613849179316247 0.26490707510895572518 8.435591899110246317 -121.44478123997235741 352.46125426578402084 269.21443204906552182 -TestParticle -1.2410245922213516412 0.16484650483123386433 29.036807003172221187 -234.59702065989810649 212.29149699166657683 309.02229933747048563 -TestParticle -1.2104445735427551423 0.27493160452164350227 31.472614096909531156 -172.8652728002631136 303.96742459461654562 8.009940254088059319 -TestParticle -1.8791733750261010449 0.2587599416761243165 30.401845910812088647 -330.1151954343364423 190.20401433347646503 104.67843668270934643 -TestParticle -1.3013630074517779089 0.22413535954031660324 32.01650674239483152 -63.549710245898353378 35.89931403059021875 158.56811223007159128 -TestParticle -1.9547724398089645348 0.0786294356900830993 10.0598953139010802715 -69.4839845505388638 123.32244013516246639 31.421777442531322322 -TestParticle -1.6120256585797529958 0.19985700875898035345 13.999189942348966298 -78.857222386685961624 349.6556927780835622 58.475688092723309808 -TestParticle -1.7578912848822172421 0.27207852440462437782 21.16570903311817986 -204.48739950618715966 68.64871257741852162 227.95088374477833781 -TestParticle -1.8170356771723037426 0.24230078833019122464 19.368483713748780417 -184.73419610737784069 272.32723488431577152 126.891658495766833425 -TestParticle -1.8561231261283124283 0.19157748016708203709 1.1886704509024781373 -254.2676067727032887 317.6217024209003057 224.34445674903426493 -TestParticle -1.9710622679246994071 0.14623926742902368381 6.640292860769481109 -190.41063402021279671 187.773358994985756 328.47417804669458974 -TestParticle -1.8390376809348407683 0.39004880820775639227 20.066519467297950996 -211.93199248227401199 289.47815944254944043 137.15839269809171697 -TestParticle -1.6111502808558577637 0.22394676788626455277 20.061937046580968769 -92.54520491825057604 92.01310424807805077 13.375630065565452753 -TestParticle -1.7289359898596003973 0.029780688540387692531 26.014739049810341243 -312.66680607544742543 228.17665637399315415 125.22825394003517374 -TestParticle -1.2705682146072982963 0.029404610289824398284 5.561963728286389852 -84.16555574179947996 331.08838136349748993 315.88331119433712502 -TestParticle -1.8573347647002547145 0.36089888274309028793 33.45261607330014897 -108.58851164869084016 217.00073148209528995 139.41678117547121474 -TestParticle -1.5119662840275136517 0.035019622195022657996 10.463315222301648788 -152.85193304965602579 42.895445465204801394 38.742869188454783114 -TestParticle -1.7622884149632529471 0.03162410217369809179 3.1822974384423297067 -37.26277315140376345 107.89474442992022318 186.6015285726906825 -TestParticle -1.3516643515537363207 0.00042846679844568138443 14.013484979190140578 -216.76556913128737847 329.5425274371341402 157.99664633404185565 -TestParticle -1.3725976866577220825 0.30646538230027742244 11.329739671767651288 -198.97848141965863533 44.651190190469009167 28.049566579775078168 -TestParticle -1.4591070353626824918 0.08119659950059535114 34.28551752565069677 -306.99758279574081143 104.56005980026995417 24.491183217056139654 -TestParticle -1.6809883631745992094 0.12405907090243922797 23.088918298866115464 -81.89324756024211638 45.486408290411304733 5.9086829848113620045 -TestParticle -1.3535618238311779571 0.11072994226846155641 6.1365791065780417313 -96.5917090856876257 125.77992141224173395 180.26956152431557712 -TestParticle -1.5024996182012646528 0.2601294541852439135 20.11839589454453403 -270.4000045350792334 353.011762488246859 34.641037025004784766 -TestParticle -1.5996488376502526751 0.37889391086596613256 18.528995245881297649 -215.86591794372824893 196.33677334782890966 20.482598606365485239 -TestParticle -1.7931356901400370418 0.025945290910749509855 26.661454696830183764 -188.02499061598265939 217.74613305793528184 352.64512058062791766 -TestParticle -1.6808120166727305023 0.26627765088552390882 4.4798421923713638293 -12.471177251742290082 9.432555892002669751 336.72507040011447543 -TestParticle -1.6313081817828176678 0.0086570580622717507174 3.9083339029362873518 -54.248103250365730332 318.7038881970888724 331.85368591582181352 -TestParticle -1.2884450142579531029 0.1681046156164187344 35.34871223758726444 -240.5583121923978922 135.24748641897326706 301.64571007267852565 -TestParticle -1.9196539088974737819 0.055293464951134657648 39.174420254686374676 -13.003093109260595028 224.19261478871260351 272.9340647583842383 -TestParticle -1.3704960962475472019 0.11179773250371188853 23.81208520955706831 -261.70166394043076252 10.650163480395606896 96.095112534597603826 -TestParticle -1.9516781167723931123 0.20402034023295062548 32.535249468476067136 -340.51354688545097815 329.0040653030519593 109.98356406041511946 -TestParticle -1.8140222569343318337 0.12613518245266175377 1.4950171510413001741 -234.61793333937521311 320.05130111528796988 172.88154495883503614 -TestParticle -1.8102010682471065817 0.14811926068150899072 0.47152065059882453113 -231.56413706767099825 205.2503541540525589 214.7508917825621495 -TestParticle -1.3323729215149744398 0.19959213905409678436 1.3073421511548932727 -151.66443112411295147 341.31892085633529632 144.25232896171203834 -TestParticle -1.2204541150545651362 0.068668187712776870835 4.014281498324958619 -174.08147891950491726 47.939506002741296697 254.99017431971773817 -TestParticle -1.2181192459350491664 0.025059093817326606735 7.204862413525972009 -48.60770716273837877 329.11947000106135874 217.6643233891191187 -TestParticle -1.6039675062130638317 0.35797604454305875787 16.056969103103426733 -87.92417372221831329 49.76521958624503128 164.99398402032807098 -TestParticle -1.8725342069546249135 0.106279250804296898636 0.45718402173144045975 -119.596726134790174 107.86697924451233632 232.81352842822093407 -TestParticle -1.7853111973976689697 0.12193477571081268174 3.680789884957089697 -205.60326749430927862 40.207082764860338386 289.2290546833312419 -TestParticle -1.417950447978111761 0.24357413812980258094 1.910476157584461987 -252.61262373556786542 355.48333419302929315 151.32407206005677835 -TestParticle -1.2280461512973894767 0.15278421763439650749 26.714312283832946093 -142.72673485719965925 232.69712275301176874 346.3375478502677538 -TestParticle -1.61151127031616892 0.3744225370958842447 36.56793088861800811 -328.09520081336302155 25.920977978027824662 288.72452391776596414 -TestParticle -1.2239475600090146123 0.24714055634484358159 30.304522847333871027 -52.68180217169934565 356.99734588216864495 56.617981510557434888 -TestParticle -1.2496667763539286433 0.29747468986797759305 21.37154433932160913 -209.20331717962355356 22.663460638340339415 243.0475686976612053 -TestParticle -1.3767605238800932899 0.16005520292207792155 6.1854407103408437507 -301.0924331535983356 324.9040368073589775 194.17256664039328484 -TestParticle -1.2487797979186712194 0.16488755850697139893 27.605925256805747381 -173.22312758245544728 239.01695963206066153 175.97057379774636843 -TestParticle -1.2254722592225348876 0.36803675574552041638 17.169692704564543106 -198.47031096951334916 278.36167082537872375 125.492714298233096315 -TestParticle -1.6464965033862297705 0.1517233377674910566 13.532163365202411143 -147.08019388518567894 177.40254091222027455 340.04568453953692142 -TestParticle -1.2241673144222895431 0.1378443050280294957 35.034429639418924296 -279.5154571951889011 236.88366494050367805 224.20218590463449004 -TestParticle -1.7054405098540872388 0.3610118405579151868 11.466405393735001894 -354.5918155292421261 347.1596768668937898 219.93975816420154956 -TestParticle -1.7400094098497860262 0.11768201787113397039 3.0207223829180174235 -344.79550555000747636 295.17286383856117027 107.65817940211057646 -TestParticle -1.4518563888365596526 0.034369934761878086216 5.703231914559241389 -123.995036213356954136 112.321809800044363215 96.308678475290903975 -TestParticle -1.2222379634093671896 0.14278765376770935491 35.361595327244465636 -315.14729198154049072 321.37175810105372875 262.59992588280709924 -TestParticle -1.2388409450815878188 0.29191544705043231955 14.574148472908646568 -354.52890314367516567 301.2116870378684439 101.6607227628783221 -TestParticle -1.2004854536116522645 0.31759418786438237126 35.64893550976294989 -150.1713542262849046 263.81583006909363576 352.70617164487305217 -TestParticle -1.9942890442362894987 0.19536136516905414084 35.02451517807598691 -125.959361711604387324 266.3424034858336995 225.8398826035477498 -TestParticle -1.5915447637460526931 0.0895260552791858899 24.02901618574255238 -322.40268348510250007 115.71588659763698104 232.13880147735969217 -TestParticle -1.8790673483459361393 0.17433764017862168894 13.878215826572342095 -302.39495868122469346 259.03939837677381774 176.29569985086394013 -TestParticle -1.9699962554990502195 0.38438649317544010264 36.886012906803621547 -71.57770428256088735 76.46325818263683516 152.99488881347215852 -TestParticle -1.9815372834826587845 0.17262153411198999375 2.83353778898145503 -239.37167896200179484 354.1664112035709877 298.12866718881934958 -TestParticle -1.8155595191765212526 0.00946228278143057544 38.64106328673518931 -83.00268912398927057 67.39652732514183242 195.80213873516331091 -TestParticle -1.8868581896910789908 0.10440835820682173307 15.007174114646065988 -3.363490125056509683 163.21113577536885941 277.4874262071848534 -TestParticle -1.5619200947925855338 0.0059432103700412857936 28.417160713316764742 -199.61588156187738718 146.61610611302111806 239.63331133984317489 -TestParticle -1.5212478213877396183 0.39927753429172280208 20.482036387314252579 -328.51885419136107203 7.1256709736876455707 220.89114467811927511 -TestParticle -1.8571870020289564795 0.091291230530104086616 5.8118062401183578913 -90.75198382995706936 192.24228564818409382 97.133874093047666065 -TestParticle -1.9171289936627273764 0.15261088480197210204 38.10675746822411014 -307.07749448841616413 355.13520879558041088 42.711583491490678455 -TestParticle -1.7364144307839262105 0.212129283201967056 18.744823342299753222 -23.928680492317099038 37.437700592246308418 64.10777424122947821 -TestParticle -1.615801582218067356 0.15507189040762445198 5.289237911360147315 -2.9760090649453463385 170.77756092233224194 126.74171547116436898 -TestParticle -1.3071905708698117188 0.34127930871062794882 17.996264880013068677 -181.87012353589301483 211.32152679731703415 284.19737442691894103 -TestParticle -1.2265401930807908748 0.25798059801133454982 34.025699672304931198 -87.484085061199664324 233.26336671618474838 310.39211945198593412 -TestParticle -1.2051260378681512009 0.3069049294618042545 37.351493484362229935 -114.521127203859620636 225.6531083956228656 323.1220799515929798 -TestParticle -1.8334732437656884318 0.37979115889431414033 14.226342594064389502 -331.7883640504541063 109.06927231695421199 144.65450510058425948 -TestParticle -1.757300956926634683 0.03414936250768385584 23.912004140762192606 -322.3724083824729405 134.91275424426311247 171.32647169967813738 -TestParticle -1.8972253261023601656 0.35656552318718498507 28.47629514891832514 -321.29937216619140372 70.71608626545858556 213.57910706058532924 -TestParticle -1.9917616839747163127 0.32376104104249381344 8.91181936527569718 -200.88415597368361887 23.513470382909822831 100.72835347725671795 -TestParticle -1.6165777777920147251 0.32043762073249004718 16.726392824188689445 -319.72153811597894446 76.78830327849077264 138.42254101919101572 -TestParticle -1.8908331674281746437 0.045197492899151252288 1.3383682043347544521 -312.10875470237436957 307.494732749847401 43.074246036675127414 -TestParticle -1.2145287335503922588 0.18257617394552527745 31.629727041908243024 -3.7714421582542145828 327.9557064611080932 329.9790680610109348 -TestParticle -1.8625485962061800738 0.24850308301344462003 2.0061095060140976543 -276.90239618431269264 350.88215248164351578 348.2932770314767481 -TestParticle -1.7953658240966166026 0.23860504712104810277 30.564301023692120651 -268.6736542028508552 254.54176920249031468 269.62615941325310587 -TestParticle -1.8519636256102920413 0.13630536382454808142 25.429742406638986552 -78.06201903944463538 183.89412111638756642 25.670444097748280399 -TestParticle -1.9912586036233026476 0.0062934836627138949355 3.9866901191125192483 -353.92558378078365422 121.86076402069599567 272.13181013382109086 -TestParticle -1.2352461280314077641 0.13108872108404742707 2.4473753819670784893 -223.0667681463768588 134.42147854096177184 161.85468044136672461 -TestParticle -1.3431819133091436047 0.28681705477285673878 22.82513974594832007 -232.7183120134940566 120.199688171678360504 89.77367022064561297 -TestParticle -1.8403545873570172908 0.24879279733973019839 4.0287923881425502515 -15.018525270146003692 85.179302481017629134 62.783331763645470858 -TestParticle -1.381867054141263651 0.041622600218831219687 20.582798332241445394 -16.94221565894110526 117.67293863884100347 301.82514806956680786 -TestParticle -1.8641683600359446604 0.24640721081737218534 5.9107924107914655565 -193.20103651885807494 44.2323469313580091 26.743437036080784708 -TestParticle -1.966054790276180464 0.2690464178872462031 14.878455955491389773 -190.60763663869553852 31.588470897177995056 100.366806653161106055 -TestParticle -1.6058040413293108717 0.29951736276665757996 32.261171438174280013 -128.57574732488706104 32.785220122308132318 5.815690987139072732 -TestParticle -1.6218958057245982385 0.20051601410731448305 35.228407716619500434 -275.05072744657877593 300.36353903970075407 137.58872709072204543 -TestParticle -1.9766063717976680714 0.39029116187457174592 35.936563690886423217 -276.4677919812604614 334.4193480382128314 74.17428380404710708 -TestParticle -1.4924898153539933876 0.12959279079593266637 39.497773315041648345 -306.13052013355064673 297.98869981653200512 134.11781736074624405 -TestParticle -1.8353633188339963933 0.019510947086492525654 35.474352018859882207 -260.37806171878622763 151.50200809864463736 309.73656114784841975 -TestParticle -1.6024488136145134121 0.027272421536337843745 28.531535673798313013 -11.154644928392061232 313.60248630627489774 220.0912732804740699 -TestParticle -1.4120513432815475774 0.29969768596351453738 17.02938110092897972 -269.20328072337844105 42.08893931076963213 126.58679602124011865 -TestParticle -1.7381168022087705172 0.29181610891675680008 0.578376627518526476 -102.38820556898792802 176.55332025897169501 164.93491360823296077 -TestParticle -1.651697945678905155 0.10215579780054198644 29.466376982324295142 -118.66030632495935038 355.77634853151920424 138.86820482744579408 -TestParticle -1.8964095997568284346 0.14855799694311630499 39.315092089557069244 -66.7203702634703717 109.12901978076088483 150.07738642659984407 -TestParticle -1.5884778821144036609 0.34804404474317385265 8.230716828452404599 -238.65003666711348274 19.561503330036060788 172.3300970659766449 -TestParticle -1.4852533118509871901 0.14921150930008680868 19.72836045372870828 -214.04378603222667721 162.09311096493223658 74.70412564882457218 -TestParticle -1.3995786109265431207 0.2170751900351963748 5.6353499706781517986 -136.77890520256397622 41.74190372493747958 352.76491235469808316 -TestParticle -1.9228837399064100389 0.20666458127164555325 31.918474396874408683 -25.57157805855647581 146.61033704579944015 124.85803020390667939 -TestParticle -1.5491200767868975596 0.37703244317878858993 5.088593545490081027 -38.820500192778638393 121.37946795513649079 24.303500272632902579 -TestParticle -1.6942853977776144436 0.090260172320617615416 25.30769952267446854 -161.30886094388631591 116.98046667590497805 38.286029141363265182 -TestParticle -1.6090251866675413517 0.330322662148613444 9.770748848728519675 -263.0814719840412863 130.26024091675910199 286.9327501208536546 -TestParticle -1.9761336997553433648 0.2926123710566602143 11.274914096097191418 -332.1701813530870595 307.94382558508260672 353.807211256272808 -TestParticle -1.9968906969927759931 0.3233230682542853618 26.00314542561351061 -79.80693890771757992 308.2283099476609891 243.34005704939397674 -TestParticle -1.8031947344086236562 0.14995127116151910074 1.730342239053141995 -348.6351290160268377 154.3487630625562872 28.463371915640660603 -TestParticle -1.8395166633814701296 0.3354540599588180516 22.093131712634573205 -86.610640388957989444 239.4548535151652402 312.24619268529380633 -TestParticle -1.3629305527230259898 0.2099232743767838194 30.216497531918712127 -102.43196923936434928 291.32106047341460453 2.1370626980559981334 -TestParticle -1.7455726368986721475 0.026854653926422458743 3.5759919284920771432 -354.23018906949636175 218.20031690429203763 328.7114242710409826 -TestParticle -1.8154807930100198554 0.38785895954054117052 30.190244155261783732 -84.158791911543673336 145.33493614486761203 216.44848876198116727 -TestParticle -1.6499702946012431148 0.38233820338992924315 13.614607279413908358 -33.87451574095803153 90.770300669062208954 180.38849672518907141 -TestParticle -1.607515534627930176 0.059816004314718410062 35.188867073591850954 -58.61309722228839547 253.79649442362003242 91.30583916434224534 -TestParticle -1.9899983350379286673 0.30667218968608733753 39.83983478820580615 -209.92012615445401025 242.81573248914770602 7.221381167673248669 -TestParticle -1.5778501251334575706 0.11118331397677137795 37.590979480700937643 -345.16243909883007746 9.645072368649788785 50.426633047687808187 -TestParticle -1.8837383001263663385 0.20673789324487820696 21.972954461156501083 -78.99100998693006659 24.805859834858065227 136.69965104577451598 -TestParticle -1.8299552552499931402 0.18024309648678646378 33.71418287836082328 -287.1584786318022111 76.47733005592756683 216.63675723929046057 -TestParticle -1.8307526657330810416 0.27679256938591745296 14.42019596286409211 -147.28115682985833246 236.20842913390856666 70.36203841533576053 -TestParticle -1.7619978997528076281 0.014257923627121950327 18.454020582426768016 -275.7628626446463045 152.24331061485040095 103.04339508992384822 -TestParticle -1.2611641121223651218 0.2092199031608525106 17.779518579686019564 -102.7504319389703511 6.548313747168017507 140.31125376249352144 -TestParticle -1.7663975820756958601 0.25859601590736014387 19.29766354922654159 -228.43411110252168328 129.52408847472079856 44.31277736443019677 -TestParticle -1.3455298896696588073 0.051640741433284009787 36.190409530870716992 -63.492703118667094486 178.32472671129730202 219.22272979662204762 -TestParticle -1.8502619397752217978 0.016055258128672856427 24.72292322260771158 -280.24156788062276746 1.0103622910431475646 89.91460784296667441 -TestParticle -1.7394822607661057923 0.13625236700994178274 8.773342269773106494 -131.40116141700701746 79.224373058834927974 282.8109557650995498 -TestParticle -1.6325195629104731765 0.16262358056449152666 8.946438635142083484 -196.95655091099223455 13.582007343579313385 258.10561033792743046 -TestParticle -1.7657479077259037314 0.21823895457628741945 26.194016006374575056 -307.4759621278849977 98.40357006941655982 64.08127327032266862 -TestParticle -1.3184659717472237972 0.20902078438144011674 11.194180638539418027 -209.8144125213535176 233.63319375255508703 171.85375675646986338 -TestParticle -1.6265974791221389228 0.3412246124964996019 31.920108006714791316 -47.471005836654683208 293.97130420183299293 294.00277926085681202 -TestParticle -1.544562457381803755 0.26456236803106419897 16.966290843319804083 -53.617851002077699718 23.906897211735604003 172.46215455198040445 -TestParticle -1.8302658298265410686 0.016558573352333152279 23.88277176507106958 -160.31985284355113208 24.957240748542652398 126.6630513998358083 -TestParticle -1.6333356556090419254 0.25338625439533907224 11.051395862722980468 -182.26698944663951352 1.9926145156870767039 206.81766326774084064 -TestParticle -1.2674061997735568408 0.09083958911004344494 16.414033820600888447 -209.7777498397578313 350.73333597951523188 247.44407246182404947 -TestParticle -1.400118114272113079 0.16683948053104513676 27.357400210939808005 -107.57418681944162131 96.46599300991492498 351.137614793950263 -TestParticle -1.542911801971112773 0.22704910395233757203 35.542775761322914718 -183.89056710921508397 326.93869125935344755 108.004775809479497184 -TestParticle -1.8076126800363871983 0.3514591336111956288 31.06364189291468847 -32.09942049648420692 328.34181095498098557 23.785841162187210784 -TestParticle -1.7657364621109161718 0.22171357606490707526 37.37986273837123008 -76.229451450918475075 186.15095789038804241 272.82850857627113328 -TestParticle -1.5339591135633763308 0.14194102156165430695 16.888317976342129612 -130.44976850069960506 252.36020783978619875 120.456187175611859175 -TestParticle -1.9547780848567972711 0.20899592311387996113 28.868044731219395516 -228.48529363010104021 342.5481929867736426 287.9707078087696459 -TestParticle -1.2418423098941544502 0.2626072565929837288 2.1074243271891202056 -38.080338719023941962 119.27817821310316049 12.056891938029119515 -TestParticle -1.2210546528534078625 0.3775561742151631872 22.111051712315155982 -338.55211294801040367 12.980519500186410653 332.2853401701941607 -TestParticle -1.5963937431999124517 0.23239324239635986147 13.194381854516867847 -58.007673822576016676 88.15306827351753327 155.81366075873469867 -TestParticle -1.5786275082915319778 0.025562551186680871479 4.998454237047265103 -250.39244849302215812 165.61747690949906087 149.37807874408460407 -TestParticle -1.6098684422151645634 0.21941479472017652586 38.283886043658093 -237.71100658433758213 47.01387761056833625 340.9146849041053997 -TestParticle -1.294274143429140933 0.3692138815235402327 37.966030890732696434 -203.45477640609851733 296.29180039237496658 44.323085276308532343 -TestParticle -1.5889819356899443914 0.084869830381732264124 1.0823445911213003257 -301.3291216497269147 146.81272157061789585 2.2993592847625343722 -TestParticle -1.495972566018333838 0.2617122471497527747 13.094048981160977263 -112.72021003020111607 127.77611875010921949 296.87288781423353612 -TestParticle -1.9818950278621338956 0.30723187525460954328 2.2340086246482782073 -253.14761844363803789 165.37409022827591798 191.3408807414710111 -TestParticle -1.7869956116636900312 0.045787597413756889186 8.90426427671208387 -227.8168631112827427 149.58799389390406986 24.858909708161100127 -TestParticle -1.9448897771198014883 0.05694944930378804948 36.311102677736613487 -84.3756745725393813 14.735521995724774058 314.16923571788140634 -TestParticle -1.5778886440600849994 0.054612245238724765883 16.72994958727242576 -293.0541083071825028 260.48271034952341552 308.15802194547808313 -TestParticle -1.3022587146281570103 0.26839233124203137892 18.02838057643581493 -293.20763835009915965 312.4703557364094877 106.58503108046902241 -TestParticle -1.8428500612922003032 0.23594727253001890332 11.315478566151577766 -9.262284156503813648 11.174441070760416039 331.91331034768620611 -TestParticle -1.2400313949450130213 0.37422492957960290516 16.60903446615966672 -240.33042266148279964 153.97322107823731585 191.41559045744850209 -TestParticle -1.9829274684920319416 0.3634611481375451536 25.819601695264427832 -140.99742244780588862 341.49734482956387183 8.731842495851447339 -TestParticle -1.9975413987753882772 0.06592938413948253029 39.49276861893206103 -67.714562888696974596 98.14914061512281762 45.19626721853934015 -TestParticle -1.2436383625451867818 0.3204615517738288455 26.461603913930925813 -266.5125426106603186 127.50909218237357834 0.3132830361456928614 -TestParticle -1.4113215699552892346 0.009827894395237192146 37.858626352737367426 -253.23691224458718807 108.52674294880429784 352.47828245113328194 -TestParticle -1.8148473149676069838 0.017705697189401049807 27.03434752366788274 -244.97100671505916125 96.848173936006702434 232.97923224763914618 -TestParticle -1.8212512693609279602 0.27211932176121911287 4.7578666520375545446 -347.57353058021692505 254.19838041200335965 6.6604121361125034895 -TestParticle -1.6430443076417013959 0.042365150738876616865 28.313700526240026534 -178.6338948507659552 287.94750707892865194 146.775946581025039 -TestParticle -1.2047662238103988841 0.23251833898522478172 17.70944339203029827 -282.07165060128687628 43.193800331112015556 189.58232124886598058 -TestParticle -1.2467705317577537638 0.29356902400030004952 2.8706191725519047964 -242.4004033144470327 28.806681869090574821 296.21360336099968436 -TestParticle -1.3162696178512978129 0.30749173225083181737 9.346008763094072691 -322.38053647407821245 112.34526406313270286 132.09084683753127365 -TestParticle -1.2971409174950825349 0.3376994788613812415 24.652899562822732094 -299.7803539105363484 271.40817959188655095 266.8572235615602608 -TestParticle -1.7684747977650516759 0.02661749740193952718 10.096507324045376208 -3.7221406213358587678 125.36494422546940086 238.11022628505401144 -TestParticle -1.8562458518793771844 0.077017667000931988586 8.7143363020037831745 -136.69548804548151111 320.94977656886021578 128.10172157330882214 -TestParticle -1.5044816034257817439 0.21762930629061374987 27.505997823490588416 -123.58136898241176027 187.9229325893226985 113.043904522795230605 -TestParticle -1.7868133877825629341 0.008087932404090647162 23.413784625415864582 -218.89711766597091014 88.56442540385896223 208.43834176513581724 -TestParticle -1.9402143213090712326 0.14949494785208861103 26.511808095563488052 -107.604663311176523166 130.69889435502176411 346.87469017336604793 -TestParticle -1.5966683044291980487 0.087101617604941061757 35.919427778579809285 -212.8714684966646189 289.47277777746671745 150.30140968266374557 -TestParticle -1.5311077130660335488 0.006686025386596972271 2.6738949911861054076 -164.51009812173990099 316.04513748492058767 258.44750388729431734 -TestParticle -1.327174430660648996 0.16386649979480424899 29.516591637239059764 -42.47034129892313814 297.69030488053482486 179.48650722792217493 -TestParticle -1.3309285665414212207 0.31056216374123679635 33.20416058697580297 -182.12327311281021025 179.4712707903883313 47.404071121072391293 -TestParticle -1.2695626979113197041 0.028739588397623319627 34.7510196296938787 -156.66911337647667324 15.489917584647256987 137.9360720619328049 -TestParticle -1.961564416777008768 0.38198101311209609054 20.407128195470789933 -116.450533784431996764 317.3401517067230202 183.14633665136960872 -TestParticle -1.5940513845582582331 0.25613384894831064953 29.533539385317940429 -118.85654306899444066 250.92868906503659332 22.448371873007765487 -TestParticle -1.8442908242187292522 0.19455300058304564326 38.64468812151265098 -327.51192512776293597 261.15575066638751878 220.98151223015130995 -TestParticle -1.9551136736888132805 0.05881060116092867024 0.025983316883650964257 -229.51441899139550173 217.59860795663826138 108.775137355673251705 -TestParticle -1.3586578999851930405 0.34983150673028151623 31.522812174550345787 -105.68138198042714748 123.58623362447058014 40.330126317320825535 -TestParticle -1.902888826244875764 0.13683561730200419215 16.275257623666469442 -105.98161437435868493 148.2954616585051042 301.45848496238744474 -TestParticle -1.4388714351119729074 0.12902603848379340379 21.287394563627660915 -197.02123109899764586 352.44807359808243064 351.33034912544712824 -TestParticle -1.6931112006676685144 0.013916379702603532201 0.7871365555378062595 -188.64764325380838272 181.38199447667832942 29.813972851285797105 -TestParticle -1.6449616174898105125 0.0310490777007133463 9.657476944838542465 -333.95122687579464582 342.1511167418379955 160.69927097810261785 -TestParticle -1.432310913839848876 0.006987746683723328363 32.61241995358341228 -207.28809337462874396 169.31652720575732474 255.68956575096319739 -TestParticle -1.7327468488118134005 0.03857017036911090241 17.468015575192744393 -143.82903277012908916 99.60548209763706495 166.68173997089294858 -TestParticle -1.5512315858530165702 0.17035757433763087931 28.229428870918749084 -211.42236583345217582 136.37631347760083145 126.78807511085641124 -TestParticle -1.5128716646861577466 0.25892751799964647264 10.396770119409808331 -251.02700694813202631 225.21225462676682127 190.02303419914397864 -TestParticle -1.3509296764855895923 0.19460583033279599263 25.473407765343523579 -153.07999025709941066 160.34541100643662048 39.661129674485906094 -TestParticle -1.6995982689149604639 0.3683946534553529384 13.407331577384432819 -340.26004127001408506 272.0620153240722061 254.6289696923701058 -TestParticle -1.4262589721598459835 0.39380044551624404647 22.273999686412832233 -126.6676609334621304 343.6417878124360641 356.69746962842407356 -TestParticle -1.3261721625529891977 0.39678878113200655164 4.2056417606931040254 -238.10434769519417841 155.06469638647084253 44.875703119243368633 -TestParticle -1.9576977154420573957 0.26084185228864192885 4.55948470669549355 -190.48438127706978662 33.209683105017965943 111.270270586090106235 -TestParticle -1.8552016088932457016 0.13548857795579999364 39.778098090381654117 -36.82048012699509343 277.63542496441021967 284.2017295471840157 -TestParticle -1.6904488396185337606 0.10545628795963413182 32.08178306599211993 -75.246216623590498784 230.69409080017558722 202.52540071832260082 -TestParticle -1.8262524413841534354 0.33415074562628183097 12.176323543258451565 -135.12569593248673527 273.69848190668875532 306.5447498396289916 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_param.in deleted file mode 100644 index ba1fb3c2b..000000000 --- a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_param.in +++ /dev/null @@ -1,38 +0,0 @@ -! VERSION Swiftest parameter input -T0 0.0 -TSTOP 200000000.0 -DT 0.005 -ISTEP_OUT 200000 -ISTEP_DUMP 200000 -OUT_FORM XVEL -OUT_TYPE NETCDF_DOUBLE -OUT_STAT REPLACE -IN_TYPE ASCII -PL_IN hungarias_5pl_500tp_17_pl.in -TP_IN hungarias_5pl_500tp_17_tp.in -CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in -BIN_OUT hungarias_5pl_500tp_17_out.nc -CHK_QMIN -1.0 -CHK_RMIN -1.0 -CHK_RMAX 1000.0 -CHK_EJECT 1000.0 -CHK_QMIN_COORD HELIO -CHK_QMIN_RANGE -1.0 -1.0 -MU2KG 1.988409870698051e+30 -TU2S 31557600.0 -DU2M 149597870700.0 -IN_FORM EL -EXTRA_FORCE NO -PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat -BIG_DISCARD NO -CHK_CLOSE YES -RHILL_PRESENT YES -FRAGMENTATION NO -ROTATION YES -TIDES NO -ENERGY YES -GR YES -INTERACTION_LOOPS ADAPTIVE -ENCOUNTER_CHECK ADAPTIVE -ENERGY_OUT hungarias_5pl_500tp_17_energy.dat -GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_pl.in deleted file mode 100644 index 8f4ffd063..000000000 --- a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_pl.in +++ /dev/null @@ -1,79 +0,0 @@ -13 -Mercury 6.553709809565314146e-06 0.0014751274117575772341 -1.6306381826061645943e-05 -0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 -48.302897646473702764 29.190213908309409874 163.69992642152809026 -0.0 0.0 0.34599999999999997424 -3.5735549824428292985 -18.380047749494480457 34.361526740492798437 -Venus 9.6633133995815381836e-05 0.006759122875155079725 -4.0453784346544178454e-05 -0.7233300630551103838 0.006773384545514573099 3.394505355540899938 -76.62090440289564697 55.183156101464518883 271.2285045598760007 -0.0 0.0 0.4000000000000000222 -0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 -Earth 0.000120026935827952456416 0.010044657392872289059 -4.25875607065040958e-05 -0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 -175.84932558359508903 287.2227751976308241 324.72725799674782365 -0.0 0.0 0.33069999999999999396 -4.827962479462605839 0.034731626640621778608 2301.2114260455621944 -Mars 1.2739802010675941808e-05 0.007246146587933918669 -2.265740805092889601e-05 -1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 -49.490271729763087194 286.7387645553690163 252.78317601821959215 -0.0 0.0 0.3644000000000000017 -997.9376283354346323 -909.38573894978675416 1783.4600697011568969 -Jupiter 0.03769225108898567778 0.35525381666404283465 -0.00046732617030490929307 -5.203268729924161562 0.04848413524543258163 1.3035624911873560094 -100.51639734596980702 273.421918018626684 325.351028522703416 -0.0 0.0 0.27560000000000001164 --80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 -Saturn 0.01128589982009127331 0.43764770913411007376 -0.00038925687730393611812 -9.581513697274186114 0.05248801962394190196 2.4862838811768979141 -113.59546767797320399 335.45662431368151601 228.84653123700309152 -0.0 0.0 0.22000000000000000111 -441.9323685947327233 378.52918410105413535 5135.911248678291292 -Uranus 0.001723658947826773068 0.4699394560146697986 -0.00016953449859497231466 -19.24773626798451076 0.04408736292912442123 0.7704474968533898682 -74.09072726634606454 95.12631113857929677 237.66915583105441101 -0.0 0.0 0.23000000000000000999 --677.3000258209181323 -3008.109907190578637 -836.301326618569835 -Neptune 0.0020336100526728302882 0.7816500366521773358 -0.000164587904124493665 -30.297815841143489024 0.013873050398302080172 1.7688477929856469828 -131.74107055888509876 246.83916166351488641 334.07963351871291025 -0.0 0.0 0.23000000000000000999 -1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 -Planetesimal 3.646098141953443043e-07 0.0021579178542993813182 -7.585803886728505278e-06 -1.4833614415692299993 0.22741315975763076729 31.813233836229972695 -353.17976431207927135 140.04791609627329763 276.36980676609317698 -0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 -0.0 0.0 0.0 -Planetesimal 3.646098141953443043e-07 0.0023146091557723819966 -7.585803886728505278e-06 -1.591071674547404724 0.20226306525263618163 1.0591008596928608299 -174.06697724512676473 335.3163306230074454 223.56527105994337035 -0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 -0.0 0.0 0.0 -Planetesimal 3.646098141953443043e-07 0.0022981274462569030274 -7.585803886728505278e-06 -1.5797420809126441199 0.24741174618562222776 29.534567106616030685 -344.82468258123401483 161.14487195055056645 152.5251306953267374 -0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 -0.0 0.0 0.0 -Planetesimal 3.646098141953443043e-07 0.0023375315639560956954 -7.585803886728505278e-06 -1.6068286304388843533 0.28919101512899575424 7.37565965800404566 -336.92026211210111342 206.23395515463789707 358.94392598114910697 -0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 -0.0 0.0 0.0 -Planetesimal 3.646098141953443043e-07 0.0021752159010438748034 -7.585803886728505278e-06 -1.4952521887096372755 0.07630357603197107652 15.560677329970133087 -226.73360615217720238 40.68010911926434403 329.55798685742456655 -0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 -0.0 0.0 0.0 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_sun_MsunAUYR.in deleted file mode 100644 index b2cb85c35..000000000 --- a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_sun_MsunAUYR.in +++ /dev/null @@ -1,7 +0,0 @@ -Sun -39.476926408897626 -0.004650467260962157 -4.7535806948127355e-12 --2.2473967953572827e-18 -0.0 0.0 0.07 -11.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_tp.in deleted file mode 100644 index 573541ac9..000000000 --- a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_tp.in +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_param.in deleted file mode 100644 index ba1fb3c2b..000000000 --- a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_param.in +++ /dev/null @@ -1,38 +0,0 @@ -! VERSION Swiftest parameter input -T0 0.0 -TSTOP 200000000.0 -DT 0.005 -ISTEP_OUT 200000 -ISTEP_DUMP 200000 -OUT_FORM XVEL -OUT_TYPE NETCDF_DOUBLE -OUT_STAT REPLACE -IN_TYPE ASCII -PL_IN hungarias_5pl_500tp_17_pl.in -TP_IN hungarias_5pl_500tp_17_tp.in -CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in -BIN_OUT hungarias_5pl_500tp_17_out.nc -CHK_QMIN -1.0 -CHK_RMIN -1.0 -CHK_RMAX 1000.0 -CHK_EJECT 1000.0 -CHK_QMIN_COORD HELIO -CHK_QMIN_RANGE -1.0 -1.0 -MU2KG 1.988409870698051e+30 -TU2S 31557600.0 -DU2M 149597870700.0 -IN_FORM EL -EXTRA_FORCE NO -PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat -BIG_DISCARD NO -CHK_CLOSE YES -RHILL_PRESENT YES -FRAGMENTATION NO -ROTATION YES -TIDES NO -ENERGY YES -GR YES -INTERACTION_LOOPS ADAPTIVE -ENCOUNTER_CHECK ADAPTIVE -ENERGY_OUT hungarias_5pl_500tp_17_energy.dat -GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_pl.in deleted file mode 100644 index cd9d16020..000000000 --- a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_pl.in +++ /dev/null @@ -1,49 +0,0 @@ -8 -Mercury 6.553709809565314146e-06 0.0014751274117575772341 -1.6306381826061645943e-05 -0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 -48.302897646473702764 29.190213908309409874 163.69992642152809026 -0.0 0.0 0.34599999999999997424 -3.5735549824428292985 -18.380047749494480457 34.361526740492798437 -Venus 9.6633133995815381836e-05 0.006759122875155079725 -4.0453784346544178454e-05 -0.7233300630551103838 0.006773384545514573099 3.394505355540899938 -76.62090440289564697 55.183156101464518883 271.2285045598760007 -0.0 0.0 0.4000000000000000222 -0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 -Earth 0.000120026935827952456416 0.010044657392872289059 -4.25875607065040958e-05 -0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 -175.84932558359508903 287.2227751976308241 324.72725799674782365 -0.0 0.0 0.33069999999999999396 -4.827962479462605839 0.034731626640621778608 2301.2114260455621944 -Mars 1.2739802010675941808e-05 0.007246146587933918669 -2.265740805092889601e-05 -1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 -49.490271729763087194 286.7387645553690163 252.78317601821959215 -0.0 0.0 0.3644000000000000017 -997.9376283354346323 -909.38573894978675416 1783.4600697011568969 -Jupiter 0.03769225108898567778 0.35525381666404283465 -0.00046732617030490929307 -5.203268729924161562 0.04848413524543258163 1.3035624911873560094 -100.51639734596980702 273.421918018626684 325.351028522703416 -0.0 0.0 0.27560000000000001164 --80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 -Saturn 0.01128589982009127331 0.43764770913411007376 -0.00038925687730393611812 -9.581513697274186114 0.05248801962394190196 2.4862838811768979141 -113.59546767797320399 335.45662431368151601 228.84653123700309152 -0.0 0.0 0.22000000000000000111 -441.9323685947327233 378.52918410105413535 5135.911248678291292 -Uranus 0.001723658947826773068 0.4699394560146697986 -0.00016953449859497231466 -19.24773626798451076 0.04408736292912442123 0.7704474968533898682 -74.09072726634606454 95.12631113857929677 237.66915583105441101 -0.0 0.0 0.23000000000000000999 --677.3000258209181323 -3008.109907190578637 -836.301326618569835 -Neptune 0.0020336100526728302882 0.7816500366521773358 -0.000164587904124493665 -30.297815841143489024 0.013873050398302080172 1.7688477929856469828 -131.74107055888509876 246.83916166351488641 334.07963351871291025 -0.0 0.0 0.23000000000000000999 -1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in deleted file mode 100644 index b2cb85c35..000000000 --- a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in +++ /dev/null @@ -1,7 +0,0 @@ -Sun -39.476926408897626 -0.004650467260962157 -4.7535806948127355e-12 --2.2473967953572827e-18 -0.0 0.0 0.07 -11.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_tp.in deleted file mode 100644 index 573541ac9..000000000 --- a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_tp.in +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_param.in deleted file mode 100644 index ba1fb3c2b..000000000 --- a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_param.in +++ /dev/null @@ -1,38 +0,0 @@ -! VERSION Swiftest parameter input -T0 0.0 -TSTOP 200000000.0 -DT 0.005 -ISTEP_OUT 200000 -ISTEP_DUMP 200000 -OUT_FORM XVEL -OUT_TYPE NETCDF_DOUBLE -OUT_STAT REPLACE -IN_TYPE ASCII -PL_IN hungarias_5pl_500tp_17_pl.in -TP_IN hungarias_5pl_500tp_17_tp.in -CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in -BIN_OUT hungarias_5pl_500tp_17_out.nc -CHK_QMIN -1.0 -CHK_RMIN -1.0 -CHK_RMAX 1000.0 -CHK_EJECT 1000.0 -CHK_QMIN_COORD HELIO -CHK_QMIN_RANGE -1.0 -1.0 -MU2KG 1.988409870698051e+30 -TU2S 31557600.0 -DU2M 149597870700.0 -IN_FORM EL -EXTRA_FORCE NO -PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat -BIG_DISCARD NO -CHK_CLOSE YES -RHILL_PRESENT YES -FRAGMENTATION NO -ROTATION YES -TIDES NO -ENERGY YES -GR YES -INTERACTION_LOOPS ADAPTIVE -ENCOUNTER_CHECK ADAPTIVE -ENERGY_OUT hungarias_5pl_500tp_17_energy.dat -GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_pl.in deleted file mode 100644 index cd9d16020..000000000 --- a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_pl.in +++ /dev/null @@ -1,49 +0,0 @@ -8 -Mercury 6.553709809565314146e-06 0.0014751274117575772341 -1.6306381826061645943e-05 -0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 -48.302897646473702764 29.190213908309409874 163.69992642152809026 -0.0 0.0 0.34599999999999997424 -3.5735549824428292985 -18.380047749494480457 34.361526740492798437 -Venus 9.6633133995815381836e-05 0.006759122875155079725 -4.0453784346544178454e-05 -0.7233300630551103838 0.006773384545514573099 3.394505355540899938 -76.62090440289564697 55.183156101464518883 271.2285045598760007 -0.0 0.0 0.4000000000000000222 -0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 -Earth 0.000120026935827952456416 0.010044657392872289059 -4.25875607065040958e-05 -0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 -175.84932558359508903 287.2227751976308241 324.72725799674782365 -0.0 0.0 0.33069999999999999396 -4.827962479462605839 0.034731626640621778608 2301.2114260455621944 -Mars 1.2739802010675941808e-05 0.007246146587933918669 -2.265740805092889601e-05 -1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 -49.490271729763087194 286.7387645553690163 252.78317601821959215 -0.0 0.0 0.3644000000000000017 -997.9376283354346323 -909.38573894978675416 1783.4600697011568969 -Jupiter 0.03769225108898567778 0.35525381666404283465 -0.00046732617030490929307 -5.203268729924161562 0.04848413524543258163 1.3035624911873560094 -100.51639734596980702 273.421918018626684 325.351028522703416 -0.0 0.0 0.27560000000000001164 --80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 -Saturn 0.01128589982009127331 0.43764770913411007376 -0.00038925687730393611812 -9.581513697274186114 0.05248801962394190196 2.4862838811768979141 -113.59546767797320399 335.45662431368151601 228.84653123700309152 -0.0 0.0 0.22000000000000000111 -441.9323685947327233 378.52918410105413535 5135.911248678291292 -Uranus 0.001723658947826773068 0.4699394560146697986 -0.00016953449859497231466 -19.24773626798451076 0.04408736292912442123 0.7704474968533898682 -74.09072726634606454 95.12631113857929677 237.66915583105441101 -0.0 0.0 0.23000000000000000999 --677.3000258209181323 -3008.109907190578637 -836.301326618569835 -Neptune 0.0020336100526728302882 0.7816500366521773358 -0.000164587904124493665 -30.297815841143489024 0.013873050398302080172 1.7688477929856469828 -131.74107055888509876 246.83916166351488641 334.07963351871291025 -0.0 0.0 0.23000000000000000999 -1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in deleted file mode 100644 index b2cb85c35..000000000 --- a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in +++ /dev/null @@ -1,7 +0,0 @@ -Sun -39.476926408897626 -0.004650467260962157 -4.7535806948127355e-12 --2.2473967953572827e-18 -0.0 0.0 0.07 -11.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_tp.in deleted file mode 100644 index f4ba244e1..000000000 --- a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_tp.in +++ /dev/null @@ -1,1501 +0,0 @@ -500 -TestParticle -1.8454769027014339411 0.13951119042459186881 25.837798047275626345 -328.17117785206306735 237.2860880034895672 64.23008023926446697 -TestParticle -1.8948047399930760815 0.39253684339890981825 30.57401904357708844 -171.8160167926455415 74.67067835186652758 346.82539114732162489 -TestParticle -1.4322956873029448754 0.26682998123758877584 36.888797433998760766 -135.67836179139501951 49.89780708941236753 50.12940813296061293 -TestParticle -1.5422738860284694873 0.37685139101297421282 19.245291067203744717 -242.6056203622448777 190.34039186776647057 265.5775848896740854 -TestParticle -1.4000225346968613316 0.29255853399659431657 19.890767084525684538 -119.10518346196536754 348.49038108835299 47.293501598324468205 -TestParticle -1.456396703278512561 0.21606816556140612251 29.008692147879436618 -108.30731953608933793 221.35606614343436149 135.6522448644592771 -TestParticle -1.4991966146428574724 0.2669401594934397437 30.077755049056197123 -191.15663442447419129 222.38194219090249248 69.087779756302211354 -TestParticle -1.2976220185588704936 0.2964166811906516763 17.074990789432430205 -304.33208099940674174 258.6470139846816778 322.57928297363247339 -TestParticle -1.2284058459883253622 0.02114032275754222992 21.48034199376179032 -253.91897753388707315 121.66008318006832667 48.90451689677965419 -TestParticle -1.3491703154567693534 0.12631152383406446527 12.08570156851411781 -94.79536576066179521 143.49729046755351192 208.82266091055907964 -TestParticle -1.354548306636307764 0.30813073753578051894 26.385704559503864175 -9.340695923175923454 140.9062990975310754 128.60525944669927867 -TestParticle -1.4726763914941964906 0.051608113984077212677 23.16805302210511286 -60.87571895315940651 37.85205814142705094 334.24673224972650587 -TestParticle -1.5463324166991267994 0.049680078831149866725 2.1376306166210978787 -220.16008032774595904 11.76294270807032305 189.70726088424217437 -TestParticle -1.8424848789863070841 0.22250945291262835823 31.15994606422547264 -200.26190393952850854 90.472365503047569746 91.504582635979360816 -TestParticle -1.3344201535197020014 0.22773738327276721316 26.57752464191161934 -153.96142537752339763 186.86606427694519539 35.556703962561442722 -TestParticle -1.9184874234026485507 0.023481756935774280443 35.397883111232822273 -271.86866710708176242 55.05965672749781703 149.58202579969920976 -TestParticle -1.5321856218987717213 0.3979302949006976453 2.3033304058957959626 -1.0080751214383187886 229.5039187263292888 149.08850733126683963 -TestParticle -1.8579680598185155382 0.22191671822921349433 4.132202808256058013 -84.407322217061448555 105.02111083305797479 146.60404199861849861 -TestParticle -1.8191335218869923995 0.081164276322499742666 2.5841250683973493452 -159.5912052269758874 90.717444711181698835 52.736155424681527393 -TestParticle -1.3667350901122115037 0.040168371245059432406 21.275121073210776501 -354.85336821525999085 78.43154031841972085 317.9997578721723812 -TestParticle -1.211310325452651826 0.22495050228658303171 6.171244471860548586 -261.19666701924728613 72.22571277624209074 188.79752520382470493 -TestParticle -1.5325985395295633751 0.31279786859050073833 20.80765006283890628 -318.17303457104600284 237.18051290105893258 171.10337432510698363 -TestParticle -1.8680074840187885776 0.2359667145186353232 3.4681761306941005785 -200.43760942249792834 358.90361110235892284 209.24526446322295214 -TestParticle -1.8902919155434694254 0.083578216274719355217 21.112558775866592242 -196.8514015184809125 347.4309841941474133 73.29619835953663198 -TestParticle -1.3627905330289311614 0.099888583939379896326 10.927033380075510394 -304.94152566655765213 199.55238917120914266 66.700355986912740036 -TestParticle -1.6040569601728904559 0.0037929451167165065088 35.906866500389931218 -99.48570161019421221 264.107310263435636 196.91578900528253371 -TestParticle -1.5861188083181421149 0.12827049258664038889 4.433072269138715882 -250.35776905499878353 45.94314631274010452 78.766936071707490896 -TestParticle -1.8085832921727800215 0.38738844761580382148 38.482814871600758977 -59.61087191956130482 302.66582104517908647 337.43444136948141931 -TestParticle -1.4784945066780474932 0.02330664972959981679 24.805661482861435019 -161.3343149737517308 260.74004269183234328 332.58410511792851594 -TestParticle -1.2147867771614853094 0.16512447645289687892 26.704102750300808822 -342.71215159236965064 303.68316149292064665 267.30686157877283904 -TestParticle -1.2201597354758311198 0.29779565538112623413 9.5137682254248456815 -191.53033272117548336 279.0125127827463416 212.78518850631689929 -TestParticle -1.6306412809893466864 0.17831015307074157827 3.1250419675817919796 -35.17124037365346112 108.44038602029890228 289.87991262900078482 -TestParticle -1.2151606182820764435 0.030818630012030868992 15.255139624036321067 -18.872922094318155928 231.7787216922804987 114.00766773514217789 -TestParticle -1.263893046608108861 0.2365742775318666613 11.945519016269416923 -42.860493283933593034 103.96603523733477914 283.38829024952065083 -TestParticle -1.6208609899851271763 0.084237547629803233296 12.70952077968544458 -283.22127471251508268 16.774057774443846824 300.16022765529646676 -TestParticle -1.369439844040318377 0.02479558882423171795 12.8318676295292597445 -301.63112212878189666 317.34595898371384237 30.617048625074787083 -TestParticle -1.5997694540834734855 0.09458558350377295476 19.448014834633401193 -12.1917196597836952066 3.3679767469261356894 154.78568082871979072 -TestParticle -1.7665402755717471983 0.30325026057285930925 27.633560559304825688 -101.32565005973741279 173.42784439679959974 37.232060344515574002 -TestParticle -1.9955375108845494481 0.36780600821797326816 31.984293078717442427 -282.80116122029363623 340.83055441100248117 39.611552110590793063 -TestParticle -1.8068990906750328485 0.21026617244057629885 1.0616116239923245601 -148.12562556977400163 298.30253571723386585 39.94475612648128049 -TestParticle -1.6630081107132843599 0.2735942970781838346 20.393789507385111648 -186.34515293922132173 65.17268953054855274 249.5770342523899501 -TestParticle -1.7985429554004617181 0.32088199656574384333 3.421215620948947489 -16.760921442599428843 74.095210179753522084 131.64141600391005227 -TestParticle -1.4370805125444752193 0.33325879590334600566 29.297209939601689399 -179.87886700027897291 9.64820682838999133 185.83130754139918395 -TestParticle -1.4655739620290153535 0.017666725980597774298 15.194095015809558902 -272.98954032167330297 58.084307572382229523 205.40990717491945361 -TestParticle -1.8476543863511110111 0.38915614646375812358 11.917542586934226634 -134.42337723208845546 335.9708646376130332 1.2971084841705504687 -TestParticle -1.4590877868615714785 0.00229625206779173743 3.1321552894228821273 -234.02046406252858901 255.12979045887780671 16.475368403924544936 -TestParticle -1.3888300055647480047 0.04773585409741545882 20.980957411518524225 -232.75615771007392141 269.83840631297238133 128.91250646333895702 -TestParticle -1.9931456375147125204 0.36812801925517474322 8.575906190939374341 -75.54998759463583724 336.19060016425089543 128.81172294803698719 -TestParticle -1.8774492133690419138 0.3438244675687084917 23.038981078440741612 -9.8914055387747712444 56.58764160659445963 274.986529163730836 -TestParticle -1.3204375538736723428 0.08737144541036796774 29.974540925371840672 -221.62895491427303796 180.74872085610940076 337.40135640751742585 -TestParticle -1.7927656300808507694 0.117314349174642992835 19.184850306121404628 -206.67799209022632567 27.751086824061687253 298.02149638567931333 -TestParticle -1.7770751091671890265 0.19250351376309945972 9.172954305563960631 -43.26806500508915576 40.25028641050728595 238.70170337404292127 -TestParticle -1.974616589119178478 0.34407442172588997842 9.802858566374489158 -297.25364573770326615 87.77531802870282718 75.66951173963438748 -TestParticle -1.3863166307158814039 0.076685155941225657816 27.402627668756696977 -65.08259549484182571 164.8638775674021133 100.45589134667613962 -TestParticle -1.865440866859517488 0.1196471086364425257 11.945324988836505398 -268.187594819792821 223.64720186520361267 29.40940210460087556 -TestParticle -1.924611171111724417 0.20112445232693854091 27.71898676703103348 -318.34445645026778493 191.25112555799532288 349.89422766228875616 -TestParticle -1.5993892099645203864 0.10968442780595713537 9.326690310948993812 -31.533935713187357663 310.02898225335894722 210.51997485541662058 -TestParticle -1.2359382488484538243 0.32658357473851062913 38.707976308555153366 -144.00217869231852319 119.06805794770258444 79.384200277529473055 -TestParticle -1.6109049166063780234 0.038297945827820673026 19.543826335927839466 -187.13697315293387646 257.17832502585736165 137.87766714187893058 -TestParticle -1.4314628393318562516 0.06605107757031168647 34.48524969280026653 -261.32336202719972107 132.91845049023550018 38.845354985336733478 -TestParticle -1.6270574875899108669 0.34703206127568098083 15.7198484814636287865 -347.55110983950402215 301.80674145531685326 112.25474179150697296 -TestParticle -1.2336395323546296421 0.09729394203067305569 5.1016432554912771735 -233.12366663108903708 146.38256752560837981 198.90738568911748985 -TestParticle -1.3456767380773657639 0.0037474665741684012703 39.938234490697439583 -256.57759604724572 75.054619437472723575 358.3650510442133168 -TestParticle -1.5755427111046413913 0.26176654357687628716 8.3705428253832359076 -37.517264866504824283 65.328654571322900324 91.55626866074713632 -TestParticle -1.6755570822166401257 0.13402717291758836637 24.063895956419415256 -13.799270685071709508 72.62055343894668624 87.31894896673983908 -TestParticle -1.5559490988866435668 0.15176826381840774483 38.48111346610262018 -256.2333379875098558 75.97800331031197629 59.41813313856062706 -TestParticle -1.44994652075586683 0.33986546456988747655 24.751134550954795088 -232.18945993885864709 196.68218102285592863 134.45246030705607154 -TestParticle -1.8429185809905443971 0.017095748280579449452 37.139787427802218645 -161.43471520401584485 307.27501647662722917 355.50902004252696997 -TestParticle -1.8754638534803846905 0.012020551314167439438 25.689663713162978809 -190.79044364156195002 199.61943428385487209 354.13757823278496062 -TestParticle -1.6785085343609076336 0.092751885821403062815 9.210612929641403213 -285.5852225501039925 151.86743084166838003 284.55869958326974256 -TestParticle -1.6543220378661067649 0.21134650270613800083 33.840207882222927083 -304.1335703446064258 326.82908020011677763 324.19035648687139428 -TestParticle -1.532142838634183768 0.38007507167758092237 0.41347334753230935434 -67.05133558163640828 34.399290053628249098 34.840294234675972973 -TestParticle -1.5607062121608026306 0.33781855969656376937 8.967843423326943508 -299.3643723824862377 200.63715648972143413 68.959909224159687824 -TestParticle -1.4493452438508076519 0.0685471748773834183 8.6320194163908645635 -72.080624314054560386 115.122237950328312195 0.4079154529894424286 -TestParticle -1.6460340581063395149 0.39668168452346741493 20.981074587513283802 -204.3451792276263177 201.37614636656564926 213.30860176845612841 -TestParticle -1.5920263567710581931 0.25848484530126630832 37.015946260712674132 -127.874562568991194667 65.19741011690945243 94.70447850395582634 -TestParticle -1.7336512363309442009 0.07029270812373322741 2.7619103909209741232 -186.8230602145383159 227.39378660430725176 98.630627655617857386 -TestParticle -1.2180382444813300236 0.3142235003505371993 28.081856084101627147 -111.345098722858793394 55.920002664921518942 282.87486367297071865 -TestParticle -1.6485319714902004762 0.3152277024193525512 9.613333711481617527 -294.21829832085342105 286.30105207001298595 128.67843292368630159 -TestParticle -1.4661249318513216444 0.05768902442216044396 0.40134055259916312508 -131.60830524837382427 243.75402215940340511 207.34266824752899083 -TestParticle -1.9808876352137643195 0.14308188258148502037 1.4378912336896432222 -80.646845170624999355 231.53252144735679963 232.24754717746816368 -TestParticle -1.2317104124445219515 0.2601604050852836525 0.45344055155487783537 -196.60019387641727917 281.28440095008312483 247.80040663000707468 -TestParticle -1.9766606334273690848 0.34561610666945052905 23.435434834980789276 -34.473035596172188377 271.1594424183512615 48.466138898201464258 -TestParticle -1.902283887520531902 0.11209856668107276434 36.03239655947709963 -294.40684092368923075 270.02199923071918874 114.382104661423511516 -TestParticle -1.6492323095244016962 0.15893979864294510707 37.659784271934086064 -104.66474319501168111 339.31942052690538958 216.02473301930888283 -TestParticle -1.3484148267391067311 0.21111072648635398341 10.89667366492733791 -291.56591682201212734 76.70162083026228572 312.33817224861377326 -TestParticle -1.4294351818194139803 0.088023727454350997323 39.975651469559892348 -198.68831704157523177 24.599669214308292453 112.67218982565516683 -TestParticle -1.7462490440076519072 0.37071438804152889723 21.870120107958371136 -306.73669065023256053 227.86908802150850306 221.53115484665687518 -TestParticle -1.2326287663421375829 0.38251042858385364553 15.802748366587309192 -199.40278420565533679 149.69869717845381274 315.67560896416114247 -TestParticle -1.8450862453370659999 0.35823810152470403345 0.24296995062495163609 -231.11355647090658749 268.36408970924156847 247.20131497380242536 -TestParticle -1.3463306194321635889 0.054152156717265725883 19.291673537548810202 -161.87111271376406307 110.46662751206984865 211.17562619004070257 -TestParticle -1.7304729990392044847 0.0060363382745066036794 4.5425988088905189244 -83.83165898233737323 161.12905358043980186 286.6647995328502816 -TestParticle -1.272415258736352639 0.34812105948963872892 35.045494396081245725 -14.574000729875393745 353.3713665259786012 131.5433867402096837 -TestParticle -1.6439273487752854574 0.36545065070539850538 6.353634441759323792 -208.14453818563018217 10.813063425795590433 206.06730287545840952 -TestParticle -1.6763079933342956984 0.094138501830316120844 9.085159707293687603 -80.58871476637817466 314.0368013316636393 100.690960685859835166 -TestParticle -1.4877140448295171904 0.16166761889883485281 34.241465691047999087 -79.8410863542756033 83.93580251433438377 326.42504725591442138 -TestParticle -1.2162284372972316238 0.0041396912261435492297 18.10971019209766908 -119.24015567046335207 329.67281909144981 104.828869567280364095 -TestParticle -1.8047735542382463692 0.33749016396948239294 0.52972364011479644574 -178.94392698813351217 299.23756071934496958 162.62104380151879468 -TestParticle -1.5839648306862472715 0.10066137160625268643 33.26828317225646714 -263.27920251880794922 68.67162164080139064 57.290691877799474696 -TestParticle -1.782207613297600135 0.28298109588186182162 35.127393670730072017 -210.15608294480230711 329.15212439443854464 156.34171670624388639 -TestParticle -1.3155167265331972892 0.3723026355627080397 31.9899066241260428 -91.31036979040656831 223.20537501312867334 55.827047719351739374 -TestParticle -1.5449962589928503132 0.042895131418722920458 19.621615335811604552 -53.274917868286941314 105.38186162729587636 323.020751462690896 -TestParticle -1.5754411317280814231 0.34816180369684263107 4.7678217298113434452 -120.95128002085144203 157.00930158977180895 240.29746717057042815 -TestParticle -1.5907469291141598244 0.1964357827791012312 32.411571541856559975 -170.61499094134663324 242.1650203501031342 17.501615221478704854 -TestParticle -1.830089894183755117 0.1183426089423230132 39.644525581214999477 -294.65378437812546508 109.07115594302160844 324.16241183209581322 -TestParticle -1.4367780052388956502 0.36401192064177911867 30.631206179017613778 -68.80265368578432117 273.93063220366155974 24.29554655983004352 -TestParticle -1.2142291174104986595 0.26599477562223389215 38.323418486729934784 -308.15266716976327643 181.95454939706644382 25.317934141736472498 -TestParticle -1.3097560558867786806 0.27086655670790987793 26.727111485760552512 -202.01817831967753136 111.97198753257944759 220.9572217341067244 -TestParticle -1.7068002319397266309 0.13225077417056724238 27.615823462695185952 -285.91192474987235528 163.31636137404424858 93.38394269951035653 -TestParticle -1.2055264990732839081 0.30786309414395046646 1.0578708063967390274 -10.359167032075170312 91.437369236993205845 199.49137469503560283 -TestParticle -1.507944679481377559 0.24354603379899894544 13.546984987329334871 -57.02677054315793015 348.2783664994595938 271.03255123935065285 -TestParticle -1.2000480949162781741 0.37393642722973008397 23.203234027939288353 -10.544426197782676979 54.256441116884829512 254.63780531903708493 -TestParticle -1.7449420987438828412 0.24948442565304040919 27.500692921539069857 -95.99564887831238025 273.51317842100650068 326.03984845413532412 -TestParticle -1.3765488182504534986 0.030416876982825514358 31.70464034258963082 -275.78595003182448409 133.87458225546748736 226.00553898246667472 -TestParticle -1.2429016633522536051 0.20958324622273286075 37.67591956683881449 -291.1872246516109044 179.51252843010638571 313.71221570905379394 -TestParticle -1.350836711566139936 0.37146863516149991602 10.648022816293165604 -303.44796444885918163 189.14789607745939293 51.43707686446851568 -TestParticle -1.3606071504125110128 0.33726059408562408803 29.623948782469774699 -174.22516541583135563 294.25596249059782394 95.41136217835122579 -TestParticle -1.2613426667283003102 0.28493782233230641188 2.8418286626483357793 -28.660785941482401995 87.50329638280636857 62.24419865756345871 -TestParticle -1.7174163570319429528 0.3032422501079781174 15.67069716211129915 -199.70972264612359481 32.767912430781642286 213.64123907162533555 -TestParticle -1.7458843970753306074 0.11283265730661723447 31.014841487303186796 -100.348702433335944306 70.42890181497725166 181.6379350423849246 -TestParticle -1.5856984450767472872 0.12800000166780992061 31.429108868252029652 -51.353858554652823898 23.612627758947475343 267.08391560632128403 -TestParticle -1.7153544980924069208 0.009492334383937130193 23.973160269033186864 -225.8121095708202688 166.53019043018878165 111.264606624241494615 -TestParticle -1.5026214783945404108 0.0060590469509819834884 26.922409196875427995 -295.19858318066900438 267.2316600455114326 164.01625566186100968 -TestParticle -1.9160661225785111661 0.2687972938601586037 36.621056515844763624 -334.838998311582543 64.064850181025448705 189.01682882741042135 -TestParticle -1.2176400162982947695 0.34785736514134202313 33.268864900617138858 -225.50438622677125977 227.27950095352301219 349.3797741235012495 -TestParticle -1.2273892818311689101 0.2816869543044054902 29.30501713210593806 -5.1819190308878404494 2.980732803128396391 210.95489861072306326 -TestParticle -1.3751089556704734207 0.2405885452138842584 36.06217993351511808 -199.72275209903938276 20.656954375719962513 63.697518910616103938 -TestParticle -1.5607369467841181176 0.07255978851264624496 7.9579329131271947517 -171.37467949380453547 212.58991825508687157 339.50383959100975062 -TestParticle -1.9532502979079398031 0.32689490765476852951 28.253212569212344363 -181.63986801834479934 358.1359989621613522 109.388744074059957256 -TestParticle -1.6386262719092012929 0.3843259001434648492 30.427684580834899464 -231.68744967547161195 57.857403700081057707 50.909305856223930675 -TestParticle -1.9782962700915884824 0.107957633562424437645 12.967168829872832703 -304.82496750248236594 137.36222813798312359 43.932431234771847528 -TestParticle -1.456906303967715921 0.14977091087281488302 11.183659205458482688 -73.40451433078203536 248.31190118288742497 75.220198402857562314 -TestParticle -1.2534896538060293913 0.32164641810767541363 3.6905727779895203255 -113.638768774667383354 40.160334282501267467 312.87037322501493009 -TestParticle -1.3014118589240171175 0.2335136721159586648 25.377666434917763638 -52.35427893272325406 9.000303326532378634 144.16353907228875642 -TestParticle -1.349118336295686893 0.043025081648941171375 4.3612305774961734883 -243.8860202407295219 2.8265136490351139287 103.60819968189791496 -TestParticle -1.3275933491849711832 0.30130671835155509175 9.869222679372882112 -140.91605869565009357 6.9406462242691979725 239.80228459696834875 -TestParticle -1.6818942627306852078 0.31620420657586079116 20.559233470145720446 -58.349404997197098055 117.22724335851061994 205.33268031856118796 -TestParticle -1.9852083696659352796 0.013418902816453127241 34.384158548277603984 -115.09964166928982365 93.38072290721305535 50.024657651717582496 -TestParticle -1.5693995761001753309 0.16001215059117473993 34.5933607052273544 -148.74442398288778122 35.382707682911650693 307.9784638941427488 -TestParticle -1.5266059802597138351 0.017927011927562432753 36.548915878020643788 -210.40292925773331945 201.71103729618005218 224.16233740901310512 -TestParticle -1.728092867591788595 0.17808919848065529745 20.998516569906101381 -308.92264952207932538 127.645229747456198766 161.89916144859373048 -TestParticle -1.6194915162303571421 0.12309065176675240694 11.294533006684988052 -54.678975810373955824 126.54242973288489793 198.90789595722705485 -TestParticle -1.3289490961949892434 0.29324085207912647943 30.6374181063208475 -269.87631534747202977 37.841881250480767562 348.01538484590025746 -TestParticle -1.992893537374311741 0.18673594337410803767 16.540817363482574365 -17.388276030638827763 78.86833627776049127 145.80382488854473877 -TestParticle -1.222299452110788831 0.30906300615816389987 12.345442063899700003 -306.8123712805751211 180.92912639536746155 259.40768755027107773 -TestParticle -1.4975645450575401085 0.33347394063389190766 1.5908406722909917974 -21.190900575813813589 29.47013297848204516 102.16591862721205075 -TestParticle -1.7529928369432026258 0.37348208125904397425 34.962456206016206295 -93.100816365900570304 51.110432866675402863 102.57164314281175166 -TestParticle -1.2425425262626379475 0.33615312037358630048 13.5646379554957707825 -178.52596605015196474 153.15866826328647221 144.53495382113527512 -TestParticle -1.6649955177303406018 0.2774227948724269921 0.19107601744351665474 -63.095836643914225306 354.85824120341573007 264.91047609564412824 -TestParticle -1.6484772171416994802 0.30267580759790019274 20.681865450161470932 -178.44791810461956061 236.1847171609527436 98.36374690667254583 -TestParticle -1.9932276245336744136 0.28313215139520719887 18.707112367987669188 -219.87647284127007197 126.12068590426943615 215.87266615210091913 -TestParticle -1.7032561164628601258 0.16397636271323282053 25.251751880173408438 -216.40546882883455737 157.48365299675131723 4.688955472432070337 -TestParticle -1.6688736346909214259 0.20206175633607201259 6.8253656041650678787 -216.49653061411731869 167.29352654167502124 264.9681676707442648 -TestParticle -1.8685421164356719181 0.017115665378235479788 37.702745220955684147 -341.22511657108503869 114.98911860271485352 180.97443389686239357 -TestParticle -1.2789089584183417347 0.38311485210375972876 34.310997435004189526 -320.3337196375490521 323.3381621809996318 259.21085923985185673 -TestParticle -1.6140662295704462093 0.22523087980360034788 31.289184028405010451 -342.24508460858135095 15.680010847649224814 231.38490121660879595 -TestParticle -1.9392715602121850527 0.15801671085680726869 28.474643946647489656 -130.88611486656463967 107.8187080577375383 123.51635573428578141 -TestParticle -1.2967745250719693306 0.06567169524305174755 33.95229338812422526 -290.63873117229752552 79.02208966627722475 232.82648238779003691 -TestParticle -1.5129927102068225775 0.035355940722157398748 39.88868697475624714 -192.95122284146495417 161.94702337269632153 136.8613631323482025 -TestParticle -1.6829217923833816872 0.25345881856811941502 11.3639096364677563145 -97.75123136727515316 45.772970150424697522 122.47944569483230737 -TestParticle -1.8496796135868087685 0.13179006688881342302 13.3337440463942780156 -265.13170996725159512 228.43295285296423458 86.46213418755671398 -TestParticle -1.3358066112403499393 0.14376027444378572384 39.375717961581145232 -157.40058260425848857 311.2848447975355839 331.54934076273463006 -TestParticle -1.4724981157763801232 0.09732120033570890172 28.321058818578286775 -59.894734856092107123 278.76518901350408441 80.89976806352470362 -TestParticle -1.2021644761475605012 0.31023967350442599455 28.526439154406524779 -141.17072146741031702 348.00301966689602295 345.1342457342993839 -TestParticle -1.5593994326172748721 0.1667781483451987734 33.654370780663562357 -266.88153921797828616 15.430552831803581171 331.4077165346525362 -TestParticle -1.2450357937715832435 0.028817230992748132934 35.27994061369459189 -170.88739535567884786 353.3811233168729018 235.24134924372253863 -TestParticle -1.9317961733915889333 0.3664316651845210826 24.216703033341396178 -53.371442738369651693 125.538665606108594375 100.18756180685251422 -TestParticle -1.6396980067944455506 0.35320738196817447196 38.908475459351436143 -246.96073709218802605 107.071264330560637745 337.8304256083255268 -TestParticle -1.7122870680368271756 0.33138468975426782492 22.34571124430782163 -41.625350595521808827 260.11274001626304653 319.5586433718779631 -TestParticle -1.7758391618474895779 0.055654577054355419685 14.384020683089943304 -218.7045008460380302 129.23569045343450057 314.73455478475153768 -TestParticle -1.8362854949156799389 0.17009562329070515574 9.220110348963054037 -5.6249185474454588274 94.48961934631255133 267.2078794777070243 -TestParticle -1.7334953226477165522 0.049544865778679184065 1.209613515173937337 -190.91534544660109418 64.56511824447872527 53.933623678817561142 -TestParticle -1.2066506827151026737 0.27307016461379868266 16.286012208431877468 -210.72290400454269843 4.9513407455376867716 217.19883427837939394 -TestParticle -1.9341836813541077866 0.31275777164344914505 21.744449246528134267 -16.671280260299788267 359.76195227232665275 224.80650775703034583 -TestParticle -1.2301271999661356205 0.031548406830605689455 39.849035058731047343 -90.34650036320888944 228.990784368342986 250.85529561169511226 -TestParticle -1.3410010761068889007 0.095083624572690483845 16.924908171363043152 -283.45379909314135602 86.752474366828209895 159.59709647132103782 -TestParticle -1.7698211243948773763 0.31273331984328978095 32.406541703763409146 -142.47083941877434654 108.934565017581746815 272.0311071315450704 -TestParticle -1.2184663095396561783 0.03812658809257066239 19.774618927626171683 -209.47233898474567582 217.91859195187419118 328.76297389338390076 -TestParticle -1.7206223471221142596 0.34602085721486458558 1.7719525390753965155 -165.06371680688690162 58.713339280074663407 131.55475352151159996 -TestParticle -1.3109621100006574324 0.1200549161067526599 35.241813901823853428 -280.10060451829298245 304.5154307276658301 258.67615548166588724 -TestParticle -1.890762195590066419 0.37035990280942132635 39.30878687557294171 -331.52556729751103148 337.10887406621617401 291.2002557551665518 -TestParticle -1.9459727148429868393 0.38159291851530796613 17.491010561827589953 -58.69944071533900143 205.64445683266583842 15.007877403052006571 -TestParticle -1.932411276121311472 0.04777930483056436195 25.073992516822389831 -121.57030712562516328 70.74439140769348455 289.9542940845957446 -TestParticle -1.5709963526669437073 0.10007382494413469276 31.19225199749002897 -25.663181434794644531 158.74882487098793149 349.24010777437848674 -TestParticle -1.335652850395929736 0.2682557203404010715 35.328293558121892204 -297.5826541744638689 60.254502441132032686 46.73892963602791184 -TestParticle -1.2957464098764572835 0.3440291712383192757 7.1735736922541004645 -59.24135447472242788 112.00172550339377153 63.553063734303997023 -TestParticle -1.3376569963037119315 0.3060189431378071423 33.029029350979975277 -152.73585490781837848 358.84231030107730476 37.635854669405638617 -TestParticle -1.771988403745682561 0.3418762364008507415 23.489318587551395012 -127.772934823946343386 203.78581662446330824 143.76143168311298837 -TestParticle -1.5956560402916708519 0.10759642083325884898 23.037334274387120558 -89.123439540602518605 335.80537435903943333 224.2944293252393777 -TestParticle -1.2213248137275627414 0.33273129495412528955 31.736197966218284705 -5.8113766822153190006 136.8878783815157476 64.522354495354704795 -TestParticle -1.5939091087487726739 0.18821654046060146137 30.731370977849337578 -266.58533763467028166 61.609425727717933796 18.235581197999763958 -TestParticle -1.7396585716134431721 0.33855494953671660951 29.449893101775622029 -180.02468739427200717 242.14518561194594781 286.10286226317128921 -TestParticle -1.282393302513987976 0.18117160916878405352 22.308223599873976184 -94.69043575838269078 120.90458523599184559 161.88428102391287666 -TestParticle -1.6814135190699217581 0.06566827687818244108 23.327233678731047917 -13.505074850212492876 48.75637107914376145 337.4546628636448986 -TestParticle -1.7657157709814490509 0.1428403447023711692 17.528150255810068359 -344.59038571613109525 139.36370104693307326 48.933862071120714177 -TestParticle -1.6903656227398606848 0.1881104051902828811 4.8333955434429443088 -225.1651227652955356 185.18882646555431393 132.21080070182574673 -TestParticle -1.994803202974419154 0.07010640681945860819 10.335500705227271823 -49.13850067137512667 6.4534592639328725028 80.823883651112907955 -TestParticle -1.3332640591247215678 0.06033190012542344327 21.035357456357957062 -97.733488288704805314 80.36567051536489714 46.55202086502264791 -TestParticle -1.6243595893431250765 0.19184864274731788791 3.8955991274805690239 -177.92659068814418788 143.40326100313114921 22.678654943892524898 -TestParticle -1.6823664970435372457 0.2224783311899178051 28.355960754425314718 -38.26291967170601538 109.90023925961423856 198.84047030132839495 -TestParticle -1.7191941261517613704 0.33174274738319786682 12.850948299491872007 -119.00419547116645447 97.60779700546201809 294.77008528831782996 -TestParticle -1.8572892923802768461 0.35111820477995814294 13.9604529367616514435 -90.00276864094306006 148.95323888923235245 105.97452396122218943 -TestParticle -1.3153721536816338489 0.19649899863576869574 15.0714118102473335625 -114.91054594701827796 42.412124805715073705 238.87013655434262205 -TestParticle -1.2329176043622995795 0.016982564457388795581 30.243701002322488591 -82.65191789811144929 330.6979385476704465 45.054558348890076047 -TestParticle -1.5821710473264454233 0.3143035815568485103 26.914241767154372553 -284.2538985550680195 218.88177874336824402 323.40347760377426312 -TestParticle -1.9040784761593252394 0.24428308876647972236 7.2140984856285061966 -36.905471182196343705 235.01221091601564694 318.38458893259758042 -TestParticle -1.65303582473123023 0.15480622128373774937 30.612597160930445028 -176.14307295689886246 344.8917806440758227 46.391668294041863874 -TestParticle -1.9906869462994456477 0.08417977136701382257 32.071163809129458855 -190.08888099464044785 12.337459747731131188 44.2017470332212028 -TestParticle -1.8765384210009301569 0.18365454827241262103 21.70846970886060845 -357.147106806575664 129.14807435709019501 12.280707552849744246 -TestParticle -1.4155101547192867617 0.04021447505437234643 9.344979114904226947 -15.0079117011066429654 104.10136849327774655 23.129488238006107537 -TestParticle -1.8212138878170127665 0.08047272581333581032 4.0968495722748254906 -174.58882187338159042 279.87646692565357398 23.324854698976157152 -TestParticle -1.7644240552946159895 0.028115303133601266677 37.495056810553286653 -118.13225365926875554 167.45393279647143459 34.012411764895496447 -TestParticle -1.4525677350618968475 0.30250405555180709394 17.82996354610970613 -220.00796720803919015 344.15563445760545846 123.14676507835467589 -TestParticle -1.548841766197246228 0.09540860671062662002 22.684926251185043355 -218.60911597389889494 90.33458573673138403 102.992143880334552364 -TestParticle -1.2079296534119159379 0.32769989355099571338 38.675927266126485904 -200.13361220962531206 158.78840734969233495 279.3835775172844933 -TestParticle -1.377134208847530239 0.24021816899861267447 9.0547885117482262984 -307.8373588937357681 250.70142057430294358 309.94009295835280682 -TestParticle -1.9686740753046718666 0.039229853667286734842 27.8754113045622951 -44.123357114694904624 256.01312835054108064 261.81824327677321662 -TestParticle -1.5814217806739057082 0.17335298748077404563 11.896107065940920933 -11.863952502714919746 24.317879056812333971 281.83737446678952665 -TestParticle -1.3875566874932281358 0.04186652452005912295 8.374003796839994962 -110.23215119957482955 294.56036703267886878 295.56595853737684365 -TestParticle -1.3902402383167473676 0.19593968424019078678 29.315181048510574158 -282.62385234829253022 324.77635841333739108 19.922520312932118003 -TestParticle -1.2840096543928043449 0.29990999639214999117 38.008971094948456937 -277.38971452757238012 208.06148201248271334 255.09629766073103951 -TestParticle -1.5591506829846155657 0.37436941724804151388 28.992037551395654305 -349.16296285001351407 325.2167596752620966 272.84514086043867565 -TestParticle -1.6470838643939573753 0.08288833139777805614 14.577369178129217175 -285.2260666698484215 331.09186078156602662 265.88764593799055547 -TestParticle -1.4078732644616405167 0.12168143435803764618 12.108634490395427719 -108.46688890223232704 161.29947110408681965 275.03585750375651742 -TestParticle -1.3806299194725459856 0.004926651150672434372 4.619034071475587311 -124.92525284958901466 247.86360149925218366 213.62866269117026263 -TestParticle -1.3192455632849615643 0.2895763215200138352 26.694213488950907731 -156.54596065699396945 129.81140517153278324 134.60446380394492394 -TestParticle -1.4439912056109245331 0.3898931766577775071 8.96508289894697441 -244.87528934455733065 193.64710431202621521 293.37512055758975293 -TestParticle -1.8635206283775769265 0.2795056553246003106 32.898054005194971694 -137.04912054787823195 287.93791057659291255 10.142083183616289688 -TestParticle -1.9812056783962854745 0.2247292940884803858 25.532351672534726816 -201.33822039314060248 254.90475216060337971 359.59652623258176618 -TestParticle -1.9116361511506723136 0.34944272223947114853 5.3334830645261233073 -165.89953551606566862 87.00762822041266986 286.54555713608760925 -TestParticle -1.2300510950958833956 0.09272681808089294764 6.1108306263088341126 -60.392041334648261852 166.06618730050502108 214.40030029409305712 -TestParticle -1.6587060971893274886 0.35283027123356813792 31.860313399205129059 -249.71240866151026694 222.43577149272385896 31.641338378167219503 -TestParticle -1.6042337378433173534 0.37025740688655151 17.202399535173533707 -87.81318396148407146 2.5620013176806422095 357.37399955588330158 -TestParticle -1.6471345300326571959 0.13620174045721983314 22.615216955031499424 -80.62529682810802001 69.592694813600971315 105.76774944494903252 -TestParticle -1.9072984229216274343 0.01501546063666405785 8.290907351796761304 -169.80316939963415734 18.043578597928426888 349.8451486157899808 -TestParticle -1.6906614679737514972 0.18058500638001656613 35.641943093270654686 -155.08172745880321486 318.8449035930426021 193.87642754894059749 -TestParticle -1.5896626347240321309 0.08039921506021037445 26.884736251329634626 -93.207751799271306936 291.57502433845007772 164.72382015911426834 -TestParticle -1.6992934898451703685 0.065201137301299824656 14.269610927403233447 -236.09727012824436088 254.53147047225508004 263.77965229044838225 -TestParticle -1.8538533648632840034 0.04766458860664664343 32.873078543951940844 -204.22879507518445052 106.636047257291238566 249.48280450502983285 -TestParticle -1.4212096807741136928 0.07499446462853280593 23.101996292119086007 -275.60817514452082833 213.13272785623379946 230.30352647630064666 -TestParticle -1.7510124795524912855 0.057099861992605485672 26.912262589245482758 -293.1635508220617794 35.9907631662996792 141.04718451469835827 -TestParticle -1.6563019761734052437 0.025865878674105769602 36.786210320613299984 -182.00701529286254754 302.4937526698793704 324.59294681664295013 -TestParticle -1.729605636071602337 0.11527751871838157194 8.269004569267789151 -347.6614584046645291 246.54991472345386683 257.4460526186617244 -TestParticle -1.5759605048363587443 0.11372511990649024349 2.1138568479458896832 -32.388292718466615838 301.59398434276658918 321.32099521949635346 -TestParticle -1.8344051151510727404 0.26899383835918777574 3.9802801398091425256 -84.71344253866337226 168.80695388443507454 259.706671920307258 -TestParticle -1.9193495257732000603 0.3433984358229728029 11.27141574019314163 -62.069125737912351326 344.62614387614092948 49.455425729806016477 -TestParticle -1.7910635325425254827 0.044197943689674758228 33.673496401958495028 -49.096060175323778196 333.20352819343492 344.1647888658290526 -TestParticle -1.3951416310339623816 0.25049231139019290104 13.926920554033479505 -24.468782285640848784 283.9433213127680915 38.716618949049291132 -TestParticle -1.4774439717601555166 0.34321703341922732422 34.23200733980726085 -253.1569295809615312 208.55072402648170282 142.78123543474748658 -TestParticle -1.8035383416573496085 0.31178214061844072846 38.848219271007792486 -163.78980370879801853 27.192135308956363104 240.49835213590739613 -TestParticle -1.8523952866624258107 0.2010708076570819347 22.034325231090594599 -124.711476085711595374 323.0644792551414639 138.10178915634389796 -TestParticle -1.9173340778250498317 0.2780025712872400967 25.973495130250071838 -193.9471251677579744 256.51445549034934857 68.5799795393802043 -TestParticle -1.2039954656193134763 0.32062119894339707882 11.801770668367792538 -261.58407010163364248 130.72550628237604542 295.22935271302458204 -TestParticle -1.3539793779063435952 0.05619140956045583224 0.39149769265351963554 -54.55272735280637164 335.83544373800691574 89.36258771851326799 -TestParticle -1.9516074079116982887 0.1921645005309346732 35.371640156848229708 -152.55319109406485723 247.31165449235123788 278.83909188690222436 -TestParticle -1.9301130006872968536 0.047382794904003239234 3.296738006904260665 -186.93636419954495409 38.829849755176162773 177.44532754290727894 -TestParticle -1.2580985637358546025 0.21204965723905899733 16.1659140062293325 -3.289189867948967283 190.84482276807500511 67.97050011468211039 -TestParticle -1.5295225293999865634 0.17172263806479373671 39.618093381378386653 -332.6463231490124599 278.70254383892529404 12.693771958962534185 -TestParticle -1.3231257344221201144 0.2573419902802399073 38.0841373767418645 -20.119441148442565037 244.32686028253979771 48.572638095274754733 -TestParticle -1.2390492871187110957 0.23798618359691314783 30.645766685864785472 -87.001950267678836326 278.12670273948640443 330.89492423249123476 -TestParticle -1.3993417216526349289 0.031843494342214208326 14.144935673919892594 -72.465298766095699534 334.2534597720372176 30.48791433958904662 -TestParticle -1.5347486253277040635 0.04338458251454313519 12.0921328741059639356 -120.79694902396420275 355.45117743828626544 160.7907173842522468 -TestParticle -1.2904906197620742425 0.28414011519071485923 33.037713210604835012 -289.81253890944515206 83.576357577029270374 220.09709176383933027 -TestParticle -1.6058032451228929638 0.36018141227094635504 17.994372902660266789 -3.7010845253058599624 141.54942979100397338 198.05616798418643043 -TestParticle -1.7714414500542230435 0.0035609242707668187222 22.050030319794334588 -264.59185760489833683 10.605770272399395182 215.25949766508875882 -TestParticle -1.81709217161712 0.27368429441007163794 17.149545687672187455 -35.988324614781888044 81.77856120500719328 10.201466538617181001 -TestParticle -1.9507969820486321666 0.104826252022570107214 21.570178232673107743 -110.11799658110533073 203.10615346805144554 174.54637699366600145 -TestParticle -1.5513016726876260876 0.0649073896097557973 28.406030811013923909 -294.40827400152136306 308.45384003953444108 250.69412013121518612 -TestParticle -1.6081730286462514457 0.0904772003540942199 8.756397654381963491 -95.30241023766843966 310.97856820924152998 78.51553642084900275 -TestParticle -1.9445060562513780678 0.34581412562291430346 38.93528925234138427 -322.18458452998703478 206.50871262487711988 171.6753679893202218 -TestParticle -1.2867830568980889172 0.23805020747269362014 30.605085071406584518 -107.834941188806425316 172.69897682961376972 231.64156285513004718 -TestParticle -1.5570299212666793842 0.34247490116827700168 25.701729758850273555 -57.759342054473357564 275.21368529820330195 0.5189093555138457603 -TestParticle -1.8297728730942826036 0.0059327247000139143526 26.27006410810665571 -351.91597475003959516 332.46172667657117472 193.83113607968971337 -TestParticle -1.4663451402621732189 0.019337346272064428326 0.491698998445047053 -336.79769240394642793 248.96724280968578569 175.15811073921727825 -TestParticle -1.724576194857081024 0.052697296256256631608 5.7447084496883027427 -66.182723011463494345 29.130322702617217345 339.9870439485365523 -TestParticle -1.3696669727225077029 0.33229023795273532338 39.64244722837145929 -133.49050184888841386 162.12402403598608203 293.04583577859932575 -TestParticle -1.3783417053600715008 0.2855227081254033128 11.873396199324094624 -181.03404330551020962 111.58079564001488393 50.497053185226064898 -TestParticle -1.8637392080726669086 0.0156183905360887560765 26.799919264480482894 -101.416124536033450454 141.64824974137857794 87.10767556818554169 -TestParticle -1.3990411255817394309 0.016424027824586850954 34.17231113580791657 -351.25674680067004374 51.410447621435544363 109.4743571087562799 -TestParticle -1.7113078627771947104 0.087396542572623220346 21.48366722009397023 -331.26077825265491583 87.597172428811916234 351.11237329056922363 -TestParticle -1.6537452602438895699 0.19076978286361276349 30.899468439263419128 -338.97921655361312787 354.2717007607652704 88.459659106615376345 -TestParticle -1.8713204845226436568 0.34948347966477527615 26.694021521206035885 -22.640920338079904894 267.1658484538838252 91.263466282262129425 -TestParticle -1.7800499814903345541 0.21591168642547953205 4.15893255030611364 -284.8692985786169629 273.15026927162216452 163.62920354405895296 -TestParticle -1.2770584465418410858 0.11704921307575957834 23.561299361007908004 -208.69763432291699701 114.84562071374233483 106.557589971007203644 -TestParticle -1.7789101924514278963 0.21089404756926086182 26.446391287965887784 -166.38039683220225129 280.94687192438289003 156.1732356226829097 -TestParticle -1.5095803628848272204 0.37888764670309865723 23.739638145042558648 -147.5462561757028368 320.06107890549310468 221.66365612858550094 -TestParticle -1.431320096709388201 0.090307147024224890264 8.768204975989792871 -86.741239636344801056 122.03132838806067184 343.580887072082362 -TestParticle -1.6349437899113876682 0.14387102541744481443 11.841216176535350968 -51.14042919054931957 69.171034829460595006 213.79008663660533784 -TestParticle -1.689003605562497734 0.13061345081474304286 24.749487065465949343 -180.96919715736157741 204.68845725307318162 260.67277137781871943 -TestParticle -1.3035444430147782313 0.19990048901013623972 15.958381821114077326 -24.968896817823825529 197.33820599380237581 119.001287940231961215 -TestParticle -1.6620625944290643439 0.2734543708115155236 30.556744105988030924 -323.42922129424488276 115.879900714354221236 18.69101695694187626 -TestParticle -1.9572874068027543704 0.3982637334300366816 23.395690692151514867 -282.1199835387070607 264.2819579212129497 226.80637570406867098 -TestParticle -1.7711614884940887205 0.16471476857196881705 34.541413045241888824 -209.78439563147685476 330.68687123431953978 302.79975669488345602 -TestParticle -1.2768346788945352799 0.2680189005217827325 2.3664781607185281231 -4.5230625737162633015 309.27315231219478164 35.64300138830596154 -TestParticle -1.7331467818212080712 0.08199012177664927181 2.5002689592511995187 -16.248296777956340975 8.818474849161844986 133.32825103025075464 -TestParticle -1.5824962842528258467 0.1664685697946028109 39.01047834163395578 -294.62170247515587107 5.127126749923851534 323.21555884047671725 -TestParticle -1.3065419938771187791 0.062752012732249048965 8.378519051225520542 -254.48399542766591708 227.28662992761130113 215.88914339840525258 -TestParticle -1.2803200151108913296 0.39024438031771679913 26.21206496548343523 -86.2004800657045962 86.508225331489853716 295.03587464294588472 -TestParticle -1.9599644739977994945 0.18082768987187250453 26.76260832548297941 -347.08076935823510212 187.06487585242066984 78.43547038210139988 -TestParticle -1.5504457817332411018 0.058138854268877486475 8.311304083318722391 -250.45953202370188251 51.58641776614162211 321.91182873943205323 -TestParticle -1.4030770961210228265 0.2255632436620616521 8.257376872662526068 -110.66653646497886143 331.8743125077128866 326.8827542847423615 -TestParticle -1.3330653778054313285 0.23576894818100968543 16.555280374134500931 -201.04570271621727784 304.9737571038722308 129.38177632189641031 -TestParticle -1.4676189305416613706 0.15334509742223720319 29.730324421851861416 -93.28877448580836074 98.24809064509591394 318.26221325804715434 -TestParticle -1.4959613849179316247 0.26490707510895572518 8.435591899110246317 -121.44478123997235741 352.46125426578402084 269.21443204906552182 -TestParticle -1.2410245922213516412 0.16484650483123386433 29.036807003172221187 -234.59702065989810649 212.29149699166657683 309.02229933747048563 -TestParticle -1.2104445735427551423 0.27493160452164350227 31.472614096909531156 -172.8652728002631136 303.96742459461654562 8.009940254088059319 -TestParticle -1.8791733750261010449 0.2587599416761243165 30.401845910812088647 -330.1151954343364423 190.20401433347646503 104.67843668270934643 -TestParticle -1.3013630074517779089 0.22413535954031660324 32.01650674239483152 -63.549710245898353378 35.89931403059021875 158.56811223007159128 -TestParticle -1.9547724398089645348 0.0786294356900830993 10.0598953139010802715 -69.4839845505388638 123.32244013516246639 31.421777442531322322 -TestParticle -1.6120256585797529958 0.19985700875898035345 13.999189942348966298 -78.857222386685961624 349.6556927780835622 58.475688092723309808 -TestParticle -1.7578912848822172421 0.27207852440462437782 21.16570903311817986 -204.48739950618715966 68.64871257741852162 227.95088374477833781 -TestParticle -1.8170356771723037426 0.24230078833019122464 19.368483713748780417 -184.73419610737784069 272.32723488431577152 126.891658495766833425 -TestParticle -1.8561231261283124283 0.19157748016708203709 1.1886704509024781373 -254.2676067727032887 317.6217024209003057 224.34445674903426493 -TestParticle -1.9710622679246994071 0.14623926742902368381 6.640292860769481109 -190.41063402021279671 187.773358994985756 328.47417804669458974 -TestParticle -1.8390376809348407683 0.39004880820775639227 20.066519467297950996 -211.93199248227401199 289.47815944254944043 137.15839269809171697 -TestParticle -1.6111502808558577637 0.22394676788626455277 20.061937046580968769 -92.54520491825057604 92.01310424807805077 13.375630065565452753 -TestParticle -1.7289359898596003973 0.029780688540387692531 26.014739049810341243 -312.66680607544742543 228.17665637399315415 125.22825394003517374 -TestParticle -1.2705682146072982963 0.029404610289824398284 5.561963728286389852 -84.16555574179947996 331.08838136349748993 315.88331119433712502 -TestParticle -1.8573347647002547145 0.36089888274309028793 33.45261607330014897 -108.58851164869084016 217.00073148209528995 139.41678117547121474 -TestParticle -1.5119662840275136517 0.035019622195022657996 10.463315222301648788 -152.85193304965602579 42.895445465204801394 38.742869188454783114 -TestParticle -1.7622884149632529471 0.03162410217369809179 3.1822974384423297067 -37.26277315140376345 107.89474442992022318 186.6015285726906825 -TestParticle -1.3516643515537363207 0.00042846679844568138443 14.013484979190140578 -216.76556913128737847 329.5425274371341402 157.99664633404185565 -TestParticle -1.3725976866577220825 0.30646538230027742244 11.329739671767651288 -198.97848141965863533 44.651190190469009167 28.049566579775078168 -TestParticle -1.4591070353626824918 0.08119659950059535114 34.28551752565069677 -306.99758279574081143 104.56005980026995417 24.491183217056139654 -TestParticle -1.6809883631745992094 0.12405907090243922797 23.088918298866115464 -81.89324756024211638 45.486408290411304733 5.9086829848113620045 -TestParticle -1.3535618238311779571 0.11072994226846155641 6.1365791065780417313 -96.5917090856876257 125.77992141224173395 180.26956152431557712 -TestParticle -1.5024996182012646528 0.2601294541852439135 20.11839589454453403 -270.4000045350792334 353.011762488246859 34.641037025004784766 -TestParticle -1.5996488376502526751 0.37889391086596613256 18.528995245881297649 -215.86591794372824893 196.33677334782890966 20.482598606365485239 -TestParticle -1.7931356901400370418 0.025945290910749509855 26.661454696830183764 -188.02499061598265939 217.74613305793528184 352.64512058062791766 -TestParticle -1.6808120166727305023 0.26627765088552390882 4.4798421923713638293 -12.471177251742290082 9.432555892002669751 336.72507040011447543 -TestParticle -1.6313081817828176678 0.0086570580622717507174 3.9083339029362873518 -54.248103250365730332 318.7038881970888724 331.85368591582181352 -TestParticle -1.2884450142579531029 0.1681046156164187344 35.34871223758726444 -240.5583121923978922 135.24748641897326706 301.64571007267852565 -TestParticle -1.9196539088974737819 0.055293464951134657648 39.174420254686374676 -13.003093109260595028 224.19261478871260351 272.9340647583842383 -TestParticle -1.3704960962475472019 0.11179773250371188853 23.81208520955706831 -261.70166394043076252 10.650163480395606896 96.095112534597603826 -TestParticle -1.9516781167723931123 0.20402034023295062548 32.535249468476067136 -340.51354688545097815 329.0040653030519593 109.98356406041511946 -TestParticle -1.8140222569343318337 0.12613518245266175377 1.4950171510413001741 -234.61793333937521311 320.05130111528796988 172.88154495883503614 -TestParticle -1.8102010682471065817 0.14811926068150899072 0.47152065059882453113 -231.56413706767099825 205.2503541540525589 214.7508917825621495 -TestParticle -1.3323729215149744398 0.19959213905409678436 1.3073421511548932727 -151.66443112411295147 341.31892085633529632 144.25232896171203834 -TestParticle -1.2204541150545651362 0.068668187712776870835 4.014281498324958619 -174.08147891950491726 47.939506002741296697 254.99017431971773817 -TestParticle -1.2181192459350491664 0.025059093817326606735 7.204862413525972009 -48.60770716273837877 329.11947000106135874 217.6643233891191187 -TestParticle -1.6039675062130638317 0.35797604454305875787 16.056969103103426733 -87.92417372221831329 49.76521958624503128 164.99398402032807098 -TestParticle -1.8725342069546249135 0.106279250804296898636 0.45718402173144045975 -119.596726134790174 107.86697924451233632 232.81352842822093407 -TestParticle -1.7853111973976689697 0.12193477571081268174 3.680789884957089697 -205.60326749430927862 40.207082764860338386 289.2290546833312419 -TestParticle -1.417950447978111761 0.24357413812980258094 1.910476157584461987 -252.61262373556786542 355.48333419302929315 151.32407206005677835 -TestParticle -1.2280461512973894767 0.15278421763439650749 26.714312283832946093 -142.72673485719965925 232.69712275301176874 346.3375478502677538 -TestParticle -1.61151127031616892 0.3744225370958842447 36.56793088861800811 -328.09520081336302155 25.920977978027824662 288.72452391776596414 -TestParticle -1.2239475600090146123 0.24714055634484358159 30.304522847333871027 -52.68180217169934565 356.99734588216864495 56.617981510557434888 -TestParticle -1.2496667763539286433 0.29747468986797759305 21.37154433932160913 -209.20331717962355356 22.663460638340339415 243.0475686976612053 -TestParticle -1.3767605238800932899 0.16005520292207792155 6.1854407103408437507 -301.0924331535983356 324.9040368073589775 194.17256664039328484 -TestParticle -1.2487797979186712194 0.16488755850697139893 27.605925256805747381 -173.22312758245544728 239.01695963206066153 175.97057379774636843 -TestParticle -1.2254722592225348876 0.36803675574552041638 17.169692704564543106 -198.47031096951334916 278.36167082537872375 125.492714298233096315 -TestParticle -1.6464965033862297705 0.1517233377674910566 13.532163365202411143 -147.08019388518567894 177.40254091222027455 340.04568453953692142 -TestParticle -1.2241673144222895431 0.1378443050280294957 35.034429639418924296 -279.5154571951889011 236.88366494050367805 224.20218590463449004 -TestParticle -1.7054405098540872388 0.3610118405579151868 11.466405393735001894 -354.5918155292421261 347.1596768668937898 219.93975816420154956 -TestParticle -1.7400094098497860262 0.11768201787113397039 3.0207223829180174235 -344.79550555000747636 295.17286383856117027 107.65817940211057646 -TestParticle -1.4518563888365596526 0.034369934761878086216 5.703231914559241389 -123.995036213356954136 112.321809800044363215 96.308678475290903975 -TestParticle -1.2222379634093671896 0.14278765376770935491 35.361595327244465636 -315.14729198154049072 321.37175810105372875 262.59992588280709924 -TestParticle -1.2388409450815878188 0.29191544705043231955 14.574148472908646568 -354.52890314367516567 301.2116870378684439 101.6607227628783221 -TestParticle -1.2004854536116522645 0.31759418786438237126 35.64893550976294989 -150.1713542262849046 263.81583006909363576 352.70617164487305217 -TestParticle -1.9942890442362894987 0.19536136516905414084 35.02451517807598691 -125.959361711604387324 266.3424034858336995 225.8398826035477498 -TestParticle -1.5915447637460526931 0.0895260552791858899 24.02901618574255238 -322.40268348510250007 115.71588659763698104 232.13880147735969217 -TestParticle -1.8790673483459361393 0.17433764017862168894 13.878215826572342095 -302.39495868122469346 259.03939837677381774 176.29569985086394013 -TestParticle -1.9699962554990502195 0.38438649317544010264 36.886012906803621547 -71.57770428256088735 76.46325818263683516 152.99488881347215852 -TestParticle -1.9815372834826587845 0.17262153411198999375 2.83353778898145503 -239.37167896200179484 354.1664112035709877 298.12866718881934958 -TestParticle -1.8155595191765212526 0.00946228278143057544 38.64106328673518931 -83.00268912398927057 67.39652732514183242 195.80213873516331091 -TestParticle -1.8868581896910789908 0.10440835820682173307 15.007174114646065988 -3.363490125056509683 163.21113577536885941 277.4874262071848534 -TestParticle -1.5619200947925855338 0.0059432103700412857936 28.417160713316764742 -199.61588156187738718 146.61610611302111806 239.63331133984317489 -TestParticle -1.5212478213877396183 0.39927753429172280208 20.482036387314252579 -328.51885419136107203 7.1256709736876455707 220.89114467811927511 -TestParticle -1.8571870020289564795 0.091291230530104086616 5.8118062401183578913 -90.75198382995706936 192.24228564818409382 97.133874093047666065 -TestParticle -1.9171289936627273764 0.15261088480197210204 38.10675746822411014 -307.07749448841616413 355.13520879558041088 42.711583491490678455 -TestParticle -1.7364144307839262105 0.212129283201967056 18.744823342299753222 -23.928680492317099038 37.437700592246308418 64.10777424122947821 -TestParticle -1.615801582218067356 0.15507189040762445198 5.289237911360147315 -2.9760090649453463385 170.77756092233224194 126.74171547116436898 -TestParticle -1.3071905708698117188 0.34127930871062794882 17.996264880013068677 -181.87012353589301483 211.32152679731703415 284.19737442691894103 -TestParticle -1.2265401930807908748 0.25798059801133454982 34.025699672304931198 -87.484085061199664324 233.26336671618474838 310.39211945198593412 -TestParticle -1.2051260378681512009 0.3069049294618042545 37.351493484362229935 -114.521127203859620636 225.6531083956228656 323.1220799515929798 -TestParticle -1.8334732437656884318 0.37979115889431414033 14.226342594064389502 -331.7883640504541063 109.06927231695421199 144.65450510058425948 -TestParticle -1.757300956926634683 0.03414936250768385584 23.912004140762192606 -322.3724083824729405 134.91275424426311247 171.32647169967813738 -TestParticle -1.8972253261023601656 0.35656552318718498507 28.47629514891832514 -321.29937216619140372 70.71608626545858556 213.57910706058532924 -TestParticle -1.9917616839747163127 0.32376104104249381344 8.91181936527569718 -200.88415597368361887 23.513470382909822831 100.72835347725671795 -TestParticle -1.6165777777920147251 0.32043762073249004718 16.726392824188689445 -319.72153811597894446 76.78830327849077264 138.42254101919101572 -TestParticle -1.8908331674281746437 0.045197492899151252288 1.3383682043347544521 -312.10875470237436957 307.494732749847401 43.074246036675127414 -TestParticle -1.2145287335503922588 0.18257617394552527745 31.629727041908243024 -3.7714421582542145828 327.9557064611080932 329.9790680610109348 -TestParticle -1.8625485962061800738 0.24850308301344462003 2.0061095060140976543 -276.90239618431269264 350.88215248164351578 348.2932770314767481 -TestParticle -1.7953658240966166026 0.23860504712104810277 30.564301023692120651 -268.6736542028508552 254.54176920249031468 269.62615941325310587 -TestParticle -1.8519636256102920413 0.13630536382454808142 25.429742406638986552 -78.06201903944463538 183.89412111638756642 25.670444097748280399 -TestParticle -1.9912586036233026476 0.0062934836627138949355 3.9866901191125192483 -353.92558378078365422 121.86076402069599567 272.13181013382109086 -TestParticle -1.2352461280314077641 0.13108872108404742707 2.4473753819670784893 -223.0667681463768588 134.42147854096177184 161.85468044136672461 -TestParticle -1.3431819133091436047 0.28681705477285673878 22.82513974594832007 -232.7183120134940566 120.199688171678360504 89.77367022064561297 -TestParticle -1.8403545873570172908 0.24879279733973019839 4.0287923881425502515 -15.018525270146003692 85.179302481017629134 62.783331763645470858 -TestParticle -1.381867054141263651 0.041622600218831219687 20.582798332241445394 -16.94221565894110526 117.67293863884100347 301.82514806956680786 -TestParticle -1.8641683600359446604 0.24640721081737218534 5.9107924107914655565 -193.20103651885807494 44.2323469313580091 26.743437036080784708 -TestParticle -1.966054790276180464 0.2690464178872462031 14.878455955491389773 -190.60763663869553852 31.588470897177995056 100.366806653161106055 -TestParticle -1.6058040413293108717 0.29951736276665757996 32.261171438174280013 -128.57574732488706104 32.785220122308132318 5.815690987139072732 -TestParticle -1.6218958057245982385 0.20051601410731448305 35.228407716619500434 -275.05072744657877593 300.36353903970075407 137.58872709072204543 -TestParticle -1.9766063717976680714 0.39029116187457174592 35.936563690886423217 -276.4677919812604614 334.4193480382128314 74.17428380404710708 -TestParticle -1.4924898153539933876 0.12959279079593266637 39.497773315041648345 -306.13052013355064673 297.98869981653200512 134.11781736074624405 -TestParticle -1.8353633188339963933 0.019510947086492525654 35.474352018859882207 -260.37806171878622763 151.50200809864463736 309.73656114784841975 -TestParticle -1.6024488136145134121 0.027272421536337843745 28.531535673798313013 -11.154644928392061232 313.60248630627489774 220.0912732804740699 -TestParticle -1.4120513432815475774 0.29969768596351453738 17.02938110092897972 -269.20328072337844105 42.08893931076963213 126.58679602124011865 -TestParticle -1.7381168022087705172 0.29181610891675680008 0.578376627518526476 -102.38820556898792802 176.55332025897169501 164.93491360823296077 -TestParticle -1.651697945678905155 0.10215579780054198644 29.466376982324295142 -118.66030632495935038 355.77634853151920424 138.86820482744579408 -TestParticle -1.8964095997568284346 0.14855799694311630499 39.315092089557069244 -66.7203702634703717 109.12901978076088483 150.07738642659984407 -TestParticle -1.5884778821144036609 0.34804404474317385265 8.230716828452404599 -238.65003666711348274 19.561503330036060788 172.3300970659766449 -TestParticle -1.4852533118509871901 0.14921150930008680868 19.72836045372870828 -214.04378603222667721 162.09311096493223658 74.70412564882457218 -TestParticle -1.3995786109265431207 0.2170751900351963748 5.6353499706781517986 -136.77890520256397622 41.74190372493747958 352.76491235469808316 -TestParticle -1.9228837399064100389 0.20666458127164555325 31.918474396874408683 -25.57157805855647581 146.61033704579944015 124.85803020390667939 -TestParticle -1.5491200767868975596 0.37703244317878858993 5.088593545490081027 -38.820500192778638393 121.37946795513649079 24.303500272632902579 -TestParticle -1.6942853977776144436 0.090260172320617615416 25.30769952267446854 -161.30886094388631591 116.98046667590497805 38.286029141363265182 -TestParticle -1.6090251866675413517 0.330322662148613444 9.770748848728519675 -263.0814719840412863 130.26024091675910199 286.9327501208536546 -TestParticle -1.9761336997553433648 0.2926123710566602143 11.274914096097191418 -332.1701813530870595 307.94382558508260672 353.807211256272808 -TestParticle -1.9968906969927759931 0.3233230682542853618 26.00314542561351061 -79.80693890771757992 308.2283099476609891 243.34005704939397674 -TestParticle -1.8031947344086236562 0.14995127116151910074 1.730342239053141995 -348.6351290160268377 154.3487630625562872 28.463371915640660603 -TestParticle -1.8395166633814701296 0.3354540599588180516 22.093131712634573205 -86.610640388957989444 239.4548535151652402 312.24619268529380633 -TestParticle -1.3629305527230259898 0.2099232743767838194 30.216497531918712127 -102.43196923936434928 291.32106047341460453 2.1370626980559981334 -TestParticle -1.7455726368986721475 0.026854653926422458743 3.5759919284920771432 -354.23018906949636175 218.20031690429203763 328.7114242710409826 -TestParticle -1.8154807930100198554 0.38785895954054117052 30.190244155261783732 -84.158791911543673336 145.33493614486761203 216.44848876198116727 -TestParticle -1.6499702946012431148 0.38233820338992924315 13.614607279413908358 -33.87451574095803153 90.770300669062208954 180.38849672518907141 -TestParticle -1.607515534627930176 0.059816004314718410062 35.188867073591850954 -58.61309722228839547 253.79649442362003242 91.30583916434224534 -TestParticle -1.9899983350379286673 0.30667218968608733753 39.83983478820580615 -209.92012615445401025 242.81573248914770602 7.221381167673248669 -TestParticle -1.5778501251334575706 0.11118331397677137795 37.590979480700937643 -345.16243909883007746 9.645072368649788785 50.426633047687808187 -TestParticle -1.8837383001263663385 0.20673789324487820696 21.972954461156501083 -78.99100998693006659 24.805859834858065227 136.69965104577451598 -TestParticle -1.8299552552499931402 0.18024309648678646378 33.71418287836082328 -287.1584786318022111 76.47733005592756683 216.63675723929046057 -TestParticle -1.8307526657330810416 0.27679256938591745296 14.42019596286409211 -147.28115682985833246 236.20842913390856666 70.36203841533576053 -TestParticle -1.7619978997528076281 0.014257923627121950327 18.454020582426768016 -275.7628626446463045 152.24331061485040095 103.04339508992384822 -TestParticle -1.2611641121223651218 0.2092199031608525106 17.779518579686019564 -102.7504319389703511 6.548313747168017507 140.31125376249352144 -TestParticle -1.7663975820756958601 0.25859601590736014387 19.29766354922654159 -228.43411110252168328 129.52408847472079856 44.31277736443019677 -TestParticle -1.3455298896696588073 0.051640741433284009787 36.190409530870716992 -63.492703118667094486 178.32472671129730202 219.22272979662204762 -TestParticle -1.8502619397752217978 0.016055258128672856427 24.72292322260771158 -280.24156788062276746 1.0103622910431475646 89.91460784296667441 -TestParticle -1.7394822607661057923 0.13625236700994178274 8.773342269773106494 -131.40116141700701746 79.224373058834927974 282.8109557650995498 -TestParticle -1.6325195629104731765 0.16262358056449152666 8.946438635142083484 -196.95655091099223455 13.582007343579313385 258.10561033792743046 -TestParticle -1.7657479077259037314 0.21823895457628741945 26.194016006374575056 -307.4759621278849977 98.40357006941655982 64.08127327032266862 -TestParticle -1.3184659717472237972 0.20902078438144011674 11.194180638539418027 -209.8144125213535176 233.63319375255508703 171.85375675646986338 -TestParticle -1.6265974791221389228 0.3412246124964996019 31.920108006714791316 -47.471005836654683208 293.97130420183299293 294.00277926085681202 -TestParticle -1.544562457381803755 0.26456236803106419897 16.966290843319804083 -53.617851002077699718 23.906897211735604003 172.46215455198040445 -TestParticle -1.8302658298265410686 0.016558573352333152279 23.88277176507106958 -160.31985284355113208 24.957240748542652398 126.6630513998358083 -TestParticle -1.6333356556090419254 0.25338625439533907224 11.051395862722980468 -182.26698944663951352 1.9926145156870767039 206.81766326774084064 -TestParticle -1.2674061997735568408 0.09083958911004344494 16.414033820600888447 -209.7777498397578313 350.73333597951523188 247.44407246182404947 -TestParticle -1.400118114272113079 0.16683948053104513676 27.357400210939808005 -107.57418681944162131 96.46599300991492498 351.137614793950263 -TestParticle -1.542911801971112773 0.22704910395233757203 35.542775761322914718 -183.89056710921508397 326.93869125935344755 108.004775809479497184 -TestParticle -1.8076126800363871983 0.3514591336111956288 31.06364189291468847 -32.09942049648420692 328.34181095498098557 23.785841162187210784 -TestParticle -1.7657364621109161718 0.22171357606490707526 37.37986273837123008 -76.229451450918475075 186.15095789038804241 272.82850857627113328 -TestParticle -1.5339591135633763308 0.14194102156165430695 16.888317976342129612 -130.44976850069960506 252.36020783978619875 120.456187175611859175 -TestParticle -1.9547780848567972711 0.20899592311387996113 28.868044731219395516 -228.48529363010104021 342.5481929867736426 287.9707078087696459 -TestParticle -1.2418423098941544502 0.2626072565929837288 2.1074243271891202056 -38.080338719023941962 119.27817821310316049 12.056891938029119515 -TestParticle -1.2210546528534078625 0.3775561742151631872 22.111051712315155982 -338.55211294801040367 12.980519500186410653 332.2853401701941607 -TestParticle -1.5963937431999124517 0.23239324239635986147 13.194381854516867847 -58.007673822576016676 88.15306827351753327 155.81366075873469867 -TestParticle -1.5786275082915319778 0.025562551186680871479 4.998454237047265103 -250.39244849302215812 165.61747690949906087 149.37807874408460407 -TestParticle -1.6098684422151645634 0.21941479472017652586 38.283886043658093 -237.71100658433758213 47.01387761056833625 340.9146849041053997 -TestParticle -1.294274143429140933 0.3692138815235402327 37.966030890732696434 -203.45477640609851733 296.29180039237496658 44.323085276308532343 -TestParticle -1.5889819356899443914 0.084869830381732264124 1.0823445911213003257 -301.3291216497269147 146.81272157061789585 2.2993592847625343722 -TestParticle -1.495972566018333838 0.2617122471497527747 13.094048981160977263 -112.72021003020111607 127.77611875010921949 296.87288781423353612 -TestParticle -1.9818950278621338956 0.30723187525460954328 2.2340086246482782073 -253.14761844363803789 165.37409022827591798 191.3408807414710111 -TestParticle -1.7869956116636900312 0.045787597413756889186 8.90426427671208387 -227.8168631112827427 149.58799389390406986 24.858909708161100127 -TestParticle -1.9448897771198014883 0.05694944930378804948 36.311102677736613487 -84.3756745725393813 14.735521995724774058 314.16923571788140634 -TestParticle -1.5778886440600849994 0.054612245238724765883 16.72994958727242576 -293.0541083071825028 260.48271034952341552 308.15802194547808313 -TestParticle -1.3022587146281570103 0.26839233124203137892 18.02838057643581493 -293.20763835009915965 312.4703557364094877 106.58503108046902241 -TestParticle -1.8428500612922003032 0.23594727253001890332 11.315478566151577766 -9.262284156503813648 11.174441070760416039 331.91331034768620611 -TestParticle -1.2400313949450130213 0.37422492957960290516 16.60903446615966672 -240.33042266148279964 153.97322107823731585 191.41559045744850209 -TestParticle -1.9829274684920319416 0.3634611481375451536 25.819601695264427832 -140.99742244780588862 341.49734482956387183 8.731842495851447339 -TestParticle -1.9975413987753882772 0.06592938413948253029 39.49276861893206103 -67.714562888696974596 98.14914061512281762 45.19626721853934015 -TestParticle -1.2436383625451867818 0.3204615517738288455 26.461603913930925813 -266.5125426106603186 127.50909218237357834 0.3132830361456928614 -TestParticle -1.4113215699552892346 0.009827894395237192146 37.858626352737367426 -253.23691224458718807 108.52674294880429784 352.47828245113328194 -TestParticle -1.8148473149676069838 0.017705697189401049807 27.03434752366788274 -244.97100671505916125 96.848173936006702434 232.97923224763914618 -TestParticle -1.8212512693609279602 0.27211932176121911287 4.7578666520375545446 -347.57353058021692505 254.19838041200335965 6.6604121361125034895 -TestParticle -1.6430443076417013959 0.042365150738876616865 28.313700526240026534 -178.6338948507659552 287.94750707892865194 146.775946581025039 -TestParticle -1.2047662238103988841 0.23251833898522478172 17.70944339203029827 -282.07165060128687628 43.193800331112015556 189.58232124886598058 -TestParticle -1.2467705317577537638 0.29356902400030004952 2.8706191725519047964 -242.4004033144470327 28.806681869090574821 296.21360336099968436 -TestParticle -1.3162696178512978129 0.30749173225083181737 9.346008763094072691 -322.38053647407821245 112.34526406313270286 132.09084683753127365 -TestParticle -1.2971409174950825349 0.3376994788613812415 24.652899562822732094 -299.7803539105363484 271.40817959188655095 266.8572235615602608 -TestParticle -1.7684747977650516759 0.02661749740193952718 10.096507324045376208 -3.7221406213358587678 125.36494422546940086 238.11022628505401144 -TestParticle -1.8562458518793771844 0.077017667000931988586 8.7143363020037831745 -136.69548804548151111 320.94977656886021578 128.10172157330882214 -TestParticle -1.5044816034257817439 0.21762930629061374987 27.505997823490588416 -123.58136898241176027 187.9229325893226985 113.043904522795230605 -TestParticle -1.7868133877825629341 0.008087932404090647162 23.413784625415864582 -218.89711766597091014 88.56442540385896223 208.43834176513581724 -TestParticle -1.9402143213090712326 0.14949494785208861103 26.511808095563488052 -107.604663311176523166 130.69889435502176411 346.87469017336604793 -TestParticle -1.5966683044291980487 0.087101617604941061757 35.919427778579809285 -212.8714684966646189 289.47277777746671745 150.30140968266374557 -TestParticle -1.5311077130660335488 0.006686025386596972271 2.6738949911861054076 -164.51009812173990099 316.04513748492058767 258.44750388729431734 -TestParticle -1.327174430660648996 0.16386649979480424899 29.516591637239059764 -42.47034129892313814 297.69030488053482486 179.48650722792217493 -TestParticle -1.3309285665414212207 0.31056216374123679635 33.20416058697580297 -182.12327311281021025 179.4712707903883313 47.404071121072391293 -TestParticle -1.2695626979113197041 0.028739588397623319627 34.7510196296938787 -156.66911337647667324 15.489917584647256987 137.9360720619328049 -TestParticle -1.961564416777008768 0.38198101311209609054 20.407128195470789933 -116.450533784431996764 317.3401517067230202 183.14633665136960872 -TestParticle -1.5940513845582582331 0.25613384894831064953 29.533539385317940429 -118.85654306899444066 250.92868906503659332 22.448371873007765487 -TestParticle -1.8442908242187292522 0.19455300058304564326 38.64468812151265098 -327.51192512776293597 261.15575066638751878 220.98151223015130995 -TestParticle -1.9551136736888132805 0.05881060116092867024 0.025983316883650964257 -229.51441899139550173 217.59860795663826138 108.775137355673251705 -TestParticle -1.3586578999851930405 0.34983150673028151623 31.522812174550345787 -105.68138198042714748 123.58623362447058014 40.330126317320825535 -TestParticle -1.902888826244875764 0.13683561730200419215 16.275257623666469442 -105.98161437435868493 148.2954616585051042 301.45848496238744474 -TestParticle -1.4388714351119729074 0.12902603848379340379 21.287394563627660915 -197.02123109899764586 352.44807359808243064 351.33034912544712824 -TestParticle -1.6931112006676685144 0.013916379702603532201 0.7871365555378062595 -188.64764325380838272 181.38199447667832942 29.813972851285797105 -TestParticle -1.6449616174898105125 0.0310490777007133463 9.657476944838542465 -333.95122687579464582 342.1511167418379955 160.69927097810261785 -TestParticle -1.432310913839848876 0.006987746683723328363 32.61241995358341228 -207.28809337462874396 169.31652720575732474 255.68956575096319739 -TestParticle -1.7327468488118134005 0.03857017036911090241 17.468015575192744393 -143.82903277012908916 99.60548209763706495 166.68173997089294858 -TestParticle -1.5512315858530165702 0.17035757433763087931 28.229428870918749084 -211.42236583345217582 136.37631347760083145 126.78807511085641124 -TestParticle -1.5128716646861577466 0.25892751799964647264 10.396770119409808331 -251.02700694813202631 225.21225462676682127 190.02303419914397864 -TestParticle -1.3509296764855895923 0.19460583033279599263 25.473407765343523579 -153.07999025709941066 160.34541100643662048 39.661129674485906094 -TestParticle -1.6995982689149604639 0.3683946534553529384 13.407331577384432819 -340.26004127001408506 272.0620153240722061 254.6289696923701058 -TestParticle -1.4262589721598459835 0.39380044551624404647 22.273999686412832233 -126.6676609334621304 343.6417878124360641 356.69746962842407356 -TestParticle -1.3261721625529891977 0.39678878113200655164 4.2056417606931040254 -238.10434769519417841 155.06469638647084253 44.875703119243368633 -TestParticle -1.9576977154420573957 0.26084185228864192885 4.55948470669549355 -190.48438127706978662 33.209683105017965943 111.270270586090106235 -TestParticle -1.8552016088932457016 0.13548857795579999364 39.778098090381654117 -36.82048012699509343 277.63542496441021967 284.2017295471840157 -TestParticle -1.6904488396185337606 0.10545628795963413182 32.08178306599211993 -75.246216623590498784 230.69409080017558722 202.52540071832260082 -TestParticle -1.8262524413841534354 0.33415074562628183097 12.176323543258451565 -135.12569593248673527 273.69848190668875532 306.5447498396289916 From 64c61fa1421100e1852ee078e2b4a222dcda9f66 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 11:06:33 -0500 Subject: [PATCH 09/20] deleted notebook --- examples/whm_gr_test/whm_gr_test.ipynb | 158 ------------------------- 1 file changed, 158 deletions(-) delete mode 100644 examples/whm_gr_test/whm_gr_test.ipynb diff --git a/examples/whm_gr_test/whm_gr_test.ipynb b/examples/whm_gr_test/whm_gr_test.ipynb deleted file mode 100644 index a3dac65b2..000000000 --- a/examples/whm_gr_test/whm_gr_test.ipynb +++ /dev/null @@ -1,158 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import swiftest\n", - "from astroquery.jplhorizons import Horizons\n", - "import datetime\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_gr = swiftest.Simulation(simdir=\"gr\")\n", - "sim_gr.add_solar_system_body([\"Sun\",\"Mercury\",\"Venus\",\"Earth\",\"Mars\",\"Jupiter\",\"Saturn\",\"Uranus\",\"Neptune\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_nogr = swiftest.Simulation(simdir=\"nogr\")\n", - "sim_nogr.add_solar_system_body([\"Sun\",\"Mercury\",\"Venus\",\"Earth\",\"Mars\",\"Jupiter\",\"Saturn\",\"Uranus\",\"Neptune\"])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "run_args = {\"tstop\":1000.0, \"dt\":0.005, \"tstep_out\":10.0, \"dump_cadence\": 0,\"integrator\":\"whm\"}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_gr.run(**run_args,general_relativity=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "sim_nogr.run(**run_args,general_relativity=False)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Get the start and end date of the simulation so we can compare with the real solar system\n", - "start_date = sim_gr.ephemeris_date\n", - "tstop_d = sim_gr.param['TSTOP'] * sim_gr.param['TU2S'] / swiftest.JD2S\n", - "\n", - "stop_date = (datetime.datetime.fromisoformat(start_date) + datetime.timedelta(days=tstop_d)).isoformat()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#Get the ephemerides of Mercury for the same timeframe as the simulation\n", - "obj = Horizons(id='1', location='@sun',\n", - " epochs={'start':start_date, 'stop':stop_date,\n", - " 'step':'10y'})\n", - "el = obj.elements()\n", - "t = (el['datetime_jd']-el['datetime_jd'][0]) / 365.25\n", - "varpi_obs = el['w'] + el['Omega']" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "varpisim_gr= sim_gr.data['varpi'].sel(name=\"Mercury\")\n", - "varpisim_nogr= sim_nogr.data['varpi'].sel(name=\"Mercury\")\n", - "tsim = sim_gr.data['time']" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dvarpi_gr = np.diff(varpisim_gr) * 3600 * 100 / run_args['tstep_out']\n", - "dvarpi_nogr = np.diff(varpisim_nogr) * 3600 * 100 / run_args['tstep_out']\n", - "dvarpi_obs = np.diff(varpi_obs) / np.diff(t) * 3600 * 100" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "fig, ax = plt.subplots()\n", - "\n", - "ax.plot(t, varpi_obs, label=\"JPL Horizons\",linewidth=2.5)\n", - "ax.plot(tsim, varpisim_gr, label=\"Swiftest WHM GR\",linewidth=1.5)\n", - "ax.plot(tsim, varpisim_nogr, label=\"Swiftest WHM No GR\",linewidth=1.5)\n", - "ax.set_xlabel('Time (y)')\n", - "ax.set_ylabel('Mercury $\\\\varpi$ (deg)')\n", - "ax.legend()\n", - "plt.savefig(\"whm_gr_mercury_precession.png\",dpi=300)\n", - "print('Mean precession rate for Mercury long. peri. (arcsec/100 y)')\n", - "print(f'JPL Horizons : {np.mean(dvarpi_obs)}')\n", - "print(f'Swiftest No GR : {np.mean(dvarpi_nogr)}')\n", - "print(f'Swiftest GR : {np.mean(dvarpi_gr)}')\n", - "print(f'Obs - Swiftest GR : {np.mean(dvarpi_obs - dvarpi_gr)}')\n", - "print(f'Obs - Swiftest No GR : {np.mean(dvarpi_obs - dvarpi_nogr)}')" - ] - } - ], - "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 -} From 8af097644eb034696d1ec128372a3062339e18b7 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 11:31:01 -0500 Subject: [PATCH 10/20] updated fragmentation script to new syntax --- .../Fragmentation/swiftest_fragmentation.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/Fragmentation/swiftest_fragmentation.py b/examples/Fragmentation/swiftest_fragmentation.py index 241391104..9557c144f 100644 --- a/examples/Fragmentation/swiftest_fragmentation.py +++ b/examples/Fragmentation/swiftest_fragmentation.py @@ -19,23 +19,23 @@ import numpy as np from numpy.random import default_rng -sim_disruption = swiftest.Simulation(param_file="param.disruption.in", output_file_name="disruption.nc", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_disruption = swiftest.Simulation(simdir="disruption", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") sim_disruption.add_solar_system_body(["Sun"]) -sim_disruption.add_body(name="Target", v1=1.0, v2=-1.807993e-05, v3=0.0, v4=-2.562596e-04, v5=6.280005, v6=0.0, idvals=1, Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=0.0) -sim_disruption.add_body(name="Projectile", v1=1.0, v2=1.807993e-05, v3=0.0, v4=-2.562596e-04, v5=-6.280005, v6=0.0, idvals=2, Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=0.0) +sim_disruption.add_body(name="Target", rh=[[1.0, -1.807993e-05, 0.0]], vh=[[-2.562596e-04, 6.280005, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 0.0]]) +sim_disruption.add_body(name="Projectile", rh=[[1.0, 1.807993e-05, 0.0]], vh=[[-2.562596e-04, -6.280005, 0.0]], Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 0.0]]) sim_disruption.get_parameter() sim_disruption.run() -sim_hitandrun = swiftest.Simulation(param_file="param.hitandrun.in", output_file_name="hitandrun.nc", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_hitandrun = swiftest.Simulation(simdir="hitandrun", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") sim_hitandrun.add_solar_system_body(["Sun"]) -sim_hitandrun.add_body(name="Target", v1=1.0, v2=-4.2e-05, v3=0.0, v4=0.0, v5=6.28, v6=0.0, idvals=1, Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=6.0e4) -sim_hitandrun.add_body(name="Projectile", v1=1.0, v2=4.2e-05, v3=0.0, v4=-1.5, v5=-6.28, v6=0.0, idvals=2, Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=1.0e5) +sim_hitandrun.add_body(name="Target", rh=[[1.0, -4.2e-05, 0.0]], vh=[[0.0, 6.28, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 6.0e4]]) +sim_hitandrun.add_body(name="Projectile", rh=[[1.0, 4.2e-05, 0.0]], vh=[[-1.5, -6.28, 0.0]], Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 1.0e5]]) sim_hitandrun.get_parameter() sim_hitandrun.run() -sim_supercat = swiftest.Simulation(param_file="param.supercat.in", output_file_name="supercat.nc", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_supercat = swiftest.Simulation(simdir="supercat", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") sim_supercat.add_solar_system_body(["Sun"]) -sim_supercat.add_body(name="Target", v1=1.0, v2=-4.2e-05, v3=0.0, v4=0.0, v5=6.28, v6=0.0, idvals=1, Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=-6.0e4) -sim_supercat.add_body(name="Projectile", v1=1.0, v2=4.2e-05, v3=0.0, v4=1.0, v5=-6.28, v6=0.0, idvals=2, Gmass=1e-8, radius=3.25e-6, rhill=4e-4, Ip1=0.4, Ip2=0.4, Ip3=0.4, rotx=0.0, roty=0.0, rotz=1.0e5) +sim_supercat.add_body(name="Target", rh=[[1.0, -4.2e-05, 0.0]], vh=[[0.0, 6.28, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, -6.0e4]]) +sim_supercat.add_body(name="Projectile", rh=[[1.0, 4.2e-05, 0.0]], vh=[[1.0, -6.28, 0.0]], Gmass=1e-8, radius=3.25e-6, rhill=4e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 1.0e5]]) sim_supercat.get_parameter() sim_supercat.run() From 54f68790db91da713f515f90206343c0e5dec611 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 13:08:42 -0500 Subject: [PATCH 11/20] updated headers of python scripts --- .../Basic_Simulation/initial_conditions.py | 25 ++++++++++++++----- examples/Basic_Simulation/output_reader.py | 13 +++++----- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/examples/Basic_Simulation/initial_conditions.py b/examples/Basic_Simulation/initial_conditions.py index 7e0218a03..33ee65110 100644 --- a/examples/Basic_Simulation/initial_conditions.py +++ b/examples/Basic_Simulation/initial_conditions.py @@ -11,18 +11,31 @@ #!/usr/bin/env python3 """ -Generates a set of Swiftest input files from initial conditions. +Generates and runs a set of Swiftest input files from initial conditions. All simulation outputs are stored in the +/simdata subdirectory. -Returns -------- -Updates sim.data with the simulation data +Input +------ +None + +Output +------ +bin.nc : A NetCDF file containing the simulation output. +dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +dump_param1.nc : A NetCDF file containing the necessary parameters to restart a simulation. +dump_param2.nc : A NetCDF file containing the necessary parameters to restart a simulation. +fraggle.log : An ASCII file containing the information of any collisional events that occured. +init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +param.in : An ASCII file containing the parameters for the simulation. +swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. """ import swiftest import numpy as np from numpy.random import default_rng -# Initialize the simulation object as a variable +# Initialize the simulation object as a variable. Arguments may be defined here or through the sim.run() method. sim = swiftest.Simulation(fragmentation=True, minimum_fragment_mass = 2.5e-11, mtiny=2.5e-8) # Add the modern planets and the Sun using the JPL Horizons Database @@ -62,5 +75,5 @@ # Display the run configuration parameters sim.get_parameter() -# Run the simulation +# Run the simulation. Arguments may be defined here or thorugh the swiftest.Simulation() method. sim.run(tstart=0.0, tstop=1.0e3, dt=0.01, tstep_out=1.0e0, dump_cadence=0) diff --git a/examples/Basic_Simulation/output_reader.py b/examples/Basic_Simulation/output_reader.py index 611e85a36..5d7f496b7 100644 --- a/examples/Basic_Simulation/output_reader.py +++ b/examples/Basic_Simulation/output_reader.py @@ -14,14 +14,13 @@ Reads and processes a Swiftest output file. Input -------- -out.nc : NetCDF file - Swiftest output file. +------ +bin.nc : A NetCDF file containing the simulation output. -Returns -------- -output.eps : Encapsulated PostScript file. - A figure containing the eccentricity vs. semi-major axis for all bodies at the start of the simulation. +Output +------ +output.eps : Encapsulated PostScript file depicting the eccentricity vs. semi-major axis for all bodies at the start + of the simulation. """ import swiftest From 2e6ad63eb05b59abe2ed0250c3c1743e87f54b20 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 13:19:46 -0500 Subject: [PATCH 12/20] updated headers --- examples/Basic_Simulation/initial_conditions.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/Basic_Simulation/initial_conditions.py b/examples/Basic_Simulation/initial_conditions.py index 33ee65110..6ac43c7fd 100644 --- a/examples/Basic_Simulation/initial_conditions.py +++ b/examples/Basic_Simulation/initial_conditions.py @@ -11,8 +11,8 @@ #!/usr/bin/env python3 """ -Generates and runs a set of Swiftest input files from initial conditions. All simulation outputs are stored in the -/simdata subdirectory. +Generates and runs a set of Swiftest input files from initial conditions with the SyMBA integrator. All simulation +outputs are stored in the /simdata subdirectory. Input ------ @@ -23,8 +23,8 @@ bin.nc : A NetCDF file containing the simulation output. dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. -dump_param1.nc : A NetCDF file containing the necessary parameters to restart a simulation. -dump_param2.nc : A NetCDF file containing the necessary parameters to restart a simulation. +dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. fraggle.log : An ASCII file containing the information of any collisional events that occured. init_cond.nc : A NetCDF file containing the initial conditions for the simulation. param.in : An ASCII file containing the parameters for the simulation. From 2eca27f1593ea6392e093f5ea9857e742949117e Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 13:25:41 -0500 Subject: [PATCH 13/20] added a header and some comments to the helio_gr_test example --- examples/helio_gr_test/helio_gr_test.py | 53 ++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/examples/helio_gr_test/helio_gr_test.py b/examples/helio_gr_test/helio_gr_test.py index 0d9339dbe..1b0033ab1 100644 --- a/examples/helio_gr_test/helio_gr_test.py +++ b/examples/helio_gr_test/helio_gr_test.py @@ -1,18 +1,67 @@ -#!/usr/bin/env python +""" + Copyright 2022 - David Minton, Carlisle Wishard, Jennifer Pouplin, Jake Elliott, & Dana Singh + This file is part of Swiftest. + Swiftest is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + Swiftest is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with Swiftest. + If not, see: https://www.gnu.org/licenses. +""" + +#!/usr/bin/env python3 +""" +Generates and runs two sets of Swiftest input files from initial conditions with the helio integrator. All simulation +outputs for the general relativity run are stored in the /gr subdirectory while all simulation outputs for the run +without general reelativity are stored in the /nogr subdirectory. + +Input +------ +None + +Output +------ +helio_gr_mercury_precession.png : Portable Network Graphic file depicting the precession of Mercury's perihelion over time + with data sourced from the JPL Horizons database, Swiftest run with general relativity, + and Swiftest run without general relativity. +gr/bin.nc : A NetCDF file containing the simulation output. +gr/dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +gr/dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +gr/dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +gr/dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. +gr/init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +gr/param.in : An ASCII file containing the parameters for the simulation. +gr/swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. +nogr/bin.nc : A NetCDF file containing the simulation output. +nogr/dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +nogr/dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +nogr/dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +nogr/dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. +nogr/init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +nogr/param.in : An ASCII file containing the parameters for the simulation. +nogr/swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. +""" + import swiftest from astroquery.jplhorizons import Horizons import datetime import numpy as np import matplotlib.pyplot as plt +# Initialize the simulation object as a variable. Define the directory in which the output will be placed. sim_gr = swiftest.Simulation(simdir="gr") +# Add the modern planets and the Sun using the JPL Horizons Database sim_gr.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) +# Initialize the simulation object as a variable. Define the directory in which the output will be placed. sim_nogr = swiftest.Simulation(simdir="nogr") +# Add the modern planets and the Sun using the JPL Horizons Database sim_nogr.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) +# Define a set of arguments that apply to both runs. For a list of possible arguments, see the User Manual. run_args = {"tstop":1000.0, "dt":0.005, "tstep_out":10.0, "dump_cadence": 0,"integrator":"helio"} +# Run both simulations. sim_gr.run(**run_args,general_relativity=True) sim_nogr.run(**run_args,general_relativity=False) @@ -38,6 +87,7 @@ dvarpi_nogr = np.diff(varpisim_nogr) * 3600 * 100 / run_args['tstep_out'] dvarpi_obs = np.diff(varpi_obs) / np.diff(t) * 3600 * 100 +# Plot of the data and save the output plot fig, ax = plt.subplots() ax.plot(t, varpi_obs, label="JPL Horizons",linewidth=2.5) @@ -48,6 +98,7 @@ ax.legend() plt.savefig("helio_gr_mercury_precession.png",dpi=300) +# Print the data to the terminal. print('Mean precession rate for Mercury long. peri. (arcsec/100 y)') print(f'JPL Horizons : {np.mean(dvarpi_obs)}') print(f'Swiftest No GR : {np.mean(dvarpi_nogr)}') From 1ddd2a0f7ad869043c5fdf8c32a0eb1c78abe220 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 13:25:57 -0500 Subject: [PATCH 14/20] deleted run_from_file.py --- examples/Basic_Simulation/run_from_file.py | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 examples/Basic_Simulation/run_from_file.py diff --git a/examples/Basic_Simulation/run_from_file.py b/examples/Basic_Simulation/run_from_file.py deleted file mode 100644 index 146286814..000000000 --- a/examples/Basic_Simulation/run_from_file.py +++ /dev/null @@ -1,3 +0,0 @@ -import swiftest -sim = swiftest.Simulation(read_param=True) -sim.run() \ No newline at end of file From 189abeb4ce209c7f17e4553f1f64caec058bdf76 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 13:29:58 -0500 Subject: [PATCH 15/20] added a header and some comments to the whm_gr_test example --- examples/whm_gr_test/whm_gr_test.py | 51 ++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/examples/whm_gr_test/whm_gr_test.py b/examples/whm_gr_test/whm_gr_test.py index 2061e251b..ab397c464 100644 --- a/examples/whm_gr_test/whm_gr_test.py +++ b/examples/whm_gr_test/whm_gr_test.py @@ -1,18 +1,65 @@ -#!/usr/bin/env python +""" + Copyright 2022 - David Minton, Carlisle Wishard, Jennifer Pouplin, Jake Elliott, & Dana Singh + This file is part of Swiftest. + Swiftest is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + Swiftest is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + You should have received a copy of the GNU General Public License along with Swiftest. + If not, see: https://www.gnu.org/licenses. +""" + +#!/usr/bin/env python3 +""" +Generates and runs two sets of Swiftest input files from initial conditions with the WHM integrator. All simulation +outputs for the general relativity run are stored in the /gr subdirectory while all simulation outputs for the run +without general reelativity are stored in the /nogr subdirectory. + +Input +------ +None + +Output +------ +whm_gr_mercury_precession.png : Portable Network Graphic file depicting the precession of Mercury's perihelion over time + with data sourced from the JPL Horizons database, Swiftest run with general relativity, + and Swiftest run without general relativity. +gr/bin.nc : A NetCDF file containing the simulation output. +gr/dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +gr/dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +gr/dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +gr/dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. +gr/init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +gr/param.in : An ASCII file containing the parameters for the simulation. +gr/swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. +nogr/bin.nc : A NetCDF file containing the simulation output. +nogr/dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +nogr/dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +nogr/dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +nogr/dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. +nogr/init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +nogr/param.in : An ASCII file containing the parameters for the simulation. +nogr/swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. +""" + import swiftest from astroquery.jplhorizons import Horizons import datetime import numpy as np import matplotlib.pyplot as plt +# Initialize the simulation object as a variable. Define the directory in which the output will be placed. sim_gr = swiftest.Simulation(simdir="gr") sim_gr.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) +# Initialize the simulation object as a variable. Define the directory in which the output will be placed. sim_nogr = swiftest.Simulation(simdir="nogr") sim_nogr.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) +# Define a set of arguments that apply to both runs. For a list of possible arguments, see the User Manual. run_args = {"tstop":1000.0, "dt":0.005, "tstep_out":10.0, "dump_cadence": 0,"integrator":"whm"} +# Run both simulations. sim_gr.run(**run_args,general_relativity=True) sim_nogr.run(**run_args,general_relativity=False) @@ -38,6 +85,7 @@ dvarpi_nogr = np.diff(varpisim_nogr) * 3600 * 100 / run_args['tstep_out'] dvarpi_obs = np.diff(varpi_obs) / np.diff(t) * 3600 * 100 +# Plot of the data and save the output plot fig, ax = plt.subplots() ax.plot(t, varpi_obs, label="JPL Horizons",linewidth=2.5) @@ -48,6 +96,7 @@ ax.legend() plt.savefig("whm_gr_mercury_precession.png",dpi=300) +# Print the data to the terminal. print('Mean precession rate for Mercury long. peri. (arcsec/100 y)') print(f'JPL Horizons : {np.mean(dvarpi_obs)}') print(f'Swiftest No GR : {np.mean(dvarpi_nogr)}') From ee33e274a37edadc135e500f8dfce5f7e37bbf37 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 13:38:41 -0500 Subject: [PATCH 16/20] added a header and some comments to the fragmentation example --- .../Fragmentation/swiftest_fragmentation.py | 50 +++++++++++++++++-- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/examples/Fragmentation/swiftest_fragmentation.py b/examples/Fragmentation/swiftest_fragmentation.py index 9557c144f..1b6aed2aa 100644 --- a/examples/Fragmentation/swiftest_fragmentation.py +++ b/examples/Fragmentation/swiftest_fragmentation.py @@ -10,22 +10,63 @@ """ #!/usr/bin/env python3 """ -Generates a set of Swiftest input files from initial conditions, runs Swiftest, and generates fragmentation movies. -Returns -------- -Updates sim.data with the simulation data, produces fragmentation movies. +Generates and runs a set of Swiftest input files from initial conditions with the SyMBA integrator. All simulation +outputs for the disruption case are stored in the /disruption subdirectory. All simulation outputs for the hit and run +case are stored in the /hitandrun subdirectory. All simulation outputs for the super-catastrophic disruption case are +stored in the /supercat subdirectory. + +Input +------ +None + +Output +------ +disruption/bin.nc : A NetCDF file containing the simulation output. +disruption/dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +disruption/dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +disruption/dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +disruption/dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. +disruption/fraggle.log : An ASCII file containing the information of any collisional events that occured. +disruption/init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +disruption/param.in : An ASCII file containing the parameters for the simulation. +disruption/swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. +hitandrun/bin.nc : A NetCDF file containing the simulation output. +hitandrun/dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +hitandrun/dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +hitandrun/dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +hitandrun/dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. +hitandrun/fraggle.log : An ASCII file containing the information of any collisional events that occured. +hitandrun/init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +hitandrun/param.in : An ASCII file containing the parameters for the simulation. +hitandrun/swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. +supercat/bin.nc : A NetCDF file containing the simulation output. +supercat/dump_bin1.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +supercat/dump_bin2.nc : A NetCDF file containing the necessary inputs to restart a simulation from t!=0. +supercat/dump_param1.in : An ASCII file containing the necessary parameters to restart a simulation. +supercat/dump_param2.in : An ASCII file containing the necessary parameters to restart a simulation. +supercat/fraggle.log : An ASCII file containing the information of any collisional events that occured. +supercat/init_cond.nc : A NetCDF file containing the initial conditions for the simulation. +supercat/param.in : An ASCII file containing the parameters for the simulation. +supercat/swiftest.log : An ASCII file containing the information on the status of the simulation as it runs. """ import swiftest import numpy as np from numpy.random import default_rng +# Initialize the simulation object as a variable with arguments. sim_disruption = swiftest.Simulation(simdir="disruption", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +# Add the Sun using the JPL Horizons Database. sim_disruption.add_solar_system_body(["Sun"]) +# Add a user-defined target body. sim_disruption.add_body(name="Target", rh=[[1.0, -1.807993e-05, 0.0]], vh=[[-2.562596e-04, 6.280005, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 0.0]]) +# Add a user-defined projectile body. sim_disruption.add_body(name="Projectile", rh=[[1.0, 1.807993e-05, 0.0]], vh=[[-2.562596e-04, -6.280005, 0.0]], Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 0.0]]) +# Display the run configuration parameters. sim_disruption.get_parameter() +# Run the simulation. sim_disruption.run() +# Do the same as above for the hit and run case. sim_hitandrun = swiftest.Simulation(simdir="hitandrun", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") sim_hitandrun.add_solar_system_body(["Sun"]) sim_hitandrun.add_body(name="Target", rh=[[1.0, -4.2e-05, 0.0]], vh=[[0.0, 6.28, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 6.0e4]]) @@ -33,6 +74,7 @@ sim_hitandrun.get_parameter() sim_hitandrun.run() +# Do the same as above for the super-catastrophic disruption case. sim_supercat = swiftest.Simulation(simdir="supercat", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") sim_supercat.add_solar_system_body(["Sun"]) sim_supercat.add_body(name="Target", rh=[[1.0, -4.2e-05, 0.0]], vh=[[0.0, 6.28, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, -6.0e4]]) From 3b1127e68e01c4d7923da0e1ea6464f02e5bd8f8 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 13:40:51 -0500 Subject: [PATCH 17/20] added "." to the end of comments because it was bugging me --- examples/Basic_Simulation/initial_conditions.py | 10 +++++----- examples/Basic_Simulation/output_reader.py | 4 ++-- examples/Fragmentation/swiftest_fragmentation.py | 2 +- examples/helio_gr_test/helio_gr_test.py | 12 ++++++------ examples/whm_gr_test/whm_gr_test.py | 8 ++++---- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/examples/Basic_Simulation/initial_conditions.py b/examples/Basic_Simulation/initial_conditions.py index 6ac43c7fd..861556958 100644 --- a/examples/Basic_Simulation/initial_conditions.py +++ b/examples/Basic_Simulation/initial_conditions.py @@ -16,7 +16,7 @@ Input ------ -None +None. Output ------ @@ -38,10 +38,10 @@ # Initialize the simulation object as a variable. Arguments may be defined here or through the sim.run() method. sim = swiftest.Simulation(fragmentation=True, minimum_fragment_mass = 2.5e-11, mtiny=2.5e-8) -# Add the modern planets and the Sun using the JPL Horizons Database +# Add the modern planets and the Sun using the JPL Horizons Database. sim.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune","Pluto"]) -# Add 5 user-defined massive bodies +# Add 5 user-defined massive bodies. npl = 5 density_pl = 3000.0 / (sim.param['MU2KG'] / sim.param['DU2M'] ** 3) @@ -60,7 +60,7 @@ sim.add_body(name=name_pl, a=a_pl, e=e_pl, inc=inc_pl, capom=capom_pl, omega=omega_pl, capm=capm_pl, Gmass=GM_pl, radius=R_pl, rhill=Rh_pl, Ip=Ip_pl, rot=rot_pl) -# Add 10 user-defined test particles +# Add 10 user-defined test particles. ntp = 10 name_tp = ["TestParticle_01", "TestParticle_02", "TestParticle_03", "TestParticle_04", "TestParticle_05", "TestParticle_06", "TestParticle_07", "TestParticle_08", "TestParticle_09", "TestParticle_10"] @@ -72,7 +72,7 @@ capm_tp = default_rng().uniform(0.0, 360.0, ntp) sim.add_body(name=name_tp, a=a_tp, e=e_tp, inc=inc_tp, capom=capom_tp, omega=omega_tp, capm=capm_tp) -# Display the run configuration parameters +# Display the run configuration parameters. sim.get_parameter() # Run the simulation. Arguments may be defined here or thorugh the swiftest.Simulation() method. diff --git a/examples/Basic_Simulation/output_reader.py b/examples/Basic_Simulation/output_reader.py index 5d7f496b7..a41103ccd 100644 --- a/examples/Basic_Simulation/output_reader.py +++ b/examples/Basic_Simulation/output_reader.py @@ -27,10 +27,10 @@ import xarray as xr import matplotlib.pyplot as plt -# Read in the simulation output and store it as an Xarray dataset +# Read in the simulation output and store it as an Xarray dataset. sim = swiftest.Simulation(read_old_output_file=True) -# Plot of the data and save the output plot +# Plot of the data and save the output plot. colors = ['white' if x == 'Massive Body' else 'black' for x in sim.data['particle_type']] sizes = [100 if x == 'Massive Body' else 10 for x in sim.data['particle_type']] diff --git a/examples/Fragmentation/swiftest_fragmentation.py b/examples/Fragmentation/swiftest_fragmentation.py index 1b6aed2aa..de4e9ba2c 100644 --- a/examples/Fragmentation/swiftest_fragmentation.py +++ b/examples/Fragmentation/swiftest_fragmentation.py @@ -17,7 +17,7 @@ Input ------ -None +None. Output ------ diff --git a/examples/helio_gr_test/helio_gr_test.py b/examples/helio_gr_test/helio_gr_test.py index 1b0033ab1..c627be7f4 100644 --- a/examples/helio_gr_test/helio_gr_test.py +++ b/examples/helio_gr_test/helio_gr_test.py @@ -17,7 +17,7 @@ Input ------ -None +None. Output ------ @@ -50,12 +50,12 @@ # Initialize the simulation object as a variable. Define the directory in which the output will be placed. sim_gr = swiftest.Simulation(simdir="gr") -# Add the modern planets and the Sun using the JPL Horizons Database +# Add the modern planets and the Sun using the JPL Horizons Database. sim_gr.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) # Initialize the simulation object as a variable. Define the directory in which the output will be placed. sim_nogr = swiftest.Simulation(simdir="nogr") -# Add the modern planets and the Sun using the JPL Horizons Database +# Add the modern planets and the Sun using the JPL Horizons Database. sim_nogr.add_solar_system_body(["Sun","Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"]) # Define a set of arguments that apply to both runs. For a list of possible arguments, see the User Manual. @@ -65,13 +65,13 @@ sim_gr.run(**run_args,general_relativity=True) sim_nogr.run(**run_args,general_relativity=False) -# Get the start and end date of the simulation so we can compare with the real solar system +# Get the start and end date of the simulation so we can compare with the real solar system. start_date = sim_gr.ephemeris_date tstop_d = sim_gr.param['TSTOP'] * sim_gr.param['TU2S'] / swiftest.JD2S stop_date = (datetime.datetime.fromisoformat(start_date) + datetime.timedelta(days=tstop_d)).isoformat() -#Get the ephemerides of Mercury for the same timeframe as the simulation +#Get the ephemerides of Mercury for the same timeframe as the simulation. obj = Horizons(id='1', location='@sun', epochs={'start':start_date, 'stop':stop_date, 'step':'10y'}) @@ -87,7 +87,7 @@ dvarpi_nogr = np.diff(varpisim_nogr) * 3600 * 100 / run_args['tstep_out'] dvarpi_obs = np.diff(varpi_obs) / np.diff(t) * 3600 * 100 -# Plot of the data and save the output plot +# Plot of the data and save the output plot. fig, ax = plt.subplots() ax.plot(t, varpi_obs, label="JPL Horizons",linewidth=2.5) diff --git a/examples/whm_gr_test/whm_gr_test.py b/examples/whm_gr_test/whm_gr_test.py index ab397c464..d0d2ade69 100644 --- a/examples/whm_gr_test/whm_gr_test.py +++ b/examples/whm_gr_test/whm_gr_test.py @@ -17,7 +17,7 @@ Input ------ -None +None. Output ------ @@ -63,13 +63,13 @@ sim_gr.run(**run_args,general_relativity=True) sim_nogr.run(**run_args,general_relativity=False) -# Get the start and end date of the simulation so we can compare with the real solar system +# Get the start and end date of the simulation so we can compare with the real solar system. start_date = sim_gr.ephemeris_date tstop_d = sim_gr.param['TSTOP'] * sim_gr.param['TU2S'] / swiftest.JD2S stop_date = (datetime.datetime.fromisoformat(start_date) + datetime.timedelta(days=tstop_d)).isoformat() -#Get the ephemerides of Mercury for the same timeframe as the simulation +#Get the ephemerides of Mercury for the same timeframe as the simulation. obj = Horizons(id='1', location='@sun', epochs={'start':start_date, 'stop':stop_date, 'step':'10y'}) @@ -85,7 +85,7 @@ dvarpi_nogr = np.diff(varpisim_nogr) * 3600 * 100 / run_args['tstep_out'] dvarpi_obs = np.diff(varpi_obs) / np.diff(t) * 3600 * 100 -# Plot of the data and save the output plot +# Plot of the data and save the output plot. fig, ax = plt.subplots() ax.plot(t, varpi_obs, label="JPL Horizons",linewidth=2.5) From 5c4c71489999abf6833636754caf7a4907bd284c Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Tue, 6 Dec 2022 15:56:18 -0500 Subject: [PATCH 18/20] renamed key word argument --- examples/Fragmentation/swiftest_fragmentation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/Fragmentation/swiftest_fragmentation.py b/examples/Fragmentation/swiftest_fragmentation.py index de4e9ba2c..067c53710 100644 --- a/examples/Fragmentation/swiftest_fragmentation.py +++ b/examples/Fragmentation/swiftest_fragmentation.py @@ -54,7 +54,7 @@ from numpy.random import default_rng # Initialize the simulation object as a variable with arguments. -sim_disruption = swiftest.Simulation(simdir="disruption", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_disruption = swiftest.Simulation(simdir="disruption", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_format="XVEL", init_cond_format="XV") # Add the Sun using the JPL Horizons Database. sim_disruption.add_solar_system_body(["Sun"]) # Add a user-defined target body. @@ -67,7 +67,7 @@ sim_disruption.run() # Do the same as above for the hit and run case. -sim_hitandrun = swiftest.Simulation(simdir="hitandrun", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_hitandrun = swiftest.Simulation(simdir="hitandrun", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_format="XVEL", init_cond_format="XV") sim_hitandrun.add_solar_system_body(["Sun"]) sim_hitandrun.add_body(name="Target", rh=[[1.0, -4.2e-05, 0.0]], vh=[[0.0, 6.28, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 6.0e4]]) sim_hitandrun.add_body(name="Projectile", rh=[[1.0, 4.2e-05, 0.0]], vh=[[-1.5, -6.28, 0.0]], Gmass=7e-10, radius=3.25e-6, rhill=4e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 1.0e5]]) @@ -75,7 +75,7 @@ sim_hitandrun.run() # Do the same as above for the super-catastrophic disruption case. -sim_supercat = swiftest.Simulation(simdir="supercat", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_file_format="XVEL", init_cond_format="XV") +sim_supercat = swiftest.Simulation(simdir="supercat", tstart=0.0, tstop=1.0e-5, dt=1.0e-8, istep_out=1.0, fragmentation=True, minimum_fragment_gmass=1.0e-11, gmtiny=1.0e-11, output_format="XVEL", init_cond_format="XV") sim_supercat.add_solar_system_body(["Sun"]) sim_supercat.add_body(name="Target", rh=[[1.0, -4.2e-05, 0.0]], vh=[[0.0, 6.28, 0.0]], Gmass=1e-7, radius=7e-6, rhill=9e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, -6.0e4]]) sim_supercat.add_body(name="Projectile", rh=[[1.0, 4.2e-05, 0.0]], vh=[[1.0, -6.28, 0.0]], Gmass=1e-8, radius=3.25e-6, rhill=4e-4, Ip=[[0.4, 0.4, 0.4]], rot=[[0.0, 0.0, 1.0e5]]) From be401c7f95ddb3b4bdef112c5e0f97566cdb9bde Mon Sep 17 00:00:00 2001 From: David A Minton Date: Wed, 7 Dec 2022 12:12:50 -0500 Subject: [PATCH 19/20] Removed weird duplicate file --- src/setup/symba_collision.f90 | 1090 --------------------------------- 1 file changed, 1090 deletions(-) delete mode 100644 src/setup/symba_collision.f90 diff --git a/src/setup/symba_collision.f90 b/src/setup/symba_collision.f90 deleted file mode 100644 index c4d04ee75..000000000 --- a/src/setup/symba_collision.f90 +++ /dev/null @@ -1,1090 +0,0 @@ -!! Copyright 2022 - David Minton, Carlisle Wishard, Jennifer Pouplin, Jake Elliott, & Dana Singh -!! This file is part of Swiftest. -!! Swiftest is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License -!! as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. -!! Swiftest is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty -!! of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -!! You should have received a copy of the GNU General Public License along with Swiftest. -!! If not, see: https://www.gnu.org/licenses. - -submodule (symba_classes) s_symba_collision - use swiftest - -contains - - module function symba_collision_casedisruption(system, param, colliders, frag) result(status) - !! author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Create the fragments resulting from a non-catastrophic disruption collision - !! - implicit none - ! Arguments - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - class(fraggle_colliders), intent(inout) :: colliders !! Fraggle colliders object - class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragmentation system object - ! Result - integer(I4B) :: status !! Status flag assigned to this outcome - ! Internals - integer(I4B) :: i, nfrag - logical :: lfailure - character(len=STRMAX) :: message - - select case(frag%regime) - case(COLLRESOLVE_REGIME_DISRUPTION) - message = "Disruption between" - case(COLLRESOLVE_REGIME_SUPERCATASTROPHIC) - message = "Supercatastrophic disruption between" - end select - call symba_collision_collider_message(system%pl, colliders%idx, message) - call io_log_one_message(FRAGGLE_LOG_OUT, message) - - ! Collisional fragments will be uniformly distributed around the pre-impact barycenter - call frag%set_mass_dist(colliders, param) - - ! Generate the position and velocity distributions of the fragments - call frag%generate_fragments(colliders, system, param, lfailure) - - if (lfailure) then - call io_log_one_message(FRAGGLE_LOG_OUT, "No fragment solution found, so treat as a pure hit-and-run") - status = ACTIVE - nfrag = 0 - select type(pl => system%pl) - class is (symba_pl) - pl%status(colliders%idx(:)) = status - pl%ldiscard(colliders%idx(:)) = .false. - pl%lcollision(colliders%idx(:)) = .false. - end select - else - ! Populate the list of new bodies - nfrag = frag%nbody - write(message, *) nfrag - call io_log_one_message(FRAGGLE_LOG_OUT, "Generating " // trim(adjustl(message)) // " fragments") - select case(frag%regime) - case(COLLRESOLVE_REGIME_DISRUPTION) - status = DISRUPTION - case(COLLRESOLVE_REGIME_SUPERCATASTROPHIC) - status = SUPERCATASTROPHIC - end select - frag%id(1:nfrag) = [(i, i = param%maxid + 1, param%maxid + nfrag)] - param%maxid = frag%id(nfrag) - call symba_collision_mergeaddsub(system, param, colliders, frag, status) - end if - - return - end function symba_collision_casedisruption - - - module function symba_collision_casehitandrun(system, param, colliders, frag) result(status) - !! author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Create the fragments resulting from a non-catastrophic hit-and-run collision - !! - implicit none - ! Arguments - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - class(fraggle_colliders), intent(inout) :: colliders !! Fraggle colliders object - class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragmentation system object - ! Result - integer(I4B) :: status !! Status flag assigned to this outcom - ! Internals - integer(I4B) :: i, ibiggest, nfrag, jtarg, jproj - logical :: lpure - character(len=STRMAX) :: message - - message = "Hit and run between" - call symba_collision_collider_message(system%pl, colliders%idx, message) - call io_log_one_message(FRAGGLE_LOG_OUT, trim(adjustl(message))) - - if (colliders%mass(1) > colliders%mass(2)) then - jtarg = 1 - jproj = 2 - else - jtarg = 2 - jproj = 1 - end if - - if (frag%mass_dist(2) > 0.9_DP * colliders%mass(jproj)) then ! Pure hit and run, so we'll just keep the two bodies untouched - call io_log_one_message(FRAGGLE_LOG_OUT, "Pure hit and run. No new fragments generated.") - nfrag = 0 - lpure = .true. - else ! Imperfect hit and run, so we'll keep the largest body and destroy the other - lpure = .false. - call frag%set_mass_dist(colliders, param) - - ! Generate the position and velocity distributions of the fragments - call frag%generate_fragments(colliders, system, param, lpure) - - if (lpure) then - call io_log_one_message(FRAGGLE_LOG_OUT, "Should have been a pure hit and run instead") - nfrag = 0 - else - nfrag = frag%nbody - write(message, *) nfrag - call io_log_one_message(FRAGGLE_LOG_OUT, "Generating " // trim(adjustl(message)) // " fragments") - end if - end if - if (lpure) then ! Reset these bodies back to being active so that nothing further is done to them - status = HIT_AND_RUN_PURE - select type(pl => system%pl) - class is (symba_pl) - pl%status(colliders%idx(:)) = ACTIVE - pl%ldiscard(colliders%idx(:)) = .false. - pl%lcollision(colliders%idx(:)) = .false. - end select - else - ibiggest = colliders%idx(maxloc(system%pl%Gmass(colliders%idx(:)), dim=1)) - frag%id(1) = system%pl%id(ibiggest) - frag%id(2:nfrag) = [(i, i = param%maxid + 1, param%maxid + nfrag - 1)] - param%maxid = frag%id(nfrag) - status = HIT_AND_RUN_DISRUPT - call symba_collision_mergeaddsub(system, param, colliders, frag, status) - end if - - return - end function symba_collision_casehitandrun - - - module function symba_collision_casemerge(system, param, colliders, frag) result(status) - !! author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Merge massive bodies. - !! - !! Adapted from David E. Kaufmann's Swifter routines symba_merge_pl.f90 and symba_discard_merge_pl.f90 - !! - !! Adapted from Hal Levison's Swift routines symba5_merge.f and discard_mass_merge.f - implicit none - ! Arguments - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - class(fraggle_colliders), intent(inout) :: colliders !! Fraggle colliders object - class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragmentation system object - ! Result - integer(I4B) :: status !! Status flag assigned to this outcome - ! Internals - integer(I4B) :: i, j, k, ibiggest - real(DP) :: pe - real(DP), dimension(NDIM) :: L_spin_new - character(len=STRMAX) :: message - - message = "Merging" - call symba_collision_collider_message(system%pl, colliders%idx, message) - call io_log_one_message(FRAGGLE_LOG_OUT, message) - - select type(pl => system%pl) - class is (symba_pl) - - call frag%set_mass_dist(colliders, param) - ibiggest = colliders%idx(maxloc(pl%Gmass(colliders%idx(:)), dim=1)) - frag%id(1) = pl%id(ibiggest) - frag%xb(:,1) = frag%xbcom(:) - frag%vb(:,1) = frag%vbcom(:) - - if (param%lrotation) then - ! Conserve angular momentum by putting pre-impact orbital momentum into spin of the new body - L_spin_new(:) = colliders%L_orbit(:,1) + colliders%L_orbit(:,2) + colliders%L_spin(:,1) + colliders%L_spin(:,2) - - ! Assume prinicpal axis rotation on 3rd Ip axis - frag%rot(:,1) = L_spin_new(:) / (frag%Ip(3,1) * frag%mass(1) * frag%radius(1)**2) - else ! If spin is not enabled, we will consider the lost pre-collision angular momentum as "escaped" and add it to our bookkeeping variable - param%Lescape(:) = param%Lescape(:) + colliders%L_orbit(:,1) + colliders%L_orbit(:,2) - end if - - ! Keep track of the component of potential energy due to the pre-impact colliders%idx for book-keeping - pe = 0.0_DP - do j = 1, colliders%ncoll - do i = j + 1, colliders%ncoll - pe = pe - pl%Gmass(i) * pl%mass(j) / norm2(pl%xb(:, i) - pl%xb(:, j)) - end do - end do - system%Ecollisions = system%Ecollisions + pe - system%Euntracked = system%Euntracked - pe - - ! Update any encounter lists that have the removed bodies in them so that they instead point to the new - do k = 1, system%plplenc_list%nenc - do j = 1, colliders%ncoll - i = colliders%idx(j) - if (i == ibiggest) cycle - if (system%plplenc_list%id1(k) == pl%id(i)) then - system%plplenc_list%id1(k) = pl%id(ibiggest) - system%plplenc_list%index1(k) = i - end if - if (system%plplenc_list%id2(k) == pl%id(i)) then - system%plplenc_list%id2(k) = pl%id(ibiggest) - system%plplenc_list%index2(k) = i - end if - if (system%plplenc_list%id1(k) == system%plplenc_list%id2(k)) system%plplenc_list%status(k) = INACTIVE - end do - end do - - status = MERGED - - call symba_collision_mergeaddsub(system, param, colliders, frag, status) - - end select - - return - end function symba_collision_casemerge - - - subroutine symba_collision_collider_message(pl, collidx, collider_message) - !! author: David A. Minton - !! - !! Prints a nicely formatted message about which bodies collided, including their names and ids. - !! This subroutine appends the body names and ids to an input message. - implicit none - ! Arguments - class(swiftest_pl), intent(in) :: pl !! Swiftest massive body object - integer(I4B), dimension(:), intent(in) :: collidx !! Index of collisional colliders%idx members - character(*), intent(inout) :: collider_message !! The message to print to the screen. - ! Internals - integer(I4B) :: i, n - character(len=STRMAX) :: idstr - - n = size(collidx) - if (n == 0) return - - do i = 1, n - if (i > 1) collider_message = trim(adjustl(collider_message)) // " and " - collider_message = " " // trim(adjustl(collider_message)) // " " // trim(adjustl(pl%info(collidx(i))%name)) - write(idstr, '(I10)') pl%id(collidx(i)) - collider_message = trim(adjustl(collider_message)) // " (" // trim(adjustl(idstr)) // ") " - end do - - return - end subroutine symba_collision_collider_message - - - module function symba_collision_check_encounter(self, system, param, t, dt, irec) result(lany_collision) - !! author: David A. Minton - !! - !! Check for merger between massive bodies and test particles in SyMBA - !! - !! Adapted from David E. Kaufmann's Swifter routine symba_merge.f90 and symba_merge_tp.f90 - !! - !! Adapted from Hal Levison's Swift routine symba5_merge.f - implicit none - ! Arguments - class(symba_encounter), intent(inout) :: self !! SyMBA pl-tp encounter list object - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - real(DP), intent(in) :: t !! current time - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - ! Result - logical :: lany_collision !! Returns true if cany pair of encounters resulted in a collision - ! Internals - logical, dimension(:), allocatable :: lcollision, lmask - real(DP), dimension(NDIM) :: xr, vr - integer(I4B) :: i, j, k, nenc - real(DP) :: rlim, Gmtot - logical :: isplpl - character(len=STRMAX) :: timestr, idstri, idstrj, message - class(symba_encounter), allocatable :: tmp - - lany_collision = .false. - if (self%nenc == 0) return - - select type(self) - class is (symba_plplenc) - isplpl = .true. - class default - isplpl = .false. - end select - - select type(pl => system%pl) - class is (symba_pl) - select type(tp => system%tp) - class is (symba_tp) - nenc = self%nenc - allocate(lmask(nenc)) - lmask(:) = ((self%status(1:nenc) == ACTIVE) .and. (pl%levelg(self%index1(1:nenc)) >= irec)) - if (isplpl) then - lmask(:) = lmask(:) .and. (pl%levelg(self%index2(1:nenc)) >= irec) - else - lmask(:) = lmask(:) .and. (tp%levelg(self%index2(1:nenc)) >= irec) - end if - if (.not.any(lmask(:))) return - - allocate(lcollision(nenc)) - lcollision(:) = .false. - - if (isplpl) then - do concurrent(k = 1:nenc, lmask(k)) - i = self%index1(k) - j = self%index2(k) - xr(:) = pl%rh(:, i) - pl%rh(:, j) - vr(:) = pl%vb(:, i) - pl%vb(:, j) - rlim = pl%radius(i) + pl%radius(j) - Gmtot = pl%Gmass(i) + pl%Gmass(j) - lcollision(k) = symba_collision_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), & - Gmtot, rlim, dt, self%lvdotr(k)) - end do - else - do concurrent(k = 1:nenc, lmask(k)) - i = self%index1(k) - j = self%index2(k) - xr(:) = pl%rh(:, i) - tp%rh(:, j) - vr(:) = pl%vb(:, i) - tp%vb(:, j) - lcollision(k) = symba_collision_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), & - pl%Gmass(i), pl%radius(i), dt, self%lvdotr(k)) - end do - end if - - lany_collision = any(lcollision(:)) - if (lany_collision) then - call pl%xh2xb(system%cb) ! Update the central body barycenteric position vector to get us out of DH and into bary - do k = 1, nenc - i = self%index1(k) - j = self%index2(k) - if (lcollision(k)) self%status(k) = COLLISION - self%t(k) = t - self%x1(:,k) = pl%rh(:,i) + system%cb%xb(:) - self%v1(:,k) = pl%vb(:,i) - if (isplpl) then - self%x2(:,k) = pl%rh(:,j) + system%cb%xb(:) - self%v2(:,k) = pl%vb(:,j) - if (lcollision(k)) then - ! Check to see if either of these bodies has been involved with a collision before, and if so, make this a collisional colliders%idx - if (pl%lcollision(i) .or. pl%lcollision(j)) call pl%make_colliders([i,j]) - - ! Set the collision flag for these to bodies to true in case they become involved in another collision later in the step - pl%lcollision([i, j]) = .true. - pl%status([i, j]) = COLLISION - call pl%info(i)%set_value(status="COLLISION", discard_time=t, discard_rh=pl%rh(:,i), discard_vh=pl%vh(:,i)) - call pl%info(j)%set_value(status="COLLISION", discard_time=t, discard_rh=pl%rh(:,j), discard_vh=pl%vh(:,j)) - end if - else - self%x2(:,k) = tp%rh(:,j) + system%cb%xb(:) - self%v2(:,k) = tp%vb(:,j) - if (lcollision(k)) then - tp%status(j) = DISCARDED_PLR - tp%ldiscard(j) = .true. - write(idstri, *) pl%id(i) - write(idstrj, *) tp%id(j) - write(timestr, *) t - call tp%info(j)%set_value(status="DISCARDED_PLR", discard_time=t, discard_rh=tp%rh(:,j), discard_vh=tp%vh(:,j)) - write(message, *) "Particle " // trim(adjustl(tp%info(j)%name)) // " (" // trim(adjustl(idstrj)) // ")" & - // " collided with massive body " // trim(adjustl(pl%info(i)%name)) // " (" // trim(adjustl(idstri)) // ")" & - // " at t = " // trim(adjustl(timestr)) - call io_log_one_message(FRAGGLE_LOG_OUT, message) - end if - end if - end do - end if - end select - end select - - ! Extract the pl-pl or pl-tp encounter list and return the pl-pl or pl-tp collision_list - if (lany_collision) then - select type(self) - class is (symba_plplenc) - call self%extract_collisions(system, param) - class default - allocate(tmp, mold=self) - call self%spill(tmp, lcollision, ldestructive=.true.) ! Remove this encounter pair from the encounter list - end select - end if - - return - end function symba_collision_check_encounter - - - pure elemental function symba_collision_check_one(xr, yr, zr, vxr, vyr, vzr, Gmtot, rlim, dt, lvdotr) result(lcollision) - !! author: David A. Minton - !! - !! Check for a merger between a single pair of particles - !! - !! Adapted from David E. Kaufmann's Swifter routines symba_merge_tp.f90 and symba_merge_pl.f90 - !! - !! Adapted from Hal Levison's Swift routine symba5_merge.f - implicit none - ! Arguments - real(DP), intent(in) :: xr, yr, zr !! Relative position vector components - real(DP), intent(in) :: vxr, vyr, vzr !! Relative velocity vector components - real(DP), intent(in) :: Gmtot !! Sum of G*mass of colliding bodies - real(DP), intent(in) :: rlim !! Collision limit - Typically the sum of the radii of colliding bodies - real(DP), intent(in) :: dt !! Step size - logical, intent(in) :: lvdotr !! Logical flag indicating that these two bodies are approaching in the current substep - ! Result - logical :: lcollision !! Logical flag indicating whether these two bodies will collide or not - ! Internals - real(DP) :: r2, rlim2, a, e, q, vdotr, tcr2, dt2 - - r2 = xr**2 + yr**2 + zr**2 - rlim2 = rlim**2 - - if (r2 <= rlim2) then ! checks if bodies are actively colliding in this time step - lcollision = .true. - else ! if they are not actively colliding in this time step, checks if they are going to collide next time step based on velocities and q - lcollision = .false. - vdotr = xr * vxr + yr * vyr + zr * vzr - if (lvdotr .and. (vdotr > 0.0_DP)) then - tcr2 = r2 / (vxr**2 + vyr**2 + vzr**2) - dt2 = dt**2 - if (tcr2 <= dt2) then - call orbel_xv2aeq(Gmtot, xr, yr, zr, vxr, vyr, vzr, a, e, q) - lcollision = (q < rlim) - end if - end if - end if - - return - end function symba_collision_check_one - - - function symba_collision_consolidate_colliders(pl, cb, param, idx_parent, colliders) result(lflag) - !! author: David A. Minton - !! - !! Loops through the pl-pl collision list and groups families together by index. Outputs the indices of all colliders%idx members, - !! and pairs of quantities (x and v vectors, mass, radius, L_spin, and Ip) that can be used to resolve the collisional outcome. - implicit none - ! Arguments - class(symba_pl), intent(inout) :: pl !! SyMBA massive body object - class(symba_cb), intent(inout) :: cb !! SyMBA central body object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(2), intent(inout) :: idx_parent !! Index of the two bodies considered the "parents" of the collision - class(fraggle_colliders), intent(out) :: colliders - ! Result - logical :: lflag !! Logical flag indicating whether a colliders%idx was successfully created or not - ! Internals - type collidx_array - integer(I4B), dimension(:), allocatable :: id - integer(I4B), dimension(:), allocatable :: idx - end type collidx_array - type(collidx_array), dimension(2) :: parent_child_index_array - integer(I4B), dimension(2) :: nchild - integer(I4B) :: i, j, ncolliders, idx_child - real(DP), dimension(2) :: volume, density - real(DP) :: mchild, volchild - real(DP), dimension(NDIM) :: xc, vc, xcom, vcom, xchild, vchild, xcrossv - real(DP), dimension(NDIM,2) :: mxc, vcc - - nchild(:) = pl%kin(idx_parent(:))%nchild - ! If all of these bodies share a parent, but this is still a unique collision, move the last child - ! out of the parent's position and make it the secondary body - if (idx_parent(1) == idx_parent(2)) then - if (nchild(1) == 0) then ! There is only one valid body recorded in this pair (this could happen due to restructuring of the kinship relationships, though it should be rare) - lflag = .false. - call pl%reset_kinship([idx_parent(1)]) - return - end if - idx_parent(2) = pl%kin(idx_parent(1))%child(nchild(1)) - nchild(1) = nchild(1) - 1 - nchild(2) = 0 - pl%kin(idx_parent(:))%nchild = nchild(:) - pl%kin(idx_parent(2))%parent = idx_parent(1) - end if - - colliders%mass(:) = pl%mass(idx_parent(:)) ! Note: This is meant to mass, not G*mass, as the collisional regime determination uses mass values that will be converted to Si - colliders%radius(:) = pl%radius(idx_parent(:)) - volume(:) = (4.0_DP / 3.0_DP) * PI * colliders%radius(:)**3 - - ! Group together the ids and indexes of each collisional parent and its children - do j = 1, 2 - allocate(parent_child_index_array(j)%idx(nchild(j)+ 1)) - allocate(parent_child_index_array(j)%id(nchild(j)+ 1)) - associate(idx_arr => parent_child_index_array(j)%idx, & - id_arr => parent_child_index_array(j)%id, & - ncj => nchild(j), & - pl => pl, & - plkinj => pl%kin(idx_parent(j))) - idx_arr(1) = idx_parent(j) - if (ncj > 0) idx_arr(2:ncj + 1) = plkinj%child(1:ncj) - id_arr(:) = pl%id(idx_arr(:)) - end associate - end do - - ! Consolidate the groups of collsional parents with any children they may have into a single "colliders%idx" index array - ncolliders = 2 + sum(nchild(:)) - allocate(colliders%idx(ncolliders)) - colliders%idx = [parent_child_index_array(1)%idx(:),parent_child_index_array(2)%idx(:)] - - colliders%ncoll = count(pl%lcollision(colliders%idx(:))) - colliders%idx = pack(colliders%idx(:), pl%lcollision(colliders%idx(:))) - colliders%L_spin(:,:) = 0.0_DP - colliders%Ip(:,:) = 0.0_DP - - ! Find the barycenter of each body along with its children, if it has any - do j = 1, 2 - colliders%xb(:, j) = pl%rh(:, idx_parent(j)) + cb%xb(:) - colliders%vb(:, j) = pl%vb(:, idx_parent(j)) - ! Assume principal axis rotation about axis corresponding to highest moment of inertia (3rd Ip) - if (param%lrotation) then - colliders%Ip(:, j) = colliders%mass(j) * pl%Ip(:, idx_parent(j)) - colliders%L_spin(:, j) = colliders%Ip(3, j) * colliders%radius(j)**2 * pl%rot(:, idx_parent(j)) - end if - - if (nchild(j) > 0) then - do i = 1, nchild(j) ! Loop over all children and take the mass weighted mean of the properties - idx_child = parent_child_index_array(j)%idx(i + 1) - if (.not. pl%lcollision(idx_child)) cycle - mchild = pl%mass(idx_child) - xchild(:) = pl%rh(:, idx_child) + cb%xb(:) - vchild(:) = pl%vb(:, idx_child) - volchild = (4.0_DP / 3.0_DP) * PI * pl%radius(idx_child)**3 - volume(j) = volume(j) + volchild - ! Get angular momentum of the child-parent pair and add that to the spin - ! Add the child's spin - if (param%lrotation) then - xcom(:) = (colliders%mass(j) * colliders%xb(:,j) + mchild * xchild(:)) / (colliders%mass(j) + mchild) - vcom(:) = (colliders%mass(j) * colliders%vb(:,j) + mchild * vchild(:)) / (colliders%mass(j) + mchild) - xc(:) = colliders%xb(:, j) - xcom(:) - vc(:) = colliders%vb(:, j) - vcom(:) - xcrossv(:) = xc(:) .cross. vc(:) - colliders%L_spin(:, j) = colliders%L_spin(:, j) + colliders%mass(j) * xcrossv(:) - - xc(:) = xchild(:) - xcom(:) - vc(:) = vchild(:) - vcom(:) - xcrossv(:) = xc(:) .cross. vc(:) - colliders%L_spin(:, j) = colliders%L_spin(:, j) + mchild * xcrossv(:) - - colliders%L_spin(:, j) = colliders%L_spin(:, j) + mchild * pl%Ip(3, idx_child) & - * pl%radius(idx_child)**2 & - * pl%rot(:, idx_child) - colliders%Ip(:, j) = colliders%Ip(:, j) + mchild * pl%Ip(:, idx_child) - end if - - ! Merge the child and parent - colliders%mass(j) = colliders%mass(j) + mchild - colliders%xb(:, j) = xcom(:) - colliders%vb(:, j) = vcom(:) - end do - end if - density(j) = colliders%mass(j) / volume(j) - colliders%radius(j) = (3 * volume(j) / (4 * PI))**(1.0_DP / 3.0_DP) - if (param%lrotation) colliders%Ip(:, j) = colliders%Ip(:, j) / colliders%mass(j) - end do - lflag = .true. - - xcom(:) = (colliders%mass(1) * colliders%xb(:, 1) + colliders%mass(2) * colliders%xb(:, 2)) / sum(colliders%mass(:)) - vcom(:) = (colliders%mass(1) * colliders%vb(:, 1) + colliders%mass(2) * colliders%vb(:, 2)) / sum(colliders%mass(:)) - mxc(:, 1) = colliders%mass(1) * (colliders%xb(:, 1) - xcom(:)) - mxc(:, 2) = colliders%mass(2) * (colliders%xb(:, 2) - xcom(:)) - vcc(:, 1) = colliders%vb(:, 1) - vcom(:) - vcc(:, 2) = colliders%vb(:, 2) - vcom(:) - colliders%L_orbit(:,:) = mxc(:,:) .cross. vcc(:,:) - - ! Destroy the kinship relationships for all members of this colliders%idx - call pl%reset_kinship(colliders%idx(:)) - - return - end function symba_collision_consolidate_colliders - - - module subroutine symba_collision_encounter_extract_collisions(self, system, param) - !! author: David A. Minton - !! - !! Processes the pl-pl encounter list remove only those encounters that led to a collision - !! - implicit none - ! Arguments - class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - ! Internals - logical, dimension(:), allocatable :: lplpl_collision - logical, dimension(:), allocatable :: lplpl_unique_parent - integer(I4B), dimension(:), pointer :: plparent - integer(I4B), dimension(:), allocatable :: collision_idx, unique_parent_idx - integer(I4B) :: i, index_coll, ncollisions, nunique_parent, nplplenc - - select type (pl => system%pl) - class is (symba_pl) - associate(plplenc_list => self, idx1 => self%index1, idx2 => self%index2, plparent => pl%kin%parent) - nplplenc = plplenc_list%nenc - allocate(lplpl_collision(nplplenc)) - lplpl_collision(:) = plplenc_list%status(1:nplplenc) == COLLISION - if (.not.any(lplpl_collision)) return - ! Collisions have been detected in this step. So we need to determine which of them are between unique bodies. - - ! Get the subset of pl-pl encounters that lead to a collision - ncollisions = count(lplpl_collision(:)) - allocate(collision_idx(ncollisions)) - collision_idx = pack([(i, i=1, nplplenc)], lplpl_collision) - - ! Get the subset of collisions that involve a unique pair of parents - allocate(lplpl_unique_parent(ncollisions)) - - lplpl_unique_parent(:) = plparent(idx1(collision_idx(:))) /= plparent(idx2(collision_idx(:))) - nunique_parent = count(lplpl_unique_parent(:)) - allocate(unique_parent_idx(nunique_parent)) - unique_parent_idx = pack(collision_idx(:), lplpl_unique_parent(:)) - - ! Scrub all pl-pl collisions involving unique pairs of parents, which will remove all duplicates and leave behind - ! all pairs that have themselves as parents but are not part of the unique parent list. This can hapepn in rare cases - ! due to restructuring of parent/child relationships when there are large numbers of multi-body collisions in a single - ! step - lplpl_unique_parent(:) = .true. - do index_coll = 1, ncollisions - associate(ip1 => plparent(idx1(collision_idx(index_coll))), ip2 => plparent(idx2(collision_idx(index_coll)))) - lplpl_unique_parent(:) = .not. ( any(plparent(idx1(unique_parent_idx(:))) == ip1) .or. & - any(plparent(idx2(unique_parent_idx(:))) == ip1) .or. & - any(plparent(idx1(unique_parent_idx(:))) == ip2) .or. & - any(plparent(idx2(unique_parent_idx(:))) == ip2) ) - end associate - end do - - ! Reassemble collision index list to include only those containing the unique pairs of parents, plus all the non-unique pairs that don't - ! contain a parent body on the unique parent list. - ncollisions = nunique_parent + count(lplpl_unique_parent) - collision_idx = [unique_parent_idx(:), pack(collision_idx(:), lplpl_unique_parent(:))] - - ! Create a mask that contains only the pl-pl encounters that did not result in a collision, and then discard them - lplpl_collision(:) = .false. - lplpl_collision(collision_idx(:)) = .true. - call plplenc_list%spill(system%plplcollision_list, lplpl_collision, ldestructive=.true.) ! Extract any encounters that are not collisions from the list. - end associate - end select - - return - end subroutine symba_collision_encounter_extract_collisions - - - module subroutine symba_collision_make_colliders_pl(self, idx) - !! author: Jennifer L.L. Pouplin, Carlisle A. wishard, and David A. Minton - !! - !! When a single body is involved in more than one collision in a single step, it becomes part of a colliders%idx. - !! The largest body involved in a multi-body collision is the "parent" and all bodies that collide with it are its "children," - !! including those that collide with the children. - !! - !! Adapted from David E. Kaufmann's Swifter routine symba_merge_pl.f90 - !! - !! Adapted from Hal Levison's Swift routine symba5_merge.f - implicit none - ! Arguments - class(symba_pl), intent(inout) :: self !! SyMBA massive body object - integer(I4B), dimension(2), intent(in) :: idx !! Array holding the indices of the two bodies involved in the collision - ! Internals - integer(I4B) :: i, j, index_parent, index_child, p1, p2 - integer(I4B) :: nchild_inherit, nchild_orig, nchild_new - integer(I4B), dimension(:), allocatable :: temp - - associate(pl => self) - p1 = pl%kin(idx(1))%parent - p2 = pl%kin(idx(2))%parent - if (p1 == p2) return ! This is a collision between to children of a shared parent. We will ignore it. - - if (pl%mass(p1) > pl%mass(p2)) then - index_parent = p1 - index_child = p2 - else - index_parent = p2 - index_child = p1 - end if - - ! Expand the child array (or create it if necessary) and copy over the previous lists of children - nchild_orig = pl%kin(index_parent)%nchild - nchild_inherit = pl%kin(index_child)%nchild - nchild_new = nchild_orig + nchild_inherit + 1 - allocate(temp(nchild_new)) - - if (nchild_orig > 0) temp(1:nchild_orig) = pl%kin(index_parent)%child(1:nchild_orig) - ! Find out if the child body has any children of its own. The new parent wil inherit these children - if (nchild_inherit > 0) then - temp(nchild_orig+1:nchild_orig+nchild_inherit) = pl%kin(index_child)%child(1:nchild_inherit) - do i = 1, nchild_inherit - j = pl%kin(index_child)%child(i) - ! Set the childrens' parent to the new parent - pl%kin(j)%parent = index_parent - end do - end if - call pl%reset_kinship([index_child]) - ! Add the new child to its parent - pl%kin(index_child)%parent = index_parent - temp(nchild_new) = index_child - ! Save the new child array to the parent - pl%kin(index_parent)%nchild = nchild_new - call move_alloc(from=temp, to=pl%kin(index_parent)%child) - end associate - - return - end subroutine symba_collision_make_colliders_pl - - - subroutine symba_collision_mergeaddsub(system, param, colliders, frag, status) - !! author: David A. Minton - !! - !! Fills the pl_discards and pl_adds with removed and added bodies - !! - implicit none - ! Arguments - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - class(fraggle_colliders), intent(inout) :: colliders !! Fraggle colliders object - class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragmentation system object - integer(I4B), intent(in) :: status !! Status flag to assign to adds - ! Internals - integer(I4B) :: i, ibiggest, ismallest, iother, nstart, nend, ncolliders, nfrag - logical, dimension(system%pl%nbody) :: lmask - class(symba_pl), allocatable :: plnew, plsub - character(*), parameter :: FRAGFMT = '("Newbody",I0.7)' - character(len=NAMELEN) :: newname - - select type(pl => system%pl) - class is (symba_pl) - select type(pl_discards => system%pl_discards) - class is (symba_merger) - associate(info => pl%info, pl_adds => system%pl_adds, cb => system%cb, npl => pl%nbody) - ! Add the colliders%idx bodies to the subtraction list - ncolliders = colliders%ncoll - nfrag = frag%nbody - - param%maxid_collision = max(param%maxid_collision, maxval(system%pl%info(:)%collision_id)) - param%maxid_collision = param%maxid_collision + 1 - - ! Setup new bodies - allocate(plnew, mold=pl) - call plnew%setup(nfrag, param) - ibiggest = colliders%idx(maxloc(pl%Gmass(colliders%idx(:)), dim=1)) - ismallest = colliders%idx(minloc(pl%Gmass(colliders%idx(:)), dim=1)) - - ! Copy over identification, information, and physical properties of the new bodies from the fragment list - plnew%id(1:nfrag) = frag%id(1:nfrag) - plnew%xb(:, 1:nfrag) = frag%xb(:, 1:nfrag) - plnew%vb(:, 1:nfrag) = frag%vb(:, 1:nfrag) - call pl%vb2vh(cb) - call pl%xh2xb(cb) - do i = 1, nfrag - plnew%rh(:,i) = frag%xb(:, i) - cb%xb(:) - plnew%vh(:,i) = frag%vb(:, i) - cb%vb(:) - end do - plnew%mass(1:nfrag) = frag%mass(1:nfrag) - plnew%Gmass(1:nfrag) = param%GU * frag%mass(1:nfrag) - plnew%radius(1:nfrag) = frag%radius(1:nfrag) - plnew%density(1:nfrag) = frag%mass(1:nfrag) / frag%radius(1:nfrag) - call plnew%set_rhill(cb) - - select case(status) - case(DISRUPTION) - plnew%status(1:nfrag) = NEW_PARTICLE - do i = 1, nfrag - write(newname, FRAGFMT) frag%id(i) - call plnew%info(i)%set_value(origin_type="Disruption", origin_time=system%t, name=newname, & - origin_rh=plnew%rh(:,i), & - origin_vh=plnew%vh(:,i), collision_id=param%maxid_collision) - end do - do i = 1, ncolliders - if (colliders%idx(i) == ibiggest) then - iother = ismallest - else - iother = ibiggest - end if - call pl%info(colliders%idx(i))%set_value(status="Disruption", discard_time=system%t, & - discard_rh=pl%rh(:,i), discard_vh=pl%vh(:,i), discard_body_id=iother) - end do - case(SUPERCATASTROPHIC) - plnew%status(1:nfrag) = NEW_PARTICLE - do i = 1, nfrag - write(newname, FRAGFMT) frag%id(i) - call plnew%info(i)%set_value(origin_type="Supercatastrophic", origin_time=system%t, name=newname, & - origin_rh=plnew%rh(:,i), origin_vh=plnew%vh(:,i), & - collision_id=param%maxid_collision) - end do - do i = 1, ncolliders - if (colliders%idx(i) == ibiggest) then - iother = ismallest - else - iother = ibiggest - end if - call pl%info(colliders%idx(i))%set_value(status="Supercatastrophic", discard_time=system%t, & - discard_rh=pl%rh(:,i), discard_vh=pl%vh(:,i), & - discard_body_id=iother) - end do - case(HIT_AND_RUN_DISRUPT) - call plnew%info(1)%copy(pl%info(ibiggest)) - plnew%status(1) = OLD_PARTICLE - do i = 2, nfrag - write(newname, FRAGFMT) frag%id(i) - call plnew%info(i)%set_value(origin_type="Hit and run fragment", origin_time=system%t, name=newname, & - origin_rh=plnew%rh(:,i), origin_vh=plnew%vh(:,i), & - collision_id=param%maxid_collision) - end do - do i = 1, ncolliders - if (colliders%idx(i) == ibiggest) cycle - iother = ibiggest - call pl%info(colliders%idx(i))%set_value(status="Hit and run fragmention", discard_time=system%t, & - discard_rh=pl%rh(:,i), discard_vh=pl%vh(:,i), & - discard_body_id=iother) - end do - case(MERGED) - call plnew%info(1)%copy(pl%info(ibiggest)) - plnew%status(1) = OLD_PARTICLE - do i = 1, ncolliders - if (colliders%idx(i) == ibiggest) cycle - - iother = ibiggest - call pl%info(colliders%idx(i))%set_value(status="MERGED", discard_time=system%t, discard_rh=pl%rh(:,i), & - discard_vh=pl%vh(:,i), discard_body_id=iother) - end do - end select - - if (param%lrotation) then - plnew%Ip(:, 1:nfrag) = frag%Ip(:, 1:nfrag) - plnew%rot(:, 1:nfrag) = frag%rot(:, 1:nfrag) - end if - - ! if (param%ltides) then - ! plnew%Q = pl%Q(ibiggest) - ! plnew%k2 = pl%k2(ibiggest) - ! plnew%tlag = pl%tlag(ibiggest) - ! end if - - !Copy over or set integration parameters for new bodies - plnew%lcollision(1:nfrag) = .false. - plnew%ldiscard(1:nfrag) = .false. - plnew%levelg(1:nfrag) = pl%levelg(ibiggest) - plnew%levelm(1:nfrag) = pl%levelm(ibiggest) - - ! Log the properties of the new bodies - call fraggle_io_log_pl(plnew, param) - - ! Append the new merged body to the list - nstart = pl_adds%nbody + 1 - nend = pl_adds%nbody + nfrag - call pl_adds%append(plnew, lsource_mask=[(.true., i=1, nfrag)]) - ! Record how many bodies were added in this event - pl_adds%ncomp(nstart:nend) = plnew%nbody - - ! Add the discarded bodies to the discard list - pl%status(colliders%idx(:)) = MERGED - pl%ldiscard(colliders%idx(:)) = .true. - pl%lcollision(colliders%idx(:)) = .true. - lmask(:) = .false. - lmask(colliders%idx(:)) = .true. - - call plnew%setup(0, param) - deallocate(plnew) - - allocate(plsub, mold=pl) - call pl%spill(plsub, lmask, ldestructive=.false.) - - nstart = pl_discards%nbody + 1 - nend = pl_discards%nbody + ncolliders - call pl_discards%append(plsub, lsource_mask=[(.true., i = 1, ncolliders)]) - - ! Record how many bodies were subtracted in this event - pl_discards%ncomp(nstart:nend) = ncolliders - - call plsub%setup(0, param) - deallocate(plsub) - end associate - end select - end select - - return - end subroutine symba_collision_mergeaddsub - - - module subroutine symba_collision_resolve_fragmentations(self, system, param) - !! author: David A. Minton - !! - !! Process list of collisions, determine the collisional regime, and then create fragments. - !! - implicit none - ! Arguments - class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - ! Internals - ! Internals - integer(I4B), dimension(2) :: idx_parent !! Index of the two bodies considered the "parents" of the collision - logical :: lgoodcollision - integer(I4B) :: i - type(fraggle_colliders) :: colliders !! Fraggle colliders object - type(fraggle_fragments) :: frag !! Fraggle fragmentation system object - - associate(plplcollision_list => self, ncollisions => self%nenc, idx1 => self%index1, idx2 => self%index2) - select type(pl => system%pl) - class is (symba_pl) - select type (cb => system%cb) - class is (symba_cb) - do i = 1, ncollisions - idx_parent(1) = pl%kin(idx1(i))%parent - idx_parent(2) = pl%kin(idx2(i))%parent - lgoodcollision = symba_collision_consolidate_colliders(pl, cb, param, idx_parent, colliders) - if ((.not. lgoodcollision) .or. any(pl%status(idx_parent(:)) /= COLLISION)) cycle - - call colliders%regime(frag, system, param) - - select case (frag%regime) - case (COLLRESOLVE_REGIME_DISRUPTION, COLLRESOLVE_REGIME_SUPERCATASTROPHIC) - plplcollision_list%status(i) = symba_collision_casedisruption(system, param, colliders, frag) - case (COLLRESOLVE_REGIME_HIT_AND_RUN) - plplcollision_list%status(i) = symba_collision_casehitandrun(system, param, colliders, frag) - case (COLLRESOLVE_REGIME_MERGE, COLLRESOLVE_REGIME_GRAZE_AND_MERGE) - plplcollision_list%status(i) = symba_collision_casemerge(system, param, colliders, frag) - case default - write(*,*) "Error in symba_collision, unrecognized collision regime" - call util_exit(FAILURE) - end select - end do - end select - end select - end associate - - return - end subroutine symba_collision_resolve_fragmentations - - - module subroutine symba_collision_resolve_mergers(self, system, param) - !! author: David A. Minton - !! - !! Process list of collisions and merge colliding bodies together. - !! - implicit none - ! Arguments - class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - ! Internals - integer(I4B), dimension(2) :: idx_parent !! Index of the two bodies considered the "parents" of the collision - logical :: lgoodcollision - integer(I4B) :: i - type(fraggle_colliders) :: colliders !! Fraggle colliders object - type(fraggle_fragments) :: frag !! Fraggle fragmentation system object - - associate(plplcollision_list => self, ncollisions => self%nenc, idx1 => self%index1, idx2 => self%index2) - select type(pl => system%pl) - class is (symba_pl) - select type(cb => system%cb) - class is (symba_cb) - do i = 1, ncollisions - idx_parent(1) = pl%kin(idx1(i))%parent - idx_parent(2) = pl%kin(idx2(i))%parent - lgoodcollision = symba_collision_consolidate_colliders(pl, cb, param, idx_parent, colliders) - if (.not. lgoodcollision) cycle - if (any(pl%status(idx_parent(:)) /= COLLISION)) cycle ! One of these two bodies has already been resolved - - frag%regime = COLLRESOLVE_REGIME_MERGE - frag%mtot = sum(colliders%mass(:)) - frag%mass_dist(1) = frag%mtot - frag%mass_dist(2) = 0.0_DP - frag%mass_dist(3) = 0.0_DP - frag%xbcom(:) = (colliders%mass(1) * colliders%xb(:,1) + colliders%mass(2) * colliders%xb(:,2)) / frag%mtot - frag%vbcom(:) = (colliders%mass(1) * colliders%vb(:,1) + colliders%mass(2) * colliders%vb(:,2)) / frag%mtot - plplcollision_list%status(i) = symba_collision_casemerge(system, param, colliders, frag) - end do - end select - end select - end associate - - return - end subroutine symba_collision_resolve_mergers - - - module subroutine symba_collision_resolve_plplenc(self, system, param, t, dt, irec) - !! author: David A. Minton - !! - !! Process the pl-pl collision list, then modifiy the massive bodies based on the outcome of the collision - !! - implicit none - ! Arguments - class(symba_plplenc), intent(inout) :: self !! SyMBA pl-pl encounter list - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - real(DP), intent(in) :: t !! Current simulation time - real(DP), intent(in) :: dt !! Current simulation step size - integer(I4B), intent(in) :: irec !! Current recursion level - ! Internals - real(DP) :: Eorbit_before, Eorbit_after - logical :: lplpl_collision - character(len=STRMAX) :: timestr - class(symba_parameters), allocatable :: tmp_param - - associate(plplenc_list => self, plplcollision_list => system%plplcollision_list) - select type(pl => system%pl) - class is (symba_pl) - select type(param) - class is (symba_parameters) - if (plplcollision_list%nenc == 0) return ! No collisions to resolve - ! Make sure that the heliocentric and barycentric coordinates are consistent with each other - call pl%vb2vh(system%cb) - call pl%xh2xb(system%cb) - - ! Get the energy before the collision is resolved - if (param%lenergy) then - call system%get_energy_and_momentum(param) - Eorbit_before = system%te - end if - - do - write(timestr,*) t - call io_log_one_message(FRAGGLE_LOG_OUT, "") - call io_log_one_message(FRAGGLE_LOG_OUT, "***********************************************************" // & - "***********************************************************") - call io_log_one_message(FRAGGLE_LOG_OUT, "Collision between massive bodies detected at time t = " // & - trim(adjustl(timestr))) - call io_log_one_message(FRAGGLE_LOG_OUT, "***********************************************************" // & - "***********************************************************") - allocate(tmp_param, source=param) - if (param%lfragmentation) then - call plplcollision_list%resolve_fragmentations(system, param) - else - call plplcollision_list%resolve_mergers(system, param) - end if - - ! Destroy the collision list now that the collisions are resolved - call plplcollision_list%setup(0_I8B) - - if ((system%pl_adds%nbody == 0) .and. (system%pl_discards%nbody == 0)) exit - - ! Save the add/discard information to file - call system%write_discard(tmp_param) - - ! Rearrange the arrays: Remove discarded bodies, add any new bodies, resort, and recompute all indices and encounter lists - call pl%rearray(system, tmp_param) - - ! Destroy the add/discard list so that we don't append the same body multiple times if another collision is detected - call system%pl_discards%setup(0, param) - call system%pl_adds%setup(0, param) - deallocate(tmp_param) - - ! Check whether or not any of the particles that were just added are themselves in a collision state. This will generate a new plplcollision_list - lplpl_collision = plplenc_list%collision_check(system, param, t, dt, irec) - - if (.not.lplpl_collision) exit - end do - - if (param%lenergy) then - call system%get_energy_and_momentum(param) - Eorbit_after = system%te - system%Ecollisions = system%Ecollisions + (Eorbit_after - Eorbit_before) - end if - - end select - end select - end associate - - return - end subroutine symba_collision_resolve_plplenc - - - module subroutine symba_collision_resolve_pltpenc(self, system, param, t, dt, irec) - !! author: David A. Minton - !! - !! Process the pl-tp collision list, then modifiy the massive bodies based on the outcome of the collision - !! - implicit none - ! Arguments - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions - real(DP), intent(in) :: t !! Current simulation tim - real(DP), intent(in) :: dt !! Current simulation step size - integer(I4B), intent(in) :: irec !! Current recursion level - - ! Make sure coordinate systems are all synced up due to being inside the recursion at this point - call system%pl%vb2vh(system%cb) - call system%tp%vb2vh(system%cb%vb) - call system%pl%b2h(system%cb) - call system%tp%b2h(system%cb) - - ! Discard the collider - call system%tp%discard(system, param) - - return - end subroutine symba_collision_resolve_pltpenc - -end submodule s_symba_collision \ No newline at end of file From ea48c5faada9e2c2522123b9bfe4e756329ecc03 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Wed, 7 Dec 2022 12:22:17 -0500 Subject: [PATCH 20/20] Changed the naming scheme behavior for disruptions. For non-supercat, the largest body keeps its id and name --- examples/Fragmentation/Fragmentation_Movie.py | 2 +- src/symba/symba_collision.f90 | 41 ++++++++----------- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/examples/Fragmentation/Fragmentation_Movie.py b/examples/Fragmentation/Fragmentation_Movie.py index fa1203a8e..4e2ada041 100644 --- a/examples/Fragmentation/Fragmentation_Movie.py +++ b/examples/Fragmentation/Fragmentation_Movie.py @@ -97,7 +97,7 @@ def __init__(self, sim, animfile, title, style, nskip=1): self.body_color_list = {'Initial conditions': 'xkcd:windows blue', 'Disruption': 'xkcd:baby poop', 'Supercatastrophic': 'xkcd:shocking pink', - 'Hit and run fragment': 'xkcd:blue with a hint of purple', + 'Hit and run fragmention': 'xkcd:blue with a hint of purple', 'Central body': 'xkcd:almost black'} # Set up the figure and axes... diff --git a/src/symba/symba_collision.f90 b/src/symba/symba_collision.f90 index 06c474078..eb891eb23 100644 --- a/src/symba/symba_collision.f90 +++ b/src/symba/symba_collision.f90 @@ -26,7 +26,7 @@ module function symba_collision_casedisruption(system, param, colliders, frag) ! Result integer(I4B) :: status !! Status flag assigned to this outcome ! Internals - integer(I4B) :: i, nfrag + integer(I4B) :: i, ibiggest, nfrag logical :: lfailure character(len=STRMAX) :: message @@ -63,11 +63,16 @@ module function symba_collision_casedisruption(system, param, colliders, frag) select case(frag%regime) case(COLLRESOLVE_REGIME_DISRUPTION) status = DISRUPTION + ibiggest = colliders%idx(maxloc(system%pl%Gmass(colliders%idx(:)), dim=1)) + frag%id(1) = system%pl%id(ibiggest) + frag%id(2:nfrag) = [(i, i = param%maxid + 1, param%maxid + nfrag - 1)] + param%maxid = frag%id(nfrag) case(COLLRESOLVE_REGIME_SUPERCATASTROPHIC) status = SUPERCATASTROPHIC + frag%id(1:nfrag) = [(i, i = param%maxid + 1, param%maxid + nfrag)] + param%maxid = frag%id(nfrag) end select - frag%id(1:nfrag) = [(i, i = param%maxid + 1, param%maxid + nfrag)] - param%maxid = frag%id(nfrag) + call symba_collision_mergeaddsub(system, param, colliders, frag, status) end if @@ -720,7 +725,7 @@ subroutine symba_collision_mergeaddsub(system, param, colliders, frag, status) logical, dimension(system%pl%nbody) :: lmask class(symba_pl), allocatable :: plnew, plsub character(*), parameter :: FRAGFMT = '("Newbody",I0.7)' - character(len=NAMELEN) :: newname + character(len=NAMELEN) :: newname, origin_type select type(pl => system%pl) class is (symba_pl) @@ -757,23 +762,6 @@ subroutine symba_collision_mergeaddsub(system, param, colliders, frag, status) call plnew%set_rhill(cb) select case(status) - case(DISRUPTION) - plnew%status(1:nfrag) = NEW_PARTICLE - do i = 1, nfrag - write(newname, FRAGFMT) frag%id(i) - call plnew%info(i)%set_value(origin_type="Disruption", origin_time=system%t, name=newname, & - origin_rh=plnew%rh(:,i), & - origin_vh=plnew%vh(:,i), collision_id=param%maxid_collision) - end do - do i = 1, ncolliders - if (colliders%idx(i) == ibiggest) then - iother = ismallest - else - iother = ibiggest - end if - call pl%info(colliders%idx(i))%set_value(status="Disruption", discard_time=system%t, & - discard_rh=pl%rh(:,i), discard_vh=pl%vh(:,i), discard_body_id=iother) - end do case(SUPERCATASTROPHIC) plnew%status(1:nfrag) = NEW_PARTICLE do i = 1, nfrag @@ -792,19 +780,24 @@ subroutine symba_collision_mergeaddsub(system, param, colliders, frag, status) discard_rh=pl%rh(:,i), discard_vh=pl%vh(:,i), & discard_body_id=iother) end do - case(HIT_AND_RUN_DISRUPT) + case(DISRUPTION,HIT_AND_RUN_DISRUPT) + if (status == DISRUPTION) then + write(origin_type,*) "Disruption" + else if (status == HIT_AND_RUN_DISRUPT) then + write(origin_type,*) "Hit and run fragmention" + end if call plnew%info(1)%copy(pl%info(ibiggest)) plnew%status(1) = OLD_PARTICLE do i = 2, nfrag write(newname, FRAGFMT) frag%id(i) - call plnew%info(i)%set_value(origin_type="Hit and run fragment", origin_time=system%t, name=newname, & + call plnew%info(i)%set_value(origin_type=origin_type, origin_time=system%t, name=newname, & origin_rh=plnew%rh(:,i), origin_vh=plnew%vh(:,i), & collision_id=param%maxid_collision) end do do i = 1, ncolliders if (colliders%idx(i) == ibiggest) cycle iother = ibiggest - call pl%info(colliders%idx(i))%set_value(status="Hit and run fragmention", discard_time=system%t, & + call pl%info(colliders%idx(i))%set_value(status=origin_type, discard_time=system%t, & discard_rh=pl%rh(:,i), discard_vh=pl%vh(:,i), & discard_body_id=iother) end do