diff --git a/.gitignore b/.gitignore index 67bc9fa6b..fe0a24d5d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ !README.md !README.swifter !*.in +dump* !example/cleanup !example/swifter_symba_omp !Makefile diff --git a/Makefile b/Makefile index 94dfbceeb..b5fb81071 100644 --- a/Makefile +++ b/Makefile @@ -45,9 +45,11 @@ #****************************************************************************** SWIFTEST_MODULES = swiftest_globals.f90 \ + swiftest_operators.f90 \ lambda_function.f90\ + walltime_classes.f90 \ swiftest_classes.f90 \ - swiftest_operators.f90 \ + fraggle_classes.f90 \ whm_classes.f90 \ rmvs_classes.f90 \ helio_classes.f90 \ @@ -57,13 +59,13 @@ SWIFTEST_MODULES = swiftest_globals.f90 \ include Makefile.Defines -MODULES = $(SWIFTEST_MODULES) $(USER_MODULES) +MODULES = $(SWIFTEST_MODULES) $(USER_MODULES) .PHONY : all mod lib libdir drivers bin clean force % : %.f90 force - $(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include $< -o $@ \ - -L$(SWIFTEST_HOME)/lib -lswiftest + $(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include $< -o $@ \ + -L$(SWIFTEST_HOME)/lib -lswiftest -L$(NETCDF_FORTRAN_HOME)/lib -lnetcdf -lnetcdff $(INSTALL_PROGRAM) $@ $(SWIFTEST_HOME)/bin rm -f $@ @@ -75,7 +77,7 @@ all: mod: cd $(SWIFTEST_HOME)/src/modules/; \ - $(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include -c $(MODULES); \ + $(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include -c $(MODULES); \ $(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o; \ $(INSTALL_DATA) *.mod *.smod $(SWIFTEST_HOME)/include; \ rm -f *.o *.mod *.smod @@ -91,27 +93,27 @@ lib: ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \ ln -s $(SWIFTEST_HOME)/Makefile .; \ make libdir - cd $(SWIFTEST_HOME)/src/eucl; \ + cd $(SWIFTEST_HOME)/src/fraggle; \ rm -f Makefile.Defines Makefile; \ ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \ ln -s $(SWIFTEST_HOME)/Makefile .; \ make libdir - cd $(SWIFTEST_HOME)/src/fragmentation; \ + cd $(SWIFTEST_HOME)/src/gr; \ rm -f Makefile.Defines Makefile; \ ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \ ln -s $(SWIFTEST_HOME)/Makefile .; \ make libdir - cd $(SWIFTEST_HOME)/src/gr; \ + cd $(SWIFTEST_HOME)/src/io; \ rm -f Makefile.Defines Makefile; \ ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \ ln -s $(SWIFTEST_HOME)/Makefile .; \ make libdir - cd $(SWIFTEST_HOME)/src/io; \ + cd $(SWIFTEST_HOME)/src/kick; \ rm -f Makefile.Defines Makefile; \ ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \ ln -s $(SWIFTEST_HOME)/Makefile .; \ make libdir - cd $(SWIFTEST_HOME)/src/kick; \ + cd $(SWIFTEST_HOME)/src/netcdf; \ rm -f Makefile.Defines Makefile; \ ln -s $(SWIFTEST_HOME)/Makefile.Defines .; \ ln -s $(SWIFTEST_HOME)/Makefile .; \ @@ -173,7 +175,7 @@ lib: make libdir libdir: - $(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include -c *.f90; \ + $(FORTRAN) $(FFLAGS) -I$(SWIFTEST_HOME)/include -I$(NETCDF_FORTRAN_HOME)/include -c *.f90; \ $(AR) rv $(SWIFTEST_HOME)/lib/libswiftest.a *.o *.smod; \ $(INSTALL_DATA) *.smod $(SWIFTEST_HOME)/include; \ rm -f *.o *.smod @@ -193,13 +195,13 @@ clean: cd $(SWIFTEST_HOME)/src/modules; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/discard; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/drift; rm -f Makefile.Defines Makefile *.gc* - cd $(SWIFTEST_HOME)/src/eucl; rm -f Makefile.Defines Makefile *.gc* - cd $(SWIFTEST_HOME)/src/fragmentation; rm -f Makefile.Defines Makefile *.gc* + cd $(SWIFTEST_HOME)/src/fraggle; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/gr; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/helio; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/io; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/kick; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/main; rm -f Makefile.Defines Makefile *.gc* + cd $(SWIFTEST_HOME)/src/netcdf; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/obl; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/operators; rm -f Makefile.Defines Makefile *.gc* cd $(SWIFTEST_HOME)/src/orbel; rm -f Makefile.Defines Makefile *.gc* diff --git a/Makefile.Defines b/Makefile.Defines index 820ad6d7d..36de2cdb7 100644 --- a/Makefile.Defines +++ b/Makefile.Defines @@ -51,27 +51,29 @@ ADVIXE_FLAGS = -g -O2 -qopt-report=5 -vec -vecabi=cmdtarget -simd -shared-intel VTUNE_FLAGS = -g -O2 -vec -simd -shared-intel -qopenmp -debug inline-debug-info -parallel-source-info=2 -parallel -DTBB_DEBUG -DTBB_USE_THREADING_TOOLS -qopenmp -fp-model no-except -mp1 -xhost -traceback #Be sure to set the environment variable KMP_FORKJOIN_FRAMES=1 for OpenMP debuging in vtune -IDEBUG = -O0 -nogen-interfaces -no-pie -no-ftz -fpe-all=0 -g -traceback -mp1 -fp-model strict -fpe0 -debug all -align all -pad -ip -prec-div -prec-sqrt -assume protect-parens -CB -no-wrap-margin -init=snan,arrays +IDEBUG = -O0 -init=snan,arrays -nogen-interfaces -no-pie -no-ftz -fpe-all=0 -g -traceback -mp1 -fp-model strict -fpe0 -debug all -align all -pad -ip -prec-div -prec-sqrt -assume protect-parens -CB -no-wrap-margin STRICTREAL = -fp-model strict -fp-model no-except -prec-div -prec-sqrt -assume protect-parens SIMDVEC = -simd -xhost -align all -assume contiguous_assumed_shape -vecabi=cmdtarget -prec-div -prec-sqrt -assume protect-parens -PAR = -parallel -qopenmp +PAR = -qopenmp #-parallel #Something goes wrong in SyMBA at the moment with auto-paralellization enabled HEAPARR = -heap-arrays 1048576 -OPTIMIZE = -qopt-report=5 +OPTREPORT = -qopt-report=5 +IPRODUCTION = -init=snan,arrays -no-wrap-margin -O3 $(STRICTREAL) $(PAR) $(SIMDVEC) $(HEAPARR) #gfortran flags -GDEBUG = -g -O0 -fbacktrace -fbounds-check -GPRODUCTION = -O3 -GPAR = -fopenmp -ftree-parallelize-loops=4 -GMEM = -fsanitize=undefined -fsanitize=address -fsanitize=leak +GDEBUG = -g -Og -fbacktrace -fbounds-check -ffree-line-length-none +GPAR = -fopenmp #-ftree-parallelize-loops=4 +GMEM = -fsanitize-address-use-after-scope -fstack-check -fsanitize=bounds-strict -fsanitize=undefined -fsanitize=signed-integer-overflow -fsanitize=object-size -fstack-protector-all GWARNINGS = -Wall -Warray-bounds -Wimplicit-interface -Wextra -Warray-temporaries +GPRODUCTION = -O3 -ffree-line-length-none $(GPAR) -#FFLAGS = $(IDEBUG) $(HEAPARR) -FFLAGS = -init=snan,arrays -no-wrap-margin -O3 $(STRICTREAL) $(SIMDVEC) $(PAR) +#FFLAGS = $(IDEBUG) $(HEAPARR) $(SIMDVEC) $(PAR) +FFLAGS = $(IPRODUCTION) $(OPTREPORT) FORTRAN = ifort #AR = xiar #FORTRAN = gfortran -#FFLAGS = -ffree-line-length-none $(GDEBUG) #$(GMEM) +#FFLAGS = $(GDEBUG) $(GMEM) $(GPAR) +#FFLAGS = $(GPRODUCTION) -g -fbacktrace #-fcheck=all #-Wall AR = ar # DO NOT include in CFLAGS the "-c" option to compile object only diff --git a/examples/helio_gr_test/cb.swiftest.in b/examples/helio_gr_test/cb.swiftest.in index e4a010b1e..64406c4cf 100644 --- a/examples/helio_gr_test/cb.swiftest.in +++ b/examples/helio_gr_test/cb.swiftest.in @@ -1,4 +1,4 @@ -0 +Sun 39.476926408897626 0.004650467260962157 4.7535806948127355e-12 diff --git a/examples/helio_gr_test/init_cond.py b/examples/helio_gr_test/init_cond.py index 5b378da74..e4351de42 100755 --- a/examples/helio_gr_test/init_cond.py +++ b/examples/helio_gr_test/init_cond.py @@ -5,8 +5,7 @@ sim.param['PL_IN'] = "pl.swiftest.in" sim.param['TP_IN'] = "tp.swiftest.in" sim.param['CB_IN'] = "cb.swiftest.in" -sim.param['BIN_OUT'] = "bin.swiftest.dat" -sim.param['ENC_OUT'] = "enc.swiftest.dat" +sim.param['BIN_OUT'] = "bin.swiftest.nc" sim.param['MU2KG'] = swiftest.MSun sim.param['TU2S'] = swiftest.YR2S @@ -22,9 +21,11 @@ sim.param['CHK_RMIN'] = swiftest.RSun / swiftest.AU2M sim.param['CHK_RMAX'] = 1000.0 sim.param['CHK_EJECT'] = 1000.0 -sim.param['OUT_FORM'] = "EL" sim.param['OUT_STAT'] = "UNKNOWN" -sim.param['RHILL_PRESENT'] = "NO" +sim.param['IN_FORM'] = "EL" +sim.param['OUT_FORM'] = "XVEL" +sim.param['OUT_TYPE'] = "NETCDF_DOUBLE" +sim.param['RHILL_PRESENT'] = "YES" sim.param['GR'] = 'YES' bodyid = { diff --git a/examples/helio_gr_test/param.swifter.in b/examples/helio_gr_test/param.swifter.in index acca6f7aa..14a2e67ab 100644 --- a/examples/helio_gr_test/param.swifter.in +++ b/examples/helio_gr_test/param.swifter.in @@ -4,24 +4,24 @@ TSTOP 1000.0 DT 0.0006844626967830253 ISTEP_OUT 1461 ISTEP_DUMP 1461 -OUT_FORM EL -OUT_TYPE REAL8 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE OUT_STAT UNKNOWN IN_TYPE ASCII PL_IN pl.swifter.in TP_IN tp.swifter.in BIN_OUT bin.swifter.dat -ENC_OUT enc.swifter.dat CHK_QMIN 0.004650467260962157 CHK_RMIN 0.004650467260962157 CHK_RMAX 1000.0 CHK_EJECT 1000.0 CHK_QMIN_COORD HELIO CHK_QMIN_RANGE 0.004650467260962157 1000.0 +ENC_OUT enc.swifter.dat EXTRA_FORCE NO BIG_DISCARD NO CHK_CLOSE YES -RHILL_PRESENT NO +RHILL_PRESENT YES C 63241.07708426628 J2 4.7535806948127355e-12 J4 -2.2473967953572827e-18 diff --git a/examples/helio_gr_test/param.swiftest.in b/examples/helio_gr_test/param.swiftest.in index f5a748693..06cd551b5 100644 --- a/examples/helio_gr_test/param.swiftest.in +++ b/examples/helio_gr_test/param.swiftest.in @@ -4,15 +4,14 @@ TSTOP 1000.0 DT 0.0006844626967830253 ISTEP_OUT 1461 ISTEP_DUMP 1461 -OUT_FORM EL -OUT_TYPE REAL8 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE OUT_STAT UNKNOWN IN_TYPE ASCII PL_IN pl.swiftest.in TP_IN tp.swiftest.in CB_IN cb.swiftest.in -BIN_OUT bin.swiftest.dat -ENC_OUT enc.swiftest.dat +BIN_OUT bin.swiftest.nc CHK_QMIN 0.004650467260962157 CHK_RMIN 0.004650467260962157 CHK_RMAX 1000.0 @@ -22,15 +21,15 @@ CHK_QMIN_RANGE 0.004650467260962157 1000.0 MU2KG 1.988409870698051e+30 TU2S 31557600.0 DU2M 149597870700.0 +IN_FORM EL +ENC_OUT enc.dat EXTRA_FORCE NO +DISCARD_OUT discard.out BIG_DISCARD NO CHK_CLOSE YES -RHILL_PRESENT NO +RHILL_PRESENT YES FRAGMENTATION NO ROTATION NO TIDES NO ENERGY NO GR YES -YARKOVSKY NO -YORP NO -MTINY 0.0 diff --git a/examples/helio_gr_test/pl.swifter.in b/examples/helio_gr_test/pl.swifter.in index f39e7af56..9add1dc1a 100644 --- a/examples/helio_gr_test/pl.swifter.in +++ b/examples/helio_gr_test/pl.swifter.in @@ -1,36 +1,36 @@ 9 -0 39.476926408897625196 +0 39.476926408897626 0.0 0.0 0.0 0.0 0.0 0.0 -1 6.5537098095653139645e-06 +1 6.5537098095653139645e-06 0.001475131156288637831 1.6306381826061645943e-05 --0.30949970210807342674 0.1619004125820537876 0.041620272188990829754 --6.8742992150644793847 -8.672423996611946485 -0.078109307586001638286 -2 9.663313399581537916e-05 +-0.0361820239646683528 -0.46276010580341980782 -0.034496398006472611675 +8.183688458560222766 -0.27616682338432374386 -0.7732476400340904169 +2 9.663313399581537916e-05 0.0067590747715647875607 4.0453784346544178454e-05 --0.5567137338251560985 -0.46074173273652380134 0.02580196630219121906 -4.6580776303108450487 -5.726444072926637749 -0.3473859047161406309 -3 0.000120026935827952453094 +0.04707194870345993154 -0.7255425078625500346 -0.012673782840571969424 +7.3226765098927520106 0.45143529808423807744 -0.4163607714267330732 +3 0.000120026935827952453094 0.01004493295891520948 4.25875607065040958e-05 -0.6978790186886838498 -0.73607603319120218366 3.261671020506711323e-05 -4.4579240279134950613 4.300011122687349501 -0.00022055769049333364448 -4 1.2739802010675941456e-05 +0.9784182446151709067 -0.2394545623617302943 7.8432240502479141865e-06 +1.3916805835822199726 6.0802455505175572043 -0.00029695052429473289775 +4 1.2739802010675941456e-05 0.007246527815634877893 2.265740805092889601e-05 --1.617661473167097963 0.38314370807747849534 0.04771055403546069218 --0.98751874613118001086 -4.5371239937302254657 -0.07086074102213555221 -5 0.037692251088985676735 +-1.64827450584581503 -0.04818173529735803734 0.039422108862210397673 +0.3393812176064170994 -4.672429323734897043 -0.1062469093563351878 +5 0.037692251088985676735 0.3552712221482522291 0.00046732617030490929307 -4.1527454588897487753 -2.8347492039446908763 -0.081136554176388195336 -1.5225069137843642898 2.4087104911325327961 -0.044067446366273183833 -6 0.011285899820091272997 +4.2888079225575648223 -2.6068082746690541818 -0.08512743586621877856 +1.4000629754656241179 2.4876377693334669565 -0.04165606656604725836 +6 0.011285899820091272997 0.4376655756331854547 0.00038925687730393611812 -6.39471595410062843 -7.621162747287802297 -0.121992225877669294154 -1.4493167787574136286 1.3075474785896286071 -0.08039429377859412155 -7 0.0017236589478267730203 +6.528501376442308768 -7.4981197287393284157 -0.12945412016904539465 +1.4250071771025915456 1.33599992135721594 -0.07992159012428249671 +7 0.0017236589478267730203 0.46970222329693796102 0.00016953449859497231466 -14.793135356927480828 13.074218343364380601 -0.14311846037737518955 --0.9605086875596024784 1.0118431725941020164 0.016148779866732710198 -8 0.0020336100526728302319 +14.703390521074780395 13.168120788311910019 -0.14161196287363458923 +-0.96768368440931795183 1.0056701102995595347 0.01621895610074016891 +8 0.0020336100526728302319 0.78148373992374883156 0.000164587904124493665 -29.568629894896030663 -4.5543028991960081697 -0.58771107137394917874 -0.16867624969736024011 1.1427992197933557251 -0.027387722828706092838 +29.584136736556288838 -4.4478894754775319953 -0.5902566603324214123 +0.16448791459483679965 1.1435219564135608914 -0.027304639012640681262 diff --git a/examples/helio_gr_test/pl.swiftest.in b/examples/helio_gr_test/pl.swiftest.in index b624d25ba..cd6a82534 100644 --- a/examples/helio_gr_test/pl.swiftest.in +++ b/examples/helio_gr_test/pl.swiftest.in @@ -1,33 +1,33 @@ 8 -1 6.5537098095653139645e-06 +Mercury 6.5537098095653139645e-06 0.001475131156288637831 1.6306381826061645943e-05 --0.30949970210807342674 0.1619004125820537876 0.041620272188990829754 --6.8742992150644793847 -8.672423996611946485 -0.078109307586001638286 -2 9.663313399581537916e-05 +0.38709993253896590737 0.20562614632859010921 7.0036272314159866426 +48.303648911363737284 29.187750438580689405 192.22398026813181104 +Venus 9.663313399581537916e-05 0.0067590747715647875607 4.0453784346544178454e-05 --0.5567137338251560985 -0.46074173273652380134 0.02580196630219121906 -4.6580776303108450487 -5.726444072926637749 -0.3473859047161406309 -3 0.000120026935827952453094 +0.7233249152313999675 0.006782779674600277614 3.3945084679511872139 +76.62172192899298295 55.11871576732421829 141.51944714681908977 +Earth 0.000120026935827952453094 0.01004493295891520948 4.25875607065040958e-05 -0.6978790186886838498 -0.73607603319120218366 3.261671020506711323e-05 -4.4579240279134950613 4.300011122687349501 -0.00022055769049333364448 -4 1.2739802010675941456e-05 +1.0000207198983319667 0.01667731166077134064 0.0027576432734417160447 +175.55813761562768605 287.40166532678227895 245.00485341438161413 +Mars 1.2739802010675941456e-05 0.007246527815634877893 2.265740805092889601e-05 --1.617661473167097963 0.38314370807747849534 0.04771055403546069218 --0.98751874613118001086 -4.5371239937302254657 -0.07086074102213555221 -5 0.037692251088985676735 +1.5236922769560579116 0.093361659829406723476 1.8479133359077690724 +49.490611477105659333 286.70751815915190264 210.36775515565921069 +Jupiter 0.037692251088985676735 0.3552712221482522291 0.00046732617030490929307 -4.1527454588897487753 -2.8347492039446908763 -0.081136554176388195336 -1.5225069137843642898 2.4087104911325327961 -0.044067446366273183833 -6 0.011285899820091272997 +5.203523661489898977 0.04851833897394460665 1.3035686835324369337 +100.51671881401649955 273.38319313278452682 318.65986979714938343 +Saturn 0.011285899820091272997 0.4376655756331854547 0.00038925687730393611812 -6.39471595410062843 -7.621162747287802297 -0.121992225877669294154 -1.4493167787574136286 1.3075474785896286071 -0.08039429377859412155 -7 0.0017236589478267730203 +9.581904852310625387 0.052236260603057811658 2.486258128114103183 +113.595257336893098454 335.64742317800698856 225.92836894588160135 +Uranus 0.0017236589478267730203 0.46970222329693796102 0.00016953449859497231466 -14.793135356927480828 13.074218343364380601 -0.14311846037737518955 --0.9605086875596024784 1.0118431725941020164 0.016148779866732710198 -8 0.0020336100526728302319 +19.238019712529130345 0.0442880601027018303 0.770350326736000679 +74.09520891350530292 95.7524345508490029 236.07863258800219342 +Neptune 0.0020336100526728302319 0.78148373992374883156 0.000164587904124493665 -29.568629894896030663 -4.5543028991960081697 -0.58771107137394917874 -0.16867624969736024011 1.1427992197933557251 -0.027387722828706092838 +30.291369954344219195 0.013531244039650480379 1.7689741418447819665 +131.74449502957048708 245.89296040993210113 334.5035290478779757 diff --git a/examples/in_form_el/cb.in b/examples/in_form_el/cb.in new file mode 100644 index 000000000..673a79459 --- /dev/null +++ b/examples/in_form_el/cb.in @@ -0,0 +1,5 @@ +0 +0.0002959122081920778 +0.004650467260962157 +4.7535806948127355e-12 +-2.2473967953572827e-18 diff --git a/examples/in_form_el/param.in b/examples/in_form_el/param.in new file mode 100644 index 000000000..409cd2d2b --- /dev/null +++ b/examples/in_form_el/param.in @@ -0,0 +1,35 @@ +! VERSION Swiftest parameter input from file param.in +T0 0.0 +TSTOP 365250000000.0 +DT 5.0 +ISTEP_OUT 7305000 +ISTEP_DUMP 7305000 +OUT_FORM EL +OUT_TYPE REAL8 +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN pl.in +TP_IN tp.in +CB_IN cb.in +BIN_OUT bin.dat +CHK_QMIN 0.004650467260962157 +CHK_RMIN 0.004650467260962157 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE 0.004650467260962157 1000.0 +MU2KG 1.988409870698051e+30 +TU2S 86400.0 +DU2M 149597870700.0 +IN_FORM EL +ENC_OUT enc.dat +EXTRA_FORCE NO +DISCARD_OUT discard.out +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION NO +TIDES NO +ENERGY NO +GR YES diff --git a/examples/in_form_el/pl.in b/examples/in_form_el/pl.in new file mode 100644 index 000000000..55748b408 --- /dev/null +++ b/examples/in_form_el/pl.in @@ -0,0 +1,33 @@ +8 +1 4.9125474498983625e-11 0.0014751256791533402 +1.6306381826061646e-05 +0.38710383731080894 0.24071190040066506 8.640070276952633 +30.683987164281632 57.949871930463694 151.08868778597147 +2 7.243452483873647e-10 0.0067591154147628296 +4.0453784346544176e-05 +0.7233315774753523 0.02498272794314777 2.4772002857938187 +125.76075677093282 6.742571718202682 350.2972657114627 +3 8.997011382166019e-10 0.010044745408888887 +4.25875607065041e-05 +0.9999904186618421 0.05232751342856539 2.0722848768764717 +113.84624589363827 312.12453079628943 148.9860363695549 +4 9.549535102761465e-11 0.007246758104365299 +2.2657408050928896e-05 +1.5236293140305446 0.005382832120155795 4.468216946001687 +325.6098790099478 152.40711385323957 110.04936074450407 +5 2.825345908631355e-07 0.3552714410085414 +0.0004673261703049093 +5.203095539549931 0.03063821583296288 1.3661365597246853 +113.82182400586191 303.52091573107697 96.03226696213453 +6 8.459715183006416e-08 0.43765112940564116 +0.00038925687730393614 +9.579329287028964 0.08182512713593486 2.54624964218005 +100.32672664745415 306.8523855342038 64.14978871000847 +7 1.2920249163736674e-08 0.4695173932519177 +0.00016953449859497232 +19.185526866180975 0.02725895554029442 0.6468816262831063 +75.84341829565291 203.1828812930829 337.91763726094723 +8 1.5243589003230834e-08 0.7812638143548571 +0.00016458790412449367 +30.033406636357004 0.014808837377897958 1.0172902231424474 +112.31047122167676 61.6982073585126 219.66063286932612 diff --git a/examples/in_form_el/tp.in b/examples/in_form_el/tp.in new file mode 100644 index 000000000..48e97fb82 --- /dev/null +++ b/examples/in_form_el/tp.in @@ -0,0 +1,76 @@ +25 +1030101 +1.9298376430729873 0.012639757841142886 24.991702977377773 +341.74785371597466 248.1210122966632 133.62225322652563 +1030102 +1.9576788467130908 0.027970945719088838 25.55968189226752 +168.9126943096874 174.5978360268346 251.14179333855816 +1030103 +1.967626111006107 0.09226955476091864 1.5279774530000956 +343.6507149897438 15.943105536008861 203.03043240705532 +1030104 +1.9481905063928624 0.0011928078627614026 13.712706682327513 +65.70102045298484 272.5349689212673 248.3878548054673 +1030105 +1.9770133412534745 0.07760502570359305 21.113956523745326 +352.7420976555242 265.31463697173825 90.20915048805514 +1030106 +1.9218154288668319 0.024539743705313734 6.3122997131518 +96.26526838131817 245.40058043017729 203.1458881543752 +1030107 +1.8804043534140047 0.051960914508786316 5.641080857843637 +135.37074231372475 310.57579433118855 92.01889766237802 +1030108 +1.905574620628057 0.0094526649542939 27.795518144975087 +257.055868633706 262.18164024081847 174.33454380356292 +1030109 +1.9610371451706512 0.0642394856575368 11.238178270217231 +155.06613544539204 179.7982091248266 227.65351567825778 +1030110 +1.8442099887042422 0.06774466132861966 7.7755827872476635 +53.89722157548661 231.27772356054047 224.74925586092095 +1030111 +1.918614204096997 0.09311188233380624 22.656238093717935 +8.91787503082778 121.09392635435141 61.064615587866086 +1030112 +1.846083421031052 0.058817512099736215 23.17733139808657 +204.2210767808533 325.0096873835248 80.8104389106319 +1030113 +1.877211316979287 0.09545803603787674 22.75125883423326 +338.55088656488704 260.97440743659024 358.27993618149003 +1030114 +1.847699999560908 0.04422349734135026 24.400107433270254 +175.41066398268853 271.9213024922804 40.10860995923193 +1030115 +1.9693855972875431 0.01087613268562867 18.3688586644925 +288.07225817085316 351.2861239674453 138.17614312177193 +1030116 +1.8499142747340205 0.05785154439430367 18.680424125046468 +170.34777680935684 121.2501486818594 116.63207933400314 +1030117 +1.8484833703421926 0.027361686628703055 12.35340287511839 +77.72361263316543 170.96254103643864 153.80655599509745 +1030118 +1.8844066519945433 0.012253504795668403 28.11812027401767 +5.816089316051807 234.40531004184038 284.0432510837761 +1030119 +1.8321110668963587 0.05520820027904241 4.246848772229706 +195.98962278787414 196.26877791689589 296.01468603344676 +1030120 +1.9298252957677076 0.04051603959563857 11.38835718089586 +14.020062127093711 350.7131191785245 61.91415736777295 +1030121 +1.8296584872076656 0.02265081514507832 19.242848763922552 +170.21169721403766 255.88594273947075 131.4644380844818 +1030122 +1.8699958208259342 0.08248881864547655 6.775274873263883 +131.47697608382563 36.70815817760613 166.48187957273242 +1030123 +1.8427387543178881 0.07305783679736073 5.034586865380743 +311.1450141807796 214.40263993828856 332.6408661254218 +1030124 +1.8567511528637752 0.014548178017731906 8.946207161705699 +27.813385444122652 111.5675183218652 201.4816583454089 +1030125 +1.8846946839402372 0.06619567127431686 13.271555732235106 +271.1533808977903 174.59924852630596 257.0822687250529 diff --git a/examples/rmvs_swifter_comparison/1pl_1tp_encounter/init_cond.py b/examples/rmvs_swifter_comparison/1pl_1tp_encounter/init_cond.py index a700466b1..f17e000fa 100755 --- a/examples/rmvs_swifter_comparison/1pl_1tp_encounter/init_cond.py +++ b/examples/rmvs_swifter_comparison/1pl_1tp_encounter/init_cond.py @@ -55,7 +55,7 @@ p_tp = np.array([atp, 0.0, 0.0], dtype=np.double) v_tp = np.array([0.0, vtp, 0.0], dtype=np.double) -Rhill = np.double(apl * 0.0100447248332378922085) +rhill = np.double(apl * 0.0100447248332378922085) #Make Swifter files plfile = open(swifter_pl, 'w') @@ -63,7 +63,7 @@ print(1,GMSun,file=plfile) print('0.0 0.0 0.0',file=plfile) print('0.0 0.0 0.0',file=plfile) -print(plid,"{:.23g}".format(Gmass),Rhill, file=plfile) +print(plid,"{:.23g}".format(Gmass),rhill, file=plfile) print(radius, file=plfile) print(*p_pl, file=plfile) print(*v_pl, file=plfile) @@ -126,7 +126,7 @@ plfile.write_record(v_pl[1]) plfile.write_record(v_pl[2]) plfile.write_record(Gmass) -plfile.write_record(Rhill) +plfile.write_record(rhill) plfile.write_record(radius) plfile.close() tpfile = FortranFile(swiftest_tp, 'w') diff --git a/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb b/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb index 20122244c..aa7e8e5e3 100644 --- a/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb +++ b/examples/rmvs_swifter_comparison/1pl_1tp_encounter/swiftest_vs_swifter.ipynb @@ -81,8 +81,8 @@ { "data": { "text/plain": [ - "[,\n", - " ]" + "[,\n", + " ]" ] }, "execution_count": 6, diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py index 49d017b86..5fc0ef7d0 100755 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/init_cond.py @@ -19,12 +19,13 @@ swiftest_cb = "cb.swiftest.in" swiftest_bin = "bin.swiftest.dat" swiftest_enc = "enc.swiftest.dat" +swiftest_disc = "discard.swiftest.out" sim = swiftest.Simulation() sim.param['T0'] = 0.0 sim.param['DT'] = 1.0 -sim.param['TSTOP'] = 365.25e1 +sim.param['TSTOP'] = 365.25e2 sim.param['ISTEP_OUT'] = 10 sim.param['ISTEP_DUMP'] = 10 sim.param['CHK_QMIN_COORD'] = "HELIO" @@ -83,16 +84,16 @@ for i in pl.id: pli = pl.sel(id=i) - rstart = 2 * np.double(pli['Radius']) # Start the test particles at a multiple of the planet radius away - vstart = 1.5 * np.sqrt(2 * np.double(pli['Mass']) / rstart) # Start the test particle velocities at a multiple of the escape speed + rstart = 2 * np.double(pli['radius']) # Start the test particles at a multiple of the planet radius away + vstart = 1.5 * np.sqrt(2 * np.double(pli['Gmass']) / rstart) # Start the test particle velocities at a multiple of the escape speed xvstart = np.array([rstart / np.sqrt(2.0), rstart / np.sqrt(2.0), 0.0, vstart, 0.0, 0.0]) # The positions and velocities of each pair of test particles will be in reference to a planet - plvec = np.array([np.double(pli['px']), - np.double(pli['py']), - np.double(pli['pz']), - np.double(pli['vx']), - np.double(pli['vy']), - np.double(pli['vz'])]) + plvec = np.array([np.double(pli['xhx']), + np.double(pli['xhy']), + np.double(pli['xhz']), + np.double(pli['vhx']), + np.double(pli['vhy']), + np.double(pli['vhz'])]) tpxv1 = plvec + xvstart tpxv2 = plvec - xvstart p1.append(tpxv1[0]) @@ -124,6 +125,7 @@ sim.param['CB_IN'] = swiftest_cb sim.param['BIN_OUT'] = swiftest_bin sim.param['ENC_OUT'] = swiftest_enc +sim.param['DISCARD_OUT'] = swiftest_disc sim.save(swiftest_input) sim.param['PL_IN'] = swifter_pl diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swifter.in b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swifter.in index 36dd2060f..acd0bd0ce 100644 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swifter.in +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swifter.in @@ -1,9 +1,9 @@ ! VERSION Swifter parameter file converted from Swiftest T0 0.0 -TSTOP 3652.5 +TSTOP 9500.0 DT 1.0 -ISTEP_OUT 10 -ISTEP_DUMP 10 +ISTEP_OUT 100 +ISTEP_DUMP 100 OUT_FORM XV OUT_TYPE REAL8 OUT_STAT UNKNOWN @@ -11,13 +11,13 @@ IN_TYPE ASCII PL_IN pl.swifter.in TP_IN tp.in BIN_OUT bin.swifter.dat -ENC_OUT enc.swifter.dat CHK_QMIN 0.004650467260962157 CHK_RMIN 0.004650467260962157 CHK_RMAX 1000.0 CHK_EJECT 1000.0 CHK_QMIN_COORD HELIO CHK_QMIN_RANGE 0.004650467260962157 1000.0 +ENC_OUT enc.swifter.dat EXTRA_FORCE NO BIG_DISCARD NO CHK_CLOSE YES diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swiftest.in b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swiftest.in index b08b66850..f924ebb95 100644 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swiftest.in +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/param.swiftest.in @@ -1,9 +1,9 @@ ! VERSION Swiftest parameter input T0 0.0 -TSTOP 3652.5 +TSTOP 9500.0 DT 1.0 -ISTEP_OUT 10 -ISTEP_DUMP 10 +ISTEP_OUT 100 +ISTEP_DUMP 100 OUT_FORM XV OUT_TYPE REAL8 OUT_STAT UNKNOWN @@ -12,7 +12,6 @@ PL_IN pl.swiftest.in TP_IN tp.in CB_IN cb.swiftest.in BIN_OUT bin.swiftest.dat -ENC_OUT enc.swiftest.dat CHK_QMIN 0.004650467260962157 CHK_RMIN 0.004650467260962157 CHK_RMAX 1000.0 @@ -22,7 +21,9 @@ CHK_QMIN_RANGE 0.004650467260962157 1000.0 MU2KG 1.988409870698051e+30 TU2S 86400 DU2M 149597870700.0 +ENC_OUT enc.swiftest.dat EXTRA_FORCE NO +DISCARD_OUT discard.swiftest.out BIG_DISCARD NO CHK_CLOSE YES RHILL_PRESENT YES @@ -31,6 +32,3 @@ ROTATION NO TIDES NO ENERGY NO GR NO -YARKOVSKY NO -YORP NO -MTINY 0.0 diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.in b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.in index 207dd84f6..e506d4743 100644 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.in +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.in @@ -1,33 +1,33 @@ 8 -1 4.9125474498983623693e-11 0.001475124456355905224 +1 4.9125474498983623693e-11 0.0014751244935834097723 1.6306381826061645943e-05 --0.30949970210807342674 0.1619004125820537876 0.041620272188990829754 --0.018820805516945871005 -0.023743802865467341506 -0.00021385162925667799668 -2 7.243452483873646905e-10 0.006759069616556246028 +-0.37723213134178928962 0.033583006382262102496 0.037347605390151236704 +-0.008342765357522348782 -0.026815373891535949219 -0.0014259978126226569104 +2 7.243452483873646905e-10 0.006759064884572926305 4.0453784346544178454e-05 --0.5567137338251560985 -0.46074173273652380134 0.02580196630219121906 -0.012753121506668980284 -0.015678149412530151263 -0.0009510907726656827677 -3 8.9970113821660187435e-10 0.010044908171483009529 +-0.48772324783973242113 -0.53438159383885197595 0.020810210727290629623 +0.014797158412775200664 -0.013730742274988789325 -0.0010423161661001279551 +3 8.9970113821660187435e-10 0.01004492566381686821 4.25875607065040958e-05 -0.6978790186886838498 -0.73607603319120218366 3.261671020506711323e-05 -0.012205130808798069983 0.0117727888369263504476 -6.0385404652521189453e-07 -4 9.549535102761465607e-11 0.0072466797341124641736 +0.75635861236241797023 -0.674672320414933413 2.9482164814591560215e-05 +0.0111724732704936106226 0.0127745538308708106445 -6.4922715710692383536e-07 +4 9.549535102761465607e-11 0.007246661019460395855 2.265740805092889601e-05 --1.617661473167097963 0.38314370807747849534 0.04771055403546069218 --0.0027036789764029569086 -0.012421968497550240837 -0.00019400613558421780209 -5 2.825345908631354893e-07 0.35527079166215922855 +-1.6298746849997449715 0.3207423054955682029 0.04670239471945906301 +-0.0021807443711779391643 -0.012535287802970449672 -0.00020920945169970240392 +5 2.825345908631354893e-07 0.3552709189640263194 0.00046732617030490929307 -4.1527454588897487753 -2.8347492039446908763 -0.081136554176388195336 -0.0041683967523185880624 0.0065946899141205552256 -0.00012065009272080269359 -6 8.459715183006415395e-08 0.43765832419088212185 +4.173466317007961557 -2.8016935252076420326 -0.081737437087388009616 +0.0041198995131368296857 0.0066275220486694394126 -0.000119701756809504006665 +6 8.459715183006415395e-08 0.43765971211410006393 0.00038925687730393611812 -6.39471595410062843 -7.621162747287802297 -0.121992225877669294154 -0.0039680130835247464163 0.0035798698934692090544 -0.00022010758050265331019 -7 1.2920249163736673626e-08 0.46960112247450473807 +6.414531809550852337 -7.603234575912382276 -0.12309230194363039723 +0.0039583234912346160553 0.003591394820962775982 -0.00021992254044702681153 +7 1.2920249163736673626e-08 0.4696151691794380732 0.00016953449859497231466 -14.793135356927480828 13.074218343364380601 -0.14311846037737518955 --0.0026297294662822792016 0.0027702756265410048361 4.4212949669357180555e-05 -8 1.5243589003230834323e-08 0.78136567314580814177 +14.779979482167510341 13.088063528768900667 -0.14289732557134240953 +-0.0026326202792006140295 0.002767798188238951903 4.424098699891899271e-05 +8 1.5243589003230834323e-08 0.7813830605782720197 0.000164587904124493665 -29.568629894896030663 -4.5543028991960081697 -0.58771107137394917874 -0.00046181040300440859715 0.0031288137434451902125 -7.498349850432879627e-05 +29.57093474400743105 -4.53865809805519671 -0.5880859062837571205 +0.00046012900387533010914 0.0031291067120909890273 -7.4950441013985698475e-05 diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swifter.in b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swifter.in index 3179473c0..1dbc75e21 100644 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swifter.in +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swifter.in @@ -2,35 +2,35 @@ 0 0.00029591220819207775568 0.0 0.0 0.0 0.0 0.0 0.0 -1 4.9125474498983623693e-11 0.001475124456355905224 +1 4.9125474498983623693e-11 0.0014751244935834097723 1.6306381826061645943e-05 --0.30949970210807342674 0.1619004125820537876 0.041620272188990829754 --0.018820805516945871005 -0.023743802865467341506 -0.00021385162925667799668 -2 7.243452483873646905e-10 0.006759069616556246028 +-0.37723213134178928962 0.033583006382262102496 0.037347605390151236704 +-0.008342765357522348782 -0.026815373891535949219 -0.0014259978126226569104 +2 7.243452483873646905e-10 0.006759064884572926305 4.0453784346544178454e-05 --0.5567137338251560985 -0.46074173273652380134 0.02580196630219121906 -0.012753121506668980284 -0.015678149412530151263 -0.0009510907726656827677 -3 8.9970113821660187435e-10 0.010044908171483009529 +-0.48772324783973242113 -0.53438159383885197595 0.020810210727290629623 +0.014797158412775200664 -0.013730742274988789325 -0.0010423161661001279551 +3 8.9970113821660187435e-10 0.01004492566381686821 4.25875607065040958e-05 -0.6978790186886838498 -0.73607603319120218366 3.261671020506711323e-05 -0.012205130808798069983 0.0117727888369263504476 -6.0385404652521189453e-07 -4 9.549535102761465607e-11 0.0072466797341124641736 +0.75635861236241797023 -0.674672320414933413 2.9482164814591560215e-05 +0.0111724732704936106226 0.0127745538308708106445 -6.4922715710692383536e-07 +4 9.549535102761465607e-11 0.007246661019460395855 2.265740805092889601e-05 --1.617661473167097963 0.38314370807747849534 0.04771055403546069218 --0.0027036789764029569086 -0.012421968497550240837 -0.00019400613558421780209 -5 2.825345908631354893e-07 0.35527079166215922855 +-1.6298746849997449715 0.3207423054955682029 0.04670239471945906301 +-0.0021807443711779391643 -0.012535287802970449672 -0.00020920945169970240392 +5 2.825345908631354893e-07 0.3552709189640263194 0.00046732617030490929307 -4.1527454588897487753 -2.8347492039446908763 -0.081136554176388195336 -0.0041683967523185880624 0.0065946899141205552256 -0.00012065009272080269359 -6 8.459715183006415395e-08 0.43765832419088212185 +4.173466317007961557 -2.8016935252076420326 -0.081737437087388009616 +0.0041198995131368296857 0.0066275220486694394126 -0.000119701756809504006665 +6 8.459715183006415395e-08 0.43765971211410006393 0.00038925687730393611812 -6.39471595410062843 -7.621162747287802297 -0.121992225877669294154 -0.0039680130835247464163 0.0035798698934692090544 -0.00022010758050265331019 -7 1.2920249163736673626e-08 0.46960112247450473807 +6.414531809550852337 -7.603234575912382276 -0.12309230194363039723 +0.0039583234912346160553 0.003591394820962775982 -0.00021992254044702681153 +7 1.2920249163736673626e-08 0.4696151691794380732 0.00016953449859497231466 -14.793135356927480828 13.074218343364380601 -0.14311846037737518955 --0.0026297294662822792016 0.0027702756265410048361 4.4212949669357180555e-05 -8 1.5243589003230834323e-08 0.78136567314580814177 +14.779979482167510341 13.088063528768900667 -0.14289732557134240953 +-0.0026326202792006140295 0.002767798188238951903 4.424098699891899271e-05 +8 1.5243589003230834323e-08 0.7813830605782720197 0.000164587904124493665 -29.568629894896030663 -4.5543028991960081697 -0.58771107137394917874 -0.00046181040300440859715 0.0031288137434451902125 -7.498349850432879627e-05 +29.57093474400743105 -4.53865809805519671 -0.5880859062837571205 +0.00046012900387533010914 0.0031291067120909890273 -7.4950441013985698475e-05 diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swiftest.in b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swiftest.in index 207dd84f6..e506d4743 100644 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swiftest.in +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/pl.swiftest.in @@ -1,33 +1,33 @@ 8 -1 4.9125474498983623693e-11 0.001475124456355905224 +1 4.9125474498983623693e-11 0.0014751244935834097723 1.6306381826061645943e-05 --0.30949970210807342674 0.1619004125820537876 0.041620272188990829754 --0.018820805516945871005 -0.023743802865467341506 -0.00021385162925667799668 -2 7.243452483873646905e-10 0.006759069616556246028 +-0.37723213134178928962 0.033583006382262102496 0.037347605390151236704 +-0.008342765357522348782 -0.026815373891535949219 -0.0014259978126226569104 +2 7.243452483873646905e-10 0.006759064884572926305 4.0453784346544178454e-05 --0.5567137338251560985 -0.46074173273652380134 0.02580196630219121906 -0.012753121506668980284 -0.015678149412530151263 -0.0009510907726656827677 -3 8.9970113821660187435e-10 0.010044908171483009529 +-0.48772324783973242113 -0.53438159383885197595 0.020810210727290629623 +0.014797158412775200664 -0.013730742274988789325 -0.0010423161661001279551 +3 8.9970113821660187435e-10 0.01004492566381686821 4.25875607065040958e-05 -0.6978790186886838498 -0.73607603319120218366 3.261671020506711323e-05 -0.012205130808798069983 0.0117727888369263504476 -6.0385404652521189453e-07 -4 9.549535102761465607e-11 0.0072466797341124641736 +0.75635861236241797023 -0.674672320414933413 2.9482164814591560215e-05 +0.0111724732704936106226 0.0127745538308708106445 -6.4922715710692383536e-07 +4 9.549535102761465607e-11 0.007246661019460395855 2.265740805092889601e-05 --1.617661473167097963 0.38314370807747849534 0.04771055403546069218 --0.0027036789764029569086 -0.012421968497550240837 -0.00019400613558421780209 -5 2.825345908631354893e-07 0.35527079166215922855 +-1.6298746849997449715 0.3207423054955682029 0.04670239471945906301 +-0.0021807443711779391643 -0.012535287802970449672 -0.00020920945169970240392 +5 2.825345908631354893e-07 0.3552709189640263194 0.00046732617030490929307 -4.1527454588897487753 -2.8347492039446908763 -0.081136554176388195336 -0.0041683967523185880624 0.0065946899141205552256 -0.00012065009272080269359 -6 8.459715183006415395e-08 0.43765832419088212185 +4.173466317007961557 -2.8016935252076420326 -0.081737437087388009616 +0.0041198995131368296857 0.0066275220486694394126 -0.000119701756809504006665 +6 8.459715183006415395e-08 0.43765971211410006393 0.00038925687730393611812 -6.39471595410062843 -7.621162747287802297 -0.121992225877669294154 -0.0039680130835247464163 0.0035798698934692090544 -0.00022010758050265331019 -7 1.2920249163736673626e-08 0.46960112247450473807 +6.414531809550852337 -7.603234575912382276 -0.12309230194363039723 +0.0039583234912346160553 0.003591394820962775982 -0.00021992254044702681153 +7 1.2920249163736673626e-08 0.4696151691794380732 0.00016953449859497231466 -14.793135356927480828 13.074218343364380601 -0.14311846037737518955 --0.0026297294662822792016 0.0027702756265410048361 4.4212949669357180555e-05 -8 1.5243589003230834323e-08 0.78136567314580814177 +14.779979482167510341 13.088063528768900667 -0.14289732557134240953 +-0.0026326202792006140295 0.002767798188238951903 4.424098699891899271e-05 +8 1.5243589003230834323e-08 0.7813830605782720197 0.000164587904124493665 -29.568629894896030663 -4.5543028991960081697 -0.58771107137394917874 -0.00046181040300440859715 0.0031288137434451902125 -7.498349850432879627e-05 +29.57093474400743105 -4.53865809805519671 -0.5880859062837571205 +0.00046012900387533010914 0.0031291067120909890273 -7.4950441013985698475e-05 diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb index 86a6d8098..720db909b 100644 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/swiftest_rmvs_vs_swifter_rmvs.ipynb @@ -21,9 +21,9 @@ "output_type": "stream", "text": [ "Reading Swifter file param.swifter.in\n", - "Reading in time 3.650e+03\n", + "Reading in time 9.500e+03\n", "Creating Dataset\n", - "Successfully converted 366 output frames.\n", + "Successfully converted 96 output frames.\n", "Swifter simulation data stored as xarray DataSet .ds\n" ] } @@ -45,9 +45,9 @@ "output_type": "stream", "text": [ "Reading Swiftest file param.swiftest.in\n", - "Reading in time 3.650e+03\n", + "Reading in time 9.500e+03\n", "Creating Dataset\n", - "Successfully converted 366 output frames.\n", + "Successfully converted 96 output frames.\n", "Swiftest simulation data stored as xarray DataSet .ds\n" ] } @@ -104,7 +104,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -130,7 +130,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -163,7 +163,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -198,7 +198,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAElCAYAAAD3KtVsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABc7klEQVR4nO2dd3hb5dm470fD2/HIcnZCEvYIEEIhlNGWXUoXLVBaoLSU7u8r3f1+3bR0f+3XQWkLlF1KgQJlr7AzGAECBAJZTuLYseMp21rP74/3SJFtyZYcyyvPfV26JL3nvOe8R7LPo2eLqmIYhmEYA+Eb6QUYhmEYYwMTGIZhGEZWmMAwDMMwssIEhmEYhpEVJjAMwzCMrDCBYRiGYWSFCQwjZ0Tk+yJyvfd6toi0i4h/pNfVHyLyThFZO8znVBFZsJvHWCMixw/NivocO+P3KCJTReRxEWkTkV+J42oR2SkiK/KxHmP0YwJjD0RENojIe3qNXSAiT+Z6LFXdpKplqhobuhXmRjY3ZlV9QlX3Ga41DRWqeoCqPgY9b/B5OE/v7/FiYAcwQVUvBY4BTgRmquqSfKzBGP2YwDDGPSISGOk1jEHmAK/qrszeOcAGVe3I9UD2+Y8fTGAYaRGR6SLyLxFpEJH1IvKlDPvN9X7hB1Lm3SkiTSKyTkQ+nbKvX0S+LSJveaaO50RklrdtXxF50Ju3VkQ+kjLvGhH5g4j8x5u3XETme9se93Zb7ZlUPioix4tIrYh8Q0TqgKsTYynHnCUit3nX1ygiv8/wGXSKSHXK2KEiskNEgt77T4rIa56p5n4RmZPhc6oQkWu9820Ukf8REV/K9k97x2kTkVdF5DBvfIOIvEdETgG+DXzUu87VInKWiDzX6zyXisgdGdYwT0SWeed4EJiU7nsUkWuA84Gve+f6DPBX4Cjv/Q+8Oe8VkRdFpFlEnhaRg1OOt8H7/F8COrzjvsPbr9lb//Ep+z8mIj8Skae89T0gIqnrOyZl7mYRucAbLxSRX4rIJhHZLiJXiEixt22SiNztzWkSkSdSP3NjEKiqPfawB7ABeE+vsQuAJ73XPuA54LtAAbAX8DZwsrf9+8D13uu5gAIB7/0y4I9AEbAIaADe7W37GvAysA8gwCHARKAU2AxcCASAw3DmkAO8edcATcASb/sNwM0pa1dgQcr744Eo8DOgECj2xmq97X5gNfAb79xFwDEZPqtHgE+nvP8FcIX3+v3AOmA/b13/Azydbl3AtcC/gXLvM3sDuMjbdhawBTjC+1wWAHN6f1epn7v3vtD7XPZLGXsB+FCGa3kG+LU371igrZ/v8Rrgx+n+Prz3hwH1wJHe53m+t9bClHW/CMzyPv8ZQCNwGu7v60Tv/WRv/8eAt4C9vf0fAy73ts321noOEMT9zSzytv0vcCdQ7X22dwE/9bb9FLjCmxME3gnISP//jeXHiC/AHiPwpbt/5nagOeURYpfAOBLY1GvOt4CrvdfJG1fqjca7OcSA8pR5PwWu8V6vBc5Ms56PAk/0Gvsz8D3v9TXAX1O2nQa8nvI+ncAIA0W9xhIC4yicIAtk8Vl9CnjEey04wXas9/5evJu+997nfY5zUteFu6F2A/un7PsZ4DHv9f3Al/v5rtIKDG/sT8Bl3usDgJ14N+1e+83GCdHSlLEb032PKZ95fwLjT8CPep1jLXBcyro/mbLtG8B1vfa/Hzjfe/0Y8D8p2z4H3Jfyt3d7mmsSoAOYnzJ2FLDee/1DnJBe0HuuPQb3MPVsz+X9qlqZeOD+QRPMAaZ7qnyziDTjzCFTBzjmdKBJVdtSxjbifl2CEyhvpZk3Bziy1/k+BtSk7FOX8joElA2wlgZV7cqwbRawUVWjAxwD4FacKWY67le5Ak+krPu3KWtuwt3EZvQ6xiScprYxZSybzyUb/g6cKyICfBy4RVW70+w3HdipPX0QG9Psly1zgEt7fWezvPMk2Nxr/7N67X8MMC1ln0zfcabPZzJQAjyXcsz7vHFw2uA64AEReVtEvpn7ZRqpmDPKSMdm3K+0hTnO2wpUi0h5itCYjTO3JI47H3glzfmWqeqJg11wGvorw7wZmC0igYGEhqo2i8gDwEdwpqeb1Pv56h3nMlW9YYC17AAieI5kbyzd5zIQfa5JVZ8VkTDO3HKu90jHNqBKREpThMbsdMfMksS1X5blejfjNIxPZ9p5gHOli8zaAXTiTJdbem/0/gYvxQm2A4BHRWSlqj48iDUYmNPbSM8KoNVzWhaLc1YfKCJH9DdJVTcDTwM/FZEizwl6Ec7nAM5x+iMRWSiOg0VkInA3sLeIfFxEgt7jCBHZL8v1bsf5WXK5vm3A5SJS6q11aT/73wh8AviQ9zrBFcC3vJtRwrF9Vu/J6kJVbwEuE5FycY7xrwCJENm/Al8VkcO9z2WBpHeebwfmpnHcXgv8HoiqatrQaFXdCKwCfiAiBSJyDHBGP9c8EH8BLhGRI701l4rI6SJSnmH/64EzRORk7++pSFwgwswsznUD8B4R+YjnPJ8oIotUNe6t4zciMgVARGaIyMne6/d6n6UArThz6YiFf48HTGAYffBucGfgnNbrcb/k/gpUZDH9HJw9fCtwO84P8aC37de4G+cDuH/gvwHF3i/Bk4CzvXl17HJYZ8P3gb97ZomPDLRzyvUtADYBtTg/SibuBBYC21V1dcpxbvfWebOItOI0p1MzHOOLOHv728CTOMFzlXecfwKXeWNtwB04J25v/uk9N4rI8ynj1wEHes/9cS7OP9UEfA8naAaFqq4CPo0TVDtxpp8L+tl/M3AmzrTZgNMavkYW9yBV3YTzW13qrf1FXMAEON/IOuBZ7zt4CBdUAe47ewjnr3sG+KN6OS3G4JBd2rVhGGMRL4y0HjhMVd8c6fUY4xfTMAxj7PNZYKUJCyPfmNPbMMYwIrIBF5n1/pFdibEnYCYpwzAMIyvMJGUYhmFkhQkMwxgBRORjXn7HQPvlrULtYBBX1+vHI70OY2QwgWGMemRXr4bEQ0WkI+X9OwdxzD4l3nttP15E4t7x28QVRLxwkOvvUaARQFVvUNWTBnM8wxgpzOltjHq8OPxkKRARUeAQVV2X51NvVdWZXuLXmcCtIrJcVV8daGICsdLexjjCNAxjTCODKG8tItfhymLc5WkQX+/vHOq4A5egtr+X0fyCiLSKK7X9/ZT1JLSJi0RkE67abaIEe7N3vqOkV8MqETlAdpV33y4i385wvf2VCL9AXM2kNnEl6T/Wz2f2vyKy1Xv8r4gUetsSpeEvFZF6EdmWSbMSkVdE5IyU90Fxpd8X9fd5GmMXExjGWOdnuJLYi3CZ2zNwZdnBZQbX4orRTcVlGauqfhyX4X2Gui5zP+/vBJ6Q+QBQiSvP3oErFVIJnA58VkTe32vacbjaUyfjihYCVHrne6bX8ctxGcn34Yr3LQD61DsSkRnAf4Af4zLBvwr8S0Qmi0gp8DvgVFUtB47GZUSn4zvAO3Cf2SG4Ok3/k7K9BpfVPwNX2uUPIlKV5jjXAuelvD8N2Kaqmc5rjHHGvcAQkau8X0q9C94N9nj3eb/u7u41/jfvF99LInKriAxUTdXYTTxT0aeB/1bVRJXcn+BKjIAr+DcNV248oq5Nay5x5NPFVUDdgSul8XFVXauqj6nqy6oaV9WXgJtwAiKV76tqh6p2ZnGe9wJ1qvorVe1S1TZVXZ5mv/OAe1T1Hu/cD+LqQ53mbY8DB4pIsapuU9U1Gc73MeCHqlqvqg3AD3CVbhNEvO0RVb0HV1ojXXvb64HTRGSC9/7jDFyexBjDjHuBgavrf8oQHu8X9PznSvDfqnqIqh6M+/X6hSE8p5GefJe33uqVf69W1UWqejOAuIJ7j4rrntcCXEJK9zqPzX2Olplsy5tnLBHuVaD9qLeWbeK6E+6b4TjT6VtqPbUseWOvKr5py8mr6lbgKeBDIlKJq6M1UOVeYwwz7gWGqj6OK1iWRETme5rCc55dO9M/VrrjPYwrENd7vNU7tuA6hllGZP5JLW+d6O1Roapl4Mpbq+qlqroXrtjgV0Tk3d7c3fl+bsQVJJylqhW4qrXSax/N8Dod2ZY3T5QIr0x5lKrq5QCqer9XIn4a8Dqukms6tuKET4LZ3thg+DtO8zkLeCZdmXFj/DDuBUYGrgS+qKqH4+zAfxyKg4rI1bhKq/sC/zcUxzQys5vlrXMtiZ5KOa5RVJeILCFzD4oEDThzUabz3Q3UiMh/eQ7pchE5Ms1+GUuEi8hUEXmf58voxpmRMpXyvgn4H8/3MQnn8xlsrscduHatX2Y3qt8aY4M9TmB4voWjgX+KyIu4VqDTvG0f9CI/ej/uz+bYqnohTrV/jf7LZRtDx2DLW/8Ud9NsFpGv5njOzwE/FJE23M32lv52VtUQrnz5U9753tFrexuux/UZuB8cbwInpDlOfyXCfTgn/1acRn0cPbsopvJjnO/jJZwT/3lvLGc8H82/gHnAbYM5hjF22CNqSYnIXOBuVT3Qc9CtVdVpA0zr73jHA19V1fdm2H4c8LVM2w1jPCEi3wX2VtXzBtzZGNPscRqG52tYL15nNHEcMsC0fvGOsSDxGvdL8fXdXqxhjHJEpBoXenvlSK/FyD/jXmCIyE04c8Q+XkLSRbiwwotEZDWwBqfmZ3u8J3Cdz97tHe9knMPz7yLyMk7Fnwb8cIgvxTBGFSLyaZxZ7F4vuMQY5+wRJinDMAxj9xn3GoZhGIYxNIzrwmiTJk3SuXPnjvQyDMMwxgzPPffcDlWdnG7buBYYc+fOZdWqVSO9DMMwjDGDiGzMtG3YBIaIXIWrmVOvqgem2f41nDM6sa79gMmq2iSub3EbLhEpqqqLh2fVhmEYRoLh9GFcQz81nVT1F169nkXAt4Blqppa0uMEb7sJC8MwjBFg2ARGuppO/XAOrnyBYRiGMUoYdVFSIlKC00T+lTKsuIqjz4nIxQPMv1hEVonIqoaGhnwu1TAMY49i1AkMXJb0U73MUUtV9TBc+eTPi8ix6aeCql6pqotVdfHkyWkd/YZhGMYgGI0C42x6maO8uvuoaj1wO65DmGEYhjGMjCqBISIVuCqb/04ZK/VaWOKVbj4JGJLueYZhGEb2DGdY7U3A8cAkEanFtbwMAqjqFd5uHwAe8LqHJZgK3O5q+hEAblTV+4Zr3YZhGGOJRzc9yvrW9XzywE8O+bGHTWCo6jlZ7HMNLvw2dextXKN6wzAMYwCW1S5jWe2yvAiMUWWSMgzDMHaPSDxC0BfMy7FNYBiGYYwjTGAYhmEYWRGNR01gGIZhGAMTiUcI+k1gGIZhGANgJinDMAwjK6IxM0kZhmEYWWAahmEYhpEVkXiEgD8/KXYmMAzDMMYRpmEYhmEYWRGJmcAwDMMwssA0DMMwDCMrTGAYhmEYWWGJe4ZhGEZWmIZhGIZhZIU5vQ3DMIysMA3DMAzDGBBVNR+GYRiGMTBRjQIQEMv0NgzDMPohEosAmIZhGIZh9E8k7gmMse7DEJGrRKReRF7JsP14EWkRkRe9x3dTtp0iImtFZJ2IfHO41mwYhjGWGDcCA7gGOGWAfZ5Q1UXe44cAIuIH/gCcCuwPnCMi++d1pYZhGGOQaNz5MMa8wFDVx4GmQUxdAqxT1bdVNQzcDJw5pIszDMMYB+xpPoyjRGS1iNwrIgd4YzOAzSn71HpjaRGRi0VklYisamhoyOdaDcMwRhURHT8mqYF4HpijqocA/wfc4Y1Lmn0100FU9UpVXayqiydPnjz0qzQMwxilJDWM8S4wVLVVVdu91/cAQRGZhNMoZqXsOhPYOgJLNAzDGNWMGx/GQIhIjYiI93oJbm2NwEpgoYjME5EC4GzgzpFbqWEYxugk31FS+UkHTIOI3AQcD0wSkVrge0AQQFWvAD4MfFZEokAncLaqKhAVkS8A9wN+4CpVXTNc6zYMwxgrJAVGnpzewyYwVPWcAbb/Hvh9hm33APfkY12GYRjjhT3Gh2EYhmHsHuMpcc8wDMPIIwmBEfBZ8UHDMAyjH/LtwzCBYRiGMU4wk5RhGIaRFeb0NgzDMLLCNAzDMAwjK8yHYRiGYWSFaRiGYRhGVpgPwzAMw8iKhIbhF39ejm8CwzAMY5wQiUcI+oJ4dVyHHBMYhmEYmWh8Cx7/JWjGFjyjioTAyBcmMAzDMDKx6ip45EfQvn2kV5IVkVgkbxFSYALDMAwjM9tWu+e2upFdR5aYhmEYhjESxOMmMHphAsMwDCMdO9dDd6t73bZtZNeSJSYwDMMwRoKtL+x6PUZ8GNF4NK8CY9g67hmGYYwptr4A/kIIFo8tDSOPTm8TGIZhGOnYthqmHgCxiPkwPMwkZRiG0ZuEw3v6oVA+dcwIjGgsvyapYRMYInKViNSLyCsZtn9MRF7yHk+LyCEp2zaIyMsi8qKIrBquNRuGsYeScHhPXwTlNWNGYIwnDeMa4JR+tq8HjlPVg4EfAVf22n6Cqi5S1cV5Wp9hGIYj4fCetgjKp0FHPcRjI7qkbIjEIwT8+fM0DJvAUNXHgaZ+tj+tqju9t88CM4dlYYZhGL1JOLyn7Oc0DI1DR8NIr2pAxpOGkQsXAfemvFfgARF5TkQu7m+iiFwsIqtEZFVDw+j/gg3DGIUkHN7+IJTVuLExECkVie1hAkNETsAJjG+kDC9V1cOAU4HPi8ixmear6pWqulhVF0+ePDnPqzUMY9yRdHgvcu/Lp7nnMeDH2KM0DBE5GPgrcKaqNibGVXWr91wP3A4sGZkVGoYx7kk6vA9178sTGoYJjFEjMERkNnAb8HFVfSNlvFREyhOvgZOAtJFWhmEYu02qwxugbAogY0dgjIfEPRG5CTgemCQitcD3gCCAql4BfBeYCPzRa/4R9SKipgK3e2MB4EZVvW+41m0Yxh5GqsMbnB+jdNLY8GHkWcMYNoGhqucMsP1TwKfSjL8NHNJ3hmEYRh5oWg8T5ztBkaC8ZkzUk8q303tAgeGZirKhWVVbd3M9hmEYI0toh9MoUimrMQ2D7DSMv+PCWvtrEqu4xLxrh2BNhmEYI0fHDpjWy6hRXgN1L43MerJEVV3ini9/hqMBj6yqJ/QeE5EaVR39HiDDMIxcSadhlE9ziXuxKOQxk3p3iGoUYFRGSX1iSFdhGIYxGohFoKsFSnoLjNGf7R2JRQBGZU/vM0XkCyKyz5CuxjAMYyQJeelfpRN7jpeP/mzvSNwTGKNQw/ggsA74gIj8dQjXYxiGMXJ07HDP6TQMGNWRUsMhMAZljFPV7cB93sMwDGN8EPIERjofBoxqDSMaH6U+DBH5g4hc470+aUhXZBiGMVJk0jBKhy/be9nmZVz5Uu/uDgMzmn0YYeBt7/W7hmgthmEYI0vSh9FLYPgDUDp5WATGPevv4cbXbsx5XkRHrw8jBFSISBDINrHPMAxjdNPRAAgUV/XdNkyd9zoiHXTHunOel9QwRpsPA9cIqRP4A/DU0C3HMAxjBOnYASXV4PP33VY+bVh8GG3hNrpiXTnPG3U+DBGpFJGrgQ95Q9cC1jLVMIzxQWhHX/9FgvKpwxIl1RHpIBqPEsuxJeyoi5JS1WYRuRyYC+wADsaVJDcMwxj7dDT29V8kKJ8G7fV5z/Zuj7QD0B3rpsRXkvW8pMAYZeXNLwLWq+r9wHNDvB7DMIyRI7QDJu+bflt5DaDQUQ8TpudtCW3hNgC6Yl2UBHMQGKPUh7ETuMTL8l4NvKiqLwztsgzDMEaAjh0wN4OGkdrbO08CQ1XpiHQA0B3NzfE96kxSAKr6UxF5GHgDWAQcC5jAMAxjbBOPQefO/n0Y4MxSeaIz2klMne+iM9aZ09yEwBjRarW9EZEfAn7gRZx28dgQr8kwDGP4CTUBmtmHUZYQGPlzfCe0C9gNDWM0Je6p6neBbm/uh0TkL0O+KsMwjOEmURakZGL67aWT3XN7/irWtkXakq9zzcUYzcUHrwL2w+vBPXTLMQzDGCE6MtSRShAohKLK/GoY4V0aRq65GMPh9B6swPgSzpwVAH47dMsxDMMYIUIZ6kilUjbVRUnliR4axih0eg9WYLwFFAH/VtVjs5kgIleJSL2IvJJhu4jI70RknYi8JCKHpWw7RUTWetu+Ocg1G4ZhZGYgDQOgbEpend6pPoycNYzR6MPwWAM8AlwkIiuznHMNcEo/208FFnqPi4E/AYiIH1eC5FRgf+AcEdl/cMs2DMPIQKLwYCYfBngCI38mqfZwe/L1aPRhDDb+aj4uH+NK73lAVPVxEZnbzy5nAteqqgLPemVIpuGyytep6tsAInKzt++rg1y7YRhGXzp2OB9Ff7/QS6fk1emdyPIG6IoOzoeRz7DawWoYm1X1TlzXvdeGaC0zgM0p72u9sUzjaRGRi0VklYisamgYvf13DcMYZYR29G+OAqdhhNsgxTk9lAyFhhGQ0ScwThGRmcAVwG+GaC2SZkz7GU+Lql6pqotVdfHkyZOHaGmGYYx7OvopPJigLL/Je+2R9qSGMBiBEfQFEUl3yxwaBiswKoFvAF/H5WQMBbXArJT3M4Gt/YwbhmEMHaF+Cg8mKJvinjvyY71oj7RTXViNIHRGc8/0zqf/AgYvMH6Ii5BaC+RWgzczdwKf8KKl3gG0qOo2YCWwUETmiUgBcLa3r2EYxtDRsaN/hzfsEhh5cny3h9spKyij0F+Ye1htLJLXCCnIwektIoeo6moAVa3F/fJHVbMKcxWRm4DjgUkiUgt8Dwh6x7gCuAc4DecXCQEXetuiIvIF4H5cSZKrVHVNtus2DMMYiPvX38fUWBuLBtIwShMCI38mqbJgGYWBwkGF1eZbw8jFO/KCl0NxPXCTqm4eaEIqqnrOANsV+HyGbffgBIphGMaQ85tVv+LA8hIWDeTDKJ0ESH4FRkLDGKQPI5/kYpL6FVAKXA6sF5FHReST+VmWYRjG8NEZDRHy+Qb2YfiDroVrHk1SpcFSigPFg8r0HjUCQ1W/pqrzcS1Z/4ora35lvhZmGIYxXHRGuwmJDOzDAK88SP6c3mVBp2HkapKKxqOjxyQlIhOBDwAfBk7AhbtuytO6DMMwhgVVpSseptMnA2sYkNds74TTu8hfNDiT1GhxegN1OI1kJ3A1cL2qPpmXVRmGYQwT4XgYRQmJb+A8DHCO76blQ76OWDxGKBra5fTONdN7lDm9b8c5vO9V1Uie1mMYhjGsJG7MoZw0jHpQhSFMkuuIuuzxhElqZySrqktJorFRZJJS1Y/kcyGGYRgjQSJBrtPncz0vBqJsCkQ7obsNiiYM2ToSvTB2yyQ1WpzehmEY45GEhtEpPlx0/wAkyoMMseM70Qtjd0xSAX/+6kjBIASGiJyRj4UYhmGMBIlopKjsKuDXL3nK9k4UHiwLOg1jNCbuDUbDuGzIV2EYhjFCpP6SD0VCA0/IU7Z3orT5bpUGGYUCI3+lEA3DMIaZ1CJ/WRX8y1PF2lQNY7SWBhmMwMjCyGcYhjE26OpuTb4ORbPQMEqqQXxDb5JK0TCK/cVE4hFi8exru45WgWEYhjFu6GrblnydlUnK54fSydCRJ5OUp2FAbj0xhiNxzwSGYRh7NF1tu9rrZN2DonRKXkxSPvFRHCim0D9IgTEKNYz8dUA3DCO/dLeN9ApGHZ0p4bFZmaSgT3mQVXWreHPnm7u1jvaIKzwoIhT5i4AcBcZodHqr6on5WIhhGHnmrUfg53tBs5WAS6WzM0VgZGOSAuf4bt8174fP/pDfPv/b3VpHR6SD8mA5QNIklUsuRiQeSbZ3zRdmkjKMPYXaVRALQ+3KkV7JqKIr1JR8nbVJqszzYXiJfm3hNja2btytdbSF2ygtKAXIWcNQ1VFrkjIMYyyy4w33XPfyyK5jlNHV3ZJ8nb1JaqoTvl3Nbl4kxJb2LTlFNfWmh4bh+TCyDa2NahRgdAoMEflKyut9hm45hmHkjaTAeGVk1zHK6Ay3UoYfyMEklZK8F9c4oWiISDxCfWjwjvC2cBulQU/DCDgNI1uTVCTmMtRHVZSUiFSKyNXAWSLyORE5Bsiqp7dhGCNIPA47PKesaRi7iMfpioQo9xcQ8AVyMEntKg+SelPf3JZT5+oedEQ6KCsoA8g5SipR0mRUaRiq2qyqFwLfB5YDC4Hb8rAuwzCGkratEAnBxIXQXpe3ntRjjvbtdKEU+YsoCZTkZpICaK+nI9KRHN4dgZHotgcpJqlsNYzRKDBSiKjqc8B9wD3ZThKRU0RkrYisE5E+momIfE1EXvQer4hITESqvW0bRORlb9uqQa7bMPZMGta65wM/5J5Ny3C0bKbL56MoWEJJsCSHKKldGkaqkNnUNvgItES3PYDiQDGQvYYRjY9iHwZwiojMBK4AfpPNBBHxA38ATgX2B84Rkf1T91HVX6jqIlVdBHwLWKaqTSm7nOBtXzzIdRvGnknCHHXgB93zdvNjAE5giFBcUE5xoDh7k1RxFRSUQ9P6IdEwwrEw4Xi4r4aRpdN7VPowUqgEvgF8Hcg2s2QJsE5V31bVMHAzcGY/+58D3DTI9RmGkcqON6CoAibtDRNmmoaRoHkznSIUFU7IzSQlApMWQOObSa2kyF9EbVvtoJaRWhYEdjm9s61YG9HRbZL6IXCHqq4Fso0jmwGkit9ab6wPIlICnAL8K2VYgQdE5DkRuTjTSUTkYhFZJSKrGhqGtsGJYYxZdrzhhIUI1BxkAiNBSy1d/gBFwbLcTFLg/EE71iWFzMKqhWxu25xdE6ZeJCvVFuymhjFKBca3gI97rx/Nck66suiZPtkzgKd6maOWquphOJPW50Xk2HQTVfVKVV2sqosnT56c5dIMY5yz400nMMAJjB1vQiRL88t4pmUzXf4gRYGi3ExSAJMWQmstoU53m9qneh/aI+00dzfnvIzeGkauUVKj3YcRBt72Xp+Q5ZxaYFbK+5nA1gz7nk0vc5SqbvWe64HbcSYuwzAGoqvFRUZNWuje1xwEGoP610Z2XaOBllq6fK7gX0mgJDeBMXEBAB3NLsN7nyqXkjYYx3dqLwwAEcmpidJoj5IKARUiEgRmZzlnJbBQROaJSAFOKNzZeycRqQCOA/6dMlYqIuWJ18BJgHntDCMbdqxzz0kN40D3PI7MUp958DP8efWfc5/YvJlOcT6DnE1SngAOtTpL+77V+wKDc3yn9sJIUOjPvolSUmDk2ek92EpV3wMuxkU93ZDNBFWNisgXgPsBP3CVqq4RkUu87Vd4u34AeEBVO1KmTwVuF5HEmm9U1fsGuXbD2LNIZHhP8ooyVM51ET7jKFJqTeOaZJZ01nS1QHcLXVqVrN2UtdMboHo+AB1eP42FVQsRZPcERnCXwCjyF2WfuDdMPozBCowvqeqvIbfSIKp6D73yNlIEReL9NcA1vcbeBg4Z5FoNY89mxxvgC0LVHPfe53NaxjjRMFSV9nB7j/DWrGipJQpEiFMUKMInPjqjnagq3o/T/ikogYpZhEINFPgKKA2WMqVkyqAipXo7vcFVrM3WRDYqTVJeaZCbgA97pUGWYqVBDGN0s+MNqN4LUs0VNQe5mlLx+Mita4jojHYS01jyV3rWNLscDHCJciXBEmIaIxwPZ3+MiQsIdTYltZtZ5bOGTMMYjA9jVJU3V9VmnPP6OuBZYG+sNIhhjG52vLHL4Z1g6oEQboPmDSOypKGkLeyaQnWEc9UwNtPlcwKjyF+UzK7O1Y8RCrdSEnRzZ5XPYlPrIJzekXYKfAUU+AuSYzmZpIbJhzEYp3cjcAnwCe/94DJVDMPIP7EINL29y+GdoOYg9zwOKtcmBEbOGkbLZjq98NWigKslBTn0xACYuJAOjVHsczf6WeWzaOxqzE3o0LMsSIKiQFHuTu/RZJICUNXLgU/jChCuB945xGsyDGOo2LkB4tG+AmPifG/7+mFf0lCTEBQ5+zCaN9NV7ooIFgWKKA4ORsNYQMgnlHppZrMmuMyBXM1S7eH2HuYocD6MrE1SozVxT0R+iCvpcSKwRVV/N+SrMgxjaEhGSPUSGEUVUFQJzYOvrjpaaA23Ak5gxDUHn0xLLV3lrohgIg8DcoyUmriQkPgoibmCF7PKncDI1fGd6OedSpF/fGgY3wV+B7QBHxKRvwz5qgzDGBqSAmNB322Vs8ZFf+9EhJGiuZmTWjbTVeaqQRQHipM+jJyOMWEGIb+f0qhzlCcERs4aRqSd8oLyHmOF/sKcfRj5dnoP9uifAf5suRCGMcppfAtKJzuNojeVc5x/Y4yT8GGA0zKyyseIhqGtjs6Sauhwv+Z9Pvf7OSeTlM9Hhz9ISdjNmVAwgYrCipyzvdvCbUlhk6AoUDRuMr2vAj4rIr8QkUVDuB7DMIaSnRugal76bRWehjGIYnmjibbILoGRteO74TVA6fL6WqQ6vXMySQEhn4+Srl1rmFWWe2hta3crFYU9hXpOmd6jvLz5l3DaSQBnnjIMYzTSvBGq5qbfVjkbwu3QuXNYlzTU9NAwsg2t3fIcAF0V0wGSxQchR5MUEEIp6WoBTxuYVT6LLe1bsp6vqjR3N1NZWNljfDBhtQEZRXkYKbwFFAH/VtW0VWMNwxhhYhFoqe1HYHgmkDHux0gVGFlrGFueh+Iqugqd3yCRuAe5maQisQgR4pTG4tDkIs6qi6vZ2ZW9EO6MdhKOh/tqGAHnw8jGkR+JRwj6gtllqO8GgxUYa4BHgItEZOUQrscwjKGiZTNovH8NI7HfGCbh9IYcQmu3PA8zDqfTM/n0SNzLwSSV2LdEFRpdV8OKwgraI+3JX/0DkYjy6q1h5FLiPCEw8s1gBcZ8nDnqSuDCoVuOYRhDxs4N7jlRQ6o3FeNDw2iNtCZvtllpGOEO58OYfhhdUScwCgOFBH1Bgr5gTiaphIAqjceTbXATa2npbsnqGIn+GelMUpBd171ILJJ3/wUMXmBsVtU7gXWAFdU3jNFIUmDMTb890Zd6jAuM9nA700qnAVlqGNtWO81rxuF0xboI+ALJX+e5ljhP7FtcWJEMYa4qrAJyFxi9TVKJNq3ZOL5Hu4ZxiojMBK4AfjOE6zEMY6jYuRH8BVA+Lf12ES8XY2ybpNrCbUwtdRnbqeapjHgOb2YcRme0k2J/cXJTTn29gY6op2FUL4ANT4Fq8safrR8jk8AYTyapSuAbwNeB7Nz4hmEMLzs3OD+Fz595n8rZ40LDqC6qptBfmJ2GseU5Z44rm0JXtCv5Sx7IueteQsMombEYWjZB09s5m6Rau9P7MJIaRnQMahgiktqP4oe4CKm1QGzIV2UYxu6zc0Nmc1SCilnuRjeGaYu0URYsozRYmp0PY8vzMOMwwEUopQqM4kBxbk5vT2CUzlnqBt56JHnjz7a3dyYfRi4aRjQeHV0CA3hBRF4Ska8DoqoPAaiq9cMwjNFINgKjcrbrPNeV3a/h0UYkHqEz2kl5QTllwbKBNYyOHS43ZcbhAH01jGAJnZEcNIxElNTEvd1n/dYjSdNSLgKjOFDco7Q5pDi9szVJjTKn96+AUuByYL2IPCoin8zPsgzD2C06m6Gr2ZX/6I9kLsbY9GMkfBblBeWUBksHFhhbnnfP052G0RXr6uPDGEyUVEmwBOa/C9Y/TrEEKPQXZm2Saulu6eO/ABe5BWPUJKWqX1PV+cBi4K/AsbiwWsMwRhvNG91zNhoGjFk/RqrAKCsoG9gktfV5QGD6IqCvhpGzSSqhYQRKYK8TINyObFlFRWEFO7uzc3q3dLf0MUdBbhpGNDY8Jqms88hFZCLwAeDDwAmAAGPzr8wwxjsDhdQmqBjbyXutEecwTvgw6jrq+p+w5TmYvC94Gd6d0U6mlExJbs41rLYj0oEgLulv3rEgPnjrUSoLK3MySaXVMDwfxlgNq60D/ozTMK4GjlXVDFXN0iMip4jIWhFZJyJ9fB8icryItIjIi97ju9nONQwjhYGS9hKUToJA8bjQMEqDpf2H1ao6geE5vMHdjHfX6V0SLHElOYorYcbipOM7F5NUWg0jxyipgD+/daQgN4FxO07DmKaql6jqk7mcSET8wB+AU4H9gXNEZP80uz6hqou8xw9znGsYBjiBUVydvqx5KiJjOrQ2UUcqK6d38yYINfYUGNGupOkHnMDojHaiWVbwDUVDySq3gPNjbH2eikBxThpGOoGRS5RUa7iV0kAWZd13kwEFhojMFpHZwFeBF4FpibFejwkDHGoJsE5V31bVMHAzrnNfNuzOXMPY88gmQirBGG6klCowBgyr3fi0e555RHIoXZRUXONZV4kNRUI9+2/MfxdonKruEM1dzQPOj2uc1nArEwr63j6z1TBUlbqOOmpKa7Ja8+6QjQ7zdyAhbjOVQlTgGuDafo4zA0g1lNYCR6bZ7ygRWQ1sBb6qqmtymIuIXAxcDDB79ux+lmMY45idG2DaIQPuBjgNY+sLeV1OvkgIjLJgGWXBMiLxCOFYuE+IKgDrHnLNpKYelBzqinUliw4CPXpipAqSTHREOnrMZ8bhUDiBirZ6WsItxDWOTzL/Lm8LtxHX+G5pGC3dLXTHukeHwFDVE4boXOmETW+973lgjqq2i8hpwB3AwiznukHVK/GitxYvXjy2O8MYxmCIx1yY7P5ZKuEVs5ypprsdCsvyu7YhJqFRJJzeibFqf3XPHeMxeOsRWHgieJ31VDVt4h5k3xMjFO2lYfgDMO9YKnc8T7wsQFu4La1DO0HCz1FZVNlnm098FPgKBnR614Wco384BMZgS4MMhlogtQfhTJwWkURVW1W13Xt9DxAUkUnZzDUMw6N1K8QjOZikxm6kVFu4jdJgKX6fn7ICJ+zSNlHa9iJ0NsGC9ySHEr/cU30YufbESDi9e3DoeVR2OkEwkOM7U5Z3gsJA4YDVahORYVNLpg684N1kOAXGSmChiMwTkQLgbODO1B1EpEa8DiAissRbX2M2cw1j1NFeD6tvhtfuHt7zZhtSmyCZizE2BUZ5gQuRTfzSTxQE7MG6RwBxPgaPhG+gdy0pyL4nRiga6utsXngylcWTgYGzvRPb0/kwILuuewmBMSpMUkOFqkZF5AvA/YAfuEpV14jIJd72K3A5Hp8VkSjQCZytLlwh7dzhWrth5MRrd8PjP3dltMFVjP3mJggW9z9vqBi0wNiYj9XklbawqyMFJJ/Thtaue8j5dEonJYcSpp4ePgxPW8jWJNUR6eirYfh8VO73fth8G81bV8HkgzPOT5qkMmkYWfT1ruuoIyABJhZNzGrNu8Nwahio6j2qureqzlfVy7yxKzxhgar+XlUPUNVDVPUdqvp0f3MNY1Ry7zdcaY53/Q+c+COIhXeV1B4Odm4A8cOEmdntXzoF/IVjUmC0R9qTv84TAqNPaG1nM9Su7GGOgl1aRO+wWthNkxRQedBHAGh+/a5+5w8kMIoCRbtMUpuWw28XQd0rPfapC9UxpWQK/v6qEg8RwyowDGPc07oVWmvhHZ+FY78Gh57nxjc+M3xraN4IFTOdAzYbfD6YvDdsfzW/68oDbeG2pO8icePuE1q7fhlorI/A2F2TVFzjffMwPCo8Yd289Xlo257xGM3dzQiSNKv1Jqlh7NwAN58LO9fD6//psc/2ju3DYo4CExiGMbTUrnLPM5e455JqmHIAbHo685yhpv51mDg/tznTDvE60Y2twMJUH0ZGDWPdQ1BY0SP/AjIIjBxMUon5PaKkPMoLyvHho9mnsOqqjMdo7m5mQuGEjNpBob+Q7kgH3PhRF8hQORs2PNFjn7qOumQDqXxjAsMwhpLalc68U7Mr1p85R8HmFRCL5v/83W1Qv6bPzXFApi2C0A5o3ZKXZeWLRC8MoEdYbRJVWPcw7HVsH40rccNP9WHkYpJKVqpNo2H4xEdFYQXNVXNg1d+cWSwNrd2tVBRkDrst8hfSVf8qNK6Dj14P+57h/sY8M1Vc42wPbaemxDQMwxh71K50v9YDKYljs4+CcDvUvZT/82953vWrnrUkt3nTFrnnhKN+DKCqtId3+TCKA8X4xNfT6d2w1gnBXuYogM6Y0yLS+jCyMEklK9Wm8WGAy61onrzACYt/XpD2B0OmsiAJCnduoCvcBu/9jStuOHcpRLuSPrGmriYi8YhpGIYx5ohFXMZ071/3c452zxuHwSy1eYV7nrE4t3lTD3CVVseQwOiMdhLTWNKHISJ9e2K8eb97nv/uPvPTmaQCPtfLIhuTVI9eGGmoLKykxedzN/u3H4X7vtFnn0yVagHY8CRFO9bRXVQBh33Cjc0+ChDY4Er5be9w/hHzYRjGWGP7K+7X38xeN+sJ012I66ZhcHzXroDJ+7nKqblQUAKT9oGtL+ZjVXkhtY5UgrJgr54YL9/qmiVVzuo9Pa1JKvE+G5NUsj1rGh8G4ExS3c1w2Mfh6C/Cyr/C8p4thDJVqqWzGW77DEUFZXSlZt+XVMPUA5MCYzhzMMAEhmEMHUmHdxr/weyjnYaRT6dyPO40jFzNUQmmLxoxDePf6/7Nyw0v5zQnKTCCuwRGDw2j/jVnBjz4o2nnp8vDgOy77vVonpSGHj0x3vMD2Oc0p2U8e0Xy76AlnL7bHvd8Fdq2UbjXu+iOh3tum3uM+56j4V1lQcyHYRhjjNqVUFbjQlp7M+doV5qiYW3+zt/4pmvLOliBMe0QaK+DtgGaEA0xLd0tfP/p73Pdq9flNC+hSfTWMJIC46VbXD7KgR9MOz8hFHoXGSwJZikwBtAwqgqraO5qdqXSfX744F9g4UlOaNx8LpH27XREOnoKjHgMnvodvPxPOP5bFFXM6lsaZO4xEO2Erc+zvWM7QV+Q6qJetbPyhAkMwxgqalfCrCNcj4neJPwY+QyvTfgvZqUt5Dwwieq2w6xlLKtdRlSjbA9lzldIR2vY67ZXsMtkU1rgaRjxuDNHzT8Byqaknd8V7UIQCnw9K9tma5LqL0oKnEkqHA/vEj6FZXDOzXDyT+HNB2n5i6vrWtnZ6vxfbz4EVxwDD/4/J1iO+e9kHkaP/hyJv6UNT7iQ2pKpSLq/uTxgAsMwhoKORmh6O3M4a/VeLqM6n47vzcuhuAomLhjc/JqDABl2gfHwxocBchYY/fowNj8LLZsymqNgVy+M3jfbkkDJ0ERJeb6JHgUIReCoz8GnHqS52EV3VT7xG/jJdLjhQxDphI9cC+feAv5AUvsJp5qlUvwYdaHh6YORwASGYQwFW/rxX4C7UczJsx9j8wqXMDjYX5uF5U7YDKPACEVCPLX1KfziZ3toO3GNZz03ET6bWrivNFjqqtW+dAsES5zfIAO9e2EkKA4OjYaREBhpCxBOP5Tm9/8egIpjLoUjPgWn/hw+v9yVpfe+w2Rf795NlOYshc0rqGvfZgLDMMYctSudvTyRz5COOUtdTkDT20N//s6dsGPt4P0XCaYdknWkVDS++4mIT219iu5YN++a/S6i8ShNXU1Zz22L7GqelCDZdW/N7bDve/vt79EZ7eyRg5FgQsEEdnbvHPD8oWiIoC9I0B9Muz3hm8hUsbYl7DSPir1Pg1N+Ckd+BgKFPfZJ+Ca2tvfq5jD3GGKREPWd9SYwDGPMsXkF1BzowlMzsfBE97z2nqE/fyJCaygERmstdOzod7eW7haW3rSUZZuX7dbpHtr4EFWFVZw2z2kCibyCbGgLtxH0BZO/wsEJj1A0RKyruV9zFPRtz5pgXsU86kP1SZNXJvq0Z+1FVVEV0I/AGKDwIMDhUw8HYEXdip4b5iyl0e8npvFhi5ACExiGsfvEoi7DeqByHNXzXHvQfPTH2LzcaTjTD8tq97jGufqVq/v2nZ6+yD0PYJba0LqBUDTE8rrlua/VIxwL83jt4xw/63iml00HduUVZEOijlSqDyJxAw+VTYa9ju93fu9uewnmV7g6XG81v9Xv/FAkfeHBBANpGAM1TwKXXzF3wlyWb+v1OZdOpK5ienKf4cIEhmHsLlufh3CbC3cciP3OcDf3fiqYDoqEhpNli9U3d77Jr5/7NfdtuK/nhhqvd8O2F/udn7ixv9H0Rq4rTbJ823LaI+28Z857kje9RF5BNrSH2/tUeS3raASg47DzBqzW2xXrSmuSWlDpggYGFBjR9KXNE2QjMIK+YFo/SipHTjuS57Y/RyQe6TFeVzkNYNjKgoAJDMPYfdY97MpqzDtu4H33ey+gsPY/A+6aNYl+DzmE0yZu+Fs7etnGiytdVvoAfozE/LU71/YM+cyBhzc9TGmwlCOnHUlVYRVBXzCnSKnWSGsP/wVA6etOALYf+IEB53dF0zu9Z5TPoMhfxLrmdf3OT9s8KYWgL0hZsCxjm9bW7lYqCysHDIldUrOEUDTEmh09e8bVlTr/Rk1x+rDhfGACwzB2l7cecaagkiySp6bs70Jsh9Is9dzVEAnBoR/Pesq2jm1AGmcqOMGz4cl+q+smBEZzd3PO4bAAsXiMRzc/yjtnvJNCfyEiwtSSqTmZpPpoGJuWU+aZ0toZWIhlMkn5xMe8inlZaRh92rP2oqKwgp1d6R3o/daRSuGIGmfq7G2Wqisspigep6KzdcBjDBUmMAxjd+jc6UJqF/QtbpcWERe9s35ZxpLXORHthmf/5HpVT8vcCrQ3CYGxrX1b3437nOqy0jdn9k/UddQhuF/Gb+zM3Sy1sW0jTV1NLJ2xNDlWU1qTs9O7h8B49DLKvFLhfXpipCGT0xtgYdXC7HwY/WgY4LK9M2kY2QqMqqIq9q3et4/ju86n1ERjSOObAx5jqDCBYRi7w9vLXDnx+e/Kfs5+Z0A8Cm8+sPvnf+kf0L4dln45p2kJgbGlPU3/iwXvcX3IX89sNqvrqOOgya7nx9qm3MudbGrdBLiIpARTS6fmpK300DA2PAnrl1HqaVlZCYwMPgyA+ZXzqe+sz3izh4GjpAAqiir6jZLqz+GdypKaJbxY/2KPfIztsS6mxmLQ8HpWxxgKTGAYxu7w1iNQOCG3cuIzFruaU6/13+95QOJxV3do2iHZ+U9SSJh+Grsa+yaFFZa7CKO1/8mYZFgXqmNB5QJmls3k9abcb1gbW13/8Dnlc5JjU0um5pS8l2yeFIvAQ9+HshpKF30MyF7DyORwzsbx3RHtGNBh3aMAYS9yERhHTjuScDzMiw0vJsfqunZQQyC/9cl6MawCQ0ROEZG1IrJORL6ZZvvHROQl7/G0iBySsm2DiLwsIi+KyKrhXLdhpEXVCYx5fbu59YvPB/ue7lqHRgYucpeRN+51BQeP/lLO2d3bOrYl8xf6OL7BZUjv3AD1fft8R2IRGjsbqSmpYZ/qfQZlktrUuokJBROoLKpMjtWU1mSdvBeJR+iMdjoN475vOaf/ST+mtHgikKavdxr6ExjzK11obX+O72w0jMrCyrRaiqpmbZICl4/hFz8rtjmz1IMbH6Qh1MCswonjU2CIiB/4A3AqsD9wjojs32u39cBxqnow8CPgyl7bT1DVRaqaY3cYw8gDjeugZXP2/otU9jvDOapf+sfgz//Ub12P5/3fn9O0aDxKQ6iBgyc7n0d6P8ZpgMDrfZMMt4e2oyg1pTXsU7UPG1s3ZlVKI5WNbRuZM2FOj7GpJS48NBs/RuImPKFuDaz8i+s3cfBZ6du0piESjxDVaEYfxrTSaRQHijNqGOFYmEg80m8eBjind3uknUisZ0jsqu2riMQjfT6DTJQGSzlw0oEsr1vOnW/dyVeXfZVDJh/CuRMPdRn+w9SLfTg1jCXAOlV9W1XDwM3Amak7qOrTqpoIKXgWSFMn2jBGCetc0byc/BcJ5h3nSoXc/z/QvCm3uarw8I+cU/roL+Wm3QA7OncQ01gyizitH6N8qmsE9XrfaK6EOWtq6VT2qd4HRXmzOTfH66bWTcyeMLvHWC65GAm/yYIXb3WVXd/zA8B1zCsOFLt6Uv2QEDiZNASf+JhfMT+jwHhuu2uRmjBdZWLeBOejeWTzIz3G//zSn5lUPCmZ4Z4NS2qW8HLDy3znye9wRM0R/PnEP1M+9UDoanF+rGFgOAXGDGBzyvtabywTFwH3prxX4AEReU5ELs40SUQuFpFVIrKqoaFhtxZsGP3y1iNQPd/lLeSKzwfv/yOgcMfnnD8iG2JRuPOL8MQv4bDzYfEncz51wuF90KSDCEggfWgtOLPZthehpbbHcLJpT6kzSUFuju+uaBd1HXU9/BewS8PIJrT21Y3uBrxf6Uz40F9dvwmPZD2pfnh++/MAHDDxgIz7LKhakNEk9cDGBygOFPeI8krHiXNOZJ+qffjVql8ly5y/WP8iy7ct54IDLsio4aRj6YylKMpxM4/jD+/+g4vQmrS32zhMZqnhFBjpjKxp9SgROQEnMFKb4C5V1cNwJq3Pi8ix6eaq6pWqulhVF0+ePHl312wY6Yl2w4YnBqddJKiaC6dc7o6z/E8D7x/ugFs+AS9cB8d+Hc74bY8bZbYkTFAzy2ZSU1qT3ocBsM/p7nntvT2Gk21BS2qYXjqd8mB5TgJjc9tmFO1jjqkqyjJ5b8vzrHn5BubElPJz/wFFPf0APZooZWBF3QpKAiUcMKkfgVG5gMauxj7lU6LxKI9seoTjZh434A3f7/PzzSXfZFvHNq555RoArnjpCqoKqzhr77P6ndubw6cezs2n38xvTvjNrvpZk/d1z+NQYNQCqY11ZwJ9/lJF5GDgr8CZqtqYGFfVrd5zPXA7zsRlGCPDa3c5H8TCk3bvOIee5/wFD/0ANvbT8/vNB+GP73CFC0/9BbzrO4MuY57QMGpKa5hRNiOzhjF5b5i4sE94bV1HHRMKJlASLEFE2Lt6b9buzP6GlQip7S0wfOJzkVL9+TA2r4Brz+TVYJD9Zx/nkiB7kY2GsaJuBYdNPYygL32lWcjs+H5u+3M0dTVx0tzsvvvFNYs5ee7JXPXKVTy48UGe2vIU5x9w/oA5HOk4YNIBPddcXuOi9HaMP4GxElgoIvNEpAA4G7gzdQcRmQ3cBnxcVd9IGS8VkfLEa+Ak4JVhW7lhpBKPwWOXu6ztBe/ZvWOJwBm/c1niV58CV5/mhFF7A2xfA289Cv+8AG74MASK4IL/wJEZLbJZsa1jW/KGP61sWmaBAc45v/5xqN8VOru9Y3uPgnf7VLlIqWzDYTe2uZDa3j4McH6RjCapDU/BdR+gqWwi2/ywf036Yo8DaRj1oXrWt6znyJr+S6kk/BO9BcYDG5w56pgZWdQO87j08EsB+Nqyr1FRWMHZ+56d9dx+EYHJ+4w/DUNVo8AXgPuB14BbVHWNiFwiIpd4u30XmAj8sVf47FTgSRFZDawA/qOqvaqmGcYw8fKtLpz1+G85X8TuUjbZNc456TJo3gz/OA9+uQD+dDRc934XqXTCd+CSJ2Fu/zbzbKjrqGNaqStcN71sOg2dDYRj4fQ7H/UFV9Dwvm8kI3G2dfRs2rNP9T50RjvZ3LY5/TF6sal1E9VF1X0KB4KX7Z3OJPXmQ3D9B2HCDF495YcAGc1JZQVl/YbmrqxbCcAR0/qvLjy1ZCplwbIeAiMWj/HQpod454x3DpiDkcq0sml88sBPEtMY5+133oDhuDkxafgERm7hFbuJqt4D3NNr7IqU158CPpVm3tvAIb3HDWPYiUVh2eWuTPm+7x264xZVwNFfgCMvcfkVLVtcL+qyKc4sVD50FUm3dWxjeqkrjT2jbEZyLG2IZ+lEOP7bTmC8/h/Y773UhepYNGVRcpdUx3c2YaIbWzcyu7yvdgHuJl0fqieucXziCeNX/w23XgRT9oOP386rb90GwL7V+6Y9xuKpi3l408OsbVqbXFsqK+pWUF5Qzr5V6ecnEBH2qtyrR6TU8/XP09TVxIlzTxzwOntz0UEXMbN8JifOyX1uv0zeG168HkJN2dUz2w0s09swcuHlW1zHvBOGSLvojT/gzEDvuAQO/KArmT6EwgKchpHQEBKaRtrQ2gRHXAST94P7v01nZzMt3S09NIwFlQvwiz/rjO90IbUJppZMJRKP7NIQ1tzhTHIzDoPz74LSSbza+CpzJ8xNq6EAnL7X6QR8Ae5Yd0fa7Su2reCIqUfgzyJgYEGli5RKZMPfv+F+ivxFHDsjbcxNvxT4Czhj/hk5RUZlRcLxvWPwpeazxQSGYWRLLALLfuZKcfTTK3o00xHpoDXcyrQyJyiSGka65L0E/iCcejk0b6TuqV8Bu0JgwfWd3qd6n2RuQn+EvLaimTSRhCDaHtoOda/AHZ91jak+frsrvQ6saVzDfhP3y3iOqqIqTph1Av95+z99Eua2tm+ltr2WJdOyi5k5ouYImrubedc/38VPl/+UhzY+xDtnvnNQDuu80Tu0NhaFpvV5OZUJDMPIlqd+68plnDD4CKWRJuFQTmgWU0qm4Bd//xoGuNpS+76Xuhf/DvTt8nb09KNZ3bCa9nD/0UkJP0dGDcNrBlTXtA7+8TFnqvvIdVDgbP5NXU3UddT1mz8B8P4F72dn904er328x3ii4uuSmuwExunzTudvJ/2NY2Ycwz/f+CeNXY2cNGc3I+OGmsrZLiBi9U1w49nw83kueCIP2d8mMAwjG169Ex75ERz4od0PpR1BEiG1CYER8AWYWjI1cy5GKqdcTl2h+2VdE+8pMI+efjQxjQ3YsjVd0cFUEv2ptz/zW2jd6oRFiknu1UZX22r/ib2rCvXk6OlHM7l4Mrevu73H+IptK6guqh4wQzuBiLBk2hJ+fuzPefish/ndCb/LOpx22PD5nda76RkXXnvgh+Dky1wV5aE+1ZAf0RhfbF/jSkcPU62aUcmW5+G2i51p5Mw/jhrtoi3clvOc1ByMBNPLpvcfWpugchZ1h7pw0Km3fdY5WT0WTV5ESaCEp7c83e8hNrW5HIxMGkZVURVBfGzfuQ5O+yXM6hnJlOg6t191ZpMUOEH4vvnv48ktT9IQchUfVJXldcs5ouaIAbvcZVrbCbNP2OWMH02cczP81yvwpRfgjP91/q9BJHUOxCi8cmNU0NkM/7kU/rQUrjkd/nYivP3Ynic4mjfBTWdD6WQ4+0YIDrHDcpCsb1nPsf84lkc3PZrTvG3t2/CLn8nFu6ogZC0wgO0+mBicQMHOjXDjR1z2ORD0B1lSs4Snt/YvMDa2bmRy8eTMNZwQpsRi1FXNgsPP77M94fAuKxi4d/n7F7yfmMa46+27aOpq4obXbqA+VJ+1OWpMUVINlbMG3m83MYFh9GXNHfD7I2DVVXDkZ+D0XzvzwLVnwnUfGJpOcaOd7nZY9nP441EQDsG5/3AhrqOEe9ffSzQe5aFND+U0r66jzvktUn59Ti+bTn2ovo+DONP8mgmz4MN/gy3Pwd/fl9Q0jp5xNLXttclM7nT0FyEFwNYXqAl3s7m4NG2v8FebXh3QHJVgbsVcDp1yKFesvoJ33fIufrbyZyyoXMC7Zw+iurABDHMehjEGeOEG+PfnXI/qj/0Tpi9y44s+5gTIg9+FG86Cj9/mGu2MZdrrnfALt7tHqNFlWLdtdZ9DR73LtXjP92HSwpFebRJV5b4NLm/1ma3PoKpZm1i2dWxL+i8STC+djqLUddQxa0L/v1LrOuqYWzHXhf5+5FqXH3HVyXDebRw9/WgAnt76dEahsLF1I8fN6qfZ09p7WNrVze9C27jx9Rv52H4fS25q7GykrqMua4EBcNGBF/GHF//AMTOO4eS5J7N31d6DMkcZDhMYxi5evhXu/ALsdYKziaaaX4JFcNTnoGKmi4u/8aNOoBQMYcZqvlF1jXbW3uMK6mVqbSk+mH00nH0DzBp95os3dr7B+pb1HDzpYF7a8RJv7HwjbYJaOuo66pJ9MBIkQmu3dmztV2CoKts6tnHU9KPcwH5nuHDXm86Bv53I7I/dyoyyGTy19am0pS/aw+00djVmTNoD4PV7uKjiAF6etZCfr/w5cybM4ZgZx9DS3cKPn/0xAIdMzj6H97hZx/UvoIycMIFhOF690zl2Zx/dv61+//fBB6+E2z7tbhTn3jJq7Pr90rrVlRF/+1HwBWDO0U5rmjAdCsqgoARKJkLpFGcPzoPDcKi4f8P9+MTH/zvq/3HWXWfx9NansxIYcY1TF6rj5NKTe4wncjIG8mO0RdoIRUM9Q2rnLoVP3gvXfwi5+lSWHnY6d29bQSQe6VPYL+HwzpgNvnMD1K/Bd9JlXH7EJ/nEvZ/ga8u+xteP+Dp/ePEPNHY28t+H/3dOAsMYWkxg7Om0bYfHfgLPX+t6TZ97s7t59sdBH4ZY2CVV3XMpvO/3oyZyKC0v3wr/+YpLvDvlZ3DI2ckksLGGqnL/hvtZUrOEfav3ZUHlAp7a+hQXHnjhgHMbOxuJxqN9TFI1JTX4xJe8oWcitXFSD6YeAJ96CG44i6NfuotbplSzun41i2t2NcbsjnXzy1W/JCCBzEl3ie5++55GSbCE37/795x999l89+nvMmfCHK4/7fp+y5Eb+cec3nsqkU547Gfwu0PhhethyWfgvH9l75dYdK7ryfDC9bDyr/ld62CIx11J8GvPhH9d5LJhL3nSldwYo8IC4LWm19jUtolT5p4CwNLpS3l++/NZtUhN5mCU9RQYQX+Qw6Ycxj/f+Cc7OndknJ/oeZHIlehBxUz45H0smXIYflWefuLH0OG6E0TjUb667KusrFvJj4/5cdIE1vcE97gSJF7J8prSGv584p/5/KLPc8t7b8mrsEjnYDf6YgJjT2TDky5c9rGfwML3wOdXuNIPRRNyO87x34K9T4H7vumOOVpYcwf88UhXErz+dVcF9sL7YOL8kV7ZbnP/hvsJSCAZ6XP0jKOJxCOs2r5qgJmu0xuQLDyYyv97x/8jFAnxk+U/STt3S/sWfrbyZyysWpjZ6VxUQfl5t3FYsJpr2t/iy9cdzYN3fZrvPf5NHtv8GN9a8i1O3+v09HNDTbDxadi3Z8mVfar34ZJDLqHYX0zHqu00XPkS3ZtaB7zWbFFVQi81sP2Xq9hx3atoZOiT3cYTJjD2JEJNcNd/ubwKjcEn/u0iXQZ7I/X5nD+jah7ccr4rzT3SrHsIbr0Q/AXwwb/Af73sqsDm2Pd6NJIwRx05/UgqiyoB14WtyF/EU1ue6ndufaieP63+E0fWHJlsDJTKXpV78blFn+PBjQ/ywIYHemzrjnXzlce+Qjwe53+P/18K/AUZz9Nd28kP637B9bU/p1X24StNz3Lnxvv53PwPce5+52Ze4JsPuL/JffsKlPCWdhquWM3OW9+ge1MrDVe+TOjlzJpQtoQ3t9FwxUs03eiCH7rWNLLj72uIh2O7fezxigmMPYHta+DOL8Gv94fn/+56HHz2GVcfaHcpqoBzbnI+jZvOhu7cs4+HjMa34NZPusZGn7wfDv4IBDLf3MYaqxtWs6V9S9IcBa7w3+KaxQMmzF2+4nIi8QjfPeq7GcNKzz/gfPar3o/Lll/Woy3pT5f/lFcbX+WyYy7LGC4b74qy8451NFyxGn9YqPJX86NNX+fG0sv4SWucS56+rkcTpj68fjeUT4NphyaHNK60PrSR+t+/QLSxi6oPL2TaN5dQML2Uphteo21Z7aBNSe3PbqX+jy8Sbeyk6oMLmXrpYqrO2pvut5rZcdUrxLuigzrueGfs/+wyMrN5BTz2U3jrEQgUuxvoOz7r+goMJZMWwllXu/yMf33ahaMOd5RRV6uL2hK/O3/hwJnAY4lIPMLlKy6nqrCqT+LZ0ulL+dnKn7GlfUta/8Ajmx7hwY0P8uXDvpy84cdaw4RW11M4r4KCmc5vFfQF+dHSH3H23Wfz4bs+TEVhBXGNs655HZ8+6NOcMPuEtGsLb26j8frXiLV2U3b0dCacNBeNxtl56xtUrVKmzbuaWOhLBK49Ey68p69G2/gWvHE/HH5hsmR8PBxj5z/foPPlHZQcOoXKM/bCV+KiriZ/+iCa/vkGLfeuJ7y5lcr3L8Bflt0PA40rLfeup/2JLRTtW0312fvgK3K3wdLDpyJBH003r6Xhzy8x8WP7EZiUfZOkHudRJVLbTuiFeqJNXZSfMIvCOTmafEchMp6dPYsXL9ZVqwa27Y4r4jFXhOyJX8NbD0PJJDjq83D4BXlvrsLyK+Her8HRX4STfpzfc6WiCjef6246n7gD5uXeq2AkyCXh7orVV/CHF//Ar4//dZ8GPG+3vM2Zd5zJ+fufzxcP+yKF/sLktvZwO2f++0wqCiv4x3v/gb8L2pbV0v701qS9vnBhJRNOmE3hXhUA3PP2Pdy/4f7kMeZWzOVLh34pbf+IjpV17Pz3OvxlBVSfuy+Fs3fdFFWVjqe30nLfBtA4E4I3U1a2DPnUfc5J7nZyvqbNK+ALq6B8KtGmLhpveI3I1nYqTp1H2Ttn9PmcNK60PV5L64Mb8RUFqPrAAooPnNTvZxjd2UXL3W/TuaaR0qOmUXnGfMTX9/PvWttE481rIa5UfWghJQdPTnO09GgkTvuz2+h4divRxi4ICL7CAPFQhNIlNVScPDcp+EYrIvKcqi5Ou80Exjgg2u20iNfvdjfNjgaXU3D0l2DJp4c3ue4/X4WVf4F3fw+W/ld+mgz15pXbnN/i5J844ThKeXjjw/xi1S9oDbfSHe1GRPjCoi9w/gHn9ys4Xm96nXPuPocT557Iz4/9eZ/tqsolD13C01ufprqomrP2PosZZTN4ZtszLN+2nJ1dO7n+lOuY9+YkWh/aiHbHKDlkMmXHzqTrjZ20P7mFeHuEgtnllC2dTvGBkxB//99bpCFE27JaQqu2U7igkupz9sVfmv5GGG3qovmut+h6rYmAr5bisjcoeO9FFC6YCm89gN56CfrO79FVdjqh1fWEN7QiBX6qz9mX4n37/5ETqeug6Za1RLZ2EJxZRuFelRTOm0BgYjEaiaORGNH6Tjpe2E54fSsIVJy+F2VLp/f7mUebu2i68XXCm9ooOXwqpUfWUDCzPK2AAdCYEnp+O60PbSLW0k3B3AmUHj6V4oMmgUDrg5tof2oLvtIg5SfMomxJDRLMXQuPNnUR3tJGZEsHke0dFM6dQOlR0/EVDJ1GbwJjPBKPOSHxyr9c68zuViicAAtPdM199j5lZMwysSjcegG8dhfMOhLe93+uSX2+iHS6uldFlfCZZaM24W75tuV89qHPslfFXs5RHSjizZ1v8sSWJzhr77P49pHfJuDrayEOx8Kc859zaOpq4o4z76CisCLt8VWVlXUrue6161i2eRmKMql4Eu+Y9g4+UHQac54uJbKtg8KFlVScthcF03b9iIiHY4RWbaf9qS1EG7vwTyig+KBJBCYVE5hYjK80SDwUIR6KEm3spPPlHUS2dYBA2bEzqThpLuIfWFPqXNNI632vEGlQIP33FJhcTMkhkyk5fCqBquwSQjUWp/2prXS+2kh4cxvE+t7TApOKKTl0CiWHTiFQnf1xWx7YSPsTWyCu+MoLKNqnCn9FIb4iP1LgJ9rURWRbB5Et7cQ7IgRnlVNx8lyKFlT2OV54SzvNd79FeH0rvrIg5cfNpOTgyfgmFPQrvGLtYUKrGwg9X09kSzuK0uLrZFtpC+2dHUSDClOLmDBnItNnTmfatGlUV1fjG+SPNRMY44l4HF6/Cx79KTS8BoUVsN974YAPwLzjRoeTVxVW3+zCbSMhOPQ815e6YiaUTXURS+J3ndxKJzttKNONXtVlae9YCw1vuEiaxRftyi5f9nN49DK44D+unWneLy17M1KC1xpf48L7L2Ra6TSuOeWa5E0/rnF+9/zv+Nsrf2PpjKV8/pDPU1ZQRnlBObVbNrBl1ZuUvA0VoRLKplUxZc5MglNLCNaUEphakvFXZW1rLV1bWplSV0b3m810v92Cf0IBFWfs5bSHDOvXuNK1ton2p7cS3tCaMcS0YHY5xQdPpuSgScRLfDQ1NdHY2EggEKCiooLKykoKCwvTzgWIL7+W8N1XEilaAp3NyJEXIjULCc4oIzitdLdqPWkkRvemNuJtYSToQ4J+fOUFBGtKBn3ceChC19qddL7aSNe6ZrQzxSHuF/edTCujeP9qivafOOB5ut9upvWRzXSvawbAVx6kYEY5/spCJOBDAoKG40QbO51AagzRrCF2TuymsaKTDS1baWl3ocUiQgEBAnEfXUSIifvOSktLufTSSwclNEaNwBCRU4Df4n5e/FVVL++1XbztpwEh4AJVfT6buekYNwIjHnd1jzY8CS9cC3Uvu0S0477h6vkEMv9zjijt9U5orL3XCY5MiM8JjopZUDUXqua4aKu6V1yEV3cLAArEAf/0Q11jHRH4v8Ww90kuPDiPrGtax/8983+8suUV5lfOZ9HURRwy9RD2rdmXyvJK/P6+N++W7hZe2fEK33nyOwT9Qa479bpkWY2uri6am5upr6/nidef4KUNL1EaLWFCrIzyWAkVsVLKtRgJKmWV5cyITaGgSSmOBvDjQ0TwVxXhKw4gfkECPqJdUTpbOwiFOgjRTat00lEWpWuCEqvw0R0JE41GKSsrY8KECT0e5eXlFBcXEwgECAadaSnW2k13fYhwe4hOInTSTXusix0tjWzfvp2Ghgaam5vTfl5lZWXU1NRQU1PD1KlTqaiooKKigrKyMvdZPfQDePLXrtnPh68CnDDu7u6mo6OD9vZ22tvbaWtro7u7m4KCAgoLCykqKqKqqoqqqiqKikamJI3GFQ3HiHfH8JcF+5jv4vE4zc3NNDQ00NDQwM6dOwmHw4TD7vMPBAIUFBTgjwgSiiEdMWiLoeEYMY0RjceJ+GJ0BiN0+sK0RjuIxJ2QKigoYN68eSxcuJAFCxZQUVGBiNC9sZXWZ7ew7ZWN7Ii3EC6Nc/LXP4oExqjAEBE/8AZwIlALrATOUdVXU/Y5DfgiTmAcCfxWVY/MZm46xqzAiMed9rDhSffY+JSrpArul/qxX4WDzhoy80s8HicSiRCJRAiHw0QiEVQVn8+Hz+fD7/cnbyQ+v3svIqgqihKPxYmFo3SHu+ju7qSzu5Paps282biO2sZNdHV3U6lllMUClMYClGghxVpAUSxIQVgoDAsF3QH8UT/+aJBArAQRJRroIhQM01rQTZM/RD3NtNLBxFg3U+IxJgfL8Hc0EV1wKmFfAdFIlHAkTDgahhgE4z6CcT+BmJ8Agj8u+PERLC6kuLSEgpIifIUBfAU+CPiIaJSuWDed0W6aO1toat9JS6iVHW1NhLujCBl+maMQUDSoRP0xooEooXiIrmgXglAsRRxUdRD+mJ+u7i5a21vpCncn5/sQJlBCUTyIqBAvULoKonTFInSn7JdAEAJ+PwH87jtQJY4S0b6hoD6fj/LycoqKiigqKsLv99Pe3k5raytdXV2D+nvx+XxMmjSJKVOmMGnSJCZOnMjEiROJxWI0NzfT0tJCQ0MDdXV1NDQ0EI/31FSCwaB7EIFAEXGFWCxGd3c3sVj2ORAlJSWUl5dTVlZGaWkphYWFBINBAoEAPp+PeDyefCRu2IlHd3c3kUiEYDCY/GzKy8uprq5m4sSJlJeXJ9fp8/l6/G90dXXR3d1Nd3c3oVAo+WhpaWHnzp00Nzf3uOaSkhIKCwspKCggEAgQjUZ7CJBYLEY0GnU/Arz/tYKCAsrLyykvL2fChAlMmzaNGTNmMGnSpB5aQ7SpidDKVYRWrKD7jTcIb96GFO2Ff/Ic5l337UF9v6NFYBwFfF9VT/befwtAVX+ass+fgcdU9Sbv/VrgeGDuQHPTMViB8Zuzz8P9ljWMbBm/pl1j7CEE+PJN1w7KDNefwBjOPIwZQGoqcC1OixhonxlZzgVARC4GLgaYPbufMsr94JcC7AYwVhjFRQ8NY4QQkbz0/RhOgZFu9b3vypn2yWauG1S9ErgSnIaRywITfOmmqwYzzTAMY1wznAKjFkjtzjIT6F2AP9M+BVnMNQzDMPLIcNaSWgksFJF5IlIAnA3c2WufO4FPiOMdQIuqbstyrmEYhpFHhk3DUNWoiHwBuB8XGnuVqq4RkUu87VcA9+AipNbhwmov7G/ucK3dMAzDsMQ9wzAMI4X+oqSsvLlhGIaRFSYwDMMwjKwwgWEYhmFkhQkMwzAMIyvGtdNbRBqAjYOcPgnY/cbBYxe7frt+u/49kzmqmrZr1LgWGLuDiKzKFCmwJ2DXb9dv17/nXn8mzCRlGIZhZIUJDMMwDCMrTGBk5sqRXsAIY9e/Z2PXb/TBfBiGYRhGVpiGYRiGYWSFCQzDMAwjK0xg9EJEThGRtSKyTkS+OdLrGSpEZJaIPCoir4nIGhH5sjdeLSIPisib3nNVypxveZ/DWhE5OWX8cBF52dv2O8lHa688ISJ+EXlBRO723u8x1y8ilSJyq4i87v0dHLWHXf9/e3/7r4jITSJStCdd/5CQaCJvDwVXOv0tYC9c06bVwP4jva4hurZpwGHe63LgDWB/4OfAN73xbwI/817v711/ITDP+1z83rYVwFG4Toj3AqeO9PXl8Dl8BbgRuNt7v8dcP/B34FPe6wKgck+5flyb5/VAsff+FuCCPeX6h+phGkZPlgDrVPVtVQ0DNwNnjvCahgRV3aaqz3uv24DXcP9EZ+JuJHjP7/denwncrKrdqroe16NkiYhMAyao6jPq/nuuTZkzqhGRmcDpwF9ThveI6xeRCcCxwN8AVDWsqs3sIdfvEQCKRSQAlOC6du5J17/bmMDoyQxgc8r7Wm9sXCEic4FDgeXAVHVdDfGep3i7ZfosZnive4+PBf4X+DoQTxnbU65/L6ABuNozyf1VRErZQ65fVbcAvwQ2Adtw3TwfYA+5/qHCBEZP0tkix1XcsYiUAf8C/ktVW/vbNc2Y9jM+qhGR9wL1qvpctlPSjI3Z68f9uj4M+JOqHgp04EwwmRhX1+/5Js7EmZemA6Uicl5/U9KMjdnrHypMYPSkFpiV8n4mTm0dF4hIECcsblDV27zh7Z6ajfdc741n+ixqvde9x0c7S4H3icgGnKnxXSJyPXvO9dcCtaq63Ht/K06A7CnX/x5gvao2qGoEuA04mj3n+ocEExg9WQksFJF5IlIAnA3cOcJrGhK8SI6/Aa+p6q9TNt0JnO+9Ph/4d8r42SJSKCLzgIXACk9tbxORd3jH/ETKnFGLqn5LVWeq6lzc9/qIqp7HnnP9dcBmEdnHG3o38Cp7yPXjTFHvEJESb93vxvnx9pTrHxpG2us+2h7AabgIoreA74z0eobwuo7Bqc4vAS96j9OAicDDwJvec3XKnO94n8NaUiJBgMXAK9623+NVDBgrD+B4dkVJ7THXDywCVnl/A3cAVXvY9f8AeN1b+3W4CKg95vqH4mGlQQzDMIysMJOUYRiGkRUmMAzDMIysMIFhGIZhZIUJDMMwDCMrTGAYhmEYWWECwzCywKv0+rmU99NF5NY8nev9IvLdDNvavefJInJfPs5vGJkwgWEY2VEJJAWGqm5V1Q/n6VxfB/7Y3w6q2gBsE5GleVqDYfTBBIZhZMflwHwReVFEfiEic0XkFQARuUBE7hCRu0RkvYh8QUS+4hX5e1ZEqr395ovIfSLynIg8ISL79j6JiOwNdKvqDu/9PBF5RkRWisiPeu1+B/CxvF61YaRgAsMwsuObwFuqukhVv5Zm+4HAubgS+ZcBIXVF/p7BlY8AuBL4oqoeDnyV9FrEUuD5lPe/xRUMPAKo67XvKuCdg7wew8iZwEgvwDDGCY+q6zPSJiItwF3e+MvAwV6V4KOBf6Y0aCtMc5xpuDLkCZYCH/JeXwf8LGVbPa7yqmEMCyYwDGNo6E55HU95H8f9n/mAZlVdNMBxOoGKXmOZ6vcUefsbxrBgJinDyI42XGvbQaGu98h6ETkLXPVgETkkza6vAQtS3j+Fq64Lff0Ve+OK4BnGsGACwzCyQFUbgadE5BUR+cUgD/Mx4CIRWQ2sIX3738eBQ2WX3erLwOdFZCV9NY8TgP8Mci2GkTNWrdYwRhki8lvgLlV9aID9HgfOVNWdw7MyY0/HNAzDGH38BCjpbwcRmQz82oSFMZyYhmEYhmFkhWkYhmEYRlaYwDAMwzCywgSGYRiGkRUmMAzDMIysMIFhGIZhZMX/B5ZL2F41P7MyAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -230,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -587,27 +587,73 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
<xarray.DataArray 'px' ()>\n",
-       "array(-9.71445147e-15)\n",
+       "
<xarray.Dataset>\n",
+       "Dimensions:  (id: 16)\n",
        "Coordinates:\n",
-       "    id       int64 101\n",
-       "    time     float64 1.14e+03
" + " * id (id) int64 101 102 103 104 105 106 107 ... 111 112 113 114 115 116\n", + " time float64 500.0\n", + "Data variables:\n", + " Gmass (id) float64 nan nan nan nan nan nan ... nan nan nan nan nan nan\n", + " Radius (id) float64 nan nan nan nan nan nan ... nan nan nan nan nan nan\n", + " px (id) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0\n", + " py (id) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0\n", + " pz (id) float64 0.0 0.0 0.0 0.0 -1.775e-18 ... 0.0 -1.388e-17 0.0 0.0\n", + " vx (id) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 -3.469e-18\n", + " vy (id) float64 0.0 0.0 0.0 0.0 ... -4.337e-19 2.168e-19 0.0\n", + " vz (id) float64 0.0 0.0 -1.084e-19 ... -4.066e-20 -1.355e-20\n", + " rmag (id) float64 0.0 0.0 0.0 0.0 1.775e-18 ... 0.0 1.388e-17 0.0 0.0\n", + " vmag (id) float64 0.0 0.0 1.084e-19 0.0 ... 4.4e-19 2.206e-19 3.469e-18
" ], "text/plain": [ - "\n", - "array(-9.71445147e-15)\n", + "\n", + "Dimensions: (id: 16)\n", "Coordinates:\n", - " id int64 101\n", - " time float64 1.14e+03" + " * id (id) int64 101 102 103 104 105 106 107 ... 111 112 113 114 115 116\n", + " time float64 500.0\n", + "Data variables:\n", + " Gmass (id) float64 nan nan nan nan nan nan ... nan nan nan nan nan nan\n", + " Radius (id) float64 nan nan nan nan nan nan ... nan nan nan nan nan nan\n", + " px (id) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0\n", + " py (id) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0\n", + " pz (id) float64 0.0 0.0 0.0 0.0 -1.775e-18 ... 0.0 -1.388e-17 0.0 0.0\n", + " vx (id) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 -3.469e-18\n", + " vy (id) float64 0.0 0.0 0.0 0.0 ... -4.337e-19 2.168e-19 0.0\n", + " vz (id) float64 0.0 0.0 -1.084e-19 ... -4.066e-20 -1.355e-20\n", + " rmag (id) float64 0.0 0.0 0.0 0.0 1.775e-18 ... 0.0 1.388e-17 0.0 0.0\n", + " vmag (id) float64 0.0 0.0 1.084e-19 0.0 ... 4.4e-19 2.206e-19 3.469e-18" ] }, - "execution_count": 28, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "swiftdiff['px'].sel(id=101).isel(time=114)" + "swiftdiff.sel(id=tpidx).isel(time=5)" ] }, { diff --git a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/tp.in b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/tp.in index c1e239467..e8eeff31e 100644 --- a/examples/rmvs_swifter_comparison/8pl_16tp_encounters/tp.in +++ b/examples/rmvs_swifter_comparison/8pl_16tp_encounters/tp.in @@ -1,49 +1,49 @@ 16 101 --0.30947664140174180325 0.16192347328838543885 0.041620272188990829754 --0.01621725604493672035 -0.023743802865467341506 -0.00021385162925667799668 +-0.37720907063545766613 0.033606067088593753744 0.037347605390151236704 +-0.0057392158855131963913 -0.026815373891535949219 -0.0014259978126226569104 102 --0.30952276281440505024 0.16187735187572213635 0.041620272188990829754 --0.021424354988955021661 -0.023743802865467341506 -0.00021385162925667799668 +-0.37725519204812091312 0.033559945675930451248 0.037347605390151236704 +-0.010946314829531501173 -0.026815373891535949219 -0.0014259978126226569104 103 --0.55665652353468386693 -0.46068452244605162527 0.02580196630219121906 -0.019100355212014374223 -0.015678149412530151263 -0.0009510907726656827677 +-0.48766603754926024505 -0.53432438354837974437 0.020810210727290629623 +0.021144392118120594604 -0.013730742274988789325 -0.0010423161661001279551 104 --0.5567709441156283301 -0.4607989430269959774 0.02580196630219121906 -0.0064058878013235863447 -0.015678149412530151263 -0.0009510907726656827677 +-0.4877804581302045972 -0.53443880412932420754 0.020810210727290629623 +0.008449924707429806725 -0.013730742274988789325 -0.0010423161661001279551 105 -0.6979392465946233637 -0.7360158052852626698 3.261671020506711323e-05 -0.019099571043071944532 0.0117727888369263504476 -6.0385404652521189453e-07 +0.7564188402683574841 -0.6746120925089938991 2.9482164814591560215e-05 +0.018066913504767485171 0.0127745538308708106445 -6.4922715710692383536e-07 106 -0.6978187907827443359 -0.73613626109714169754 3.261671020506711323e-05 -0.005310690574524194567 0.0117727888369263504476 -6.0385404652521189453e-07 +0.75629838445647845635 -0.67473254832087292687 2.9482164814591560215e-05 +0.0042780330362197352065 0.0127745538308708106445 -6.4922715710692383536e-07 107 --1.6176294307533440886 0.38317575049123231423 0.04771055403546069218 -0.00037580012182093606998 -0.012421968497550240837 -0.00019400613558421780209 +-1.6298426425859910971 0.3207743479093220218 0.04670239471945906301 +0.00089873472704595381427 -0.012535287802970449672 -0.00020920945169970240392 108 --1.6176935155808518374 0.38311166566372467646 0.04771055403546069218 --0.005783158074626849887 -0.012421968497550240837 -0.00019400613558421780209 +-1.6299067274134988459 0.32071026308181438402 0.04670239471945906301 +-0.005260223469401832143 -0.012535287802970449672 -0.00020920945169970240392 109 -4.1534063578978459574 -2.834088304936593694 -0.081136554176388195336 -0.041050613953966016978 0.0065946899141205552256 -0.00012065009272080269359 +4.174127216016058739 -2.8010326261995448505 -0.081737437087388009616 +0.041002116714784257734 0.0066275220486694394126 -0.000119701756809504006665 110 -4.152084559881651593 -2.8354101029527880584 -0.081136554176388195336 --0.032713820449328842588 0.0065946899141205552256 -0.00012065009272080269359 +4.1728054179998643747 -2.8023544242157392148 -0.081737437087388009616 +-0.032762317688510601832 0.0066275220486694394126 -0.000119701756809504006665 111 -6.395266446455758924 -7.620612254932671803 -0.121992225877669294154 -0.026081181967058334609 0.0035798698934692090544 -0.00022010758050265331019 +6.415082301905982831 -7.602684083557251782 -0.12309230194363039723 +0.026071492374768204248 0.003591394820962775982 -0.00021992254044702681153 112 -6.394165461745497936 -7.621713239642932791 -0.121992225877669294154 --0.01814515580000884351 0.0035798698934692090544 -0.00022010758050265331019 +6.413981317195721843 -7.60378506826751277 -0.12309230194363039723 +-0.018154845392298973872 0.003591394820962775982 -0.00021992254044702681153 113 -14.793375114914683266 13.074458101351583039 -0.14311846037737518955 -0.0104650340723796142495 0.0027702756265410048361 4.4212949669357180555e-05 +14.780219240154712779 13.088303286756103105 -0.14289732557134240953 +0.010462143259461278988 0.002767798188238951903 4.424098699891899271e-05 114 -14.79289559894027839 13.073978585377178163 -0.14311846037737518955 --0.015724493004944172653 0.0027702756265410048361 4.4212949669357180555e-05 +14.779739724180307903 13.087823770781698229 -0.14289732557134240953 +-0.015727383817862507914 0.002767798188238951903 4.424098699891899271e-05 115 -29.568862657342247502 -4.5540701367497931074 -0.58771107137394917874 -0.0148974462162825404404 0.0031288137434451902125 -7.498349850432879627e-05 +29.571167506453647889 -4.538425335608981648 -0.5880859062837571205 +0.01489576481715346179 0.0031291067120909890273 -7.4950441013985698475e-05 116 -29.568397132449813824 -4.554535661642223232 -0.58771107137394917874 --0.013973825410273721728 0.0031288137434451902125 -7.498349850432879627e-05 +29.570701981561214211 -4.5388908605014117725 -0.5880859062837571205 +-0.013975506809402800379 0.0031291067120909890273 -7.4950441013985698475e-05 diff --git a/examples/rmvs_swifter_comparison/mars_ejecta/pl.swifter.in b/examples/rmvs_swifter_comparison/mars_ejecta/pl.swifter.in index ab7f6ec08..bef7f7500 100644 --- a/examples/rmvs_swifter_comparison/mars_ejecta/pl.swifter.in +++ b/examples/rmvs_swifter_comparison/mars_ejecta/pl.swifter.in @@ -2,7 +2,7 @@ 1 2.9591220828563E-04 .0 .0 .0 .0 .0 .0 - 2 4.912576812862670E-11 1.475E-03 ! Mercury / Mass (Msun) / Rhill (AU) + 2 4.912576812862670E-11 1.475E-03 ! Mercury / Mass (Msun) / rhill (AU) 1.63104E-05 ! Radius (AU) 3.347381871776144E-01 -2.106110537919978E-01 -4.792146121659843E-02 9.457239437449661E-03 2.510612575783642E-02 1.183593414707043E-03 diff --git a/examples/symba_chambers_2013/.gitignore b/examples/symba_chambers_2013/.gitignore new file mode 100644 index 000000000..18e3d4488 --- /dev/null +++ b/examples/symba_chambers_2013/.gitignore @@ -0,0 +1 @@ +savestate/* diff --git a/examples/symba_chambers_2013/.idea/.gitignore b/examples/symba_chambers_2013/.idea/.gitignore new file mode 100644 index 000000000..26d33521a --- /dev/null +++ b/examples/symba_chambers_2013/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/examples/symba_chambers_2013/aescattermovie.py b/examples/symba_chambers_2013/aescattermovie.py new file mode 100755 index 000000000..6f73a32dc --- /dev/null +++ b/examples/symba_chambers_2013/aescattermovie.py @@ -0,0 +1,124 @@ +#!/usr/bin/env python3 +import swiftest +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import animation +import matplotlib.colors as mcolors + +titletext = "Chambers (2013)" +radscale = 2000 +AU = 1.0 +xmin = 0.0 +xmax = 2.00 +ymin = 1e-4 +ymax = 1.0 +framejump = 1 +ncutoff = 1e20 + +class AnimatedScatter(object): + """An animated scatter plot using matplotlib.animations.FuncAnimation.""" + def __init__(self, ds, param): + + frame = 0 + nframes = int(ds['time'].size / framejump) + self.ds = ds + self.param = param + self.Rcb = self.ds['radius'].sel(id=0, time=0).values + + self.clist = {'Initial conditions' : 'xkcd:faded blue', + 'Disruption' : 'xkcd:marigold', + 'Supercatastrophic' : 'xkcd:shocking pink', + 'Hit and run fragment' : 'xkcd:baby poop green'} + + # Setup the figure and axes... + fig = plt.figure(figsize=(8,4.5), dpi=300) + plt.tight_layout(pad=0) + # set up the figure + self.ax = plt.Axes(fig, [0.1, 0.15, 0.8, 0.75]) + self.ax.set_xlim(xmin, xmax) + self.ax.set_ylim(ymin, ymax) + fig.add_axes(self.ax) + self.ani = animation.FuncAnimation(fig, self.update, interval=1, frames=nframes, init_func=self.setup_plot, blit=True) + #self.ani.save('aescatter.mp4', fps=30, dpi=300, extra_args=['-vcodec', 'libx264']) + self.ani.save('aescatter.mp4', fps=30, dpi=300, extra_args=['-vcodec', 'mpeg4']) + print('Finished writing aescattter.mp4') + + def scatters(self, pl, radmarker, origin): + scat = [] + for key, value in self.clist.items(): + idx = origin == key + s = self.ax.scatter(pl[idx, 0], pl[idx, 1], marker='o', s=radmarker[idx], c=value, alpha=0.75, label=key) + scat.append(s) + return scat + + def setup_plot(self): + # First frame + """Initial drawing of the scatter plot.""" + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(0)) + + # set up the figure + self.ax.margins(x=10, y=1) + self.ax.set_xlabel("Semi Major Axis (AU)", fontsize='16', labelpad=1) + self.ax.set_ylabel("Eccentricity", fontsize='16', labelpad=1) + self.ax.set_yscale("log") + + self.title = self.ax.text(0.50, 1.05, "", bbox={'facecolor': 'w', 'alpha': 0.5, 'pad': 5}, transform=self.ax.transAxes, + ha="center") + + self.title.set_text(f"{titletext} - Time = ${t*1e-6:6.3f}$ My with ${npl:4.0f}$ particles") + slist = self.scatters(pl, radmarker, origin) + self.s0 = slist[0] + self.s1 = slist[1] + self.s2 = slist[2] + self.s3 = slist[3] + leg = plt.legend(loc="lower right", scatterpoints=1, fontsize=10) + for i,l in enumerate(leg.legendHandles): + leg.legendHandles[i]._sizes = [20] + return self.s0, self.s1, self.s2, self.s3, self.title + + def data_stream(self, frame=0): + while True: + d = self.ds.isel(time = frame) + d = d.where(d['radius'] < self.Rcb, drop=True) + d['radmarker'] = (d['radius'] / self.Rcb) * radscale + radius = d['radmarker'].values + + radius = d['radmarker'].values + Gmass = d['Gmass'].values + a = d['a'].values / AU + e = d['e'].values + name = d['id'].values + npl = d['npl'].values[0] + radmarker = d['radmarker'] + origin = d['origin_type'] + + t = self.ds.coords['time'].values[frame] + + yield t, name, Gmass, radius, npl, np.c_[a, e], radmarker, origin + + def update(self,frame): + """Update the scatter plot.""" + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(framejump * frame)) + + self.title.set_text(f"{titletext} - Time = ${t*1e-6:6.3f}$ My with ${npl:4.0f}$ particles") + + # We need to return the updated artist for FuncAnimation to draw.. + # Note that it expects a sequence of artists, thus the trailing comma. + s = [self.s0, self.s1, self.s2, self.s3] + for i, (key, value) in enumerate(self.clist.items()): + idx = origin == key + s[i].set_sizes(radmarker[idx]) + s[i].set_offsets(pl[idx,:]) + s[i].set_facecolor(value) + + self.s0 = s[0] + self.s1 = s[1] + self.s2 = s[2] + self.s3 = s[3] + return self.s0, self.s1, self.s2, self.s3, self.title, + +sim = swiftest.Simulation(param_file="param.in") +sim.bin2xr() +print('Making animation') +anim = AnimatedScatter(sim.ds,sim.param) +print('Animation finished') diff --git a/examples/symba_chambers_2013/init_cond.py b/examples/symba_chambers_2013/init_cond.py new file mode 100755 index 000000000..a3225caf4 --- /dev/null +++ b/examples/symba_chambers_2013/init_cond.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 +import swiftest +import numpy as np +from numpy.random import default_rng + +# Initialize simulation object +sim = swiftest.Simulation() + +# Set unit conversion factors +MU2KG = swiftest.MSun +TU2S = swiftest.YR2S +DU2M = swiftest.AU2M +GU = swiftest.GC / (DU2M**3 / (MU2KG * TU2S**2)) +sim.param['MU2KG'] = MU2KG +sim.param['TU2S'] = TU2S +sim.param['DU2M'] = DU2M + +# Simulation time parameters +sim.param['T0'] = 0.0 +sim.param['TSTOP'] = 300e6 +sim.param['DT'] = 6 * swiftest.JD2S / sim.param['TU2S'] +t_print = 1000.0 +iout = int(np.ceil(t_print / sim.param['DT'])) +sim.param['ISTEP_OUT'] = iout +sim.param['ISTEP_DUMP'] = iout + +# Optional output file names +sim.param['PARTICLE_OUT'] = "particle.dat" +sim.param['ENERGY'] = "YES" +sim.param['ENERGY_OUT'] = "energy.dat" +sim.param['PL_IN'] = "pl_chambers_2013.in" +sim.param['CB_IN'] = "sun_MsunAUYR.in" +sim.param['ENC_OUT'] = "" + +# Simulation parameters +sim.param['FRAGMENTATION'] = "YES" +sim.param['ROTATION'] = "YES" +sim.param['CHK_RMAX'] = 1000.0 +sim.param['CHK_EJECT'] = 1000.0 +sim.param['IN_FORM'] = 'EL' +sim.param['OUT_FORM'] = 'XVEL' +sim.param['OUT_TYPE'] = 'NETCDF_DOUBLE' +sim.param['BIN_OUT'] = 'bin.nc' + +# Add central body +sim.add("Sun") +GMcb = sim.ds['Gmass'].values[0] +sim.add("Jupiter") +sim.add("Saturn") + +# Add bodies described in Chambers (2013) Sec. 2.1, with the uniform spatial distribution and two bodies sizes (big and small) +Nb = 14 +Ns = 140 +Mb = 2.8e-7 +Ms = 2.8e-8 +dens = 3000.0 / (MU2KG / DU2M**3) +Rb = (3 * Mb / (4 * np.pi * dens) )**(1.0 / 3.0) +Rs = (3 * Ms / (4 * np.pi * dens) )**(1.0 / 3.0) +sim.param['GMTINY'] = 1e-2 * GU * Ms +sim.param['MIN_GMFRAG'] = 1e-4 * GU * Ms + +# Define the initial orbital elements of the big and small bodies +avalb = default_rng().uniform(0.3, 2.0, Nb) +avals = default_rng().uniform(0.3, 2.0, Ns) +evalb = default_rng().uniform(0.0, 0.01, Nb) +evals = default_rng().uniform(0.0, 0.01, Ns) +incvalb = default_rng().uniform(0.0, 0.5, Nb) +incvals = default_rng().uniform(0.0, 0.5, Ns) +capomvalb = default_rng().uniform(0.0, 360.0, Nb) +capomvals = default_rng().uniform(0.0, 360.0, Ns) +omegavalb = default_rng().uniform(0.0, 360.0, Nb) +omegavals = default_rng().uniform(0.0, 360.0, Ns) +capmvalb = default_rng().uniform(0.0, 360.0, Nb) +capmvals = default_rng().uniform(0.0, 360.0, Ns) +GMvalb = np.full(Nb, Mb * GU) +GMvals = np.full(Ns, Ms * GU) +Rvalb = np.full(Nb, Rb) +Rvals = np.full(Ns, Rs) +Rhb = avalb * (GMvalb / (3 * GMcb))**(1.0/3.0) +Rhs = avals * (GMvals / (3 * GMcb))**(1.0/3.0) + +# Give the bodies unique ids +idb = np.arange(10, 10 + Nb) +ids = np.arange(11 + Nb, 11 + Nb + Ns) + +nameb = [] +for i in idb: + nameb.append(f"BigBody{i-9:0.4g}") +names = [] +for i in ids: + names.append(f"SmallBody{i-9:0.4g}") + + +# Populate the simulation object with the two types of bodies +sim.addp(idb, nameb, avalb, evalb, incvalb, capomvalb, omegavalb, capmvalb, GMpl=GMvalb, Rpl=Rvalb, rhill=Rhb) +sim.addp(ids, names, avals, evals, incvals, capomvals, omegavals, capmvals, GMpl=GMvals, Rpl=Rvals, rhill=Rhs) + +# Save everything to a set of initial conditions files +sim.save("param.in") + + + diff --git a/examples/symba_chambers_2013/param.in b/examples/symba_chambers_2013/param.in new file mode 100644 index 000000000..8f200df67 --- /dev/null +++ b/examples/symba_chambers_2013/param.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 300000000.0 +DT 0.01642710472279261 +ISTEP_OUT 60876 +ISTEP_DUMP 60876 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN pl_chambers_2013.in +TP_IN tp.in +CB_IN sun_MsunAUYR.in +BIN_OUT bin.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 +DISCARD_OUT discard.out +PARTICLE_OUT particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION YES +ROTATION YES +TIDES NO +ENERGY YES +GR NO +ENERGY_OUT energy.dat +GMTINY 1.1053539394491336e-08 +MIN_GMFRAG 1.1053539394491336e-10 diff --git a/examples/symba_chambers_2013/pl_chambers_2013.in b/examples/symba_chambers_2013/pl_chambers_2013.in new file mode 100644 index 000000000..d694bd90c --- /dev/null +++ b/examples/symba_chambers_2013/pl_chambers_2013.in @@ -0,0 +1,937 @@ +156 +Jupiter 0.037692251088985676735 0.35527132160755719005 +0.00046732617030490929307 +5.203525118232844804 0.04851860564816618676 1.3035691661895258964 +100.51674233424300553 273.38304127662058818 317.663122660171382 +0.0 0.0 0.27560000000000001164 +-80.968403371628011836 -2387.9972308074941552 5008.7356633679251408 +Saturn 0.011285899820091272997 0.43766379465266665196 +0.00038925687730393611812 +9.5818658609281062155 0.052205424243311190913 2.4862597472377250263 +113.59526896860690215 335.6868332999574136 225.48455056285450837 +0.0 0.0 0.22000000000000000111 +441.93109321068034775 378.52929516502754512 5135.9113502360652523 +BigBody1 1.1053539394491336042e-05 0.0074243341280248171816 +2.3653347588909066005e-05 +1.6367358057845475816 0.0034166548941629258651 0.21879260968354363737 +21.041926702013121542 6.966209570135037943 353.89940691003835127 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody2 1.1053539394491336042e-05 0.008701441270991232489 +2.3653347588909066005e-05 +1.9182811878580832143 0.001983570125226424754 0.47699514975225187907 +244.73038369249368884 169.64703978001028872 228.74294167258540256 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody3 1.1053539394491336042e-05 0.0028274735843444539963 +2.3653347588909066005e-05 +0.62333229830507885794 0.005233546206515517739 0.39568260035041247225 +325.88888897134881972 153.91710344621517947 52.819812549308984728 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody4 1.1053539394491336042e-05 0.0014161638656182578314 +2.3653347588909066005e-05 +0.31220121101046316436 0.005603861843408211238 0.092818768166148979404 +163.68602221786181872 248.54181736106085054 263.40784379446773755 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody5 1.1053539394491336042e-05 0.0058031850839421550937 +2.3653347588909066005e-05 +1.2793444705875420819 0.008208680503293538239 0.023138084495924027273 +209.58319396393750367 119.52910880653347192 314.50121467342484038 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody6 1.1053539394491336042e-05 0.0057067919277962843923 +2.3653347588909066005e-05 +1.2580940624868359734 0.0065171590670703941767 0.39352865077091525592 +195.49136805916123194 57.04938439216533652 248.43605393468556031 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody7 1.1053539394491336042e-05 0.008909342916648943839 +2.3653347588909066005e-05 +1.9641142634796455724 0.003827092787364123807 0.11322153568015552727 +193.30489858580236273 167.70088129510983777 72.21547320900106115 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody8 1.1053539394491336042e-05 0.0022763633549123734702 +2.3653347588909066005e-05 +0.5018369790089363125 0.0042844948172547350426 0.168943107634771994 +258.4718846019206353 276.50078927222079983 175.04487030031225459 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody9 1.1053539394491336042e-05 0.0068303803402822211564 +2.3653347588909066005e-05 +1.5057953854564698482 0.0025088080634212738332 0.38815973385703372855 +342.40213238162482412 38.531939970843424703 190.77674887921716618 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody10 1.1053539394491336042e-05 0.008388115886865277387 +2.3653347588909066005e-05 +1.8492068619701422794 0.007194433386484905789 0.40063701449417626899 +144.04024254110095171 333.32725808913193077 77.12020350544085545 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody11 1.1053539394491336042e-05 0.008617248786048845239 +2.3653347588909066005e-05 +1.8997204856716041199 0.008611198402818386749 0.35916982827818139112 +335.510100580524238 94.3216870275639252 312.88201783559190972 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody12 1.1053539394491336042e-05 0.0035499236688427180967 +2.3653347588909066005e-05 +0.7826004428686323955 0.0012885916956714516066 0.072998416848503777654 +289.698333799458851 51.867186524003187742 193.41829977210343827 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody13 1.1053539394491336042e-05 0.0026082150511211890182 +2.3653347588909066005e-05 +0.5749955335714322935 0.00070756832643816154876 0.49519708693510428033 +359.6794452009551719 319.60134668069326835 154.49113681541822984 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +BigBody14 1.1053539394491336042e-05 0.008562476338591311624 +2.3653347588909066005e-05 +1.8876455945933858782 0.004021006848009781899 0.087891473786938734136 +274.70971881893206046 154.36910259029556869 302.11280885249925632 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody16 1.1053539394491334998e-06 0.0017351564481596240887 +1.0978911404624207108e-05 +0.8241249194251554222 0.0006487878307126593129 0.37479217715625012808 +39.79358057252731129 88.04695214526078928 350.63033380622476898 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody17 1.1053539394491334998e-06 0.003438767681582787084 +1.0978911404624207108e-05 +1.633267214326447947 0.00023758016472743781152 0.34167698710799682127 +268.24635832820735004 169.94300166889169645 84.47584522462051382 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody18 1.1053539394491334998e-06 0.0036234919106881456764 +1.0978911404624207108e-05 +1.7210033032473028847 0.0047742023208973216955 0.11586561032367881374 +122.12903874666852744 83.63949330516025782 89.43732781404645493 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody19 1.1053539394491334998e-06 0.001134755447805816562 +1.0978911404624207108e-05 +0.5389601859717687571 0.005953573515783903633 0.38301846117291393767 +198.6812014627746521 82.06633747367067144 222.26356386390955322 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody20 1.1053539394491334998e-06 0.0031159203507303477127 +1.0978911404624207108e-05 +1.4799285739937022566 0.0035619477965435409651 0.059098198702242421554 +310.44503242432062962 355.89233767122334484 296.79189250544027345 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody21 1.1053539394491334998e-06 0.0023535027362334387583 +1.0978911404624207108e-05 +1.1178128951556278725 0.0011223516138449806528 0.022315933398055154413 +297.56102596926723436 2.4935445365223785075 290.66289100541200696 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody22 1.1053539394491334998e-06 0.0035656742897341810272 +1.0978911404624207108e-05 +1.693542412178616452 0.0040932943971498294417 0.3948665983305137961 +339.093558804669442 259.81990416297884394 148.95186208865482058 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody23 1.1053539394491334998e-06 0.0022611863814377749927 +1.0978911404624207108e-05 +1.0739665846178696462 0.0012840171705301973125 0.19476937266504218416 +297.386703142769818 151.91509859305122632 250.19456183898023482 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody24 1.1053539394491334998e-06 0.0023953714758779178613 +1.0978911404624207108e-05 +1.1376987513978915612 0.008515802940667225804 0.039736464816959027324 +130.21317576651230752 70.45013837961363379 221.87886384170494125 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody25 1.1053539394491334998e-06 0.0034659284677154082642 +1.0978911404624207108e-05 +1.6461674232423710862 0.004605036788321378513 0.31874779879437620256 +148.5866490040527026 149.30091714058067964 99.46202642603512345 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody26 1.1053539394491334998e-06 0.0028314912741128235144 +1.0978911404624207108e-05 +1.344836957270491018 0.004004225412797391033 0.31408792179868039174 +329.42526329938533536 218.74973858770289326 31.598359508124481465 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody27 1.1053539394491334998e-06 0.0035657719433803714185 +1.0978911404624207108e-05 +1.6935887934737345883 0.003625823925211191321 0.011103313823782212655 +4.3173658011361659703 265.51362444050306522 306.2440101174317988 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody28 1.1053539394491334998e-06 0.003297916350976027023 +1.0978911404624207108e-05 +1.5663688711768488648 0.0046622077804485666935 0.33919175649180494103 +306.97367190207165777 18.174144285673445864 354.14468289351236763 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody29 1.1053539394491334998e-06 0.001696857290253097992 +1.0978911404624207108e-05 +0.80593446146544556186 0.0089081506786704706125 0.043157412254051730205 +277.850373401511888 123.10579243426050766 93.01488646634489044 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody30 1.1053539394491334998e-06 0.0021446696510771600803 +1.0978911404624207108e-05 +1.0186261332585864192 0.0029210959858598228855 0.19801062855300394228 +6.458452465982582602 319.89801940984625617 228.20899095996719552 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody31 1.1053539394491334998e-06 0.0027547362011134702279 +1.0978911404624207108e-05 +1.3083815884084177839 0.0075545048562947990367 0.33085846113471090169 +294.3939768734622362 308.9097722907977186 289.8210233062081329 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody32 1.1053539394491334998e-06 0.0031842594376846704832 +1.0978911404624207108e-05 +1.5123867103130843592 0.001686012349810540531 0.37228230250032695592 +18.8797547571544726 125.872553835984504644 208.9251761899009523 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody33 1.1053539394491334998e-06 0.002247708832979587486 +1.0978911404624207108e-05 +1.0675653269393858835 0.0011230027938351151619 0.35557286841218888052 +243.67111775541096108 37.96034701396045108 88.987820375667197936 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody34 1.1053539394491334998e-06 0.0013121511866584325592 +1.0978911404624207108e-05 +0.6232155562257534198 0.0011780431424190363453 0.35960708946175562462 +322.02262254571718358 332.4949291895190413 152.81190365726115488 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody35 1.1053539394491334998e-06 0.0014967817348828841872 +1.0978911404624207108e-05 +0.71090715074467070167 0.008832462815755786831 0.10952157655510541545 +160.71141170112289842 114.18934134683311754 277.6929815128169139 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody36 1.1053539394491334998e-06 0.0030299295774483482833 +1.0978911404624207108e-05 +1.4390866434706655053 0.0043491365873236367476 0.2172391413785259573 +107.424624730892062985 140.64076212096063045 65.37328530182462316 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody37 1.1053539394491334998e-06 0.0038420224219524271426 +1.0978911404624207108e-05 +1.8247959267762252633 0.0069595061027765839703 0.2031458227831892116 +60.30069261316840823 186.29407945868973684 96.04805330164970201 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody38 1.1053539394491334998e-06 0.0027991657617720382088 +1.0978911404624207108e-05 +1.3294837248392123996 0.0021307104738356487383 0.27150507932869094585 +286.3783517588109362 129.48053796312069608 119.90656313407949085 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody39 1.1053539394491334998e-06 0.0039543751049730075407 +1.0978911404624207108e-05 +1.8781586341792051442 0.0023844012437418417825 0.27326985201083692223 +114.968426872986213993 57.98285683500146348 113.5343972847980325 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody40 1.1053539394491334998e-06 0.0020036090161593164158 +1.0978911404624207108e-05 +0.9516283795349782526 0.0022186742704323092652 0.04628224671674396884 +32.299509227827073232 317.61854491863351768 268.59769558425449532 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody41 1.1053539394491334998e-06 0.0028799283662589175008 +1.0978911404624207108e-05 +1.3678424993381399499 0.0066819507316878603426 0.07716164563597766035 +329.64464444459332526 204.92003707923961997 163.74906736662356366 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody42 1.1053539394491334998e-06 0.0037367851650158436479 +1.0978911404624207108e-05 +1.7748127416949179835 0.0026742823651202530903 0.35585638061056223957 +113.347581144256466246 174.66974907394964589 289.37163474014494113 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody43 1.1053539394491334998e-06 0.0022390360937310795117 +1.0978911404624207108e-05 +1.0634461476331320551 0.00053313026316393122544 0.2373999411140914062 +271.30012989506457188 10.459818195289575016 58.036821152458777817 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody44 1.1053539394491334998e-06 0.0023045570046331629935 +1.0978911404624207108e-05 +1.0945657711547540636 0.0011368233813004891431 0.46678482074518445888 +302.43512296271762807 34.219408880811762685 273.1731433525869761 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody45 1.1053539394491334998e-06 0.0036257009987981708087 +1.0978911404624207108e-05 +1.7220525253866716398 0.005812492405147601064 0.18241253340230184632 +349.16566525366459928 66.79804880955843771 244.99022628833102999 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody46 1.1053539394491334998e-06 0.0019632679325566203126 +1.0978911404624207108e-05 +0.9324680944155254725 0.005096834041688923754 0.2483520694023206854 +119.99880286178381539 9.742430947085129134 155.32437515351233515 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody47 1.1053539394491334998e-06 0.0009102148088042158425 +1.0978911404624207108e-05 +0.43231300944705941536 0.005648229292013018203 0.18853291667710370128 +269.6055670622664593 357.6457559917049025 334.9767947473189338 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody48 1.1053539394491334998e-06 0.0012954121171608724439 +1.0978911404624207108e-05 +0.6152652158886844358 0.0064177679039259761737 0.3660772735514235543 +288.48514746496266525 38.450761776372161194 55.7962725159071411 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody49 1.1053539394491334998e-06 0.0024739699402568946195 +1.0978911404624207108e-05 +1.1750296521313488007 0.0065104146765382125625 0.03763006803493884611 +262.774107356739421 201.1690156846309776 105.607622741249286946 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody50 1.1053539394491334998e-06 0.0016836813798114476406 +1.0978911404624207108e-05 +0.79967646891232724293 0.0010604079445286596853 0.36911162753965132133 +278.5022837689812718 353.07542055254396018 94.178933984937216906 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody51 1.1053539394491334998e-06 0.0017195953704312818065 +1.0978911404624207108e-05 +0.8167340746730060719 0.0014735397597012923811 0.106630877203119256436 +217.86989923422629545 260.11059897322320467 190.31524934619145029 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody52 1.1053539394491334998e-06 0.0008608540298652155061 +1.0978911404624207108e-05 +0.4088687557551154983 0.0022200982033595763505 0.35810271184633135633 +288.9047897804766194 62.075500010596677214 18.189906361202666574 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody53 1.1053539394491334998e-06 0.0019848569361943638805 +1.0978911404624207108e-05 +0.9427219455321182995 0.004239482820492568131 0.2260315464979905653 +350.77406185440707986 159.74287915746657518 87.84313205545750236 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody54 1.1053539394491334998e-06 0.0029664053385532961257 +1.0978911404624207108e-05 +1.4089153535466614198 0.008939923531461250669 0.34471554248304558943 +182.63918552677125717 348.7500402840085485 120.74620441079039779 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody55 1.1053539394491334998e-06 0.0023637080106960954408 +1.0978911404624207108e-05 +1.1226599629823756921 0.008703427486171486441 0.08785815527239088096 +338.94990604190400063 238.9132533680246695 319.78307374199994229 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody56 1.1053539394491334998e-06 0.0026328560562540776697 +1.0978911404624207108e-05 +1.2504937451143398608 0.002589156467576795434 0.410462142220338444 +189.77150265342899615 122.37242655661786728 96.94997250606695616 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody57 1.1053539394491334998e-06 0.002121649634828146817 +1.0978911404624207108e-05 +1.0076926125051663963 0.009841532148699604771 0.48146102056592687823 +185.59042598838865956 64.35847565299175699 78.96986998774411859 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody58 1.1053539394491334998e-06 0.0018289433155997616911 +1.0978911404624207108e-05 +0.8686696604219803497 0.0082175492365333217826 0.18858910014174024017 +235.11309456546851493 45.764303821886500145 40.807378448225108514 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody59 1.1053539394491334998e-06 0.0013740407773030377619 +1.0978911404624207108e-05 +0.65261045831503694536 0.00886869353675501064 0.058625206665167850506 +39.187838407592039403 322.45546892152003693 253.06901117526950884 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody60 1.1053539394491334998e-06 0.0022926246503426237399 +1.0978911404624207108e-05 +1.0888984144569340273 0.0039875571453738345787 0.020129257957628376996 +9.110799581756335641 125.83977812325261425 78.40563607259049661 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody61 1.1053539394491334998e-06 0.0025091531893443032756 +1.0978911404624207108e-05 +1.191740186994086681 0.008173634999465642995 0.29869700212275529516 +278.24214351007020696 214.39280016748816138 101.53169945550675379 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody62 1.1053539394491334998e-06 0.0009897399507804386538 +1.0978911404624207108e-05 +0.47008404230864464513 0.0016900691601710205337 0.2923668713090333826 +222.75856139935487477 23.871242778405207474 247.11608431356100368 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody63 1.1053539394491334998e-06 0.0041212944734210044516 +1.0978911404624207108e-05 +1.9574381776570324298 0.0009901435887703768229 0.14466197394385382768 +286.3416003771931173 297.27668389783224256 139.31901126031084459 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody64 1.1053539394491334998e-06 0.0010057170108254320502 +1.0978911404624207108e-05 +0.47767246082629277737 0.009318667742477268132 0.44646018202156600996 +181.50231862935842742 39.941988854307389545 92.775461164340114806 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody65 1.1053539394491334998e-06 0.0012355928427943945143 +1.0978911404624207108e-05 +0.58685362526834994323 0.0063944758811966167025 0.13179594249846143805 +166.27829439480856877 194.57385330167642223 248.15960802489175308 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody66 1.1053539394491334998e-06 0.0029497258104301727759 +1.0978911404624207108e-05 +1.4009932928096608951 0.0073617980845235523463 0.4331110895441231401 +298.98597359658293726 291.79032465955356201 134.71870506235592302 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody67 1.1053539394491334998e-06 0.0024335602953199311332 +1.0978911404624207108e-05 +1.1558368033176316114 0.0014674948178538295418 0.14595620981903045799 +26.906065188725545312 193.59979141105480949 342.92713693975338174 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody68 1.1053539394491334998e-06 0.0011621530047934199633 +1.0978911404624207108e-05 +0.5519728508924466315 0.009125710167568410955 0.38391361749146651894 +312.46372840188922737 52.13612183972309566 237.37098505324595976 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody69 1.1053539394491334998e-06 0.0013502749860594976756 +1.0978911404624207108e-05 +0.64132272641372556343 0.00090827058188821087684 0.122492384756083261266 +85.557328856885106916 38.164622893518028945 6.7652899237678276734 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody70 1.1053539394491334998e-06 0.0011111205042707826829 +1.0978911404624207108e-05 +0.5277346011220065414 0.0057285060222213544934 0.3871179032550878807 +78.49694291256504641 297.43183861262565415 359.95087146468250694 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody71 1.1053539394491334998e-06 0.0012221682205234687057 +1.0978911404624207108e-05 +0.5804775052596473639 0.006606364723628247587 0.35126971133492751465 +266.67191037878211546 347.85365732062336974 196.00158209101920193 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody72 1.1053539394491334998e-06 0.0026308596582066154685 +1.0978911404624207108e-05 +1.2495455416357714729 0.002031665833294462719 0.32894383168929558492 +180.19692357114033143 187.6939538154834679 245.18398176961554213 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody73 1.1053539394491334998e-06 0.0025459751819877767305 +1.0978911404624207108e-05 +1.2092290547861306305 0.0062147785036781658108 0.42828731835165739783 +351.15138514894761101 140.23344369553493038 252.31698431602899291 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody74 1.1053539394491334998e-06 0.0026758393184655913376 +1.0978911404624207108e-05 +1.2709089517916776213 0.0029285359688681514116 0.40818349943589532502 +346.8551108771299596 12.119434598934258673 249.55690237557612932 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody75 1.1053539394491334998e-06 0.0038435765356302306976 +1.0978911404624207108e-05 +1.8255340641417958647 0.004337083773540291974 0.12440740004749534231 +0.21158758918201403532 315.85729824918280428 23.028332918127727424 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody76 1.1053539394491334998e-06 0.001962369310037469242 +1.0978911404624207108e-05 +0.9320412872466534715 0.0072527006896398269614 0.33669899514991330491 +314.09559552333024612 29.746778859664111394 138.08651123959521101 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody77 1.1053539394491334998e-06 0.0034266742915467665759 +1.0978911404624207108e-05 +1.6275233725538036378 0.004486668873624886922 0.0018127120154187714718 +208.63800449670034709 178.44725683460612231 295.00705561696236146 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody78 1.1053539394491334998e-06 0.0035827057041377866747 +1.0978911404624207108e-05 +1.7016316038120020693 0.008074545809734847562 0.2024727100717404471 +189.54840202229254942 346.288978261405191 336.5068221459076767 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody79 1.1053539394491334998e-06 0.0014758979985400451381 +1.0978911404624207108e-05 +0.70098827135538399613 0.0050294491101013204942 0.37130662544207221343 +117.532332239196989576 119.15539963745180785 126.925668244431079756 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody80 1.1053539394491334998e-06 0.0015255152064378374044 +1.0978911404624207108e-05 +0.72455431780856671686 0.003950446349021759229 0.3068308339372661231 +36.56291538527193552 161.75570886946522364 245.93043129193375762 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody81 1.1053539394491334998e-06 0.0011590532892219572599 +1.0978911404624207108e-05 +0.55050061889383805624 0.008508557323662622671 0.093253923803440552653 +124.451163796711156806 347.73017221758141204 183.74365373633969512 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody82 1.1053539394491334998e-06 0.0024439578873632304452 +1.0978911404624207108e-05 +1.1607752137497215905 0.00108159632099681614 0.1793530901487539464 +85.69565254676035693 163.58450447375494718 246.78582364352257628 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody83 1.1053539394491334998e-06 0.0041849171231261979345 +1.0978911404624207108e-05 +1.987656208496568544 0.008796530612750232819 0.21319751377321760621 +282.4698261721002268 13.883490992204517767 193.43011573870168718 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody84 1.1053539394491334998e-06 0.0035583177618115590538 +1.0978911404624207108e-05 +1.6900483768206462365 0.0029694984676444315282 0.43619357254784330014 +199.84303896526179756 4.9382382008980618693 153.69868992069012847 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody85 1.1053539394491334998e-06 0.003650212543420925295 +1.0978911404624207108e-05 +1.733694458169527719 8.37953811003178139e-05 0.49730476275208318482 +76.67449702244863374 109.74398992658458951 289.31049603383297608 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody86 1.1053539394491334998e-06 0.002135981151471338737 +1.0978911404624207108e-05 +1.0144994684583215072 0.004506861636329010344 0.04762916404555184169 +352.8677626105417744 154.41611377083665957 134.09312216693749065 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody87 1.1053539394491334998e-06 0.003200581292058947748 +1.0978911404624207108e-05 +1.5201388913543600889 0.005572932191637661528 0.41540019173215758652 +268.21187697796170823 48.902911826943373796 262.3436588669285925 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody88 1.1053539394491334998e-06 0.0012861207686880307786 +1.0978911404624207108e-05 +0.6108522237232498764 0.005429823746949486059 0.4157807676443512901 +327.8425030797158115 27.98437582738972651 42.77216027009259136 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody89 1.1053539394491334998e-06 0.0011761722209149318581 +1.0978911404624207108e-05 +0.5586313774874398508 0.0031758045904765452166 0.101357753154031782206 +296.28816067879887441 283.822297721177506 334.6154077534155249 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody90 1.1053539394491334998e-06 0.0036412139412147807882 +1.0978911404624207108e-05 +1.729420507929511297 0.0031178033685856634469 0.2575855781953989565 +69.84018972442507334 62.167401490125023145 330.0595318836462866 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody91 1.1053539394491334998e-06 0.0030033226640541959833 +1.0978911404624207108e-05 +1.426449500358662581 0.0020081709600639477062 0.22600455672962604936 +284.87116687156947137 94.95424318278870146 53.66013829009383329 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody92 1.1053539394491334998e-06 0.0011083051001590989141 +1.0978911404624207108e-05 +0.5263974048771655756 0.005519262107960243649 0.4757355366967259136 +161.12521856985677005 123.28366453298917804 315.06783952424086692 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody93 1.1053539394491334998e-06 0.0012127048213767872621 +1.0978911404624207108e-05 +0.5759827964006745127 0.0035395840478532037375 0.2742620450020670786 +114.32380284259015468 316.44931732492420906 69.43354290911554472 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody94 1.1053539394491334998e-06 0.0019679363219885160354 +1.0978911404624207108e-05 +0.93468537924219741164 0.006668566768847774412 0.120331645988828450644 +15.981416727773186892 109.48045067821274756 119.3717579036452463 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody95 1.1053539394491334998e-06 0.001665356753916010893 +1.0978911404624207108e-05 +0.7909730572657345249 0.0087883446026040274585 0.45799248207591430893 +293.11097031314750438 196.40564036731450415 150.97581680478862154 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody96 1.1053539394491334998e-06 0.0031494462429892897639 +1.0978911404624207108e-05 +1.4958519354207724383 0.0078384276253645052135 0.23057847829940381068 +187.22691615495435258 143.57930146928600834 300.05148838927118504 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody97 1.1053539394491334998e-06 0.0037139675097976452121 +1.0978911404624207108e-05 +1.7639753337550669876 0.00058526678535686382787 0.31377985952056214325 +96.073907241268287294 66.097445801554471245 146.26152385491423047 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody98 1.1053539394491334998e-06 0.0009376304215520192408 +1.0978911404624207108e-05 +0.4453342500797059511 0.005402555175319281519 0.1563447182758816445 +150.65938548412697173 129.60102495664250455 298.9416915331759128 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody99 1.1053539394491334998e-06 0.0023466136892612675851 +1.0978911404624207108e-05 +1.1145408932062483842 0.0090975189299379727315 0.45482889277417670737 +89.719047762599629436 286.27451258390016164 21.998612599652954458 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody100 1.1053539394491334998e-06 0.0036042149048601778175 +1.0978911404624207108e-05 +1.7118475519652889272 0.009055900701920591503 0.22094329683365754313 +287.5728030058700142 5.3589737449812568926 121.09435219102297765 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody101 1.1053539394491334998e-06 0.004177037313904747932 +1.0978911404624207108e-05 +1.9839136369569239093 0.00089942446384002174356 0.06184857477503691303 +184.64410637865165654 193.78867613591432928 247.20281327688800843 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody102 1.1053539394491334998e-06 0.0034917647268310307955 +1.0978911404624207108e-05 +1.6584385386132607376 2.8075269902115839197e-05 0.04242993985314380545 +80.55152924373120982 109.48248599757039301 147.04779191594042231 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody103 1.1053539394491334998e-06 0.0018358130659390312309 +1.0978911404624207108e-05 +0.871932497298059328 0.003865347425684947675 0.45248086692718403334 +267.06624420510524942 272.16072602226120125 97.21049707720219146 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody104 1.1053539394491334998e-06 0.0009961246488978876669 +1.0978911404624207108e-05 +0.4731165001755865407 0.00018215173839106869142 0.020988643787622551784 +351.87198325404813204 117.171842981893476576 211.50245566826470167 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody105 1.1053539394491334998e-06 0.0010521274211646043996 +1.0978911404624207108e-05 +0.49971541592802215526 0.0078217984607909171735 0.33700162667911554015 +298.54816397832667008 261.0376684663759761 268.33032509548360167 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody106 1.1053539394491334998e-06 0.0008060914125760300691 +1.0978911404624207108e-05 +0.38285886044635036862 0.008097211239727968371 0.23983964363154663957 +132.15823015688874875 249.60545854775469365 129.91248150410982021 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody107 1.1053539394491334998e-06 0.0018401646289936616459 +1.0978911404624207108e-05 +0.8739993031792088196 0.007885116676628872029 0.37978548582970406144 +17.667600689734385355 210.61746945153194588 196.43391786767980989 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody108 1.1053539394491334998e-06 0.0018536452717464226642 +1.0978911404624207108e-05 +0.8804020305149495851 0.0013794006984467266971 0.26346466351854286314 +254.9539705880254985 205.43238842788551324 122.144017495580698096 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody109 1.1053539394491334998e-06 0.0036875419284336350676 +1.0978911404624207108e-05 +1.7514243155829152254 0.0013678952795426902594 0.123704372454268463066 +131.52075526346038714 118.165228300980302834 334.8452791953995984 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody110 1.1053539394491334998e-06 0.002362038229611548831 +1.0978911404624207108e-05 +1.1218668885577500749 0.00919480252541974262 0.4193036507438517857 +205.06059433110686996 349.61078704935107453 182.18047202289503161 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody111 1.1053539394491334998e-06 0.0014184120245393167206 +1.0978911404624207108e-05 +0.6736848983703858096 0.0083531057511023274614 0.22806179640198764869 +247.63026686832256473 22.743578978697456705 196.99677932251091761 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody112 1.1053539394491334998e-06 0.00090218315204428206853 +1.0978911404624207108e-05 +0.42849831683697725548 0.0077287908582096519206 0.105149254482249487896 +253.69830147230294415 337.20903933062618307 15.887727537436497016 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody113 1.1053539394491334998e-06 0.0041671217738134337225 +1.0978911404624207108e-05 +1.979204180534433366 0.0023222774165393691645 0.15776441287425713167 +256.0244883237422755 186.77731837310594187 210.27075551184211122 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody114 1.1053539394491334998e-06 0.0037234180189260659195 +1.0978911404624207108e-05 +1.7684639204080152552 0.0048923341387555156767 0.18584046914891033664 +313.1367182478481368 20.291058860939237718 14.830653668149720303 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody115 1.1053539394491334998e-06 0.0015485822750073396757 +1.0978911404624207108e-05 +0.73551018639688825473 0.004955578380412001792 0.2542579857945891364 +126.67824666224566954 180.59420107988003679 251.77903864847220916 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody116 1.1053539394491334998e-06 0.0038524635535576166553 +1.0978911404624207108e-05 +1.8297550166334890509 0.004420989995721213116 0.050995343716709384818 +200.53521365396184706 174.92280986408158583 63.09881703506901829 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody117 1.1053539394491334998e-06 0.002877861961986883982 +1.0978911404624207108e-05 +1.3668610459043613048 0.009617796897453803617 0.38436144468911415117 +351.45830670101508986 2.6855955544584331207 34.117423751931553966 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody118 1.1053539394491334998e-06 0.0025749721082934398766 +1.0978911404624207108e-05 +1.2230013515612012664 0.0011610078708781479493 0.046776969767367171382 +40.226079876629214027 287.61432809202983663 41.326237938535143712 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody119 1.1053539394491334998e-06 0.0038644464188619738641 +1.0978911404624207108e-05 +1.8354463638972531303 0.0027502147876890203036 0.12079272567478699374 +13.051150165370945189 227.20520594651023316 288.29312495148258222 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody120 1.1053539394491334998e-06 0.0020103839188844267676 +1.0978911404624207108e-05 +0.9548461678608475278 0.0016713812467888655971 0.28251343730774014507 +146.79316702173738918 191.18861640108599431 109.246310882898370664 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody121 1.1053539394491334998e-06 0.003383264836668941294 +1.0978911404624207108e-05 +1.606905742632638967 0.00064548815040708972055 0.46791632868668114886 +214.0789863490610685 0.12710902515905342369 112.51561260655698504 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody122 1.1053539394491334998e-06 0.001123742298873384317 +1.0978911404624207108e-05 +0.53372941240885196645 0.009977035962730642152 0.27264558842097247338 +275.22886951319594573 286.08119290465145923 109.60038722911731668 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody123 1.1053539394491334998e-06 0.0006432347002883277041 +1.0978911404624207108e-05 +0.30550890446151601765 0.0016760221201281178417 0.32538537139230516715 +265.25215774313522843 148.99759002817140185 124.13413438356363372 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody124 1.1053539394491334998e-06 0.003036828770261148186 +1.0978911404624207108e-05 +1.4423634642593488042 0.009141341764341484946 0.039791008756628498677 +98.63272077981082475 270.17713718140805668 202.32526550621426509 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody125 1.1053539394491334998e-06 0.00081874486454519645577 +1.0978911404624207108e-05 +0.3888687076250296748 0.0021584596979441726672 0.031670778401195365248 +281.66318976366977722 7.357287548155002632 355.8272360213076695 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody126 1.1053539394491334998e-06 0.0039960198542602162104 +1.0978911404624207108e-05 +1.8979381046051735371 0.0037559774236174238785 0.41211360621909687296 +61.813896366572002705 29.055610630471562672 38.448989476032949142 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody127 1.1053539394491334998e-06 0.0009149892206878139238 +1.0978911404624207108e-05 +0.43458065039266180474 0.0069716072765846496054 0.009409196509767681071 +180.68351555608862213 333.18017309121370317 83.35504912247611742 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody128 1.1053539394491334998e-06 0.0010913913911420057976 +1.0978911404624207108e-05 +0.51836411825584871593 0.009008475292090643502 0.42394712017791696956 +76.26327551422369311 262.55447081899131945 32.255078645407145643 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody129 1.1053539394491334998e-06 0.00087749776001502680785 +1.0978911404624207108e-05 +0.416773813989602393 0.0024590338429388534924 0.22562645108049261822 +15.819312377025722682 12.224459424754545722 106.02034556611799587 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody130 1.1053539394491334998e-06 0.002170678072290993283 +1.0978911404624207108e-05 +1.0309790182448133056 0.0073522276566752187837 0.48335397850744188375 +194.11007019457898082 86.771967888170806305 176.35435267523482139 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody131 1.1053539394491334998e-06 0.0018491827945856857923 +1.0978911404624207108e-05 +0.8782825451887534829 0.0067295105164212540294 0.15715559285768937459 +212.16104068491762291 174.75466543172368006 275.40083616632017538 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody132 1.1053539394491334998e-06 0.003901379951796391995 +1.0978911404624207108e-05 +1.8529882085452946683 0.0010073529794058454744 0.13332637089911064665 +292.2958158179013708 1.891272359638920264 74.00674726388690772 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody133 1.1053539394491334998e-06 0.0010551691291876035957 +1.0978911404624207108e-05 +0.50116009682813800197 0.0021758576105712123042 0.02202781544352166998 +46.38659554024288667 249.67397170791653593 270.3148441879617394 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody134 1.1053539394491334998e-06 0.0034801495362615294697 +1.0978911404624207108e-05 +1.652921821084791798 0.0059866438847831103184 0.35594716810617565983 +15.723173357075621581 264.17832635646095696 347.42854121523549793 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody135 1.1053539394491334998e-06 0.0034553539663358196749 +1.0978911404624207108e-05 +1.6411449884603905858 0.0070857780187495878615 0.405548681726294602 +81.87905712873534014 111.4217703340252541 202.10718310852169566 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody136 1.1053539394491334998e-06 0.0042013244939220061563 +1.0978911404624207108e-05 +1.9954490061716230187 0.009604522241949643366 0.113267377951083214604 +142.89047522640291277 48.117766373190107743 121.52571344044037005 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody137 1.1053539394491334998e-06 0.0032301774598376437692 +1.0978911404624207108e-05 +1.534195802137120479 0.0098685149817888517115 0.27668795256550338113 +255.56918861478004601 280.21201795717837513 332.2787448725723607 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody138 1.1053539394491334998e-06 0.0023301839271203156769 +1.0978911404624207108e-05 +1.1067374606022617467 0.0063011106970540901873 0.37833337715458070782 +256.42776005034045284 77.543023468318807545 154.67314936742405962 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody139 1.1053539394491334998e-06 0.004052809813013481092 +1.0978911404624207108e-05 +1.9249109001887259041 0.008610323109244940806 0.2392596397695851973 +74.080774563989209014 310.4431197863084435 5.2810312055210317794 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody140 1.1053539394491334998e-06 0.0022331906704604384985 +1.0978911404624207108e-05 +1.060669822197444434 0.0069455314949981670353 0.4114229834516269224 +23.451263907073990111 260.4688811495023515 99.454701790253693616 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody141 1.1053539394491334998e-06 0.0035456750285586234618 +1.0978911404624207108e-05 +1.6840436205726201369 0.008606120814077458311 0.39137564936045776687 +41.764363225092509424 328.768245787753699 96.166117544944881956 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody142 1.1053539394491334998e-06 0.0010759666366262836943 +1.0978911404624207108e-05 +0.5110380211849447907 0.0063158763456751376014 0.12533644493608675496 +273.4239174531699632 126.29059059741834403 80.20595283508792761 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody143 1.1053539394491334998e-06 0.0034220908063155763612 +1.0978911404624207108e-05 +1.6253464135822668357 0.008519275791631654091 0.40094592229643022385 +299.1683398830161309 326.78839385032341625 60.680433772656201086 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody144 1.1053539394491334998e-06 0.0032052436607735247348 +1.0978911404624207108e-05 +1.522353316598439088 0.0096022921894474370236 0.000101839905715050971224 +78.70797994594754243 270.7670405205773818 278.0958215146567909 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody145 1.1053539394491334998e-06 0.0013432108020539927865 +1.0978911404624207108e-05 +0.6379675418823733679 0.008956863220517736687 0.36254650513481928575 +121.29025177946014935 189.64769184547239433 184.50657012398698953 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody146 1.1053539394491334998e-06 0.0027578080848200011476 +1.0978911404624207108e-05 +1.3098406014644528028 0.0056589502407743417015 0.08293282783205013775 +315.32825454372186869 279.82080093042981161 19.65029600018359801 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody147 1.1053539394491334998e-06 0.0023981914504280625166 +1.0978911404624207108e-05 +1.1390381184050475394 0.0054921408623832372597 0.33632472865489532188 +39.60708748515543931 265.44784092754434823 323.46447648207958991 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody148 1.1053539394491334998e-06 0.0027667358427180895877 +1.0978911404624207108e-05 +1.3140809036955358735 0.008080088517111517696 0.33090618278665295815 +182.2317633907563561 87.796139009040985 55.611849921214940196 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody149 1.1053539394491334998e-06 0.001636891482929803791 +1.0978911404624207108e-05 +0.7774532739731071507 0.0061030699634475847615 0.38140665724921773982 +134.26070969249215636 309.66180555526386797 227.75826272973381492 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody150 1.1053539394491334998e-06 0.0033168831098759378657 +1.0978911404624207108e-05 +1.575377268469625669 0.0059246316490175207972 0.022806742355012399326 +351.98634627032316757 21.746445058869653622 77.129697842788047524 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody151 1.1053539394491334998e-06 0.0008955120407553322315 +1.0978911404624207108e-05 +0.42532982499330906911 0.008813648447450198736 0.3345833792526932693 +35.495600304697589422 353.72250623508887202 71.293026142875973505 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody152 1.1053539394491334998e-06 0.00076337994194106294544 +1.0978911404624207108e-05 +0.36257274311502485364 0.0009343333415137500871 0.39929588634292678684 +47.20717343738380123 71.761948619615196776 175.59400320868542167 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody153 1.1053539394491334998e-06 0.0015551031619249502934 +1.0978911404624207108e-05 +0.73860732810492057965 0.009823625903742597143 0.20706731183664767171 +49.3357061425451775 189.53336005615224735 130.90764325570890492 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody154 1.1053539394491334998e-06 0.0039929544866864698254 +1.0978911404624207108e-05 +1.8964821864328371692 0.001828422477509375043 0.40484379956372262832 +174.74748700727161577 352.56235568809995584 328.87472865506998687 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +SmallBody155 1.1053539394491334998e-06 0.0007365912012181665501 +1.0978911404624207108e-05 +0.3498492398175703788 0.008020197055140211584 0.08492570488832668074 +212.11388826902651772 279.1723246694339764 250.916201365835974 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 diff --git a/examples/symba_chambers_2013/sun_MsunAUYR.in b/examples/symba_chambers_2013/sun_MsunAUYR.in new file mode 100644 index 000000000..b7b871b22 --- /dev/null +++ b/examples/symba_chambers_2013/sun_MsunAUYR.in @@ -0,0 +1,7 @@ +Sun +39.476926408897626 +0.004650467260962157 +4.7535806948127355e-12 +-2.2473967953572827e-18 +0.0 0.0 0.07 +11.20930630214477 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_chambers_2013/tp.in b/examples/symba_chambers_2013/tp.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_chambers_2013/tp.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_clement_2018/ConvertRhill.ipynb b/examples/symba_clement_2018/ConvertRhill.ipynb new file mode 100644 index 000000000..d610b4e7d --- /dev/null +++ b/examples/symba_clement_2018/ConvertRhill.ipynb @@ -0,0 +1,543 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import swiftest" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swiftest file param.in\n" + ] + } + ], + "source": [ + "sim = sim = swiftest.Simulation(param_file=\"param.in\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading in time 9.900e+03\n", + "Creating Dataset\n", + "Successfully converted 100 output frames.\n", + "\n", + "Adding particle info to Dataset\n", + "Swiftest simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "sim.bin2xr()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'a' (time: 100, id: 5430)>\n",
+       "array([[       nan, 5.17228168, 9.4952418 , ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan, 5.17132001, 9.50066687, ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan, 5.17114709, 9.48660888, ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       ...,\n",
+       "       [       nan, 5.17127142, 9.43908273, ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan, 5.17205309, 9.42926044, ...,        nan,        nan,\n",
+       "               nan],\n",
+       "       [       nan, 5.17130269, 9.43661066, ...,        nan,        nan,\n",
+       "               nan]])\n",
+       "Coordinates:\n",
+       "  * id       (id) float64 0.0 2.0 3.0 4.0 ... 5.448e+03 5.449e+03 5.45e+03\n",
+       "  * time     (time) float64 0.0 100.0 200.0 300.0 ... 9.7e+03 9.8e+03 9.9e+03
" + ], + "text/plain": [ + "\n", + "array([[ nan, 5.17228168, 9.4952418 , ..., nan, nan,\n", + " nan],\n", + " [ nan, 5.17132001, 9.50066687, ..., nan, nan,\n", + " nan],\n", + " [ nan, 5.17114709, 9.48660888, ..., nan, nan,\n", + " nan],\n", + " ...,\n", + " [ nan, 5.17127142, 9.43908273, ..., nan, nan,\n", + " nan],\n", + " [ nan, 5.17205309, 9.42926044, ..., nan, nan,\n", + " nan],\n", + " [ nan, 5.17130269, 9.43661066, ..., nan, nan,\n", + " nan]])\n", + "Coordinates:\n", + " * id (id) float64 0.0 2.0 3.0 4.0 ... 5.448e+03 5.449e+03 5.45e+03\n", + " * time (time) float64 0.0 100.0 200.0 300.0 ... 9.7e+03 9.8e+03 9.9e+03" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sim.ds['a']" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "Mcb = sim.ds.sel(id=0, time=0.0)['Gmass'].values" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "sim.ds['rhill'] = sim.ds['a'] * (sim.ds['Gmass'] / (3 * Mcb))**(1.0/3.0)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "sim.param['IN_FORM'] = 'EL'" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "sim.save(param_file=\"param.in\",framenum=0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/symba_clement_2018/aescattermovie.py b/examples/symba_clement_2018/aescattermovie.py new file mode 100755 index 000000000..d256dbe96 --- /dev/null +++ b/examples/symba_clement_2018/aescattermovie.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +import swiftest +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import animation +import matplotlib.colors as mcolors + + +titletext = "Clement et al. (2018)" +radscale = 2000 +AU = 1.0 +xmin = 0.0 +xmax = 2.00 +ymin = 1e-4 +ymax = 1.0 +framejump = 1 +ncutoff = 1e20 + +class AnimatedScatter(object): + """An animated scatter plot using matplotlib.animations.FuncAnimation.""" + def __init__(self, ds, param): + + frame = 0 + nframes = int(ds['time'].size / framejump) + self.ds = ds + self.param = param + self.Rcb = self.ds['radius'].sel(id=0, time=0).values + + self.clist = {'Initial conditions' : 'xkcd:faded blue', + 'Disruption' : 'xkcd:marigold', + 'Supercatastrophic' : 'xkcd:shocking pink', + 'Hit and run fragment' : 'xkcd:baby poop green'} + + # Setup the figure and axes... + fig = plt.figure(figsize=(8,4.5), dpi=300) + plt.tight_layout(pad=0) + # set up the figure + self.ax = plt.Axes(fig, [0.1, 0.15, 0.8, 0.75]) + self.ax.set_xlim(xmin, xmax) + self.ax.set_ylim(ymin, ymax) + fig.add_axes(self.ax) + self.ani = animation.FuncAnimation(fig, self.update, interval=1, frames=nframes, init_func=self.setup_plot, blit=True) + #self.ani.save('aescatter.mp4', fps=30, dpi=300, extra_args=['-vcodec', 'libx264']) + self.ani.save('aescatter.mp4', fps=30, dpi=300, extra_args=['-vcodec', 'mpeg4']) + print('Finished writing aescattter.mp4') + + def scatters(self, pl, radmarker, origin): + scat = [] + for key, value in self.clist.items(): + idx = origin == key + s = self.ax.scatter(pl[idx, 0], pl[idx, 1], marker='o', s=radmarker[idx], c=value, alpha=0.75, label=key) + scat.append(s) + return scat + + def setup_plot(self): + # First frame + """Initial drawing of the scatter plot.""" + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(0)) + + # set up the figure + self.ax.margins(x=10, y=1) + self.ax.set_xlabel("Semi Major Axis (AU)", fontsize='16', labelpad=1) + self.ax.set_ylabel("Eccentricity", fontsize='16', labelpad=1) + self.ax.set_yscale("log") + + self.title = self.ax.text(0.50, 1.05, "", bbox={'facecolor': 'w', 'alpha': 0.5, 'pad': 5}, transform=self.ax.transAxes, + ha="center") + + self.title.set_text(f"{titletext} - Time = ${t*1e-6:6.3f}$ My with ${npl:4.0f}$ particles") + slist = self.scatters(pl, radmarker, origin) + self.s0 = slist[0] + self.s1 = slist[1] + self.s2 = slist[2] + self.s3 = slist[3] + leg = plt.legend(loc="lower right", scatterpoints=1, fontsize=10) + for i,l in enumerate(leg.legendHandles): + leg.legendHandles[i]._sizes = [20] + return self.s0, self.s1, self.s2, self.s3, self.title + + def data_stream(self, frame=0): + while True: + d = self.ds.isel(time = frame) + d = d.where(d['radius'] < self.Rcb, drop=True) + d['radmarker'] = (d['radius'] / self.Rcb) * radscale + radius = d['radmarker'].values + + radius = d['radmarker'].values + Gmass = d['Gmass'].values + a = d['a'].values / AU + e = d['e'].values + name = d['id'].values + npl = d['npl'].values[0] + radmarker = d['radmarker'] + origin = d['origin_type'] + + t = self.ds.coords['time'].values[frame] + + yield t, name, Gmass, radius, npl, np.c_[a, e], radmarker, origin + + def update(self,frame): + """Update the scatter plot.""" + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(framejump * frame)) + + self.title.set_text(f"{titletext} - Time = ${t*1e-6:6.3f}$ My with ${npl:4.0f}$ particles") + + # We need to return the updated artist for FuncAnimation to draw.. + # Note that it expects a sequence of artists, thus the trailing comma. + s = [self.s0, self.s1, self.s2, self.s3] + for i, (key, value) in enumerate(self.clist.items()): + idx = origin == key + s[i].set_sizes(radmarker[idx]) + s[i].set_offsets(pl[idx,:]) + s[i].set_facecolor(value) + + self.s0 = s[0] + self.s1 = s[1] + self.s2 = s[2] + self.s3 = s[3] + return self.s0, self.s1, self.s2, self.s3, self.title, + +sim = swiftest.Simulation(param_file="param.in") +sim.bin2xr() +print('Making animation') +anim = AnimatedScatter(sim.ds,sim.param) +print('Animation finished') diff --git a/examples/symba_clement_2018/param.in b/examples/symba_clement_2018/param.in new file mode 100644 index 000000000..6f58b1822 --- /dev/null +++ b/examples/symba_clement_2018/param.in @@ -0,0 +1,37 @@ +! VERSION Swiftest parameter input from file param.in +T0 0.0 +TSTOP 100000000.0 +DT 0.016 +ISTEP_OUT 6250 +ISTEP_DUMP 6250 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN pl_clement_2018.in +TP_IN tp.in +CB_IN sun_MsunAUYR.in +BIN_OUT bin.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 100000.0 +CHK_EJECT -1.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.98847e+30 +TU2S 31556925.9747 +DU2M 149597900000.0 +IN_FORM EL +EXTRA_FORCE NO +DISCARD_OUT discard.out +PARTICLE_OUT particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION YES +ROTATION YES +TIDES NO +ENERGY YES +GR NO +GMTINY 2.96336237e-09 +MIN_GMFRAG 2.96336237e-11 diff --git a/examples/symba_clement_2018/pl_clement_2018.in b/examples/symba_clement_2018/pl_clement_2018.in new file mode 100644 index 000000000..eb8eecffc --- /dev/null +++ b/examples/symba_clement_2018/pl_clement_2018.in @@ -0,0 +1,6631 @@ +1105 +Jupiter 0.0376722155 0.35307558995269156 +0.000467326079 +5.172281681449432 0.046760050149286136 1.3034369794516383 +100.50370344615287 277.95408735904414 299.47072527467117 +0.4 0.4 0.4 +0.0 0.0 0.0 +Saturn 0.0112798314 0.43362938279920926 +0.000389256801 +9.495241797076803 0.05831886504886423 2.4897150857337977 +113.60173064710709 341.1122276637114 214.47759752003608 +0.4 0.4 0.4 +0.0 0.0 0.0 +Uranus 0.00172303742 0.4689444140515067 +0.000169534465 +19.209290579028355 0.04660264515690298 0.772131045762339 +74.00329991835538 95.9871868832834 234.95264516428847 +0.4 0.4 0.4 +0.0 0.0 0.0 +Neptune 0.00203247359 0.7765171236861929 +0.000164587872 +30.104466076098753 0.009375961185985455 1.7702774190709465 +131.7823850231201 267.4341182268954 312.4212576431109 +0.4 0.4 0.4 +0.0 0.0 0.0 +IceGiant 0.00203247359 0.9027929359579849 +0.000164587872 +34.99999998103326 0.046602647094867104 1.770277414721863 +74.00329996123871 267.4340808607514 234.95264506877194 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body7 2.96336237e-06 0.005512259131852213 +1.52529846e-05 +1.884616116091531 0.0007423022395688265 6.5728685708454355 +49.55283194123395 12.557899778504652 10.484350244753976 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body8 2.96336237e-06 0.0019178533602580044 +1.52529846e-05 +0.6557052679466514 8.378761417954488e-05 0.3063403435881767 +309.12238967303904 280.7713337479704 62.82466997448164 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body9 2.96336237e-06 0.0004112571359191792 +1.52529846e-05 +0.14060692860614776 0.00023031374149944594 1.7305895846896235 +258.19178410822843 126.80591596818843 241.30807229544132 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body10 2.96336237e-06 0.0003558360060864788 +1.52529846e-05 +0.12165869849643374 0.001996906171922296 8.181163575953859 +127.03740060987732 228.31258600353382 45.987222950345235 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body11 2.96336237e-06 0.004238951617733855 +1.52529846e-05 +1.4492781168343072 0.00123354906776431 6.127603772301239 +0.586278364878247 120.20877867772262 332.4438578039355 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body12 2.96336237e-06 0.000428115645359569 +1.52529846e-05 +0.14637077566497864 0.0015174471395206497 7.384343118829618 +90.24919099580596 294.5077497540469 309.5576905676759 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body13 2.96336237e-06 0.0004147219696796154 +1.52529846e-05 +0.1417915393779389 0.000636441064464215 2.271662502450314 +236.62326008233057 147.42136715339123 168.82519701899685 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body14 2.96336237e-06 0.000668774022810232 +1.52529846e-05 +0.22865077117447094 0.0015399665313668989 1.1545306249464131 +182.11815578681754 152.61307302562298 352.4210953391632 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body15 2.96336237e-06 0.0007265432314441647 +1.52529846e-05 +0.24840179865724105 0.0005839332787213311 2.5222956390757862 +290.9274478155636 36.95928606481527 79.46628403762982 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body16 2.96336237e-06 0.0003702478544426329 +1.52529846e-05 +0.12658604335178142 2.5298156499728664e-05 5.555515038103633 +281.4445031789493 115.18582702932352 123.1281305262438 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body17 2.96336237e-06 0.0003716166862503535 +1.52529846e-05 +0.12705404066891446 0.0018538649394883614 0.6607277579311023 +277.3261168781127 349.65966467861733 180.55214229908566 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body18 2.96336237e-06 0.009886886821922786 +1.52529846e-05 +3.3802812598013072 0.0009489984628827527 6.676039983361881 +59.82012534336036 213.93617863051722 163.23770845915809 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body19 2.96336237e-06 0.0003042929175250516 +1.52529846e-05 +0.10403635291135628 0.0009103080479353925 6.122729019987302 +318.3178593181005 175.8383457329596 150.09818752378183 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body20 2.96336237e-06 0.000414062269914102 +1.52529846e-05 +0.1415659910537166 0.001778924678086685 8.74170905442332 +151.59204615190697 112.80122061317465 351.99863693065214 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body21 2.96336237e-06 0.0005993179173196159 +1.52529846e-05 +0.204904047256471 0.0009022495147953 9.556673591780722 +293.15242050181297 205.54468433705313 66.99160557674251 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body22 2.96336237e-06 0.002357418873323602 +1.52529846e-05 +0.8059907008673469 0.0005274445636380367 10.71837041537424 +292.38024093727984 54.5314890445609 209.0622657387699 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body23 2.96336237e-06 0.0004214539772450991 +1.52529846e-05 +0.14409318188930928 0.0005277374008030665 7.435302831333165 +308.79862632298676 308.7903333476832 269.9580628313294 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body24 2.96336237e-06 0.0006370769225463271 +1.52529846e-05 +0.21781367796788728 0.0005372113643125736 5.052697475502013 +350.4786532330898 328.18629143860676 33.62398940139005 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body25 2.96336237e-06 0.0015893429501222733 +1.52529846e-05 +0.5433890653813334 0.0010833931179439658 6.392318924578698 +140.62795204427934 121.66139860726184 111.15061258998092 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body26 2.96336237e-06 0.0002977220788417684 +1.52529846e-05 +0.10178981330163511 0.001554559170086404 6.762843301253261 +275.72551196143047 304.0824964166165 279.0982565916498 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body27 2.96336237e-06 0.0006434040689664967 +1.52529846e-05 +0.21997690031050524 0.001305716802829907 2.7998391456887615 +75.36228204537746 56.58870706902731 14.357402916294584 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body28 2.96336237e-06 0.00042548420866017075 +1.52529846e-05 +0.14547109952611498 0.0003031612390917364 5.499354660587805 +99.672922712559 349.8198724431721 9.207509473918162 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body29 2.96336237e-06 0.000535554750738145 +1.52529846e-05 +0.18310371304176035 0.001924927935650522 9.765808261360519 +174.90404902276703 179.70781236278643 349.9071587094426 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body30 2.96336237e-06 0.001562483215882271 +1.52529846e-05 +0.5342058454325218 0.000910989382946404 0.42557979839177 +199.2182898728689 348.6064975505299 181.29024903254737 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body31 2.96336237e-06 0.00086782112982034 +1.52529846e-05 +0.29670406416372774 0.0015539346678792127 8.507172918199394 +56.78001502543606 2.1901152768222105 210.0052739519094 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body32 2.96336237e-06 0.0009735172826472634 +1.52529846e-05 +0.3328410940568706 0.0019038946718063178 1.4641789250636663 +3.408328718128681 130.04949056115072 9.016242433085356 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body33 2.96336237e-06 0.0038019527946996806 +1.52529846e-05 +1.2998702234636448 0.0009836202486354657 3.0512558532109577 +138.0591311501441 314.0932368495456 74.27234332051141 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body34 2.96336237e-06 0.0005479571006109701 +1.52529846e-05 +0.187344019581899 0.0008844589852042751 1.1462571354370081 +28.565869118248454 220.9318913181933 212.27191880186984 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body35 2.96336237e-06 0.00041487177744318864 +1.52529846e-05 +0.1418427579652354 0.000837740619082511 1.3240047327876507 +66.96059900785556 122.84289190897105 90.8401190418799 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body36 2.96336237e-06 0.004410491996161498 +1.52529846e-05 +1.5079269854763997 0.0011606180197893023 11.458477170055312 +43.6564442974332 303.7628696474891 239.03035318801133 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body37 2.96336237e-06 0.00029269568494804857 +1.52529846e-05 +0.1000713122821184 0.001992921364867069 1.862015266455362 +289.39207909055943 92.99956112881118 352.49936500999166 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body38 2.96336237e-06 0.0005294652941220678 +1.52529846e-05 +0.18102175575303558 0.0015375005788222443 6.705775265229424 +57.457618895550674 4.8991276747484 325.7412316817131 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body39 2.96336237e-06 0.008838173136496128 +1.52529846e-05 +3.0217308605103526 0.0007151903883037801 4.765943051487868 +217.00603073329984 316.7592986736139 167.08804213361745 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body40 2.96336237e-06 0.0033821686043295175 +1.52529846e-05 +1.1563479340486675 0.00014024853976584234 5.824022890508242 +280.5118240980303 291.52707060581224 328.04622434434833 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body41 2.96336237e-06 0.0018594751888462591 +1.52529846e-05 +0.6357460388830569 0.0016547156427348215 3.710620870063664 +286.0231816539961 14.646380981042592 338.78134855925765 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body42 2.96336237e-06 0.0003928901625901477 +1.52529846e-05 +0.13432734466211702 0.0010140900941583708 1.2375646950643446 +105.27764656680067 32.503934734894735 79.49945640875738 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body43 2.96336237e-06 0.00043047831964606665 +1.52529846e-05 +0.14717856316750708 0.00015736811248780546 4.479442312720945 +131.36322545134732 214.5151978549483 245.40096474843565 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body44 2.96336237e-06 0.0004590595533962268 +1.52529846e-05 +0.15695035590346132 0.001208683669168596 9.003131147077262 +86.7435564939847 129.97504134377874 24.20918867850695 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body45 2.96336237e-06 0.0003619975032214959 +1.52529846e-05 +0.1237652861081818 0.001187847968452721 4.302353822263908 +341.3972947599278 22.014032448755064 311.42016526303485 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body46 2.96336237e-06 0.0003324131500351793 +1.52529846e-05 +0.11365053143765139 0.0015502484288971025 4.00871284588694 +261.88481642634423 339.06854717459015 79.69858695338057 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body47 2.96336237e-06 0.000496379881807675 +1.52529846e-05 +0.16971000502365977 0.0014325900377036435 9.95061299344038 +250.17381730527916 87.95208230539924 102.0004995073183 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body48 2.96336237e-06 0.0005157985955691492 +1.52529846e-05 +0.17634917419790458 0.0008367753488732046 2.8399055244426505 +277.80982627559274 335.24157779229466 355.91319936843087 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body49 2.96336237e-06 0.0014377264318076988 +1.52529846e-05 +0.4915520731343233 0.001668761198248755 2.724730971254485 +1.184941006009358 180.7127233751173 190.77749105751863 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body50 2.96336237e-06 0.0018469701340973388 +1.52529846e-05 +0.6314706180168207 0.00012548469609685502 2.2189534702546796 +271.48546449808333 181.24061098711405 350.0467753082608 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body51 2.96336237e-06 0.0006867805867685211 +1.52529846e-05 +0.23480713280760443 0.0009799971984811224 10.32166937046239 +18.522746145836443 143.8970111474202 146.57428347230623 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body52 2.96336237e-06 0.001144467965552166 +1.52529846e-05 +0.3912883485042818 0.0011562023962381485 4.654414911538165 +139.67234029432404 181.2814027780411 263.9615460438718 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body53 2.96336237e-06 0.0007236927667533216 +1.52529846e-05 +0.24742723785263904 0.0009106011783749763 6.637469401668185 +217.37100372225163 27.820897562259916 216.10094469186052 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body54 2.96336237e-06 0.0010822227367685607 +1.52529846e-05 +0.37000699026088424 0.00155625665305578 2.048697893892725 +237.61972697354346 230.27714637647796 68.89760532960919 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body55 2.96336237e-06 0.0003441896635908343 +1.52529846e-05 +0.11767686741124705 0.001198428505168961 6.072268886189525 +300.23374778378593 22.65361177317996 128.9596052337353 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body56 2.96336237e-06 0.0005513198683284796 +1.52529846e-05 +0.18849373444172296 0.0005538080547316358 4.06122956076789 +122.4297047079465 241.56914921410043 89.48149632078902 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body57 2.96336237e-06 0.001865218727466639 +1.52529846e-05 +0.63770972839555 0.0008225834609268351 10.919992929087485 +85.46384904760785 305.6259559084242 86.59460080872209 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body58 2.96336237e-06 0.0003069363065443012 +1.52529846e-05 +0.1049401154935597 0.0018009357119500263 0.592034643137779 +25.16469002163629 180.19944782836734 335.3887921629321 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body59 2.96336237e-06 0.00875446597270691 +1.52529846e-05 +2.993111765120244 0.0006354800586648284 9.0042412902944 +49.4919597225473 36.11869018733198 261.5725854651475 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body60 2.96336237e-06 0.0003854621874058603 +1.52529846e-05 +0.13178775401382103 4.4529010620616345e-05 2.360287043259888 +326.48003818293364 191.00545232281667 151.6460032361024 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body61 2.96336237e-06 0.0010704942155659338 +1.52529846e-05 +0.36599706265267967 0.0005581318642156938 4.859609391716076 +48.17369372173571 244.08610894914074 127.05543357948909 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body62 2.96336237e-06 0.006953870017056551 +1.52529846e-05 +2.377496266026745 1.0214216129345541e-05 7.587889256607299 +62.36017315943624 288.7093435214597 144.67669650162128 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body63 2.96336237e-06 0.0005502814419966461 +1.52529846e-05 +0.18813870124144422 0.0008200124826780808 4.739467256908708 +105.80134697241932 140.8450054535519 116.52348499601447 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body64 2.96336237e-06 0.00043123792660773683 +1.52529846e-05 +0.14743826930388712 6.654872018888729e-05 0.43233119103254647 +116.87246380412185 249.10658724790036 18.443296542154236 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body65 2.96336237e-06 0.0007838544428803723 +1.52529846e-05 +0.26799623899863934 0.0006335544840110136 3.912013198254297 +1.422457404214392 1.1037941278376344 209.20450761766227 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body66 2.96336237e-06 0.0004617177005654156 +1.52529846e-05 +0.1578591642294431 0.001462342243452415 2.6139086813479384 +339.32713268531063 324.9716853293816 185.46654489619115 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body67 2.96336237e-06 0.000966026120046073 +1.52529846e-05 +0.3302798999205344 0.0012943277404190033 2.07090981231813 +250.52813757471867 172.21424522235066 184.46280287699042 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body68 2.96336237e-06 0.0004166358165940514 +1.52529846e-05 +0.14244587486043392 0.0004004025716564624 11.216416510869244 +214.858418619383 233.3580913046752 139.20899858980107 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body69 2.96336237e-06 0.001752802301460241 +1.52529846e-05 +0.5992750679237953 0.00020092576841079375 3.098104910493994 +12.188464684450674 184.25164373455684 337.8926560055481 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body70 2.96336237e-06 0.0018710623936237275 +1.52529846e-05 +0.6397076510536248 0.0002264822119683341 4.492144164063947 +185.69461488058917 302.74015643751306 68.32329141485204 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body71 2.96336237e-06 0.00032714043349845297 +1.52529846e-05 +0.11184781383620987 0.0006745963590975601 11.223592983244703 +299.7532726735807 81.53622715906313 272.5551284711186 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body72 2.96336237e-06 0.0024734708981726376 +1.52529846e-05 +0.8456683559093109 0.00067595270188909 6.429813857902258 +171.77598150380612 78.85585985653326 91.83884206797602 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body73 2.96336237e-06 0.001860822716695508 +1.52529846e-05 +0.6362067524744957 0.0019150357270504297 6.99716246024162 +39.881166427162526 94.16779161006244 304.496858353172 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body74 2.96336237e-06 0.0005852088275810136 +1.52529846e-05 +0.20008021418391064 0.0009314005907283757 2.500651234196459 +19.02043485849883 157.19403208231407 225.30409522496208 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body75 2.96336237e-06 0.0005426423718263105 +1.52529846e-05 +0.1855269381855715 0.0001464086728528122 8.321861407243103 +50.133767147926584 137.99182539572098 47.9871236095155 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body76 2.96336237e-06 0.00033240500836887306 +1.52529846e-05 +0.11364774783928172 0.0007847641170717963 1.5894841887345945 +5.787407085828862 353.58328754555964 315.9332274421555 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body77 2.96336237e-06 0.0018778603413056314 +1.52529846e-05 +0.6420318381883755 0.0015138855021274002 1.9208238539698494 +192.1660704480532 249.9821485712254 64.44683327824293 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body78 2.96336237e-06 0.001359331142595401 +1.52529846e-05 +0.46474908330000686 0.001707547960728472 2.551257182249693 +234.77502060953586 161.44361253378054 144.21526760560283 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body79 2.96336237e-06 0.0015946183954167843 +1.52529846e-05 +0.5451927159325465 0.0004578749650967072 10.098289348566071 +141.88454324679114 72.86297110120593 190.4352832521177 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body80 2.96336237e-06 0.0008452285833792304 +1.52529846e-05 +0.288979776152588 0.0017867250039365573 1.2090758348980601 +285.4906115439976 114.40545630390098 105.89085636285911 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body81 2.96336237e-06 0.004044561714236451 +1.52529846e-05 +1.3828171003665302 0.0009830800043135217 9.96155439965852 +114.57880137808799 146.18283890529827 98.29337208284545 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body82 2.96336237e-06 0.011421491213150557 +1.52529846e-05 +3.904955462946195 0.0002493766806123511 2.8983381040505707 +110.34349021157364 57.27650400202746 156.207756210604 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body83 2.96336237e-06 0.00443901923055079 +1.52529846e-05 +1.5176803160785328 0.0004705120497389799 11.377571422949671 +215.86224406942333 294.2470414571703 357.6385223802111 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body84 2.96336237e-06 0.0017237509115899283 +1.52529846e-05 +0.5893425309666562 0.0005613530732356125 5.436319252086878 +91.49742720579809 263.2834004462977 323.40619872828955 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body85 2.96336237e-06 0.0003628628664899316 +1.52529846e-05 +0.12406114984081071 0.00019277605226163423 0.43354596978899146 +33.3084551810417 256.88755156979323 178.17894205051425 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body86 2.96336237e-06 0.0013358065929795853 +1.52529846e-05 +0.4567061476779175 0.0011858249024265526 7.255704549265122 +311.80420731067284 263.8411001240191 53.20182707985439 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body87 2.96336237e-06 0.009327851159356281 +1.52529846e-05 +3.189149530696851 0.00044967413146262676 5.7088595655220225 +201.13803507415147 180.31863077187782 84.84802457451434 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body88 2.96336237e-06 0.0010930789467634894 +1.52529846e-05 +0.3737186786678916 0.0010712575445926738 4.737993907013679 +111.24558688225532 262.75985237332554 278.564628048252 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body89 2.96336237e-06 0.0003110136706795079 +1.52529846e-05 +0.10633414759121293 0.0010992579545403803 2.698638929207632 +63.949878138869906 213.00270074997584 155.9172911297509 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body90 2.96336237e-06 0.005316960413365863 +1.52529846e-05 +1.8178443799471666 0.0014415005771152344 6.104347936783227 +196.54132799728893 145.59871447908833 277.8926496760078 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body91 2.96336237e-06 0.005577501405309552 +1.52529846e-05 +1.9069221501634153 0.0005306043429530631 10.734771503339624 +225.7400967557793 353.1675426238301 52.2985523542907 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body92 2.96336237e-06 0.0003464192022134111 +1.52529846e-05 +0.11843913644088624 0.0010195217727061176 8.555266129794546 +199.11263407523387 179.72300188226367 124.33321523618078 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body93 2.96336237e-06 0.0013567124917219324 +1.52529846e-05 +0.4638537785763884 0.0005088412966745147 10.415384386783682 +315.0251998521479 301.9207071748058 338.6673300092794 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body94 2.96336237e-06 0.0010001044219994175 +1.52529846e-05 +0.34193111506373947 0.001729140497532948 9.667089515541221 +89.17173976722862 309.26337399604756 284.4388045990902 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body95 2.96336237e-06 0.0003245938403393872 +1.52529846e-05 +0.11097714531466465 0.0016926325067968522 1.8765632088536646 +181.15091271958 173.58221858572264 88.09695160724537 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body96 2.96336237e-06 0.0005177858788758957 +1.52529846e-05 +0.17702861724612637 0.0002478281018597761 9.159778720650952 +160.3088036954629 38.53182945837775 335.4697169770586 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body97 2.96336237e-06 0.0015151185752123697 +1.52529846e-05 +0.5180120920177788 2.9502982112599547e-06 7.009095414468045 +281.37693305656705 4.849548456356212 359.1004845579101 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body98 2.96336237e-06 0.0003350113563366908 +1.52529846e-05 +0.11453884625588343 0.0011989095169828302 6.5905002472760374 +59.15624414719007 269.39010899221546 123.0990286579837 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body99 2.96336237e-06 0.0012874772911666674 +1.52529846e-05 +0.4401825810426401 0.0002036497411803174 3.1771770594002913 +100.76352640956914 120.26047229947972 194.5615138427278 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body100 2.96336237e-06 0.00040838650279990496 +1.52529846e-05 +0.1396254723083644 0.0004861527967895541 11.131515304468477 +262.1262484543326 33.59992903683474 182.1510046705191 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body101 2.96336237e-06 0.0013243099351560306 +1.52529846e-05 +0.4527754930956137 0.001261914712861443 9.83965028122555 +297.72636258480867 71.8128525718681 56.63573381981481 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body102 2.96336237e-06 0.0019790875030929254 +1.52529846e-05 +0.6766409405413768 0.0009016004840216479 7.593246713308825 +355.5379789655611 289.2039035363469 135.50491239970953 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body103 2.96336237e-06 0.00030453665889241036 +1.52529846e-05 +0.10411968696697571 0.0011992959016376718 1.098941138399255 +165.94115750005759 198.33423950434633 247.96779069456593 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body104 2.96336237e-06 0.0002950967801424541 +1.52529846e-05 +0.10089223571684924 0.0017749395365379967 7.944123402911042 +98.55169231931721 77.0260459225988 187.86561079123032 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body105 2.96336237e-06 0.00038266901491270424 +1.52529846e-05 +0.13083278114884678 0.000397437811020739 1.485636402870702 +332.2718789916222 165.0358244796671 344.2374508160317 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body106 2.96336237e-06 0.00342975196143917 +1.52529846e-05 +1.1726164656110538 0.0014673076508426542 3.761359336182932 +357.0970820407398 74.49778133500645 72.15707611613152 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body107 2.96336237e-07 0.00016816959154585814 +7.07980829e-06 +0.12387226470904195 0.0005531995219881519 10.355978378376493 +167.8468401653107 194.82823573726952 211.2267678896405 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body108 2.96336237e-07 0.00031238764510778253 +7.07980829e-06 +0.23010203397011544 0.0015261790638578562 11.402130907481173 +240.52621289420662 257.13676455604707 174.67141681189824 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body109 2.96336237e-07 0.0009879110922956823 +7.07980829e-06 +0.7276867548345038 0.0003207190041773218 0.08589053062255086 +98.44578407007661 85.55661268681133 37.370841744572076 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body110 2.96336237e-07 0.000785792619431494 +7.07980829e-06 +0.5788080381588274 0.00016604617562400475 9.412958915158283 +351.0710936405306 137.41416246163016 129.97454633579267 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body111 2.96336237e-07 0.0006155430753947794 +7.07980829e-06 +0.45340369845833645 0.0005439008162404882 4.035430293108841 +64.71336831652852 103.21305113594659 66.88095597857762 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body112 2.96336237e-07 0.004403662469145191 +7.07980829e-06 +3.243699637092097 0.0002020826503553822 7.389264551217258 +251.3369840198275 259.11381324975497 268.92906302672765 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body113 2.96336237e-07 0.0008628168581811688 +7.07980829e-06 +0.6355434253575909 0.0005259848429150753 4.7087952689007215 +306.5808360320152 288.3570014006157 118.33807629420642 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body114 2.96336237e-07 0.00017936753664072642 +7.07980829e-06 +0.13212057408672506 0.0008665990131266118 7.120353865956092 +190.6498907794794 67.47847112103364 67.34416211198067 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body115 2.96336237e-07 0.00019489758562106689 +7.07980829e-06 +0.14355987366849599 0.0007000052466704764 11.067266200846223 +302.59326698995415 307.16068571669496 320.29539349711746 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body116 2.96336237e-07 0.0001628468016523569 +7.07980829e-06 +0.11995154377122244 0.0014304974516166369 8.682040333318456 +53.699379689860955 126.10980496487173 244.39176131260652 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body117 2.96336237e-07 0.0031958201254853424 +7.07980829e-06 +2.354013427205437 0.0004309473905377549 6.9308357983711355 +1.4931374316461492 223.11468690258278 182.31725106488204 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body118 2.96336237e-07 0.00022418288944292232 +7.07980829e-06 +0.16513117483988746 0.00022456101212881178 1.0598981407408903 +114.65563902572339 195.5529426878297 153.30104159945483 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body119 2.96336237e-07 0.00014740592815102062 +7.07980829e-06 +0.1085779300749866 0.0014275161808413696 4.182286103891713 +185.19997719955006 69.72766414334342 9.101445563021494 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body120 2.96336237e-07 0.00029585734777689063 +7.07980829e-06 +0.217925960115925 0.0002554032758021398 3.8965563945123276 +3.601488246601578 242.95765486078784 162.17838073574453 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body121 2.96336237e-07 0.0007727191730603037 +7.07980829e-06 +0.5691782507836827 0.0014564975655409615 5.719967231993963 +132.89767002952325 284.20909613831935 321.5205172054022 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body122 2.96336237e-07 0.000213337994549106 +7.07980829e-06 +0.15714291918272705 0.0009494019514339251 9.258388123215918 +303.4191655124367 4.878388841323113 218.06868709619636 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body123 2.96336237e-07 0.00503670254640343 +7.07980829e-06 +3.7099914755912216 0.0010572364648053154 8.010499521080863 +27.338053747350823 357.39960777194 177.32187278760247 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body124 2.96336237e-07 0.0004888292015968271 +7.07980829e-06 +0.3600673564174043 0.0005742657612974902 10.991021500652414 +27.37893830965835 73.88568796383163 163.34375430175132 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body125 2.96336237e-07 0.00014264880902187626 +7.07980829e-06 +0.10507387732323137 9.366386918200216e-05 10.015322656735082 +35.15867604017057 22.715911698400244 239.12458545347477 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body126 2.96336237e-07 0.00030911707147207823 +7.07980829e-06 +0.22769295775468146 0.00114543654379223 7.2920536261670375 +49.219898695122154 122.03136784373147 29.828866312026616 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body127 2.96336237e-07 0.00027012914569216496 +7.07980829e-06 +0.19897478927801643 0.000404593719157789 4.158279605327939 +244.79974749640303 9.508569293962292 221.75078468690472 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body128 2.96336237e-07 0.001140878866283859 +7.07980829e-06 +0.8403614923850751 8.166778751100094e-05 2.3495898654178586 +19.66803963421033 324.7517696127286 86.7158886901674 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body129 2.96336237e-07 0.002093064990976749 +7.07980829e-06 +1.5417335454775085 0.0019781302961249174 9.297247630023088 +80.94579107830113 303.78348612504453 157.20359273800975 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body130 2.96336237e-07 0.00024098630227522674 +7.07980829e-06 +0.17750842320711635 0.0009065473133236789 1.1969282234062077 +208.46027229431306 177.53308148788503 193.90461945177137 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body131 2.96336237e-07 0.00017488753769088187 +7.07980829e-06 +0.12882064565905776 0.0007637828097086882 4.264892111605374 +48.83276293064713 251.82172372717227 93.46042142454374 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body132 2.96336237e-07 0.0001829508529618976 +7.07980829e-06 +0.13476001385578287 0.00012336312947165454 10.908632447200223 +3.041087803171923 147.6307876075636 158.6334537310142 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body133 2.96336237e-07 0.0007185313679488019 +7.07980829e-06 +0.529263982829101 0.0006014399909228298 10.751025293098404 +259.0034496020978 71.26585297294893 169.2533123873972 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body134 2.96336237e-07 0.0003356472216466589 +7.07980829e-06 +0.24723483661034923 0.0014629077708104236 7.287843144309161 +301.2638371683688 127.51989720943986 350.2545635084609 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body135 2.96336237e-07 0.000367851307342242 +7.07980829e-06 +0.2709560872319762 0.001449899070243202 5.3985906685376595 +12.869632117018408 56.440619438168206 202.03548534709378 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body136 2.96336237e-07 0.001020738812493088 +7.07980829e-06 +0.7518673692292205 0.0012878198164970637 9.63415161769334 +252.38383472649286 100.10844071089208 53.564469155545595 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body137 2.96336237e-07 0.0003458138054797775 +7.07980829e-06 +0.25472345421467585 0.0019417161345252878 4.492776211582144 +32.81484412388676 294.309511162598 356.86306577351746 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body138 2.96336237e-07 0.005423859736551002 +7.07980829e-06 +3.9951681089000517 0.0016294274679503591 4.017393924029837 +53.96037334403256 238.11794566096674 189.17852482330372 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body139 2.96336237e-07 0.00022464116667460812 +7.07980829e-06 +0.16546873787986208 0.0003270774573829799 8.732005449682077 +190.0565396265665 252.49069835037028 36.440263763470895 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body140 2.96336237e-07 0.00017892196313582106 +7.07980829e-06 +0.13179236850187698 0.0012997759733666453 4.791504166071849 +339.4645982231863 224.59146298588695 16.435525916126085 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body141 2.96336237e-07 0.003572985279690336 +7.07980829e-06 +2.6318300133744494 0.0016593635605119624 5.196026746192993 +199.06815846896959 264.6777435678608 188.65547946252804 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body142 2.96336237e-07 0.0006012280502272479 +7.07980829e-06 +0.4428593748944328 0.0018396972558659796 9.622671158320054 +63.01326469430487 166.6051238855187 350.0800519903532 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body143 2.96336237e-07 0.0003791479110369971 +7.07980829e-06 +0.2792770676799085 0.001877076266242859 3.48890767723524 +157.21151440385083 97.74472544944372 15.724902633339642 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body144 2.96336237e-07 0.0013135886106589365 +7.07980829e-06 +0.9675779943483723 0.00160002291337724 1.8015622994879954 +222.10756640600732 59.163772721633265 88.68453279850249 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body145 2.96336237e-07 0.00019265066338718887 +7.07980829e-06 +0.14190481021036971 0.0012818420622606925 2.271664559627985 +96.82770203480024 200.08884344226988 269.93379244585316 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body146 2.96336237e-07 0.0003410152371557038 +7.07980829e-06 +0.25118887034490417 0.0008201337497851175 5.3814977411779825 +124.75435580418859 354.6430029121366 34.25689544138114 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body147 2.96336237e-07 0.0004492852049709176 +7.07980829e-06 +0.3309395909713998 0.00013413983096058658 2.079421664422223 +220.65257096631845 282.99697243327626 179.4785782033792 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body148 2.96336237e-07 0.00031646761210079417 +7.07980829e-06 +0.2331073023228347 0.0008321440549849696 8.138223976196302 +357.1499273249601 345.83759313945666 171.95488139485323 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body149 2.96336237e-07 0.0030007519303011394 +7.07980829e-06 +2.21032788401029 0.0005453550198973763 1.193619266234995 +114.70209914368695 359.1252528706196 165.34546146882104 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body150 2.96336237e-07 0.00044661239308489296 +7.07980829e-06 +0.3289708208838966 0.0007315984915959174 5.998345784509511 +184.6392027490737 117.6774753530886 22.70218197599295 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body151 2.96336237e-07 0.0001589193735568456 +7.07980829e-06 +0.11705863424934708 0.001782716686229557 9.975268794775284 +315.3388992722859 202.00883409163833 339.06925812232953 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body152 2.96336237e-07 0.0013828055989717654 +7.07980829e-06 +1.0185626284896245 0.0015720599420678773 5.391948036033658 +9.820726173963978 286.1158705977679 206.034011860938 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body153 2.96336237e-07 0.00038037707112716703 +7.07980829e-06 +0.2801824563572533 0.0013860194854161548 9.848432483325945 +158.82387513055312 205.0823418590616 37.56087631123559 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body154 2.96336237e-07 0.0013628622598251458 +7.07980829e-06 +1.003872537592433 0.0013261028002044145 6.480312337478101 +167.62398308531448 98.09395195195651 75.24672256131272 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body155 2.96336237e-07 0.001364806745053002 +7.07980829e-06 +1.0053048285711628 0.001983518426589933 4.367180046307461 +261.6577560096613 290.33343326668313 332.8968570055506 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body156 2.96336237e-07 0.00022145689694976492 +7.07980829e-06 +0.16312323237773801 0.0006439448200590166 11.067956808253003 +184.72859242658714 344.652192145938 254.2430158874952 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body157 2.96336237e-07 0.0003177625865168285 +7.07980829e-06 +0.23406116926262982 0.00029821637830765893 0.15540232276448177 +273.90933503912856 252.71441052672986 86.66419647342113 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body158 2.96336237e-07 0.0002934051804898172 +7.07980829e-06 +0.21611971492912865 0.0011028044694697762 3.1406010838512883 +268.825042139767 338.59104007622176 57.915432061847646 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body159 2.96336237e-07 0.0006754039114352842 +7.07980829e-06 +0.49749667186424473 0.0010626644786087133 8.88185444878993 +128.26300715096647 34.443743165914995 283.6020679966429 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body160 2.96336237e-07 0.002066712252351126 +7.07980829e-06 +1.52232234643234 0.001793237979184002 7.375200915704474 +347.057516065177 161.152451712529 300.3840302811319 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body161 2.96336237e-07 0.004515216758673851 +7.07980829e-06 +3.3258695606490276 0.0013745148894753647 6.966183990909284 +23.251726492966064 196.06378863722077 338.06632215580805 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body162 2.96336237e-07 0.0010236214108874067 +7.07980829e-06 +0.7539906662418885 0.0004840005158154663 7.427940478904475 +349.557243638905 246.69414694612487 330.93962802388324 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body163 2.96336237e-07 0.0002718807786590962 +7.07980829e-06 +0.20026502695153556 0.0006058354245075206 5.295860408343369 +73.35823722731428 98.10792491734249 317.9966842101337 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body164 2.96336237e-07 0.00018018330144109257 +7.07980829e-06 +0.1327214593737879 0.0008093086192652557 3.6928066678370177 +59.170715481563 138.97885118139544 251.188395768202 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body165 2.96336237e-07 0.00017559504684091343 +7.07980829e-06 +0.12934179077162636 0.0006135474766472398 9.933562821823118 +10.484576903357922 194.67967982707057 20.333846557878356 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body166 2.96336237e-07 0.00039962935024950884 +7.07980829e-06 +0.2943635184254499 0.0012619760406024807 2.779578041982537 +35.52954059395194 305.2214761982664 138.76489378040108 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body167 2.96336237e-07 0.00022115456668983884 +7.07980829e-06 +0.1629005385265913 0.0001929527786699337 9.440631307955767 +127.4007986821642 337.0886437695329 269.41233940608936 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body168 2.96336237e-07 0.0008060441724070385 +7.07980829e-06 +0.5937251566931361 0.0005249423886786294 2.9987821947478523 +48.6375472295649 214.28217837784138 255.52618034001915 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body169 2.96336237e-07 0.00031106873049514165 +7.07980829e-06 +0.22913053288883273 0.0016186032198070468 9.151761940335717 +11.200770827285309 266.3777681156726 49.034665032791885 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body170 2.96336237e-07 0.0003671364476741176 +7.07980829e-06 +0.2704295277914392 0.00012545600265867656 3.134397409063039 +10.298354663953061 133.16092507665462 276.0065731998203 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body171 2.96336237e-07 0.0001406861515402154 +7.07980829e-06 +0.10362820081972879 0.0010692074694615696 10.759956971253267 +43.8394536060831 179.56586036953883 129.3281899786029 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body172 2.96336237e-07 0.00016190577897156664 +7.07980829e-06 +0.1192583946142283 0.00019753162900574672 3.8060033566757454 +349.38327819474637 26.026878084041176 320.1433164558795 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body173 2.96336237e-07 0.00019959834578956432 +7.07980829e-06 +0.14702241289793241 0.0009524778563671583 8.147159648286227 +314.40136019421766 221.39624878001882 155.89907353446114 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body174 2.96336237e-07 0.00026054361645258187 +7.07980829e-06 +0.1919141714550962 0.0011892772120079787 6.863317164196909 +114.29995318209117 163.44259320800703 20.060149144011508 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body175 2.96336237e-07 0.00014110396260167847 +7.07980829e-06 +0.10393595682917241 0.0019650009001170015 8.380209652009132 +27.694704254845995 124.84538034739687 0.9605955234993264 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body176 2.96336237e-07 0.000335299116311714 +7.07980829e-06 +0.24697842523537622 0.00013153259079534292 9.342039055239226 +98.7649591870879 183.74431768897168 325.6204743384124 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body177 2.96336237e-07 0.0009920857025102555 +7.07980829e-06 +0.7307617365645729 0.0017633866996118002 9.110512873524705 +226.63496885023062 241.9899351563555 284.7615263965227 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body178 2.96336237e-07 0.0005050245818596466 +7.07980829e-06 +0.3719967332597837 0.0006100482118329518 3.0520895784014277 +37.530361626110185 202.00026377977647 135.978768482857 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body179 2.96336237e-07 0.00021298758224292248 +7.07980829e-06 +0.15688480851271908 0.0006791788186175694 8.326300133053458 +24.834781106245998 71.16192911147928 183.39434898702336 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body180 2.96336237e-07 0.0001546801787549805 +7.07980829e-06 +0.11393608007161017 0.0016976011178171653 1.9413029702389735 +333.9359764465807 329.27703780599694 298.5147658284802 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body181 2.96336237e-07 0.001414987985585469 +7.07980829e-06 +1.042267895755463 0.001616466643041654 10.645313273891006 +329.61906607910646 202.88772573773534 117.97158715648169 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body182 2.96336237e-07 0.00042896379618307366 +7.07980829e-06 +0.3159710172507339 0.000766433922706978 8.17912136606349 +13.739394195734159 34.350772076221816 352.3560733672413 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body183 2.96336237e-07 0.00019906284169194215 +7.07980829e-06 +0.14662796521732815 0.0012326717671009941 0.7877533807498188 +74.61864594498222 328.98883992061695 161.9126770172985 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body184 2.96336237e-07 0.0003817964110505486 +7.07980829e-06 +0.2812279298526996 0.0006617861350581386 5.156218707648213 +61.38509954988284 30.762104505928384 290.25836261238675 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body185 2.96336237e-07 0.0006641055159158564 +7.07980829e-06 +0.48917437157377647 0.0007007716015580458 7.78402706330698 +109.68696794203515 200.37796049973736 300.38920394549854 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body186 2.96336237e-07 0.00036563238786947765 +7.07980829e-06 +0.26932165036516986 0.0017465208479135463 4.539557413499532 +316.6242898617949 323.76084431082694 165.39345302687377 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body187 2.96336237e-07 0.0010726745256709551 +7.07980829e-06 +0.790122765769607 0.00041571389225238895 8.48743965069622 +312.8252679132003 63.779768711678884 346.1600707719443 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body188 2.96336237e-07 0.002760564552000707 +7.07980829e-06 +2.033407941283969 0.0012487716784506683 4.780479160068423 +119.95278344844063 192.49227229271023 312.8861177607798 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body189 2.96336237e-07 0.00014918339096463875 +7.07980829e-06 +0.10988719378987731 0.0018685801956184883 9.871355330700402 +16.62388996911967 341.4312426028597 117.11558241918884 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body190 2.96336237e-07 0.0001694186633171762 +7.07980829e-06 +0.12479232015827643 0.001494790158159074 6.170794640494448 +287.2665655167668 196.7638664776334 108.39673013661518 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body191 2.96336237e-07 0.00021199568746620945 +7.07980829e-06 +0.15615418741044323 2.78913477291886e-05 10.692986130530839 +200.68567455035873 82.4386461946673 294.62391664458 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body192 2.96336237e-07 0.00014016614488350753 +7.07980829e-06 +0.10324516841988725 0.0004637618628390578 0.7308051275018799 +42.30233194875857 310.1699033238308 52.740299428167255 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body193 2.96336237e-07 0.0012229160482499482 +7.07980829e-06 +0.9007893701427262 0.00022289967307811764 2.700684154462068 +152.30439809554642 286.5828940111849 236.45852634540913 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body194 2.96336237e-07 0.0007667428750310092 +7.07980829e-06 +0.5647761614127097 0.0018924303727522655 9.159135124003821 +211.70900212994155 346.3426486608832 78.23424628533033 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body195 2.96336237e-07 0.00032907751915612477 +7.07980829e-06 +0.2423956506523743 0.0012369454673971248 9.788750352316649 +334.9339658731037 143.94705891738602 218.96160352808548 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body196 2.96336237e-07 0.0035665013066683814 +7.07980829e-06 +2.627053975000575 0.000316185566059322 10.18193359257925 +190.764389273938 312.49027742470116 193.61040983155738 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body197 2.96336237e-07 0.0020067073773769673 +7.07980829e-06 +1.4781232751953437 0.0006941622875320177 10.98511563930743 +190.41758145328998 148.6655764055237 309.18433423478973 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body198 2.96336237e-07 0.0016980237611734642 +7.07980829e-06 +1.2507495968375788 0.001614108985697043 2.1464434538508557 +322.37009572544537 55.104142869009216 85.39669528097619 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body199 2.96336237e-07 0.0002435955289572822 +7.07980829e-06 +0.17943035698405208 0.0008730361704048029 4.3454735664214414 +305.60595571513664 160.92719052876444 77.14881713031818 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body200 2.96336237e-07 0.00016010149885709995 +7.07980829e-06 +0.11792937750778232 0.0010256005854385702 6.358956336477252 +99.14079090569145 14.581675963536666 236.57160174756234 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body201 2.96336237e-07 0.0008787982558057802 +7.07980829e-06 +0.6473151844418513 0.0015377994661774882 9.32745353877487 +228.24666762955778 323.9446178720141 119.24764249841333 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body202 2.96336237e-07 0.0017954751469194494 +7.07980829e-06 +1.3225314436056246 0.000691805367143881 10.532213204900485 +211.87639711279724 61.735729223558934 82.11482242324249 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body203 2.96336237e-07 0.0012991885817706806 +7.07980829e-06 +0.9569710577799532 0.0007249951304479727 2.000271567863135 +288.99784275305177 214.0678946094761 254.58478817829277 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body204 2.96336237e-07 0.0003399181905856912 +7.07980829e-06 +0.2503807953423453 0.0013759788133305114 3.316892456213196 +96.23975353122707 357.4722317667782 127.2736160439848 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body205 2.96336237e-07 0.00024793880705204326 +7.07980829e-06 +0.18262957801392843 0.0017157779266407896 2.2009158458663625 +11.807095777018043 339.8227906851545 39.16400100090238 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body206 2.96336237e-07 0.00014772181136383643 +7.07980829e-06 +0.10881060691385727 0.0006751379178441995 8.205815716422652 +167.78369402264536 217.23434074847805 96.10947124818023 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body207 2.96336237e-07 0.0001726437639612437 +7.07980829e-06 +0.12716790136188713 0.0007840743508914886 7.104423669752906 +20.288608511524213 215.52017237393778 52.26007028792386 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body208 2.96336237e-07 0.0018620952900203491 +7.07980829e-06 +1.371603264053607 0.0009670280064962706 0.26975802667935367 +186.73900145950276 11.807046949130749 210.80209167405837 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body209 2.96336237e-07 0.0001500772754354715 +7.07980829e-06 +0.11054562134965469 0.0004212731576929747 5.107089289406828 +191.41091549672987 168.2169823184333 214.77055756537882 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body210 2.96336237e-07 0.002084404211654546 +7.07980829e-06 +1.535354090434984 0.0003044619843016671 9.817178189524565 +24.02751479490522 345.76928856220974 77.25094364044551 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body211 2.96336237e-07 0.0037098487958060786 +7.07980829e-06 +2.732642494046239 0.0017533570248068017 10.541784042600442 +183.96265326310302 42.56564437980813 318.5382099562932 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body212 2.96336237e-07 0.00038115621754547513 +7.07980829e-06 +0.2807563688612237 0.00042096780769310235 8.178730051971389 +13.660589419038033 61.78654310928999 359.09913531464383 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body213 2.96336237e-07 0.00014785801751927767 +7.07980829e-06 +0.10891093518834927 0.001649245523746131 1.5883493999405343 +162.60580357685225 292.9008584369058 264.2190177580755 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body214 2.96336237e-07 0.0004740021377059934 +7.07980829e-06 +0.34914586956439975 0.0008049997580228192 7.147446272658471 +196.43371055896776 244.68364848264363 125.53445762406609 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body215 2.96336237e-07 0.0001697778484955723 +7.07980829e-06 +0.1250568928499792 0.0011272406254360131 0.8303248616962521 +219.21382519185622 294.0883983025753 125.65741218814509 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body216 2.96336237e-07 0.0022980225363745223 +7.07980829e-06 +1.6927034983937899 0.00042475279959607796 6.839865737755455 +256.1546018631811 52.72632430493219 240.04551169076447 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body217 2.96336237e-07 0.00035289505479375573 +7.07980829e-06 +0.25993944113257617 0.0010708877295575513 5.692463515502207 +148.48804231261136 191.641133752022 41.885954320221956 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body218 2.96336237e-07 0.00025301275516371996 +7.07980829e-06 +0.18636700425033675 0.0012416834402048642 10.26542747504295 +329.24538975442806 257.9445474945486 185.52836484359017 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body219 2.96336237e-07 0.0014762812657693556 +7.07980829e-06 +1.0874159951117812 0.0017109019247707644 8.236341398611993 +7.455178471365682 73.51925788845762 265.1313439020597 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body220 2.96336237e-07 0.0003149117198965777 +7.07980829e-06 +0.231961245599929 3.4109124152629e-05 2.1542164870395832 +285.29015445980576 282.9646433174194 174.9398683992383 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body221 2.96336237e-07 0.00019506210462675862 +7.07980829e-06 +0.14368105694328057 0.0008306655083517787 8.114916758603387 +99.24628499032778 189.16677308527224 143.18476513265207 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body222 2.96336237e-07 0.00013615561035436202 +7.07980829e-06 +0.1002910434187357 0.001378237544990353 0.8497756036880315 +58.85638691575179 169.1319154934693 228.48288782623976 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body223 2.96336237e-07 0.00038439934667768895 +7.07980829e-06 +0.2831452296930682 0.0012684965519581396 3.023547839769216 +49.435923162329786 103.29742604797761 219.8817809109895 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body224 2.96336237e-07 0.00018149758177013166 +7.07980829e-06 +0.13368954688190451 0.001655295759468958 10.408320781356021 +161.15193021387574 5.411709863050264 110.29299367176876 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body225 2.96336237e-07 0.0001915431981668877 +7.07980829e-06 +0.14108906092023843 0.0015564326687895838 10.714020711437744 +146.0653453808813 175.78773632718568 160.5520207087941 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body226 2.96336237e-07 0.0012367194492356964 +7.07980829e-06 +0.910956835765222 0.0008941512327692245 7.343267100816448 +34.79194078075773 235.37851553601487 0.5637235052828101 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body227 2.96336237e-07 0.0006033454038874619 +7.07980829e-06 +0.4444189992633197 0.00027434415554570955 1.3946438470777796 +177.87891221055915 205.47947156499617 226.64594351417597 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body228 2.96336237e-07 0.0002295040567714756 +7.07980829e-06 +0.1690507006104184 0.0015495487122857464 0.506258533467444 +118.3395525479282 111.12727377366951 20.62163702517497 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body229 2.96336237e-07 0.000680188629669569 +7.07980829e-06 +0.5010210538778258 0.0018125122300620218 3.516518540160953 +286.18394034264486 46.65261004443694 180.6934797702036 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body230 2.96336237e-07 0.0008309321372508847 +7.07980829e-06 +0.612057416056242 0.0013479381556343616 8.781970742963736 +4.6502582809159225 235.79852002674681 254.58469355674114 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body231 2.96336237e-07 0.00028875338348513253 +7.07980829e-06 +0.21269324154211386 0.0017014082467900972 10.805769273150426 +210.4351975769534 16.69354930850494 307.16209275059845 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body232 2.96336237e-07 0.004789166988213282 +7.07980829e-06 +3.5276589271966508 0.00016917592282757524 0.0919403618348367 +5.541775361397037 316.5417521480938 19.724330375795756 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body233 2.96336237e-07 0.00015602774231945101 +7.07980829e-06 +0.1149286837226979 0.0005694907494871749 4.2061005176099675 +298.3884159608733 160.7896563736114 54.12728271096299 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body234 2.96336237e-07 0.00033361659151024965 +7.07980829e-06 +0.24573909203803246 0.0008538548336281108 5.267761887787151 +69.88816687432661 130.85673441359256 330.0663861704082 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body235 2.96336237e-07 0.0007255629284671912 +7.07980829e-06 +0.5344433694104976 0.00029151450416525646 5.790283282713547 +209.80207261084993 200.85446052779668 22.50654792931252 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body236 2.96336237e-07 0.00014050915870131856 +7.07980829e-06 +0.10349782942743427 0.0007924621844157655 11.173923475547578 +11.154342452970775 214.64853940043557 285.1138704849443 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body237 2.96336237e-07 0.00037797350969624765 +7.07980829e-06 +0.2784120138231516 0.00035560782977214273 3.5867703877553323 +347.79807714965494 142.65591536366088 120.30910012971961 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body238 2.96336237e-07 0.0002818717377284597 +7.07980829e-06 +0.20762428087586896 0.0019345055907977475 4.699858656823634 +11.910525225358313 225.4147272411337 227.5842364756943 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body239 2.96336237e-07 0.00017962394541836337 +7.07980829e-06 +0.13230944257171812 0.0005909912378243259 6.874912174730618 +4.410205837761819 12.178632782698875 168.85550551610942 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body240 2.96336237e-07 0.00014763491417794765 +7.07980829e-06 +0.10874659919929998 0.0001487868707847223 8.592895875798417 +341.2285492296072 117.82083180908305 107.39008168704405 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body241 2.96336237e-07 0.00021413852875499322 +7.07980829e-06 +0.15773258574580046 0.0013968876742388708 2.5666121192866873 +7.892521759158565 273.23494428618056 114.36072842368112 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body242 2.96336237e-07 0.000302920880213668 +7.07980829e-06 +0.2231288969355152 0.001490662786820567 8.823469116533468 +77.74603760548976 256.1711765244276 190.7090045158862 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body243 2.96336237e-07 0.002176341257532404 +7.07980829e-06 +1.603074122212809 1.1249616815154717e-05 7.221093398248473 +333.49253555301203 218.11923385527152 275.41388027309995 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body244 2.96336237e-07 0.00024317880758719938 +7.07980829e-06 +0.17912340363184193 0.000336998420125595 7.724078976290007 +161.37544585797195 241.90498095337946 69.3977624533481 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body245 2.96336237e-07 0.00038691804961616397 +7.07980829e-06 +0.2850004844644586 9.420942546640277e-05 7.669912374939788 +259.7007514363307 35.13983765302773 10.91017038567923 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body246 2.96336237e-07 0.00047054547278308634 +7.07980829e-06 +0.3465997201184457 0.0009193224760291305 6.7204038763804865 +161.4453141138866 180.73760235721628 141.2837397885981 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body247 2.96336237e-07 0.0001594873671616805 +7.07980829e-06 +0.11747701341959062 0.0014297941505331205 9.641397929251935 +46.77020617086623 74.02294078385285 275.92894966924365 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body248 2.96336237e-07 0.0010118558762477353 +7.07980829e-06 +0.7453242753210819 0.0019755797078711747 6.782190434597142 +78.2813100583065 150.3875582241861 12.61430541775426 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body249 2.96336237e-07 0.0006915933047027637 +7.07980829e-06 +0.5094216387377067 0.0011040779288285353 9.711103505274918 +341.190827080925 137.43932028377347 142.79616533586562 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body250 2.96336237e-07 0.0004130865867584533 +7.07980829e-06 +0.30427600229227064 0.0006650742528771187 2.3314517503433927 +348.7061105973839 33.495458937222274 142.47561828090258 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body251 2.96336237e-07 0.00014720505103971152 +7.07980829e-06 +0.10842996573448166 0.0017727333230638425 5.354009837425878 +23.03294932605134 357.9059136353031 67.57407478038287 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body252 2.96336237e-07 0.000984600319821135 +7.07980829e-06 +0.725248068502518 0.0016807788727423241 2.745464915439347 +207.77125122588643 259.65622404449584 55.63308259585522 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body253 2.96336237e-07 0.00040567014772123635 +7.07980829e-06 +0.29881311752712514 0.0005181305464388276 2.907943351307752 +174.15791217888955 248.3289466312303 65.98173066158998 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body254 2.96336237e-07 0.00023718335075471962 +7.07980829e-06 +0.17470720205236642 0.0004048198416281155 2.942839656148467 +107.79982635849616 232.18812022144456 210.21701646839182 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body255 2.96336237e-07 0.004283665517049441 +7.07980829e-06 +3.155310921405471 0.0008690751471973748 2.9468228217980252 +299.4906587956731 350.15633095889694 75.52026808606432 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body256 2.96336237e-07 0.000817134870139535 +7.07980829e-06 +0.6018944685925062 0.0005609106650894346 3.367785048520667 +233.83059625294527 309.822511579689 97.28410767563408 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body257 2.96336237e-07 0.00015528474379070223 +7.07980829e-06 +0.11438139744112007 0.0011797166186013966 10.837249867290915 +169.6006931282434 208.11075987000896 233.87472157884088 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body258 2.96336237e-07 0.0008434582955810151 +7.07980829e-06 +0.6212840758001004 0.0008612378969723491 5.01164468826643 +198.09164937559453 354.2664945635985 289.3258487055918 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body259 2.96336237e-07 0.0002147178424179851 +7.07980829e-06 +0.15815930317284568 0.00048635766663721026 7.555015607446637 +120.8362654476432 47.0664105312282 66.63879584602019 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body260 2.96336237e-07 0.0004047082180033782 +7.07980829e-06 +0.298104568427691 0.0010505831612709206 3.5709675793137308 +224.89284013971303 178.55081080406057 334.3940893078972 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body261 2.96336237e-07 0.00016261985975975462 +7.07980829e-06 +0.11978438033854957 0.0006309182599047637 2.0017352253487477 +31.612113473826636 341.20755547153817 89.2680098475455 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body262 2.96336237e-07 0.00017805495279096215 +7.07980829e-06 +0.13115373619055 0.0018221731090361927 4.067869231849736 +119.11962705630604 333.0495355236492 149.44948219551455 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body263 2.96336237e-07 0.0002406453365312257 +7.07980829e-06 +0.17725727079300055 0.0009377733636088368 10.395809749714058 +270.9505765961 298.9615482937117 288.5573654373031 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body264 2.96336237e-07 0.0005833010762516816 +7.07980829e-06 +0.42965452111961755 0.0015665462291608002 3.6943684564611403 +164.81313967514203 8.491196746822613 354.10643082270167 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body265 2.96336237e-07 0.0004650446566381699 +7.07980829e-06 +0.3425478665856205 0.0011592257075281403 2.8377121499569835 +155.09023565207045 114.58340895178573 132.77196435560555 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body266 2.96336237e-07 0.0002830521676258744 +7.07980829e-06 +0.20849377531525543 0.0009276865729839454 5.071334838260017 +78.03911987700765 127.5115304739284 162.63541069544019 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body267 2.96336237e-07 0.0005591199386490625 +7.07980829e-06 +0.41184290458096057 0.001963941440472467 1.4928876090999643 +197.58335766687242 234.72955990999395 115.31060076949608 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body268 2.96336237e-07 0.00045605011976187506 +7.07980829e-06 +0.335922568619241 0.00019918741957323128 3.782891073799093 +250.13842381649116 326.9879175546122 293.37785999714566 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body269 2.96336237e-07 0.004221674486263204 +7.07980829e-06 +3.109648864998293 9.395893190170921e-05 6.959994520926894 +302.0166560623343 69.93562142002673 204.67515235084042 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body270 2.96336237e-07 0.0028958481002412154 +7.07980829e-06 +2.133056631302087 0.0017127018283247966 1.2994943768340637 +27.3948787970591 164.80826908236628 91.06657370776342 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body271 2.96336237e-07 0.0027918986640844586 +7.07980829e-06 +2.05648837687748 0.000909040281369389 6.316269060791007 +353.38275478294435 210.45802798856064 276.50218980188725 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body272 2.96336237e-07 0.0006193301949800568 +7.07980829e-06 +0.4561932579467078 0.000531155583006727 0.9557363211994999 +35.14124101438557 62.789057177241475 204.8361250748343 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body273 2.96336237e-07 0.0013633319545579942 +7.07980829e-06 +1.0042185106648833 0.0006243122502952267 1.6622398169826273 +88.79831610924471 31.759105856310057 349.87779027468093 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body274 2.96336237e-07 0.00022448066128420477 +7.07980829e-06 +0.1653505109993392 0.000984910938394988 8.64712660160123 +96.32856540828398 33.39814592089414 190.49175636262328 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body275 2.96336237e-07 0.00023385189275707766 +7.07980829e-06 +0.17225327894321488 0.0004507722173204072 2.0623087142726786 +90.86674638551156 35.708335043797334 6.1504009310031424 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body276 2.96336237e-07 0.0007236741577720057 +7.07980829e-06 +0.5330521172740204 0.0010252529693844888 2.425520360206466 +145.93090085987384 124.27193077457585 301.5935684271459 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body277 2.96336237e-07 0.004877712984588716 +7.07980829e-06 +3.592881141278991 5.830717080473449e-05 3.526339375615492 +351.36151318117334 338.22374970629886 148.99798219413535 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body278 2.96336237e-07 0.0015932248899463701 +7.07980829e-06 +1.1735556558966482 0.0004713092568289672 2.4420849935412474 +124.5320238473141 142.44497982130548 348.8685090358063 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body279 2.96336237e-07 0.00015438530451958966 +7.07980829e-06 +0.11371887826356362 0.001684106342533987 4.260438131801079 +118.06852705903006 63.0824313989246 107.32296690173546 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body280 2.96336237e-07 0.0004676223281528159 +7.07980829e-06 +0.3444465570995242 0.00017458176162088424 8.771994098916668 +289.96532402399885 263.43716217781775 88.67844086604237 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body281 2.96336237e-07 0.00030689082150139386 +7.07980829e-06 +0.2260531213065926 0.0001389546880067447 8.317900590662783 +129.3093251303657 126.75033720369892 39.68818985068336 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body282 2.96336237e-07 0.00016337000737253707 +7.07980829e-06 +0.12033693257351236 0.0007847664923863612 5.325462720215728 +201.2719119400836 166.04592478545598 170.03779621767723 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body283 2.96336237e-07 0.00035652831014559557 +7.07980829e-06 +0.26261566555913024 0.0014982151714328952 10.962654304958802 +228.23841788964108 174.9792769157084 123.96613498843118 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body284 2.96336237e-07 0.00029163914318341435 +7.07980829e-06 +0.21481886714390272 0.00021469580921765585 4.1290254174892365 +66.5908804077143 125.64321519201816 166.41069852906648 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body285 2.96336237e-07 0.002472326230018165 +7.07980829e-06 +1.821094089584001 2.107474130330652e-06 3.7825140479516866 +192.21174039003108 264.52980539740355 347.8641428782904 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body286 2.96336237e-07 0.0001933634368959666 +7.07980829e-06 +0.14242983300399903 0.0009824500665722429 8.409381527228243 +318.1547354292355 345.2908820248665 284.6050377786674 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body287 2.96336237e-07 0.0006119929742245199 +7.07980829e-06 +0.45078872468178216 0.0013030763010814608 11.232159219303057 +285.95416096202626 200.28696560521092 320.0404299094864 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body288 2.96336237e-07 0.00042826795884411866 +7.07980829e-06 +0.31545846949312123 0.0009007784181869242 6.879509621691664 +89.2096671407246 12.235493134100752 266.0479848260117 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body289 2.96336237e-07 0.00017410820540282124 +7.07980829e-06 +0.12824659624503737 0.00014342148426163992 1.0703625616233259 +46.538023129070226 107.4930627998194 300.56956795686585 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body290 2.96336237e-07 0.00015114966336430465 +7.07980829e-06 +0.11133553301067563 2.766395057426916e-05 5.761202682615806 +319.4801151987132 141.96380152116765 189.0460950989753 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body291 2.96336237e-07 0.00021734923207295198 +7.07980829e-06 +0.16009756200368674 0.0013191852741356376 5.615188330135927 +151.0271919560084 69.3646412761158 192.88078617531676 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body292 2.96336237e-07 0.0011944697111478653 +7.07980829e-06 +0.8798360445912934 0.0006850212851320823 6.814346772167117 +78.44571808758236 103.92010109199413 242.81886155862486 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body293 2.96336237e-07 0.00015278398644398032 +7.07980829e-06 +0.11253936123719822 5.183610896181789e-05 4.053109511534237 +236.27362376794815 258.6362917075659 310.0353562648458 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body294 2.96336237e-07 0.00034896123301151255 +7.07980829e-06 +0.2570418220764263 6.0769476677815276e-05 5.713343744289857 +299.9253937144354 189.19621914314894 101.59353256474273 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body295 2.96336237e-07 0.00025478314682010465 +7.07980829e-06 +0.18767105941204867 0.0018449348227060555 1.2835484399431265 +290.4682644970513 305.78831832496115 215.73128560603016 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body296 2.96336237e-07 0.0006250814006742552 +7.07980829e-06 +0.46042954625304894 0.000596769292531275 2.5129034189216504 +145.43775163382543 274.05520730065695 223.66497443462396 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body297 2.96336237e-07 0.0002282198327816247 +7.07980829e-06 +0.16810475234144653 0.0017247737094638039 5.107324795408434 +124.79937809811587 226.08434523725555 305.7830635332392 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body298 2.96336237e-07 0.0009477301107050991 +7.07980829e-06 +0.6980897917800946 0.0001517768392752887 5.574014468921428 +249.01242380384846 257.47120895883273 139.97390722263367 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body299 2.96336237e-07 0.0031407431101470235 +7.07980829e-06 +2.3134441746987386 0.0015616804960815864 6.117489231243545 +256.7324568865978 220.6785657320005 123.0674530910947 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body300 2.96336237e-07 0.0004204361522249776 +7.07980829e-06 +0.30968962856439886 0.00195927594219296 6.306085925673815 +312.00891473474553 73.99762506858666 216.5279233163698 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body301 2.96336237e-07 0.0009942157315783549 +7.07980829e-06 +0.7323306975291335 0.00021855504650573836 8.368350519218684 +237.27561034714356 272.3964709349121 286.9144825005913 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body302 2.96336237e-07 0.00018683411530759256 +7.07980829e-06 +0.1376203912688386 0.0010315807571819164 5.2755550278547485 +44.12983056103787 223.37841130869015 128.86001971717735 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body303 2.96336237e-07 0.00025133191919356077 +7.07980829e-06 +0.18512891503150636 0.0009331929516210252 6.536562647357183 +291.76734381546066 70.66568841443045 126.26321054382733 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body304 2.96336237e-07 0.00019500768911756772 +7.07980829e-06 +0.14364097495047312 0.00039209244628038144 9.848623859718383 +245.89557619047113 117.87493794887448 338.12840463525515 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body305 2.96336237e-07 0.0001625383298355381 +7.07980829e-06 +0.11972432610245717 0.0011745754487988123 4.387084176328411 +106.0618658508988 80.5444882525448 84.64174187568527 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body306 2.96336237e-07 0.00023586028260954013 +7.07980829e-06 +0.1737326415149872 0.001671319316829762 5.501673418983377 +348.95321631475684 200.94418904994996 330.4440114985243 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body307 2.96336237e-07 0.0003365884691163788 +7.07980829e-06 +0.2479281513449222 0.0014193080584742374 11.094828295285224 +31.371307509920015 240.58423164611085 165.28222019489715 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body308 2.96336237e-07 0.00023571497841569307 +7.07980829e-06 +0.17362561170419857 0.0005768421886276322 5.284489567307279 +98.85486595751904 13.212732070412448 230.02980695324322 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body309 2.96336237e-07 0.0001801084671471839 +7.07980829e-06 +0.13266633708099312 0.0009177789908346947 5.324485126624002 +148.3631841889071 267.83910430205896 59.843201690272075 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body310 2.96336237e-07 0.004922591836343339 +7.07980829e-06 +3.625938514810581 0.0008037249965389214 1.863877400137279 +347.99161053606065 214.8189761659566 173.46818152084595 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body311 2.96336237e-07 0.001606405521600504 +7.07980829e-06 +1.183264395022937 0.00025039709043080626 11.41113625586248 +176.51998858123935 140.35911454474774 147.38759836239387 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body312 2.96336237e-07 0.00022953580689701405 +7.07980829e-06 +0.1690740874779198 0.00017995036684982085 2.5624472975864214 +93.69670004832261 5.072707264965885 194.42820284682057 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body313 2.96336237e-07 0.0004560010949555674 +7.07980829e-06 +0.3358864573714915 0.0017281502204120312 5.808809764521844 +316.45299102623267 192.88920395505212 19.031504976546625 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body314 2.96336237e-07 0.00020589517649069033 +7.07980829e-06 +0.15166060385902067 0.0014460419115430905 8.580387771814594 +2.027448348404554 61.39523640794668 310.8259013460574 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body315 2.96336237e-07 0.0017103724786315462 +7.07980829e-06 +1.2598455551718035 0.001040160606823539 8.866568986800155 +201.9511825476413 25.06154164547849 167.52608336931982 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body316 2.96336237e-07 0.00036481350926962107 +7.07980829e-06 +0.26871847148036926 6.7596178272466e-05 10.264244616216553 +96.8748429708464 157.16467008976218 200.80623110746035 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body317 2.96336237e-07 0.0005677970507966551 +7.07980829e-06 +0.41823439024121756 0.0016492348678305217 3.985448712266753 +141.35422552657585 324.0916041102787 22.20933645695202 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body318 2.96336237e-07 0.00017869361209387716 +7.07980829e-06 +0.13162416710200292 0.0011439008076636614 3.2407253494579034 +190.01218772119614 44.20946646779479 2.004533467122998 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body319 2.96336237e-07 0.00015228572269447034 +7.07980829e-06 +0.11217234447449538 0.0009168186738675861 2.8638522507923314 +93.22615350753611 33.85431327929882 239.03387997148917 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body320 2.96336237e-07 0.0002228749297341271 +7.07980829e-06 +0.1641677430459031 0.0014250007569514766 8.995787444712223 +6.360744237560372 246.00127166536984 117.23024488217823 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body321 2.96336237e-07 0.00016657687495983734 +7.07980829e-06 +0.12269908346541473 0.0002722641518232161 2.5361455280784493 +294.747187083813 253.91062671694937 21.543427585789953 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body322 2.96336237e-07 0.0003119834065271981 +7.07980829e-06 +0.22980427533254327 0.0002561538067768338 7.283682147132967 +351.50642528622967 353.05050444668393 37.915945343913684 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body323 2.96336237e-07 0.0003636327820351304 +7.07980829e-06 +0.2678487580250677 0.00030140848800125055 7.394557096887053 +269.6118768787643 66.8992901686776 271.65173432137044 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body324 2.96336237e-07 0.00015848034184009056 +7.07980829e-06 +0.11673524728899572 0.0019276867342928185 8.11274732856384 +303.66016858902975 82.72816698207556 313.66739660789585 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body325 2.96336237e-07 0.00027836204038314506 +7.07980829e-06 +0.2050390682068539 0.0007631400667376777 10.463799400784199 +28.670451511576793 91.11735677392642 254.85925697503265 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body326 2.96336237e-07 0.00026836168207477904 +7.07980829e-06 +0.19767289088447285 0.0016214214428952305 8.268846910383754 +222.17426119100602 196.7982012673432 282.25263254954075 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body327 2.96336237e-07 0.0003589316062721598 +7.07980829e-06 +0.26438591267234157 7.76907304503399e-06 5.047413034763888 +173.2690936517081 28.344089675206597 291.5460190814182 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body328 2.96336237e-07 0.00014822536550915556 +7.07980829e-06 +0.10918152053629596 0.0010554718431630332 5.294051241865372 +280.9870442314642 243.25347719092647 275.98182391301384 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body329 2.96336237e-07 0.0006505027268334232 +7.07980829e-06 +0.47915467494187414 0.0006517479027116303 7.292113973652021 +5.488359739149935 185.63065345666627 225.7335982038429 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body330 2.96336237e-07 0.0007169610725077651 +7.07980829e-06 +0.528107316806692 0.0012695547737103553 2.286365445938052 +264.56567615972165 94.99106094678771 139.68443412635122 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body331 2.96336237e-07 0.00014290244996673993 +7.07980829e-06 +0.1052607070465743 0.0011677205977731777 0.8176499307396407 +273.11035397112664 153.26705683902466 305.48002207509745 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body332 2.96336237e-07 0.0027107575201529735 +7.07980829e-06 +1.9967205129760297 0.0002174696896302886 4.548246093501465 +31.607783203459267 55.72124572358127 62.8218389960747 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body333 2.96336237e-07 0.00021889530790215867 +7.07980829e-06 +0.16123638806977442 0.001444705141822196 9.609484812903395 +31.464950213756925 349.80740372868604 234.47574007627532 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body334 2.96336237e-07 0.0011772666033075512 +7.07980829e-06 +0.8671643843427015 0.0017419436543695752 7.697186841151445 +327.70006686631075 245.93846763390636 237.56052707500405 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body335 2.96336237e-07 0.00014321614347240008 +7.07980829e-06 +0.10549177096611795 0.0013551666337921638 5.4536982339343565 +10.92195396327973 165.29999635983054 27.633395340256648 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body336 2.96336237e-07 0.00029889604796622495 +7.07980829e-06 +0.2201642403588903 0.0013608821634157593 8.38274482236048 +46.71017873691516 210.61788270484556 166.69795474367763 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body337 2.96336237e-07 0.00018415554172083735 +7.07980829e-06 +0.13564737716247616 0.0003179485550799256 8.136125699171172 +152.81408877925242 209.80742536198633 130.40397707101712 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body338 2.96336237e-07 0.003543703727191604 +7.07980829e-06 +2.6102614753951827 0.0017753297686231334 8.620159985630853 +94.67477537826696 273.860740239627 146.26748120005496 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body339 2.96336237e-07 0.0008243326122071452 +7.07980829e-06 +0.6071962630638525 0.0007381654194420349 1.990384843054466 +310.9770511114949 94.0747249242464 252.80656511785244 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body340 2.96336237e-07 0.005008804403226113 +7.07980829e-06 +3.6894419449371676 0.0005994918878210641 9.959226775698019 +322.9608823547301 50.78959164496634 295.6703866824421 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body341 2.96336237e-07 0.0001503613961053045 +7.07980829e-06 +0.11075490217444199 0.0015504100076306501 1.6675619240329276 +159.33523472053665 29.682478042780815 205.71814487652136 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body342 2.96336237e-07 0.00013732826243335652 +7.07980829e-06 +0.10115480878443323 0.0015317213079232641 10.458820129694365 +118.01043838028095 102.64908626926156 336.57718276865387 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body343 2.96336237e-07 0.001101513135339633 +7.07980829e-06 +0.8113650358963385 0.0006358631971043168 8.635102019265844 +290.0593797645032 124.67027381809105 357.8987600908822 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body344 2.96336237e-07 0.0002496437530839839 +7.07980829e-06 +0.18388542649546316 0.0017114415848874511 6.152672513669821 +227.02003856771577 207.80971255570097 306.4507853203065 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body345 2.96336237e-07 0.000786402919866365 +7.07980829e-06 +0.5792575801736796 0.001996656772695265 2.4412597448951736 +226.3625546241884 331.64674246663526 36.1478697838596 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body346 2.96336237e-07 0.0003388719406716841 +7.07980829e-06 +0.24961013671667837 0.0017937088367951564 9.811900318991631 +64.85290027540626 118.22661839313105 62.03376070937007 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body347 2.96336237e-07 0.000426447460349051 +7.07980829e-06 +0.314117506067983 0.00015224476174463102 8.252536131358141 +260.43549278392493 32.70366712445605 190.55803156205212 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body348 2.96336237e-07 0.0006444195357616657 +7.07980829e-06 +0.47467384908156435 0.0010876343271783054 6.514014864428936 +310.5233342327956 343.9574292034065 199.19111614640337 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body349 2.96336237e-07 0.00054226433855886 +7.07980829e-06 +0.39942721553152877 0.0017981619784875422 10.227345064991548 +37.37523364182289 202.41739212372974 269.0861108570201 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body350 2.96336237e-07 0.00047954498951542 +7.07980829e-06 +0.35322868620365555 0.0016492335376706317 0.49337664309798085 +283.7971089038009 95.5833514086352 71.56770760930895 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body351 2.96336237e-07 0.00028009747225710857 +7.07980829e-06 +0.20631737229560168 0.0010316139909898982 1.2686189308547466 +86.55109564714702 214.38460242228032 104.33146341509861 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body352 2.96336237e-07 0.00025623404455162827 +7.07980829e-06 +0.18873977811566775 0.0006452132368777103 0.6050579146050421 +157.43781147686246 2.5850389604214 159.43765898916868 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body353 2.96336237e-07 0.0004058236215884254 +7.07980829e-06 +0.29892616504854447 1.3191328167835538e-05 1.9784258448731697 +189.94678909317844 33.557846185365456 293.99534737705994 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body354 2.96336237e-07 0.00019280291180421137 +7.07980829e-06 +0.14201695507580933 0.001647108671401029 3.5640591075394887 +135.654713397442 47.85588862949121 320.6811997480477 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body355 2.96336237e-07 0.004773934278971867 +7.07980829e-06 +3.516438645491477 0.0010761216903622214 3.221566589364664 +37.186866202379946 309.6540427909378 16.17630653640015 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body356 2.96336237e-07 0.0011590159350373256 +7.07980829e-06 +0.8537211001537772 0.0017587197664019573 7.585968540023092 +278.7934262814676 99.53015751946636 352.88619866914877 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body357 2.96336237e-07 0.0017832929898511443 +7.07980829e-06 +1.3135581722120224 3.17502276408299e-05 11.030328628464801 +98.53532708337863 56.9975562596022 33.71040048985311 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body358 2.96336237e-07 0.00039697861826237725 +7.07980829e-06 +0.29241101220024956 0.0008458555454990808 10.58777976211051 +239.12203417314623 133.0689566770032 115.70577915610316 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body359 2.96336237e-07 0.00029557716051867804 +7.07980829e-06 +0.21771957660807217 0.0010392643981527155 8.03170940349945 +288.9256328269013 67.78208540280802 342.17504476494315 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body360 2.96336237e-07 0.0014833560516777343 +7.07980829e-06 +1.0926272211410928 0.0006092108167580567 2.2096414041046692 +311.3662182072021 291.7919905103377 304.97098144688493 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body361 2.96336237e-07 0.000993445612055267 +7.07980829e-06 +0.7317634341580055 0.0014006123392814103 2.1919067330947506 +120.01996203370337 128.74716731340266 5.827785850564331 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body362 2.96336237e-07 0.0005463426586983324 +7.07980829e-06 +0.40243127082619357 0.0011965762956253783 10.898821474898226 +281.91463076199005 29.575440192365903 214.20508522622518 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body363 2.96336237e-07 0.0003881791589043536 +7.07980829e-06 +0.2859294066443704 2.900497725161311e-05 9.127483813809095 +249.54173239568317 90.63367169371816 266.5485228009919 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body364 2.96336237e-07 0.0013968631201863857 +7.07980829e-06 +1.028917276871913 0.001603944913241954 3.0960547395036917 +11.620252615054142 44.62761359844495 198.88658277447743 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body365 2.96336237e-07 0.0002630194417645936 +7.07980829e-06 +0.1937378429381731 0.000747167760463149 7.1657186191455775 +228.24188046622197 277.72286896705293 91.13011664684869 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body366 2.96336237e-07 0.0002749926323670147 +7.07980829e-06 +0.2025571914427479 0.00133596025404816 4.503723068347708 +73.89042601654641 43.869574691929124 124.89440067010928 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body367 2.96336237e-07 0.00034802520380482264 +7.07980829e-06 +0.25635235106920873 0.0003990604853807404 4.721069759511323 +289.9667438551355 89.90143863984306 308.2229017081904 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body368 2.96336237e-07 0.00036443935286634496 +7.07980829e-06 +0.26844287111407733 0.0008485077286316471 6.764038727594673 +253.3611698186918 150.74732229379677 328.9769827782936 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body369 2.96336237e-07 0.0008469945776758163 +7.07980829e-06 +0.6238888705653514 0.0001333427676397332 4.1474959515146415 +267.71710049416396 150.87718065006715 119.97373879602044 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body370 2.96336237e-07 0.0002799708966091264 +7.07980829e-06 +0.20622413776949955 0.0005428172476920105 6.168519622305448 +96.33658992043293 129.60600999117443 297.12149196391545 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body371 2.96336237e-07 0.0005421356999893545 +7.07980829e-06 +0.3993324614752984 0.0009919338011116921 4.745092400309358 +295.19339993138095 291.6130480807459 203.70027399593255 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body372 2.96336237e-07 0.0006294503606226284 +7.07980829e-06 +0.46364768431387976 0.00041641717513561904 1.934529957130357 +350.8676271559399 177.52429758946244 62.301164228997536 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body373 2.96336237e-07 0.0002809800292278342 +7.07980829e-06 +0.20696745611690134 0.0008475677763260917 0.46568355676114265 +14.900153214321696 190.0523015188567 319.6113375878809 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body374 2.96336237e-07 0.0018166312625594561 +7.07980829e-06 +1.3381148551646602 0.0010624355759753792 6.933338705363457 +257.43788022187965 295.18471400586776 295.1190325206985 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body375 2.96336237e-07 0.00016392755580813283 +7.07980829e-06 +0.12074761792255417 0.00023695768245123492 3.1581589183258623 +339.1487157944927 83.23577626586008 345.89695591969786 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body376 2.96336237e-07 0.00029571793986295827 +7.07980829e-06 +0.2178232734538571 0.0002948999251832698 0.362705770588533 +213.82508431076934 242.2651748717798 83.27447892616063 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body377 2.96336237e-07 0.00020811537789423138 +7.07980829e-06 +0.15329598498493502 0.0018051616135915112 3.106896506398628 +178.3112067859215 63.88472884866744 1.3270972588545527 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body378 2.96336237e-07 0.0001559380129035177 +7.07980829e-06 +0.11486258981201816 0.0017844542058524017 6.130540321897014 +288.19324195157367 344.28272044710786 210.06820283808818 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body379 2.96336237e-07 0.0012589113538808599 +7.07980829e-06 +0.9273032005350614 0.0007950274671429485 0.7443682928155341 +206.7513766110101 220.9240832277189 190.998462308951 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body380 2.96336237e-07 0.0021256371126569047 +7.07980829e-06 +1.5657258882180163 1.9263879203954986e-05 5.128316556491018 +239.8438686641544 174.44658062206983 247.6331818960163 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body381 2.96336237e-07 0.000977305599748203 +7.07980829e-06 +0.7198748408723243 0.0010168747207552594 6.687759662707231 +346.7619173455041 149.905703053694 34.41280092344825 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body382 2.96336237e-07 0.0008650682748260707 +7.07980829e-06 +0.6372017993599538 0.0006067227825775598 3.8110465174551575 +283.42141873127645 296.75010671228034 236.75772996243154 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body383 2.96336237e-07 0.0004166997753732313 +7.07980829e-06 +0.3069374457340919 0.0012556587656461812 7.028090843879932 +157.07945315433642 109.64383603363065 170.14986474214172 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body384 2.96336237e-07 0.0012888125307341934 +7.07980829e-06 +0.9493281484477046 0.0011246500645733703 1.0945156676865877 +40.94588274454956 313.0368841398567 91.0294850281977 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body385 2.96336237e-07 0.0004170975464251864 +7.07980829e-06 +0.3072304404460873 0.0005324736339296211 8.850334116104705 +277.3659221161124 9.697380193441212 64.32137229646291 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body386 2.96336237e-07 0.0006424192463846406 +7.07980829e-06 +0.4732004532498454 0.0009767299868219384 4.560220727189972 +141.0032517869996 198.6227331147623 95.44242731540014 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body387 2.96336237e-07 0.00029749720154096163 +7.07980829e-06 +0.21913386219667502 3.8428933346828534e-05 0.4566407574340587 +163.58034265489712 30.086812659347586 336.68557772655623 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body388 2.96336237e-07 0.00037333395328135164 +7.07980829e-06 +0.2749945567485662 0.000790150080386718 1.8156192287506017 +43.99805042163406 347.86839033496585 214.04308309953382 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body389 2.96336237e-07 0.004147011336074886 +7.07980829e-06 +3.054652635185745 0.0014026881427117554 10.790384698103471 +279.67254068824695 225.0250301683067 97.97655801733977 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body390 2.96336237e-07 0.00033661360847250473 +7.07980829e-06 +0.24794666877692653 0.0007621219491829389 9.595112059936255 +106.89981329122423 248.35330221528335 176.9399293058729 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body391 2.96336237e-07 0.0005946763114846585 +7.07980829e-06 +0.4380334208776199 0.000334786490861461 7.27688899569563 +346.55013797445457 314.40373096079713 182.33788039799467 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body392 2.96336237e-07 0.0021357003856353578 +7.07980829e-06 +1.573138407941514 0.0002122062437119598 5.7992283642476155 +199.8708344637552 185.03678107510362 197.54499438742337 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body393 2.96336237e-07 0.0008881507473098536 +7.07980829e-06 +0.6542041486870058 0.001082481934100155 2.7982249640470442 +119.9027947481912 170.5019847492018 291.70022422658934 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body394 2.96336237e-07 0.0007244470355779672 +7.07980829e-06 +0.5336214123724252 9.630470210241686e-05 5.950031157607894 +126.92938559220951 32.644368454661134 350.5658369759275 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body395 2.96336237e-07 0.0006653067544630493 +7.07980829e-06 +0.4900591934843774 0.0019737014910964673 0.8943016802588735 +272.8273238811659 55.953417510337296 50.223313961578874 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body396 2.96336237e-07 0.0007161433044466716 +7.07980829e-06 +0.5275049559351265 0.0005776380861563799 2.1625712495313376 +323.42339680121006 295.9412274627063 312.5321427083825 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body397 2.96336237e-07 0.00019237855607078444 +7.07980829e-06 +0.14170437831767688 0.001235027961422897 8.862824259166967 +187.64716698671413 265.10784930422506 313.1562873499811 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body398 2.96336237e-07 0.0002694653837463263 +7.07980829e-06 +0.19848586797718606 0.0001843567188453995 7.817351154193235 +10.9747308973224 84.04994685907948 167.64074726542177 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body399 2.96336237e-07 0.0005559092662315294 +7.07980829e-06 +0.40947795108406015 0.0015731368864208269 7.301942896898631 +233.93068498816038 96.85691573796926 228.57420704043378 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body400 2.96336237e-07 0.0005648674168838437 +7.07980829e-06 +0.4160764472729765 0.0008511691534231788 11.02211477235316 +288.5365659185221 243.18693500084063 147.5758032364719 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body401 2.96336237e-07 0.0003563429630533414 +7.07980829e-06 +0.2624791404961643 0.0006910428723700232 1.6815715845642314 +345.6424607017423 5.893839931298697 6.255682574253842 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body402 2.96336237e-07 0.00016104257317250704 +7.07980829e-06 +0.11862256469838804 0.0010496344692817025 4.916447327909487 +302.6523312870475 77.2459630669138 352.07919775440547 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body403 2.96336237e-07 0.0005296002136298966 +7.07980829e-06 +0.39009893078582225 0.00035129161820691924 6.677196188784857 +287.91001686761524 41.031404630978 88.87616473052356 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body404 2.96336237e-07 0.000680609470172004 +7.07980829e-06 +0.501331041347253 0.001425845881592816 3.2094418329058256 +221.46587179584483 243.95606935186083 110.57964936968159 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body405 2.96336237e-07 0.00036071081000078566 +7.07980829e-06 +0.26569645873014985 0.0005837248865675421 4.246745909239596 +68.65912803601522 184.39073957774 328.5406871742207 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body406 2.96336237e-07 0.0012218677490596584 +7.07980829e-06 +0.9000172020378971 0.001653325602643437 0.4316924490710903 +243.42814614167057 36.062607930561725 200.57349259723486 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body407 2.96336237e-07 0.00022469531896527966 +7.07980829e-06 +0.16550862598818775 0.0006231907034263553 10.828347490927952 +215.92068451736867 172.60595676103023 39.75954075681499 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body408 2.96336237e-07 0.00030192373602011584 +7.07980829e-06 +0.22239440915825795 0.000472568455432349 2.060980747075354 +229.523789056114 199.61364747622306 342.653951976515 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body409 2.96336237e-07 0.0007191942353202133 +7.07980829e-06 +0.5297522451941558 0.0019716610411549614 2.285858920711909 +84.27479164545005 103.59991024063056 23.961613159888778 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body410 2.96336237e-07 0.00025605536434479824 +7.07980829e-06 +0.18860816382276702 0.001783512692209141 9.452149479129856 +260.4969228407456 340.862082769848 299.53745307977607 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body411 2.96336237e-07 0.0014137481967857802 +7.07980829e-06 +1.0413546780627359 0.0006675714211968135 6.751304877817071 +197.4393793507263 34.63396263565147 17.886456900372362 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body412 2.96336237e-07 0.00018851276799694233 +7.07980829e-06 +0.13885687230193297 0.0005099067038711923 3.4579373385270666 +97.37519886197563 161.24570001991358 88.00320543674819 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body413 2.96336237e-07 0.00022744268097446977 +7.07980829e-06 +0.16753230905077734 0.001439434713915598 1.488957242480834 +330.64136140921306 54.28403635089244 292.3523663851032 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body414 2.96336237e-07 0.0006898514209958568 +7.07980829e-06 +0.5081385822846886 0.0010638026176632393 0.11968083851335284 +160.7138589091659 25.382795589912288 25.782727478421545 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body415 2.96336237e-07 0.0008266249233141564 +7.07980829e-06 +0.6088847595728408 0.00014688882663911135 8.1996019102165 +246.03901024919443 68.98131066613524 288.1999591902379 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body416 2.96336237e-07 0.0004534921194170814 +7.07980829e-06 +0.33403836771868944 0.0005142348550326742 7.8216933915030875 +248.20221654965226 331.99676605650495 244.64201903455245 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body417 2.96336237e-07 0.000424897105060519 +7.07980829e-06 +0.31297552778921833 0.00029497534822830286 0.15310919652858854 +140.46973581083438 24.65529286461425 351.40407552316753 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body418 2.96336237e-07 0.0009879275456483537 +7.07980829e-06 +0.7276988742315883 0.0011029900349679963 10.864568129667113 +208.5430096157955 9.10233088314665 317.21898012234874 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body419 2.96336237e-07 0.0015502587131062853 +7.07980829e-06 +1.1419071421424887 0.0006712296928285242 6.872092503437728 +23.789921841197497 176.23932642847208 203.11796148326633 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body420 2.96336237e-07 0.0001706954398692114 +7.07980829e-06 +0.1257327827090514 0.0006363407247909787 7.996370665082673 +242.54962943655892 119.0581532962803 244.4636246279242 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body421 2.96336237e-07 0.0008548996282611012 +7.07980829e-06 +0.6297116623652099 0.0018528503137257384 6.449151072040503 +247.14499536359432 194.51125232940055 120.02019995779871 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body422 2.96336237e-07 0.0020676193368498715 +7.07980829e-06 +1.5229904970183599 0.0018279824313815899 3.119809687865496 +319.56432456135326 256.80466553677377 302.7810027784062 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body423 2.96336237e-07 0.0014317805565749072 +7.07980829e-06 +1.0546371581151317 0.0005102985592123978 7.904804333209818 +231.8152004370599 136.71782915075784 317.74375180780237 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body424 2.96336237e-07 0.0002923636451554646 +7.07980829e-06 +0.21535252902200486 0.0012571792466268344 7.172400983983878 +255.00609299925236 150.88650593626468 54.83063423384363 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body425 2.96336237e-07 0.00020267791261800836 +7.07980829e-06 +0.1492907951533426 2.4169993512502616e-05 1.8789654006057819 +142.81133764592184 200.87399856342702 268.6282317022573 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body426 2.96336237e-07 0.00216686956495537 +7.07980829e-06 +1.596097355489646 0.0019817103498467135 7.425491559820209 +271.70257003964826 15.863017483508967 264.63792447579806 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body427 2.96336237e-07 0.0001553159107903783 +7.07980829e-06 +0.11440435478316135 0.0005117869222478517 8.667289313439003 +218.19361442257141 144.619241655023 119.95076677123069 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body428 2.96336237e-07 0.0006311383297158283 +7.07980829e-06 +0.46489102772936586 0.000277977539000612 4.101627214272958 +231.6073302900749 98.09235602296367 116.20533850272857 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body429 2.96336237e-07 0.00018352418073515838 +7.07980829e-06 +0.13518232212829265 0.0004995940876123834 10.532479056086265 +213.8058404309228 61.39961018062948 265.52368141249804 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body430 2.96336237e-07 0.00023931226875080732 +7.07980829e-06 +0.17627534461090566 0.0014351073175199352 10.094752215598206 +236.8492000043581 1.4027964177489896 321.9949830850897 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body431 2.96336237e-07 0.00029309420455664 +7.07980829e-06 +0.21589065274994054 0.0011799630485976175 0.6723681526471154 +296.59764239360464 359.5559702912326 114.540592515933 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body432 2.96336237e-07 0.004222680517088697 +7.07980829e-06 +3.1103898985916754 0.00042637688730952177 9.098589541222267 +0.4371423916632341 329.05080871562564 127.13138850101329 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body433 2.96336237e-07 0.000748582470725869 +7.07980829e-06 +0.5513993648787411 0.0008576894511570327 3.1242992472498163 +283.9222469806783 86.35211955431778 70.7562799265316 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body434 2.96336237e-07 0.0007306232922059338 +7.07980829e-06 +0.5381707895154495 0.0009348514117079304 2.5557739076942165 +69.52099049625218 74.14516210351093 4.234771022669347 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body435 2.96336237e-07 0.00013897041687791617 +7.07980829e-06 +0.10236440552650627 0.00013146320707978484 0.7364793187850734 +357.6923007593962 90.33367235008731 318.70658846752104 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body436 2.96336237e-07 0.00029779475298576227 +7.07980829e-06 +0.21935303601398698 0.000555782890957427 11.18983876159149 +327.61355695929603 97.40480976734528 165.0138253761267 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body437 2.96336237e-07 0.0001708745799574377 +7.07980829e-06 +0.12586473574660587 0.0018987729174404723 6.736566670953775 +182.67517715189774 273.16145577873795 183.44656120677303 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body438 2.96336237e-07 0.000728623848165005 +7.07980829e-06 +0.5366980163509781 0.0006550250963848307 9.768788974647288 +67.0108552725336 257.03153378424787 13.000160888491234 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body439 2.96336237e-07 0.00013599191518003068 +7.07980829e-06 +0.10017046697099641 0.0003582430996764604 7.76057892051022 +20.841385258916905 113.02934367613256 180.8733491565871 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body440 2.96336237e-07 0.0018797971931425249 +7.07980829e-06 +1.3846423325870287 0.0019378229233473117 4.622098056806427 +109.98005607003847 225.20986743480188 142.48074218515666 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body441 2.96336237e-07 0.0001997542634290336 +7.07980829e-06 +0.1471372604808492 7.759826083314737e-05 3.1994038265505984 +18.00063527962045 150.13335509330886 284.73890718547926 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body442 2.96336237e-07 0.00024525408550693235 +7.07980829e-06 +0.18065203537468522 0.0013635787575385526 5.055965540023692 +187.18991520484477 189.55324411240977 238.44197104059097 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body443 2.96336237e-07 0.0002719572676112937 +7.07980829e-06 +0.20032136805129583 0.0012308591993952483 7.0044899345984275 +269.552911515444 223.2589430936312 255.77773483876354 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body444 2.96336237e-07 0.0024012337876925392 +7.07980829e-06 +1.7687280122591906 0.0014246905125783382 3.1894616327597674 +263.45723692347207 348.5056611813291 229.81072090051504 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body445 2.96336237e-07 0.0012814807946355462 +7.07980829e-06 +0.9439276551335444 0.0008456351484432009 8.506847778604175 +16.976934831274097 204.11939881755924 21.926603695751165 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body446 2.96336237e-07 0.0002214572277532168 +7.07980829e-06 +0.16312347604469576 0.0006328788606050711 4.341669245285442 +217.21176443296935 47.570634047337755 255.51497981231765 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body447 2.96336237e-07 0.000371320605655443 +7.07980829e-06 +0.27351154232381 0.0012718461900307523 3.6005688541966956 +160.45882348034823 229.3479177073646 325.89926615619186 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body448 2.96336237e-07 0.00018813481449221457 +7.07980829e-06 +0.13857847502359635 0.0004967774773828962 9.454215364643224 +236.19374241613463 15.838117427972968 32.50108674998017 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body449 2.96336237e-07 0.0002829712914052262 +7.07980829e-06 +0.2084342025915501 0.0006005957457232561 1.584780194658919 +102.56822379223705 346.4911804247638 40.57008757741396 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body450 2.96336237e-07 0.00019747957360339362 +7.07980829e-06 +0.1454617436551108 0.0005977045502023303 11.353602159881305 +200.3192108307083 271.1674421737156 31.081475067751285 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body451 2.96336237e-07 0.001245613757542642 +7.07980829e-06 +0.9175083062354428 1.590462859464138e-05 3.357327507443001 +79.60987598923194 30.837831867702302 298.7278990002848 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body452 2.96336237e-07 0.0002486996704319826 +7.07980829e-06 +0.18319002339017568 0.0009885566764127646 9.782621242440886 +108.07786801396067 273.9970912250933 310.35367852760163 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body453 2.96336237e-07 0.00016692767554210932 +7.07980829e-06 +0.12295748013622683 0.0010979062296577725 10.024347500550677 +106.88907055247773 198.1327684359928 340.050135138907 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body454 2.96336237e-07 0.0005445630251279117 +7.07980829e-06 +0.40112040815064176 0.0012765243645821193 0.36158828981659213 +300.78312579930036 122.72230217785753 79.57847915252297 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body455 2.96336237e-07 0.0006418298530095252 +7.07980829e-06 +0.47276631119414475 0.0018754191712590468 9.618142402240167 +210.01360274606708 52.81319523404354 295.506781436836 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body456 2.96336237e-07 0.0003305503945146837 +7.07980829e-06 +0.24348055788573156 0.0009724490518056483 9.764140650772767 +285.1217564231297 241.4693010940454 153.8706167630325 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body457 2.96336237e-07 0.0008872014207357944 +7.07980829e-06 +0.6535048829541451 0.0012768686940541607 3.1122731807633186 +191.39791508615775 317.147311001137 65.98215050080154 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body458 2.96336237e-07 0.0007939614798380874 +7.07980829e-06 +0.5848251499883511 0.00040825964837822265 1.8844887309819964 +318.2015406963481 193.18114828574815 104.40965648293675 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body459 2.96336237e-07 0.0002696263073715259 +7.07980829e-06 +0.1986044029258377 0.001056477230864351 5.155184286743782 +225.03923040849543 131.52836819098496 255.26276672816687 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body460 2.96336237e-07 0.0006881217741479458 +7.07980829e-06 +0.5068645393960302 0.0003326335736345842 5.266871447065479 +228.66670984475485 245.29263210567836 343.40974951486265 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body461 2.96336237e-07 0.00036350958220436396 +7.07980829e-06 +0.2677580100966906 0.0011350441528606126 6.177365782766478 +118.87478336871442 355.77015297228894 95.63595646327923 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body462 2.96336237e-07 0.0004486060856822659 +7.07980829e-06 +0.3304393575848548 0.0014687785019336904 5.241448084521409 +96.18365857942207 183.77862980776774 228.65495228458707 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body463 2.96336237e-07 0.0004604269617478805 +7.07980829e-06 +0.33914651252072975 0.0004055292170800828 4.895873668563538 +59.02464154565896 62.12229762294026 55.07526689128356 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body464 2.96336237e-07 0.0005143025297492694 +7.07980829e-06 +0.3788307893241148 0.0005293066055721069 4.462141950647905 +320.6002755530967 306.8596225069373 320.9666429183768 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body465 2.96336237e-07 0.0006667305570919559 +7.07980829e-06 +0.49110795417006453 0.0007770182250284304 0.690544254500474 +289.6118630282647 147.3904940483378 243.83250464820526 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body466 2.96336237e-07 0.0005863629315512525 +7.07980829e-06 +0.43190985721624947 0.0007198902586070987 4.0182624493743635 +288.28733727149256 324.69481343360036 189.6182444711077 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body467 2.96336237e-07 0.000294672324076889 +7.07980829e-06 +0.21705308192133735 0.00044576452998949914 8.921250090759099 +238.22729318130882 296.190068054446 195.9121254193718 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body468 2.96336237e-07 0.0028087096654579474 +7.07980829e-06 +2.0688712148984254 0.0002984810832466857 10.575534104328895 +152.56442877635615 170.47613853133058 274.7547200671628 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body469 2.96336237e-07 0.0003450690782735793 +7.07980829e-06 +0.2541748946042599 0.0008041489377130242 8.309065348651579 +261.2187986265465 53.27309426724574 261.1432403005431 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body470 2.96336237e-07 0.00046973846516796657 +7.07980829e-06 +0.3460052852981942 0.0018686403872765615 3.0895039953712953 +75.98671392677977 38.52726973601133 140.56799733511798 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body471 2.96336237e-07 0.00041866256056546783 +7.07980829e-06 +0.30838321630809845 0.0007211803251128147 10.87151624456058 +51.710646603351435 342.61557663182634 39.59410990999061 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body472 2.96336237e-07 0.0003214617114907036 +7.07980829e-06 +0.23678591268231478 0.00043228108644888024 8.092409625280016 +162.74609562124746 81.11807186647502 138.9873457289479 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body473 2.96336237e-07 0.003263293606577269 +7.07980829e-06 +2.4037138090273222 0.001132185797944382 7.94561700619783 +44.938610848203766 268.82872855970845 36.99135992364371 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body474 2.96336237e-07 0.0008214380972595391 +7.07980829e-06 +0.6050641884212358 0.0017016394827102327 9.659688816023383 +109.74887856274627 109.62683981188026 47.758744134896425 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body475 2.96336237e-07 0.0008837582199748425 +7.07980829e-06 +0.6509686510932816 0.0012461324332944481 4.499649557650997 +10.572812949107973 47.77269188323101 215.6753167223474 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body476 2.96336237e-07 0.001098223293562403 +7.07980829e-06 +0.8089417669347273 0.0008312252935948881 3.3621695139802132 +210.05120303274737 154.63817919238844 104.28857510691935 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body477 2.96336237e-07 0.0013733620550810425 +7.07980829e-06 +1.0116065958450184 0.0017738610178885557 10.197193583320637 +193.21906157260963 160.6826353045648 197.35313110103235 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body478 2.96336237e-07 0.0010710598818969162 +7.07980829e-06 +0.788933433149185 0.0011447284160657012 6.439774290412318 +130.66057255969486 89.60632128531438 276.6850184610414 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body479 2.96336237e-07 0.00013804426495303047 +7.07980829e-06 +0.10168221003952403 0.00020449864584018424 6.3886896970000135 +294.43963116142464 80.85135126684784 59.551631887885094 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body480 2.96336237e-07 0.000510984594283785 +7.07980829e-06 +0.37638682679503926 0.0009538703934352033 7.8137851712048985 +270.8856913657831 54.866604813306864 203.72806433585802 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body481 2.96336237e-07 0.0003052773574941031 +7.07980829e-06 +0.22486465769213987 0.00010499401161215899 9.80847519219533 +204.58216972265092 63.46577648609118 52.22718811087346 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body482 2.96336237e-07 0.0007595910572551223 +7.07980829e-06 +0.5595081943769218 1.603969670767141e-05 3.5748016430332377 +252.14559085297245 258.52147517626855 89.88327467849027 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body483 2.96336237e-07 0.0005026243751300119 +7.07980829e-06 +0.3702287617695952 0.0017002155023706134 3.2650363437768473 +4.579531934785606 181.49448196402307 253.24637502081566 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body484 2.96336237e-07 0.0014946853378614818 +7.07980829e-06 +1.100972275227372 0.0011016475133641122 1.1713720975409359 +50.43747985108622 106.6248278266832 32.13983751921431 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body485 2.96336237e-07 0.0001840981898284837 +7.07980829e-06 +0.1356051322552614 0.0006111558538924435 10.4892853776386 +222.02834859636715 325.69799642747853 140.07145275861674 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body486 2.96336237e-07 0.00015386479581017197 +7.07980829e-06 +0.11333547605604403 0.000622891064807166 8.184129534679386 +37.28466927526265 329.2628905575532 294.6220703951143 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body487 2.96336237e-07 0.0003082091957628682 +7.07980829e-06 +0.22702422436988573 0.001991696543638015 3.5267414013239837 +338.50159401266495 180.01552983278972 322.20628816659337 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body488 2.96336237e-07 0.00014583060375858106 +7.07980829e-06 +0.10741755977052718 0.0002905638340767039 11.302540381129162 +241.2135864811138 151.6941052951146 298.57489059943174 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body489 2.96336237e-07 0.0005605944288335752 +7.07980829e-06 +0.41292900128113025 7.941636802451363e-05 7.359319334258025 +297.84171946708426 94.33235973893102 344.4529489692567 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body490 2.96336237e-07 0.00021857685064681165 +7.07980829e-06 +0.16100181521346763 0.0012407299957247105 0.6038825024030959 +239.7275077723229 236.00381573862157 256.95939485907843 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body491 2.96336237e-07 0.00019674218925549213 +7.07980829e-06 +0.14491859273052377 0.0013058487505551934 3.821881106309761 +216.39978867899538 258.25042579710794 351.02242222027417 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body492 2.96336237e-07 0.0002159160466132611 +7.07980829e-06 +0.15904189000610347 0.0014522873185646632 4.0846204015874 +134.00372653420538 92.03836218081587 302.6381080058215 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body493 2.96336237e-07 0.0016256926204691628 +7.07980829e-06 +1.197471105014716 0.0004360059768893441 0.4814083894751589 +349.1904845488782 337.1306233013751 217.9405054238214 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body494 2.96336237e-07 0.00014250608506025607 +7.07980829e-06 +0.10496874808915509 0.0002830915520879843 2.6416972133031833 +29.164561498142817 179.8847025710235 47.37482513737826 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body495 2.96336237e-07 0.005380221359981844 +7.07980829e-06 +3.9630244586470065 0.001250718071607223 7.831364396971 +299.152626258313 80.18063960689692 220.34424722803575 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body496 2.96336237e-07 0.0010596897261804911 +7.07980829e-06 +0.7805582749190838 0.0013975054818890363 4.884298008228713 +324.268561752692 180.9283217090302 120.10113424767462 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body497 2.96336237e-07 0.003975669049986422 +7.07980829e-06 +2.928443391153569 0.00019889105320171344 6.917866506846601 +53.38988957506836 56.96803300644175 52.93302086318209 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body498 2.96336237e-07 0.00016401256780677155 +7.07980829e-06 +0.12081023702450965 0.0013348618001110496 8.191123147193156 +281.7322152624938 230.89269153751596 24.132095903135788 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body499 2.96336237e-07 0.00023516729516164113 +7.07980829e-06 +0.17322219296244507 0.0011407861152418625 1.7214983246331481 +310.9919211691427 240.0381065105395 73.29352599760033 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body500 2.96336237e-07 0.002372935488260879 +7.07980829e-06 +1.7478837299737187 0.0002530022664911261 0.7808132069679781 +132.332998689434 23.225140699784063 169.22321380849056 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body501 2.96336237e-07 0.0008364206062998774 +7.07980829e-06 +0.6161001748251411 0.0003301383670470987 5.459400528391105 +46.31716383973629 305.7668990894059 76.65337789038414 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body502 2.96336237e-07 0.0004237487750512881 +7.07980829e-06 +0.31212967784946866 0.0007325283957620936 5.65261886087358 +341.3807343417507 44.436293900198685 196.82498772211372 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body503 2.96336237e-07 0.0002809942841018974 +7.07980829e-06 +0.20697795613368275 0.0003389102918443133 10.801909255067267 +210.45066679552102 128.9542129407433 89.9655687791985 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body504 2.96336237e-07 0.00021032636207145845 +7.07980829e-06 +0.1549245767817718 0.00019034547652992633 9.896740981102905 +106.97073529266052 173.00512256005695 141.4982023951114 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body505 2.96336237e-07 0.0001405877294726506 +7.07980829e-06 +0.10355570397713952 5.588787033835933e-05 0.025148184590135212 +339.6974022171061 134.4855494358087 106.9595251566057 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body506 2.96336237e-07 0.0002616476332737474 +7.07980829e-06 +0.19272738068428888 0.0011840292720909423 2.1374607043381766 +276.3040437338511 74.32516348293399 173.22195104801668 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body507 2.96336237e-07 0.0001830276335913892 +7.07980829e-06 +0.13481656980251192 7.772338761572637e-05 2.1436693812878 +239.43227036224593 323.59484907154894 257.15734762862957 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body508 2.96336237e-07 0.0020038800548480675 +7.07980829e-06 +1.4760406939064297 0.0011508169614244208 8.250037489904742 +36.89799320893618 35.08064963050396 58.92373260868641 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body509 2.96336237e-07 0.00021041196540253537 +7.07980829e-06 +0.15498763145408004 0.00032656122692631444 3.063724364482827 +329.95091023219123 101.64460523053472 160.78145664072994 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body510 2.96336237e-07 0.00034420033681411346 +7.07980829e-06 +0.2535349871689057 0.00033342152374707547 1.1857613413900874 +324.36341312691667 144.5633870194615 49.563557204289175 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body511 2.96336237e-07 0.0015832822576863253 +7.07980829e-06 +1.1662319990815273 0.0019487406036725137 3.0607160983513313 +11.225699088239294 351.3300983911463 32.506879328548955 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body512 2.96336237e-07 0.0001880645524644118 +7.07980829e-06 +0.13852672062241733 0.001227333136741469 5.359209920502055 +342.184172049542 104.16755202122069 158.05339443952155 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body513 2.96336237e-07 0.0001695592618230741 +7.07980829e-06 +0.12489588380007507 0.00020491376609093243 9.967337840176775 +222.72561471076645 200.2889141067975 329.78545124155136 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body514 2.96336237e-07 0.00018691819550851435 +7.07980829e-06 +0.13768232401666558 0.001555586199538783 10.031201567524477 +233.12258895874854 238.5593259895004 45.262601699849064 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body515 2.96336237e-07 0.0002372145015271881 +7.07980829e-06 +0.17473014744158713 0.0011718121703042283 11.298391017700013 +273.7254978829876 169.35877595958758 172.46893054714874 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body516 2.96336237e-07 0.000487556463853684 +7.07980829e-06 +0.35912986881828135 0.0010875086244021 2.6390881856199 +327.05906565898886 41.46149650372694 161.77042037952188 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body517 2.96336237e-07 0.00037749753986737175 +7.07980829e-06 +0.27806141856931255 0.00017474096544441254 10.193602074021994 +96.01356506043527 32.73445552687746 171.11188339049957 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body518 2.96336237e-07 0.0007259623387149332 +7.07980829e-06 +0.5347375715399136 0.0006307112549701429 6.423123416772914 +132.89631888091645 152.6344585362946 31.11756389346557 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body519 2.96336237e-07 0.0013262157694597188 +7.07980829e-06 +0.9768790501642038 0.0016801546962580637 3.6624407128558283 +344.8432510603976 225.88265169610546 61.03331943826858 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body520 2.96336237e-07 0.00013948893650871826 +7.07980829e-06 +0.10274634259594391 0.0005862369214162208 7.71693453685987 +295.65211563192264 87.19006628973742 2.9786213795126453 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body521 2.96336237e-07 0.00015929457772364975 +7.07980829e-06 +0.11733500638917965 0.00046241603580283465 11.030928489656732 +169.65241881138567 293.1253864516373 214.18603709260668 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body522 2.96336237e-07 0.00019824865788944 +7.07980829e-06 +0.14602824447959978 0.0002413067174747541 4.229625827383947 +116.24908588305853 10.857662875818633 206.68925611407855 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body523 2.96336237e-07 0.00021207331037066918 +7.07980829e-06 +0.1562113637696193 0.0016684263660526643 6.046041305164429 +345.6484692547302 292.66639197693917 146.17732450811894 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body524 2.96336237e-07 0.0005136104792758559 +7.07980829e-06 +0.37832103093886404 0.001074156993879785 2.1395424495167066 +281.75088372571247 303.56480204625746 296.22629924132457 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body525 2.96336237e-07 0.004109072545859522 +7.07980829e-06 +3.0267072508799453 0.00127398446590752 2.1560406699554804 +346.66700089774304 155.95497531651893 1.6343077005043352 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body526 2.96336237e-07 0.00014930581917609634 +7.07980829e-06 +0.10997737335015408 0.0012084257180196292 1.3951600642609057 +16.76773394168345 8.795909418806362 9.929660069933089 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body527 2.96336237e-07 0.0002868838371068101 +7.07980829e-06 +0.2113161498709467 0.0007791354218313612 3.234346128256671 +76.11991217262185 136.83240360065855 173.1533929976486 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body528 2.96336237e-07 0.0001555609431935719 +7.07980829e-06 +0.11458484352926389 0.0010363406659536396 10.541470655799642 +325.59035485038135 265.93712788220773 313.42035876985943 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body529 2.96336237e-07 0.00021564072526620022 +7.07980829e-06 +0.15883909068626403 0.0008601114966143062 1.9731166269703835 +219.97708142667824 234.306907552938 287.0479249364048 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body530 2.96336237e-07 0.00021063118430903212 +7.07980829e-06 +0.1551491062020721 0.0012742398782430151 2.110216655102381 +322.4131256335296 156.66338000836896 213.30875362979424 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body531 2.96336237e-07 0.0003195852526861271 +7.07980829e-06 +0.23540372937783355 0.0014827207961310713 11.034200232871168 +20.075050100885207 297.061404860893 134.27646383235646 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body532 2.96336237e-07 0.00038029698725507155 +7.07980829e-06 +0.2801234672706298 0.0009391237366618727 0.961050066133553 +130.06618341196372 65.34014485280774 265.5894113155054 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body533 2.96336237e-07 0.0008086245014997202 +7.07980829e-06 +0.5956258047560051 0.0017346144564827134 3.419230682901365 +224.4906528425378 41.564974205435675 171.21663430141882 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body534 2.96336237e-07 0.0009378327930594523 +7.07980829e-06 +0.6907995133174945 0.001605499749195453 9.284357963360389 +18.93455793138919 339.4733996745166 319.8812805446561 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body535 2.96336237e-07 0.00023975902634056496 +7.07980829e-06 +0.17660442238240123 0.0015568675724954336 11.38693154194754 +44.37020689907796 295.86645019371497 177.82671930546547 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body536 2.96336237e-07 0.0003929351753048108 +7.07980829e-06 +0.28943264713572475 0.0005699233782748937 1.5567056350737614 +227.9860385142784 77.8850459256719 355.6214169541282 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body537 2.96336237e-07 0.0005262829725743801 +7.07980829e-06 +0.38765547975311526 0.0003177615026623367 8.827340263326045 +199.89821685270525 352.371252920494 13.099545361125765 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body538 2.96336237e-07 0.0014263756327302175 +7.07980829e-06 +1.0506559380201834 0.0011850450275658014 6.109575048260612 +137.21707874901938 317.54578704073776 298.4847960400838 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body539 2.96336237e-07 0.00040333645655972814 +7.07980829e-06 +0.29709414082836405 0.0012408573548279333 5.600605325783357 +152.95523816976183 264.91770769590966 7.071477493229634 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body540 2.96336237e-07 0.0015199855563997338 +7.07980829e-06 +1.1196081970914764 0.0013138724882288133 1.1787466854789124 +244.3058781253184 129.76972788859368 156.95401255974633 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body541 2.96336237e-07 0.00039472534353346346 +7.07980829e-06 +0.29075126954929537 0.00037545014934496027 5.765569150437208 +61.964196642898294 171.97954045248818 354.7328600184298 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body542 2.96336237e-07 0.0009011051757505035 +7.07980829e-06 +0.6637462684852627 0.0007574696521700472 11.096574280070378 +336.34868318728115 231.8204350102131 228.9728749303282 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body543 2.96336237e-07 0.0004267125719876535 +7.07980829e-06 +0.3143127850049926 0.0007238579750846895 0.5277440721609482 +80.37180018466877 103.55653927353048 114.87976373867865 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body544 2.96336237e-07 0.00020963363183072777 +7.07980829e-06 +0.1544143176858023 0.00010596757190516148 10.466373300966364 +146.7818903901798 36.69076173997252 34.93306695589757 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body545 2.96336237e-07 0.00029132633094057064 +7.07980829e-06 +0.21458845235491755 0.001312258673813912 5.263516568737595 +330.2344757051127 325.3527645378588 166.22816141416666 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body546 2.96336237e-07 0.0003716442765482616 +7.07980829e-06 +0.2737499555003259 0.0005701813356438088 9.435472283986273 +50.5993612097436 173.37357873802534 55.87387941263882 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body547 2.96336237e-07 0.00022121543151980844 +7.07980829e-06 +0.16294537103323034 0.0010450316087317016 10.629320699054388 +250.72526708627996 283.0549912557477 235.35874115592677 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body548 2.96336237e-07 0.0006338471318379385 +7.07980829e-06 +0.4668863079130782 9.80881213544338e-05 4.917842409782587 +183.5716451313882 137.80102400877854 122.07017831456447 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body549 2.96336237e-07 0.004398684433331888 +7.07980829e-06 +3.2400328590240277 0.000795174145733708 9.411673637407711 +166.69529349617045 322.2493980338734 332.78622466184925 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body550 2.96336237e-07 0.0002696915901036577 +7.07980829e-06 +0.19865248962094845 0.0006383917190026313 4.502193781959035 +102.46776932906943 299.3886454963272 107.42304201248047 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body551 2.96336237e-07 0.00018742789541377648 +7.07980829e-06 +0.13805776455265326 0.00022135125820552654 3.165822612591817 +231.2522567846904 284.00788607334607 18.568891102091413 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body552 2.96336237e-07 0.00018745115705878982 +7.07980829e-06 +0.13807489887891386 0.00038252357678747435 5.636462188612152 +21.26016001601263 38.97144934099217 238.96398622306455 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body553 2.96336237e-07 0.0007527174634770774 +7.07980829e-06 +0.5544451647284006 0.0015926903230669928 3.5709289457786735 +331.65272711665096 152.2997527431007 67.38730245989973 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body554 2.96336237e-07 0.0019986589647870623 +7.07980829e-06 +1.4721948841844608 0.00022013630176110412 1.2170747798596109 +184.3562047825064 1.3825637097073917 29.688792239766972 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body555 2.96336237e-07 0.00022858846842984274 +7.07980829e-06 +0.16837628616737488 0.0004563697736791034 1.037718489230666 +55.32749146467346 234.60174223122448 51.71202442623142 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body556 2.96336237e-07 0.002995858109066055 +7.07980829e-06 +2.2067231376712 0.00042132883736718585 7.18920001167939 +329.5453745377768 154.99871161132532 1.263889070543565 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body557 2.96336237e-07 0.0008811270370001727 +7.07980829e-06 +0.6490305445013574 0.0015222806424304506 2.569952590511676 +318.10486175424745 143.8423848274806 66.22399625468148 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body558 2.96336237e-07 0.00024402598794333842 +7.07980829e-06 +0.17974742934521437 0.0002150961941387449 4.943731950964769 +150.82092745036815 154.92037935629455 348.0792764816835 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body559 2.96336237e-07 0.0008097529907645238 +7.07980829e-06 +0.5964570401752393 0.0009056928941771672 11.063627159187728 +229.76649388304784 251.88631294206922 271.0341809092236 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body560 2.96336237e-07 0.00033530779260211027 +7.07980829e-06 +0.24698481611574155 0.0004575492589735706 5.29573681938387 +196.6887131179752 295.8424376270973 172.27820863278714 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body561 2.96336237e-07 0.0035073641574024108 +7.07980829e-06 +2.5834940630053387 0.0017461636990900654 7.244140409413152 +63.206300786279186 337.9878014590007 104.79139588265613 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body562 2.96336237e-07 0.0001813535469778788 +7.07980829e-06 +0.13358345210133657 0.0018257665528339558 0.06804701843758584 +77.29411815014136 289.8233053967625 44.70554421084728 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body563 2.96336237e-07 0.00370967526002868 +7.07980829e-06 +2.732514669095504 0.001995822512916354 6.48078290387372 +231.67326349644276 62.4395595885095 165.01621451958113 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body564 2.96336237e-07 0.00018554024250358602 +7.07980829e-06 +0.13666733576692272 0.0018703754785616086 7.597540731858161 +34.349929235997486 283.0074100974388 269.69008152808203 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body565 2.96336237e-07 0.0015961104296749599 +7.07980829e-06 +1.175681119470667 0.0012730084315147824 5.377171503588457 +303.22071615442695 207.38446726959208 323.23225029635455 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body566 2.96336237e-07 0.00038398491349272686 +7.07980829e-06 +0.2828399617982013 0.0008656344622862977 0.6978761551131981 +158.93800419606512 215.01005022703546 20.614101759917133 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body567 2.96336237e-07 0.0001411459851863336 +7.07980829e-06 +0.10396691030109508 0.00038399114582490725 6.250057689311349 +12.23793133378916 169.4460441634575 246.49382276408937 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body568 2.96336237e-07 0.00015192863370384972 +7.07980829e-06 +0.1119093158165541 3.5729588432924006e-05 7.225655657371077 +201.789567932713 174.36108665329155 129.48783093991912 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body569 2.96336237e-07 0.00031883766930319916 +7.07980829e-06 +0.23485306593237423 0.000518575631308253 3.0998582988447634 +66.08807509880653 4.722678788284973 249.7975273077748 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body570 2.96336237e-07 0.0027604374222985994 +7.07980829e-06 +2.0333142986463963 0.00043570189366228104 7.66004660343979 +74.86531219644911 109.11381471164702 63.388254479519375 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body571 2.96336237e-07 0.00015023702103083965 +7.07980829e-06 +0.11066328857173478 0.0002025540454515301 1.713521712310485 +171.11108479090643 205.51382169603775 290.0568023988995 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body572 2.96336237e-07 0.00014196229283846236 +7.07980829e-06 +0.10456819544806491 2.173921362080966e-05 3.073288627352398 +10.968423542573241 178.72148059876903 320.74860936554234 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body573 2.96336237e-07 0.00017644798154518564 +7.07980829e-06 +0.12997005508799847 0.000934704509277352 1.9203136651672266 +294.72119378122954 199.03601184031737 225.6308009153569 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body574 2.96336237e-07 0.00488950703768421 +7.07980829e-06 +3.6015685386473737 0.0011288535517277043 5.974265923620937 +306.34658415429885 203.69236750614562 44.76481984330883 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body575 2.96336237e-07 0.00031186948806703133 +7.07980829e-06 +0.2297203639813691 0.0012567479194631834 9.41483183716345 +18.332217446078737 331.41003064049977 348.4144705113405 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body576 2.96336237e-07 0.0001487618405166382 +7.07980829e-06 +0.10957668338069491 0.0017672399928124682 5.6249568984237825 +271.47221073307526 142.67097078512444 42.26206452246715 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body577 2.96336237e-07 0.0038743964810022463 +7.07980829e-06 +2.8538468939054225 0.0006506913213680251 0.591259736892407 +165.1635937171999 39.0089297437918 129.8573140431278 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body578 2.96336237e-07 0.0011639056319223877 +7.07980829e-06 +0.857322808532359 0.0003657736519404083 3.9944348302790336 +62.91043468737944 334.19923827705736 101.7599629885375 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body579 2.96336237e-07 0.0007557338782340886 +7.07980829e-06 +0.5566670297149183 0.0013819556062958454 8.912729073447055 +350.379562278306 170.03008599931147 117.8897306536765 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body580 2.96336237e-07 0.0007441033838763215 +7.07980829e-06 +0.5481001082962534 0.0017994302592596633 2.920918678345923 +289.36419883741945 37.746177522707 109.52089250377925 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body581 2.96336237e-07 0.0006404112844241382 +7.07980829e-06 +0.4717214058595851 3.268654708260321e-05 7.342893652930963 +6.708118526039286 300.81672964848804 163.5847131251365 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body582 2.96336237e-07 0.0004170343646860486 +7.07980829e-06 +0.30718390132422047 0.00129564052304586 6.772843533548752 +132.17508244267017 235.6246930233473 92.41348937785952 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body583 2.96336237e-07 0.0006142731857822208 +7.07980829e-06 +0.452468308767536 0.0012831395547548085 0.35693486697819715 +289.84203743155155 37.471355251152374 152.76210299600683 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body584 2.96336237e-07 0.0002186007074490638 +7.07980829e-06 +0.161019387927396 0.0005285228635833609 9.509448549686741 +10.441247455748337 258.7137472871262 13.98555666620972 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body585 2.96336237e-07 0.00015163266460483272 +7.07980829e-06 +0.11169130754144252 0.0017351807711539903 8.236934752674342 +338.9561331034808 315.03020962224696 281.5056436671877 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body586 2.96336237e-07 0.00013803807018296932 +7.07980829e-06 +0.10167764702554646 0.0010788844747734155 2.081152476831487 +231.1147779863094 173.32364579351096 16.576167527235604 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body587 2.96336237e-07 0.00014385587000249536 +7.07980829e-06 +0.10596298798786918 0.0015337344335405886 5.078489864022907 +163.60494002217212 45.97076191655148 197.42281730424295 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body588 2.96336237e-07 0.0010458551133801324 +7.07980829e-06 +0.7703678189442542 0.0009797708938080478 11.283297895529412 +346.10187303775945 197.66436899732548 139.39949915940022 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body589 2.96336237e-07 0.0006915718567643916 +7.07980829e-06 +0.5094058403720506 0.0005370947777134646 2.1924826909073003 +303.2572365218713 287.6168495565728 39.50899662075566 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body590 2.96336237e-07 0.00016045188829099034 +7.07980829e-06 +0.11818747133025725 0.0009670524569643206 4.577048973494536 +255.19398559665547 190.28022421180938 155.2474211536552 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body591 2.96336237e-07 0.001215267645449028 +7.07980829e-06 +0.8951556228781464 0.001826137463166628 6.073642475279137 +64.67987211426808 222.7717361365298 197.18867931288221 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body592 2.96336237e-07 0.00223801144996431 +7.07980829e-06 +1.6484998518667904 0.00016212374731820305 0.9945919558650346 +19.03525850339453 233.4268420634682 199.36203861767825 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body593 2.96336237e-07 0.00024854336865957183 +7.07980829e-06 +0.18307489285826092 0.0002707099289692515 9.00702823491124 +115.46501288290709 103.59743334648506 126.27403706772289 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body594 2.96336237e-07 0.001116235676776967 +7.07980829e-06 +0.8222095324153061 0.00016278175432533432 2.9858432167738442 +132.34492827913058 224.31294256691262 287.1697667291248 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body595 2.96336237e-07 0.00023863615306077128 +7.07980829e-06 +0.1757773236490884 0.0018576596050919468 9.920915714559277 +330.2455528634638 130.04346261213527 181.20020042815298 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body596 2.96336237e-07 0.0005973374935985437 +7.07980829e-06 +0.4399936245756842 0.001985323158316638 6.144072589369572 +246.27913594083248 38.497536024206944 267.37312751789614 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body597 2.96336237e-07 0.000267870431344185 +7.07980829e-06 +0.19731103985076764 0.0012661897820085283 1.3957219833476502 +133.0753112837152 149.68409171850544 13.1900051947497 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body598 2.96336237e-07 0.00018182297837722762 +7.07980829e-06 +0.1339292312046117 0.0001441448776271945 9.896120622591337 +340.6224666198475 68.34349319183616 253.90966951292768 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body599 2.96336237e-07 0.0006942814168186987 +7.07980829e-06 +0.5114016788420551 6.8049624083765325e-06 9.459636655573432 +154.44073711328545 304.1283217208743 271.0508981064775 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body600 2.96336237e-07 0.003251383035479193 +7.07980829e-06 +2.394940585507335 0.001630963008879431 7.576307456712098 +102.8245241661817 141.06190766153344 347.97067601007785 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body601 2.96336237e-07 0.0008037917662087488 +7.07980829e-06 +0.5920660537943178 0.0007213802108214524 2.389162061972422 +131.06788341462484 323.2321573259845 70.0121031471566 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body602 2.96336237e-07 0.00031217744297902224 +7.07980829e-06 +0.22994720090251478 0.00030871911273242983 0.3459312765581275 +202.62648951170405 203.82198400891744 203.87635197029647 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body603 2.96336237e-07 0.0019052077650725712 +7.07980829e-06 +1.4033595398038192 0.0010517567411638877 7.236562515014696 +42.94701433835536 253.2677416745719 214.6279211388312 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body604 2.96336237e-07 0.0005639353501258678 +7.07980829e-06 +0.415389894971165 0.001251950065233756 0.04115413323433487 +123.64172924201583 97.5090925740975 219.3676930750815 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body605 2.96336237e-07 0.0008162820050460149 +7.07980829e-06 +0.6012662555508111 0.0007676231845837971 4.744473889977715 +57.08898789584103 52.682171100489235 345.59820093224397 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body606 2.96336237e-07 0.003258024201738965 +7.07980829e-06 +2.3998324110588225 0.0001344199983331823 7.195320590308699 +149.8789211769831 232.34004143297224 20.78144650478375 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body607 2.96336237e-07 0.000818478166276205 +7.07980829e-06 +0.6028839288932338 7.619711362721837e-05 1.582109832541075 +66.40045877569965 266.40990238571675 151.5736391228142 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body608 2.96336237e-07 0.00026181785846330946 +7.07980829e-06 +0.19285276708469426 0.0016842003747065332 0.037999884642444644 +172.67468602923137 328.5727689535254 200.22342970631107 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body609 2.96336237e-07 0.0005906305617148067 +7.07980829e-06 +0.4350533566351437 0.0013220093252810908 4.485287553433146 +85.1645899361914 15.799195242711468 275.19440166281646 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body610 2.96336237e-07 0.00032702729366690516 +7.07980829e-06 +0.24088547231288193 7.239649384495158e-05 9.34505013261343 +301.3019304591288 335.6101116776717 235.56122618193643 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body611 2.96336237e-07 0.005068804676918208 +7.07980829e-06 +3.733637626909645 0.000296354861569827 5.064043667693064 +232.80870301152322 288.950474782517 198.78340556645938 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body612 2.96336237e-07 0.0004350708241459647 +7.07980829e-06 +0.3204694011586146 0.001607124776444409 1.0855739782503697 +31.890025121702593 247.87942399451754 178.5652208474234 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body613 2.96336237e-07 0.0001445964642723686 +7.07980829e-06 +0.10650850331318125 0.00012408216834281383 5.256181079391067 +53.409562736385524 8.005838299167175 31.765234187618567 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body614 2.96336237e-07 0.001037340939048294 +7.07980829e-06 +0.7640963518679676 0.00013706352333168513 8.464907155099446 +13.166394059277055 330.2140099724791 183.4900568440762 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body615 2.96336237e-07 0.0001853996130910315 +7.07980829e-06 +0.13656374935954846 0.0012220329386595716 3.5161206014426596 +277.68898473237715 164.25753427871146 175.4559030865875 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body616 2.96336237e-07 0.0030600086446074476 +7.07980829e-06 +2.2539758665787524 0.001938170619110775 10.991957090603162 +169.56250753355766 253.61474809359726 333.56278601175336 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body617 2.96336237e-07 0.0001933510892994848 +7.07980829e-06 +0.14242073787136622 5.59282843625155e-05 2.493053399120122 +278.1744327941427 63.62100350694788 315.8316048030788 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body618 2.96336237e-07 0.0001649118494017696 +7.07980829e-06 +0.12147264005920569 0.00015945612176493138 5.871601357082228 +346.9485775057369 207.28250697682012 95.52624383984607 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body619 2.96336237e-07 0.00027887053207297185 +7.07980829e-06 +0.20541361878181558 0.00093405207335318 8.810722728327729 +229.82532153182538 238.9585445114894 99.56029732602983 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body620 2.96336237e-07 0.00022959293197398893 +7.07980829e-06 +0.16911616531489085 0.00033642908510491933 0.7047005877969347 +52.63028151883537 46.299069317996285 148.8642116985476 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body621 2.96336237e-07 0.0006079587867474103 +7.07980829e-06 +0.44781717712400537 0.0013185468969901452 7.308664230013674 +112.46886738432933 46.86784968040457 285.07913941124656 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body622 2.96336237e-07 0.0026061845394853432 +7.07980829e-06 +1.9196929610648872 0.0012083646380991453 6.640368790446349 +33.235414808784235 244.45399861956838 50.2951600707005 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body623 2.96336237e-07 0.0003170110547748826 +7.07980829e-06 +0.23350759749011243 0.0015671626539036127 5.2729849043237245 +212.27489278714967 350.2070572217914 272.5174350775053 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body624 2.96336237e-07 0.001730607217961456 +7.07980829e-06 +1.2747502889203512 0.0011308593104387016 5.277543759453205 +121.65950877291856 122.31688340803859 240.58549078686895 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body625 2.96336237e-07 0.00045971176710267036 +7.07980829e-06 +0.3386197063389724 0.0019245478296946632 6.706216859920054 +120.32281524162406 290.819121967765 289.80547811454966 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body626 2.96336237e-07 0.0002908459664453671 +7.07980829e-06 +0.21423462002792132 0.001969455049293789 11.085891427221117 +132.95197570547631 28.5155536215231 27.955901095355458 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body627 2.96336237e-07 0.0005361763985903277 +7.07980829e-06 +0.39494289167498225 0.0006466901925786029 1.7275362827264746 +52.27335330682294 171.19288612108963 40.59209846221847 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body628 2.96336237e-07 0.00023450395183713944 +7.07980829e-06 +0.17273358001446604 0.0012843551732391793 0.240042602593119 +204.30976402358672 291.4345369683879 127.56746664520237 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body629 2.96336237e-07 0.00016800600223417086 +7.07980829e-06 +0.12375176623880946 0.0009103926418732471 7.69965215426651 +72.52068660068198 60.65498279678075 309.48605631919054 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body630 2.96336237e-07 0.0007723627532455746 +7.07980829e-06 +0.5689157150349078 0.0019387307530750579 7.7625148511423765 +15.896642110598476 241.9063891364222 175.27318973415365 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body631 2.96336237e-07 0.002486831247250957 +7.07980829e-06 +1.8317783596577595 0.0016743653466072485 0.7366777508667895 +3.356802695185532 59.64222825547303 84.47374524883585 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body632 2.96336237e-07 0.0009871990228380316 +7.07980829e-06 +0.7271622506388373 0.0004894926225488888 0.8463098189096294 +190.14793558849976 239.45267806069756 339.5271823753155 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body633 2.96336237e-07 0.0024870247797498914 +7.07980829e-06 +1.8319209140203971 0.0018232071393422975 4.649935149793254 +24.48792011915197 256.5074942589969 27.33961953231162 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body634 2.96336237e-07 0.001226253834333867 +7.07980829e-06 +0.9032479544654253 0.00035321447020389055 7.67738566283 +321.6636415432153 24.46232049015446 174.35299257792914 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body635 2.96336237e-07 0.0001952149125384996 +7.07980829e-06 +0.14379361392768433 0.0014748479195456098 5.716360603748947 +186.838721744644 96.22300231415029 253.21447381830825 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body636 2.96336237e-07 0.0001421534976608017 +7.07980829e-06 +0.10470903526428106 0.0004282321287474031 1.8946056877858317 +125.71925949311029 37.17364830551126 314.9302159306426 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body637 2.96336237e-07 0.00013684327484605717 +7.07980829e-06 +0.10079757112783726 0.0011260152644128496 4.954417366881907 +197.40749831124947 246.4163541945344 127.46513997641759 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body638 2.96336237e-07 0.0032242109199887713 +7.07980829e-06 +2.3749258405597247 0.0013893562078547517 8.490722761944754 +174.42451874149117 109.56331625471293 139.64190938036091 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body639 2.96336237e-07 0.000255630348446776 +7.07980829e-06 +0.188295100793111 0.0004968066058958826 8.200683059805339 +26.93767816334544 184.29122347481268 83.5885263298429 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body640 2.96336237e-07 0.003560890948578924 +7.07980829e-06 +2.622921433820083 0.0003197885895524075 8.459530567219446 +311.9819100543256 211.94534747535357 181.0177979938429 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body641 2.96336237e-07 0.0026795472569350305 +7.07980829e-06 +1.9737313033844868 0.0004561766998506409 4.075608711482687 +202.22665550882067 124.25186617516704 281.22245218250043 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body642 2.96336237e-07 0.0004998714824267933 +7.07980829e-06 +0.3682010048456824 0.0008391449584152692 4.540101495200403 +197.81257584084372 128.159905230966 163.6508318701311 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body643 2.96336237e-07 0.0002474592404428257 +7.07980829e-06 +0.1822763334028394 0.0003184451665412306 0.04858474776077769 +155.96555493402232 337.1480022566122 169.02144916062696 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body644 2.96336237e-07 0.0009028080095618069 +7.07980829e-06 +0.6650005611233689 0.00192871250885523 2.033364793084355 +35.754249594685135 237.97464340203368 331.7190243653989 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body645 2.96336237e-07 0.00018159315424751834 +7.07980829e-06 +0.13375994474104727 9.811202791236438e-05 2.2579088584966875 +164.16846395501065 169.46331898131555 187.08397642347268 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body646 2.96336237e-07 0.0001969438005298225 +7.07980829e-06 +0.145067097849152 7.98948634108138e-05 5.056301536012419 +54.6012366078569 152.94987752228718 293.59100133569535 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body647 2.96336237e-07 0.00018253913903001993 +7.07980829e-06 +0.134456748939188 0.0007885297463161409 7.998766353585145 +329.66308300857037 142.40091293152295 195.08877923911388 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body648 2.96336237e-07 0.0010012008611789895 +7.07980829e-06 +0.7374758834986245 0.0008944335972933425 3.08910296816031 +308.0829434011404 88.44126340113061 61.511908742687396 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body649 2.96336237e-07 0.00017920413203351859 +7.07980829e-06 +0.13200021166821252 0.001973824026582865 2.9139223601352673 +337.9176766578831 339.15607143232756 291.8971934171335 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body650 2.96336237e-07 0.0005424370023288993 +7.07980829e-06 +0.3995543981691946 0.0004742912607023718 5.689270060432094 +271.4202719848906 1.5739119660578094 227.40922594438504 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body651 2.96336237e-07 0.0008854653444048179 +7.07980829e-06 +0.6522261041639429 0.0018448416347183673 4.451400094266383 +189.13747672082027 222.415694177009 8.122993879845518 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body652 2.96336237e-07 0.0008694532655168269 +7.07980829e-06 +0.6404317455267905 0.0004377978709931798 10.690648451723188 +258.4604132749266 240.45445892419482 299.1240070410905 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body653 2.96336237e-07 0.0005874066758094755 +7.07980829e-06 +0.43267867019756595 0.0006281792952345125 5.71369078021565 +54.584105248947814 341.5389079819305 339.8448963020495 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body654 2.96336237e-07 0.00015901474490431352 +7.07980829e-06 +0.11712888395793357 0.00033420516718611843 10.079639002914915 +12.72024175587819 54.80935584066693 290.1403830678467 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body655 2.96336237e-07 0.0008367144613707807 +7.07980829e-06 +0.6163166259254526 0.0006138384183936136 2.1220325309486077 +330.18413832377274 27.996198028777396 126.1181923299269 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body656 2.96336237e-07 0.000817617054822833 +7.07980829e-06 +0.6022496416542891 0.0007079234911322488 4.880614628768484 +112.2946253899763 291.1896120333841 335.56499821019673 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body657 2.96336237e-07 0.00030642858518189293 +7.07980829e-06 +0.22571264203682084 0.0001141107467010895 0.5281438837468506 +254.84352251320942 61.46898436421913 176.76216336533523 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body658 2.96336237e-07 0.0004456773618062657 +7.07980829e-06 +0.3282820849418475 0.0004042465307940946 3.7503005974513846 +238.77939024376533 296.06082811160405 91.75212879566924 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body659 2.96336237e-07 0.00024897193209457867 +7.07980829e-06 +0.18339056897293657 0.0014900248859833283 11.263834448814169 +347.22461050262575 279.3372667732881 191.89560719513707 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body660 2.96336237e-07 0.00022666457893856436 +7.07980829e-06 +0.16695916582983994 0.0004164000259568861 10.44010411581719 +74.47573238247747 317.3036574166131 128.27636752925542 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body661 2.96336237e-07 0.0005509794482643657 +7.07980829e-06 +0.4058466898638688 0.001868474142519383 4.290113023581601 +75.15165790995682 77.41956431569024 75.98320995463946 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body662 2.96336237e-07 0.0008553855328424462 +7.07980829e-06 +0.6300695754716784 0.0003500264064981754 0.8756494453825668 +227.34439867668328 195.10245611576033 306.76358495203453 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body663 2.96336237e-07 0.00021847646553867044 +7.07980829e-06 +0.1609278724121906 0.0015707531676115054 5.539447860380739 +316.2646884519082 19.14667473997313 195.6501405355072 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body664 2.96336237e-07 0.0046299207857439595 +7.07980829e-06 +3.410359553600857 0.001896588298002862 6.312335279795444 +332.4966817409635 83.61093784848859 129.63382325605707 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body665 2.96336237e-07 0.0006675378879534775 +7.07980829e-06 +0.4917026270908161 0.0018056644096763215 0.03984059849205596 +326.2892439770493 154.1995291255449 275.56243137649767 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body666 2.96336237e-07 0.00016422724719542423 +7.07980829e-06 +0.12096836800297199 0.0010632375940384557 1.898596693109538 +284.6339609263093 177.91170359269552 170.17335060450043 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body667 2.96336237e-07 0.00013928586120913445 +7.07980829e-06 +0.1025967590889931 0.0011505802075445371 8.0853667703526 +17.643915781547662 37.81574822381601 147.74946480962396 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body668 2.96336237e-07 0.00030551019102325244 +7.07980829e-06 +0.2250361608532691 0.0007463695616484125 2.9654372783413208 +346.499205866674 192.7895672860623 346.62919463902944 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body669 2.96336237e-07 0.00046071357116781613 +7.07980829e-06 +0.33935762653728896 0.0005718751041345676 10.28285976001631 +200.006881979692 41.74957018172289 77.92610778956914 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body670 2.96336237e-07 0.0004757090054981114 +7.07980829e-06 +0.3504031335978378 0.0016231463843525307 8.030331289553216 +15.924355318435744 268.6979116032126 60.52120112419434 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body671 2.96336237e-07 0.0006120138337095581 +7.07980829e-06 +0.4508040895978089 0.000265285576125677 6.8369691834517505 +316.3659801854172 71.741967981769 201.95398950257825 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body672 2.96336237e-07 0.0002678933984330214 +7.07980829e-06 +0.19732795720949928 0.0014827227710590524 9.026813439297806 +309.574481788882 64.29359356770362 315.62242388091744 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body673 2.96336237e-07 0.00018963216147158642 +7.07980829e-06 +0.13968140784090927 0.0002432662323447128 1.898068040476368 +32.77520487590174 187.89963303352357 123.05929733557318 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body674 2.96336237e-07 0.000434625653282486 +7.07980829e-06 +0.32014149215595433 0.00022612721316125548 10.683120155053267 +110.32662597708337 10.31254512885041 235.1266578745043 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body675 2.96336237e-07 0.0001472189376390587 +7.07980829e-06 +0.10844019448329664 0.0009411317524646069 6.1396351895991 +81.4179177567502 358.59783028280935 140.88338828782435 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body676 2.96336237e-07 0.000155275679541639 +7.07980829e-06 +0.11437472079376051 0.00014078280759094789 6.80643269318097 +100.47008138693961 234.06621211429206 30.227410402726072 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body677 2.96336237e-07 0.00015085363059412783 +7.07980829e-06 +0.11111747783593914 0.0019035866271859907 9.206963338815642 +143.93390754803625 255.0214135079393 164.96961100176586 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body678 2.96336237e-07 0.0006284217651180013 +7.07980829e-06 +0.4628900297732671 0.00047998741958668416 1.0303231727163369 +64.52588412504464 11.451639250708514 337.19518620904057 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body679 2.96336237e-07 0.0005667897074819582 +7.07980829e-06 +0.41749238987965404 0.0016594297588471735 8.093638105658696 +206.58695034847358 20.457138485484986 195.3333738138891 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body680 2.96336237e-07 0.0003023018289134171 +7.07980829e-06 +0.22267290910901064 0.0007335787751952187 10.488189469864082 +332.07166362509565 297.83121697771855 96.42669951726079 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body681 2.96336237e-07 0.0002666793468056547 +7.07980829e-06 +0.19643369729500934 0.0009795508494005235 2.132504721935984 +88.01559085201606 259.0222461437196 143.73866315216463 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body682 2.96336237e-07 0.00018903218193703922 +7.07980829e-06 +0.13923946811185206 6.602681404781175e-05 4.603002472462074 +288.85709177130957 136.40944246624719 329.89625217303643 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body683 2.96336237e-07 0.00032821229707185543 +7.07980829e-06 +0.2417583355583105 0.0015448242869727717 10.177886468554314 +197.6042898566892 248.32269227881912 224.3736884568563 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body684 2.96336237e-07 0.0001476157870951627 +7.07980829e-06 +0.10873251035576964 0.0005980920597091385 8.435273501160374 +342.7004387606334 332.6896722540702 309.5558133299631 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body685 2.96336237e-07 0.00023150245382020737 +7.07980829e-06 +0.17052270256950486 0.0013616593545773424 10.890136087894044 +304.6528113313791 61.04197597194677 92.14557773468027 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body686 2.96336237e-07 0.002179631735533323 +7.07980829e-06 +1.6054978598112797 0.0018262799514842743 4.4325784016024885 +3.7549247937623407 183.00283602981585 201.8865183895837 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body687 2.96336237e-07 0.0013158755088717858 +7.07980829e-06 +0.9692625037663991 0.0017704630109185754 8.578872157801683 +254.43921029038702 150.26756994645848 147.04436858266612 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body688 2.96336237e-07 0.0004939073938160034 +7.07980829e-06 +0.3638079088266409 3.476963813007497e-05 7.372412467124726 +174.2397072432993 36.804476049813175 252.09380653575596 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body689 2.96336237e-07 0.0009275705379094532 +7.07980829e-06 +0.6832404250497098 0.0012888767115054062 6.14322940730504 +289.9180198728175 52.50586858445317 313.02109249593957 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body690 2.96336237e-07 0.001703767654000007 +7.07980829e-06 +1.2549804985489377 0.0012611754043086853 6.907937339024762 +21.593275472050017 306.5247233767375 334.8416878198467 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body691 2.96336237e-07 0.00014982533379061578 +7.07980829e-06 +0.11036004331598093 0.0010076489714658532 5.873722340739745 +130.13028564258022 280.7695443082286 332.320263822961 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body692 2.96336237e-07 0.00019578934965292167 +7.07980829e-06 +0.14421673933128612 0.0015622315821619312 11.09482074137682 +159.1055068305897 332.4641004637756 66.24381345940542 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body693 2.96336237e-07 0.0005403743795116072 +7.07980829e-06 +0.3980350880652103 0.0011789556791269224 9.365646318173521 +179.08988980834505 182.25478313354176 230.60531044742112 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body694 2.96336237e-07 0.00013842399008811172 +7.07980829e-06 +0.10196191228543591 0.001511674657718188 6.479749813751055 +303.7457569578909 58.507652243295375 15.998340357817439 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body695 2.96336237e-07 0.000786370680814055 +7.07980829e-06 +0.5792338331669525 0.0015758918681709252 2.223362196868569 +345.57393152987873 54.32062551066704 256.30215707274664 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body696 2.96336237e-07 0.00023215604873114143 +7.07980829e-06 +0.17100413492047556 0.000896305323811314 1.477365418838949 +283.2291601972887 120.31150953749442 10.525291736890637 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body697 2.96336237e-07 0.0009573509260265156 +7.07980829e-06 +0.7051764010253001 0.0019473619911553302 5.46883494082748 +134.36185274508637 184.44009607520738 171.13748203011968 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body698 2.96336237e-07 0.000986443639892288 +7.07980829e-06 +0.7266058421029556 0.0017744648819095605 2.4134341797858845 +213.37357339309585 70.55466510705511 278.87927999605495 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body699 2.96336237e-07 0.0005347437515155118 +7.07980829e-06 +0.3938876162470352 4.179300896003979e-05 8.223098115975583 +85.94541014994134 271.8418525346638 50.56502453799913 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body700 2.96336237e-07 0.0011825627283298537 +7.07980829e-06 +0.8710654641673258 0.0005109129898239557 7.391471968575326 +27.768736733955453 87.73669240747158 148.38631012868396 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body701 2.96336237e-07 0.0008642834152835138 +7.07980829e-06 +0.63662367861814 0.0015328328582410093 10.518483860791719 +1.324842387549117 251.57031937929105 356.72404795950865 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body702 2.96336237e-07 0.00017933377161084873 +7.07980829e-06 +0.13209570305813736 0.001322871106967368 1.783841837906193 +146.87654874467452 95.91665072944734 45.62504352116719 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body703 2.96336237e-07 0.00014018472613653047 +7.07980829e-06 +0.10325885520994202 0.0017386158889329596 2.9940039457503267 +311.39999279407516 208.4438630978695 314.67438404243035 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body704 2.96336237e-07 0.00015540204600507363 +7.07980829e-06 +0.11446780123633656 0.0006725612422352022 4.917737372954217 +283.5772959714623 71.2268392860552 20.739701307542546 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body705 2.96336237e-07 0.0010803722366743227 +7.07980829e-06 +0.7957928330290784 0.001841262773469651 5.178751748100323 +325.4814860257893 191.2892219329175 245.12287325303154 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body706 2.96336237e-07 0.0003336506402990743 +7.07980829e-06 +0.245764172081003 0.0008654037237796469 9.939631759610565 +230.74275967542837 22.980689444767926 193.7582323009708 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body707 2.96336237e-07 0.0001898928096710243 +7.07980829e-06 +0.1398733990472856 9.676663150501012e-05 8.314426882477536 +147.19261490448886 240.45701745184593 27.02600158549476 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body708 2.96336237e-07 0.0006354028822312142 +7.07980829e-06 +0.46803226017927313 0.0005896313259031769 1.5927514004708827 +145.89505669147474 320.41144833715174 224.47590179873464 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body709 2.96336237e-07 0.00034681023979569645 +7.07980829e-06 +0.25545741910221637 0.0007136334057754165 4.50399133200968 +172.94403815595263 133.4379306179208 151.9923540365337 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body710 2.96336237e-07 0.0004473427981548912 +7.07980829e-06 +0.3295088309328238 0.00013825366577298724 0.6640671450405241 +113.36805573037367 195.17836298394744 272.68190859714724 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body711 2.96336237e-07 0.0004337909237351195 +7.07980829e-06 +0.3195266376004942 0.0005762012937554643 6.664872975247961 +125.97058901306497 139.46256025551878 194.88332638602157 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body712 2.96336237e-07 0.00022887849633253414 +7.07980829e-06 +0.16858991820872643 0.0009324015520148652 3.87237174229875 +210.3622711985168 217.76685945633358 226.25184493096793 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body713 2.96336237e-07 0.0001370280669148757 +7.07980829e-06 +0.10093368736534727 0.0009578400499910475 7.837345853171855 +211.1012710762346 352.555679574253 98.72806588507845 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body714 2.96336237e-07 0.0003802455491822092 +7.07980829e-06 +0.280085578431636 0.0012200235046621196 8.03839773670988 +118.75583481423674 351.88628181557317 159.5308600334554 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body715 2.96336237e-07 0.0012710618691298007 +7.07980829e-06 +0.9362531648385521 0.001960157851242125 10.763840351695578 +43.05187730426613 115.02995672645146 27.80931454782792 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body716 2.96336237e-07 0.00015113095705303057 +7.07980829e-06 +0.11132175410379613 0.00198126814743763 6.286001060098768 +87.14091069310513 338.04209973091486 55.507811122078934 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body717 2.96336237e-07 0.00050657397189937 +7.07980829e-06 +0.3731380005446354 0.0016662782222925448 3.2831614880553754 +78.53670413788092 281.76281833275186 241.33812351763282 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body718 2.96336237e-07 0.00033871726387646765 +7.07980829e-06 +0.24949620312889192 0.000652351960471266 9.107336295930738 +293.4968146155879 130.3880884808986 356.21004108918163 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body719 2.96336237e-07 0.0008529081508180829 +7.07980829e-06 +0.6282447573277652 0.0001692190026859606 0.4135194149743559 +183.7778900459685 3.1747878073784532 37.93304287401226 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body720 2.96336237e-07 0.0014504542485699796 +7.07980829e-06 +1.0683920379162042 0.0014337151872125485 0.15507329878585382 +222.75507709194997 353.7339650120208 253.22449111367806 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body721 2.96336237e-07 0.0003995851699871754 +7.07980829e-06 +0.29433097562683586 5.018617293303635e-06 4.606276855402575 +196.30495919528175 80.02677322973838 261.5544103562484 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body722 2.96336237e-07 0.0004663049126723303 +7.07980829e-06 +0.3434761602660039 0.0014277603419004838 5.4988869942119445 +18.336750193775515 61.72061996821379 24.32664588396063 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body723 2.96336237e-07 0.00016160736072448088 +7.07980829e-06 +0.11903858231785998 0.0014582262824983866 5.448228802161735 +118.05515219608522 99.46467963418462 74.32735266079698 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body724 2.96336237e-07 0.00030145139394952675 +7.07980829e-06 +0.22204648607975494 0.0002651624829284599 3.4839261536774204 +353.7033605924432 26.63014034431109 258.883489782699 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body725 2.96336237e-07 0.00019587870513939723 +7.07980829e-06 +0.14428255780876567 0.0005886921483224232 7.122349866659202 +187.9185724288045 277.49814412774685 339.1040220890197 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body726 2.96336237e-07 0.00018223697272332903 +7.07980829e-06 +0.1342341758545744 0.001993061737343073 1.5186597635745005 +186.16266229109107 120.82284316697938 36.16980590190327 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body727 2.96336237e-07 0.002208504304487439 +7.07980829e-06 +1.6267651440535622 0.001997985158804577 0.8593148249474335 +72.18814289875074 80.88938512039681 349.70856370829034 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body728 2.96336237e-07 0.0008108208240677552 +7.07980829e-06 +0.597243596938487 0.0005039148462018542 4.7811402892298025 +218.77516459671426 24.768981392881912 280.2967231155555 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body729 2.96336237e-07 0.001132726282941681 +7.07980829e-06 +0.8343563701002331 0.00039414985266650896 3.6037723479865944 +83.15750376306154 75.42354496372273 97.74895243636577 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body730 2.96336237e-07 0.00032727320517223467 +7.07980829e-06 +0.24106660859800436 0.00037987141173158616 10.274740295263058 +197.91773818633536 352.5865595760306 261.0191288110265 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body731 2.96336237e-07 0.0009752402802714085 +7.07980829e-06 +0.7183535444323048 0.0013231086235482108 0.9592225266971143 +274.38243588304704 344.23442375404215 260.73810812560674 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body732 2.96336237e-07 0.0011428393782413875 +7.07980829e-06 +0.8418055885140829 0.0010192051936423027 2.1830154450298775 +22.895436977403044 357.1218738349401 85.62306577590662 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body733 2.96336237e-07 0.0004572602444272732 +7.07980829e-06 +0.3368139359675542 0.000555346752112463 6.319773644161184 +113.6762916782172 224.86454862560015 165.82655056882967 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body734 2.96336237e-07 0.00015778980918020817 +7.07980829e-06 +0.11622660691204703 0.0012360086888716822 3.7103248613231874 +141.15874516414368 232.6102120136255 8.479461773646221 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body735 2.96336237e-07 0.0014942829058571304 +7.07980829e-06 +1.1006758472982074 0.000349403337070044 0.14346873743832864 +76.87539447076438 105.24609325235642 249.8553971165713 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body736 2.96336237e-07 0.00014637261873858538 +7.07980829e-06 +0.10781680331070699 0.0012736508360480675 11.221630354955153 +129.42714487972242 65.22069766832125 279.98812006676945 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body737 2.96336237e-07 0.0008608180061731988 +7.07980829e-06 +0.6340710882794698 0.001511988582795197 4.2441144550867795 +249.39391931471766 309.17457420265424 17.839708517509724 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body738 2.96336237e-07 0.00022551393979595722 +7.07980829e-06 +0.16611161500244348 0.0017230161759853974 2.754899549887548 +284.2214645492094 329.7467797502512 345.5511870893493 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body739 2.96336237e-07 0.0008344058534459075 +7.07980829e-06 +0.6146161253215647 0.0011901584859750538 0.6692427980735299 +220.04955308835034 17.55046868783327 22.589151763506287 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body740 2.96336237e-07 0.0003864765014179772 +7.07980829e-06 +0.28467524388567844 0.0005656004790699498 0.0869755058384638 +36.08205324642893 11.74038337500243 191.43021754215243 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body741 2.96336237e-07 0.00014406405961522867 +7.07980829e-06 +0.10611633865359367 0.0004104958381684452 5.536332415834654 +306.2252048683907 222.88495242694134 297.9257683728652 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body742 2.96336237e-07 0.0002106722970417079 +7.07980829e-06 +0.15517938948490648 0.0016045777089143468 6.257405036858542 +132.6281615688201 124.58164025052454 209.3185616951079 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body743 2.96336237e-07 0.00034739878913081577 +7.07980829e-06 +0.2558909394453656 0.0008848410000050655 1.8800883236189605 +22.59000938767972 244.71224492603585 203.02373720932383 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body744 2.96336237e-07 0.0002416141226863816 +7.07980829e-06 +0.17797087028476838 0.0018027797509316973 5.535730075592067 +144.6725556217197 254.9396114858643 294.6395873317908 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body745 2.96336237e-07 0.000562846985628491 +7.07980829e-06 +0.4145882151081191 0.0017929642136530707 9.086241206217649 +353.3526691916557 314.79294099522104 259.4798715415805 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body746 2.96336237e-07 0.00028597602580276727 +7.07980829e-06 +0.21064746392643938 0.0011404320812687437 1.3497302415157837 +264.89618015841376 315.938364379284 213.05922299203462 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body747 2.96336237e-07 0.0005955575301132271 +7.07980829e-06 +0.4386825188876773 0.001262635271510421 1.019380298177697 +326.28037068382815 239.50749192273528 357.0437637912174 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body748 2.96336237e-07 0.0003194116973814109 +7.07980829e-06 +0.2352758900434459 0.0009268394605218976 2.8545622521287846 +301.8093959116166 73.63705470361427 196.66760197641878 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body749 2.96336237e-07 0.00021345646348534076 +7.07980829e-06 +0.15723018237516379 0.0015428543506282974 5.245136896364564 +37.46583168672329 98.8444306387554 286.91754980834173 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body750 2.96336237e-07 0.0018562879648262526 +7.07980829e-06 +1.3673256386096608 0.00019464130129659486 6.392431451247973 +13.671795434653754 256.8057573052545 208.9974818148667 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body751 2.96336237e-07 0.0003438121044613112 +7.07980829e-06 +0.25324901858009685 0.0004849968083047293 0.6512227674260226 +191.72118211560357 27.38888088806392 215.418613343208 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body752 2.96336237e-07 0.0007351719490103386 +7.07980829e-06 +0.5415212907241782 0.0017214586941266883 5.013572365171728 +1.1868998491342897 310.0545999201715 263.421684099375 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body753 2.96336237e-07 0.0001440480205409621 +7.07980829e-06 +0.10610452441039445 0.001415155758078455 2.9168704913691466 +87.34460078326019 115.41238499588349 218.47853766179134 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body754 2.96336237e-07 0.00016567726861439446 +7.07980829e-06 +0.12203644122235352 0.0007367694324498964 7.939696829581024 +144.80446947266682 334.6934128655556 334.96083232634686 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body755 2.96336237e-07 0.003357132716724993 +7.07980829e-06 +2.4728348848736057 0.00109460936093632 7.57817818817873 +200.93402617764775 38.94546503077487 336.82864362635746 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body756 2.96336237e-07 0.000239476354339221 +7.07980829e-06 +0.17639620863427682 0.001108603677540412 2.174346842575558 +204.07151110596655 298.80659272210426 94.77954703857242 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body757 2.96336237e-07 0.0002247301690325285 +7.07980829e-06 +0.16553429624590613 2.286669973466227e-05 8.477343429801845 +104.59141545363481 254.52826278341865 156.39407168530036 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body758 2.96336237e-07 0.00013690457719890955 +7.07980829e-06 +0.10084272591004262 0.0005270544426914094 1.2430379394875384 +18.23871682645244 274.6745175011331 46.74741417981779 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body759 2.96336237e-07 0.0002564215369937045 +7.07980829e-06 +0.18887788342473297 0.0013769913442365858 5.516940557693017 +57.296249965262085 304.79426021501166 341.6907740411331 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body760 2.96336237e-07 0.00032523412275674117 +7.07980829e-06 +0.23956463815011464 0.0004766588720606672 0.6849299933323854 +295.98639353183904 117.36140746706391 355.6278987307299 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body761 2.96336237e-07 0.0006034806082832441 +7.07980829e-06 +0.44451858965032254 0.0015451262612941163 9.453687588841811 +203.39899116099176 75.07410352055902 288.420934960148 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body762 2.96336237e-07 0.00015674806130235787 +7.07980829e-06 +0.11545926444722357 0.00022678197602867345 2.51397584832074 +154.11481001554114 316.5895802985698 144.8171785524458 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body763 2.96336237e-07 0.00044591737566831286 +7.07980829e-06 +0.3284588770740044 0.000582023915909846 1.9042826267649233 +183.0490667929288 34.32821351074982 128.09899856474172 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body764 2.96336237e-07 0.00020874189344392697 +7.07980829e-06 +0.15375747091293682 0.0013518925712033031 3.9213046414563917 +252.88051690821115 346.0891363946157 227.24651734444123 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body765 2.96336237e-07 0.0005977027995281557 +7.07980829e-06 +0.44026270575972415 0.001706378820013462 3.665130790550011 +279.1441761599938 331.86968339138923 161.08982168644127 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body766 2.96336237e-07 0.0005462104415519695 +7.07980829e-06 +0.40233388082124205 0.00045154828716743357 7.549631354241249 +166.25274596264225 139.83647490843492 241.36161695412613 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body767 2.96336237e-07 0.0019508638604603097 +7.07980829e-06 +1.4369894242642867 0.0019299261931772004 4.408038074230426 +123.84920808275756 5.017403188848644 267.46104210371675 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body768 2.96336237e-07 0.00021438100266887562 +7.07980829e-06 +0.15791118993083406 0.0019442717872762822 11.39841416830864 +231.35322832263287 339.9831170872492 170.62953355543732 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body769 2.96336237e-07 0.00013637692054304016 +7.07980829e-06 +0.1004540585870711 0.0001344854299818731 2.9430162092938996 +101.18123245946741 16.977350858590118 217.85339551927711 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body770 2.96336237e-07 0.00039628226188392717 +7.07980829e-06 +0.2918980821226399 0.0013619973696854474 0.467152728932887 +108.18991731689154 176.95159646304947 72.23870735210176 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body771 2.96336237e-07 0.000698358333406906 +7.07980829e-06 +0.5144047002930133 0.0015421293318597141 11.415702042294306 +260.27523332282703 273.2602707005577 186.21628932692565 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body772 2.96336237e-07 0.00028461336199966497 +7.07980829e-06 +0.20964373757035026 0.0013800293673098358 8.859667863354286 +125.68513477242199 61.52892104688898 229.49254655341616 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body773 2.96336237e-07 0.0033019090419650742 +7.07980829e-06 +2.4321576043070934 7.592285081661148e-05 6.75835305766169 +278.44449561624015 201.0474604342087 246.68234934394988 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body774 2.96336237e-07 0.0016086561408426812 +7.07980829e-06 +1.1849221816653586 0.0012518712973603068 6.07210859808765 +329.8140693187001 178.90220086015898 344.2534420910264 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body775 2.96336237e-07 0.0004057839032363561 +7.07980829e-06 +0.29889690885438885 0.00030723730352063704 1.3545602077168246 +275.29327826163626 16.48766869977107 289.9506131142709 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body776 2.96336237e-07 0.0005182646094632937 +7.07980829e-06 +0.3817492229280883 0.0017244210524684127 11.35830215721803 +198.9972987687514 15.552954256805542 112.4403775751002 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body777 2.96336237e-07 0.00025773587547939263 +7.07980829e-06 +0.18984601377053362 0.0017068426449346299 7.7791974518317195 +62.53619149931553 120.73376985616541 225.68366487062107 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body778 2.96336237e-07 0.0011513744043605825 +7.07980829e-06 +0.8480924148363507 0.0008740145212589823 9.389156432134588 +3.3864525215180348 191.77297733737754 50.34556783248005 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body779 2.96336237e-07 0.00019069701018462385 +7.07980829e-06 +0.14046576618086803 0.0016610122416479565 0.3263632448613249 +202.3832416550209 148.90572697487266 306.71587259490514 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body780 2.96336237e-07 0.000183014949797821 +7.07980829e-06 +0.13480722703001688 0.00023870757193003006 10.86745715521768 +40.4422116892952 332.72334304633546 102.46487442592486 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body781 2.96336237e-07 0.00019010035917179903 +7.07980829e-06 +0.14002627821208505 0.0009745538138515665 2.605842650876843 +248.8424013641794 252.33564259715783 158.58573935383882 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body782 2.96336237e-07 0.00015766445076292833 +7.07980829e-06 +0.11613426898753848 0.0004009723458603021 7.436470499798395 +210.6903181795709 135.90861565498648 100.14814531806343 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body783 2.96336237e-07 0.00019282317353288035 +7.07980829e-06 +0.1420318796896713 0.0008492041527252425 0.5663478420982258 +17.051067966498163 36.14156681072912 233.47696301941528 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body784 2.96336237e-07 0.0006785968098311466 +7.07980829e-06 +0.49984853317071337 0.001056969125782388 2.129281381961314 +296.7313175208352 343.9604450772309 237.2496777096723 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body785 2.96336237e-07 0.00013780632139179854 +7.07980829e-06 +0.10150694287301791 0.0018115669137227677 2.8103422089756918 +349.77158346307993 94.59875697216971 99.73426693191381 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body786 2.96336237e-07 0.00034073923077270753 +7.07980829e-06 +0.2509855664335275 0.0017792906836705319 5.520765221365393 +215.39140744510857 94.45196463699138 266.26458399959836 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body787 2.96336237e-07 0.00031320123871055543 +7.07980829e-06 +0.23070131997183466 0.0003647661258347948 4.728738700627131 +308.4240173290373 235.43277837361742 19.86268427021919 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body788 2.96336237e-07 0.0007908013466746332 +7.07980829e-06 +0.5824974232683128 0.000733879413242465 10.58163592523781 +166.59711091932118 36.80830601645519 282.58301278505724 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body789 2.96336237e-07 0.00019105301337326078 +7.07980829e-06 +0.14072799504647168 0.001668655123700562 7.9908431865517064 +264.1561725966188 23.582810086009808 292.36425626006894 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body790 2.96336237e-07 0.0006002588397728856 +7.07980829e-06 +0.4421454628675441 0.00022178748634611188 11.438400717437004 +250.2047538204758 303.4810776677282 204.76040864011122 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body791 2.96336237e-07 0.00021806349128496557 +7.07980829e-06 +0.16062367915345274 0.0009804911927767412 1.6584717895438603 +226.28492908631438 229.19854234355597 9.353466953393456 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body792 2.96336237e-07 0.0004540964137523443 +7.07980829e-06 +0.33448348569258574 0.0011738625331951884 10.662230115006006 +267.24057597302476 267.74465579912385 253.2965632707878 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body793 2.96336237e-07 0.0010488173402543155 +7.07980829e-06 +0.7725497696055722 0.001095722001517709 9.242402013388748 +323.14447834195244 301.491191690332 293.32981193086493 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body794 2.96336237e-07 0.0005999909388933805 +7.07980829e-06 +0.4419481293998417 0.0015833703304402554 4.872405037186607 +35.12747293707084 153.1253118555626 77.25667586625241 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body795 2.96336237e-07 0.0002818183472463251 +7.07980829e-06 +0.20758495390911397 0.00040306205079961504 8.58999362096016 +95.19877690553305 242.72105712761459 280.0466839990116 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body796 2.96336237e-07 0.00019014506892123023 +7.07980829e-06 +0.14005921102630972 0.0006602959512029577 11.332039920511034 +323.92212532949304 203.51644452917097 74.7527947079839 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body797 2.96336237e-07 0.0004845094202535584 +7.07980829e-06 +0.35688544289118485 0.00010693699223592864 9.048576338576657 +190.51448161289002 98.6305204470717 187.3084468345109 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body798 2.96336237e-07 0.00015792929540787927 +7.07980829e-06 +0.11632935125933666 3.897035279878499e-05 11.45903908700319 +195.80384686313445 233.2776988816495 359.35301035654265 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body799 2.96336237e-07 0.0005021740146888711 +7.07980829e-06 +0.369897030168973 0.0005783785768568472 10.96464741061004 +51.22165432560145 112.10159565886289 41.214857697624 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body800 2.96336237e-07 0.0002652196542834954 +7.07980829e-06 +0.1953585004247748 0.0015860402110689398 7.970135016600727 +33.28395820345033 47.065047089942105 8.642540234570333 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body801 2.96336237e-07 0.00099556213210484 +7.07980829e-06 +0.7333224444965137 0.0011540216657062665 0.2948520707827325 +358.7803936031105 339.4687255490858 120.89997913809488 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body802 2.96336237e-07 0.0026351289790410228 +7.07980829e-06 +1.94101318456985 0.0018777704527595757 6.2920679103717365 +168.5198178770795 313.068885556533 173.1580935790628 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body803 2.96336237e-07 0.0004472189018881262 +7.07980829e-06 +0.3294175700157216 0.001934026663548147 4.665930753879519 +188.0777245359656 24.249023206259835 148.43747096583212 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body804 2.96336237e-07 0.0009541783526290509 +7.07980829e-06 +0.7028395109366277 2.178248308034613e-05 7.534024626949479 +220.92753336090098 156.5092513310764 125.53081160503076 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body805 2.96336237e-07 0.00017818575131362238 +7.07980829e-06 +0.13125008124956802 0.00029390144367573754 11.238272718260015 +44.728692941629134 244.4748145815674 141.26217597353818 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body806 2.96336237e-07 0.0007755350636563324 +7.07980829e-06 +0.5712524114098495 0.0019266172346230073 1.878430788539713 +283.4231153555986 2.2596062499485012 183.9729256430123 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body807 2.96336237e-07 0.00029338105105387744 +7.07980829e-06 +0.21610194139558708 0.0009800223634739993 7.0601858461868705 +65.81941569461553 212.36340422378717 312.9363049828724 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body808 2.96336237e-07 0.0001839258304776056 +7.07980829e-06 +0.13547817385011343 0.0006727160750319806 2.882340028183936 +295.1627506804039 68.85676814351325 228.03106149519562 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body809 2.96336237e-07 0.0006015656325230227 +7.07980829e-06 +0.4431080350898872 0.0016628797571062509 7.129072715261133 +290.1742628633195 108.96638613120928 128.99246608530885 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body810 2.96336237e-07 0.00013888180832424046 +7.07980829e-06 +0.10229913723325831 0.0005630924347893253 9.278706461480203 +267.71603877159674 316.40397628593826 81.80556050635376 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body811 2.96336237e-07 0.0006476764256898102 +7.07980829e-06 +0.4770728459965168 0.0007695813520703637 2.493021098908406 +150.4916511166996 332.4116821410066 247.0361193746425 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body812 2.96336237e-07 0.001857003948737935 +7.07980829e-06 +1.3678530261582662 0.0017596352045231752 10.68854821580626 +329.79402578262415 259.4447597715369 328.1565524762129 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body813 2.96336237e-07 0.0008663331149826085 +7.07980829e-06 +0.6381334696651798 2.928046135023384e-05 5.815041660654898 +129.22501519714 213.2823989189814 118.96109333137306 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body814 2.96336237e-07 0.00026489283030708673 +7.07980829e-06 +0.1951177647141935 0.00011759470556837991 3.531197956621164 +331.29872796235486 4.773729879659973 140.06250876198635 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body815 2.96336237e-07 0.0010162303462848672 +7.07980829e-06 +0.7485464720655725 0.0007100241137663527 5.490099494596708 +324.98298402852896 274.8809849689539 247.5318900734145 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body816 2.96336237e-07 0.000347727729247991 +7.07980829e-06 +0.2561332338869088 0.0004507987013529211 3.620170639195692 +92.43280629170972 91.6328644393501 151.8214337011307 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body817 2.96336237e-07 0.002802965923879553 +7.07980829e-06 +2.064640424595143 0.0011544401169181033 5.094307632826079 +42.63499315368269 1.2211239273548 334.76305659292217 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body818 2.96336237e-07 0.0022355737226198336 +7.07980829e-06 +1.6467042430166545 0.001267457569557079 5.302936231753688 +32.68371764101885 353.5751312018522 90.58755046498557 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body819 2.96336237e-07 0.0002765175125921366 +7.07980829e-06 +0.20368040501043008 0.000579749287670038 10.557519510639555 +80.04140368158535 227.8990205868312 200.62764208554964 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body820 2.96336237e-07 0.00025127731812467786 +7.07980829e-06 +0.18508869635703679 0.0012439466918257101 1.6815787713970378 +281.7339713158612 63.45528865916926 191.41206074359687 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body821 2.96336237e-07 0.0003243969593156292 +7.07980829e-06 +0.2389479908096002 0.0015118202277195345 2.6668616922794715 +328.82511142542853 82.03336133179428 168.83579865308715 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body822 2.96336237e-07 0.0009083701808113307 +7.07980829e-06 +0.6690976082948853 0.00025961637392022535 7.205434432573989 +69.44371066237589 224.96004566756855 200.0052414276524 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body823 2.96336237e-07 0.0004355681290935779 +7.07980829e-06 +0.32083571167614394 0.0005817622084768684 2.2490912361513873 +52.61862941037551 95.05577134176204 285.75692796158575 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body824 2.96336237e-07 0.000797513088797965 +7.07980829e-06 +0.58744123438968 0.0018399317866374398 5.370650518781352 +263.37964612868376 3.6889272906534942 195.81773461969757 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body825 2.96336237e-07 0.00017059845221530778 +7.07980829e-06 +0.1256613424431423 0.001517189447519589 3.3332887759450993 +275.16030741344696 301.2390055314444 315.6894181532665 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body826 2.96336237e-07 0.0033227899288844234 +7.07980829e-06 +2.447538284774096 9.660561342932512e-05 2.7342205684146665 +177.28452929413666 303.60541873955395 123.91807566013593 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body827 2.96336237e-07 0.0005055089895304048 +7.07980829e-06 +0.3723535437548778 0.0018186148187213451 9.203022093505952 +283.6114261752834 246.85904148851748 262.9477557950902 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body828 2.96336237e-07 0.000635315421759987 +7.07980829e-06 +0.4679678375536138 0.001999300112822092 8.915870860087727 +6.110983399515164 74.87211877631918 225.79948655833374 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body829 2.96336237e-07 0.0001751333264149705 +7.07980829e-06 +0.12900169150458152 0.00020038175632658404 7.233274970039065 +33.90253649557301 49.37802414776593 162.2065661133979 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body830 2.96336237e-07 0.00018378643480033245 +7.07980829e-06 +0.13537549620146275 0.001360339845600366 10.875239413531316 +161.6554836466115 83.73152649783016 79.92932738916704 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body831 2.96336237e-07 0.00013889055865239607 +7.07980829e-06 +0.10230558264919598 0.00025597517786164737 9.075636286562998 +338.08271471426997 353.0506196112916 352.887114895571 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body832 2.96336237e-07 0.00046757051185114865 +7.07980829e-06 +0.3444083896604684 0.0018761686833968828 1.4669598373422508 +44.87652012756437 177.67362914504258 277.8618957553 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body833 2.96336237e-07 0.00022908114180874786 +7.07980829e-06 +0.1687391851115053 0.0010077475692341418 9.107937193226173 +7.136521656548504 194.19135352752443 196.3527680670335 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body834 2.96336237e-07 0.00021727031334741124 +7.07980829e-06 +0.16003943115392477 0.000739993500523618 3.9730366478446846 +296.9687491788795 302.9933737007289 214.05408453261558 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body835 2.96336237e-07 0.0005924232935996261 +7.07980829e-06 +0.4363738674156443 0.00024725894484776647 5.085743123157824 +71.55973253885118 50.78724890867379 61.5909874775926 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body836 2.96336237e-07 0.0002814335672288224 +7.07980829e-06 +0.20730152828058798 0.000749027403100355 6.9645972304617505 +60.3604226804254 310.0977903351363 151.78370717308115 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body837 2.96336237e-07 0.0030778130889382743 +7.07980829e-06 +2.2670904660784137 0.0019786704159376963 6.529858491445284 +335.4186873573771 111.62895536664745 171.68897715927645 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body838 2.96336237e-07 0.001498847858869942 +7.07980829e-06 +1.104038352152916 0.0015428587562416583 9.936778811770814 +70.57570537759302 84.10602504856243 323.5258802143975 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body839 2.96336237e-07 0.00203066320928066 +7.07980829e-06 +1.4957689335074194 0.0015924422714005465 4.586246084377397 +249.62557390036193 211.62955989583318 257.4388242400432 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body840 2.96336237e-07 0.0011667006416620786 +7.07980829e-06 +0.8593815885005848 0.001499272202059968 6.8205193906369255 +84.64657910167873 239.46586383339405 332.6535290917713 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body841 2.96336237e-07 0.0017354364389528172 +7.07980829e-06 +1.278307451279381 0.0016006380667095345 7.82686925837928 +191.4754417698664 253.15609398992035 81.93901595863738 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body842 2.96336237e-07 0.0002532550453718099 +7.07980829e-06 +0.18654547311927458 0.00012406021956921763 8.109841908874293 +270.85693362482044 315.15099460865144 96.14894521079918 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body843 2.96336237e-07 0.00018634532862649348 +7.07980829e-06 +0.1372603552326516 0.00023538722443516055 1.4894936849675249 +29.459189369441635 67.36450335439682 54.83310544269817 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body844 2.96336237e-07 0.00029158732454737286 +7.07980829e-06 +0.21478069798536706 0.0011673470373269362 11.085709061263685 +157.76460542425414 246.27746168342864 6.8453046530047255 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body845 2.96336237e-07 0.00043364524658754777 +7.07980829e-06 +0.3194193330752219 0.0005270330406529689 6.106343852796523 +120.78469905417309 110.64435294021592 215.49307444340332 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body846 2.96336237e-07 0.0005231633713284643 +7.07980829e-06 +0.38535760849251127 0.0008634990263518041 7.341507171398043 +13.421311492632363 308.85783416097735 42.162340012495825 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body847 2.96336237e-07 0.00024536499782918075 +7.07980829e-06 +0.18073373243070323 0.001840481967359855 4.241185462063619 +104.16487034797203 201.47379798782168 341.4733827028155 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body848 2.96336237e-07 0.0007719265143580483 +7.07980829e-06 +0.5685943852483791 0.0010008140520680474 6.480222534777339 +184.32169092200232 103.34919779642523 356.77619199609273 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body849 2.96336237e-07 0.00023807814028319418 +7.07980829e-06 +0.17536629626976455 0.0016343601065652842 0.3249529259262394 +250.36546856571204 334.7025341217382 118.21873934867935 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body850 2.96336237e-07 0.00036119262264286574 +7.07980829e-06 +0.26605135774959376 0.0006346791313101497 5.198710968805152 +69.94065044167266 48.948388574773986 182.85169447898264 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body851 2.96336237e-07 0.00014370289200430812 +7.07980829e-06 +0.10585030571926211 0.0008869379847759032 7.036548385781691 +217.77453992851946 318.4554561270853 6.752281945579717 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body852 2.96336237e-07 0.0002943846158913051 +7.07980829e-06 +0.2168411585635174 0.0019843826310521093 9.771476355648222 +12.58898431960575 82.51007889246536 49.68333298101479 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body853 2.96336237e-07 0.0036181905740869944 +7.07980829e-06 +2.665127841729025 0.0015892742646676375 1.2515737974751457 +294.98820419885124 228.7910948770245 204.76071041664952 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body854 2.96336237e-07 0.0010405906262700396 +7.07980829e-06 +0.7664900433317653 0.00046992321384812445 8.905411384088065 +277.4220633800536 156.90548650393134 73.42355366447521 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body855 2.96336237e-07 0.003507517870227573 +7.07980829e-06 +2.5836072865411315 0.0012873026248305089 0.6714927881734676 +85.46654907224594 218.62623893590367 5.529413848953804 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body856 2.96336237e-07 0.00042121870808606814 +7.07980829e-06 +0.31026605243439553 0.001538504517840296 2.299785133154835 +182.92903981976596 317.7000092803654 356.8222340252494 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body857 2.96336237e-07 0.00025589642012622665 +7.07980829e-06 +0.18849108688789498 0.0012482613808640873 3.4547783623564907 +104.61754395223984 177.493497505299 52.3953201643133 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body858 2.96336237e-07 0.0003499440683809984 +7.07980829e-06 +0.25776577009779705 0.001200451739714381 5.589758437491127 +110.52822608125959 304.65887602596644 285.1524557787873 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body859 2.96336237e-07 0.00023340484224533388 +7.07980829e-06 +0.17192398540792114 0.00036678529835194857 9.701014602462163 +350.2988638669182 75.93158966813593 359.721039470067 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body860 2.96336237e-07 0.0003012859326608643 +7.07980829e-06 +0.2219246087274947 0.0005714322286880682 2.239794572571739 +239.93191774307263 295.5484957385658 292.6691114359901 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body861 2.96336237e-07 0.0011013945629108654 +7.07980829e-06 +0.8112776964721983 0.0005018275332768457 10.083706033837855 +102.82962935920158 251.05942161360068 26.822294015250964 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body862 2.96336237e-07 0.0005946599085366378 +7.07980829e-06 +0.43802133860816467 0.001048428201218883 4.1025828039813526 +40.600990991843354 239.80380101745874 62.07603929801504 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body863 2.96336237e-07 0.000644830243600255 +7.07980829e-06 +0.47497637291855616 0.0013321768983939044 4.63432393570585 +45.083707155219024 301.3977548929328 239.62704853879058 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body864 2.96336237e-07 0.0018338196731331666 +7.07980829e-06 +1.3507756895339567 0.001297586822510243 7.9497211836853365 +348.46108412918124 87.62476857679734 103.32036290834739 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body865 2.96336237e-07 0.0002663604970815203 +7.07980829e-06 +0.1961988353495927 0.0014513812053653485 7.576126394985915 +348.84703759168565 304.9628712857538 337.6984736486929 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body866 2.96336237e-07 0.00024146287214828595 +7.07980829e-06 +0.1778594604483042 9.184822468081804e-05 11.169429029020852 +68.42320619800215 75.12601964025916 21.785360489624612 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body867 2.96336237e-07 0.00021814842997838415 +7.07980829e-06 +0.1606862442594179 0.0017400031243608673 7.347710628140643 +223.60600683349512 122.49114370433226 107.17786152085814 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body868 2.96336237e-07 0.0007497335046502527 +7.07980829e-06 +0.5522472064989752 0.0007622626132573405 7.291097000588904 +313.4202166141992 134.58901635813177 193.878916798132 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body869 2.96336237e-07 0.0001667481985630033 +7.07980829e-06 +0.12282527894776799 0.0014162630721568541 5.217098764177743 +337.3804679201184 173.53323786741743 353.3966084016116 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body870 2.96336237e-07 0.00031250176198306017 +7.07980829e-06 +0.23018609147214195 0.0015562575272119795 9.361382981745848 +48.47024895045403 23.02355121536537 121.03929246247257 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body871 2.96336237e-07 0.00023059340795823506 +7.07980829e-06 +0.1698531072603185 0.0019813387627493403 9.279340087444739 +2.0250013283920247 270.51162903123645 97.37548932556639 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body872 2.96336237e-07 0.0002204659791078828 +7.07980829e-06 +0.16239333087719793 0.0012809206122057952 0.42712771391559484 +197.06203490560554 347.4089646137663 67.49418715611142 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body873 2.96336237e-07 0.00027345697966011924 +7.07980829e-06 +0.20142604295828573 0.0018116840747689782 10.674508764160732 +103.56691137629706 266.9193441476812 326.2393207943043 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body874 2.96336237e-07 0.00026916832336908836 +7.07980829e-06 +0.19826705587598786 0.00039683896467854684 0.35179682592842354 +325.2166765580088 98.71526095385327 3.9673545628655678 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body875 2.96336237e-07 0.0022229132327439348 +7.07980829e-06 +1.6373786358195543 0.0006605613446908923 7.3615331574055025 +252.2233729738277 22.284879677551952 229.69276267720048 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body876 2.96336237e-07 0.00018777834971615669 +7.07980829e-06 +0.138315906156696 0.0011872852358163328 10.140241012719367 +349.1506501093582 312.2512600928142 285.213085940648 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body877 2.96336237e-07 0.00020212037530735753 +7.07980829e-06 +0.14888011799883888 0.00015537661070074625 7.218086014392529 +182.46051259244547 316.96550885841606 169.6637749668604 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body878 2.96336237e-07 0.0001739000727617808 +7.07980829e-06 +0.12809328754416846 3.088396781264784e-05 6.4272787336170945 +63.778122100059875 253.59048138502038 215.1941927139361 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body879 2.96336237e-07 0.0003886205487771876 +7.07980829e-06 +0.28625453060206685 0.001570610688246003 4.596643792009561 +305.35365538701126 285.97542830086036 349.34165196516363 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body880 2.96336237e-07 0.0009222337930440628 +7.07980829e-06 +0.6793094250004531 0.0011367893271683742 2.6439443194291687 +285.7982116353794 170.4396408737005 121.80530388570517 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body881 2.96336237e-07 0.0005536935198694872 +7.07980829e-06 +0.4078458515031312 0.0018133452871063858 1.4457615059152908 +91.22783846390665 329.90668562817825 253.22700314937367 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body882 2.96336237e-07 0.00018278613111823822 +7.07980829e-06 +0.13463868117230798 0.0011331933115473899 9.86274096834836 +69.03072764321948 218.86072425030633 180.10823421827652 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body883 2.96336237e-07 0.0001960632599862665 +7.07980829e-06 +0.14441849931064232 0.0012861487147670608 2.5576684866102952 +208.59094625454324 305.7005612521587 21.26041328596223 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body884 2.96336237e-07 0.0005423752586368978 +7.07980829e-06 +0.39950891830039414 0.0015637046464971854 7.027440341287953 +233.80729957048158 209.340402563229 311.3583501969673 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body885 2.96336237e-07 0.00013943092042929199 +7.07980829e-06 +0.10270360845428364 0.0005159228348304664 5.944858672896004 +69.95225801877062 174.7276120972792 28.822418951690324 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body886 2.96336237e-07 0.0004005939203667401 +7.07980829e-06 +0.2950740124201952 0.0007439613777354018 4.246019729481516 +110.28612280210407 152.0147394483259 181.0295145568587 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body887 2.96336237e-07 0.0005581300249991568 +7.07980829e-06 +0.41111374275953355 0.001641221658129226 3.537297275366544 +345.8387738825924 59.96632429562442 149.0526849684242 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body888 2.96336237e-07 0.00021660729245310455 +7.07980829e-06 +0.159551055705235 0.0007892488059156157 1.7915838548160363 +115.39063975714294 182.44918518147443 350.9235637043461 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body889 2.96336237e-07 0.003164410622959606 +7.07980829e-06 +2.3308774596652744 2.7772058913318547e-05 7.672750487076867 +351.61488935551984 140.60487486378307 293.05304585644706 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body890 2.96336237e-07 0.004587781522415004 +7.07980829e-06 +3.3793201371775554 0.0009792748409096067 9.49626835683781 +138.20231916057185 19.125111032545025 284.81908775422175 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body891 2.96336237e-07 0.00021244089566533318 +7.07980829e-06 +0.1564821239142163 0.0013817427484116704 9.982107239203284 +64.62388065890237 162.42173072740277 247.13863850664836 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body892 2.96336237e-07 0.00042874284555031636 +7.07980829e-06 +0.3158082669281759 0.0002685727501766675 10.783700828009044 +81.17210301083347 317.9386637033409 267.4309864608306 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body893 2.96336237e-07 0.0016517438476905757 +7.07980829e-06 +1.2166602133707667 0.0016764679152562712 4.70497587780575 +238.60777089204234 153.80807142934077 28.448304618780632 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body894 2.96336237e-07 0.0016763443702606448 +7.07980829e-06 +1.2347807452443866 0.0009170286725977459 7.525170965998676 +277.7130339289491 226.47276480764017 253.76637763823024 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body895 2.96336237e-07 0.0011638058295318644 +7.07980829e-06 +0.8572492949558327 0.0008700423009628168 9.981524212140938 +98.86559967641855 170.53910254755223 100.58524057055833 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body896 2.96336237e-07 0.002936364382214191 +7.07980829e-06 +2.1629005737143157 7.756112803423427e-05 11.203056729757954 +86.29368061239245 43.411670622833604 338.40781629557614 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body897 2.96336237e-07 0.0002474161427641772 +7.07980829e-06 +0.18224458802599205 0.001079508198632446 6.842173578076072 +8.919350620653807 65.9391414835763 218.61113668757775 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body898 2.96336237e-07 0.0001622493777332493 +7.07980829e-06 +0.11951148648636527 0.000938253938961925 10.679087500356292 +335.22452069738205 213.1717272391943 122.17723318475782 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body899 2.96336237e-07 0.0003122324229346243 +7.07980829e-06 +0.22998769866166033 0.0015136721058106677 2.682422781035682 +280.03553763851926 230.61767521277147 344.2296842122416 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body900 2.96336237e-07 0.00021203945051390856 +7.07980829e-06 +0.1561864228923709 0.001765045682968018 11.422249892962794 +345.8666862049946 180.58605285731926 319.09691026620914 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body901 2.96336237e-07 0.0002273306449758014 +7.07980829e-06 +0.1674497843044399 0.00039029297664267936 10.413884131713067 +254.63805790852138 312.1469638623364 253.9856842053702 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body902 2.96336237e-07 0.00027837990138805533 +7.07980829e-06 +0.20505222446838656 8.898162310285005e-05 2.5301508178227907 +158.05436831881912 50.59492182468012 164.42547164960322 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body903 2.96336237e-07 0.0008690958013977799 +7.07980829e-06 +0.6401684405524991 0.0005103352043887674 8.079126775697432 +104.99864058693485 172.60913273339662 181.89105730929109 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body904 2.96336237e-07 0.0004262945653432144 +7.07980829e-06 +0.3140048849308226 0.0004068762402332769 10.246111286380062 +199.8177194802882 324.28121763384036 38.813978610555196 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body905 2.96336237e-07 0.0005797269109412859 +7.07980829e-06 +0.4270218219058451 0.0004148968294459902 0.9308775351703481 +234.71882840320092 96.08242228494359 85.3661114561507 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body906 2.96336237e-07 0.0007447631040431821 +7.07980829e-06 +0.5485860524576922 0.0002497401557252757 11.091004923880098 +30.463723661868443 109.8090314106109 32.45174612970782 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body907 2.96336237e-07 0.0011740321433804258 +7.07980829e-06 +0.8647819091722458 0.0005357039357688908 8.6536979165979 +346.454961363041 263.17586156314053 31.037511257599284 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body908 2.96336237e-07 0.0018510889647867837 +7.07980829e-06 +1.3634961002062462 0.00014126241631399 1.4214869125410696 +39.61105736997827 83.07875977519102 134.15938861187436 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body909 2.96336237e-07 0.00023462688073896192 +7.07980829e-06 +0.17282412837892938 0.0017705139720229762 10.763198940284598 +260.38595677013 187.39030393342694 85.08779752218953 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body910 2.96336237e-07 0.0001500746714962574 +7.07980829e-06 +0.11054370331058086 0.000281278337030201 7.299413573808814 +136.49636937293405 102.25244427475243 310.49680731457863 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body911 2.96336237e-07 0.00019619635152198428 +7.07980829e-06 +0.14451653338322 0.00017314515611592754 8.354513792245776 +38.52556308984034 292.7928653960391 98.19102238346747 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body912 2.96336237e-07 0.0014594514605221617 +7.07980829e-06 +1.0750193063203148 0.0004736592387483617 10.525175396992385 +354.1327714293186 177.29058917698717 135.57871242297458 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body913 2.96336237e-07 0.0004900684755729853 +7.07980829e-06 +0.3609801948955772 7.059808878859866e-05 2.7253547110759446 +46.58756017502697 247.45595632197276 257.4521187175939 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body914 2.96336237e-07 0.0003497168329852906 +7.07980829e-06 +0.25759839047327854 0.001965306184034864 9.563434786642063 +292.28406608674385 251.4582104887518 355.1915687853607 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body915 2.96336237e-07 0.00013859536374337858 +7.07980829e-06 +0.10208814463573322 8.257253637475793e-06 0.4855986306531283 +139.0604079346995 112.81281039522419 299.8312400393687 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body916 2.96336237e-07 0.0001933392197641028 +7.07980829e-06 +0.14241199487439932 0.0018796159120632928 7.449758077618493 +10.90734683153995 321.51599993791405 184.8920986736227 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body917 2.96336237e-07 0.00024570843099537825 +7.07980829e-06 +0.18098670232664 0.0009508845867033116 1.5928860717515263 +303.13456573570323 204.50757147870775 191.47934446511255 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body918 2.96336237e-07 0.0008660757753783367 +7.07980829e-06 +0.637943915541349 0.0018668982720163895 6.658079751187519 +87.9919399839599 246.36657869117042 149.15534322130247 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body919 2.96336237e-07 0.0016615592487689134 +7.07980829e-06 +1.223890152799321 0.001421622572581398 5.1610356923745595 +264.9771993652235 40.19201047952638 278.0236849242551 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body920 2.96336237e-07 0.001603657692579818 +7.07980829e-06 +1.181240367963724 3.685176165738216e-05 1.6420859189574308 +130.56188251548426 140.90512522455236 336.48806457761 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body921 2.96336237e-07 0.001397686753371511 +7.07980829e-06 +1.0295239579430457 0.0017914896317848858 11.252344408486978 +267.67377709144375 277.9361470120739 268.5109911132014 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body922 2.96336237e-07 0.0017560473979587865 +7.07980829e-06 +1.2934893051830842 0.0001158813985735487 7.979966579999663 +273.9413454619434 47.43960388209858 236.0072840421206 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body923 2.96336237e-07 0.0007621621848392839 +7.07980829e-06 +0.5614020646883041 0.000713239837599196 7.5270807760887815 +61.75097790549843 174.57744167115027 271.8218476694562 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body924 2.96336237e-07 0.00017089341444879782 +7.07980829e-06 +0.12587860906982662 0.0010331661463704816 11.310459107843037 +356.98065710606045 56.798708831950776 329.3070601388 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body925 2.96336237e-07 0.0003475085127644576 +7.07980829e-06 +0.2559717609236506 8.063217974700513e-05 0.6224293583547946 +124.40429076478733 71.81562824723706 141.66885873276337 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body926 2.96336237e-07 0.003112920782245804 +7.07980829e-06 +2.292950488920464 0.0012268090307240697 10.728770587782575 +340.62230336033423 216.29033228044932 157.05766776364314 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body927 2.96336237e-07 0.00033547189080752464 +7.07980829e-06 +0.24710568943268615 0.0015196161689792866 0.6899233683709616 +88.94224942027253 214.4230545720397 276.6010138005357 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body928 2.96336237e-07 0.0004253133838612374 +7.07980829e-06 +0.3132821551486675 0.0007120727472340359 9.106731138982164 +319.4754144242723 310.64917536138154 126.13269863021297 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body929 2.96336237e-07 0.00024231766837550515 +7.07980829e-06 +0.17848909594635745 0.000582710938667069 2.5165912778794906 +314.3199004524181 357.3118023762465 224.97487607442832 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body930 2.96336237e-07 0.00016665571708055534 +7.07980829e-06 +0.12275715788872771 0.0001996971746856274 4.755013017812427 +298.8461973517313 236.9987112242499 122.60336003968959 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body931 2.96336237e-07 0.0011458622256510802 +7.07980829e-06 +0.8440321917368563 0.0015919258009235721 0.050627567583707594 +307.90525771874314 70.82616332779979 151.67221763977068 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body932 2.96336237e-07 0.0003185660980161783 +7.07980829e-06 +0.23465302887428308 0.0008616327888656786 1.3646300797339588 +92.86887888927751 169.57093262294586 136.36646901125172 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body933 2.96336237e-07 0.00017301998407785504 +7.07980829e-06 +0.1274450218415491 0.0009832415846796373 7.534952392781988 +188.0735046660178 46.94571173047234 325.12927952800834 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body934 2.96336237e-07 0.00017929256067435054 +7.07980829e-06 +0.13206534743921788 0.0014183729364793134 9.448867289289323 +102.96675853797645 253.93257299631134 159.6978646781303 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body935 2.96336237e-07 0.0003863368281993399 +7.07980829e-06 +0.28457236180246254 0.000888160443355646 4.1802766015432535 +130.71026300243284 77.05772571539467 312.5231300249637 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body936 2.96336237e-07 0.00018020809151091216 +7.07980829e-06 +0.13273971952452396 0.000954720677358364 3.781611671128357 +86.59490665478535 218.8644239532834 257.03107035409835 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body937 2.96336237e-07 0.00013852529342309162 +7.07980829e-06 +0.10203653144465007 0.0014604833997294586 3.6529460849484523 +234.00092849065598 297.1160112326384 336.3256323449483 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body938 2.96336237e-07 0.0005121982142226524 +7.07980829e-06 +0.3772807687315193 0.0004918646428922008 11.372738889176471 +203.8576062272574 186.04307420989318 137.3162745936581 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body939 2.96336237e-07 0.0003612424968544203 +7.07980829e-06 +0.2660880946618919 0.0012522462747390918 2.3336207876186714 +33.72314577304029 351.18940081152004 312.24372550510225 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body940 2.96336237e-07 0.00020039859797553946 +7.07980829e-06 +0.147611871727581 0.0003302271416131716 7.906221530658699 +34.26814032180242 125.39790450977469 111.22749608626296 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body941 2.96336237e-07 0.0003016544051248369 +7.07980829e-06 +0.2221960223533211 0.00034568242946911244 0.3094325084357767 +82.4728732578794 144.70477273697668 5.612271501423794 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body942 2.96336237e-07 0.0017318366453486073 +7.07980829e-06 +1.2756558744863375 0.00113569105556339 11.116242048126862 +249.09496606643057 47.771023520745274 237.73234968632318 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body943 2.96336237e-07 0.0002690118256463962 +7.07980829e-06 +0.19815178100879285 0.0013539827861898711 3.18150775198909 +111.76818070956686 19.606030246044075 288.92966931597437 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body944 2.96336237e-07 0.0029001700963420364 +7.07980829e-06 +2.1362401761995384 0.0003159380215570494 5.514532240030428 +32.79351781650099 63.5250969796889 206.50573852382644 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body945 2.96336237e-07 0.00021330535508806603 +7.07980829e-06 +0.1571188772383973 0.00018089683554716642 8.720015163429723 +77.51771133589922 244.9843816940459 350.9514638838498 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body946 2.96336237e-07 0.00025520310194109973 +7.07980829e-06 +0.18798039471717506 0.000498428427346686 8.467466822253689 +10.456225088945663 233.40446105050938 203.41064615006937 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body947 2.96336237e-07 0.00016549421931184313 +7.07980829e-06 +0.12190160869138278 0.0009178253598946444 4.75514175557383 +340.3535534538125 148.36917743145676 297.2912537647712 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body948 2.96336237e-07 0.00040035279118295214 +7.07980829e-06 +0.2948963987517032 0.0013138752553493239 3.3576335327672404 +50.85479916051726 301.2286638812889 220.74045454943635 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body949 2.96336237e-07 0.000285480858760384 +7.07980829e-06 +0.21028272817138718 0.0014023500153727342 6.337903481467864 +224.1884139697174 73.89985298832633 51.546935726864305 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body950 2.96336237e-07 0.0013858975257163215 +7.07980829e-06 +1.0208401149522006 0.0018940614327674413 1.848873587406221 +190.43226813540824 280.5625437975362 308.817550256019 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body951 2.96336237e-07 0.001052652002039967 +7.07980829e-06 +0.7753743482670024 0.0013849169643145925 7.011026598611074 +334.4076414167877 257.5505584243084 296.3064892675258 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body952 2.96336237e-07 0.0016153416493503315 +7.07980829e-06 +1.1898466693326095 2.613348257784218e-05 4.937533708443644 +142.3452936426748 151.70237022125707 230.49088117151877 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body953 2.96336237e-07 0.0017051179432337625 +7.07980829e-06 +1.2559751099044152 0.0019156727899918755 2.8945065616128502 +24.996113996404127 262.60281692979856 150.1397892119794 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body954 2.96336237e-07 0.0013195877705214655 +7.07980829e-06 +0.9719969235477123 0.0015740751678921254 9.299530719572873 +116.84233709368452 223.50093449549743 245.37283756444006 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body955 2.96336237e-07 0.0004102460698317077 +7.07980829e-06 +0.3021837021241728 0.00035554080270896657 2.6519256374613476 +251.19016945519695 318.6678358289691 142.7111516622103 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body956 2.96336237e-07 0.00024167065264447027 +7.07980829e-06 +0.17801250976232183 0.0009665892019281847 4.502199852684603 +323.8900125494872 100.80453312749627 214.0618920813722 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body957 2.96336237e-07 0.0009466043491808458 +7.07980829e-06 +0.6972605655909263 0.0019802403653123375 0.7888060136048444 +306.8805064809969 282.50984888295784 352.56112767493175 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body958 2.96336237e-07 0.00018695352823005392 +7.07980829e-06 +0.1377083497933545 0.0007637836181920838 4.569634942627846 +139.37121999073983 67.43502251913877 332.4186808804151 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body959 2.96336237e-07 0.0037034203517796937 +7.07980829e-06 +2.727907357849595 0.00146266418574885 9.626222885297471 +213.93243792835034 245.51731066063286 75.89340605050207 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body960 2.96336237e-07 0.000373511443845889 +7.07980829e-06 +0.275125294761257 0.0012760803381254955 1.2094857559534204 +79.07672523194096 264.5777821313358 76.72573920333284 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body961 2.96336237e-07 0.00039442763362750277 +7.07980829e-06 +0.29053197901086525 0.0014417868317733395 11.41598090400923 +156.72159484209047 7.72719848001625 185.43652858762405 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body962 2.96336237e-07 0.00020500322527754812 +7.07980829e-06 +0.15100360032011528 0.00030171279342584156 1.4120336481863598 +172.0684637181415 92.67238877088263 160.71866360160317 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body963 2.96336237e-07 0.0007085940877853797 +7.07980829e-06 +0.5219442683220008 0.0005234297891182462 4.097317522810404 +333.94283962717805 317.556416326482 164.74610674255527 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body964 2.96336237e-07 0.00014947946804124763 +7.07980829e-06 +0.11010528160034792 0.0008975475009067994 10.322701472999627 +326.6226849149638 168.79718850314603 119.17626470159382 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body965 2.96336237e-07 0.0010586172297893071 +7.07980829e-06 +0.7797682833656346 0.00016487428505234443 8.752058115225326 +130.82154975364693 87.02897050604159 93.10471368544235 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body966 2.96336237e-07 0.00022758994635737866 +7.07980829e-06 +0.16764078345644415 0.0009489750126910459 6.401127999449354 +2.285091354335331 303.6446873244932 228.97229775105836 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body967 2.96336237e-07 0.000999277512501037 +7.07980829e-06 +0.7360591615195017 0.0018949678770281517 2.87369291606918 +56.67813336159815 123.49991022508948 285.23540579935207 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body968 2.96336237e-07 0.001291167167389695 +7.07980829e-06 +0.9510625534159438 0.00048414046083810925 0.038185085019309936 +139.91628422613323 331.77350842486277 234.9446144529372 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body969 2.96336237e-07 0.0016073709303560204 +7.07980829e-06 +1.18397550675138 0.0012098443018083715 9.646477689381754 +31.621294470619585 126.17811718834633 334.5105864118128 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body970 2.96336237e-07 0.0034709429840917563 +7.07980829e-06 +2.556666542168309 0.0007600022860671346 11.316786818393913 +258.5630322140128 332.7233936354956 299.4496346844978 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body971 2.96336237e-07 0.0003385735361366209 +7.07980829e-06 +0.2493903345204671 0.0006619383365492601 6.918466133956221 +34.08709733785606 41.67273369273931 169.08779374597916 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body972 2.96336237e-07 0.00050944360942722 +7.07980829e-06 +0.3752517506953094 0.0019324612115266307 10.802402793584992 +212.13550421956228 82.64100064809932 358.327784724528 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body973 2.96336237e-07 0.001229790121697113 +7.07980829e-06 +0.9058527531113671 0.0019972782738101407 8.070688417828606 +170.93848526477916 286.36681005572785 11.702196432894826 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body974 2.96336237e-07 0.0008650449636453158 +7.07980829e-06 +0.6371846285460949 0.0009740192551011546 3.532833541688154 +331.1815313747915 250.47137135834765 279.6190711788757 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body975 2.96336237e-07 0.002961099957296551 +7.07980829e-06 +2.181120584098874 5.6510615072364866e-05 5.138204604312275 +122.391328210872 56.07153820108413 286.4349957165175 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body976 2.96336237e-07 0.0006799189019085471 +7.07980829e-06 +0.5008223747450198 0.001866120847901651 6.4065430644434676 +222.15782786186904 168.83609464143038 178.13873495994855 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body977 2.96336237e-07 0.004828142098697655 +7.07980829e-06 +3.5563676560376067 0.001177565972191332 2.2812645152918685 +356.4603873337414 307.1163678613121 303.8837059895023 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body978 2.96336237e-07 0.000141646097163809 +7.07980829e-06 +0.10433528845251076 0.001606147555238029 8.552526312184236 +139.34496706570155 211.07561174914002 265.0884024681136 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body979 2.96336237e-07 0.0005109812736103546 +7.07980829e-06 +0.376384380815749 0.0018168962500772184 8.186136241961707 +173.48400684429888 254.6603408381069 50.17427136135035 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body980 2.96336237e-07 0.0002598404969961439 +7.07980829e-06 +0.19139625975281196 2.0898093658894817e-05 1.570997656758336 +277.31444846549095 299.90080452120395 59.28785330492891 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body981 2.96336237e-07 0.0003856543733284739 +7.07980829e-06 +0.2840696714549461 0.0018994182556429312 6.299140599034355 +188.7934353057022 314.490493699651 52.82133332577567 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body982 2.96336237e-07 0.0007677979183114158 +7.07980829e-06 +0.5655532971559121 0.0007504200853511277 2.4239440934296557 +295.55688315737433 41.24680176624648 98.2982458846315 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body983 2.96336237e-07 0.001368007221170845 +7.07980829e-06 +1.0076622715620158 0.0011230732994190636 6.916651351080801 +79.4090970845436 331.0348072724332 253.98022025170627 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body984 2.96336237e-07 0.000408044664239916 +7.07980829e-06 +0.3005621658304129 0.000862785366571587 8.224997779033004 +4.44990334992864 28.905921968573782 27.49431333688353 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body985 2.96336237e-07 0.00040727545945343756 +7.07980829e-06 +0.29999557624634926 0.0011676625751051118 3.055021078867999 +256.9847919768008 164.61755869715932 54.083333897413326 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body986 2.96336237e-07 0.00019081952515606263 +7.07980829e-06 +0.14055600964779558 0.0006255484448296172 4.197820752524388 +212.36644452501898 273.32646812567185 296.0458302579175 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body987 2.96336237e-07 0.0002079176483392447 +7.07980829e-06 +0.15315033910715795 0.001205282231944934 2.7062419360122356 +263.1550680592602 239.03960080387805 266.1389806298129 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body988 2.96336237e-07 0.0005356291778285949 +7.07980829e-06 +0.3945398136010656 0.0014083723635099636 7.44772565198021 +271.94654997981996 318.713146901804 271.098975185176 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body989 2.96336237e-07 0.00031289836564658895 +7.07980829e-06 +0.2304782262959327 0.001996157571664623 1.7953675532218945 +157.30520641324463 97.28381007133018 168.826782524686 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body990 2.96336237e-07 0.00014013209994440944 +7.07980829e-06 +0.10322009121259194 0.0010882833278620838 5.078082735136406 +9.2520530552408 132.5894578402618 331.3155501776673 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body991 2.96336237e-07 0.00233082373662703 +7.07980829e-06 +1.7168645784267693 0.0016271650341297165 4.114544153927535 +351.25334548400645 138.95504074018666 185.8353351547235 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body992 2.96336237e-07 0.002636986233870952 +7.07980829e-06 +1.9423812223929209 0.0019692418167083325 11.425318652008995 +185.73262580174244 252.03030092015973 207.56120933659767 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body993 2.96336237e-07 0.00016402183333624496 +7.07980829e-06 +0.12081706193327614 0.0003224994503120344 7.709563804183875 +257.0939616583555 85.40420498679829 110.05836070945647 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body994 2.96336237e-07 0.0012377043699630425 +7.07980829e-06 +0.9116823198431324 0.00022287062354428208 9.300229676165964 +280.63884189171 318.62871983717224 296.0717146606687 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body995 2.96336237e-07 0.002260220280143841 +7.07980829e-06 +1.6648586838386625 0.0007465494368326222 7.4287326086969925 +112.11905360177528 291.5900905227579 109.71810904858756 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body996 2.96336237e-07 0.00026215899699463027 +7.07980829e-06 +0.19310404677245338 0.0006067378650827866 3.6110927080088966 +97.28106390217381 324.10608453382685 168.11069126980863 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body997 2.96336237e-07 0.00018069785172300103 +7.07980829e-06 +0.13310047265520683 0.0005521152215102571 4.912658693805361 +93.03184991783085 132.10056259281993 305.7467862413506 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body998 2.96336237e-07 0.0014835722645703342 +7.07980829e-06 +1.092786481685282 0.00022519760218844083 0.28299231052296037 +293.16727028839244 89.60460664524368 269.71206597351477 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body999 2.96336237e-07 0.0006542284424778668 +7.07980829e-06 +0.48189900481921283 5.8469340653842034e-05 8.6347131557263 +320.3038606133154 3.7362594166049425 297.8745781037441 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1000 2.96336237e-07 0.0023860635951898344 +7.07980829e-06 +1.7575537798423284 0.0015923584364734404 0.7497659565533127 +258.13390529900033 164.1276557227987 234.5342373211746 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1001 2.96336237e-07 0.00016412719469400177 +7.07980829e-06 +0.12089467019692349 0.0006199101143477205 3.528817814353401 +42.290001410886 340.89543332710036 171.86047583604415 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1002 2.96336237e-07 0.004941936846687636 +7.07980829e-06 +3.6401878818937763 0.001361898468997319 2.167593142033261 +16.21639790039635 4.730174650782885 58.251883556586385 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1003 2.96336237e-07 0.00022503263383578275 +7.07980829e-06 +0.16575708920050317 0.001966846897325159 9.99588265829861 +161.46885212574486 120.73838153799245 190.69422150670002 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1004 2.96336237e-07 0.0006111785368094322 +7.07980829e-06 +0.4501888171352197 0.001266552287936059 3.4753217655037876 +293.8923905613918 150.86042915093037 112.98897163665784 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1005 2.96336237e-07 0.0014933101478686677 +7.07980829e-06 +1.0999593221884236 0.0003932826201052038 11.015694261113268 +197.1351304007129 80.23041820280649 256.5820864126465 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1006 2.96336237e-07 0.00018406461078391325 +7.07980829e-06 +0.13558039822184031 0.0018493648780547522 8.220110340024462 +55.73290020366385 260.5081647359973 247.1075065232204 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1007 2.96336237e-07 0.00019456058361372848 +7.07980829e-06 +0.14331164090847814 0.0010977637225908158 2.4063330147587334 +280.25718138195566 174.4845719313416 50.162734252997346 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1008 2.96336237e-07 0.00024237110581885066 +7.07980829e-06 +0.17852845750433366 0.0015150721806043333 2.593896114664551 +1.5867521368020707 50.3209565059869 286.4748774211602 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1009 2.96336237e-07 0.0002880594378219669 +7.07980829e-06 +0.2121820871765049 0.0011051968447009415 0.9220451361420159 +213.93920419758638 101.13182462569537 87.28103445701775 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1010 2.96336237e-07 0.001835451666065534 +7.07980829e-06 +1.3519778013941521 0.0012681262242561415 8.64584690347934 +157.36434888906416 144.07645513624757 80.24977045653176 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1011 2.96336237e-07 0.00031003391026964154 +7.07980829e-06 +0.22836829327273386 0.0014620575872105336 7.427938697241293 +90.3044091402035 81.87800973534473 358.49381627511474 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1012 2.96336237e-07 0.00017192364762639922 +7.07980829e-06 +0.1266374699061692 0.0018842981448954994 3.4713185050926847 +76.79269848254022 92.0385212581749 214.5312215545811 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1013 2.96336237e-07 0.0011995594696174474 +7.07980829e-06 +0.8835851166004101 0.000669592468330938 1.2977853266371469 +325.7330316843859 1.5205524389952982 206.46145338562224 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1014 2.96336237e-07 0.0004297236435249972 +7.07980829e-06 +0.31653071422217804 0.0003968290223471482 10.695383872637636 +235.65535308705591 285.04481948708445 4.037853790044544 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1015 2.96336237e-07 0.0009663190570397225 +7.07980829e-06 +0.7117822486616155 1.0582720333339041e-05 1.0331708911946655 +20.22623311598944 318.3578681583923 174.8102790417449 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1016 2.96336237e-07 0.00019430233859558718 +7.07980829e-06 +0.14312141986463225 0.000694789513369331 1.1919133893280893 +144.64146687271867 33.42514348436069 1.7437790912856979 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1017 2.96336237e-07 0.0002351421165249028 +7.07980829e-06 +0.17320364659668183 0.00011020940322937086 6.6717830165939 +106.49474151879747 116.21484599903383 168.11514233105655 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1018 2.96336237e-07 0.0006374122183839503 +7.07980829e-06 +0.46951231978763164 1.0313885841382204e-05 0.283485576361803 +248.40949874465076 61.78537628740118 69.80315322742248 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1019 2.96336237e-07 0.0016238205834913815 +7.07980829e-06 +1.196092178789557 0.00044029218790311245 9.294952685150736 +192.9432720942652 219.75438615459558 8.593013571751802 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1020 2.96336237e-07 0.0002359911786367202 +7.07980829e-06 +0.1738290583949901 0.0016860917119783944 7.070809732901793 +50.61554168251882 82.35194741251726 122.93934305630053 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1021 2.96336237e-07 0.0013374222699180736 +7.07980829e-06 +0.985133661348538 0.0016013894048395488 0.1937721644334621 +310.06595705801703 328.0680479331346 324.315639311186 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1022 2.96336237e-07 0.0005509336475663367 +7.07980829e-06 +0.40581295346635515 0.00177184140930115 4.72270518835129 +13.777991578702514 29.103319407207273 209.48918113436866 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1023 2.96336237e-07 0.00041610279811663437 +7.07980829e-06 +0.30649771745697174 0.0009590960375982868 0.3398205898598721 +4.114269656502745 119.46390049602921 202.11512779386223 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1024 2.96336237e-07 0.0001403860693474923 +7.07980829e-06 +0.1034071628754145 0.0014866370983263651 0.4388100867792128 +156.1246806954142 299.55046831024754 184.84512699514002 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1025 2.96336237e-07 0.0004904100706912027 +7.07980829e-06 +0.36123181090129014 0.0005275158958782995 6.040658312413581 +289.57784927223867 106.22818791374922 246.0010122010286 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1026 2.96336237e-07 0.0002115872709214439 +7.07980829e-06 +0.1558533513206383 0.00017962305255114086 2.228555718939646 +221.69083506261506 335.55035580083063 68.78998943071673 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1027 2.96336237e-07 0.0012054461730928302 +7.07980829e-06 +0.8879212113989006 0.0018184438677694458 9.604726975252321 +256.33122715191917 110.65660729704527 307.36242303481583 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1028 2.96336237e-07 0.0002301953665735905 +7.07980829e-06 +0.16955991342360516 0.001875700972295152 8.812230202795027 +318.4987276783344 313.5618824324488 232.72945395306718 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1029 2.96336237e-07 0.0003830711229494787 +7.07980829e-06 +0.2821668715978782 0.0018646047988924999 10.4842960126124 +87.79503469486153 142.14901778290115 169.28619961043805 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1030 2.96336237e-07 0.00013616362117447619 +7.07980829e-06 +0.1002969441194545 0.0019340938484324966 9.257468575255746 +98.6643320398618 100.47235147951874 223.44457800245482 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1031 2.96336237e-07 0.0010567519895469774 +7.07980829e-06 +0.7783943635569466 0.001679773904269816 1.2027233467654006 +183.8272709991961 232.37589915408836 235.10407255216268 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1032 2.96336237e-07 0.0006595442619462101 +7.07980829e-06 +0.485814591402228 0.0010034907372722369 3.273195681562454 +229.21049828043255 132.60304900464524 14.233912459494354 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1033 2.96336237e-07 0.00023664997581116507 +7.07980829e-06 +0.17431432268820896 0.0016827982976985647 5.078435328585683 +62.29790054827389 41.22978729775912 107.23698746785354 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1034 2.96336237e-07 0.001318705638331831 +7.07980829e-06 +0.9713471526164856 0.0018570382735186622 7.035178345537015 +353.5214098527756 257.39567363852177 183.11732818206784 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1035 2.96336237e-07 0.0005118746339964803 +7.07980829e-06 +0.37704242233926993 0.0005823099511214891 7.468921656685116 +229.6514522787109 181.28691418249238 167.59896969912432 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1036 2.96336237e-07 0.00015029486112446563 +7.07980829e-06 +0.11070589308377869 0.00018389956348444143 1.9961843041263327 +158.13156629323322 291.93559238946756 147.74549322555492 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1037 2.96336237e-07 0.00043842515077565096 +7.07980829e-06 +0.32294016910407747 0.0015694793242154081 4.926590245765692 +301.9847715564752 193.4474659331788 270.15259927024186 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1038 2.96336237e-07 0.0006671725313668756 +7.07980829e-06 +0.49143350859327606 0.0015771093149727837 10.224654773938632 +111.27785703678904 48.8195507283246 90.33356191746999 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1039 2.96336237e-07 0.0007178575227925163 +7.07980829e-06 +0.5287676343227806 0.0014126630019065758 9.776440869136062 +187.9378440567246 159.39709706456992 19.349416992256124 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1040 2.96336237e-07 0.0002798437797408352 +7.07980829e-06 +0.20613050458520504 0.0016509289679437099 4.723892716345665 +91.14449265725597 85.21589055108116 98.32164075727847 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1041 2.96336237e-07 0.0002263422882310149 +7.07980829e-06 +0.16672176928584023 0.0004714213343695067 0.22170557888045386 +54.607112841276376 12.205015472013512 173.46043809374353 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1042 2.96336237e-07 0.0009296457461436903 +7.07980829e-06 +0.6847690054628205 0.0006431313423143502 0.7775645891294196 +13.438885358051545 201.28512538898056 237.90695576201654 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1043 2.96336237e-07 0.00014471154854085126 +7.07980829e-06 +0.1065932733886645 0.0013576679540193398 5.468547562720859 +36.06169947612996 221.1108065224926 121.64906093398862 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1044 2.96336237e-07 0.00037877024306155 +7.07980829e-06 +0.2789988807199672 0.0011132428485285735 5.050474666995423 +249.74545118406445 258.5653900199572 92.29764359239104 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1045 2.96336237e-07 0.001114328815806798 +7.07980829e-06 +0.8208049551389457 0.0002629442756225448 6.163105710226599 +271.7004838770167 98.10963662399806 23.94590526447956 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1046 2.96336237e-07 0.0001582092222130898 +7.07980829e-06 +0.11653554291976381 0.00023376293046817017 8.835825709860268 +263.8062967986066 31.365484807908 308.687475111338 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1047 2.96336237e-07 0.0001380216644816069 +7.07980829e-06 +0.10166556272800358 0.00045162508055423043 1.5132402918154233 +326.71546075352586 327.68305493129543 29.18082087489584 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1048 2.96336237e-07 0.0006949747121783435 +7.07980829e-06 +0.5119123541997226 0.0018713396984367957 7.02135922104862 +303.3858597951343 78.44703853152163 145.1418248146341 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1049 2.96336237e-07 0.00041090676352630105 +7.07980829e-06 +0.3026703633777083 0.0018193201285857054 4.736122465093243 +192.76873790004578 123.35136201021704 226.6478029131528 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1050 2.96336237e-07 0.0005190460990146181 +7.07980829e-06 +0.382324861363546 0.00036914350456759447 7.0531347201912356 +319.30383186798866 186.0442457047016 45.41161522402716 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1051 2.96336237e-07 0.0005570896423234391 +7.07980829e-06 +0.4103474058907777 0.00019454636651792913 3.308658013346352 +259.4879647052133 198.29000308840256 121.88790531858048 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1052 2.96336237e-07 0.00015004376774584662 +7.07980829e-06 +0.11052093987566852 0.0005132108209643012 5.847971496400572 +358.2931626537533 52.74559372288429 341.8253704638137 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1053 2.96336237e-07 0.0002698064447930371 +7.07980829e-06 +0.19873709059045247 4.0859603511946685e-05 9.177085749947818 +74.85375525962608 51.57071985092971 71.96201861419884 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1054 2.96336237e-07 0.0012305098304465736 +7.07980829e-06 +0.9063828843432212 8.347532413762518e-05 11.039263844273759 +351.14137820165297 198.23851222477109 203.36588365669812 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1055 2.96336237e-07 0.0001568172138124013 +7.07980829e-06 +0.11551020158723 0.0009641443679568011 6.060219043124053 +250.67097763803443 73.7144156562964 61.69380447177951 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1056 2.96336237e-07 0.0007784718672315925 +7.07980829e-06 +0.5734156354893578 0.00037805965343345397 9.20178855576056 +185.31494995190826 272.62312850782456 244.0037955450334 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1057 2.96336237e-07 0.0020016415139744647 +7.07980829e-06 +1.474391804085696 0.0017615842823230773 6.886427957908099 +232.2819884863594 20.386138671028082 287.0942892242212 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1058 2.96336237e-07 0.0003128786308940594 +7.07980829e-06 +0.23046368984813118 0.00026034657543586693 0.9965960172825522 +282.2271432222122 109.64538903982367 30.26113287739992 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1059 2.96336237e-07 0.002280948538736275 +7.07980829e-06 +1.6801269396018885 0.0018814136632662839 4.401712167064789 +142.60240528002035 323.0208336955997 201.17599880588443 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1060 2.96336237e-07 0.0010794162761996403 +7.07980829e-06 +0.7950886808224714 0.0006422835491610436 7.311343469200093 +3.3195965949378676 195.64747664798455 301.5916100882996 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1061 2.96336237e-07 0.0038205438966614834 +7.07980829e-06 +2.8141795466674058 0.00119787361542321 10.667509696747311 +52.83677312459824 41.02571442700538 313.93040156906204 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1062 2.96336237e-07 0.0007444726066210494 +7.07980829e-06 +0.5483720745723865 0.0003865067453184975 0.5355920908152287 +342.9518172608334 309.11372912966795 118.04505970639424 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1063 2.96336237e-07 0.0030820512703673723 +7.07980829e-06 +2.2702122738145465 0.001414595339723291 3.0183779331408984 +44.040931617179766 165.14070943364828 170.9325128444665 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1064 2.96336237e-07 0.001292023450921525 +7.07980829e-06 +0.9516932844496926 0.001255124176185626 9.410447615755132 +103.77112988217213 98.92626620219501 36.37866204625916 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1065 2.96336237e-07 0.0005006501267576775 +7.07980829e-06 +0.3687745475164047 0.00012010083746096664 11.332153792172592 +82.36163994190758 221.29234376821722 312.489878003404 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1066 2.96336237e-07 0.00024312721614488058 +7.07980829e-06 +0.17908540182223479 0.0007928811065615938 9.090241652441014 +148.41938777280106 66.55238686381871 122.48896513542098 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1067 2.96336237e-07 0.000484561114979234 +7.07980829e-06 +0.3569235207784181 0.0002450194070024846 4.327457613923389 +154.34903842078862 184.03496751066874 141.03467043934236 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1068 2.96336237e-07 0.0002295281745818022 +7.07980829e-06 +0.169068465580634 0.0014182095016049016 4.076850747292395 +285.9512621452999 304.0626748996221 13.733221199055034 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1069 2.96336237e-07 0.0003594752961708292 +7.07980829e-06 +0.2647863899431045 0.0002604205926253782 9.280674865620604 +145.2491426198426 8.796817478925986 128.45810995912268 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1070 2.96336237e-07 0.00014172518222536575 +7.07980829e-06 +0.10439354182394157 9.839221898313551e-05 2.1156677281913794 +24.852002854809896 92.69018327719559 148.89039267610767 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1071 2.96336237e-07 0.0002016479386200088 +7.07980829e-06 +0.14853212522645015 0.0017914163418180427 11.068928719328813 +114.12056238330297 311.59906008741643 291.70201700840965 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1072 2.96336237e-07 0.00029647910859208323 +7.07980829e-06 +0.21838394374767 0.0005146041736322796 9.504245913579787 +265.097773326478 182.73670388417793 51.957204708288096 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1073 2.96336237e-07 0.00027367525859549297 +7.07980829e-06 +0.20158682533168915 0.00018687907075023996 9.319915790288432 +282.55201858549447 141.6311126988207 131.21227760057155 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1074 2.96336237e-07 0.00015525822331078113 +7.07980829e-06 +0.11436186268528936 0.0004119016832350737 6.574991289388891 +105.77935988116378 236.0611136901257 109.28511887744698 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1075 2.96336237e-07 0.0003583433710142642 +7.07980829e-06 +0.2639526236757552 0.0008337956289715744 1.3376216652307844 +121.92448780471639 34.07719270560039 77.69917625943664 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1076 2.96336237e-07 0.00038670760067879823 +7.07980829e-06 +0.2848454695997766 0.0016887729407050614 2.0032196718865887 +5.268555024531614 305.5550610348134 87.36285255817019 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1077 2.96336237e-07 0.0005852817156672451 +7.07980829e-06 +0.4311134429599012 4.2331792720825e-05 8.59969096301321 +63.37516804763427 165.06484164761468 4.724447309546279 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1078 2.96336237e-07 0.0015676661151334862 +7.07980829e-06 +1.1547292837198626 0.0011981035748268721 8.969251150946953 +305.463305609603 217.13849671607755 101.181996737649 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1079 2.96336237e-07 0.00014305620178764748 +7.07980829e-06 +0.10537395930629548 0.0009062114287953925 8.535513578982753 +200.6263462199005 138.64084794365152 240.50625521460537 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1080 2.96336237e-07 0.0004940068971867729 +7.07980829e-06 +0.36388120214780617 0.0011787048296460743 2.2700663210263694 +157.0025718585469 106.5254491912733 193.52066864297382 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1081 2.96336237e-07 0.00034215807366096336 +7.07980829e-06 +0.25203067381720473 0.00033240376352644557 5.8095471421992055 +294.8529110644031 32.43864947017361 108.02452531613245 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1082 2.96336237e-07 0.0005257134897729528 +7.07980829e-06 +0.38723600365355887 0.0014176988844195625 1.7020679685604367 +154.24226598932938 249.80038110010247 217.66315089733828 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1083 2.96336237e-07 0.00013922216074144442 +7.07980829e-06 +0.10254983787616709 0.001955802223468188 6.566427553036517 +285.0325186657339 202.16052389944963 135.84081277325714 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1084 2.96336237e-07 0.0002073898952932506 +7.07980829e-06 +0.15276160078405535 0.0007628203986920079 10.56800929369996 +333.12847419347 204.0299708421488 12.049520689477403 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1085 2.96336237e-07 0.00017702811622741558 +7.07980829e-06 +0.13039737727070405 0.00036806562946591764 7.391982068575776 +17.506082273198004 89.500369236383 15.26719944960728 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1086 2.96336237e-07 0.00020397807847560232 +7.07980829e-06 +0.15024848606403035 0.0015049857013671706 1.2247498246658155 +268.0571666819836 169.12252482509325 35.3722225357901 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1087 2.96336237e-07 0.00014807870410146713 +7.07980829e-06 +0.10907349101354584 0.0006756310625710788 1.2383196196555968 +64.40501108361362 318.89784866832827 311.5312956004794 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1088 2.96336237e-07 0.0002733111251738441 +7.07980829e-06 +0.20131860780686034 0.001126384587638148 3.43465132561609 +184.4402950800669 242.44812792063072 237.3097094630739 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1089 2.96336237e-07 0.00015277565689980917 +7.07980829e-06 +0.11253322576709932 0.0009290556457821281 8.960476834173825 +258.69701166205476 210.9678169871424 193.3540846978131 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1090 2.96336237e-07 0.0043134087862902485 +7.07980829e-06 +3.177219555938278 0.0008815486955619425 3.6471376972641885 +187.12691492260888 208.12911881504223 127.41614600761226 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1091 2.96336237e-07 0.00037712157611909835 +7.07980829e-06 +0.27778448692834806 0.0005856039772976977 0.7362629193989895 +352.3748924239602 122.29468759528565 358.21764314401554 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1092 2.96336237e-07 0.00024348957256648923 +7.07980829e-06 +0.17935231042422356 5.080273648972676e-05 3.472841125950471 +87.14731508665045 200.7294349087714 23.581240140004677 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1093 2.96336237e-07 0.0019968678097743524 +7.07980829e-06 +1.4708755349142997 0.0008350197432291574 6.939407722721982 +184.84798594437146 215.22131590969263 274.3975154363176 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1094 2.96336237e-07 0.0002513942749606196 +7.07980829e-06 +0.1851748457494931 0.0012729795107657288 3.968846002826205 +15.515048045390435 316.7696316507825 94.76644295378343 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1095 2.96336237e-07 0.0001559672886350869 +7.07980829e-06 +0.11488415406235117 0.0006109202926005335 3.789764151004609 +278.57890670487143 14.385308236382837 334.617191068131 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1096 2.96336237e-07 0.0005494382458640973 +7.07980829e-06 +0.404711453523331 0.0018056648021694045 6.125582872164304 +212.4724906745584 14.141381811132613 308.585487497957 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1097 2.96336237e-07 0.0002965408486382183 +7.07980829e-06 +0.2184294209309568 0.0018885208812988777 11.317354301511031 +164.26963701178843 297.40431351980413 270.4945984891715 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1098 2.96336237e-07 0.0002576039217105266 +7.07980829e-06 +0.18974881776716537 0.00033002858484475775 4.498053807254714 +33.645734868988015 295.597646549693 234.4151171811031 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1099 2.96336237e-07 0.0001958825246323774 +7.07980829e-06 +0.14428537121421636 0.0017137044394379005 4.029642428036966 +271.67316889786736 106.54609382292395 138.21725331441138 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1100 2.96336237e-07 0.00016611157008233055 +7.07980829e-06 +0.12235634392239092 0.001657358982362942 0.5373922338997845 +225.46337325647366 197.13129345073978 114.94304125662089 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1101 2.96336237e-07 0.001308605507277351 +7.07980829e-06 +0.9639074835533934 0.0010432942754127976 10.412349198039687 +114.9249921105892 32.56533325561457 288.25205278496304 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1102 2.96336237e-07 0.0003442049054244555 +7.07980829e-06 +0.25353835236771743 0.0008680211886097618 7.07908811460832 +184.72976734274292 234.14267202181568 36.374336712281284 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1103 2.96336237e-07 0.00262679764649654 +7.07980829e-06 +1.9348763971706382 0.001429152651771894 6.217100494758238 +51.181217194967104 134.40266278121493 62.68811212560275 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1104 2.96336237e-07 0.00013666754181719987 +7.07980829e-06 +0.10066812770070735 0.0010243846983094584 9.311950281761822 +220.50938404411406 259.8318109894018 285.0754878105018 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1105 2.96336237e-07 0.00019553250780010182 +7.07980829e-06 +0.14402755184686397 0.0015210580561077288 1.9378674420443527 +31.802333045565963 246.72956575146446 163.22157357298997 +0.4 0.4 0.4 +0.0 0.0 0.0 +Body1106 2.96336237e-07 0.0011042330330908016 +7.07980829e-06 +0.8133684890243221 4.150335338481837e-05 7.261073943736824 +269.56939767535096 179.46353685386686 260.9257799412304 +0.4 0.4 0.4 +0.0 0.0 0.0 diff --git a/examples/symba_clement_2018/sun_MsunAUYR.in b/examples/symba_clement_2018/sun_MsunAUYR.in new file mode 100644 index 000000000..20c47c397 --- /dev/null +++ b/examples/symba_clement_2018/sun_MsunAUYR.in @@ -0,0 +1,7 @@ +Sun +39.476926408897626 +0.004650467260962157 +0.0 +0.0 +0.0 0.0 0.07 +11.2093063 -38.75937204 82.25088158 diff --git a/examples/symba_clement_2018/tp.in b/examples/symba_clement_2018/tp.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_clement_2018/tp.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_energy_momentum/Untitled.ipynb b/examples/symba_energy_momentum/Untitled.ipynb new file mode 100644 index 000000000..3b730328e --- /dev/null +++ b/examples/symba_energy_momentum/Untitled.ipynb @@ -0,0 +1,470 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'/home/daminton/git/swiftest/examples/symba_energy_momentum'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import swiftest\n", + "import os\n", + "import xarray as xr\n", + "import numpy as np\n", + "os.getcwd()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swiftest file param.disruption_off_axis.in\n", + "\n", + "Creating Dataset\n", + "Successfully converted 102 output frames.\n", + "Swiftest simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "sim = swiftest.Simulation(param_file=\"param.disruption_off_axis.in\")\n", + "sim.bin2xr()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'origin_type' (id: 15)>\n",
+       "array(['Initial conditions', 'Initial conditions', 'Initial conditions',\n",
+       "       'Disruption', 'Disruption', 'Disruption', 'Disruption',\n",
+       "       'Disruption', 'Disruption', 'Disruption', 'Disruption',\n",
+       "       'Disruption', 'Disruption', 'Disruption', 'Disruption'],\n",
+       "      dtype='<U18')\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
" + ], + "text/plain": [ + "\n", + "array(['Initial conditions', 'Initial conditions', 'Initial conditions',\n", + " 'Disruption', 'Disruption', 'Disruption', 'Disruption',\n", + " 'Disruption', 'Disruption', 'Disruption', 'Disruption',\n", + " 'Disruption', 'Disruption', 'Disruption', 'Disruption'],\n", + " dtype='\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'discard_time' (id: 23)>\n",
+       "array([ 0.000000e+000,  5.800000e-006,  5.800000e-006, -1.797693e+308,\n",
+       "       -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n",
+       "       -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n",
+       "       -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n",
+       "       -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n",
+       "       -1.797693e+308, -1.797693e+308, -1.797693e+308])\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 0 1 2 3 4 5 6 7 8 9 10 ... 13 14 15 16 17 18 19 20 21 22
" + ], + "text/plain": [ + "\n", + "array([ 0.000000e+000, 5.800000e-006, 5.800000e-006, -1.797693e+308,\n", + " -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n", + " -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n", + " -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n", + " -1.797693e+308, -1.797693e+308, -1.797693e+308, -1.797693e+308,\n", + " -1.797693e+308, -1.797693e+308, -1.797693e+308])\n", + "Coordinates:\n", + " * id (id) int32 0 1 2 3 4 5 6 7 8 9 10 ... 13 14 15 16 17 18 19 20 21 22" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds['discard_time']" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "ds1 = ds.where(np.abs(ds['discard_time']) < 1e99, drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:          (id: 3, time: 301)\n",
+       "Coordinates:\n",
+       "  * time             (time) float64 0.0 1e-07 2e-07 ... 2.98e-05 2.99e-05 3e-05\n",
+       "  * id               (id) int32 0 1 2\n",
+       "Data variables: (12/57)\n",
+       "    npl              (time, id) float64 2.0 2.0 2.0 2.0 ... 20.0 20.0 20.0 20.0\n",
+       "    ntp              (time, id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
+       "    name             (id) object b'0' b'1' b'2'\n",
+       "    particle_type    (id) object b'Central Body' b'Massive Body' b'Massive Body'\n",
+       "    xhx              (time, id) float64 0.0 1.0 1.0 0.0 1.0 ... 0.0 0.0 0.0 0.0\n",
+       "    xhy              (time, id) float64 0.0 -4.2e-05 4.2e-05 0.0 ... 0.0 0.0 0.0\n",
+       "    ...               ...\n",
+       "    discard_xhy      (id) float64 -2.736e+299 -5.125e-06 5.125e-06\n",
+       "    discard_xhz      (id) float64 0.0 0.0 0.0\n",
+       "    discard_vhx      (id) float64 2.171e-314 -0.0002318 -0.0002318\n",
+       "    discard_vhy      (id) float64 0.0 6.28 -6.281\n",
+       "    discard_vhz      (id) float64 2.171e-314 0.0 0.0\n",
+       "    discard_body_id  (id) float64 -2.147e+09 -2.147e+09 -2.147e+09
" + ], + "text/plain": [ + "\n", + "Dimensions: (id: 3, time: 301)\n", + "Coordinates:\n", + " * time (time) float64 0.0 1e-07 2e-07 ... 2.98e-05 2.99e-05 3e-05\n", + " * id (id) int32 0 1 2\n", + "Data variables: (12/57)\n", + " npl (time, id) float64 2.0 2.0 2.0 2.0 ... 20.0 20.0 20.0 20.0\n", + " ntp (time, id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", + " name (id) object b'0' b'1' b'2'\n", + " particle_type (id) object b'Central Body' b'Massive Body' b'Massive Body'\n", + " xhx (time, id) float64 0.0 1.0 1.0 0.0 1.0 ... 0.0 0.0 0.0 0.0\n", + " xhy (time, id) float64 0.0 -4.2e-05 4.2e-05 0.0 ... 0.0 0.0 0.0\n", + " ... ...\n", + " discard_xhy (id) float64 -2.736e+299 -5.125e-06 5.125e-06\n", + " discard_xhz (id) float64 0.0 0.0 0.0\n", + " discard_vhx (id) float64 2.171e-314 -0.0002318 -0.0002318\n", + " discard_vhy (id) float64 0.0 6.28 -6.281\n", + " discard_vhz (id) float64 2.171e-314 0.0 0.0\n", + " discard_body_id (id) float64 -2.147e+09 -2.147e+09 -2.147e+09" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "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.6" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/symba_energy_momentum/collision_movie.py b/examples/symba_energy_momentum/collision_movie.py index 3fd3b6a86..4f472d9ff 100755 --- a/examples/symba_energy_momentum/collision_movie.py +++ b/examples/symba_energy_momentum/collision_movie.py @@ -10,44 +10,50 @@ xmax = 20.0 ymin = -20.0 ymax = 20.0 - -cases = ['supercat_head', 'supercat_off', 'disruption_head', 'disruption_off'] - -def scale_sim(ds): - +framejump = 1 +ncutoff = 1e20 +radscale = 2000 + +#cases = ['supercat_head', 'supercat_off', 'disruption_head', 'disruption_off'] +cases = ['disruption_off'] + +def scale_sim(ds, Rcb): + dst0 = ds.isel(time=0) + dst0 = dst0.where(dst0['radius'] < Rcb, drop=True) + dst0 = dst0.where(dst0.id > 0, drop=True) + GMtot = dst0['Gmass'].sum(skipna=True, dim="id") dsscale = ds.where(ds.id > 0, drop=True) # Remove the central body + + rscale = ds['radius'].sel(id=1, time=0).values + dsscale['radius'] /= rscale - GMtot = dsscale['GMass'].sum(skipna=True, dim="id").isel(time=0) - rscale = ds['Radius'].sel(id=1, time=0) - dsscale['Radius'] /= rscale + dsscale['radmarker'] = dsscale['radius'].fillna(0) - dsscale['radmarker'] = dsscale['Radius'].fillna(0) + dsscale['xhx'] /= rscale + dsscale['xhy'] /= rscale + dsscale['xhz'] /= rscale - dsscale['px'] /= rscale - dsscale['py'] /= rscale - dsscale['pz'] /= rscale - - mpx = dsscale['GMass'] * dsscale['px'] - mpy = dsscale['GMass'] * dsscale['py'] - mpz = dsscale['GMass'] * dsscale['pz'] - xbsys = mpx.sum(skipna=True, dim="id") / GMtot + mxhx = dsscale['Gmass'] * dsscale['xhx'] + mpy = dsscale['Gmass'] * dsscale['xhy'] + mpz = dsscale['Gmass'] * dsscale['xhz'] + xbsys = mxhx.sum(skipna=True, dim="id") / GMtot ybsys = mpy.sum(skipna=True, dim="id") / GMtot zbsys = mpz.sum(skipna=True, dim="id") / GMtot - mvx = dsscale['GMass'] * dsscale['vx'] - mvy = dsscale['GMass'] * dsscale['vy'] - mvz = dsscale['GMass'] * dsscale['vz'] - vxbsys = mvx.sum(skipna=True, dim="id") / GMtot - vybsys = mvy.sum(skipna=True, dim="id") / GMtot - vzbsys = mvz.sum(skipna=True, dim="id") / GMtot + mvx = dsscale['Gmass'] * dsscale['vhx'] + mvy = dsscale['Gmass'] * dsscale['vhy'] + mvz = dsscale['Gmass'] * dsscale['vhz'] + vhxbsys = mvx.sum(skipna=True, dim="id") / GMtot + vhybsys = mvy.sum(skipna=True, dim="id") / GMtot + vhzbsys = mvz.sum(skipna=True, dim="id") / GMtot - dsscale['pxb'] = dsscale['px'] - xbsys - dsscale['pyb'] = dsscale['py'] - ybsys - dsscale['pzb'] = dsscale['pz'] - zbsys + dsscale['xhxb'] = dsscale['xhx'] - xbsys + dsscale['pyb'] = dsscale['xhy'] - ybsys + dsscale['pzb'] = dsscale['xhz'] - zbsys - dsscale['vxb'] = dsscale['vx'] - vxbsys - dsscale['vyb'] = dsscale['vy'] - vybsys - dsscale['vzb'] = dsscale['vz'] - vzbsys + dsscale['vhxb'] = dsscale['vhx'] - vhxbsys + dsscale['vhyb'] = dsscale['vhy'] - vhybsys + dsscale['vhzb'] = dsscale['vhz'] - vhzbsys return dsscale @@ -64,12 +70,12 @@ class AnimatedScatter(object): """An animated scatter plot using matplotlib.animations.FuncAnimation.""" def __init__(self, ds, param): - frame = 0 - nframes = ds['time'].size - self.ds = scale_sim(ds) + nframes = int(ds['time'].size / framejump) self.param = param + self.Rcb = ds['radius'].sel(id=0, time=0).values self.rot_angle = {} + self.ds = scale_sim(ds, self.Rcb) self.clist = {'Initial conditions' : 'xkcd:windows blue', 'Disruption' : 'xkcd:baby poop', @@ -94,8 +100,9 @@ def __init__(self, ds, param): # Then setup FuncAnimation. self.ani = animation.FuncAnimation(fig, self.update, interval=1, frames=nframes, init_func=self.setup_plot, blit=False) - self.ani.save(animfile, fps=60, dpi=300, - extra_args=['-vcodec', 'libx264']) + #self.ani.save(animfile, fps=60, dpi=300, extra_args=['-vcodec', 'mpeg4']) + self.ani.save(animfile, fps=60, dpi=300, extra_args=['-vcodec', 'libx264']) + print(f"Finished writing {animfile}") def plot_pl_circles(self, pl, radmarker): patches = [] @@ -155,27 +162,27 @@ def origin_to_color(self, origin): return cval def velocity_vectors(self, pl, r): - px = pl[:, 0] + xhx = pl[:, 0] py = pl[:, 1] - vx = pl[:, 2] - vy = pl[:, 3] - vmag = np.sqrt(vx ** 2 + vy ** 2) - ux = np.zeros_like(vx) - uy = np.zeros_like(vx) + vhx = pl[:, 2] + vhy = pl[:, 3] + vmag = np.sqrt(vhx ** 2 + vhy ** 2) + ux = np.zeros_like(vhx) + uy = np.zeros_like(vhx) goodv = vmag > 0.0 - ux[goodv] = vx[goodv] / vmag[goodv] - uy[goodv] = vy[goodv] / vmag[goodv] + ux[goodv] = vhx[goodv] / vmag[goodv] + uy[goodv] = vhy[goodv] / vmag[goodv] varrowend = [] varrowtip = [] for i in range(pl.shape[0]): - vend = (px[i], py[i]) - vtip = (px[i] + vx[i] * self.v_length, py[i] + vy[i] * self.v_length) + vend = (xhx[i], py[i]) + vtip = (xhx[i] + vhx[i] * self.v_length, py[i] + vhy[i] * self.v_length) varrowend.append(vend) varrowtip.append(vtip) return varrowend, varrowtip def spin_arrows(self, pl, id, len): - px = pl[:, 0] + xhx = pl[:, 0] py = pl[:, 1] sarrowend = [] sarrowtip = [] @@ -185,8 +192,8 @@ def spin_arrows(self, pl, id, len): r = R.from_rotvec(self.rot_angle[id[i]]) endrel = r.apply(endrel) tiprel = r.apply(tiprel) - send = (px[i] + endrel[0], py[i] + endrel[1]) - stip = (px[i] + tiprel[0], py[i] + tiprel[1]) + send = (xhx[i] + endrel[0], py[i] + endrel[1]) + stip = (xhx[i] + tiprel[0], py[i] + tiprel[1]) sarrowend.append(send) sarrowtip.append(stip) return sarrowend, sarrowtip @@ -194,7 +201,7 @@ def spin_arrows(self, pl, id, len): def setup_plot(self): # First frame """Initial drawing of the scatter plot.""" - t, name, GMass, Radius, npl, pl, radmarker, origin = next(self.data_stream(0)) + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(0)) cval = self.origin_to_color(origin) @@ -220,7 +227,7 @@ def setup_plot(self): def update(self,frame): """Update the scatter plot.""" - t, name, GMass, Radius, npl, pl, radmarker, origin = next(self.data_stream(frame)) + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(frame)) cval = self.origin_to_color(origin) varrowend, varrowtip = self.velocity_vectors(pl, radmarker) sarrowend, sarrowtip = self.spin_arrows(pl, name, radmarker) @@ -239,32 +246,33 @@ def update(self,frame): def data_stream(self, frame=0): while True: d = self.ds.isel(time=frame) - Radius = d['radmarker'].values - GMass = d['GMass'].values - x = d['pxb'].values + #d = d.where(d['radius'] > 0.0, drop=True) + radius = d['radius'].values + Gmass = d['Gmass'].values + x = d['xhxb'].values y = d['pyb'].values - vx = d['vxb'].values - vy = d['vyb'].values + vhx = d['vhxb'].values + vhy = d['vhyb'].values name = d['id'].values - npl = d.id.count().values + npl = d['npl'].values[0] id = d['id'].values - rotx = d['rot_x'].values - roty = d['rot_y'].values - rotz = d['rot_z'].values + rotx = d['rotx'].values + roty = d['roty'].values + rotz = d['rotz'].values radmarker = d['radmarker'].values origin = d['origin_type'].values t = self.ds.coords['time'].values[frame] - self.mask = np.logical_not(np.isnan(x)) + self.mask = np.logical_not(radius == 0.0) x = np.nan_to_num(x, copy=False) y = np.nan_to_num(y, copy=False) - vx = np.nan_to_num(vx, copy=False) - vy = np.nan_to_num(vy, copy=False) + vhx = np.nan_to_num(vhx, copy=False) + vhy = np.nan_to_num(vhy, copy=False) radmarker = np.nan_to_num(radmarker, copy=False) - GMass = np.nan_to_num(GMass, copy=False) - Radius = np.nan_to_num(Radius, copy=False) + Gmass = np.nan_to_num(Gmass, copy=False) + radius = np.nan_to_num(radius, copy=False) rotx = np.nan_to_num(rotx, copy=False) roty = np.nan_to_num(roty, copy=False) rotz = np.nan_to_num(rotz, copy=False) @@ -281,7 +289,7 @@ def data_stream(self, frame=0): for i in id[idxactive]: self.rot_angle[i] = self.rot_angle[i] + dt * np.array(self.rotvec[i]) frame += 1 - yield t, name, GMass, Radius, npl, np.c_[x, y, vx, vy], radmarker, origin + yield t, name, Gmass, radius, npl, np.c_[x, y, vhx, vhy], radmarker, origin for case in cases: if case == 'supercat_off': @@ -304,6 +312,10 @@ def data_stream(self, frame=0): animfile = 'movies/merger.mp4' titletext = "Merger" paramfile = 'param.merger.in' + elif case == 'hit_and_run': + animfile = 'movies/hitandrun.mp4' + titletext = "Hit and run with fragmentation" + paramfile = 'param.hitandrun.in' else: print(f'{case} is an unknown case') exit(-1) diff --git a/examples/symba_energy_momentum/hitandrun.in b/examples/symba_energy_momentum/hitandrun.in new file mode 100644 index 000000000..45f3654f8 --- /dev/null +++ b/examples/symba_energy_momentum/hitandrun.in @@ -0,0 +1,13 @@ +2 +1 1e-07 0.0009 +7e-06 +1.0 -4.20E-05 0.0 +0.00 6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 6.0e4 !rot +2 7e-10 0.0004 +3.25e-06 +1.0 4.20E-05 0.0 +-1.50 -6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 1.0e5 !rot diff --git a/examples/symba_energy_momentum/param.disruption_headon.in b/examples/symba_energy_momentum/param.disruption_headon.in index 4a291535e..a012c5505 100644 --- a/examples/symba_energy_momentum/param.disruption_headon.in +++ b/examples/symba_energy_momentum/param.disruption_headon.in @@ -1,15 +1,15 @@ T0 0.0e0 -TSTOP 0.000100 ! simulation length in seconds = 100 years -DT 0.0000001 ! stepsize in seconds +TSTOP 0.0001000 ! simulation length in seconds = 100 years +DT 0.0000001 ! stepsize in seconds CB_IN cb.in PL_IN disruption_headon.in TP_IN tp.in IN_TYPE ASCII ISTEP_OUT 1 ! output cadence every year -BIN_OUT bin.disruption_headon.dat +BIN_OUT bin.disruption_headon.nc PARTICLE_OUT particle.disruption_headon.dat -OUT_TYPE REAL8 ! double precision real output -OUT_FORM XV ! osculating element output +OUT_TYPE NETCDF_DOUBLE ! double precision real output +OUT_FORM XVEL ! osculating element output OUT_STAT REPLACE ISTEP_DUMP 1 ! system dump cadence CHK_CLOSE yes ! check for planetary close encounters @@ -21,7 +21,8 @@ ENC_OUT enc.disruption_headon.dat EXTRA_FORCE no ! no extra user-defined forces BIG_DISCARD no ! output all planets if anything discarded RHILL_PRESENT yes ! Hill's sphere radii in input file -GMTINY 1.0e-16 +GMTINY 1.0e-11 +MIN_GMFRAG 1.0e-11 FRAGMENTATION yes MU2KG 1.98908e30 TU2S 3.1556925e7 diff --git a/examples/symba_energy_momentum/param.disruption_off_axis.in b/examples/symba_energy_momentum/param.disruption_off_axis.in index 0dfbae80a..831f310d5 100644 --- a/examples/symba_energy_momentum/param.disruption_off_axis.in +++ b/examples/symba_energy_momentum/param.disruption_off_axis.in @@ -1,15 +1,15 @@ T0 0.0e0 -TSTOP 0.000100 ! simulation length in seconds = 100 years +TSTOP 0.0001000 ! simulation length in seconds = 100 years DT 0.0000001 ! stepsize in seconds CB_IN cb.in PL_IN disruption_off_axis.in TP_IN tp.in IN_TYPE ASCII ISTEP_OUT 1 ! output cadence every year -BIN_OUT bin.disruption_off_axis.dat +BIN_OUT bin.disruption_off_axis.nc PARTICLE_OUT particle.disruption_off_axis.dat -OUT_TYPE REAL8 ! double precision real output -OUT_FORM XV ! osculating element output +OUT_TYPE NETCDF_DOUBLE ! double precision real output +OUT_FORM XVEL ! osculating element output OUT_STAT REPLACE ISTEP_DUMP 1 ! system dump cadence CHK_CLOSE yes ! check for planetary close encounters @@ -22,7 +22,8 @@ DISCARD_OUT discard.disruption_off_axis.out EXTRA_FORCE no ! no extra user-defined forces BIG_DISCARD no ! output all planets if anything discarded RHILL_PRESENT yes ! Hill's sphere radii in input file -GMTINY 1.0e-16 +GMTINY 1.0e-11 +MIN_GMFRAG 1.0e-11 FRAGMENTATION yes MU2KG 1.98908e30 TU2S 3.1556925e7 diff --git a/examples/symba_energy_momentum/param.escape.in b/examples/symba_energy_momentum/param.escape.in index 90d118017..5f8ef2d0d 100644 --- a/examples/symba_energy_momentum/param.escape.in +++ b/examples/symba_energy_momentum/param.escape.in @@ -9,20 +9,16 @@ ISTEP_OUT 1 ! output cadence every year BIN_OUT bin.escape.dat PARTICLE_OUT particle.escape.dat OUT_TYPE REAL8 ! double precision real output -OUT_FORM XV ! osculating element output +OUT_FORM EL ! osculating element output OUT_STAT REPLACE ISTEP_DUMP 1 ! system dump cadence -J2 0.0 ! no J2 term -J4 0.0 ! no J4 term CHK_CLOSE yes ! check for planetary close encounters -CHK_RMIN 0.00465047 ! check for close solar encounters in AU CHK_RMAX 10000.0 ! discard outside of -CHK_EJECT -1.0 ! ignore this check -CHK_QMIN -1.0 ! ignore this check ENC_OUT enc.escape.dat +DISCARD_OUT discard.escape.dat EXTRA_FORCE no ! no extra user-defined forces BIG_DISCARD no ! output all planets if anything discarded -RHILL_PRESENT no ! Hill's sphere radii in input file +RHILL_PRESENT yes ! Hill's sphere radii in input file GMTINY 1.0e-16 FRAGMENTATION yes MU2KG 1.98908e30 diff --git a/examples/symba_energy_momentum/param.hitandrun.in b/examples/symba_energy_momentum/param.hitandrun.in new file mode 100644 index 000000000..1e2e2eea7 --- /dev/null +++ b/examples/symba_energy_momentum/param.hitandrun.in @@ -0,0 +1,33 @@ +T0 0.0e0 +TSTOP 0.000100 ! simulation length in seconds = 100 years +DT 0.0000001 ! stepsize in seconds +CB_IN cb.in +PL_IN hitandrun.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 ! output cadence every year +BIN_OUT bin.hitandrun.nc +PARTICLE_OUT particle.hitandrun.dat +OUT_TYPE NETCDF_DOUBLE ! double precision real output +OUT_FORM XVEL ! osculating element output +OUT_STAT REPLACE +ISTEP_DUMP 1 ! system dump cadence +CHK_CLOSE yes ! check for planetary close encounters +CHK_RMIN 0.005 +CHK_RMAX 1e6 +CHK_EJECT -1.0 ! ignore this check +CHK_QMIN -1.0 ! ignore this check +ENC_OUT enc.hitandrun.dat +DISCARD_OUT discard.hitandrun.out +EXTRA_FORCE no ! no extra user-defined forces +BIG_DISCARD no ! output all planets if anything discarded +RHILL_PRESENT yes ! Hill's sphere radii in input file +GMTINY 1.0e-11 +MIN_GMFRAG 1.0e-11 +FRAGMENTATION yes +MU2KG 1.98908e30 +TU2S 3.1556925e7 +DU2M 1.49598e11 +ENERGY yes +ROTATION yes +SEED 8 933097 -220886113 -118730874 233084005 32111237 -823335422 524551114 -61162322 diff --git a/examples/symba_energy_momentum/param.sun.in b/examples/symba_energy_momentum/param.sun.in index a7748b19c..351d8adb2 100644 --- a/examples/symba_energy_momentum/param.sun.in +++ b/examples/symba_energy_momentum/param.sun.in @@ -19,15 +19,17 @@ CHK_RMIN 0.005 CHK_RMAX 1e2 CHK_EJECT -1.0 ! ignore this check CHK_QMIN -1.0 ! ignore this check -ENC_OUT enc.escape.dat +ENC_OUT enc.sun.dat +DISCARD_OUT discard.sun.dat EXTRA_FORCE no ! no extra user-defined forces BIG_DISCARD no ! output all planets if anything discarded RHILL_PRESENT no ! Hill's sphere radii in input file GMTINY 1.0e-16 -FRAGMENTATION yes +FRAGMENTATION no MU2KG 1.98908e30 TU2S 3.1556925e7 DU2M 1.49598e11 ENERGY yes +ENERGY_OUT energy.sun.out ROTATION yes SEED 8 1230834 2346113 123409874 -123121105 -767545 -534058022 343309814 -12535638 diff --git a/examples/symba_energy_momentum/param.supercatastrophic_headon.in b/examples/symba_energy_momentum/param.supercatastrophic_headon.in index e9b60e7da..fd15c00dd 100644 --- a/examples/symba_energy_momentum/param.supercatastrophic_headon.in +++ b/examples/symba_energy_momentum/param.supercatastrophic_headon.in @@ -6,10 +6,10 @@ CB_IN cb.in TP_IN tp.in IN_TYPE ASCII ISTEP_OUT 1 ! output cadence every year -BIN_OUT bin.supercatastrophic_headon.dat +BIN_OUT bin.supercatastrophic_headon.nc PARTICLE_OUT particle.supercatastrophic_headon.dat -OUT_TYPE REAL8 ! double precision real output -OUT_FORM XV ! osculating element output +OUT_TYPE NETCDF_DOUBLE ! double precision real output +OUT_FORM XVEL ! osculating element output OUT_STAT REPLACE ISTEP_DUMP 1 ! system dump cadence CHK_CLOSE yes ! check for planetary close encounters @@ -17,11 +17,11 @@ CHK_RMIN 0.005 CHK_RMAX 1e6 CHK_EJECT -1.0 ! ignore this check CHK_QMIN -1.0 ! ignore this check -ENC_OUT enc.supercatastrophic_headon.dat EXTRA_FORCE no ! no extra user-defined forces BIG_DISCARD no ! output all planets if anything discarded RHILL_PRESENT yes ! Hill's sphere radii in input file -GMTINY 1.0e-16 +GMTINY 1.0e-11 +MIN_GMFRAG 1.0e-11 FRAGMENTATION yes MU2KG 1.98908e30 TU2S 3.1556925e7 diff --git a/examples/symba_energy_momentum/param.supercatastrophic_off_axis.in b/examples/symba_energy_momentum/param.supercatastrophic_off_axis.in index 0bf836be5..51ab91e5d 100644 --- a/examples/symba_energy_momentum/param.supercatastrophic_off_axis.in +++ b/examples/symba_energy_momentum/param.supercatastrophic_off_axis.in @@ -21,7 +21,8 @@ ENC_OUT enc.supercatastrophic_off_axis.dat EXTRA_FORCE no ! no extra user-defined forces BIG_DISCARD no ! output all planets if anything discarded RHILL_PRESENT yes ! Hill's sphere radii in input file -GMTINY 1.0e-16 +GMTINY 1.0e-11 +MIN_GMFRAG 1.0e-11 FRAGMENTATION yes MU2KG 1.98908e30 TU2S 3.1556925e7 diff --git a/examples/symba_mars_disk/Untitled.ipynb b/examples/symba_mars_disk/Untitled.ipynb new file mode 100644 index 000000000..7fec51502 --- /dev/null +++ b/examples/symba_mars_disk/Untitled.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/symba_mars_disk/aescattermovie.py b/examples/symba_mars_disk/aescattermovie.py new file mode 100755 index 000000000..85b99c0fa --- /dev/null +++ b/examples/symba_mars_disk/aescattermovie.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +import swiftest +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import animation +import matplotlib.colors as mcolors + +titletext = "High M - High e" +radscale = 1000 +RMars = 3389500.0 +xmin = 1.0 +xmax = 10.0 +ymin = 1e-6 +ymax = 1.0 +framejump = 1 +ncutoff = 1e20 + +class AnimatedScatter(object): + """An animated scatter plot using matplotlib.animations.FuncAnimation.""" + def __init__(self, ds, param): + + frame = 0 + self.ds = ds + self.nframes = int(ds['time'].size / framejump) + self.Rcb = self.ds['radius'].sel(id=0, time=0).values + self.ds = ds + self.param = param + self.clist = {'Initial conditions' : 'xkcd:faded blue', + 'Disruption' : 'xkcd:marigold', + 'Supercatastrophic' : 'xkcd:shocking pink', + 'Hit and run fragment' : 'xkcd:baby poop green'} + + # Setup the figure and axes... + fig = plt.figure(figsize=(8,4.5), dpi=300) + plt.tight_layout(pad=0) + # set up the figure + self.ax = plt.Axes(fig, [0.1, 0.15, 0.8, 0.75]) + self.ax.set_xlim(xmin, xmax) + self.ax.set_ylim(ymin, ymax) + fig.add_axes(self.ax) + self.ani = animation.FuncAnimation(fig, self.update, interval=1, frames=self.nframes, init_func=self.setup_plot, blit=True) + #self.ani.save('aescatter.mp4', fps=30, dpi=300, extra_args=['-vcodec', 'libx264']) + self.ani.save('aescatter.mp4', fps=30, dpi=300, extra_args=['-vcodec', 'mpeg4']) + print('Finished writing aescattter.mp4') + + def scatters(self, pl, radmarker, origin): + scat = [] + for key, value in self.clist.items(): + idx = origin == key + s = self.ax.scatter(pl[idx, 0], pl[idx, 1], marker='o', s=radmarker[idx], c=value, alpha=0.75, label=key) + scat.append(s) + return scat + + def setup_plot(self): + # First frame + """Initial drawing of the scatter plot.""" + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(0)) + + # set up the figure + self.ax.margins(x=10, y=1) + self.ax.set_xlabel('Semi Major Axis ($R_{Mars}$)', fontsize='16', labelpad=1) + self.ax.set_ylabel('Eccentricity', fontsize='16', labelpad=1) + self.ax.set_yscale('log') + + self.title = self.ax.text(0.50, 1.05, "", bbox={'facecolor': 'w', 'alpha': 0.5, 'pad': 5}, transform=self.ax.transAxes, + ha="center", animated=True) + + self.title.set_text(f"{titletext} - Time = ${t / 24 / 3600:4.1f}$ days with ${npl:f}$ particles") + slist = self.scatters(pl, radmarker, origin) + self.s0 = slist[0] + self.s1 = slist[1] + self.s2 = slist[2] + self.s3 = slist[3] + leg = plt.legend(loc="upper right", scatterpoints=1, fontsize=10) + for i,l in enumerate(leg.legendHandles): + leg.legendHandles[i]._sizes = [20] + return self.s0, self.s1, self.s2, self.s3, self.title + + def data_stream(self, frame=0): + while True: + d = self.ds.isel(time=frame) + + d = d.where(d['radius'] < self.Rcb, drop=True) + d['radmarker'] = (d['radius'] / self.Rcb) * radscale + radius = d['radmarker'].values + + Gmass = d['Gmass'].values + a = d['a'].values / self.Rcb + e = d['e'].values + name = d['name'].values + npl = d['npl'].values[0] + radmarker = d['radmarker'] + origin = d['origin_type'].values + + t = self.ds.coords['time'].values[frame] + + frame += 1 + yield t, name, Gmass, radius, npl, np.c_[a, e], radmarker, origin + + def update(self,frame): + """Update the scatter plot.""" + t, name, Gmass, radius, npl, pl, radmarker, origin = next(self.data_stream(framejump * frame)) + + self.title.set_text(f"{titletext} - Time = ${t / 24 / 3600:4.1f}$ days with ${npl:4.0f}$ particles") + + # We need to return the updated artist for FuncAnimation to draw.. + # Note that it expects a sequence of artists, thus the trailing comma. + s = [self.s0, self.s1, self.s2, self.s3] + for i, (key, value) in enumerate(self.clist.items()): + idx = origin == key + s[i].set_sizes(radmarker[idx]) + s[i].set_offsets(pl[idx,:]) + s[i].set_facecolor(value) + + self.s0 = s[0] + self.s1 = s[1] + self.s2 = s[2] + self.s3 = s[3] + return self.s0, self.s1, self.s2, self.s3, self.title, + +sim = swiftest.Simulation(param_file="param.in") +sim.bin2xr() +print('Making animation') +anim = AnimatedScatter(sim.ds,sim.param) +print('Animation finished') diff --git a/examples/symba_mars_disk/cb.in b/examples/symba_mars_disk/cb.in index c9dafacfd..6185284ec 100644 --- a/examples/symba_mars_disk/cb.in +++ b/examples/symba_mars_disk/cb.in @@ -1,4 +1,4 @@ -0 ! id +Mars ! name 4.28388662e+13 ! G*mass 3389500.0 ! radius 0.0 ! J2 diff --git a/examples/symba_mars_disk/mars.in b/examples/symba_mars_disk/mars.in index 8760a493d..188eb3c6e 100644 --- a/examples/symba_mars_disk/mars.in +++ b/examples/symba_mars_disk/mars.in @@ -1,9000 +1,9000 @@ 1500 ! Mars System in SI units -2 9.90685589e+04 8.35558297e+03 ! particle number mass Rhill -7.07643092e+03 !particle radius in m +Body2 9.90685589e+04 8.35558297e+03 ! particle number mass Rhill +7.07643092e+03 !particle radius in AU -2.35807426e+06 8.60445552e+06 1.25224401e+04 ! x y z -2.13373621e+03 -5.91159549e+02 -1.46482980e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -3 3.17438752e+04 6.69500494e+03 ! particle number mass Rhill -4.84234399e+03 !particle radius in m +Body3 3.17438752e+04 6.69500494e+03 ! particle number mass Rhill +4.84234399e+03 !particle radius in AU -8.01160007e+06 -6.93642997e+06 1.51456130e+04 ! x y z 1.31205897e+03 -1.53256580e+03 -1.41252951e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -4 3.98556011e+05 1.56022902e+04 ! particle number mass Rhill -1.12546530e+04 !particle radius in m +Body4 3.98556011e+05 1.56022902e+04 ! particle number mass Rhill +1.12546530e+04 !particle radius in AU 8.10802666e+05 1.07743901e+07 2.02908991e+04 ! x y z -1.97583939e+03 1.47020293e+02 2.81847341e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -5 1.44988335e+05 1.52187807e+04 ! particle number mass Rhill -5.45209420e+03 !particle radius in m +Body5 1.44988335e+05 1.52187807e+04 ! particle number mass Rhill +5.45209420e+03 !particle radius in AU 1.19634122e+07 -8.10716246e+06 -5.95532256e+04 ! x y z 9.82512278e+02 1.42576317e+03 8.88854207e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -6 3.78500932e+05 1.43710361e+04 ! particle number mass Rhill -7.50714229e+03 !particle radius in m +Body6 3.78500932e+05 1.43710361e+04 ! particle number mass Rhill +7.50714229e+03 !particle radius in AU -9.39611249e+06 3.86341011e+06 4.12677461e+04 ! x y z -8.05714130e+02 -1.87378063e+03 1.44571432e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -7 4.22792487e+05 1.91833939e+04 ! particle number mass Rhill -7.78923399e+03 !particle radius in m +Body7 4.22792487e+05 1.91833939e+04 ! particle number mass Rhill +7.78923399e+03 !particle radius in AU -4.75251420e+06 -1.21243281e+07 -4.63584868e+04 ! x y z 1.67483168e+03 -6.72935315e+02 -2.51894419e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -8 7.71745838e+05 2.46689817e+04 ! particle number mass Rhill -9.51941869e+03 !particle radius in m +Body8 7.71745838e+05 2.46689817e+04 ! particle number mass Rhill +9.51941869e+03 !particle radius in AU -1.85450966e+06 -1.34716389e+07 8.25492639e+04 ! x y z 1.75187299e+03 -2.73602528e+02 -3.13786565e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -9 9.61893115e+05 2.40394481e+04 ! particle number mass Rhill -1.02445905e+04 !particle radius in m +Body9 9.61893115e+05 2.40394481e+04 ! particle number mass Rhill +1.02445905e+04 !particle radius in AU 1.23514674e+07 2.68920661e+05 1.39262437e+04 ! x y z -5.46299990e+01 1.85637492e+03 8.88156878e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -10 9.05777402e+05 1.85084324e+04 ! particle number mass Rhill -1.00413666e+04 !particle radius in m +Body10 9.05777402e+05 1.85084324e+04 ! particle number mass Rhill +1.00413666e+04 !particle radius in AU -3.23931710e+06 -9.01689172e+06 -4.12799209e+04 ! x y z 2.01018172e+03 -6.80970287e+02 7.47887585e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -11 7.45490873e+05 1.85936744e+04 ! particle number mass Rhill -9.41021993e+03 !particle radius in m +Body11 7.45490873e+05 1.85936744e+04 ! particle number mass Rhill +9.41021993e+03 !particle radius in AU -8.22383274e+06 6.53912283e+06 -4.14927827e+04 ! x y z -1.24361728e+03 -1.57101590e+03 1.15408315e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -12 1.62561944e+05 1.74719338e+04 ! particle number mass Rhill -5.66402670e+03 !particle radius in m +Body12 1.62561944e+05 1.74719338e+04 ! particle number mass Rhill +5.66402670e+03 !particle radius in AU 1.08162501e+06 1.60434368e+07 -1.90513596e+05 ! x y z -1.63320995e+03 9.41371249e+01 -1.08583324e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -13 2.53914705e+05 1.18629878e+04 ! particle number mass Rhill -9.68422654e+03 !particle radius in m +Body13 2.53914705e+05 1.18629878e+04 ! particle number mass Rhill +9.68422654e+03 !particle radius in AU 8.87638562e+06 -3.42494393e+06 3.77051239e+04 ! x y z 7.17031490e+02 1.98991002e+03 1.65715407e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -14 4.49497062e+05 1.80709533e+04 ! particle number mass Rhill -1.17150625e+04 !particle radius in m +Body14 4.49497062e+05 1.80709533e+04 ! particle number mass Rhill +1.17150625e+04 !particle radius in AU 8.43240423e+06 -8.47557599e+06 9.53685695e+04 ! x y z 1.37244856e+03 1.29766742e+03 6.52389482e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -15 1.26801801e+06 2.59747860e+04 ! particle number mass Rhill -1.12329581e+04 !particle radius in m +Body15 1.26801801e+06 2.59747860e+04 ! particle number mass Rhill +1.12329581e+04 !particle radius in AU 9.22664947e+06 8.30989011e+06 -5.74831096e+04 ! x y z -1.25111883e+03 1.34059241e+03 8.55955292e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -16 9.75352347e+05 2.91597894e+04 ! particle number mass Rhill -1.02921516e+04 !particle radius in m +Body16 9.75352347e+05 2.91597894e+04 ! particle number mass Rhill +1.02921516e+04 !particle radius in AU -4.08982641e+06 1.42813091e+07 2.62466604e+04 ! x y z -1.63050329e+03 -4.70983328e+02 5.42658810e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -17 5.40910752e+04 7.00056187e+03 ! particle number mass Rhill -3.92489041e+03 !particle radius in m +Body17 5.40910752e+04 7.00056187e+03 ! particle number mass Rhill +3.92489041e+03 !particle radius in AU 8.28836769e+06 -4.56966319e+06 -1.00925184e+04 ! x y z 1.01075458e+03 1.85603564e+03 9.12767608e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -18 1.99689612e+06 3.23933078e+04 ! particle number mass Rhill -1.30688534e+04 !particle radius in m +Body18 1.99689612e+06 3.23933078e+04 ! particle number mass Rhill +1.30688534e+04 !particle radius in AU -7.36104027e+06 -1.05891946e+07 7.75267384e+04 ! x y z 1.50650168e+03 -1.03626339e+03 6.92830281e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -19 1.15056094e+06 2.84099265e+04 ! particle number mass Rhill -1.08748232e+04 !particle radius in m +Body19 1.15056094e+06 2.84099265e+04 ! particle number mass Rhill +1.08748232e+04 !particle radius in AU -1.16432549e+07 7.04896042e+06 1.31826777e+04 ! x y z -9.22639859e+02 -1.52066967e+03 -1.15982407e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -20 9.02282771e+04 1.44052969e+04 ! particle number mass Rhill -4.65478777e+03 !particle radius in m +Body20 9.02282771e+04 1.44052969e+04 ! particle number mass Rhill +4.65478777e+03 !particle radius in AU 1.54278872e+07 -4.66477914e+06 2.89150511e+04 ! x y z 4.74802657e+02 1.56436208e+03 1.16558658e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -21 2.52706341e+05 1.13089015e+04 ! particle number mass Rhill -6.56131734e+03 !particle radius in m +Body21 2.52706341e+05 1.13089015e+04 ! particle number mass Rhill +6.56131734e+03 !particle radius in AU 8.25405514e+06 -3.99894087e+06 -1.03017471e+05 ! x y z 9.55530709e+02 1.91876743e+03 -2.12478228e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -22 3.44014800e+05 1.39895248e+04 ! particle number mass Rhill -7.27184654e+03 !particle radius in m +Body22 3.44014800e+05 1.39895248e+04 ! particle number mass Rhill +7.27184654e+03 !particle radius in AU -1.01048660e+07 -7.25267430e+05 3.72763878e+04 ! x y z 1.50338830e+02 -2.04513843e+03 -6.64737882e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -23 2.72301402e+04 6.52734935e+03 ! particle number mass Rhill -4.60100051e+03 !particle radius in m +Body23 2.72301402e+04 6.52734935e+03 ! particle number mass Rhill +4.60100051e+03 !particle radius in AU 1.08085981e+07 8.91343848e+05 -8.59837690e+04 ! x y z -1.73598988e+02 1.98921090e+03 7.39675166e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -24 1.88387060e+06 4.79739567e+04 ! particle number mass Rhill -1.28174811e+04 !particle radius in m +Body24 1.88387060e+06 4.79739567e+04 ! particle number mass Rhill +1.28174811e+04 !particle radius in AU -1.95760874e+07 2.13874411e+06 9.87141675e+04 ! x y z -1.78019032e+02 -1.46067517e+03 7.47552271e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -25 1.99552106e+06 3.51994254e+04 ! particle number mass Rhill -1.30658530e+04 !particle radius in m +Body25 1.99552106e+06 3.51994254e+04 ! particle number mass Rhill +1.30658530e+04 !particle radius in AU -5.15587895e+06 1.31093030e+07 2.34999443e+04 ! x y z -1.60915655e+03 -6.75665775e+02 -1.41401807e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -26 9.80460627e+05 2.82973543e+04 ! particle number mass Rhill -1.03100883e+04 !particle radius in m +Body26 9.80460627e+05 2.82973543e+04 ! particle number mass Rhill +1.03100883e+04 !particle radius in AU -1.04206598e+07 1.04694469e+07 3.71773715e+04 ! x y z -1.22193412e+03 -1.15184993e+03 -7.42970615e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -27 2.99657072e+05 1.52153060e+04 ! particle number mass Rhill -1.02339628e+04 !particle radius in m +Body27 2.99657072e+05 1.52153060e+04 ! particle number mass Rhill +1.02339628e+04 !particle radius in AU -8.37104048e+06 -7.31013791e+06 1.37822827e+05 ! x y z 1.31083458e+03 -1.50225202e+03 1.24188931e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -28 5.82137831e+05 2.49711445e+04 ! particle number mass Rhill -8.66551286e+03 !particle radius in m +Body28 5.82137831e+05 2.49711445e+04 ! particle number mass Rhill +8.66551286e+03 !particle radius in AU -1.37026179e+07 6.52187486e+06 4.74483726e+04 ! x y z -7.21171063e+02 -1.51233609e+03 4.06777653e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -29 1.10612525e+06 1.96262714e+04 ! particle number mass Rhill -1.07329828e+04 !particle radius in m +Body29 1.10612525e+06 1.96262714e+04 ! particle number mass Rhill +1.07329828e+04 !particle radius in AU 7.27063487e+05 9.63835599e+06 7.97365647e+04 ! x y z -2.09031891e+03 1.45245810e+02 -8.30488647e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -30 7.84395275e+05 1.87003585e+04 ! particle number mass Rhill -9.57114700e+03 !particle radius in m +Body30 7.84395275e+05 1.87003585e+04 ! particle number mass Rhill +9.57114700e+03 !particle radius in AU 7.25596696e+06 -7.23053656e+06 1.87472853e+03 ! x y z 1.43916819e+03 1.45132061e+03 9.58485615e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -31 6.50793385e+04 1.12167591e+04 ! particle number mass Rhill -6.15153311e+03 !particle radius in m +Body31 6.50793385e+04 1.12167591e+04 ! particle number mass Rhill +6.15153311e+03 !particle radius in AU -7.29036745e+06 1.20321492e+07 2.47342157e+04 ! x y z -1.50263763e+03 -8.87670849e+02 -4.72544240e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -32 1.21978955e+06 2.36695934e+04 ! particle number mass Rhill -1.10887000e+04 !particle radius in m +Body32 1.21978955e+06 2.36695934e+04 ! particle number mass Rhill +1.10887000e+04 !particle radius in AU -4.85214384e+06 9.94913086e+06 -1.36593449e+05 ! x y z -1.77462439e+03 -8.70796881e+02 -4.04772339e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -33 6.39027490e+04 8.29271375e+03 ! particle number mass Rhill -6.11423561e+03 !particle radius in m +Body33 6.39027490e+04 8.29271375e+03 ! particle number mass Rhill +6.11423561e+03 !particle radius in AU -8.57362843e+06 -5.69257679e+06 -1.86992418e+04 ! x y z 1.16808481e+03 -1.69357760e+03 1.48289207e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -34 1.08790745e+05 9.99433624e+03 ! particle number mass Rhill -4.95430775e+03 !particle radius in m +Body34 1.08790745e+05 9.99433624e+03 ! particle number mass Rhill +4.95430775e+03 !particle radius in AU -1.19543227e+04 1.04662309e+07 -2.75529146e+04 ! x y z -2.03252516e+03 -1.02408335e+01 -9.64298816e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -35 8.08651729e+05 1.70555918e+04 ! particle number mass Rhill -9.66880578e+03 !particle radius in m +Body35 8.08651729e+05 1.70555918e+04 ! particle number mass Rhill +9.66880578e+03 !particle radius in AU -1.68361528e+06 9.15840339e+06 -9.34661786e+04 ! x y z -2.10432868e+03 -3.67110160e+02 2.17992849e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -36 5.50682707e+05 1.64680955e+04 ! particle number mass Rhill -8.50653728e+03 !particle radius in m +Body36 5.50682707e+05 1.64680955e+04 ! particle number mass Rhill +8.50653728e+03 !particle radius in AU 7.61819019e+06 6.79194080e+06 -4.97100639e+04 ! x y z -1.37259731e+03 1.51157244e+03 2.28319862e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -37 1.31696234e+06 2.34161781e+04 ! particle number mass Rhill -1.13756647e+04 !particle radius in m +Body37 1.31696234e+06 2.34161781e+04 ! particle number mass Rhill +1.13756647e+04 !particle radius in AU -8.27002578e+05 -1.07584936e+07 -8.18905340e+04 ! x y z 1.98624835e+03 -1.45613526e+02 -2.22634090e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -38 1.67567536e+06 4.67762262e+04 ! particle number mass Rhill -1.23267605e+04 !particle radius in m +Body38 1.67567536e+06 4.67762262e+04 ! particle number mass Rhill +1.23267605e+04 !particle radius in AU 8.40661307e+06 -1.79965632e+07 -1.83341147e+05 ! x y z 1.32267980e+03 6.38873327e+02 -4.32228630e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -39 7.50288390e+05 1.88489715e+04 ! particle number mass Rhill -9.43036290e+03 !particle radius in m +Body39 7.50288390e+05 1.88489715e+04 ! particle number mass Rhill +9.43036290e+03 !particle radius in AU 7.47325276e+06 7.65731082e+06 2.72651622e+04 ! x y z -1.39038210e+03 1.40779235e+03 -7.40097961e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -40 4.23539126e+05 1.37958364e+04 ! particle number mass Rhill -7.79381648e+03 !particle radius in m +Body40 4.23539126e+05 1.37958364e+04 ! particle number mass Rhill +7.79381648e+03 !particle radius in AU -9.14822275e+06 5.65579867e+05 1.54779239e+04 ! x y z -1.53215921e+02 -2.16863876e+03 -1.41098203e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -41 4.39861439e+05 1.66151277e+04 ! particle number mass Rhill -1.16307473e+04 !particle radius in m +Body41 4.39861439e+05 1.66151277e+04 ! particle number mass Rhill +1.16307473e+04 !particle radius in AU -5.60611609e+06 9.45764489e+06 -1.08254759e+05 ! x y z -1.70147881e+03 -1.00583116e+03 -1.54758662e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -42 9.44211643e+05 3.38129666e+04 ! particle number mass Rhill -1.01814300e+04 !particle radius in m +Body42 9.44211643e+05 3.38129666e+04 ! particle number mass Rhill +1.01814300e+04 !particle radius in AU -1.66612775e+07 5.22172921e+06 -2.86187005e+04 ! x y z -4.30163112e+02 -1.50298858e+03 1.29664314e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -43 5.37130817e+05 1.63663901e+04 ! particle number mass Rhill -1.24316568e+04 !particle radius in m +Body43 5.37130817e+05 1.63663901e+04 ! particle number mass Rhill +1.24316568e+04 !particle radius in AU 3.27505920e+06 -9.55860249e+06 -5.64452508e+04 ! x y z 1.95132421e+03 6.74732817e+02 -1.39202732e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -44 5.34406540e+04 6.72719292e+03 ! particle number mass Rhill -3.90909524e+03 !particle radius in m +Body44 5.34406540e+04 6.72719292e+03 ! particle number mass Rhill +3.90909524e+03 !particle radius in AU 1.52951536e+06 -8.90157648e+06 -8.46439916e+04 ! x y z 2.14907459e+03 3.37495875e+02 -8.51148141e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -45 2.61985808e+04 5.30869821e+03 ! particle number mass Rhill -4.54215111e+03 !particle radius in m +Body45 2.61985808e+04 5.30869821e+03 ! particle number mass Rhill +4.54215111e+03 !particle radius in AU 8.06820634e+06 -4.23727397e+06 -3.35114261e+04 ! x y z 1.02022988e+03 1.90034431e+03 -4.99905529e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -46 1.73774454e+05 1.01624840e+04 ! particle number mass Rhill -8.53422917e+03 !particle radius in m +Body46 1.73774454e+05 1.01624840e+04 ! particle number mass Rhill +8.53422917e+03 !particle radius in AU -8.77755612e+06 2.67256349e+06 2.67913370e+04 ! x y z -6.14674972e+02 -2.07327300e+03 8.52604410e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -47 3.73597392e+05 1.46814986e+04 ! particle number mass Rhill -1.10146390e+04 !particle radius in m +Body47 3.73597392e+05 1.46814986e+04 ! particle number mass Rhill +1.10146390e+04 !particle radius in AU 2.70600522e+06 -9.90290693e+06 3.76996678e+04 ! x y z 1.96230063e+03 5.74973963e+02 -1.26240524e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -48 8.11545355e+04 7.79257078e+03 ! particle number mass Rhill -6.62124902e+03 !particle radius in m +Body48 8.11545355e+04 7.79257078e+03 ! particle number mass Rhill +6.62124902e+03 !particle radius in AU -6.67312956e+06 6.21207172e+06 -4.02351915e+03 ! x y z -1.48608180e+03 -1.57249051e+03 1.60424143e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -49 4.45404571e+04 7.26261410e+03 ! particle number mass Rhill -5.42109743e+03 !particle radius in m +Body49 4.45404571e+04 7.26261410e+03 ! particle number mass Rhill +5.42109743e+03 !particle radius in AU -6.18076768e+06 8.34028857e+06 6.32429656e+04 ! x y z -1.63237248e+03 -1.20222734e+03 4.88968977e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -50 1.31861988e+06 3.91995883e+04 ! particle number mass Rhill -1.13804352e+04 !particle radius in m +Body50 1.31861988e+06 3.91995883e+04 ! particle number mass Rhill +1.13804352e+04 !particle radius in AU 5.85188296e+06 1.72848338e+07 9.71123353e+04 ! x y z -1.44962394e+03 4.67717479e+02 -1.00039018e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -51 1.12893377e+05 1.01290663e+04 ! particle number mass Rhill -5.01581856e+03 !particle radius in m +Body51 1.12893377e+05 1.01290663e+04 ! particle number mass Rhill +5.01581856e+03 !particle radius in AU 7.64956565e+06 7.07155375e+06 1.22619349e+05 ! x y z -1.38177043e+03 1.50469594e+03 5.48084097e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -52 1.68334006e+04 5.06310814e+03 ! particle number mass Rhill -3.91946036e+03 !particle radius in m +Body52 1.68334006e+04 5.06310814e+03 ! particle number mass Rhill +3.91946036e+03 !particle radius in AU 8.19731246e+06 5.46984950e+06 3.09134904e+04 ! x y z -1.14400536e+03 1.75729614e+03 -1.68472307e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -53 1.54365101e+05 1.04942587e+04 ! particle number mass Rhill -5.56718137e+03 !particle radius in m +Body53 1.54365101e+05 1.04942587e+04 ! particle number mass Rhill +5.56718137e+03 !particle radius in AU -7.08694323e+06 6.97654393e+06 1.57444613e+04 ! x y z -1.43699629e+03 -1.48696944e+03 1.09569025e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -54 9.06762984e+05 1.88988951e+04 ! particle number mass Rhill -1.00450073e+04 !particle radius in m +Body54 9.06762984e+05 1.88988951e+04 ! particle number mass Rhill +1.00450073e+04 !particle radius in AU 8.33364079e+06 -4.88517773e+06 7.16288059e+04 ! x y z 1.11170923e+03 1.81264092e+03 6.00546346e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -55 2.55655491e+05 1.62270080e+04 ! particle number mass Rhill -6.58674280e+03 !particle radius in m +Body55 2.55655491e+05 1.62270080e+04 ! particle number mass Rhill +6.58674280e+03 !particle radius in AU -9.33769960e+06 9.14931622e+06 -1.61970964e+04 ! x y z -1.24590275e+03 -1.29664452e+03 6.60457748e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -56 1.99590731e+05 1.09981608e+04 ! particle number mass Rhill -8.93749433e+03 !particle radius in m +Body56 1.99590731e+05 1.09981608e+04 ! particle number mass Rhill +8.93749433e+03 !particle radius in AU -9.38351744e+06 2.21172448e+06 -6.82548828e+04 ! x y z -4.82800182e+02 -2.03545597e+03 -5.73581498e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -57 7.37782104e+04 7.34813900e+03 ! particle number mass Rhill -4.35272973e+03 !particle radius in m +Body57 7.37782104e+04 7.34813900e+03 ! particle number mass Rhill +4.35272973e+03 !particle radius in AU 1.87895940e+06 -8.56248718e+06 -3.00496615e+04 ! x y z 2.17444079e+03 4.47176832e+02 -1.19261276e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -58 1.25041873e+06 2.28348345e+04 ! particle number mass Rhill -1.11807470e+04 !particle radius in m +Body58 1.25041873e+06 2.28348345e+04 ! particle number mass Rhill +1.11807470e+04 !particle radius in AU 8.32914883e+06 6.99509139e+06 3.96475596e+03 ! x y z -1.25015649e+03 1.51958279e+03 -4.03731794e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -59 1.37171779e+05 1.41766211e+04 ! particle number mass Rhill -5.35230171e+03 !particle radius in m +Body59 1.37171779e+05 1.41766211e+04 ! particle number mass Rhill +5.35230171e+03 !particle radius in AU 1.40169380e+07 1.14833336e+06 8.97154952e+04 ! x y z -1.67134532e+02 1.72504621e+03 -4.99628204e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -60 8.80288489e+05 1.70052916e+04 ! particle number mass Rhill -9.94627977e+03 !particle radius in m +Body60 8.80288489e+05 1.70052916e+04 ! particle number mass Rhill +9.94627977e+03 !particle radius in AU 6.25929466e+06 6.41436879e+06 2.03611835e+04 ! x y z -1.56963361e+03 1.52043093e+03 1.04032604e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -61 1.96125392e+06 2.29947859e+04 ! particle number mass Rhill -1.29906317e+04 !particle radius in m +Body61 1.96125392e+06 2.29947859e+04 ! particle number mass Rhill +1.29906317e+04 !particle radius in AU 6.59380692e+06 6.26136699e+06 5.26920752e+02 ! x y z -1.52860150e+03 1.56995044e+03 -5.04992194e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -62 1.49347785e+05 9.80816768e+03 ! particle number mass Rhill -5.50619929e+03 !particle radius in m +Body62 1.49347785e+05 9.80816768e+03 ! particle number mass Rhill +5.50619929e+03 !particle radius in AU -3.18458810e+06 8.95887994e+06 6.14079574e+04 ! x y z -1.98254651e+03 -6.98894893e+02 -6.28253660e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -63 8.45892929e+05 1.77429946e+04 ! particle number mass Rhill -9.81501110e+03 !particle radius in m +Body63 8.45892929e+05 1.77429946e+04 ! particle number mass Rhill +9.81501110e+03 !particle radius in AU 3.21556801e+06 8.85736420e+06 1.68758030e+04 ! x y z -2.01862696e+03 7.01940495e+02 -7.77962553e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -64 3.38627248e+05 2.06919676e+04 ! particle number mass Rhill -7.23368562e+03 !particle radius in m +Body64 3.38627248e+05 2.06919676e+04 ! particle number mass Rhill +7.23368562e+03 !particle radius in AU 6.87944610e+06 1.31239767e+07 8.47895296e+04 ! x y z -1.52033935e+03 7.81668854e+02 8.53929151e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -65 7.52641233e+04 8.62006715e+03 ! particle number mass Rhill -4.38175744e+03 !particle radius in m +Body65 7.52641233e+04 8.62006715e+03 ! particle number mass Rhill +4.38175744e+03 !particle radius in AU -7.12317437e+06 7.79679451e+06 1.14295538e+05 ! x y z -1.45772671e+03 -1.35257658e+03 -8.92909999e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -66 7.51283556e+04 7.45534608e+03 ! particle number mass Rhill -6.45312806e+03 !particle radius in m +Body66 7.51283556e+04 7.45534608e+03 ! particle number mass Rhill +6.45312806e+03 !particle radius in AU -7.50346488e+06 4.59614758e+06 -1.78561776e+04 ! x y z -1.17484683e+03 -1.88471092e+03 2.06051741e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -67 3.58863940e+04 7.06699862e+03 ! particle number mass Rhill -5.04443190e+03 !particle radius in m +Body67 3.58863940e+04 7.06699862e+03 ! particle number mass Rhill +5.04443190e+03 !particle radius in AU -9.72849273e+06 -4.49090647e+06 9.42367849e+04 ! x y z 8.55743475e+02 -1.81695360e+03 -2.08602456e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -68 5.39050973e+05 1.89939454e+04 ! particle number mass Rhill -1.24464529e+04 !particle radius in m +Body68 5.39050973e+05 1.89939454e+04 ! particle number mass Rhill +1.24464529e+04 !particle radius in AU -9.38461254e+06 6.94991468e+06 -5.96507119e+04 ! x y z -1.15295098e+03 -1.53950357e+03 3.51558529e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -69 5.55731862e+05 1.63025647e+04 ! particle number mass Rhill -1.25735358e+04 !particle radius in m +Body69 5.55731862e+05 1.63025647e+04 ! particle number mass Rhill +1.25735358e+04 !particle radius in AU -7.41691843e+05 -1.00833740e+07 -5.60539800e+04 ! x y z 2.04132497e+03 -1.60740204e+02 -2.66722707e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -70 1.85893859e+05 1.93787863e+04 ! particle number mass Rhill -8.72818623e+03 !particle radius in m +Body70 1.85893859e+05 1.93787863e+04 ! particle number mass Rhill +8.72818623e+03 !particle radius in AU -1.55585013e+07 -7.11561291e+06 3.93194543e+03 ! x y z 6.65437196e+02 -1.43702009e+03 -7.23293961e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -71 4.73221481e+05 1.37788592e+04 ! particle number mass Rhill -8.08736691e+03 !particle radius in m +Body71 4.73221481e+05 1.37788592e+04 ! particle number mass Rhill +8.08736691e+03 !particle radius in AU -3.34597213e+06 -8.19414991e+06 6.06177774e+04 ! x y z 2.03861032e+03 -8.50240184e+02 5.81078899e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -72 4.28389242e+05 1.47467226e+04 ! particle number mass Rhill -1.15287399e+04 !particle radius in m +Body72 4.28389242e+05 1.47467226e+04 ! particle number mass Rhill +1.15287399e+04 !particle radius in AU 1.97016279e+06 -9.71556312e+06 -9.30987397e+03 ! x y z 2.03815672e+03 3.86141142e+02 -6.70148607e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -73 8.19004993e+05 3.14203696e+04 ! particle number mass Rhill -9.70989454e+03 !particle radius in m +Body73 8.19004993e+05 3.14203696e+04 ! particle number mass Rhill +9.70989454e+03 !particle radius in AU -1.23610305e+07 -1.14674155e+07 1.26044785e+04 ! x y z 1.08318223e+03 -1.17487397e+03 -3.70767753e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -74 3.22247799e+04 9.40603276e+03 ! particle number mass Rhill -4.86667460e+03 !particle radius in m +Body74 3.22247799e+04 9.40603276e+03 ! particle number mass Rhill +4.86667460e+03 !particle radius in AU 6.60995348e+06 1.33054967e+07 -1.05591305e+03 ! x y z -1.53012251e+03 7.44076876e+02 -1.33826451e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -75 9.47076576e+05 1.85861891e+04 ! particle number mass Rhill -1.01917171e+04 !particle radius in m +Body75 9.47076576e+05 1.85861891e+04 ! particle number mass Rhill +1.01917171e+04 !particle radius in AU 7.08025559e+06 6.63712140e+06 8.28590703e+04 ! x y z -1.43411418e+03 1.51197736e+03 -1.05467488e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -76 2.03239039e+05 1.20174065e+04 ! particle number mass Rhill -8.99162185e+03 !particle radius in m +Body76 2.03239039e+05 1.20174065e+04 ! particle number mass Rhill +8.99162185e+03 !particle radius in AU -7.28273678e+06 -7.57343022e+06 -3.32239292e+04 ! x y z 1.43763945e+03 -1.39069870e+03 1.98407302e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -77 9.88331069e+05 1.79814862e+04 ! particle number mass Rhill -1.03376021e+04 !particle radius in m +Body77 9.88331069e+05 1.79814862e+04 ! particle number mass Rhill +1.03376021e+04 !particle radius in AU 9.90338765e+05 -9.02823668e+06 -1.20306983e+04 ! x y z 2.16293198e+03 2.29403632e+02 1.02563280e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -78 1.34673785e+06 2.07165732e+04 ! particle number mass Rhill -1.14607582e+04 !particle radius in m +Body78 1.34673785e+06 2.07165732e+04 ! particle number mass Rhill +1.14607582e+04 !particle radius in AU 7.24980777e+06 6.13973485e+06 4.31080507e+04 ! x y z -1.36304394e+03 1.62331327e+03 -1.35525280e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -79 1.57656876e+05 1.82922097e+04 ! particle number mass Rhill -5.60647602e+03 !particle radius in m +Body79 1.57656876e+05 1.82922097e+04 ! particle number mass Rhill +5.60647602e+03 !particle radius in AU 1.67269227e+07 2.38546079e+06 3.97527319e+04 ! x y z -2.22376967e+02 1.58567381e+03 -8.67277559e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -80 1.28010472e+05 1.07789892e+04 ! particle number mass Rhill -5.23039108e+03 !particle radius in m +Body80 1.28010472e+05 1.07789892e+04 ! particle number mass Rhill +5.23039108e+03 !particle radius in AU 1.04063991e+07 -2.47414364e+06 2.55875518e+04 ! x y z 4.41751921e+02 1.96103152e+03 -4.73452379e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -81 8.50795985e+05 2.19859152e+04 ! particle number mass Rhill -9.83393818e+03 !particle radius in m +Body81 8.50795985e+05 2.19859152e+04 ! particle number mass Rhill +9.83393818e+03 !particle radius in AU 6.53964743e+06 -9.91913737e+06 9.96407478e+04 ! x y z 1.55366935e+03 1.06687009e+03 -2.02851694e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -82 8.53308237e+04 7.87999685e+03 ! particle number mass Rhill -6.73293314e+03 !particle radius in m +Body82 8.53308237e+04 7.87999685e+03 ! particle number mass Rhill +6.73293314e+03 !particle radius in AU 7.88901212e+06 4.39968813e+06 4.59555939e+04 ! x y z -1.07086350e+03 1.89616918e+03 7.27266270e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -83 1.65011172e+06 2.23190317e+04 ! particle number mass Rhill -1.22637545e+04 !particle radius in m +Body83 1.65011172e+06 2.23190317e+04 ! particle number mass Rhill +1.22637545e+04 !particle radius in AU -3.20114591e+05 9.47888835e+06 9.88766449e+03 ! x y z -2.12931637e+03 -7.10990071e+01 1.07017003e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -84 9.21412796e+04 1.13373705e+04 ! particle number mass Rhill -6.90749219e+03 !particle radius in m +Body84 9.21412796e+04 1.13373705e+04 ! particle number mass Rhill +6.90749219e+03 !particle radius in AU 9.14219160e+06 8.75278019e+06 -4.92172540e+04 ! x y z -1.29548970e+03 1.30726587e+03 -1.50278883e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -85 5.44801725e+05 2.52683195e+04 ! particle number mass Rhill -8.47614716e+03 !particle radius in m +Body85 5.44801725e+05 2.52683195e+04 ! particle number mass Rhill +8.47614716e+03 !particle radius in AU -1.38612397e+07 6.86502447e+06 -1.61982632e+04 ! x y z -7.48338598e+02 -1.49504839e+03 1.44565317e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -86 1.69208498e+05 1.34853045e+04 ! particle number mass Rhill -5.74019158e+03 !particle radius in m +Body86 1.69208498e+05 1.34853045e+04 ! particle number mass Rhill +5.74019158e+03 !particle radius in AU 1.25478256e+07 -2.77052958e+05 1.12717341e+03 ! x y z 4.85806635e+01 1.82811230e+03 -1.79057921e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -87 4.14083301e+04 7.99285727e+03 ! particle number mass Rhill -5.29092447e+03 !particle radius in m +Body87 4.14083301e+04 7.99285727e+03 ! particle number mass Rhill +5.29092447e+03 !particle radius in AU 1.40993545e+06 1.16245820e+07 -3.61782966e+04 ! x y z -1.89457813e+03 2.30174579e+02 1.28253693e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -88 2.73242366e+05 1.69259201e+04 ! particle number mass Rhill -9.92395993e+03 !particle radius in m +Body88 2.73242366e+05 1.69259201e+04 ! particle number mass Rhill +9.92395993e+03 !particle radius in AU 1.00651315e+07 -8.63755855e+06 -2.94583233e+04 ! x y z 1.16408014e+03 1.36020820e+03 -5.13543123e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -89 1.56636842e+06 2.89028940e+04 ! particle number mass Rhill -1.20526803e+04 !particle radius in m +Body89 1.56636842e+06 2.89028940e+04 ! particle number mass Rhill +1.20526803e+04 !particle radius in AU 2.98890445e+06 1.22541433e+07 2.56056735e+04 ! x y z -1.78538758e+03 4.40494099e+02 -2.21749367e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -90 7.41360614e+04 8.74086990e+03 ! particle number mass Rhill -4.35975582e+03 !particle radius in m +Body90 7.41360614e+04 8.74086990e+03 ! particle number mass Rhill +4.35975582e+03 !particle radius in AU 5.19540663e+06 -9.11850659e+06 6.55061213e+04 ! x y z 1.75856318e+03 9.95618038e+02 1.03697665e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -91 1.42161293e+05 1.27069754e+04 ! particle number mass Rhill -5.41642563e+03 !particle radius in m +Body91 1.42161293e+05 1.27069754e+04 ! particle number mass Rhill +5.41642563e+03 !particle radius in AU 4.97139511e+06 -1.11941305e+07 -1.40627719e+05 ! x y z 1.71256583e+03 7.58315920e+02 -4.27199322e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -92 9.13995149e+04 1.13361519e+04 ! particle number mass Rhill -6.88890644e+03 !particle radius in m +Body92 9.13995149e+04 1.13361519e+04 ! particle number mass Rhill +6.88890644e+03 !particle radius in AU 1.25156536e+07 -1.83009831e+06 -1.83401376e+04 ! x y z 2.71538728e+02 1.82389745e+03 -1.16128548e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -93 1.07044868e+05 1.17021442e+04 ! particle number mass Rhill -4.92766241e+03 !particle radius in m +Body93 1.07044868e+05 1.17021442e+04 ! particle number mass Rhill +4.92766241e+03 !particle radius in AU -4.24848440e+06 -1.14141124e+07 -3.56440379e+04 ! x y z 1.77145707e+03 -6.72445172e+02 -1.27477365e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -94 3.76989280e+04 5.87655474e+03 ! particle number mass Rhill -5.12796820e+03 !particle radius in m +Body94 3.76989280e+04 5.87655474e+03 ! particle number mass Rhill +5.12796820e+03 !particle radius in AU -2.67257221e+06 8.24864699e+06 -3.60351703e+04 ! x y z -2.13740103e+03 -6.84795253e+02 -6.19432137e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -95 5.61798767e+04 1.27352327e+04 ! particle number mass Rhill -3.97477538e+03 !particle radius in m +Body95 5.61798767e+04 1.27352327e+04 ! particle number mass Rhill +3.97477538e+03 !particle radius in AU 3.38794467e+06 -1.65102444e+07 1.31352407e+05 ! x y z 1.55800648e+03 3.20903339e+02 1.95779030e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -96 1.57775071e+05 1.10562884e+04 ! particle number mass Rhill -5.60787672e+03 !particle radius in m +Body96 1.57775071e+05 1.10562884e+04 ! particle number mass Rhill +5.60787672e+03 !particle radius in AU 3.25966423e+06 9.75900867e+06 3.76712868e+04 ! x y z -1.92824453e+03 6.78004645e+02 2.13894611e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -97 1.13795601e+05 8.57940062e+03 ! particle number mass Rhill -5.02914497e+03 !particle radius in m +Body97 1.13795601e+05 8.57940062e+03 ! particle number mass Rhill +5.02914497e+03 !particle radius in AU -8.82496169e+06 1.17570086e+06 -2.77994253e+03 ! x y z -3.06986654e+02 -2.17589269e+03 -3.00417185e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -98 1.79190724e+06 2.82629939e+04 ! particle number mass Rhill -1.26054254e+04 !particle radius in m +Body98 1.79190724e+06 2.82629939e+04 ! particle number mass Rhill +1.26054254e+04 !particle radius in AU -8.96181392e+06 -8.08537511e+06 -9.49567974e+03 ! x y z 1.24755669e+03 -1.37614946e+03 4.00147116e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -99 5.03967422e+04 7.85179385e+03 ! particle number mass Rhill -3.83342071e+03 !particle radius in m +Body99 5.03967422e+04 7.85179385e+03 ! particle number mass Rhill +3.83342071e+03 !particle radius in AU 1.05138352e+07 -2.53028835e+06 -2.47118873e+04 ! x y z 4.70010064e+02 1.92569661e+03 -1.14250111e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -100 1.70139143e+06 2.25402503e+04 ! particle number mass Rhill -1.23894990e+04 !particle radius in m +Body100 1.70139143e+06 2.25402503e+04 ! particle number mass Rhill +1.23894990e+04 !particle radius in AU -8.86717935e+06 -3.01884801e+06 5.43577921e+03 ! x y z 6.99055272e+02 -2.04010264e+03 8.96596820e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -101 1.45480563e+05 1.54210016e+04 ! particle number mass Rhill -8.04335643e+03 !particle radius in m +Body101 1.45480563e+05 1.54210016e+04 ! particle number mass Rhill +8.04335643e+03 !particle radius in AU 1.42373839e+07 3.02611132e+06 -1.43164181e+04 ! x y z -4.03733107e+02 1.68169148e+03 7.10932541e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -102 6.69285233e+05 1.80640179e+04 ! particle number mass Rhill -9.07798396e+03 !particle radius in m +Body102 6.69285233e+05 1.80640179e+04 ! particle number mass Rhill +9.07798396e+03 !particle radius in AU -6.09504895e+06 8.50655715e+06 -5.34991934e+04 ! x y z -1.62687481e+03 -1.19574157e+03 5.21976127e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -103 5.54045810e+04 7.41916597e+03 ! particle number mass Rhill -3.95640633e+03 !particle radius in m +Body103 5.54045810e+04 7.41916597e+03 ! particle number mass Rhill +3.95640633e+03 !particle radius in AU 3.72306724e+06 9.02743458e+06 4.19786502e+04 ! x y z -1.94834474e+03 7.84745897e+02 -7.86691937e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -104 3.37361939e+05 1.43866451e+04 ! particle number mass Rhill -1.06463568e+04 !particle radius in m +Body104 3.37361939e+05 1.43866451e+04 ! particle number mass Rhill +1.06463568e+04 !particle radius in AU 5.64202715e+06 -8.82003156e+06 9.37432782e+03 ! x y z 1.69914027e+03 1.09005087e+03 8.81006839e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -105 5.14662528e+04 8.81661114e+03 ! particle number mass Rhill -5.68865819e+03 !particle radius in m +Body105 5.14662528e+04 8.81661114e+03 ! particle number mass Rhill +5.68865819e+03 !particle radius in AU -1.08304546e+07 -5.16566260e+06 -4.58380354e+04 ! x y z 8.08725156e+02 -1.70426515e+03 -1.40809084e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -106 3.39041970e+05 1.37464490e+04 ! particle number mass Rhill -1.06640002e+04 !particle radius in m +Body106 3.39041970e+05 1.37464490e+04 ! particle number mass Rhill +1.06640002e+04 !particle radius in AU 9.97312286e+06 -1.70160094e+06 4.10359397e+04 ! x y z 3.34859938e+02 2.01251950e+03 -1.05202781e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -107 1.35309181e+05 1.06647393e+04 ! particle number mass Rhill -7.85135736e+03 !particle radius in m +Body107 1.35309181e+05 1.06647393e+04 ! particle number mass Rhill +7.85135736e+03 !particle radius in AU 7.03958663e+06 7.71716479e+06 -8.94733922e+03 ! x y z -1.49839830e+03 1.36772144e+03 -1.09915777e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -108 1.53942820e+04 6.17971607e+03 ! particle number mass Rhill -3.80442303e+03 !particle radius in m +Body108 1.53942820e+04 6.17971607e+03 ! particle number mass Rhill +3.80442303e+03 !particle radius in AU 1.15617458e+07 -4.37264141e+06 4.98550747e+04 ! x y z 6.45606485e+02 1.75989881e+03 1.00504151e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -109 1.20359498e+05 1.03531982e+04 ! particle number mass Rhill -7.55084889e+03 !particle radius in m +Body109 1.20359498e+05 1.03531982e+04 ! particle number mass Rhill +7.55084889e+03 !particle radius in AU 6.33009492e+06 8.26456632e+06 4.39267321e+04 ! x y z -1.63555236e+03 1.22749817e+03 -2.79591207e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -110 4.02306238e+04 1.19594172e+04 ! particle number mass Rhill -5.24028103e+03 !particle radius in m +Body110 4.02306238e+04 1.19594172e+04 ! particle number mass Rhill +5.24028103e+03 !particle radius in AU -1.23116789e+06 -1.76328069e+07 4.15688915e+04 ! x y z 1.54978172e+03 -1.14789962e+02 3.52623567e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -111 1.16809933e+06 1.85947433e+04 ! particle number mass Rhill -1.09298010e+04 !particle radius in m +Body111 1.16809933e+06 1.85947433e+04 ! particle number mass Rhill +1.09298010e+04 !particle radius in AU 5.03800785e+06 7.38464714e+06 6.56936601e+04 ! x y z -1.79789878e+03 1.24241563e+03 -1.87814487e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -112 2.13493317e+04 6.39192868e+03 ! particle number mass Rhill -4.24258369e+03 !particle radius in m +Body112 2.13493317e+04 6.39192868e+03 ! particle number mass Rhill +4.24258369e+03 !particle radius in AU -1.16819556e+07 2.21702225e+06 -1.76770966e+03 ! x y z -3.36108070e+02 -1.84613620e+03 1.27905806e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -113 3.22629364e+05 1.43521784e+04 ! particle number mass Rhill -1.04890693e+04 !particle radius in m +Body113 3.22629364e+05 1.43521784e+04 ! particle number mass Rhill +1.04890693e+04 !particle radius in AU 1.00037167e+07 3.61161669e+06 -5.98746596e+04 ! x y z -7.04121449e+02 1.87165808e+03 1.87226479e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -114 8.52184752e+04 7.73707972e+03 ! particle number mass Rhill -6.72997694e+03 !particle radius in m +Body114 8.52184752e+04 7.73707972e+03 ! particle number mass Rhill +6.72997694e+03 !particle radius in AU -8.02245740e+06 -4.15017483e+06 1.94427373e+04 ! x y z 9.95701473e+02 -1.91465293e+03 9.55414968e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -115 7.51189622e+04 7.51337067e+03 ! particle number mass Rhill -4.37893861e+03 !particle radius in m +Body115 7.51189622e+04 7.51337067e+03 ! particle number mass Rhill +4.37893861e+03 !particle radius in AU -4.99256633e+06 7.35143538e+06 -6.25201967e+04 ! x y z -1.82686822e+03 -1.23953720e+03 -3.37208923e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -116 8.34114020e+05 1.81150613e+04 ! particle number mass Rhill -9.76924055e+03 !particle radius in m +Body116 8.34114020e+05 1.81150613e+04 ! particle number mass Rhill +9.76924055e+03 !particle radius in AU -2.12824530e+06 9.48297181e+06 4.56720468e+03 ! x y z -2.04325211e+03 -4.78944866e+02 1.39609484e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -117 1.95998225e+04 8.19893214e+03 ! particle number mass Rhill -4.12337692e+03 !particle radius in m +Body117 1.95998225e+04 8.19893214e+03 ! particle number mass Rhill +4.12337692e+03 !particle radius in AU -1.42745447e+07 -5.79867689e+06 -1.70313904e+04 ! x y z 6.32626042e+02 -1.53908540e+03 1.67461109e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -118 6.08576822e+05 1.79320915e+04 ! particle number mass Rhill -8.79476284e+03 !particle radius in m +Body118 6.08576822e+05 1.79320915e+04 ! particle number mass Rhill +8.79476284e+03 !particle radius in AU 3.38987773e+06 1.01890371e+07 3.97150856e+04 ! x y z -1.89204657e+03 6.21657437e+02 -2.83215087e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -119 1.01047065e+05 1.52544192e+04 ! particle number mass Rhill -4.83385440e+03 !particle radius in m +Body119 1.01047065e+05 1.52544192e+04 ! particle number mass Rhill +4.83385440e+03 !particle radius in AU 1.36440026e+07 -9.23862046e+06 -5.31108803e+04 ! x y z 9.02323684e+02 1.33920162e+03 1.66233464e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -120 4.81434848e+05 2.46431320e+04 ! particle number mass Rhill -8.13388768e+03 !particle radius in m +Body120 4.81434848e+05 2.46431320e+04 ! particle number mass Rhill +8.13388768e+03 !particle radius in AU -3.69977113e+06 -1.52467920e+07 -1.34829610e+05 ! x y z 1.61925599e+03 -3.72623284e+02 7.50289619e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -121 2.29549348e+05 2.35874873e+04 ! particle number mass Rhill -9.36399150e+03 !particle radius in m +Body121 2.29549348e+05 2.35874873e+04 ! particle number mass Rhill +9.36399150e+03 !particle radius in AU 1.82794011e+07 6.84958710e+06 1.41781869e+04 ! x y z -5.47821288e+02 1.37308430e+03 -7.00506636e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -122 8.52767653e+04 1.58219602e+04 ! particle number mass Rhill -4.56803304e+03 !particle radius in m +Body122 8.52767653e+04 1.58219602e+04 ! particle number mass Rhill +4.56803304e+03 !particle radius in AU 1.18968647e+07 1.33707826e+07 -1.11221176e+05 ! x y z -1.16553280e+03 1.03288779e+03 1.42253495e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -123 2.86399056e+04 1.20730103e+04 ! particle number mass Rhill -4.67906973e+03 !particle radius in m +Body123 2.86399056e+04 1.20730103e+04 ! particle number mass Rhill +4.67906973e+03 !particle radius in AU -1.96455999e+07 -2.60429318e+06 -9.25749294e+04 ! x y z 1.97567654e+02 -1.46047680e+03 3.96763228e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -124 3.14094760e+05 1.35352736e+04 ! particle number mass Rhill -7.05460271e+03 !particle radius in m +Body124 3.14094760e+05 1.35352736e+04 ! particle number mass Rhill +7.05460271e+03 !particle radius in AU -2.68241356e+06 9.67860718e+06 -3.52723705e+04 ! x y z -1.98385491e+03 -5.75973374e+02 4.82531781e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -125 3.55357461e+05 1.52795593e+04 ! particle number mass Rhill -7.35090499e+03 !particle radius in m +Body125 3.55357461e+05 1.52795593e+04 ! particle number mass Rhill +7.35090499e+03 !particle radius in AU -1.66338998e+06 1.06654130e+07 -1.15436526e+05 ! x y z -1.97394994e+03 -3.24337570e+02 1.49148403e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -126 1.38842935e+06 1.99818510e+04 ! particle number mass Rhill -1.15778235e+04 !particle radius in m +Body126 1.38842935e+06 1.99818510e+04 ! particle number mass Rhill +1.15778235e+04 !particle radius in AU 5.73133232e+06 -6.88742280e+06 -9.91791004e+03 ! x y z 1.69108314e+03 1.40100447e+03 8.39576992e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -127 8.28665485e+05 3.13608293e+04 ! particle number mass Rhill -9.74792278e+03 !particle radius in m +Body127 8.28665485e+05 3.13608293e+04 ! particle number mass Rhill +9.74792278e+03 !particle radius in AU 1.16505540e+07 1.24190497e+07 3.29845083e+04 ! x y z -1.14848373e+03 1.08164128e+03 1.94732937e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -128 1.54764054e+05 1.01037906e+04 ! particle number mass Rhill -5.57197333e+03 !particle radius in m +Body128 1.54764054e+05 1.01037906e+04 ! particle number mass Rhill +5.57197333e+03 !particle radius in AU -9.45920013e+06 -1.21129886e+06 4.53752885e+04 ! x y z 2.60756743e+02 -2.09880469e+03 -1.84679906e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -129 6.02399124e+05 1.62531984e+04 ! particle number mass Rhill -1.29160713e+04 !particle radius in m +Body129 6.02399124e+05 1.62531984e+04 ! particle number mass Rhill +1.29160713e+04 !particle radius in AU 8.30827394e+06 4.94291767e+06 9.57082698e+03 ! x y z -1.06905700e+03 1.81887550e+03 -1.59783959e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -130 2.22342896e+05 1.18675483e+04 ! particle number mass Rhill -6.28724063e+03 !particle radius in m +Body130 2.22342896e+05 1.18675483e+04 ! particle number mass Rhill +6.28724063e+03 !particle radius in AU 9.92654375e+06 -1.39802998e+06 4.49817877e+02 ! x y z 2.59014431e+02 2.03619473e+03 -1.49038139e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -131 1.76284582e+04 5.29944629e+03 ! particle number mass Rhill -3.98022020e+03 !particle radius in m +Body131 1.76284582e+04 5.29944629e+03 ! particle number mass Rhill +3.98022020e+03 !particle radius in AU 2.81061041e+06 9.89835484e+06 -9.78582159e+04 ! x y z -1.95518409e+03 5.78271402e+02 1.18622238e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -132 5.38538955e+04 8.44113186e+03 ! particle number mass Rhill -5.77530198e+03 !particle radius in m +Body132 5.38538955e+04 8.44113186e+03 ! particle number mass Rhill +5.77530198e+03 !particle radius in AU -5.58547024e+06 -9.86469957e+06 6.83294173e+04 ! x y z 1.69539459e+03 -9.41024851e+02 -1.14165406e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -133 2.20314045e+05 1.27238656e+04 ! particle number mass Rhill -6.26805874e+03 !particle radius in m +Body133 2.20314045e+05 1.27238656e+04 ! particle number mass Rhill +6.26805874e+03 !particle radius in AU 8.08999866e+06 6.84273025e+06 1.04867849e+03 ! x y z -1.27946500e+03 1.55545684e+03 8.91891880e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -134 8.27723183e+05 1.98929693e+04 ! particle number mass Rhill -9.74422649e+03 !particle radius in m +Body134 8.27723183e+05 1.98929693e+04 ! particle number mass Rhill +9.74422649e+03 !particle radius in AU 9.18575665e+06 -5.49644544e+06 -5.52894905e+03 ! x y z 1.01968981e+03 1.71970787e+03 -3.39617822e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -135 2.27994929e+04 5.23645068e+03 ! particle number mass Rhill -4.33654694e+03 !particle radius in m +Body135 2.27994929e+04 5.23645068e+03 ! particle number mass Rhill +4.33654694e+03 !particle radius in AU 1.80833036e+06 -9.23065450e+06 4.90226701e+04 ! x y z 2.08275022e+03 4.17014758e+02 6.63087350e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -136 2.58206907e+05 1.51042021e+04 ! particle number mass Rhill -6.60858198e+03 !particle radius in m +Body136 2.58206907e+05 1.51042021e+04 ! particle number mass Rhill +6.60858198e+03 !particle radius in AU 1.18507627e+07 2.26553726e+06 2.21133096e+03 ! x y z -3.50610095e+02 1.84373395e+03 -2.60885445e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -137 1.01432201e+05 2.15204041e+04 ! particle number mass Rhill -7.13226721e+03 !particle radius in m +Body137 1.01432201e+05 2.15204041e+04 ! particle number mass Rhill +7.13226721e+03 !particle radius in AU 2.21659927e+07 -6.92493598e+06 -4.28421451e+04 ! x y z 4.19436458e+02 1.29376942e+03 -6.14053149e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -138 1.48483324e+05 1.01288412e+04 ! particle number mass Rhill -8.09831906e+03 !particle radius in m +Body138 1.48483324e+05 1.01288412e+04 ! particle number mass Rhill +8.09831906e+03 !particle radius in AU -6.92437867e+06 -6.69629009e+06 -5.72228921e+04 ! x y z 1.49689718e+03 -1.48846576e+03 -1.37808252e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -139 9.42427088e+05 1.92839992e+04 ! particle number mass Rhill -1.01750117e+04 !particle radius in m +Body139 9.42427088e+05 1.92839992e+04 ! particle number mass Rhill +1.01750117e+04 !particle radius in AU -6.66985595e+06 -7.23797041e+06 -1.53286702e+04 ! x y z 1.53320998e+03 -1.42766264e+03 2.90451170e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -140 5.54442544e+05 1.45796646e+04 ! particle number mass Rhill -1.25638046e+04 !particle radius in m +Body140 5.54442544e+05 1.45796646e+04 ! particle number mass Rhill +1.25638046e+04 !particle radius in AU -8.86868024e+06 7.20105731e+05 -2.22950048e+03 ! x y z -1.95841451e+02 -2.19258513e+03 -3.67523850e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -141 1.55124183e+06 2.70665333e+04 ! particle number mass Rhill -1.20137567e+04 !particle radius in m +Body141 1.55124183e+06 2.70665333e+04 ! particle number mass Rhill +1.20137567e+04 !particle radius in AU 5.67690574e+06 -1.03162373e+07 -9.41350622e+04 ! x y z 1.67246075e+03 9.20785969e+02 -1.99251255e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -142 1.28173318e+05 1.54093909e+04 ! particle number mass Rhill -5.23260806e+03 !particle radius in m +Body142 1.28173318e+05 1.54093909e+04 ! particle number mass Rhill +5.23260806e+03 !particle radius in AU 5.50551593e+06 -1.45584653e+07 5.27718687e+04 ! x y z 1.54616130e+03 5.79954533e+02 7.51811204e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -143 1.57882645e+06 2.19970603e+04 ! particle number mass Rhill -1.20845494e+04 !particle radius in m +Body143 1.57882645e+06 2.19970603e+04 ! particle number mass Rhill +1.20845494e+04 !particle radius in AU -3.47796098e+06 -8.90927004e+06 9.65028764e+03 ! x y z 1.97386652e+03 -7.53987246e+02 -3.28779531e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -144 1.29809111e+05 9.78824459e+03 ! particle number mass Rhill -7.74350141e+03 !particle radius in m +Body144 1.29809111e+05 9.78824459e+03 ! particle number mass Rhill +7.74350141e+03 !particle radius in AU 7.74574172e+06 5.95714791e+06 -1.05471596e+04 ! x y z -1.25035431e+03 1.67733844e+03 -1.65757527e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -145 6.10792333e+04 1.61950813e+04 ! particle number mass Rhill -4.08711498e+03 !particle radius in m +Body145 6.10792333e+04 1.61950813e+04 ! particle number mass Rhill +4.08711498e+03 !particle radius in AU -1.98199827e+07 7.29300766e+06 -1.29061581e+05 ! x y z -4.89201522e+02 -1.32406236e+03 8.40261667e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -146 8.14321833e+05 3.15390616e+04 ! particle number mass Rhill -9.69135174e+03 !particle radius in m +Body146 8.14321833e+05 3.15390616e+04 ! particle number mass Rhill +9.69135174e+03 !particle radius in AU 1.13588614e+07 1.27104515e+07 1.21608339e+05 ! x y z -1.17212059e+03 1.06703576e+03 1.25962854e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -147 1.12573910e+06 1.92039195e+04 ! particle number mass Rhill -1.07960507e+04 !particle radius in m +Body147 1.12573910e+06 1.92039195e+04 ! particle number mass Rhill +1.07960507e+04 !particle radius in AU -6.88558621e+06 6.34193128e+06 -5.71723545e+04 ! x y z -1.41834644e+03 -1.59442296e+03 3.00905420e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -148 5.89994915e+04 1.23743739e+04 ! particle number mass Rhill -5.95367439e+03 !particle radius in m +Body148 5.89994915e+04 1.23743739e+04 ! particle number mass Rhill +5.95367439e+03 !particle radius in AU 2.58947797e+06 1.59613455e+07 1.59042158e+05 ! x y z -1.60287570e+03 2.41814174e+02 -1.67580989e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -149 1.61092891e+05 1.43346162e+04 ! particle number mass Rhill -5.64691333e+03 !particle radius in m +Body149 1.61092891e+05 1.43346162e+04 ! particle number mass Rhill +5.64691333e+03 !particle radius in AU 1.27274825e+07 3.00655471e+06 8.98397391e+03 ! x y z -4.31699175e+02 1.77274933e+03 -1.26354778e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -150 3.67253358e+04 6.76660973e+03 ! particle number mass Rhill -5.08343859e+03 !particle radius in m +Body150 3.67253358e+04 6.76660973e+03 ! particle number mass Rhill +5.08343859e+03 !particle radius in AU -7.10630600e+06 -7.28840877e+06 -2.23411110e+03 ! x y z 1.47897945e+03 -1.43505611e+03 -2.71839174e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -151 2.79688721e+04 5.63429227e+03 ! particle number mass Rhill -4.64223699e+03 !particle radius in m +Body151 2.79688721e+04 5.63429227e+03 ! particle number mass Rhill +4.64223699e+03 !particle radius in AU 6.38222762e+06 -6.74069777e+06 8.75842881e+04 ! x y z 1.60375261e+03 1.44358800e+03 -9.05519600e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -152 1.49726912e+05 1.72153700e+04 ! particle number mass Rhill -8.12086478e+03 !particle radius in m +Body152 1.49726912e+05 1.72153700e+04 ! particle number mass Rhill +8.12086478e+03 !particle radius in AU -1.56702566e+07 4.26618807e+06 5.21823445e+04 ! x y z -4.05029139e+02 -1.57894139e+03 2.53582968e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -153 2.25272127e+05 1.26178768e+04 ! particle number mass Rhill -9.30546634e+03 !particle radius in m +Body153 2.25272127e+05 1.26178768e+04 ! particle number mass Rhill +9.30546634e+03 !particle radius in AU -8.73094270e+06 5.67791265e+06 2.17614432e+04 ! x y z -1.10821669e+03 -1.70422433e+03 2.11567045e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -154 1.52669889e+05 1.08283241e+04 ! particle number mass Rhill -5.54672703e+03 !particle radius in m +Body154 1.52669889e+05 1.08283241e+04 ! particle number mass Rhill +5.54672703e+03 !particle radius in AU -1.01683371e+07 1.10819821e+06 1.64139763e+04 ! x y z -2.62188936e+02 -2.02918021e+03 8.77276633e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -155 5.79689563e+04 8.97148278e+03 ! particle number mass Rhill -4.01652823e+03 !particle radius in m +Body155 5.79689563e+04 8.97148278e+03 ! particle number mass Rhill +4.01652823e+03 !particle radius in AU 4.35525820e+06 1.08005096e+07 7.15657051e+04 ! x y z -1.78452573e+03 7.14211418e+02 1.85217607e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -156 4.99028875e+05 2.13357770e+04 ! particle number mass Rhill -8.23178885e+03 !particle radius in m +Body156 4.99028875e+05 2.13357770e+04 ! particle number mass Rhill +8.23178885e+03 !particle radius in AU 1.33640503e+06 -1.35991318e+07 1.26981224e+05 ! x y z 1.75325272e+03 1.99801637e+02 9.12185103e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -157 3.21480613e+05 1.20647069e+04 ! particle number mass Rhill -7.10947055e+03 !particle radius in m +Body157 3.21480613e+05 1.20647069e+04 ! particle number mass Rhill +7.10947055e+03 !particle radius in AU -6.82381137e+06 5.53567185e+06 7.84751624e+03 ! x y z -1.38395700e+03 -1.73645326e+03 7.57405795e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -158 9.91529953e+04 1.07918343e+04 ! particle number mass Rhill -4.80346108e+03 !particle radius in m +Body158 9.91529953e+04 1.07918343e+04 ! particle number mass Rhill +4.80346108e+03 !particle radius in AU 3.89840794e+06 1.10854924e+07 3.76242516e+03 ! x y z -1.80675419e+03 6.21051875e+02 -1.71817477e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -159 2.52237740e+05 1.14363942e+04 ! particle number mass Rhill -6.55725922e+03 !particle radius in m +Body159 2.52237740e+05 1.14363942e+04 ! particle number mass Rhill +6.55725922e+03 !particle radius in AU -1.97874775e+06 -8.77567582e+06 -2.75052193e+03 ! x y z 2.14929146e+03 -4.63042632e+02 1.42528242e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -160 1.01739958e+06 1.88523697e+04 ! particle number mass Rhill -1.04379733e+04 !particle radius in m +Body160 1.01739958e+06 1.88523697e+04 ! particle number mass Rhill +1.04379733e+04 !particle radius in AU -3.69568353e+06 8.70958011e+06 1.23991773e+02 ! x y z -1.95889951e+03 -8.30413409e+02 3.23324109e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -161 6.26561099e+04 9.13946042e+03 ! particle number mass Rhill -4.12198879e+03 !particle radius in m +Body161 6.26561099e+04 9.13946042e+03 ! particle number mass Rhill +4.12198879e+03 !particle radius in AU -7.46635757e+06 8.75996756e+06 -3.38546703e+04 ! x y z -1.47538097e+03 -1.25605788e+03 1.14970804e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -162 4.03320233e+05 1.69943586e+04 ! particle number mass Rhill -7.66776863e+03 !particle radius in m +Body162 4.03320233e+05 1.69943586e+04 ! particle number mass Rhill +7.66776863e+03 !particle radius in AU 5.08163706e+06 1.05043562e+07 -2.49011889e+04 ! x y z -1.73355443e+03 8.04079694e+02 -1.88007028e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -163 2.79645719e+04 5.40884610e+03 ! particle number mass Rhill -4.64199906e+03 !particle radius in m +Body163 2.79645719e+04 5.40884610e+03 ! particle number mass Rhill +4.64199906e+03 !particle radius in AU 4.39449717e+06 -7.93852417e+06 4.36583437e+04 ! x y z 1.88869963e+03 1.05420912e+03 5.50586344e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -164 1.10906394e+06 2.35480158e+04 ! particle number mass Rhill -1.07424793e+04 !particle radius in m +Body164 1.10906394e+06 2.35480158e+04 ! particle number mass Rhill +1.07424793e+04 !particle radius in AU 8.63623502e+06 -7.74644884e+06 1.85384542e+04 ! x y z 1.26494539e+03 1.43300151e+03 7.04221650e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -165 8.56685180e+05 2.78909446e+04 ! particle number mass Rhill -9.85657615e+03 !particle radius in m +Body165 8.56685180e+05 2.78909446e+04 ! particle number mass Rhill +9.85657615e+03 !particle radius in AU -6.15368525e+05 1.49121598e+07 -4.67932565e+04 ! x y z -1.68745762e+03 -4.92212694e+01 -1.94039771e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -166 3.06525474e+05 1.36922172e+04 ! particle number mass Rhill -6.99747229e+03 !particle radius in m +Body166 3.06525474e+05 1.36922172e+04 ! particle number mass Rhill +6.99747229e+03 !particle radius in AU 8.64904319e+06 5.91192747e+06 -6.14206652e+04 ! x y z -1.13126693e+03 1.64851790e+03 -1.89192778e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -167 5.93049281e+05 1.52051655e+04 ! particle number mass Rhill -8.71931949e+03 !particle radius in m +Body167 5.93049281e+05 1.52051655e+04 ! particle number mass Rhill +8.71931949e+03 !particle radius in AU -7.78414392e+06 4.96208659e+06 -1.63838108e+04 ! x y z -1.12672930e+03 -1.82241793e+03 -5.96425105e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -168 2.12666894e+04 5.40531233e+03 ! particle number mass Rhill -4.23710232e+03 !particle radius in m +Body168 2.12666894e+04 5.40531233e+03 ! particle number mass Rhill +4.23710232e+03 !particle radius in AU 9.85857087e+06 -4.25461587e+05 -7.76455058e+04 ! x y z 8.06687493e+01 2.07960003e+03 3.28242575e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -169 2.85652780e+05 2.95720311e+04 ! particle number mass Rhill -1.00719866e+04 !particle radius in m +Body169 2.85652780e+05 2.95720311e+04 ! particle number mass Rhill +1.00719866e+04 !particle radius in AU -3.92871528e+06 -2.24319020e+07 2.77551401e+04 ! x y z 1.34770576e+03 -2.35192176e+02 -6.19147736e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -170 3.39019670e+05 1.79553101e+04 ! particle number mass Rhill -7.23647883e+03 !particle radius in m +Body170 3.39019670e+05 1.79553101e+04 ! particle number mass Rhill +7.23647883e+03 !particle radius in AU -9.85059665e+06 -8.52205655e+06 -5.48573039e+04 ! x y z 1.18464366e+03 -1.37030272e+03 9.99031014e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -171 8.89113305e+05 2.71542359e+04 ! particle number mass Rhill -9.97940619e+03 !particle radius in m +Body171 8.89113305e+05 2.71542359e+04 ! particle number mass Rhill +9.97940619e+03 !particle radius in AU -1.95744716e+06 -1.40658438e+07 -8.96628033e+04 ! x y z 1.72553028e+03 -2.22255484e+02 -2.68715792e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -172 8.29370571e+05 3.54463172e+04 ! particle number mass Rhill -9.75068673e+03 !particle radius in m +Body172 8.29370571e+05 3.54463172e+04 ! particle number mass Rhill +9.75068673e+03 !particle radius in AU -1.83887109e+07 -4.94937710e+06 4.13740137e+04 ! x y z 4.02207087e+02 -1.44472494e+03 7.82771281e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -173 1.48238892e+06 2.27550464e+04 ! particle number mass Rhill -1.18333139e+04 !particle radius in m +Body173 1.48238892e+06 2.27550464e+04 ! particle number mass Rhill +1.18333139e+04 !particle radius in AU 6.28107583e+06 -7.96489519e+06 1.00181104e+05 ! x y z 1.61474462e+03 1.25899281e+03 3.25360113e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -174 8.27798949e+04 7.81570962e+03 ! particle number mass Rhill -6.66516052e+03 !particle radius in m +Body174 8.27798949e+04 7.81570962e+03 ! particle number mass Rhill +6.66516052e+03 !particle radius in AU 8.57815199e+06 2.93408991e+06 1.00482256e+04 ! x y z -7.00269987e+02 2.05582007e+03 1.47496098e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -175 3.84709230e+05 1.86262292e+04 ! particle number mass Rhill -7.54796479e+03 !particle radius in m +Body175 3.84709230e+05 1.86262292e+04 ! particle number mass Rhill +7.54796479e+03 !particle radius in AU 3.89386447e+06 -1.18916453e+07 4.75801024e+03 ! x y z 1.79017897e+03 5.72333272e+02 1.35429336e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -176 5.66577675e+04 1.78767974e+04 ! particle number mass Rhill -5.87384040e+03 !particle radius in m +Body176 5.66577675e+04 1.78767974e+04 ! particle number mass Rhill +5.87384040e+03 !particle radius in AU -1.12819097e+07 -2.03828249e+07 -4.17849171e+04 ! x y z 1.20129982e+03 -6.40831904e+02 -7.21062138e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -177 2.07013798e+05 1.69695724e+04 ! particle number mass Rhill -9.04694786e+03 !particle radius in m +Body177 2.07013798e+05 1.69695724e+04 ! particle number mass Rhill +9.04694786e+03 !particle radius in AU -3.48844270e+06 -1.39807096e+07 -9.80376409e+04 ! x y z 1.67545999e+03 -4.23493775e+02 9.57144799e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -178 1.75307559e+05 1.09646651e+04 ! particle number mass Rhill -5.80834687e+03 !particle radius in m +Body178 1.75307559e+05 1.09646651e+04 ! particle number mass Rhill +5.80834687e+03 !particle radius in AU -6.99241637e+06 -6.97891492e+06 1.17078416e+04 ! x y z 1.45466387e+03 -1.49110516e+03 -7.97644872e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -179 1.07781085e+05 2.17561846e+04 ! particle number mass Rhill -7.27807466e+03 !particle radius in m +Body179 1.07781085e+05 2.17561846e+04 ! particle number mass Rhill +7.27807466e+03 !particle radius in AU 2.29671869e+07 -4.77992661e+06 -2.29056888e+05 ! x y z 2.66633595e+02 1.31300250e+03 8.11268595e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -180 3.59388467e+05 1.77616131e+04 ! particle number mass Rhill -7.37859561e+03 !particle radius in m +Body180 3.59388467e+05 1.77616131e+04 ! particle number mass Rhill +7.37859561e+03 !particle radius in AU 1.12799199e+07 -5.64371881e+06 -4.86158248e+04 ! x y z 8.25574521e+02 1.64707498e+03 1.79426055e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -181 8.43345605e+04 7.88595165e+03 ! particle number mass Rhill -4.55114695e+03 !particle radius in m +Body181 8.43345605e+04 7.88595165e+03 ! particle number mass Rhill +4.55114695e+03 !particle radius in AU -8.97901930e+06 1.40018499e+06 -1.17315967e+04 ! x y z -3.50813576e+02 -2.14111191e+03 1.58430709e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -182 2.54722186e+05 1.61693513e+04 ! particle number mass Rhill -9.69448137e+03 !particle radius in m +Body182 2.54722186e+05 1.61693513e+04 ! particle number mass Rhill +9.69448137e+03 !particle radius in AU -1.27934972e+07 5.80764481e+05 -6.60656959e+04 ! x y z -8.73661010e+01 -1.83147573e+03 9.29252102e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -183 5.21033114e+05 3.12442397e+04 ! particle number mass Rhill -1.23062037e+04 !particle radius in m +Body183 5.21033114e+05 3.12442397e+04 ! particle number mass Rhill +1.23062037e+04 !particle radius in AU -6.51355993e+06 -1.80095300e+07 -1.28499713e+05 ! x y z 1.42185635e+03 -5.15444029e+02 4.71976246e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -184 5.21637824e+05 1.66907755e+04 ! particle number mass Rhill -1.23109627e+04 !particle radius in m +Body184 5.21637824e+05 1.66907755e+04 ! particle number mass Rhill +1.23109627e+04 !particle radius in AU -1.35063597e+06 1.04263703e+07 -1.65523047e+04 ! x y z -1.99638943e+03 -2.63418025e+02 -1.41194780e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -185 4.58205528e+04 6.92591943e+03 ! particle number mass Rhill -3.71369106e+03 !particle radius in m +Body185 4.58205528e+04 6.92591943e+03 ! particle number mass Rhill +3.71369106e+03 !particle radius in AU -9.22486496e+06 2.96866634e+06 -1.89865927e+03 ! x y z -6.64441635e+02 -2.00340641e+03 -1.17076646e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -186 2.23433612e+05 1.26670941e+04 ! particle number mass Rhill -6.29750468e+03 !particle radius in m +Body186 2.23433612e+05 1.26670941e+04 ! particle number mass Rhill +6.29750468e+03 !particle radius in AU 7.10721350e+06 7.67585026e+06 -3.24513481e+03 ! x y z -1.50133478e+03 1.36725034e+03 -1.87929113e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -187 1.79931401e+05 1.04373831e+04 ! particle number mass Rhill -8.63385286e+03 !particle radius in m +Body187 1.79931401e+05 1.04373831e+04 ! particle number mass Rhill +8.63385286e+03 !particle radius in AU -3.50855266e+06 -8.47958104e+06 5.43121964e+04 ! x y z 2.01378047e+03 -8.30225015e+02 -6.42928682e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -188 5.90097791e+04 1.34524769e+04 ! particle number mass Rhill -5.95402041e+03 !particle radius in m +Body188 5.90097791e+04 1.34524769e+04 ! particle number mass Rhill +5.95402041e+03 !particle radius in AU -1.71845688e+07 2.92835680e+06 1.80160654e+04 ! x y z -2.68908847e+02 -1.54460993e+03 5.60740384e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -189 7.79086515e+05 1.85386656e+04 ! particle number mass Rhill -9.54950570e+03 !particle radius in m +Body189 7.79086515e+05 1.85386656e+04 ! particle number mass Rhill +9.54950570e+03 !particle radius in AU -9.06623165e+06 -4.20136967e+06 -2.06364196e+04 ! x y z 8.54458713e+02 -1.90544528e+03 6.22285906e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -190 1.53125034e+06 2.34513451e+04 ! particle number mass Rhill -1.19619247e+04 !particle radius in m +Body190 1.53125034e+06 2.34513451e+04 ! particle number mass Rhill +1.19619247e+04 !particle radius in AU 5.25849667e+06 8.80426419e+06 1.08815572e+04 ! x y z -1.77864099e+03 1.00939651e+03 -2.77090468e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -191 8.59567645e+04 1.28327108e+04 ! particle number mass Rhill -6.74935610e+03 !particle radius in m +Body191 8.59567645e+04 1.28327108e+04 ! particle number mass Rhill +6.74935610e+03 !particle radius in AU 4.62808704e+06 1.40254648e+07 2.62029474e+04 ! x y z -1.61136420e+03 5.34010697e+02 -6.77858294e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -192 1.26242051e+05 1.99101289e+04 ! particle number mass Rhill -5.20619396e+03 !particle radius in m +Body192 1.26242051e+05 1.99101289e+04 ! particle number mass Rhill +5.20619396e+03 !particle radius in AU 2.01424278e+07 3.41792942e+05 1.94882104e+05 ! x y z -2.93420884e+01 1.45364435e+03 -7.07412419e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -193 1.08024301e+06 4.02623073e+04 ! particle number mass Rhill -1.06486075e+04 !particle radius in m +Body193 1.08024301e+06 4.02623073e+04 ! particle number mass Rhill +1.06486075e+04 !particle radius in AU 8.37083337e+06 -1.79540915e+07 -5.91009347e+04 ! x y z 1.33428010e+03 6.17563374e+02 2.42512024e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -194 3.59813883e+04 6.03118811e+03 ! particle number mass Rhill -5.04887899e+03 !particle radius in m +Body194 3.59813883e+04 6.03118811e+03 ! particle number mass Rhill +5.04887899e+03 !particle radius in AU 9.18834937e+06 4.09046541e+05 5.54581813e+03 ! x y z -7.23751549e+01 2.15950913e+03 6.85354866e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -195 7.21130805e+04 1.15218555e+04 ! particle number mass Rhill -6.36561457e+03 !particle radius in m +Body195 7.21130805e+04 1.15218555e+04 ! particle number mass Rhill +6.36561457e+03 !particle radius in AU 2.40599869e+06 -1.36259877e+07 7.24745280e+03 ! x y z 1.74094787e+03 3.07239990e+02 8.10516402e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -196 5.22433041e+04 8.56706323e+03 ! particle number mass Rhill -3.87967973e+03 !particle radius in m +Body196 5.22433041e+04 8.56706323e+03 ! particle number mass Rhill +3.87967973e+03 !particle radius in AU -1.16034100e+07 -1.77480486e+06 -1.62127720e+04 ! x y z 2.83834839e+02 -1.87461386e+03 5.96638672e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -197 2.88195987e+05 1.92280928e+04 ! particle number mass Rhill -6.85511860e+03 !particle radius in m +Body197 2.88195987e+05 1.92280928e+04 ! particle number mass Rhill +6.85511860e+03 !particle radius in AU 1.47515573e+07 -2.57581761e+05 -5.23662055e+04 ! x y z 1.10532093e+01 1.70024862e+03 8.28609927e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -198 5.20744357e+05 2.19617843e+04 ! particle number mass Rhill -1.23039299e+04 !particle radius in m +Body198 5.20744357e+05 2.19617843e+04 ! particle number mass Rhill +1.23039299e+04 !particle radius in AU 1.13163190e+07 -7.84357347e+06 1.03407930e+04 ! x y z 1.01120595e+03 1.44577732e+03 -5.19143023e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -199 1.70548241e+05 1.09436379e+04 ! particle number mass Rhill -5.75530148e+03 !particle radius in m +Body199 1.70548241e+05 1.09436379e+04 ! particle number mass Rhill +5.75530148e+03 !particle radius in AU -3.32812125e+06 -9.44533791e+06 -4.90376566e+04 ! x y z 1.95676637e+03 -6.51606826e+02 -5.70434278e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -200 5.42504766e+05 1.91588733e+04 ! particle number mass Rhill -1.24729785e+04 !particle radius in m +Body200 5.42504766e+05 1.91588733e+04 ! particle number mass Rhill +1.24729785e+04 !particle radius in AU 1.06811374e+07 -4.93512180e+06 -2.54549899e+04 ! x y z 7.94618978e+02 1.74255873e+03 -9.79841366e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -201 1.45214473e+06 2.51148062e+04 ! particle number mass Rhill -1.17522845e+04 !particle radius in m +Body201 1.45214473e+06 2.51148062e+04 ! particle number mass Rhill +1.17522845e+04 !particle radius in AU 1.08275316e+07 3.16975354e+06 -1.83616872e+04 ! x y z -5.71210349e+02 1.85480914e+03 -5.53165520e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -202 4.79031773e+05 1.39791861e+04 ! particle number mass Rhill -1.19662231e+04 !particle radius in m +Body202 4.79031773e+05 1.39791861e+04 ! particle number mass Rhill +1.19662231e+04 !particle radius in AU -8.93938095e+06 -1.07672320e+06 2.20211931e+02 ! x y z 2.21513596e+02 -2.17140814e+03 -5.31579057e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -203 9.35672463e+04 1.18188273e+04 ! particle number mass Rhill -6.94294309e+03 !particle radius in m +Body203 9.35672463e+04 1.18188273e+04 ! particle number mass Rhill +6.94294309e+03 !particle radius in AU -1.11274091e+07 6.99042019e+06 4.20463158e+03 ! x y z -9.73175474e+02 -1.52053333e+03 -7.28310775e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -204 2.35662743e+05 1.60773575e+04 ! particle number mass Rhill -9.44639204e+03 !particle radius in m +Body204 2.35662743e+05 1.60773575e+04 ! particle number mass Rhill +9.44639204e+03 !particle radius in AU 4.40522655e+06 -1.23917208e+07 -1.61713907e+04 ! x y z 1.70009079e+03 6.02493125e+02 -3.82502681e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -205 2.38678835e+05 1.29738033e+04 ! particle number mass Rhill -6.43759473e+03 !particle radius in m +Body205 2.38678835e+05 1.29738033e+04 ! particle number mass Rhill +6.43759473e+03 !particle radius in AU 8.84972010e+06 5.65746303e+06 4.89598915e+04 ! x y z -1.07695732e+03 1.71417278e+03 -2.68488868e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -206 5.70545769e+04 8.09831867e+03 ! particle number mass Rhill -5.88752122e+03 !particle radius in m +Body206 5.70545769e+04 8.09831867e+03 ! particle number mass Rhill +5.88752122e+03 !particle radius in AU -5.79952078e+06 8.88645462e+06 -2.44580541e+04 ! x y z -1.68074658e+03 -1.10169885e+03 -6.29194406e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -207 5.51731540e+05 1.45509165e+04 ! particle number mass Rhill -1.25432938e+04 !particle radius in m +Body207 5.51731540e+05 1.45509165e+04 ! particle number mass Rhill +1.25432938e+04 !particle radius in AU -8.14410389e+06 -3.97016042e+06 -9.88813618e+04 ! x y z 9.01368103e+02 -1.96430805e+03 -4.40735560e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -208 1.01063925e+06 1.76831218e+04 ! particle number mass Rhill -1.04148028e+04 !particle radius in m +Body208 1.01063925e+06 1.76831218e+04 ! particle number mass Rhill +1.04148028e+04 !particle radius in AU 7.46448044e+06 -4.58544507e+06 1.76340315e+04 ! x y z 1.15401750e+03 1.90545254e+03 -7.27693077e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -209 4.01306668e+05 1.56153596e+04 ! particle number mass Rhill -1.12804852e+04 !particle radius in m +Body209 4.01306668e+05 1.56153596e+04 ! particle number mass Rhill +1.12804852e+04 !particle radius in AU -2.08884933e+06 -1.02835429e+07 6.42079933e+03 ! x y z 1.99534972e+03 -4.16589585e+02 -4.18338876e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -210 1.16893367e+05 9.97596895e+03 ! particle number mass Rhill -7.47765824e+03 !particle radius in m +Body210 1.16893367e+05 9.97596895e+03 ! particle number mass Rhill +7.47765824e+03 !particle radius in AU 3.36937988e+06 -9.91809680e+06 5.89060808e+04 ! x y z 1.88421155e+03 6.84396854e+02 -2.08220150e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -211 6.63716790e+05 2.02872172e+04 ! particle number mass Rhill -9.05273758e+03 !particle radius in m +Body211 6.63716790e+05 2.02872172e+04 ! particle number mass Rhill +9.05273758e+03 !particle radius in AU -7.24117471e+06 -9.21469921e+06 -3.61410851e+04 ! x y z 1.49902224e+03 -1.18897591e+03 9.80133706e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -212 5.54059774e+05 1.44580726e+04 ! particle number mass Rhill -1.25609127e+04 !particle radius in m +Body212 5.54059774e+05 1.44580726e+04 ! particle number mass Rhill +1.25609127e+04 !particle radius in AU -3.74450435e+06 -8.15891931e+06 2.77691948e+04 ! x y z 1.97501199e+03 -9.06036575e+02 -2.45381289e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -213 1.69304746e+05 1.85389651e+04 ! particle number mass Rhill -8.46042215e+03 !particle radius in m +Body213 1.69304746e+05 1.85389651e+04 ! particle number mass Rhill +8.46042215e+03 !particle radius in AU 7.14052519e+06 1.53102112e+07 1.62981971e+05 ! x y z -1.44016584e+03 6.81333291e+02 -1.60906032e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -214 1.99811184e+06 2.54044580e+04 ! particle number mass Rhill -1.30715050e+04 !particle radius in m +Body214 1.99811184e+06 2.54044580e+04 ! particle number mass Rhill +1.30715050e+04 !particle radius in AU -1.03399269e+07 2.85213950e+05 -3.22137865e+04 ! x y z -5.00043408e+01 -2.01781826e+03 1.16086899e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -215 1.89676101e+06 2.19318980e+04 ! particle number mass Rhill -1.28466493e+04 !particle radius in m +Body215 1.89676101e+06 2.19318980e+04 ! particle number mass Rhill +1.28466493e+04 !particle radius in AU 4.61126913e+06 7.68167619e+06 3.21015460e+03 ! x y z -1.87745924e+03 1.11654918e+03 8.74586750e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -216 9.08573084e+05 1.81400916e+04 ! particle number mass Rhill -1.00516869e+04 !particle radius in m +Body216 9.08573084e+05 1.81400916e+04 ! particle number mass Rhill +1.00516869e+04 !particle radius in AU -7.63901209e+05 9.38473527e+06 2.09296480e+04 ! x y z -2.13149182e+03 -1.53874003e+02 1.07619871e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -217 8.11071077e+04 1.14592741e+04 ! particle number mass Rhill -4.49233328e+03 !particle radius in m +Body217 8.11071077e+04 1.14592741e+04 ! particle number mass Rhill +4.49233328e+03 !particle radius in AU -3.50142507e+06 1.29584846e+07 4.99036110e+03 ! x y z -1.71988301e+03 -4.67120020e+02 -1.52874482e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -218 5.45414263e+04 7.39602861e+03 ! particle number mass Rhill -3.93575293e+03 !particle radius in m +Body218 5.45414263e+04 7.39602861e+03 ! particle number mass Rhill +3.93575293e+03 !particle radius in AU 2.89549121e+05 9.73817170e+06 7.30475924e+03 ! x y z -2.10637979e+03 6.28009545e+01 2.73575242e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -219 1.53455069e+05 9.67803209e+03 ! particle number mass Rhill -5.55621969e+03 !particle radius in m +Body219 1.53455069e+05 9.67803209e+03 ! particle number mass Rhill +5.55621969e+03 !particle radius in AU -8.69236370e+06 2.60571730e+06 1.87543471e+04 ! x y z -6.41047725e+02 -2.08196126e+03 -9.78180600e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -220 1.44525955e+06 2.58764089e+04 ! particle number mass Rhill -1.17336811e+04 !particle radius in m +Body220 1.44525955e+06 2.58764089e+04 ! particle number mass Rhill +1.17336811e+04 !particle radius in AU 1.16999055e+07 -8.45214750e+05 -1.23088793e+04 ! x y z 1.51868140e+02 1.88990987e+03 5.91582506e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -221 1.68319374e+06 2.90907579e+04 ! particle number mass Rhill -1.23451688e+04 !particle radius in m +Body221 1.68319374e+06 2.90907579e+04 ! particle number mass Rhill +1.23451688e+04 !particle radius in AU 1.04932440e+07 6.34593749e+06 -5.14735307e+04 ! x y z -9.55788059e+02 1.61305183e+03 7.38311147e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -222 6.64548027e+05 2.09776961e+04 ! particle number mass Rhill -9.05651521e+03 !particle radius in m +Body222 6.64548027e+05 2.09776961e+04 ! particle number mass Rhill +9.05651521e+03 !particle radius in AU -1.00872411e+07 -7.19383413e+06 1.02683109e+05 ! x y z 1.09632503e+03 -1.47708699e+03 2.53571970e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -223 5.28873267e+05 2.56064519e+04 ! particle number mass Rhill -8.39272259e+03 !particle radius in m +Body223 5.28873267e+05 2.56064519e+04 ! particle number mass Rhill +8.39272259e+03 !particle radius in AU -1.29868607e+07 9.20702284e+06 -1.02202794e+05 ! x y z -9.58764873e+02 -1.33478274e+03 7.40636311e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -224 9.96994641e+05 1.92471528e+04 ! particle number mass Rhill -1.03677203e+04 !particle radius in m +Body224 9.96994641e+05 1.92471528e+04 ! particle number mass Rhill +1.03677203e+04 !particle radius in AU 2.69271095e+06 9.12085234e+06 -6.31280178e+04 ! x y z -2.04468399e+03 6.49763127e+02 -6.41633267e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -225 2.38653594e+05 1.32999920e+04 ! particle number mass Rhill -9.48618629e+03 !particle radius in m +Body225 2.38653594e+05 1.32999920e+04 ! particle number mass Rhill +9.48618629e+03 !particle radius in AU -1.04843536e+07 -2.82530322e+06 -6.63351271e+03 ! x y z 5.35179489e+02 -1.90917831e+03 -8.89095603e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -226 1.40349329e+06 2.00598103e+04 ! particle number mass Rhill -1.16195447e+04 !particle radius in m +Body226 1.40349329e+06 2.00598103e+04 ! particle number mass Rhill +1.16195447e+04 !particle radius in AU 8.55294018e+06 -2.42617769e+06 2.52020611e+04 ! x y z 6.43758212e+02 2.11770030e+03 -2.00995235e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -227 1.68803614e+06 2.29017916e+04 ! particle number mass Rhill -1.23569961e+04 !particle radius in m +Body227 1.68803614e+06 2.29017916e+04 ! particle number mass Rhill +1.23569961e+04 !particle radius in AU 9.56160063e+06 2.03876951e+05 -1.15187717e+04 ! x y z -2.08727307e+01 2.13182274e+03 -6.37368295e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -228 4.94409683e+04 7.07324355e+03 ! particle number mass Rhill -3.80903228e+03 !particle radius in m +Body228 4.94409683e+04 7.07324355e+03 ! particle number mass Rhill +3.80903228e+03 !particle radius in AU 8.39735110e+06 -4.64919497e+06 -4.03636604e+04 ! x y z 1.02402689e+03 1.86350550e+03 3.48961376e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -229 1.23732338e+05 1.15801183e+04 ! particle number mass Rhill -7.62073270e+03 !particle radius in m +Body229 1.23732338e+05 1.15801183e+04 ! particle number mass Rhill +7.62073270e+03 !particle radius in AU 1.14766676e+07 -2.46673442e+06 -6.18541161e+03 ! x y z 3.81520272e+02 1.87089502e+03 -6.28495237e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -230 3.07739150e+04 5.83154047e+03 ! particle number mass Rhill -4.79251234e+03 !particle radius in m +Body230 3.07739150e+04 5.83154047e+03 ! particle number mass Rhill +4.79251234e+03 !particle radius in AU 7.65927810e+06 5.58691775e+06 6.38708550e+04 ! x y z -1.24261883e+03 1.71209694e+03 -6.95777672e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -231 6.25152932e+05 1.58916481e+04 ! particle number mass Rhill -8.87389776e+03 !particle radius in m +Body231 6.25152932e+05 1.58916481e+04 ! particle number mass Rhill +8.87389776e+03 !particle radius in AU -8.21586374e+06 -4.28792953e+06 2.41010139e+04 ! x y z 1.01581225e+03 -1.90933511e+03 -2.60449634e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -232 1.02687634e+05 1.54462392e+04 ! particle number mass Rhill -4.85987440e+03 !particle radius in m +Body232 1.02687634e+05 1.54462392e+04 ! particle number mass Rhill +4.85987440e+03 !particle radius in AU 1.62736579e+07 2.82256969e+06 3.66384128e+04 ! x y z -2.71027694e+02 1.59383670e+03 4.71948132e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -233 1.09055822e+05 8.97093718e+03 ! particle number mass Rhill -7.30665510e+03 !particle radius in m +Body233 1.09055822e+05 8.97093718e+03 ! particle number mass Rhill +7.30665510e+03 !particle radius in AU -2.08216759e+06 -9.23350326e+06 -8.76611629e+04 ! x y z 2.08240223e+03 -4.40249465e+02 -1.27767388e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -234 4.21950076e+04 6.13798078e+03 ! particle number mass Rhill -5.32422025e+03 !particle radius in m +Body234 4.21950076e+04 6.13798078e+03 ! particle number mass Rhill +5.32422025e+03 !particle radius in AU 8.73066827e+06 -2.21328634e+05 -3.34004359e+04 ! x y z 4.79166308e+01 2.23450529e+03 -9.11532147e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -235 1.49350824e+06 3.81141945e+04 ! particle number mass Rhill -1.18628272e+04 !particle radius in m +Body235 1.49350824e+06 3.81141945e+04 ! particle number mass Rhill +1.18628272e+04 !particle radius in AU 1.62631471e+07 4.67259161e+06 2.64032894e+04 ! x y z -4.50841052e+02 1.52122597e+03 1.13312253e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -236 3.07566841e+05 2.10233787e+04 ! particle number mass Rhill -7.00538757e+03 !particle radius in m +Body236 3.07566841e+05 2.10233787e+04 ! particle number mass Rhill +7.00538757e+03 !particle radius in AU 5.98003979e+05 -1.57345854e+07 -2.89481346e+04 ! x y z 1.64606847e+03 7.79210619e+01 -6.19029962e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -237 3.73535334e+05 1.38613380e+04 ! particle number mass Rhill -7.47416865e+03 !particle radius in m +Body237 3.73535334e+05 1.38613380e+04 ! particle number mass Rhill +7.47416865e+03 !particle radius in AU -8.48106759e+06 4.91431093e+06 -8.66403288e+04 ! x y z -1.03310578e+03 -1.80626108e+03 1.07091841e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -238 1.60082213e+06 4.30874135e+04 ! particle number mass Rhill -1.21404101e+04 !particle radius in m +Body238 1.60082213e+06 4.30874135e+04 ! particle number mass Rhill +1.21404101e+04 !particle radius in AU -1.84578837e+07 9.47798697e+05 -1.11240327e+05 ! x y z -8.38856040e+01 -1.52441650e+03 -4.87143776e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -239 1.46188745e+06 2.54964357e+04 ! particle number mass Rhill -1.17785087e+04 !particle radius in m +Body239 1.46188745e+06 2.54964357e+04 ! particle number mass Rhill +1.17785087e+04 !particle radius in AU -5.76687798e+06 9.89435129e+06 4.39168015e+04 ! x y z -1.66547278e+03 -9.63693666e+02 4.18572107e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -240 1.57915313e+05 9.48646514e+03 ! particle number mass Rhill -5.60953779e+03 !particle radius in m +Body240 1.57915313e+05 9.48646514e+03 ! particle number mass Rhill +5.60953779e+03 !particle radius in AU -1.82862969e+06 8.61926907e+06 -1.75357465e+04 ! x y z -2.15498233e+03 -4.93004829e+02 7.64196538e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -241 1.28341909e+05 1.09511933e+04 ! particle number mass Rhill -7.71421647e+03 !particle radius in m +Body241 1.28341909e+05 1.09511933e+04 ! particle number mass Rhill +7.71421647e+03 !particle radius in AU 3.76525777e+06 -1.03931378e+07 -7.52318459e+04 ! x y z 1.83850823e+03 6.78500036e+02 -6.89947122e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -242 5.79588811e+05 1.46154362e+04 ! particle number mass Rhill -8.65284640e+03 !particle radius in m +Body242 5.79588811e+05 1.46154362e+04 ! particle number mass Rhill +8.65284640e+03 !particle radius in AU -6.33335198e+06 -5.98167685e+06 -3.08011537e+04 ! x y z 1.53763163e+03 -1.62109001e+03 -2.47037358e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -243 2.16869732e+05 1.24291427e+04 ! particle number mass Rhill -6.23522281e+03 !particle radius in m +Body243 2.16869732e+05 1.24291427e+04 ! particle number mass Rhill +6.23522281e+03 !particle radius in AU 9.90333087e+06 -4.01192277e+06 6.04079611e+04 ! x y z 7.43355257e+02 1.83366572e+03 -1.58715640e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -244 6.18926402e+05 2.04985663e+04 ! particle number mass Rhill -1.30331280e+04 !particle radius in m +Body244 6.18926402e+05 2.04985663e+04 ! particle number mass Rhill +1.30331280e+04 !particle radius in AU -5.98502411e+06 1.07946936e+07 4.97027123e+03 ! x y z -1.61657634e+03 -8.93801164e+02 -1.07876442e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -245 7.99727184e+05 2.41966314e+04 ! particle number mass Rhill -9.63310475e+03 !particle radius in m +Body245 7.99727184e+05 2.41966314e+04 ! particle number mass Rhill +9.63310475e+03 !particle radius in AU -6.59615203e+06 -1.12304386e+07 9.72528165e+04 ! x y z 1.57957874e+03 -9.09183472e+02 3.54133115e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -246 2.80300938e+05 1.19230190e+04 ! particle number mass Rhill -6.79194010e+03 !particle radius in m +Body246 2.80300938e+05 1.19230190e+04 ! particle number mass Rhill +6.79194010e+03 !particle radius in AU 8.96651461e+06 1.05824022e+06 -2.00386304e+04 ! x y z -2.80453416e+02 2.17973889e+03 1.20973693e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -247 6.93860397e+05 2.71014582e+04 ! particle number mass Rhill -9.18776116e+03 !particle radius in m +Body247 6.93860397e+05 2.71014582e+04 ! particle number mass Rhill +9.18776116e+03 !particle radius in AU 1.47368687e+06 1.52540290e+07 1.91344142e+05 ! x y z -1.67085873e+03 1.59690705e+02 -2.30924434e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -248 2.21045128e+05 1.62927419e+04 ! particle number mass Rhill -9.24689597e+03 !particle radius in m +Body248 2.21045128e+05 1.62927419e+04 ! particle number mass Rhill +9.24689597e+03 !particle radius in AU -1.31122397e+06 1.35322324e+07 5.51107975e+04 ! x y z -1.76733822e+03 -1.66895030e+02 1.40149353e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -249 1.57513562e+05 9.70901785e+03 ! particle number mass Rhill -8.25926956e+03 !particle radius in m +Body249 1.57513562e+05 9.70901785e+03 ! particle number mass Rhill +8.25926956e+03 !particle radius in AU 6.67718106e+06 -6.31157792e+06 2.26609344e+04 ! x y z 1.50456951e+03 1.52943679e+03 8.18042830e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -250 3.40949521e+05 1.56136944e+04 ! particle number mass Rhill -1.06839624e+04 !particle radius in m +Body250 3.40949521e+05 1.56136944e+04 ! particle number mass Rhill +1.06839624e+04 !particle radius in AU -9.16360265e+06 6.32922451e+06 2.58199480e+03 ! x y z -1.14874981e+03 -1.60466496e+03 1.97944632e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -251 2.67400890e+05 1.60281390e+04 ! particle number mass Rhill -6.68610634e+03 !particle radius in m +Body251 2.67400890e+05 1.60281390e+04 ! particle number mass Rhill +6.68610634e+03 !particle radius in AU -1.15940056e+07 4.46540148e+06 -5.91615241e+04 ! x y z -6.61054922e+02 -1.74552414e+03 3.85473780e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -252 1.90980773e+05 1.02400192e+04 ! particle number mass Rhill -5.97652691e+03 !particle radius in m +Body252 1.90980773e+05 1.02400192e+04 ! particle number mass Rhill +5.97652691e+03 !particle radius in AU 7.27954173e+05 8.98873006e+06 3.22170920e+04 ! x y z -2.16869199e+03 1.52559195e+02 -7.62441611e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -253 8.81577356e+05 2.66619325e+04 ! particle number mass Rhill -9.95113166e+03 !particle radius in m +Body253 8.81577356e+05 2.66619325e+04 ! particle number mass Rhill +9.95113166e+03 !particle radius in AU -7.91834556e+06 1.12541780e+07 -7.01445845e+04 ! x y z -1.45888232e+03 -1.02209811e+03 -1.64204126e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -254 1.74268386e+05 1.73117817e+04 ! particle number mass Rhill -5.79684738e+03 !particle radius in m +Body254 1.74268386e+05 1.73117817e+04 ! particle number mass Rhill +5.79684738e+03 !particle radius in AU -1.33826547e+07 -7.97098248e+06 5.10482753e+03 ! x y z 8.38898161e+02 -1.43447217e+03 1.26393376e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -255 7.87919903e+04 9.41855233e+03 ! particle number mass Rhill -6.55636334e+03 !particle radius in m +Body255 7.87919903e+04 9.41855233e+03 ! particle number mass Rhill +6.55636334e+03 !particle radius in AU 1.00439607e+07 -4.85348750e+06 1.01261466e+05 ! x y z 8.20741840e+02 1.77276708e+03 -5.85913488e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -256 2.69480282e+05 1.23931951e+04 ! particle number mass Rhill -6.70339268e+03 !particle radius in m +Body256 2.69480282e+05 1.23931951e+04 ! particle number mass Rhill +6.70339268e+03 !particle radius in AU 2.04930949e+06 -9.32239452e+06 -2.24373576e+04 ! x y z 2.07456592e+03 4.98065963e+02 1.20751769e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -257 2.46903228e+05 2.89142381e+04 ! particle number mass Rhill -6.51070352e+03 !particle radius in m +Body257 2.46903228e+05 2.89142381e+04 ! particle number mass Rhill +6.51070352e+03 !particle radius in AU -2.17215478e+07 -8.78835015e+06 -4.01495560e+04 ! x y z 5.14278406e+02 -1.24501793e+03 7.48973214e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -258 1.23878170e+06 2.56018645e+04 ! particle number mass Rhill -1.11459543e+04 !particle radius in m +Body258 1.23878170e+06 2.56018645e+04 ! particle number mass Rhill +1.11459543e+04 !particle radius in AU 1.20260148e+07 1.50890452e+06 -8.61170776e+04 ! x y z -2.28727670e+02 1.85884268e+03 1.03561533e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -259 2.00656446e+05 1.10598095e+04 ! particle number mass Rhill -8.95337335e+03 !particle radius in m +Body259 2.00656446e+05 1.10598095e+04 ! particle number mass Rhill +8.95337335e+03 !particle radius in AU 6.77964628e+06 6.80088173e+06 3.59640048e+04 ! x y z -1.51037716e+03 1.46534327e+03 4.36610744e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -260 1.07191143e+05 1.87922625e+04 ! particle number mass Rhill -7.26477146e+03 !particle radius in m +Body260 1.07191143e+05 1.87922625e+04 ! particle number mass Rhill +7.26477146e+03 !particle radius in AU 1.93741347e+07 4.35856951e+06 -7.05507935e+02 ! x y z -2.95958141e+02 1.44257652e+03 3.98161720e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -261 4.58808583e+05 2.25128613e+04 ! particle number mass Rhill -1.17954044e+04 !particle radius in m +Body261 4.58808583e+05 2.25128613e+04 ! particle number mass Rhill +1.17954044e+04 !particle radius in AU -1.36515521e+07 5.47808328e+06 2.30862197e+04 ! x y z -6.21116352e+02 -1.59076755e+03 -4.14797264e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -262 2.90655410e+05 1.74532512e+04 ! particle number mass Rhill -1.01304435e+04 !particle radius in m +Body262 2.90655410e+05 1.74532512e+04 ! particle number mass Rhill +1.01304435e+04 !particle radius in AU 1.29557484e+07 -3.33144253e+06 5.90527945e+04 ! x y z 4.53468556e+02 1.72544679e+03 8.55651480e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -263 7.08997716e+04 1.09670527e+04 ! particle number mass Rhill -4.29537029e+03 !particle radius in m +Body263 7.08997716e+04 1.09670527e+04 ! particle number mass Rhill +4.29537029e+03 !particle radius in AU 1.22881970e+07 4.73181161e+06 8.31929270e+04 ! x y z -6.58468588e+02 1.69384960e+03 -1.28940832e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -264 1.34411988e+05 1.57738727e+04 ! particle number mass Rhill -5.31616352e+03 !particle radius in m +Body264 1.34411988e+05 1.57738727e+04 ! particle number mass Rhill +5.31616352e+03 !particle radius in AU 1.42705581e+07 -5.59919890e+06 -1.20173006e+04 ! x y z 6.15518752e+02 1.56633732e+03 -3.00095341e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -265 6.21292858e+05 2.92546564e+04 ! particle number mass Rhill -1.30497175e+04 !particle radius in m +Body265 6.21292858e+05 2.92546564e+04 ! particle number mass Rhill +1.30497175e+04 !particle radius in AU 1.22157187e+07 1.21158385e+07 -1.89187958e+04 ! x y z -1.13185306e+03 1.10567360e+03 -1.20248978e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -266 4.37332958e+04 6.44253036e+03 ! particle number mass Rhill -5.38815059e+03 !particle radius in m +Body266 4.37332958e+04 6.44253036e+03 ! particle number mass Rhill +5.38815059e+03 !particle radius in AU 3.95878049e+06 -8.23148660e+06 5.75314545e+04 ! x y z 1.96980210e+03 9.25868395e+02 1.73432582e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -267 1.43659648e+06 2.53518437e+04 ! particle number mass Rhill -1.17101897e+04 !particle radius in m +Body267 1.43659648e+06 2.53518437e+04 ! particle number mass Rhill +1.17101897e+04 !particle radius in AU -3.77919432e+06 1.07609723e+07 -5.23499337e+04 ! x y z -1.82204789e+03 -6.43288095e+02 1.18800083e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -268 8.39702253e+04 1.22379070e+04 ! particle number mass Rhill -6.69695574e+03 !particle radius in m +Body268 8.39702253e+04 1.22379070e+04 ! particle number mass Rhill +6.69695574e+03 !particle radius in AU -1.05319563e+07 9.02628865e+06 7.76373874e+04 ! x y z -1.14418489e+03 -1.35282145e+03 -8.67554957e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -269 6.87209763e+04 9.36137706e+03 ! particle number mass Rhill -4.25091189e+03 !particle radius in m +Body269 6.87209763e+04 9.36137706e+03 ! particle number mass Rhill +4.25091189e+03 !particle radius in AU 1.11472461e+07 3.88496928e+06 2.24744875e+04 ! x y z -6.24929449e+02 1.77558367e+03 1.82397206e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -270 8.93056834e+05 2.02090263e+04 ! particle number mass Rhill -9.99413848e+03 !particle radius in m +Body270 8.93056834e+05 2.02090263e+04 ! particle number mass Rhill +9.99413848e+03 !particle radius in AU 7.13225296e+06 7.84741088e+06 7.08528372e+04 ! x y z -1.47773160e+03 1.36033625e+03 -6.05338364e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -271 7.72395853e+04 1.53049462e+04 ! particle number mass Rhill -4.41976293e+03 !particle radius in m +Body271 7.72395853e+04 1.53049462e+04 ! particle number mass Rhill +4.41976293e+03 !particle radius in AU 1.57340361e+07 -9.25306632e+06 1.05005348e+05 ! x y z 7.63951994e+02 1.32212390e+03 -5.72592279e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -272 1.17326453e+05 1.78660442e+04 ! particle number mass Rhill -7.48688169e+03 !particle radius in m +Body272 1.17326453e+05 1.78660442e+04 ! particle number mass Rhill +7.48688169e+03 !particle radius in AU 1.78996895e+07 -3.23122702e+06 -8.50474408e+04 ! x y z 2.79448983e+02 1.51858349e+03 1.07776473e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -273 2.64759082e+05 1.14529225e+04 ! particle number mass Rhill -9.82017615e+03 !particle radius in m +Body273 2.64759082e+05 1.14529225e+04 ! particle number mass Rhill +9.82017615e+03 !particle radius in AU -1.25291109e+06 8.92261901e+06 6.19393261e+04 ! x y z -2.15215968e+03 -3.42916287e+02 5.69467556e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -274 9.28436033e+04 1.03254647e+04 ! particle number mass Rhill -6.92499799e+03 !particle radius in m +Body274 9.28436033e+04 1.03254647e+04 ! particle number mass Rhill +6.92499799e+03 !particle radius in AU 3.17829891e+06 -1.10142305e+07 -2.69804501e+04 ! x y z 1.85575994e+03 5.54347759e+02 -8.57029148e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -275 1.28358389e+05 1.04813501e+04 ! particle number mass Rhill -7.71454664e+03 !particle radius in m +Body275 1.28358389e+05 1.04813501e+04 ! particle number mass Rhill +7.71454664e+03 !particle radius in AU -1.52137099e+06 1.03039110e+07 -2.28129443e+04 ! x y z -2.01239392e+03 -3.00583105e+02 1.82997128e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -276 1.71849481e+06 2.43554180e+04 ! particle number mass Rhill -1.24308761e+04 !particle radius in m +Body276 1.71849481e+06 2.43554180e+04 ! particle number mass Rhill +1.24308761e+04 !particle radius in AU 7.58255782e+06 -6.89244058e+06 -4.22200409e+04 ! x y z 1.36574672e+03 1.52351062e+03 -3.42663337e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -277 1.76580097e+06 2.81722435e+04 ! particle number mass Rhill -1.25439096e+04 !particle radius in m +Body277 1.76580097e+06 2.81722435e+04 ! particle number mass Rhill +1.25439096e+04 !particle radius in AU -8.20564828e+06 8.24671241e+06 -1.78987991e+05 ! x y z -1.37211179e+03 -1.35613094e+03 5.81977986e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -278 2.66657642e+05 1.86850925e+04 ! particle number mass Rhill -9.84359343e+03 !particle radius in m +Body278 2.66657642e+05 1.86850925e+04 ! particle number mass Rhill +9.84359343e+03 !particle radius in AU 8.14883976e+06 -1.20311130e+07 2.81646262e+04 ! x y z 1.42418230e+03 9.71290645e+02 -1.65557105e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -279 1.67849030e+06 2.16729264e+04 ! particle number mass Rhill -1.23336592e+04 !particle radius in m +Body279 1.67849030e+06 2.16729264e+04 ! particle number mass Rhill +1.23336592e+04 !particle radius in AU 2.74582126e+06 -8.71763630e+06 6.44092995e+04 ! x y z 2.06453659e+03 6.75538119e+02 -1.84554482e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -280 3.33306167e+05 1.37489654e+04 ! particle number mass Rhill -1.06035211e+04 !particle radius in m +Body280 3.33306167e+05 1.37489654e+04 ! particle number mass Rhill +1.06035211e+04 !particle radius in AU 7.67980194e+06 -6.41178879e+06 9.39794316e+04 ! x y z 1.32508200e+03 1.58960541e+03 -1.68646923e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -281 2.90036427e+05 1.42298817e+04 ! particle number mass Rhill -1.01232471e+04 !particle radius in m +Body281 2.90036427e+05 1.42298817e+04 ! particle number mass Rhill +1.01232471e+04 !particle radius in AU 1.08862914e+07 -1.69171267e+06 1.06890002e+04 ! x y z 2.66940523e+02 1.93825037e+03 -3.17829482e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -282 2.08854812e+05 2.58329628e+04 ! particle number mass Rhill -9.07368751e+03 !particle radius in m +Body282 2.08854812e+05 2.58329628e+04 ! particle number mass Rhill +9.07368751e+03 !particle radius in AU -2.12855771e+07 -6.22047593e+06 4.09709267e+04 ! x y z 3.86441604e+02 -1.32836590e+03 2.12243761e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -283 1.09299260e+06 1.84417787e+04 ! particle number mass Rhill -1.06903372e+04 !particle radius in m +Body283 1.09299260e+06 1.84417787e+04 ! particle number mass Rhill +1.06903372e+04 !particle radius in AU 1.19425206e+06 -8.91233794e+06 3.55973631e+04 ! x y z 2.17359618e+03 2.49148190e+02 5.23202275e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -284 1.46324679e+04 4.71419267e+03 ! particle number mass Rhill -3.74060212e+03 !particle radius in m +Body284 1.46324679e+04 4.71419267e+03 ! particle number mass Rhill +3.74060212e+03 !particle radius in AU 9.56786350e+06 4.49949446e+05 3.82232625e+04 ! x y z -9.15404876e+01 2.12884256e+03 -8.93875847e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -285 1.40182455e+05 9.14605142e+03 ! particle number mass Rhill -7.94450563e+03 !particle radius in m +Body285 1.40182455e+05 9.14605142e+03 ! particle number mass Rhill +7.94450563e+03 !particle radius in AU 2.52449139e+06 -8.63435263e+06 3.47588448e+03 ! x y z 2.08621300e+03 5.91911411e+02 -3.57309299e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -286 1.06034598e+05 1.24338277e+04 ! particle number mass Rhill -4.91211126e+03 !particle radius in m +Body286 1.06034598e+05 1.24338277e+04 ! particle number mass Rhill +4.91211126e+03 !particle radius in AU 1.30335501e+07 -9.18110749e+05 -5.93800312e+04 ! x y z 1.10189733e+02 1.82033941e+03 -1.02966654e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -287 3.46450949e+05 1.43804817e+04 ! particle number mass Rhill -1.07411202e+04 !particle radius in m +Body287 3.46450949e+05 1.43804817e+04 ! particle number mass Rhill +1.07411202e+04 !particle radius in AU -8.43406318e+06 -5.93404434e+06 2.36715133e+04 ! x y z 1.16500133e+03 -1.67478526e+03 9.48734166e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -288 1.56983400e+05 1.31094123e+04 ! particle number mass Rhill -5.59848141e+03 !particle radius in m +Body288 1.56983400e+05 1.31094123e+04 ! particle number mass Rhill +5.59848141e+03 !particle radius in AU 1.45797657e+06 -1.20421345e+07 -3.75037404e+04 ! x y z 1.87575411e+03 2.26832585e+02 1.21113356e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -289 2.48666520e+05 1.14701907e+04 ! particle number mass Rhill -9.61704013e+03 !particle radius in m +Body289 2.48666520e+05 1.14701907e+04 ! particle number mass Rhill +9.61704013e+03 !particle radius in AU 7.82736208e+06 -4.81216442e+06 6.09982286e+04 ! x y z 1.09482209e+03 1.86309298e+03 2.82110626e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -290 5.65388384e+05 2.38333682e+04 ! particle number mass Rhill -1.26459448e+04 !particle radius in m +Body290 5.65388384e+05 2.38333682e+04 ! particle number mass Rhill +1.26459448e+04 !particle radius in AU -1.04983951e+07 -9.78210039e+06 4.04999757e+04 ! x y z 1.16976801e+03 -1.28733444e+03 3.36107675e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -291 4.58299747e+05 1.37934417e+04 ! particle number mass Rhill -8.00145320e+03 !particle radius in m +Body291 4.58299747e+05 1.37934417e+04 ! particle number mass Rhill +8.00145320e+03 !particle radius in AU -8.88059070e+06 -1.48350388e+06 -3.65798996e+04 ! x y z 3.63914783e+02 -2.15370844e+03 -4.03870858e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -292 2.30030563e+04 6.14927674e+03 ! particle number mass Rhill -4.34941489e+03 !particle radius in m +Body292 2.30030563e+04 6.14927674e+03 ! particle number mass Rhill +4.34941489e+03 !particle radius in AU 1.71799482e+06 -1.11150786e+07 -1.11600323e+04 ! x y z 1.89156931e+03 3.37161187e+02 -5.00763335e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -293 7.08749007e+04 1.18059055e+04 ! particle number mass Rhill -4.29486797e+03 !particle radius in m +Body293 7.08749007e+04 1.18059055e+04 ! particle number mass Rhill +4.29486797e+03 !particle radius in AU 1.22676746e+07 -7.93082840e+06 -7.55901444e+04 ! x y z 9.10780310e+02 1.43519257e+03 -9.59182854e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -294 1.21450320e+06 2.13409537e+04 ! particle number mass Rhill -1.10726580e+04 !particle radius in m +Body294 1.21450320e+06 2.13409537e+04 ! particle number mass Rhill +1.10726580e+04 !particle radius in AU 6.08378238e+06 -7.87148142e+06 -2.39812665e+04 ! x y z 1.65441655e+03 1.27707568e+03 -1.18584893e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -295 4.34793722e+05 1.91206475e+04 ! particle number mass Rhill -1.15859081e+04 !particle radius in m +Body295 4.34793722e+05 1.91206475e+04 ! particle number mass Rhill +1.15859081e+04 !particle radius in AU 5.05198031e+06 1.16964703e+07 1.98330665e+04 ! x y z -1.69333923e+03 7.02450436e+02 2.04857518e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -296 5.88218517e+05 2.95301840e+04 ! particle number mass Rhill -8.69558011e+03 !particle radius in m +Body296 5.88218517e+05 2.95301840e+04 ! particle number mass Rhill +8.69558011e+03 !particle radius in AU -2.23024582e+06 1.75885326e+07 3.84168836e+04 ! x y z -1.54534740e+03 -1.88777263e+02 1.39357869e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -297 8.46851500e+04 1.21295826e+04 ! particle number mass Rhill -6.71590808e+03 !particle radius in m +Body297 8.46851500e+04 1.21295826e+04 ! particle number mass Rhill +6.71590808e+03 !particle radius in AU 1.11164532e+07 8.01001814e+06 1.06625699e+05 ! x y z -1.04365443e+03 1.44565605e+03 2.11662748e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -298 1.24155519e+06 2.60986227e+04 ! particle number mass Rhill -1.11542662e+04 !particle radius in m +Body298 1.24155519e+06 2.60986227e+04 ! particle number mass Rhill +1.11542662e+04 !particle radius in AU -1.17258082e+06 -1.22657889e+07 4.54924052e+04 ! x y z 1.84907037e+03 -1.95731556e+02 1.04424396e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -299 5.36470228e+04 6.78707710e+03 ! particle number mass Rhill -5.76789746e+03 !particle radius in m +Body299 5.36470228e+04 6.78707710e+03 ! particle number mass Rhill +5.76789746e+03 !particle radius in AU 8.87472318e+06 -1.41477847e+06 9.96850714e+03 ! x y z 3.48170496e+02 2.16686116e+03 6.86996341e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -300 2.28532347e+05 1.30656897e+04 ! particle number mass Rhill -9.35014220e+03 !particle radius in m +Body300 2.28532347e+05 1.30656897e+04 ! particle number mass Rhill +9.35014220e+03 !particle radius in AU -1.06755868e+07 -2.26215221e+06 -1.03098190e+04 ! x y z 4.22938170e+02 -1.92356457e+03 -6.44322506e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -301 7.16670668e+04 9.43142814e+03 ! particle number mass Rhill -6.35246381e+03 !particle radius in m +Body301 7.16670668e+04 9.43142814e+03 ! particle number mass Rhill +6.35246381e+03 !particle radius in AU -1.15286614e+07 6.85922305e+05 -2.50421030e+03 ! x y z -1.47622259e+02 -1.91263388e+03 -2.66811177e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -302 3.41791273e+05 1.66815993e+04 ! particle number mass Rhill -7.25614557e+03 !particle radius in m +Body302 3.41791273e+05 1.66815993e+04 ! particle number mass Rhill +7.25614557e+03 !particle radius in AU -1.14907610e+07 3.12025122e+06 -5.05043492e+04 ! x y z -4.96419350e+02 -1.84148364e+03 1.23574710e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -303 3.02600957e+05 1.57068129e+04 ! particle number mass Rhill -1.02673671e+04 !particle radius in m +Body303 3.02600957e+05 1.57068129e+04 ! particle number mass Rhill +1.02673671e+04 !particle radius in AU 3.52540674e+06 1.12335432e+07 5.00575123e+04 ! x y z -1.81448873e+03 5.96787301e+02 1.05390435e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -304 1.24634953e+05 1.85683375e+04 ! particle number mass Rhill -7.63921866e+03 !particle radius in m +Body304 1.24634953e+05 1.85683375e+04 ! particle number mass Rhill +7.63921866e+03 !particle radius in AU -1.63903863e+07 9.01968445e+06 -1.03768934e+05 ! x y z -7.30657688e+02 -1.32744569e+03 -3.28089387e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -305 1.06580756e+06 2.24671215e+04 ! particle number mass Rhill -1.06009616e+04 !particle radius in m +Body305 1.06580756e+06 2.24671215e+04 ! particle number mass Rhill +1.06009616e+04 !particle radius in AU 1.01396523e+07 -4.81960415e+06 4.30193977e+03 ! x y z 8.23199841e+02 1.75908251e+03 4.33811421e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -306 1.05002762e+06 2.40980448e+04 ! particle number mass Rhill -1.05483834e+04 !particle radius in m +Body306 1.05002762e+06 2.40980448e+04 ! particle number mass Rhill +1.05483834e+04 !particle radius in AU 1.06454895e+07 5.05879867e+06 5.08283132e+04 ! x y z -8.22304047e+02 1.73567086e+03 1.93532669e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -307 4.27056844e+05 2.36784291e+04 ! particle number mass Rhill -7.81533428e+03 !particle radius in m +Body307 4.27056844e+05 2.36784291e+04 ! particle number mass Rhill +7.81533428e+03 !particle radius in AU -1.60755914e+07 -7.66558706e+05 1.42941147e+04 ! x y z 6.22982075e+01 -1.61863536e+03 -1.60725073e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -308 1.39222251e+06 1.99143819e+04 ! particle number mass Rhill -1.15883574e+04 !particle radius in m +Body308 1.39222251e+06 1.99143819e+04 ! particle number mass Rhill +1.15883574e+04 !particle radius in AU -1.46060477e+06 -8.99385191e+06 -3.08209444e+04 ! x y z 2.13011898e+03 -3.25298595e+02 2.80216541e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -309 1.27802909e+06 1.93841179e+04 ! particle number mass Rhill -1.12624422e+04 !particle radius in m +Body309 1.27802909e+06 1.93841179e+04 ! particle number mass Rhill +1.12624422e+04 !particle radius in AU -1.41660966e+06 8.99035717e+06 1.40528615e+04 ! x y z -2.12617696e+03 -3.75024767e+02 -9.07028597e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -310 1.60563896e+06 2.27299762e+04 ! particle number mass Rhill -1.21525746e+04 !particle radius in m +Body310 1.60563896e+06 2.27299762e+04 ! particle number mass Rhill +1.21525746e+04 !particle radius in AU 8.84712919e+06 3.96421798e+06 1.13803740e+04 ! x y z -8.83218100e+02 1.91945493e+03 3.31259998e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -311 1.63391111e+05 1.36375912e+04 ! particle number mass Rhill -5.67364039e+03 !particle radius in m +Body311 1.63391111e+05 1.36375912e+04 ! particle number mass Rhill +5.67364039e+03 !particle radius in AU 6.88657663e+06 -1.05966202e+07 1.71451160e+03 ! x y z 1.56481452e+03 9.63079720e+02 1.94534764e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -312 3.67336673e+05 1.47597955e+04 ! particle number mass Rhill -7.43259427e+03 !particle radius in m +Body312 3.67336673e+05 1.47597955e+04 ! particle number mass Rhill +7.43259427e+03 !particle radius in AU -8.85269678e+06 5.44905716e+06 -5.60825695e+04 ! x y z -1.07596431e+03 -1.72186966e+03 1.77805310e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -313 4.77242503e+05 2.18809563e+04 ! particle number mass Rhill -1.19513059e+04 !particle radius in m +Body313 4.77242503e+05 2.18809563e+04 ! particle number mass Rhill +1.19513059e+04 !particle radius in AU 3.11450797e+06 -1.37495078e+07 -3.57099214e+04 ! x y z 1.70202965e+03 3.85543507e+02 -4.49001111e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -314 3.74348891e+05 1.43810422e+04 ! particle number mass Rhill -1.10220195e+04 !particle radius in m +Body314 3.74348891e+05 1.43810422e+04 ! particle number mass Rhill +1.10220195e+04 !particle radius in AU -9.00924085e+06 4.66367866e+06 1.26574464e+04 ! x y z -9.50214730e+02 -1.81339232e+03 -1.20100516e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -315 1.15108819e+05 1.05231234e+04 ! particle number mass Rhill -5.04841672e+03 !particle radius in m +Body315 1.15108819e+05 1.05231234e+04 ! particle number mass Rhill +5.04841672e+03 !particle radius in AU -1.08865724e+07 1.89436312e+06 -5.35372336e+04 ! x y z -3.54360414e+02 -1.92451382e+03 8.24540973e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -316 2.00402722e+04 9.01916105e+03 ! particle number mass Rhill -4.15403541e+03 !particle radius in m +Body316 2.00402722e+04 9.01916105e+03 ! particle number mass Rhill +4.15403541e+03 !particle radius in AU 1.55751438e+07 6.03420204e+06 -2.57378814e+04 ! x y z -5.81737732e+02 1.49479237e+03 -7.62983212e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -317 1.36478455e+06 2.35917682e+04 ! particle number mass Rhill -1.15117238e+04 !particle radius in m +Body317 1.36478455e+06 2.35917682e+04 ! particle number mass Rhill +1.15117238e+04 !particle radius in AU 1.06056911e+07 8.74976261e+04 -1.72290821e+03 ! x y z -1.77150357e+01 2.02140459e+03 -2.31012980e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -318 1.25503882e+06 2.69799096e+04 ! particle number mass Rhill -1.11945004e+04 !particle radius in m +Body318 1.25503882e+06 2.69799096e+04 ! particle number mass Rhill +1.11945004e+04 !particle radius in AU -6.72042968e+06 -1.07531738e+07 5.09281015e+04 ! x y z 1.56397473e+03 -9.57368328e+02 -1.25364327e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -319 3.83212506e+05 1.74228564e+04 ! particle number mass Rhill -7.53816353e+03 !particle radius in m +Body319 3.83212506e+05 1.74228564e+04 ! particle number mass Rhill +7.53816353e+03 !particle radius in AU 4.10458407e+06 -1.13623664e+07 -9.48469623e+04 ! x y z 1.78215300e+03 6.13680096e+02 -7.93502985e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -320 1.19861178e+05 1.06361705e+04 ! particle number mass Rhill -7.54041364e+03 !particle radius in m +Body320 1.19861178e+05 1.06361705e+04 ! particle number mass Rhill +7.54041364e+03 !particle radius in AU 8.42747503e+06 -6.97349936e+06 -2.15671129e+04 ! x y z 1.26552336e+03 1.51523836e+03 2.12892191e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -321 2.76964902e+05 1.82031961e+04 ! particle number mass Rhill -6.76488745e+03 !particle radius in m +Body321 2.76964902e+05 1.82031961e+04 ! particle number mass Rhill +6.76488745e+03 !particle radius in AU -1.31213742e+07 -4.58561120e+06 1.53600301e+04 ! x y z 5.82359194e+02 -1.66882713e+03 1.14079207e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -322 7.97652582e+04 8.90232552e+03 ! particle number mass Rhill -6.58324849e+03 !particle radius in m +Body322 7.97652582e+04 8.90232552e+03 ! particle number mass Rhill +6.58324849e+03 !particle radius in AU -7.56393159e+06 7.09659926e+06 -4.65315976e+04 ! x y z -1.36862256e+03 -1.51081343e+03 1.13488899e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -323 1.71360917e+05 1.02338425e+04 ! particle number mass Rhill -8.49453445e+03 !particle radius in m +Body323 1.71360917e+05 1.02338425e+04 ! particle number mass Rhill +8.49453445e+03 !particle radius in AU 4.46247777e+06 -8.10645059e+06 1.43618351e+04 ! x y z 1.90934802e+03 1.00293881e+03 8.21819949e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -324 8.86224252e+04 9.60497307e+03 ! particle number mass Rhill -6.81841660e+03 !particle radius in m +Body324 8.86224252e+04 9.60497307e+03 ! particle number mass Rhill +6.81841660e+03 !particle radius in AU -9.96034566e+06 4.35537723e+06 -1.20286093e+04 ! x y z -7.67471215e+02 -1.83079175e+03 -1.31980560e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -325 3.61520873e+05 1.66400018e+04 ! particle number mass Rhill -1.08946542e+04 !particle radius in m +Body325 3.61520873e+05 1.66400018e+04 ! particle number mass Rhill +1.08946542e+04 !particle radius in AU -1.14760721e+07 3.70943531e+06 -9.49844421e+04 ! x y z -5.95286906e+02 -1.76496467e+03 3.00728950e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -326 1.75021180e+06 3.81751240e+04 ! particle number mass Rhill -1.25068862e+04 !particle radius in m +Body326 1.75021180e+06 3.81751240e+04 ! particle number mass Rhill +1.25068862e+04 !particle radius in AU -1.57425262e+07 -1.71485068e+06 5.83418789e+04 ! x y z 1.83396886e+02 -1.64215306e+03 1.76834645e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -327 1.32994897e+06 2.00857686e+04 ! particle number mass Rhill -1.14129344e+04 !particle radius in m +Body327 1.32994897e+06 2.00857686e+04 ! particle number mass Rhill +1.14129344e+04 !particle radius in AU -5.50533612e+06 -7.29539312e+06 -4.19582765e+04 ! x y z 1.70576164e+03 -1.34793657e+03 3.36918899e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -328 1.21855656e+05 9.07633350e+03 ! particle number mass Rhill -7.58200769e+03 !particle radius in m +Body328 1.21855656e+05 9.07633350e+03 ! particle number mass Rhill +7.58200769e+03 !particle radius in AU -1.84334893e+06 9.13437442e+06 -6.98626074e+03 ! x y z -2.09435634e+03 -4.13549777e+02 1.31091798e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -329 1.40955037e+06 2.89016258e+04 ! particle number mass Rhill -1.16362363e+04 !particle radius in m +Body329 1.40955037e+06 2.89016258e+04 ! particle number mass Rhill +1.16362363e+04 !particle radius in AU -8.24556722e+05 1.30406598e+07 9.22800110e+04 ! x y z -1.80291385e+03 -1.14208577e+02 5.06777815e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -330 1.58828247e+05 1.37321216e+04 ! particle number mass Rhill -8.28218455e+03 !particle radius in m +Body330 1.58828247e+05 1.37321216e+04 ! particle number mass Rhill +8.28218455e+03 !particle radius in AU -9.92787386e+06 7.89436638e+06 5.47155159e+04 ! x y z -1.15186100e+03 -1.44221325e+03 -1.43299470e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -331 1.65396738e+05 2.50325908e+04 ! particle number mass Rhill -5.69676070e+03 !particle radius in m +Body331 1.65396738e+05 2.50325908e+04 ! particle number mass Rhill +5.69676070e+03 !particle radius in AU -1.72820033e+07 -1.54859445e+07 -1.76600870e+05 ! x y z 9.00952544e+02 -1.00938815e+03 5.52976287e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -332 4.50908324e+05 1.60135274e+04 ! particle number mass Rhill -1.17273100e+04 !particle radius in m +Body332 4.50908324e+05 1.60135274e+04 ! particle number mass Rhill +1.17273100e+04 !particle radius in AU 7.54874149e+06 -7.34865635e+06 1.58691383e+04 ! x y z 1.40447688e+03 1.44745232e+03 -1.19902506e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -333 3.88265588e+05 1.76282129e+04 ! particle number mass Rhill -7.57115197e+03 !particle radius in m +Body333 3.88265588e+05 1.76282129e+04 ! particle number mass Rhill +7.57115197e+03 !particle radius in AU 6.70925482e+06 1.02233476e+07 -8.94168570e+04 ! x y z -1.57673538e+03 1.00346927e+03 -1.54449677e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -334 3.44291979e+05 1.32450561e+04 ! particle number mass Rhill -1.07187619e+04 !particle radius in m +Body334 3.44291979e+05 1.32450561e+04 ! particle number mass Rhill +1.07187619e+04 !particle radius in AU -9.38875782e+06 -1.03278172e+06 4.07424683e+04 ! x y z 2.57699240e+02 -2.12423408e+03 -1.75552004e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -335 1.35334256e+05 1.01627003e+04 ! particle number mass Rhill -7.85184231e+03 !particle radius in m +Body335 1.35334256e+05 1.01627003e+04 ! particle number mass Rhill +7.85184231e+03 !particle radius in AU 9.27514180e+06 3.60605892e+06 -8.97298126e+03 ! x y z -7.45316219e+02 1.94032830e+03 2.50725751e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -336 5.49037875e+04 6.70694447e+03 ! particle number mass Rhill -5.81259090e+03 !particle radius in m +Body336 5.49037875e+04 6.70694447e+03 ! particle number mass Rhill +5.81259090e+03 !particle radius in AU 2.84715606e+05 -8.96387040e+06 -7.61793089e+04 ! x y z 2.17642987e+03 7.44775849e+01 5.43474351e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -337 1.06085076e+06 1.97907369e+04 ! particle number mass Rhill -1.05845019e+04 !particle radius in m +Body337 1.06085076e+06 1.97907369e+04 ! particle number mass Rhill +1.05845019e+04 !particle radius in AU 4.23618089e+06 8.82455069e+06 -3.58009197e+04 ! x y z -1.88592236e+03 9.06205367e+02 -1.32060735e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -338 2.06072803e+05 1.29338641e+04 ! particle number mass Rhill -9.03321920e+03 !particle radius in m +Body338 2.06072803e+05 1.29338641e+04 ! particle number mass Rhill +9.03321920e+03 !particle radius in AU 8.99412766e+06 -6.25093595e+06 5.78854309e+04 ! x y z 1.13268666e+03 1.63171487e+03 -3.80887879e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -339 1.09138269e+06 2.10029891e+04 ! particle number mass Rhill -1.06850859e+04 !particle radius in m +Body339 1.09138269e+06 2.10029891e+04 ! particle number mass Rhill +1.06850859e+04 !particle radius in AU 8.95756676e+06 -5.04120234e+06 4.46604404e+04 ! x y z 9.97476295e+02 1.78291720e+03 1.83929026e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -340 1.18742709e+06 2.48211822e+04 ! particle number mass Rhill -1.09897543e+04 !particle radius in m +Body340 1.18742709e+06 2.48211822e+04 ! particle number mass Rhill +1.09897543e+04 !particle radius in AU -6.88398435e+06 -9.59185877e+06 5.44110030e+04 ! x y z 1.53704986e+03 -1.12804795e+03 1.33934445e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -341 8.61407126e+04 8.77159648e+03 ! particle number mass Rhill -6.75416723e+03 !particle radius in m +Body341 8.61407126e+04 8.77159648e+03 ! particle number mass Rhill +6.75416723e+03 !particle radius in AU 4.06115845e+06 9.20664592e+06 1.44995295e+04 ! x y z -1.87321421e+03 8.55264917e+02 4.54558328e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -342 6.83606027e+04 1.06731784e+04 ! particle number mass Rhill -4.24346826e+03 !particle radius in m +Body342 6.83606027e+04 1.06731784e+04 ! particle number mass Rhill +4.24346826e+03 !particle radius in AU 5.83709056e+06 1.18773019e+07 -1.78313453e+04 ! x y z -1.60438748e+03 8.04911839e+02 7.87147192e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -343 5.80242151e+05 1.62202808e+04 ! particle number mass Rhill -1.27557328e+04 !particle radius in m +Body343 5.80242151e+05 1.62202808e+04 ! particle number mass Rhill +1.27557328e+04 !particle radius in AU -9.82331264e+06 -1.72475014e+06 -4.50474397e+04 ! x y z 3.80035552e+02 -2.02006276e+03 1.41607704e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -344 8.02642827e+04 8.37530219e+03 ! particle number mass Rhill -6.59694858e+03 !particle radius in m +Body344 8.02642827e+04 8.37530219e+03 ! particle number mass Rhill +6.59694858e+03 !particle radius in AU -9.75150606e+06 1.14173962e+06 1.90738112e+04 ! x y z -2.44986733e+02 -2.07228361e+03 4.28819137e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -345 1.76055567e+06 2.24567768e+04 ! particle number mass Rhill -1.25314767e+04 !particle radius in m +Body345 1.76055567e+06 2.24567768e+04 ! particle number mass Rhill +1.25314767e+04 !particle radius in AU 8.89271698e+06 -2.80889036e+06 -9.05088712e+04 ! x y z 6.43083392e+02 2.05152117e+03 5.84263642e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -346 1.47293265e+05 9.27562637e+03 ! particle number mass Rhill -5.48083372e+03 !particle radius in m +Body346 1.47293265e+05 9.27562637e+03 ! particle number mass Rhill +5.48083372e+03 !particle radius in AU 5.55138431e+05 8.96699891e+06 -2.02907914e+03 ! x y z -2.16543193e+03 1.17824020e+02 1.89028293e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -347 9.25475148e+05 2.45394415e+04 ! particle number mass Rhill -1.01136344e+04 !particle radius in m +Body347 9.25475148e+05 2.45394415e+04 ! particle number mass Rhill +1.01136344e+04 !particle radius in AU 1.08689498e+07 6.77891019e+06 -1.57957399e+05 ! x y z -9.58257682e+02 1.54874788e+03 -4.38996175e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -348 1.53116579e+06 2.57152347e+04 ! particle number mass Rhill -1.19617045e+04 !particle radius in m +Body348 1.53116579e+06 2.57152347e+04 ! particle number mass Rhill +1.19617045e+04 !particle radius in AU -3.46641057e+06 1.06366697e+07 -4.89091419e+04 ! x y z -1.87369781e+03 -5.85557096e+02 2.64347289e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -349 6.04551146e+05 1.51365545e+04 ! particle number mass Rhill -1.29314335e+04 !particle radius in m +Body349 6.04551146e+05 1.51365545e+04 ! particle number mass Rhill +1.29314335e+04 !particle radius in AU 7.28383532e+06 5.25991927e+06 -2.74032882e+04 ! x y z -1.28268765e+03 1.77447224e+03 6.54106986e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -350 1.48886859e+05 1.63747204e+04 ! particle number mass Rhill -5.50052892e+03 !particle radius in m +Body350 1.48886859e+05 1.63747204e+04 ! particle number mass Rhill +5.50052892e+03 !particle radius in AU -4.06177152e+06 -1.52948510e+07 1.69121808e+05 ! x y z 1.57226331e+03 -4.40552105e+02 -4.07139830e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -351 9.88917517e+04 8.68942842e+03 ! particle number mass Rhill -4.79923872e+03 !particle radius in m +Body351 9.88917517e+04 8.68942842e+03 ! particle number mass Rhill +4.79923872e+03 !particle radius in AU -9.47543528e+06 -9.79695598e+05 -1.53056931e+04 ! x y z 2.01324530e+02 -2.10617058e+03 -1.48150840e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -352 5.31761522e+05 2.89128345e+04 ! particle number mass Rhill -8.40797283e+03 !particle radius in m +Body352 5.31761522e+05 2.89128345e+04 ! particle number mass Rhill +8.40797283e+03 !particle radius in AU -1.79473215e+07 9.78097521e+05 5.91571461e+04 ! x y z -1.10933113e+02 -1.54125298e+03 1.80243489e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -353 5.93800400e+05 3.46771236e+04 ! particle number mass Rhill -8.72299905e+03 !particle radius in m +Body353 5.93800400e+05 3.46771236e+04 ! particle number mass Rhill +8.72299905e+03 !particle radius in AU -4.10705239e+06 2.02615072e+07 8.49438827e+04 ! x y z -1.41774938e+03 -2.76831824e+02 -8.09634112e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -354 2.16009390e+04 6.17472898e+03 ! particle number mass Rhill -4.25918528e+03 !particle radius in m +Body354 2.16009390e+04 6.17472898e+03 ! particle number mass Rhill +4.25918528e+03 !particle radius in AU 9.20347813e+05 1.11635810e+07 4.32283845e+04 ! x y z -1.94746867e+03 1.65365528e+02 5.45495799e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -355 1.24618540e+06 2.22772636e+04 ! particle number mass Rhill -1.11681152e+04 !particle radius in m +Body355 1.24618540e+06 2.22772636e+04 ! particle number mass Rhill +1.11681152e+04 !particle radius in AU 1.02476212e+07 1.57307556e+06 1.24769819e+04 ! x y z -3.20593926e+02 2.01506970e+03 6.12888669e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -356 2.53529332e+05 1.20865993e+04 ! particle number mass Rhill -9.67932473e+03 !particle radius in m +Body356 2.53529332e+05 1.20865993e+04 ! particle number mass Rhill +9.67932473e+03 !particle radius in AU -9.41529174e+06 -1.45196651e+06 -3.72716178e+03 ! x y z 3.30034223e+02 -2.10697891e+03 -9.10557070e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -357 3.29029712e+05 1.83883747e+04 ! particle number mass Rhill -7.16468942e+03 !particle radius in m +Body357 3.29029712e+05 1.83883747e+04 ! particle number mass Rhill +7.16468942e+03 !particle radius in AU 9.63405331e+06 9.48657460e+06 -1.16765431e+05 ! x y z -1.25212013e+03 1.25762974e+03 -8.79471164e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -358 2.17221291e+05 1.52159954e+04 ! particle number mass Rhill -6.23859022e+03 !particle radius in m +Body358 2.17221291e+05 1.52159954e+04 ! particle number mass Rhill +6.23859022e+03 !particle radius in AU 1.28395429e+07 1.67358191e+05 3.52526511e+04 ! x y z -4.79000239e+01 1.82109236e+03 -7.08024284e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -359 3.25443529e+05 1.78234223e+04 ! particle number mass Rhill -1.05194783e+04 !particle radius in m +Body359 3.25443529e+05 1.78234223e+04 ! particle number mass Rhill +1.05194783e+04 !particle radius in AU 1.69906243e+05 1.31567065e+07 -2.83802597e+04 ! x y z -1.79852464e+03 -2.60855891e+01 1.09479469e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -360 6.21375843e+05 1.72987397e+04 ! particle number mass Rhill -1.30502985e+04 !particle radius in m +Body360 6.21375843e+05 1.72987397e+04 ! particle number mass Rhill +1.30502985e+04 !particle radius in AU -8.71409354e+06 -5.07378044e+06 -2.89973508e+04 ! x y z 1.01955016e+03 -1.80816198e+03 1.72703995e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -361 1.19625108e+06 3.45202092e+04 ! particle number mass Rhill -1.10169094e+04 !particle radius in m +Body361 1.19625108e+06 3.45202092e+04 ! particle number mass Rhill +1.10169094e+04 !particle radius in AU -1.32773676e+07 9.58326159e+06 1.68929446e+04 ! x y z -9.40100121e+02 -1.31837280e+03 -1.11767857e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -362 7.85243061e+05 1.82848577e+04 ! particle number mass Rhill -9.57459397e+03 !particle radius in m +Body362 7.85243061e+05 1.82848577e+04 ! particle number mass Rhill +9.57459397e+03 !particle radius in AU -8.40811158e+06 5.08930784e+06 5.82263133e+04 ! x y z -1.10041478e+03 -1.79532449e+03 1.45771724e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -363 5.65328014e+04 9.14731336e+03 ! particle number mass Rhill -3.98308125e+03 !particle radius in m +Body363 5.65328014e+04 9.14731336e+03 ! particle number mass Rhill +3.98308125e+03 !particle radius in AU 1.04113372e+07 -6.20697428e+06 -4.84867208e+03 ! x y z 9.45840262e+02 1.61620978e+03 2.47832189e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -364 6.87138794e+05 1.67675123e+04 ! particle number mass Rhill -9.15799677e+03 !particle radius in m +Body364 6.87138794e+05 1.67675123e+04 ! particle number mass Rhill +9.15799677e+03 !particle radius in AU -8.01518815e+06 -5.01852324e+06 5.17503273e+04 ! x y z 1.12426091e+03 -1.82440187e+03 2.07206048e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -365 3.35461131e+05 1.25266942e+04 ! particle number mass Rhill -7.21107035e+03 !particle radius in m +Body365 3.35461131e+05 1.25266942e+04 ! particle number mass Rhill +7.21107035e+03 !particle radius in AU 2.07944449e+06 8.94904149e+06 4.13797547e+04 ! x y z -2.09851241e+03 4.60858305e+02 2.54918811e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -366 1.00962284e+05 9.73161122e+03 ! particle number mass Rhill -7.12123600e+03 !particle radius in m +Body366 1.00962284e+05 9.73161122e+03 ! particle number mass Rhill +7.12123600e+03 !particle radius in AU 9.71543544e+06 -3.75196256e+06 7.97368753e+04 ! x y z 7.42718545e+02 1.90076456e+03 1.83014984e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -367 1.83317034e+05 2.12530285e+04 ! particle number mass Rhill -8.68766895e+03 !particle radius in m +Body367 1.83317034e+05 2.12530285e+04 ! particle number mass Rhill +8.68766895e+03 !particle radius in AU 1.76238307e+07 7.35273671e+06 8.70758386e+04 ! x y z -5.77591306e+02 1.37259271e+03 3.08504041e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -368 4.69470359e+05 2.23837382e+04 ! particle number mass Rhill -1.18860727e+04 !particle radius in m +Body368 4.69470359e+05 2.23837382e+04 ! particle number mass Rhill +1.18860727e+04 !particle radius in AU 1.05252406e+07 1.01023349e+07 1.18854193e+04 ! x y z -1.19069656e+03 1.22779101e+03 7.21918511e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -369 1.04756800e+06 2.13183481e+04 ! particle number mass Rhill -1.05401406e+04 !particle radius in m +Body369 1.04756800e+06 2.13183481e+04 ! particle number mass Rhill +1.05401406e+04 !particle radius in AU -2.44589262e+06 9.98155585e+06 -7.16098465e+04 ! x y z -2.01199959e+03 -4.94158200e+02 1.76332595e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -370 4.18223358e+05 2.54418848e+04 ! particle number mass Rhill -1.14368147e+04 !particle radius in m +Body370 4.18223358e+05 2.54418848e+04 ! particle number mass Rhill +1.14368147e+04 !particle radius in AU -1.71313810e+07 1.65684524e+05 7.09374774e+04 ! x y z -1.73247831e+01 -1.58285349e+03 5.23281867e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -371 1.20015465e+06 2.17095629e+04 ! particle number mass Rhill -1.10288797e+04 !particle radius in m +Body371 1.20015465e+06 2.17095629e+04 ! particle number mass Rhill +1.10288797e+04 !particle radius in AU 5.96055313e+06 8.26822848e+06 -6.95116782e+04 ! x y z -1.67280349e+03 1.20494456e+03 -5.49043884e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -372 2.26102763e+04 5.41804252e+03 ! particle number mass Rhill -4.32451704e+03 !particle radius in m +Body372 2.26102763e+04 5.41804252e+03 ! particle number mass Rhill +4.32451704e+03 !particle radius in AU -4.58351543e+06 8.68653626e+06 -2.19181580e+04 ! x y z -1.82145003e+03 -9.87506692e+02 -1.02913863e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -373 5.78093803e+04 1.24595443e+04 ! particle number mass Rhill -5.91337055e+03 !particle radius in m +Body373 5.78093803e+04 1.24595443e+04 ! particle number mass Rhill +5.91337055e+03 !particle radius in AU 1.46092641e+06 1.62085257e+07 9.35785200e+04 ! x y z -1.61693894e+03 1.23715914e+02 1.88035614e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -374 2.95683963e+05 1.17235659e+04 ! particle number mass Rhill -6.91398214e+03 !particle radius in m +Body374 2.95683963e+05 1.17235659e+04 ! particle number mass Rhill +6.91398214e+03 !particle radius in AU 8.37967759e+06 2.86987872e+06 4.97540416e+02 ! x y z -6.79497178e+02 2.09457077e+03 -7.48586459e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -375 4.12889379e+05 1.59172907e+04 ! particle number mass Rhill -7.72793689e+03 !particle radius in m +Body375 4.12889379e+05 1.59172907e+04 ! particle number mass Rhill +7.72793689e+03 !particle radius in AU 1.00544998e+07 -4.23649556e+06 1.69842871e+04 ! x y z 7.79559289e+02 1.80935311e+03 -9.45690780e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -376 1.50756339e+05 9.79244978e+03 ! particle number mass Rhill -5.52345548e+03 !particle radius in m +Body376 1.50756339e+05 9.79244978e+03 ! particle number mass Rhill +5.52345548e+03 !particle radius in AU 4.97012699e+06 7.77763306e+06 -1.08049137e+05 ! x y z -1.81754065e+03 1.16817211e+03 7.93709072e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -377 4.43444272e+05 1.35175167e+04 ! particle number mass Rhill -1.16622408e+04 !particle radius in m +Body377 4.43444272e+05 1.35175167e+04 ! particle number mass Rhill +1.16622408e+04 !particle radius in AU -8.56556120e+06 -3.00745478e+06 2.68959103e+04 ! x y z 7.41957227e+02 -2.02442760e+03 5.97293652e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -378 5.12222480e+04 7.36091792e+03 ! particle number mass Rhill -3.85423811e+03 !particle radius in m +Body378 5.12222480e+04 7.36091792e+03 ! particle number mass Rhill +3.85423811e+03 !particle radius in AU -9.89914954e+06 1.64381375e+06 1.86441037e+04 ! x y z -3.29902217e+02 -2.03621690e+03 -1.49125925e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -379 2.56717090e+05 2.83997991e+04 ! particle number mass Rhill -9.71972363e+03 !particle radius in m +Body379 2.56717090e+05 2.83997991e+04 ! particle number mass Rhill +9.71972363e+03 !particle radius in AU -1.33296527e+07 -1.79984260e+07 -6.91244815e+03 ! x y z 1.12052368e+03 -8.18620884e+02 -1.17030012e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -380 4.75536554e+05 1.67281272e+04 ! particle number mass Rhill -8.10053368e+03 !particle radius in m +Body380 4.75536554e+05 1.67281272e+04 ! particle number mass Rhill +8.10053368e+03 !particle radius in AU 2.47744290e+05 1.08515872e+07 8.05332988e+04 ! x y z -1.98242921e+03 4.60702324e+01 -8.10883988e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -381 2.04638999e+05 1.26959685e+04 ! particle number mass Rhill -9.01222011e+03 !particle radius in m +Body381 2.04638999e+05 1.26959685e+04 ! particle number mass Rhill +9.01222011e+03 !particle radius in AU -1.04485761e+07 -3.19315171e+06 -6.87163868e+04 ! x y z 5.84305730e+02 -1.88680612e+03 1.24994521e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -382 3.60539072e+05 1.69503875e+04 ! particle number mass Rhill -7.38646156e+03 !particle radius in m +Body382 3.60539072e+05 1.69503875e+04 ! particle number mass Rhill +7.38646156e+03 !particle radius in AU -4.30915405e+06 1.13988191e+07 -1.87898899e+03 ! x y z -1.74153886e+03 -6.58302615e+02 5.64269794e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -383 1.79551829e+04 9.04731795e+03 ! particle number mass Rhill -4.00465955e+03 !particle radius in m +Body383 1.79551829e+04 9.04731795e+03 ! particle number mass Rhill +4.00465955e+03 !particle radius in AU 1.07629692e+07 1.37789153e+07 5.87066489e+04 ! x y z -1.23476438e+03 9.58354279e+02 -1.51457433e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -384 4.98876102e+05 3.47845056e+04 ! particle number mass Rhill -8.23094873e+03 !particle radius in m +Body384 4.98876102e+05 3.47845056e+04 ! particle number mass Rhill +8.23094873e+03 !particle radius in AU -2.26919155e+06 -2.23065641e+07 1.71429522e+05 ! x y z 1.36729685e+03 -1.26785143e+02 1.53512073e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -385 3.30264323e+04 5.95784944e+03 ! particle number mass Rhill -4.90670043e+03 !particle radius in m +Body385 3.30264323e+04 5.95784944e+03 ! particle number mass Rhill +4.90670043e+03 !particle radius in AU -8.76057602e+06 -2.98488729e+06 3.16441575e+04 ! x y z 7.01564230e+02 -2.04784374e+03 6.54428080e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -386 4.63310633e+05 2.64600689e+04 ! particle number mass Rhill -1.18338596e+04 !particle radius in m +Body386 4.63310633e+05 2.64600689e+04 ! particle number mass Rhill +1.18338596e+04 !particle radius in AU 7.33432561e+06 1.58195231e+07 -1.25526941e+05 ! x y z -1.41716350e+03 6.50084435e+02 1.99363998e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -387 4.19368635e+04 6.95684327e+03 ! particle number mass Rhill -5.31334038e+03 !particle radius in m +Body387 4.19368635e+04 6.95684327e+03 ! particle number mass Rhill +5.31334038e+03 !particle radius in AU 9.67909368e+06 -3.14679172e+06 1.01149877e+04 ! x y z 6.30534017e+02 1.94451859e+03 1.40841719e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -388 2.57496102e+05 1.15319903e+04 ! particle number mass Rhill -6.60251226e+03 !particle radius in m +Body388 2.57496102e+05 1.15319903e+04 ! particle number mass Rhill +6.60251226e+03 !particle radius in AU 3.58575623e+06 -8.28340933e+06 2.06786831e+04 ! x y z 2.01251169e+03 8.71048387e+02 4.13835680e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -389 4.88910847e+05 2.92163767e+04 ! particle number mass Rhill -8.17577418e+03 !particle radius in m +Body389 4.88910847e+05 2.92163767e+04 ! particle number mass Rhill +8.17577418e+03 !particle radius in AU -1.59444867e+07 -9.43202143e+06 -1.03432964e+05 ! x y z 7.76368044e+02 -1.31648260e+03 -1.97011404e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -390 5.40974116e+04 7.11908202e+03 ! particle number mass Rhill -3.92504366e+03 !particle radius in m +Body390 5.40974116e+04 7.11908202e+03 ! particle number mass Rhill +3.92504366e+03 !particle radius in AU 8.15294773e+06 -4.83168922e+06 -2.23196035e+04 ! x y z 1.12438877e+03 1.80730928e+03 -9.96110137e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -391 1.52957016e+05 1.22293609e+04 ! particle number mass Rhill -5.55020210e+03 !particle radius in m +Body391 1.52957016e+05 1.22293609e+04 ! particle number mass Rhill +5.55020210e+03 !particle radius in AU 1.15608807e+07 -1.72289132e+06 8.78681619e+04 ! x y z 2.64558251e+02 1.88351104e+03 -1.22676546e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -392 1.16028835e+05 1.00480378e+04 ! particle number mass Rhill -7.45917792e+03 !particle radius in m +Body392 1.16028835e+05 1.00480378e+04 ! particle number mass Rhill +7.45917792e+03 !particle radius in AU 5.94153104e+05 1.04675287e+07 -7.76838952e+04 ! x y z -2.01022149e+03 1.00791259e+02 2.73869669e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -393 2.82021040e+05 1.40688004e+04 ! particle number mass Rhill -6.80580498e+03 !particle radius in m +Body393 2.82021040e+05 1.40688004e+04 ! particle number mass Rhill +6.80580498e+03 !particle radius in AU 9.10704389e+06 5.66556444e+06 -1.21395685e+05 ! x y z -1.06310456e+03 1.70305461e+03 1.52195271e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -394 3.98007972e+05 2.07887076e+04 ! particle number mass Rhill -7.63395485e+03 !particle radius in m +Body394 3.98007972e+05 2.07887076e+04 ! particle number mass Rhill +7.63395485e+03 !particle radius in AU -6.14994249e+06 -1.27900562e+07 -1.88907757e+04 ! x y z 1.55814359e+03 -7.78224426e+02 2.73440877e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -395 9.71117259e+04 8.84618676e+03 ! particle number mass Rhill -7.02952878e+03 !particle radius in m +Body395 9.71117259e+04 8.84618676e+03 ! particle number mass Rhill +7.02952878e+03 !particle radius in AU -8.80385560e+06 3.77151207e+06 -1.21818940e+05 ! x y z -8.47944944e+02 -1.95313347e+03 -1.70763192e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -396 4.85180076e+05 1.88181431e+04 ! particle number mass Rhill -1.20172005e+04 !particle radius in m +Body396 4.85180076e+05 1.88181431e+04 ! particle number mass Rhill +1.20172005e+04 !particle radius in AU 1.08664166e+07 5.36923937e+06 -8.13196573e+04 ! x y z -8.16624638e+02 1.69027839e+03 8.34673628e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -397 2.32920343e+05 1.16940572e+04 ! particle number mass Rhill -6.38540043e+03 !particle radius in m +Body397 2.32920343e+05 1.16940572e+04 ! particle number mass Rhill +6.38540043e+03 !particle radius in AU -5.47268707e+06 7.90131264e+06 3.38529547e+04 ! x y z -1.73122732e+03 -1.20437649e+03 1.62011748e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -398 1.41454261e+06 2.84156620e+04 ! particle number mass Rhill -1.16499575e+04 !particle radius in m +Body398 1.41454261e+06 2.84156620e+04 ! particle number mass Rhill +1.16499575e+04 !particle radius in AU 1.10121047e+07 -6.14561995e+06 5.51425169e+04 ! x y z 8.91208138e+02 1.62668641e+03 -4.00812310e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -399 1.73697324e+05 1.64478571e+04 ! particle number mass Rhill -5.79050854e+03 !particle radius in m +Body399 1.73697324e+05 1.64478571e+04 ! particle number mass Rhill +5.79050854e+03 !particle radius in AU -3.82515764e+06 1.42902315e+07 -2.47878060e+04 ! x y z -1.63598310e+03 -4.85341065e+02 -2.82331478e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -400 1.55709181e+06 2.18057129e+04 ! particle number mass Rhill -1.20288397e+04 !particle radius in m +Body400 1.55709181e+06 2.18057129e+04 ! particle number mass Rhill +1.20288397e+04 !particle radius in AU -1.84053839e+06 9.22666914e+06 -1.87382012e+04 ! x y z -2.10070573e+03 -4.25824187e+02 -2.45200413e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -401 2.07330430e+05 1.42389392e+04 ! particle number mass Rhill -6.14242713e+03 !particle radius in m +Body401 2.07330430e+05 1.42389392e+04 ! particle number mass Rhill +6.14242713e+03 !particle radius in AU -7.35737221e+06 -9.68920345e+06 5.93390680e+04 ! x y z 1.50053722e+03 -1.12338599e+03 -1.30933156e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -402 2.66341603e+05 1.31577788e+04 ! particle number mass Rhill -9.83970306e+03 !particle radius in m +Body402 2.66341603e+05 1.31577788e+04 ! particle number mass Rhill +9.83970306e+03 !particle radius in AU -8.70682368e+06 5.56356570e+06 -6.56478138e+04 ! x y z -1.11346390e+03 -1.70326053e+03 1.28466204e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -403 1.90092636e+05 1.78825398e+04 ! particle number mass Rhill -5.96724810e+03 !particle radius in m +Body403 1.90092636e+05 1.78825398e+04 ! particle number mass Rhill +5.96724810e+03 !particle radius in AU 7.02500514e+06 -1.38238984e+07 6.74566304e+04 ! x y z 1.48675948e+03 7.65020748e+02 8.19788003e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -404 4.48638932e+05 1.53496689e+04 ! particle number mass Rhill -1.17076027e+04 !particle radius in m +Body404 4.48638932e+05 1.53496689e+04 ! particle number mass Rhill +1.17076027e+04 !particle radius in AU -9.79856030e+06 2.12372760e+06 1.89480336e+04 ! x y z -4.48830087e+02 -2.02736841e+03 -1.23694959e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -405 1.73398341e+05 2.54379577e+04 ! particle number mass Rhill -8.52806763e+03 !particle radius in m +Body405 1.73398341e+05 2.54379577e+04 ! particle number mass Rhill +8.52806763e+03 !particle radius in AU -1.01558817e+07 -2.10873547e+07 -2.03636345e+05 ! x y z 1.20616652e+03 -5.87121724e+02 -4.30533916e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -406 5.83945240e+05 2.67498480e+04 ! particle number mass Rhill -8.67447176e+03 !particle radius in m +Body406 5.83945240e+05 2.67498480e+04 ! particle number mass Rhill +8.67447176e+03 !particle radius in AU 1.10980559e+07 1.19228306e+07 -2.89204661e+04 ! x y z -1.18553044e+03 1.09632262e+03 8.12769922e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -407 2.44311266e+05 1.21893974e+04 ! particle number mass Rhill -6.48784045e+03 !particle radius in m +Body407 2.44311266e+05 1.21893974e+04 ! particle number mass Rhill +6.48784045e+03 !particle radius in AU 1.00683282e+07 -1.06678967e+05 -7.08192900e+04 ! x y z 7.59653606e-01 2.03836538e+03 -2.00978691e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -408 2.68758985e+05 1.15689067e+04 ! particle number mass Rhill -9.86938263e+03 !particle radius in m +Body408 2.68758985e+05 1.15689067e+04 ! particle number mass Rhill +9.86938263e+03 !particle radius in AU 8.35393830e+06 3.60269502e+06 -6.29338444e+04 ! x y z -8.43508227e+02 1.99248181e+03 2.35695291e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -409 2.09880806e+05 2.76842944e+04 ! particle number mass Rhill -9.08852133e+03 !particle radius in m +Body409 2.09880806e+05 2.76842944e+04 ! particle number mass Rhill +9.08852133e+03 !particle radius in AU 7.15716844e+06 2.23969109e+07 -2.43128655e+05 ! x y z -1.28744111e+03 4.04784490e+02 -9.98522887e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -410 4.53834965e+05 1.88574756e+04 ! particle number mass Rhill -7.97538482e+03 !particle radius in m +Body410 4.53834965e+05 1.88574756e+04 ! particle number mass Rhill +7.97538482e+03 !particle radius in AU 9.79101038e+06 -7.57582171e+06 -6.16544234e+03 ! x y z 1.14324704e+03 1.46779509e+03 -4.09524183e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -411 4.95608775e+05 3.36478551e+04 ! particle number mass Rhill -1.21026921e+04 !particle radius in m +Body411 4.95608775e+05 3.36478551e+04 ! particle number mass Rhill +1.21026921e+04 !particle radius in AU 1.92900217e+07 -9.92716086e+06 -8.71066703e+04 ! x y z 6.46615886e+02 1.23877023e+03 -8.06944804e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -412 4.02159459e+05 1.51756172e+04 ! particle number mass Rhill -1.12884701e+04 !particle radius in m +Body412 4.02159459e+05 1.51756172e+04 ! particle number mass Rhill +1.12884701e+04 !particle radius in AU 7.63578761e+05 -1.05163176e+07 -1.40125740e+03 ! x y z 1.99506811e+03 1.28492643e+02 -1.21964426e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -413 1.16363900e+06 2.46877619e+04 ! particle number mass Rhill -1.09158716e+04 !particle radius in m +Body413 1.16363900e+06 2.46877619e+04 ! particle number mass Rhill +1.09158716e+04 !particle radius in AU 6.16240208e+05 1.16898273e+07 -2.31871163e+03 ! x y z -1.92072024e+03 1.14544858e+02 -1.24842975e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -414 1.07497381e+05 1.07118523e+04 ! particle number mass Rhill -4.93459624e+03 !particle radius in m +Body414 1.07497381e+05 1.07118523e+04 ! particle number mass Rhill +4.93459624e+03 !particle radius in AU 1.03595473e+07 -4.35809471e+06 -5.55598025e+04 ! x y z 7.59957188e+02 1.81039627e+03 -9.27171494e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -415 7.20978833e+05 2.10625708e+04 ! particle number mass Rhill -9.30593115e+03 !particle radius in m +Body415 7.20978833e+05 2.10625708e+04 ! particle number mass Rhill +9.30593115e+03 !particle radius in AU -8.58951099e+05 1.20741593e+07 8.58096722e+03 ! x y z -1.85656009e+03 -1.31659982e+02 -7.07088670e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -416 1.28427470e+05 1.34925228e+04 ! particle number mass Rhill -7.71593034e+03 !particle radius in m +Body416 1.28427470e+05 1.34925228e+04 ! particle number mass Rhill +7.71593034e+03 !particle radius in AU 1.34936412e+07 9.22411406e+05 -1.28097766e+05 ! x y z -1.21347788e+02 1.77352752e+03 6.09816980e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -417 1.87301701e+04 5.21024920e+03 ! particle number mass Rhill -4.06146670e+03 !particle radius in m +Body417 1.87301701e+04 5.21024920e+03 ! particle number mass Rhill +4.06146670e+03 !particle radius in AU 8.93667242e+06 -4.37387871e+06 4.75249766e+04 ! x y z 9.07116732e+02 1.86034352e+03 -2.16160032e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -418 1.18868346e+05 1.13624133e+04 ! particle number mass Rhill -5.10279049e+03 !particle radius in m +Body418 1.18868346e+05 1.13624133e+04 ! particle number mass Rhill +5.10279049e+03 !particle radius in AU 2.97443729e+06 1.12987732e+07 -7.15478904e+04 ! x y z -1.84937662e+03 4.88975049e+02 -1.62129744e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -419 8.52470325e+05 2.51851270e+04 ! particle number mass Rhill -9.84038492e+03 !particle radius in m +Body419 8.52470325e+05 2.51851270e+04 ! particle number mass Rhill +9.84038492e+03 !particle radius in AU -1.20782110e+07 5.42799080e+06 -2.14298463e+04 ! x y z -7.60124760e+02 -1.64210069e+03 1.17910321e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -420 4.92630611e+05 2.65246208e+04 ! particle number mass Rhill -8.19645631e+03 !particle radius in m +Body420 4.92630611e+05 2.65246208e+04 ! particle number mass Rhill +8.19645631e+03 !particle radius in AU -1.66687778e+07 3.40131310e+06 -8.13780785e+04 ! x y z -3.27574668e+02 -1.54958699e+03 7.60005752e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -421 1.21279031e+06 2.36838042e+04 ! particle number mass Rhill -1.10674500e+04 !particle radius in m +Body421 1.21279031e+06 2.36838042e+04 ! particle number mass Rhill +1.10674500e+04 !particle radius in AU 8.04465463e+06 7.94262975e+06 3.50880055e+04 ! x y z -1.38047284e+03 1.36038061e+03 9.60840796e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -422 2.26966144e+05 1.07078719e+04 ! particle number mass Rhill -9.32873342e+03 !particle radius in m +Body422 2.26966144e+05 1.07078719e+04 ! particle number mass Rhill +9.32873342e+03 !particle radius in AU 8.72948534e+06 2.25552201e+06 -6.67651980e+03 ! x y z -5.17110071e+02 2.09745799e+03 -1.26305103e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -423 5.60894834e+04 1.28408323e+04 ! particle number mass Rhill -3.97264243e+03 !particle radius in m +Body423 5.60894834e+04 1.28408323e+04 ! particle number mass Rhill +3.97264243e+03 !particle radius in AU 1.59911238e+07 -5.78123234e+06 -4.96452199e+04 ! x y z 5.52053054e+02 1.48435519e+03 -7.76218367e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -424 2.74792847e+05 1.16703384e+04 ! particle number mass Rhill -9.94269530e+03 !particle radius in m +Body424 2.74792847e+05 1.16703384e+04 ! particle number mass Rhill +9.94269530e+03 !particle radius in AU -7.16058601e+06 5.68697632e+06 2.50735615e+04 ! x y z -1.32041167e+03 -1.70209713e+03 -5.51776816e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -425 1.03592686e+06 1.97323119e+04 ! particle number mass Rhill -1.05009525e+04 !particle radius in m +Body425 1.03592686e+06 1.97323119e+04 ! particle number mass Rhill +1.05009525e+04 !particle radius in AU -1.96591682e+06 -9.56765462e+06 -5.49582524e+04 ! x y z 2.05754068e+03 -4.30221705e+02 -6.52205972e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -426 1.55296659e+05 1.56025405e+04 ! particle number mass Rhill -8.22033835e+03 !particle radius in m +Body426 1.55296659e+05 1.56025405e+04 ! particle number mass Rhill +8.22033835e+03 !particle radius in AU -1.32036875e+07 -6.42805082e+06 -2.13137156e+04 ! x y z 7.40576713e+02 -1.53667373e+03 -1.66122663e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -427 1.89421380e+06 3.06783506e+04 ! particle number mass Rhill -1.28408960e+04 !particle radius in m +Body427 1.89421380e+06 3.06783506e+04 ! particle number mass Rhill +1.28408960e+04 !particle radius in AU 7.26511252e+06 1.02544271e+07 -1.28126970e+04 ! x y z -1.50567288e+03 1.06151555e+03 -1.91621752e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -428 4.66109388e+04 7.82343589e+03 ! particle number mass Rhill -5.50382909e+03 !particle radius in m +Body428 4.66109388e+04 7.82343589e+03 ! particle number mass Rhill +5.50382909e+03 !particle radius in AU -9.70398421e+06 5.43301598e+06 -7.10765156e+04 ! x y z -9.66770489e+02 -1.69237365e+03 -3.28188506e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -429 1.90146495e+06 2.33121169e+04 ! particle number mass Rhill -1.28572603e+04 !particle radius in m +Body429 1.90146495e+06 2.33121169e+04 ! particle number mass Rhill +1.28572603e+04 !particle radius in AU 2.96216400e+05 -9.44659905e+06 6.39430618e+04 ! x y z 2.13334160e+03 5.10827881e+01 -3.06567932e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -430 4.61962305e+04 6.63727442e+03 ! particle number mass Rhill -3.72381283e+03 !particle radius in m +Body430 4.61962305e+04 6.63727442e+03 ! particle number mass Rhill +3.72381283e+03 !particle radius in AU -7.59639515e+06 5.48032752e+06 -2.40679326e+03 ! x y z -1.21575451e+03 -1.75481888e+03 -1.69366205e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -431 6.71482788e+04 7.73769019e+03 ! particle number mass Rhill -6.21604216e+03 !particle radius in m +Body431 6.71482788e+04 7.73769019e+03 ! particle number mass Rhill +6.21604216e+03 !particle radius in AU 4.26014597e+06 8.47244148e+06 -4.52841666e+04 ! x y z -1.89773381e+03 9.86947142e+02 2.27005651e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -432 3.12766116e+05 1.22096765e+04 ! particle number mass Rhill -7.04464148e+03 !particle radius in m +Body432 3.12766116e+05 1.22096765e+04 ! particle number mass Rhill +7.04464148e+03 !particle radius in AU 5.86869928e+06 6.95435059e+06 -3.04780435e+04 ! x y z -1.65434811e+03 1.39969038e+03 3.34387968e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -433 4.30468140e+05 1.48164986e+04 ! particle number mass Rhill -1.15473588e+04 !particle radius in m +Body433 4.30468140e+05 1.48164986e+04 ! particle number mass Rhill +1.15473588e+04 !particle radius in AU -8.24315322e+06 -5.69586696e+06 2.20302861e+04 ! x y z 1.15852208e+03 -1.69773981e+03 2.26551767e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -434 2.67293742e+04 5.47730098e+03 ! particle number mass Rhill -4.57262149e+03 !particle radius in m +Body434 2.67293742e+04 5.47730098e+03 ! particle number mass Rhill +4.57262149e+03 !particle radius in AU -2.90925512e+06 8.79933915e+06 6.42165783e+04 ! x y z -2.03971713e+03 -6.70860975e+02 7.91657343e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -435 6.11118104e+05 1.81074363e+04 ! particle number mass Rhill -1.29780877e+04 !particle radius in m +Body435 6.11118104e+05 1.81074363e+04 ! particle number mass Rhill +1.29780877e+04 !particle radius in AU 9.24506088e+06 5.42020869e+06 3.55011834e+04 ! x y z -9.90032731e+02 1.74244918e+03 -6.84359361e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -436 4.63405803e+04 1.11333435e+04 ! particle number mass Rhill -3.72768740e+03 !particle radius in m +Body436 4.63405803e+04 1.11333435e+04 ! particle number mass Rhill +3.72768740e+03 !particle radius in AU 1.49390033e+07 5.03002569e+06 -6.08660675e+04 ! x y z -5.02338251e+02 1.56332178e+03 -1.67781569e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -437 3.25218696e+05 1.69362297e+04 ! particle number mass Rhill -1.05170553e+04 !particle radius in m +Body437 3.25218696e+05 1.69362297e+04 ! particle number mass Rhill +1.05170553e+04 !particle radius in AU 1.23161243e+07 1.68843020e+06 2.12877558e+04 ! x y z -2.39425053e+02 1.84057327e+03 1.32413609e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -438 1.84457438e+06 2.16659606e+04 ! particle number mass Rhill -1.27277329e+04 !particle radius in m +Body438 1.84457438e+06 2.16659606e+04 ! particle number mass Rhill +1.27277329e+04 !particle radius in AU 8.91889708e+06 -5.54747107e+05 4.66922419e+04 ! x y z 1.62589921e+02 2.18077019e+03 -1.86548050e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -439 6.44421975e+05 1.54647739e+04 ! particle number mass Rhill -8.96414991e+03 !particle radius in m +Body439 6.44421975e+05 1.54647739e+04 ! particle number mass Rhill +8.96414991e+03 !particle radius in AU -5.82188250e+06 -6.93015474e+06 8.83731418e+03 ! x y z 1.65500621e+03 -1.40856285e+03 -4.08918572e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -440 1.00366062e+06 2.04312159e+04 ! particle number mass Rhill -1.03907754e+04 !particle radius in m +Body440 1.00366062e+06 2.04312159e+04 ! particle number mass Rhill +1.03907754e+04 !particle radius in AU -7.35080590e+06 -7.29055125e+06 -1.20861111e+03 ! x y z 1.39392385e+03 -1.47392682e+03 -1.29937331e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -441 1.07492900e+05 1.20693239e+04 ! particle number mass Rhill -4.93452768e+03 !particle radius in m +Body441 1.07492900e+05 1.20693239e+04 ! particle number mass Rhill +4.93452768e+03 !particle radius in AU -1.22300071e+07 4.00505750e+06 -4.82429747e+04 ! x y z -5.99234873e+02 -1.71878148e+03 -9.59996458e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -442 4.00127188e+04 1.04048251e+04 ! particle number mass Rhill -5.23080275e+03 !particle radius in m +Body442 4.00127188e+04 1.04048251e+04 ! particle number mass Rhill +5.23080275e+03 !particle radius in AU 1.90445756e+06 1.53190995e+07 1.28393938e+05 ! x y z -1.65070889e+03 1.86078304e+02 1.21713635e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -443 1.72835996e+04 4.91695733e+03 ! particle number mass Rhill -3.95409460e+03 !particle radius in m +Body443 1.72835996e+04 4.91695733e+03 ! particle number mass Rhill +3.95409460e+03 !particle radius in AU 1.16512710e+06 9.58806430e+06 6.00184281e+03 ! x y z -2.08431325e+03 2.50023373e+02 -4.86726355e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -444 3.64491164e+04 6.19302531e+03 ! particle number mass Rhill -5.07066194e+03 !particle radius in m +Body444 3.64491164e+04 6.19302531e+03 ! particle number mass Rhill +5.07066194e+03 !particle radius in AU 2.90940058e+06 8.85967621e+06 -3.67911262e+04 ! x y z -2.05184488e+03 6.57972025e+02 3.77722174e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -445 9.66027161e+05 2.03395398e+04 ! particle number mass Rhill -1.02592460e+04 !particle radius in m +Body445 9.66027161e+05 2.03395398e+04 ! particle number mass Rhill +1.02592460e+04 !particle radius in AU 1.02030674e+07 -2.25656251e+06 -2.42931768e+04 ! x y z 4.02033391e+02 1.97779610e+03 -4.56432654e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -446 2.22544479e+04 4.96458922e+03 ! particle number mass Rhill -4.30171134e+03 !particle radius in m +Body446 2.22544479e+04 4.96458922e+03 ! particle number mass Rhill +4.30171134e+03 !particle radius in AU -2.21966207e+06 -8.53462824e+06 5.98951302e+03 ! x y z 2.13957370e+03 -5.72879766e+02 -9.73511724e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -447 8.51272363e+05 1.92265349e+04 ! particle number mass Rhill -9.83577325e+03 !particle radius in m +Body447 8.51272363e+05 1.92265349e+04 ! particle number mass Rhill +9.83577325e+03 !particle radius in AU -5.82677409e+06 -8.25640044e+06 -1.85310721e+04 ! x y z 1.68912824e+03 -1.20023426e+03 -1.46688747e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -448 2.32140349e+05 1.29036607e+04 ! particle number mass Rhill -9.39909127e+03 !particle radius in m +Body448 2.32140349e+05 1.29036607e+04 ! particle number mass Rhill +9.39909127e+03 !particle radius in AU -4.15446158e+05 -1.04064911e+07 -6.01445752e+04 ! x y z 2.04307655e+03 -9.44888304e+01 -1.29270899e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -449 1.28498831e+05 1.39952129e+04 ! particle number mass Rhill -5.23703394e+03 !particle radius in m +Body449 1.28498831e+05 1.39952129e+04 ! particle number mass Rhill +5.23703394e+03 !particle radius in AU 1.44949245e+06 -1.38726585e+07 1.28983420e+04 ! x y z 1.74524417e+03 1.89418829e+02 -1.27510818e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -450 8.56861708e+04 1.01449417e+04 ! particle number mass Rhill -6.74226629e+03 !particle radius in m +Body450 8.56861708e+04 1.01449417e+04 ! particle number mass Rhill +6.74226629e+03 !particle radius in AU -1.02673257e+07 5.51832525e+06 7.68510549e+04 ! x y z -9.09826047e+02 -1.68325012e+03 -9.74521738e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -451 1.33577416e+06 3.21447068e+04 ! particle number mass Rhill -1.14295731e+04 !particle radius in m +Body451 1.33577416e+06 3.21447068e+04 ! particle number mass Rhill +1.14295731e+04 !particle radius in AU 9.99103043e+06 1.06885708e+07 7.94231343e+04 ! x y z -1.28100100e+03 1.14298665e+03 7.74179187e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -452 1.29793646e+06 2.15081615e+04 ! particle number mass Rhill -1.13206181e+04 !particle radius in m +Body452 1.29793646e+06 2.15081615e+04 ! particle number mass Rhill +1.13206181e+04 !particle radius in AU 4.41133703e+06 8.86113052e+06 -4.90493478e+04 ! x y z -1.86573176e+03 9.32322270e+02 -1.20417460e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -453 3.52625005e+05 1.46757322e+04 ! particle number mass Rhill -7.33201534e+03 !particle radius in m +Body453 3.52625005e+05 1.46757322e+04 ! particle number mass Rhill +7.33201534e+03 !particle radius in AU -1.05312274e+07 1.06309083e+06 -3.40508748e+04 ! x y z -2.12025256e+02 -1.99070933e+03 2.76988985e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -454 8.65462312e+04 8.10394938e+03 ! particle number mass Rhill -6.76474935e+03 !particle radius in m +Body454 8.65462312e+04 8.10394938e+03 ! particle number mass Rhill +6.76474935e+03 !particle radius in AU -9.13190511e+06 -9.87045448e+05 4.65363249e+04 ! x y z 2.72813658e+02 -2.14939314e+03 -6.89232508e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -455 5.62433674e+05 1.67093031e+04 ! particle number mass Rhill -8.56661866e+03 !particle radius in m +Body455 5.62433674e+05 1.67093031e+04 ! particle number mass Rhill +8.56661866e+03 !particle radius in AU -9.55165901e+06 3.32037562e+06 -5.74639097e+04 ! x y z -7.05014643e+02 -1.94468153e+03 -9.68692941e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -456 5.46940517e+05 2.51399946e+04 ! particle number mass Rhill -8.48722461e+03 !particle radius in m +Body456 5.46940517e+05 2.51399946e+04 ! particle number mass Rhill +8.48722461e+03 !particle radius in AU -2.79080237e+06 -1.49534280e+07 6.61250908e+04 ! x y z 1.66874204e+03 -2.93565278e+02 -6.04868304e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -457 8.86959726e+04 8.09465350e+03 ! particle number mass Rhill -6.82030227e+03 !particle radius in m +Body457 8.86959726e+04 8.09465350e+03 ! particle number mass Rhill +6.82030227e+03 !particle radius in AU 1.76076614e+06 -8.89107995e+06 4.77043786e+04 ! x y z 2.14748256e+03 4.04932388e+02 -1.26152318e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -458 9.68803238e+05 1.76061812e+04 ! particle number mass Rhill -1.02690639e+04 !particle radius in m +Body458 9.68803238e+05 1.76061812e+04 ! particle number mass Rhill +1.02690639e+04 !particle radius in AU 8.52637393e+06 2.63618253e+06 -5.22911736e+04 ! x y z -6.60976767e+02 2.09577153e+03 3.42675226e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -459 1.37575237e+05 1.11544680e+04 ! particle number mass Rhill -5.35754408e+03 !particle radius in m +Body459 1.37575237e+05 1.11544680e+04 ! particle number mass Rhill +5.35754408e+03 !particle radius in AU 1.08528417e+07 5.02794391e+05 -2.76918530e+04 ! x y z -1.27726381e+02 1.98516729e+03 -1.12360782e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -460 1.48998220e+06 2.18747787e+04 ! particle number mass Rhill -1.18534842e+04 !particle radius in m +Body460 1.48998220e+06 2.18747787e+04 ! particle number mass Rhill +1.18534842e+04 !particle radius in AU -7.11955030e+06 6.48411163e+06 -1.64876744e+04 ! x y z -1.43123341e+03 -1.55444238e+03 -1.21086898e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -461 6.74728805e+05 1.62968820e+04 ! particle number mass Rhill -9.10252919e+03 !particle radius in m +Body461 6.74728805e+05 1.62968820e+04 ! particle number mass Rhill +9.10252919e+03 !particle radius in AU 7.73539416e+06 4.91837100e+06 3.79759434e+04 ! x y z -1.16029500e+03 1.85248711e+03 2.31086993e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -462 2.99651592e+05 1.21722314e+04 ! particle number mass Rhill -1.02339004e+04 !particle radius in m +Body462 2.99651592e+05 1.21722314e+04 ! particle number mass Rhill +1.02339004e+04 !particle radius in AU 8.76407090e+06 -2.02266717e+06 -1.17355053e+04 ! x y z 4.87045225e+02 2.14976445e+03 -1.12592644e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -463 4.45840740e+05 1.45174622e+04 ! particle number mass Rhill -1.16832115e+04 !particle radius in m +Body463 4.45840740e+05 1.45174622e+04 ! particle number mass Rhill +1.16832115e+04 !particle radius in AU -5.85624077e+06 -7.65100688e+06 -6.81073848e+04 ! x y z 1.69101430e+03 -1.25110313e+03 -1.69620610e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -464 2.77600737e+04 7.85191483e+03 ! particle number mass Rhill -4.63065609e+03 !particle radius in m +Body464 2.77600737e+04 7.85191483e+03 ! particle number mass Rhill +4.63065609e+03 !particle radius in AU -4.73064294e+06 1.23174391e+07 -1.15616945e+05 ! x y z -1.67622870e+03 -6.40214154e+02 -2.40259531e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -465 2.75389964e+05 1.70205112e+04 ! particle number mass Rhill -6.75204041e+03 !particle radius in m +Body465 2.75389964e+05 1.70205112e+04 ! particle number mass Rhill +6.75204041e+03 !particle radius in AU 1.21865621e+07 4.96824670e+06 1.38201935e+04 ! x y z -6.90512507e+02 1.66991832e+03 1.81886433e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -466 2.75903056e+05 1.73578977e+04 ! particle number mass Rhill -9.95606737e+03 !particle radius in m +Body466 2.75903056e+05 1.73578977e+04 ! particle number mass Rhill +9.95606737e+03 !particle radius in AU 1.16681691e+07 6.27755146e+06 -9.89757611e+04 ! x y z -8.82483897e+02 1.58231102e+03 -7.45315405e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -467 6.02190482e+04 9.10996020e+03 ! particle number mass Rhill -5.99441701e+03 !particle radius in m +Body467 6.02190482e+04 9.10996020e+03 ! particle number mass Rhill +5.99441701e+03 !particle radius in AU -9.82574233e+06 -6.12952303e+06 1.96949177e+04 ! x y z 1.01952580e+03 -1.64506613e+03 1.17311172e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -468 4.42759837e+05 1.56527672e+04 ! particle number mass Rhill -1.16562377e+04 !particle radius in m +Body468 4.42759837e+05 1.56527672e+04 ! particle number mass Rhill +1.16562377e+04 !particle radius in AU -7.66867450e+06 -6.71467472e+06 1.82936899e+04 ! x y z 1.37697709e+03 -1.54141508e+03 -1.04916179e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -469 3.36720172e+05 1.96306197e+04 ! particle number mass Rhill -7.22008053e+03 !particle radius in m +Body469 3.36720172e+05 1.96306197e+04 ! particle number mass Rhill +7.22008053e+03 !particle radius in AU 6.68731996e+06 1.21566043e+07 -5.02348380e+04 ! x y z -1.55626881e+03 8.62955881e+02 7.13319505e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -470 2.58940449e+04 7.82575799e+03 ! particle number mass Rhill -4.52448294e+03 !particle radius in m +Body470 2.58940449e+04 7.82575799e+03 ! particle number mass Rhill +4.52448294e+03 !particle radius in AU 5.58226973e+05 -1.33893338e+07 3.23944444e+04 ! x y z 1.78341617e+03 5.70175526e+01 2.01164673e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -471 1.45256608e+05 9.66608592e+03 ! particle number mass Rhill -8.03922694e+03 !particle radius in m +Body471 1.45256608e+05 9.66608592e+03 ! particle number mass Rhill +8.03922694e+03 !particle radius in AU 2.69184570e+06 8.96128856e+06 -1.43912663e+04 ! x y z -2.03943626e+03 6.16982327e+02 1.53458951e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -472 1.15877026e+06 3.68429014e+04 ! particle number mass Rhill -1.09006261e+04 !particle radius in m +Body472 1.15877026e+06 3.68429014e+04 ! particle number mass Rhill +1.09006261e+04 !particle radius in AU -1.76847286e+07 -6.05601018e+05 1.06870104e+04 ! x y z 8.13556990e+01 -1.55405464e+03 1.07736989e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -473 1.89629066e+05 1.08509311e+04 ! particle number mass Rhill -5.96239346e+03 !particle radius in m +Body473 1.89629066e+05 1.08509311e+04 ! particle number mass Rhill +5.96239346e+03 !particle radius in AU -4.46692197e+06 -8.22773588e+06 -3.36712950e+04 ! x y z 1.90929541e+03 -1.00567083e+03 1.30091738e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -474 5.15337334e+04 1.59115247e+04 ! particle number mass Rhill -3.86203494e+03 !particle radius in m +Body474 5.15337334e+04 1.59115247e+04 ! particle number mass Rhill +3.86203494e+03 !particle radius in AU 1.09873618e+07 1.89353789e+07 1.37058307e+05 ! x y z -1.20089709e+03 6.97166990e+02 -1.15971142e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -475 1.57230937e+06 2.05829163e+04 ! particle number mass Rhill -1.20678989e+04 !particle radius in m +Body475 1.57230937e+06 2.05829163e+04 ! particle number mass Rhill +1.20678989e+04 !particle radius in AU 8.92466133e+06 -1.21792450e+06 3.61100410e+04 ! x y z 3.10051974e+02 2.14937296e+03 -1.41043166e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -476 6.33227061e+05 1.83648511e+04 ! particle number mass Rhill -8.91193791e+03 !particle radius in m +Body476 6.33227061e+05 1.83648511e+04 ! particle number mass Rhill +8.91193791e+03 !particle radius in AU -5.85289838e+05 1.08674619e+07 3.13865857e+04 ! x y z -1.97212405e+03 -1.17677554e+02 -3.37938196e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -477 7.35347415e+04 7.85278044e+03 ! particle number mass Rhill -6.40717392e+03 !particle radius in m +Body477 7.35347415e+04 7.85278044e+03 ! particle number mass Rhill +6.40717392e+03 !particle radius in AU 2.71862051e+06 -9.05514497e+06 -5.54339403e+02 ! x y z 2.04451063e+03 5.93924832e+02 -2.26401878e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -478 2.95966865e+05 1.22630751e+04 ! particle number mass Rhill -1.01917795e+04 !particle radius in m +Body478 2.95966865e+05 1.22630751e+04 ! particle number mass Rhill +1.01917795e+04 !particle radius in AU -4.06364003e+06 8.41274452e+06 3.61206264e+04 ! x y z -1.92276154e+03 -9.27433732e+02 1.11784546e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -479 9.71859875e+04 1.13295872e+04 ! particle number mass Rhill -7.03132016e+03 !particle radius in m +Body479 9.71859875e+04 1.13295872e+04 ! particle number mass Rhill +7.03132016e+03 !particle radius in AU -1.19933178e+07 -3.73131347e+06 1.49826992e+03 ! x y z 5.46200488e+02 -1.75445228e+03 -4.43292318e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -480 1.81399777e+04 1.22864947e+04 ! particle number mass Rhill -4.01835133e+03 !particle radius in m +Body480 1.81399777e+04 1.22864947e+04 ! particle number mass Rhill +4.01835133e+03 !particle radius in AU -2.24454214e+07 -7.37433557e+06 5.58803594e+04 ! x y z 4.48331646e+02 -1.26886747e+03 -5.97172099e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -481 8.06531544e+04 8.77644669e+03 ! particle number mass Rhill -4.48393645e+03 !particle radius in m +Body481 8.06531544e+04 8.77644669e+03 ! particle number mass Rhill +4.48393645e+03 !particle radius in AU -1.00569236e+07 1.52027585e+06 5.50467478e+04 ! x y z -2.73653938e+02 -2.04195337e+03 2.77105641e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -482 2.97181135e+04 5.68599691e+03 ! particle number mass Rhill -4.73706563e+03 !particle radius in m +Body482 2.97181135e+04 5.68599691e+03 ! particle number mass Rhill +4.73706563e+03 !particle radius in AU 1.42492815e+06 -9.15917062e+06 -2.25858696e+04 ! x y z 2.12298306e+03 3.34049377e+02 1.00298878e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -483 4.23222409e+04 7.28278576e+03 ! particle number mass Rhill -5.32956636e+03 !particle radius in m +Body483 4.23222409e+04 7.28278576e+03 ! particle number mass Rhill +5.32956636e+03 !particle radius in AU -7.74886856e+06 6.98419572e+06 4.81094824e+02 ! x y z -1.36287826e+03 -1.51437942e+03 -1.68752883e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -484 2.03031340e+05 1.37443509e+04 ! particle number mass Rhill -8.98855782e+03 !particle radius in m +Body484 2.03031340e+05 1.37443509e+04 ! particle number mass Rhill +8.98855782e+03 !particle radius in AU -9.13222067e+06 7.31343022e+06 -3.08093425e+04 ! x y z -1.21046156e+03 -1.49256909e+03 -3.15355485e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -485 6.08047440e+04 8.91637215e+03 ! particle number mass Rhill -6.01378842e+03 !particle radius in m +Body485 6.08047440e+04 8.91637215e+03 ! particle number mass Rhill +6.01378842e+03 !particle radius in AU 6.06087158e+06 -9.69417839e+06 6.23119551e+04 ! x y z 1.63826093e+03 1.03252872e+03 -8.91138112e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -486 8.86921034e+04 1.25973681e+04 ! particle number mass Rhill -4.62821986e+03 !particle radius in m +Body486 8.86921034e+04 1.25973681e+04 ! particle number mass Rhill +4.62821986e+03 !particle radius in AU 1.42036863e+07 3.21005959e+05 -1.52147935e+05 ! x y z -2.29346938e+01 1.73911536e+03 2.41934076e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -487 9.52577096e+05 1.72967606e+04 ! particle number mass Rhill -1.02114099e+04 !particle radius in m +Body487 9.52577096e+05 1.72967606e+04 ! particle number mass Rhill +1.02114099e+04 !particle radius in AU 2.47060933e+06 -8.49038937e+06 -1.64092125e+04 ! x y z 2.11333925e+03 6.27764025e+02 3.26978709e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -488 5.18391704e+05 2.71580514e+04 ! particle number mass Rhill -1.22853727e+04 !particle radius in m +Body488 5.18391704e+05 2.71580514e+04 ! particle number mass Rhill +1.22853727e+04 !particle radius in AU -1.70653039e+07 2.72173559e+06 1.07972032e+05 ! x y z -2.36876536e+02 -1.54619144e+03 -7.91920171e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -489 4.36645660e+05 1.45363957e+04 ! particle number mass Rhill -7.87339511e+03 !particle radius in m +Body489 4.36645660e+05 1.45363957e+04 ! particle number mass Rhill +7.87339511e+03 !particle radius in AU 9.29964742e+06 2.61866241e+06 1.18151327e+04 ! x y z -6.01432781e+02 2.01893065e+03 -9.18340859e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -490 3.24205564e+05 1.34006277e+04 ! particle number mass Rhill -1.05061229e+04 !particle radius in m +Body490 3.24205564e+05 1.34006277e+04 ! particle number mass Rhill +1.05061229e+04 !particle radius in AU 5.46329309e+06 -8.17615351e+06 3.23278517e+03 ! x y z 1.73194521e+03 1.16682128e+03 -2.32849453e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -491 6.63821774e+04 1.05636781e+04 ! particle number mass Rhill -4.20213010e+03 !particle radius in m +Body491 6.63821774e+04 1.05636781e+04 ! particle number mass Rhill +4.20213010e+03 !particle radius in AU -9.38612532e+06 8.96174000e+06 1.24251608e+04 ! x y z -1.26134064e+03 -1.32562137e+03 -9.16926524e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -492 1.48737769e+05 1.42832047e+04 ! particle number mass Rhill -5.49869230e+03 !particle radius in m +Body492 1.48737769e+05 1.42832047e+04 ! particle number mass Rhill +5.49869230e+03 !particle radius in AU 1.34404207e+06 -1.34982267e+07 -9.98145158e+04 ! x y z 1.77251874e+03 1.58186229e+02 -1.18233653e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -493 4.27953152e+04 1.09683126e+04 ! particle number mass Rhill -5.34935064e+03 !particle radius in m +Body493 4.27953152e+04 1.09683126e+04 ! particle number mass Rhill +5.34935064e+03 !particle radius in AU 1.59657590e+07 -1.84107184e+06 7.91634963e+04 ! x y z 1.77740752e+02 1.61004155e+03 -8.76452331e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -494 1.55605997e+04 9.97417601e+03 ! particle number mass Rhill -3.81807480e+03 !particle radius in m +Body494 1.55605997e+04 9.97417601e+03 ! particle number mass Rhill +3.81807480e+03 !particle radius in AU -1.95422324e+07 4.27225532e+06 -1.15437134e+04 ! x y z -3.47390066e+02 -1.42742043e+03 -9.37392480e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -495 1.07612435e+05 9.82215943e+03 ! particle number mass Rhill -7.27427657e+03 !particle radius in m +Body495 1.07612435e+05 9.82215943e+03 ! particle number mass Rhill +7.27427657e+03 !particle radius in AU -8.32827018e+06 6.50246828e+06 1.07863935e+04 ! x y z -1.19572995e+03 -1.60254308e+03 1.23423582e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -496 5.96462922e+05 1.86294653e+04 ! particle number mass Rhill -8.73601721e+03 !particle radius in m +Body496 5.96462922e+05 1.86294653e+04 ! particle number mass Rhill +8.73601721e+03 !particle radius in AU -1.07074688e+07 2.34621575e+06 5.93641138e+04 ! x y z -4.22982902e+02 -1.94965020e+03 -1.96471998e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -497 4.30903278e+05 2.02800538e+04 ! particle number mass Rhill -1.15512484e+04 !particle radius in m +Body497 4.30903278e+05 2.02800538e+04 ! particle number mass Rhill +1.15512484e+04 !particle radius in AU 4.51979494e+06 1.22520862e+07 -1.38847489e+04 ! x y z -1.72593078e+03 6.48260700e+02 -7.40684356e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -498 2.62273130e+05 1.74445137e+04 ! particle number mass Rhill -6.64309194e+03 !particle radius in m +Body498 2.62273130e+05 1.74445137e+04 ! particle number mass Rhill +6.64309194e+03 !particle radius in AU 2.92552013e+06 -1.35219163e+07 -7.24169872e+04 ! x y z 1.71212479e+03 3.82693746e+02 1.13508153e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -499 9.47984404e+05 2.08482098e+04 ! particle number mass Rhill -1.01949726e+04 !particle radius in m +Body499 9.47984404e+05 2.08482098e+04 ! particle number mass Rhill +1.01949726e+04 !particle radius in AU 8.44057923e+05 -1.07213279e+07 5.42825433e+04 ! x y z 1.98524585e+03 1.59641509e+02 -2.17308444e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -500 1.71702832e+06 3.33526891e+04 ! particle number mass Rhill -1.24273391e+04 !particle radius in m +Body500 1.71702832e+06 3.33526891e+04 ! particle number mass Rhill +1.24273391e+04 !particle radius in AU -5.70564751e+06 -1.28061077e+07 7.89815585e+04 ! x y z 1.59615438e+03 -7.17950030e+02 -1.60355758e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -501 2.72234422e+05 1.15106750e+04 ! particle number mass Rhill -9.91174230e+03 !particle radius in m +Body501 2.72234422e+05 1.15106750e+04 ! particle number mass Rhill +9.91174230e+03 !particle radius in AU 6.42542385e+06 -6.26831304e+06 -8.52096344e+03 ! x y z 1.51047048e+03 1.57585291e+03 1.26849618e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -502 1.23522546e+05 1.28533789e+04 ! particle number mass Rhill -7.61642321e+03 !particle radius in m +Body502 1.23522546e+05 1.28533789e+04 ! particle number mass Rhill +7.61642321e+03 !particle radius in AU -1.26986567e+07 2.05439645e+06 4.23816010e+04 ! x y z -3.17593598e+02 -1.80836332e+03 1.37317505e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -503 1.79476667e+05 1.06554012e+04 ! particle number mass Rhill -5.85403069e+03 !particle radius in m +Body503 1.79476667e+05 1.06554012e+04 ! particle number mass Rhill +5.85403069e+03 !particle radius in AU 3.89723404e+06 -8.71939773e+06 -1.59555101e+04 ! x y z 1.92484978e+03 8.78585634e+02 3.76576757e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -504 8.12308648e+05 1.77510996e+04 ! particle number mass Rhill -9.68335876e+03 !particle radius in m +Body504 8.12308648e+05 1.77510996e+04 ! particle number mass Rhill +9.68335876e+03 !particle radius in AU 9.58403819e+06 -1.00242938e+06 4.12991678e+04 ! x y z 2.21630062e+02 2.09275016e+03 1.75085392e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -505 9.52125066e+05 2.49408408e+04 ! particle number mass Rhill -1.02097944e+04 !particle radius in m +Body505 9.52125066e+05 2.49408408e+04 ! particle number mass Rhill +1.02097944e+04 !particle radius in AU -2.44297176e+05 1.26729604e+07 2.03607439e+04 ! x y z -1.84680295e+03 -1.82730822e+01 -2.91252739e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -506 4.64738988e+04 6.53761969e+03 ! particle number mass Rhill -5.49842989e+03 !particle radius in m +Body506 4.64738988e+04 6.53761969e+03 ! particle number mass Rhill +5.49842989e+03 !particle radius in AU -8.96004039e+06 4.09560494e+05 -3.60456167e+04 ! x y z -1.02191608e+02 -2.20756190e+03 -2.24493109e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -507 5.74538635e+05 1.72816119e+04 ! particle number mass Rhill -1.27138008e+04 !particle radius in m +Body507 5.74538635e+05 1.72816119e+04 ! particle number mass Rhill +1.27138008e+04 !particle radius in AU -6.81541514e+06 -7.94063477e+06 -7.18748605e+04 ! x y z 1.54316120e+03 -1.31237150e+03 -1.15079245e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -508 6.06350829e+05 2.46184244e+04 ! particle number mass Rhill -8.78402686e+03 !particle radius in m +Body508 6.06350829e+05 2.46184244e+04 ! particle number mass Rhill +8.78402686e+03 !particle radius in AU -9.08822325e+06 1.13954530e+07 -2.08875223e+04 ! x y z -1.34302030e+03 -1.07504367e+03 -1.24686872e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -509 1.36687504e+06 2.39325427e+04 ! particle number mass Rhill -1.15175985e+04 !particle radius in m +Body509 1.36687504e+06 2.39325427e+04 ! particle number mass Rhill +1.15175985e+04 !particle radius in AU -1.06157252e+07 1.57779393e+06 -6.65867787e+03 ! x y z -2.87369206e+02 -1.99101003e+03 7.20690801e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -510 6.62491872e+05 1.93909693e+04 ! particle number mass Rhill -9.04716508e+03 !particle radius in m +Body510 6.62491872e+05 1.93909693e+04 ! particle number mass Rhill +9.04716508e+03 !particle radius in AU 7.17906044e+06 8.87425909e+06 -3.25181785e+04 ! x y z -1.49406264e+03 1.20724214e+03 6.21002078e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -511 1.47316882e+05 1.36578017e+04 ! particle number mass Rhill -5.48112664e+03 !particle radius in m +Body511 1.47316882e+05 1.36578017e+04 ! particle number mass Rhill +5.48112664e+03 !particle radius in AU -1.21003843e+06 -1.29422942e+07 -7.40239219e+04 ! x y z 1.81002624e+03 -1.79331834e+02 1.25932266e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -512 1.70937828e+05 1.02401788e+04 ! particle number mass Rhill -8.48753771e+03 !particle radius in m +Body512 1.70937828e+05 1.02401788e+04 ! particle number mass Rhill +8.48753771e+03 !particle radius in AU -6.99463389e+06 -6.47905900e+06 9.60433255e+04 ! x y z 1.43760545e+03 -1.52260892e+03 -8.56316812e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -513 1.81406130e+06 3.13505650e+04 ! particle number mass Rhill -1.26571613e+04 !particle radius in m +Body513 1.81406130e+06 3.13505650e+04 ! particle number mass Rhill +1.26571613e+04 !particle radius in AU 6.31211278e+06 1.15740500e+07 2.93359231e+04 ! x y z -1.56035950e+03 8.72608400e+02 2.02164700e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -514 2.10541334e+04 8.90662069e+03 ! particle number mass Rhill -4.22293872e+03 !particle radius in m +Body514 2.10541334e+04 8.90662069e+03 ! particle number mass Rhill +4.22293872e+03 !particle radius in AU -1.14209193e+07 -1.19005899e+07 4.72825184e+04 ! x y z 1.16096797e+03 -1.10215252e+03 -1.73463799e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -515 2.17159803e+05 1.07749747e+04 ! particle number mass Rhill -9.19239764e+03 !particle radius in m +Body515 2.17159803e+05 1.07749747e+04 ! particle number mass Rhill +9.19239764e+03 !particle radius in AU -1.91436849e+06 -8.75500915e+06 -5.63789360e+04 ! x y z 2.13513923e+03 -5.15505302e+02 8.14672797e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -516 7.30928133e+04 7.84250334e+03 ! particle number mass Rhill -6.39431287e+03 !particle radius in m +Body516 7.30928133e+04 7.84250334e+03 ! particle number mass Rhill +6.39431287e+03 !particle radius in AU -7.76033426e+06 5.83903373e+06 1.45914082e+04 ! x y z -1.24659220e+03 -1.65602207e+03 2.58792993e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -517 9.83999051e+04 1.16580527e+04 ! particle number mass Rhill -7.06047440e+03 !particle radius in m +Body517 9.83999051e+04 1.16580527e+04 ! particle number mass Rhill +7.06047440e+03 !particle radius in AU 6.04175168e+06 -1.13300829e+07 -2.21833258e+04 ! x y z 1.60126812e+03 8.64183750e+02 2.07897641e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -518 5.97934335e+04 7.15900578e+03 ! particle number mass Rhill -5.98026121e+03 !particle radius in m +Body518 5.97934335e+04 7.15900578e+03 ! particle number mass Rhill +5.98026121e+03 !particle radius in AU 7.56777600e+06 -5.38164192e+06 4.82260182e+04 ! x y z 1.23384783e+03 1.75131178e+03 1.39050720e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -519 5.71894876e+04 8.55975767e+03 ! particle number mass Rhill -5.89215810e+03 !particle radius in m +Body519 5.71894876e+04 8.55975767e+03 ! particle number mass Rhill +5.89215810e+03 !particle radius in AU 2.24109885e+06 -1.09795024e+07 -3.90720695e+03 ! x y z 1.91472479e+03 3.97948512e+02 1.96668988e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -520 1.48754762e+06 2.05963996e+04 ! particle number mass Rhill -1.18470246e+04 !particle radius in m +Body520 1.48754762e+06 2.05963996e+04 ! particle number mass Rhill +1.18470246e+04 !particle radius in AU -1.60346956e+06 8.94982575e+06 -4.55491048e+04 ! x y z -2.13610180e+03 -3.93853083e+02 6.45999458e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -521 3.51821464e+05 2.32804021e+04 ! particle number mass Rhill -1.07963370e+04 !particle radius in m +Body521 3.51821464e+05 2.32804021e+04 ! particle number mass Rhill +1.07963370e+04 !particle radius in AU 1.33407792e+07 -9.60353157e+06 -4.36975900e+04 ! x y z 9.42437149e+02 1.32281900e+03 -2.80741977e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -522 7.65767425e+05 1.68127024e+04 ! particle number mass Rhill -9.49477387e+03 !particle radius in m +Body522 7.65767425e+05 1.68127024e+04 ! particle number mass Rhill +9.49477387e+03 !particle radius in AU 5.43228414e+06 -7.41736135e+06 -2.66812088e+04 ! x y z 1.72722717e+03 1.31007512e+03 -7.34912008e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -523 4.89668862e+04 9.49351088e+03 ! particle number mass Rhill -3.79681841e+03 !particle radius in m +Body523 4.89668862e+04 9.49351088e+03 ! particle number mass Rhill +3.79681841e+03 !particle radius in AU 1.54005009e+06 1.28774959e+07 5.16246471e+04 ! x y z -1.81371335e+03 2.12824688e+02 -9.20646953e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -524 1.25229074e+06 2.76881585e+04 ! particle number mass Rhill -1.11863238e+04 !particle radius in m +Body524 1.25229074e+06 2.76881585e+04 ! particle number mass Rhill +1.11863238e+04 !particle radius in AU 1.67931493e+06 1.31306619e+07 -2.70431013e+03 ! x y z -1.76941688e+03 1.91845464e+02 5.05532665e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -525 3.32931200e+05 1.90744628e+04 ! particle number mass Rhill -1.05995433e+04 !particle radius in m +Body525 3.32931200e+05 1.90744628e+04 ! particle number mass Rhill +1.05995433e+04 !particle radius in AU -1.32214307e+07 4.59727104e+06 -3.96485583e+04 ! x y z -5.86090985e+02 -1.64093893e+03 -8.60481037e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -526 1.39271951e+05 1.22980473e+04 ! particle number mass Rhill -7.92726804e+03 !particle radius in m +Body526 1.39271951e+05 1.22980473e+04 ! particle number mass Rhill +7.92726804e+03 !particle radius in AU -1.18927692e+07 -9.15865717e+05 -4.39369369e+04 ! x y z 1.82263225e+02 -1.88987287e+03 9.03561914e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -527 2.99878480e+05 1.71185236e+04 ! particle number mass Rhill -1.02364827e+04 !particle radius in m +Body527 2.99878480e+05 1.71185236e+04 ! particle number mass Rhill +1.02364827e+04 !particle radius in AU -9.62033211e+06 8.56620033e+06 -2.00428889e+04 ! x y z -1.21101074e+03 -1.36584173e+03 3.97879960e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -528 6.64110630e+04 1.57261442e+04 ! particle number mass Rhill -4.20273952e+03 !particle radius in m +Body528 6.64110630e+04 1.57261442e+04 ! particle number mass Rhill +4.20273952e+03 !particle radius in AU 9.89301751e+06 1.68175777e+07 -1.13308431e+05 ! x y z -1.27501202e+03 7.61202373e+02 3.42051019e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -529 5.96535091e+04 8.89858147e+03 ! particle number mass Rhill -5.97559270e+03 !particle radius in m +Body529 5.96535091e+04 8.89858147e+03 ! particle number mass Rhill +5.97559270e+03 !particle radius in AU 5.37606728e+06 1.01483084e+07 -2.42832542e+04 ! x y z -1.69155568e+03 9.33567602e+02 8.03539638e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -530 1.99075266e+05 1.02852963e+04 ! particle number mass Rhill -8.92979367e+03 !particle radius in m +Body530 1.99075266e+05 1.02852963e+04 ! particle number mass Rhill +8.92979367e+03 !particle radius in AU 1.14205826e+06 -8.87516936e+06 2.93174632e+04 ! x y z 2.16370189e+03 2.71790476e+02 -6.44072560e-04 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -531 1.87862294e+06 4.29417274e+04 ! particle number mass Rhill -1.28055687e+04 !particle radius in m +Body531 1.87862294e+06 4.29417274e+04 ! particle number mass Rhill +1.28055687e+04 !particle radius in AU 1.43504952e+07 -1.05282252e+07 1.08842756e+04 ! x y z 8.96217918e+02 1.25350160e+03 -1.10361539e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -532 2.46464658e+04 7.69853715e+03 ! particle number mass Rhill -4.45062026e+03 !particle radius in m +Body532 2.46464658e+04 7.69853715e+03 ! particle number mass Rhill +4.45062026e+03 !particle radius in AU -1.23862731e+07 -4.56645846e+06 6.19786286e+04 ! x y z 6.35830463e+02 -1.69613094e+03 6.10556298e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -533 1.21726161e+06 1.98509313e+04 ! particle number mass Rhill -1.10810345e+04 !particle radius in m +Body533 1.21726161e+06 1.98509313e+04 ! particle number mass Rhill +1.10810345e+04 !particle radius in AU -9.06340320e+06 2.47989940e+06 5.29566882e+03 ! x y z -6.09939224e+02 -2.04449772e+03 -8.32106226e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -534 1.71375734e+06 2.36594524e+04 ! particle number mass Rhill -1.24194426e+04 !particle radius in m +Body534 1.71375734e+06 2.36594524e+04 ! particle number mass Rhill +1.24194426e+04 !particle radius in AU 4.49134220e+06 -8.88004412e+06 6.17280318e+04 ! x y z 1.84761935e+03 9.49659970e+02 -1.91054187e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -535 1.17792587e+05 8.88177891e+03 ! particle number mass Rhill -7.49678363e+03 !particle radius in m +Body535 1.17792587e+05 8.88177891e+03 ! particle number mass Rhill +7.49678363e+03 !particle radius in AU -8.88023220e+06 1.94417194e+06 -7.43854396e+03 ! x y z -4.59587086e+02 -2.12797895e+03 1.62261707e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -536 1.47383712e+06 2.67711289e+04 ! particle number mass Rhill -1.18105148e+04 !particle radius in m +Body536 1.47383712e+06 2.67711289e+04 ! particle number mass Rhill +1.18105148e+04 !particle radius in AU -6.23830061e+06 1.01163011e+07 8.19444776e+04 ! x y z -1.60793851e+03 -1.00726817e+03 7.79908055e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -537 6.43756917e+05 3.31715734e+04 ! particle number mass Rhill -8.96106511e+03 !particle radius in m +Body537 6.43756917e+05 3.31715734e+04 ! particle number mass Rhill +8.96106511e+03 !particle radius in AU 1.33415164e+07 1.42367071e+07 9.29022826e+04 ! x y z -1.09778034e+03 9.88101471e+02 9.22779390e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -538 6.99959191e+04 7.79605421e+03 ! particle number mass Rhill -6.30269894e+03 !particle radius in m +Body538 6.99959191e+04 7.79605421e+03 ! particle number mass Rhill +6.30269894e+03 !particle radius in AU 6.77890172e+06 -6.80689243e+06 -5.36873514e+04 ! x y z 1.47893463e+03 1.49784044e+03 1.58118524e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -539 9.63466589e+05 1.73728715e+04 ! particle number mass Rhill -1.02501735e+04 !particle radius in m +Body539 9.63466589e+05 1.73728715e+04 ! particle number mass Rhill +1.02501735e+04 !particle radius in AU 8.06725141e+06 -3.62262126e+06 -3.66507377e+04 ! x y z 8.67780530e+02 2.02709545e+03 1.28504792e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -540 1.06796090e+06 2.10987598e+04 ! particle number mass Rhill -1.06080961e+04 !particle radius in m +Body540 1.06796090e+06 2.10987598e+04 ! particle number mass Rhill +1.06080961e+04 !particle radius in AU -1.02130792e+07 -1.98178118e+06 -1.09127341e+03 ! x y z 3.87020460e+02 -1.99318523e+03 -1.70944891e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -541 1.69193115e+05 1.74469576e+04 ! particle number mass Rhill -8.45856229e+03 !particle radius in m +Body541 1.69193115e+05 1.74469576e+04 ! particle number mass Rhill +8.45856229e+03 !particle radius in AU -2.71890650e+06 -1.56230331e+07 9.11371828e+04 ! x y z 1.62029295e+03 -2.93846410e+02 -2.71565573e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -542 4.08448966e+05 1.69427746e+04 ! particle number mass Rhill -7.70013366e+03 !particle radius in m +Body542 4.08448966e+05 1.69427746e+04 ! particle number mass Rhill +7.70013366e+03 !particle radius in AU 4.47583128e+06 -1.06559052e+07 4.54196507e+04 ! x y z 1.76732893e+03 7.56289214e+02 -9.51753793e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -543 4.21097966e+04 8.34723114e+03 ! particle number mass Rhill -5.32063382e+03 !particle radius in m +Body543 4.21097966e+04 8.34723114e+03 ! particle number mass Rhill +5.32063382e+03 !particle radius in AU -2.17375021e+06 -1.18877181e+07 -8.95951928e+04 ! x y z 1.85620755e+03 -3.25350325e+02 -7.40810642e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -544 4.35969753e+05 1.55004244e+04 ! particle number mass Rhill -7.86933046e+03 !particle radius in m +Body544 4.35969753e+05 1.55004244e+04 ! particle number mass Rhill +7.86933046e+03 !particle radius in AU -1.01016093e+07 1.38884267e+06 9.80998719e+04 ! x y z -2.82476358e+02 -2.04196683e+03 -1.00530560e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -545 1.74468920e+06 3.91496158e+04 ! particle number mass Rhill -1.24937177e+04 !particle radius in m +Body545 1.74468920e+06 3.91496158e+04 ! particle number mass Rhill +1.24937177e+04 !particle radius in AU 1.39598489e+07 -8.85744354e+06 2.03839682e+05 ! x y z 8.43657382e+02 1.36375070e+03 -3.55497456e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -546 1.53945922e+05 1.61343327e+04 ! particle number mass Rhill -5.56213757e+03 !particle radius in m +Body546 1.53945922e+05 1.61343327e+04 ! particle number mass Rhill +5.56213757e+03 !particle radius in AU -1.43847009e+07 -4.33966476e+06 1.92096630e+04 ! x y z 4.81764822e+02 -1.62800637e+03 4.41101277e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -547 2.88269639e+05 1.83429356e+04 ! particle number mass Rhill -6.85570252e+03 !particle radius in m +Body547 2.88269639e+05 1.83429356e+04 ! particle number mass Rhill +6.85570252e+03 !particle radius in AU 1.40885725e+06 -1.39890777e+07 -6.21160422e+04 ! x y z 1.73532137e+03 1.58882387e+02 -4.19228752e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -548 2.40639954e+05 1.17835112e+04 ! particle number mass Rhill -6.45517829e+03 !particle radius in m +Body548 2.40639954e+05 1.17835112e+04 ! particle number mass Rhill +6.45517829e+03 !particle radius in AU -6.30237830e+06 -7.45548810e+06 1.19792411e+04 ! x y z 1.58465709e+03 -1.33550387e+03 2.64893502e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -549 2.81080705e+05 2.68807908e+04 ! particle number mass Rhill -6.79823242e+03 !particle radius in m +Body549 2.81080705e+05 2.68807908e+04 ! particle number mass Rhill +6.79823242e+03 !particle radius in AU 1.78118521e+07 -1.09119093e+07 2.70244768e+04 ! x y z 7.41554271e+02 1.21779793e+03 9.15237602e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -550 7.67656205e+05 1.68827066e+04 ! particle number mass Rhill -9.50257381e+03 !particle radius in m +Body550 7.67656205e+05 1.68827066e+04 ! particle number mass Rhill +9.50257381e+03 !particle radius in AU -2.89743663e+06 8.86128251e+06 -6.58120111e+04 ! x y z -2.02979747e+03 -6.82073189e+02 -2.28176534e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -551 1.84065446e+05 1.04243205e+04 ! particle number mass Rhill -8.69947568e+03 !particle radius in m +Body551 1.84065446e+05 1.04243205e+04 ! particle number mass Rhill +8.69947568e+03 !particle radius in AU 8.83702217e+06 -2.90376077e+06 7.27788768e+04 ! x y z 6.85075467e+02 2.02703778e+03 7.97245500e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -552 4.34671660e+05 1.94276836e+04 ! particle number mass Rhill -7.86151243e+03 !particle radius in m +Body552 4.34671660e+05 1.94276836e+04 ! particle number mass Rhill +7.86151243e+03 !particle radius in AU -1.21931564e+07 4.86524046e+06 -2.08324531e+04 ! x y z -6.82318390e+02 -1.65856508e+03 -6.74090912e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -553 1.46171434e+05 1.10945190e+04 ! particle number mass Rhill -5.46688367e+03 !particle radius in m +Body553 1.46171434e+05 1.10945190e+04 ! particle number mass Rhill +5.46688367e+03 !particle radius in AU -1.05680658e+07 -7.72400524e+05 -4.19566380e+03 ! x y z 1.61680595e+02 -2.00721546e+03 9.15915016e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -554 6.46892370e+05 1.81986063e+04 ! particle number mass Rhill -8.97559000e+03 !particle radius in m +Body554 6.46892370e+05 1.81986063e+04 ! particle number mass Rhill +8.97559000e+03 !particle radius in AU 4.91698619e+06 9.43759555e+06 8.61311530e+04 ! x y z -1.79363820e+03 8.94192612e+02 3.28487627e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -555 8.66972170e+05 2.98836776e+04 ! particle number mass Rhill -9.89587154e+03 !particle radius in m +Body555 8.66972170e+05 2.98836776e+04 ! particle number mass Rhill +9.89587154e+03 !particle radius in AU 5.50899609e+06 1.48985993e+07 2.75915152e+04 ! x y z -1.53604421e+03 5.70661142e+02 -8.63285634e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -556 1.94853540e+06 2.93655044e+04 ! particle number mass Rhill -1.29624899e+04 !particle radius in m +Body556 1.94853540e+06 2.93655044e+04 ! particle number mass Rhill +1.29624899e+04 !particle radius in AU 3.19801044e+06 -1.13772802e+07 7.80535196e+04 ! x y z 1.85228574e+03 4.55890151e+02 8.36932683e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -557 3.43146591e+05 1.41106093e+04 ! particle number mass Rhill -1.07068623e+04 !particle radius in m +Body557 3.43146591e+05 1.41106093e+04 ! particle number mass Rhill +1.07068623e+04 !particle radius in AU -2.15573271e+06 -1.00993578e+07 2.69595119e+04 ! x y z 1.97403251e+03 -4.33189618e+02 1.83241184e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -558 6.08262401e+04 7.76105781e+03 ! particle number mass Rhill -6.01449701e+03 !particle radius in m +Body558 6.08262401e+04 7.76105781e+03 ! particle number mass Rhill +6.01449701e+03 !particle radius in AU -9.90249159e+06 1.50849384e+06 7.56908853e+04 ! x y z -3.34511747e+02 -2.03461346e+03 1.09006280e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -559 5.33911205e+05 1.50688239e+04 ! particle number mass Rhill -8.41928754e+03 !particle radius in m +Body559 5.33911205e+05 1.50688239e+04 ! particle number mass Rhill +8.41928754e+03 !particle radius in AU -8.12226421e+06 -4.86915559e+06 1.48785398e+04 ! x y z 1.08601808e+03 -1.81594814e+03 -1.05069846e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -560 3.36343620e+04 8.37603659e+03 ! particle number mass Rhill -4.93662404e+03 !particle radius in m +Body560 3.36343620e+04 8.37603659e+03 ! particle number mass Rhill +4.93662404e+03 !particle radius in AU 1.04182881e+07 7.90957341e+06 -2.69933355e+04 ! x y z -1.12996754e+03 1.41480511e+03 -6.50919824e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -561 5.78392305e+05 1.80846634e+04 ! particle number mass Rhill -8.64688797e+03 !particle radius in m +Body561 5.78392305e+05 1.80846634e+04 ! particle number mass Rhill +8.64688797e+03 !particle radius in AU -8.48425655e+06 7.30611767e+06 -2.97358583e+04 ! x y z -1.27983291e+03 -1.45019242e+03 -1.41707765e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -562 4.38625267e+05 1.60791218e+04 ! particle number mass Rhill -1.16198415e+04 !particle radius in m +Body562 4.38625267e+05 1.60791218e+04 ! particle number mass Rhill +1.16198415e+04 !particle radius in AU -8.65184164e+06 6.24864145e+06 -3.92875079e+04 ! x y z -1.16032314e+03 -1.63406999e+03 1.01313500e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -563 2.74034207e+05 1.29317245e+04 ! particle number mass Rhill -9.93353704e+03 !particle radius in m +Body563 2.74034207e+05 1.29317245e+04 ! particle number mass Rhill +9.93353704e+03 !particle radius in AU 8.34883939e+06 5.63589901e+06 -3.07212153e+04 ! x y z -1.13165810e+03 1.72056724e+03 2.87270046e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -564 1.14992402e+05 2.05068778e+04 ! particle number mass Rhill -7.43690165e+03 !particle radius in m +Body564 1.14992402e+05 2.05068778e+04 ! particle number mass Rhill +7.43690165e+03 !particle radius in AU 9.21633433e+06 -1.93093666e+07 -2.54318164e+04 ! x y z 1.26419057e+03 6.27050448e+02 3.30035390e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -565 4.05431060e+05 1.30553285e+04 ! particle number mass Rhill -7.68112210e+03 !particle radius in m +Body565 4.05431060e+05 1.30553285e+04 ! particle number mass Rhill +7.68112210e+03 !particle radius in AU 3.80685718e+06 -7.94695887e+06 -6.90041243e+04 ! x y z 2.01235665e+03 9.27723235e+02 1.23111874e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -566 4.60325019e+05 2.56439114e+04 ! particle number mass Rhill -1.18083853e+04 !particle radius in m +Body566 4.60325019e+05 2.56439114e+04 ! particle number mass Rhill +1.18083853e+04 !particle radius in AU -1.32805505e+07 -9.89987589e+06 1.89561964e+05 ! x y z 9.51950860e+02 -1.30762258e+03 -3.09155476e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -567 1.87989321e+05 1.07137061e+04 ! particle number mass Rhill -5.94515785e+03 !particle radius in m +Body567 1.87989321e+05 1.07137061e+04 ! particle number mass Rhill +5.94515785e+03 !particle radius in AU 7.49508147e+05 9.39060182e+06 -2.98793685e+03 ! x y z -2.12842500e+03 1.60409656e+02 -2.35936034e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -568 2.16431915e+05 1.10103187e+04 ! particle number mass Rhill -9.18211562e+03 !particle radius in m +Body568 2.16431915e+05 1.10103187e+04 ! particle number mass Rhill +9.18211562e+03 !particle radius in AU 1.66945874e+06 -9.11271704e+06 -1.05228493e+04 ! x y z 2.11017159e+03 4.07672310e+02 4.86502364e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -569 1.49318229e+05 1.04005379e+04 ! particle number mass Rhill -5.50583603e+03 !particle radius in m +Body569 1.49318229e+05 1.04005379e+04 ! particle number mass Rhill +5.50583603e+03 !particle radius in AU -4.36738498e+06 -8.73103534e+06 3.44651531e+03 ! x y z 1.86828307e+03 -9.77585967e+02 3.81224965e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -570 6.11004170e+04 1.82167732e+04 ! particle number mass Rhill -4.08758743e+03 !particle radius in m +Body570 6.11004170e+04 1.82167732e+04 ! particle number mass Rhill +4.08758743e+03 !particle radius in AU -1.94040314e+07 1.29480928e+07 -6.30516410e+04 ! x y z -7.60734575e+02 -1.12192654e+03 2.15504297e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -571 1.74760567e+06 2.27605806e+04 ! particle number mass Rhill -1.25006754e+04 !particle radius in m +Body571 1.74760567e+06 2.27605806e+04 ! particle number mass Rhill +1.25006754e+04 !particle radius in AU -2.30041587e+06 -9.09389672e+06 2.95714152e+04 ! x y z 2.09036388e+03 -5.21147635e+02 -8.12618749e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -572 2.53385422e+05 1.12224764e+04 ! particle number mass Rhill -6.56718935e+03 !particle radius in m +Body572 2.53385422e+05 1.12224764e+04 ! particle number mass Rhill +6.56718935e+03 !particle radius in AU -8.45167174e+06 3.53866282e+06 8.15293748e+03 ! x y z -8.17977533e+02 -1.97338441e+03 3.10707851e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -573 3.56711320e+05 1.72654191e+04 ! particle number mass Rhill -1.08461254e+04 !particle radius in m +Body573 3.56711320e+05 1.72654191e+04 ! particle number mass Rhill +1.08461254e+04 !particle radius in AU -1.10837839e+05 -1.22760495e+07 9.98243029e+04 ! x y z 1.86849744e+03 1.94461008e+01 1.19094336e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -574 1.71714492e+06 3.11539445e+04 ! particle number mass Rhill -1.24276204e+04 !particle radius in m +Body574 1.71714492e+06 3.11539445e+04 ! particle number mass Rhill +1.24276204e+04 !particle radius in AU -2.16572849e+06 -1.29271292e+07 8.07671116e+04 ! x y z 1.79349978e+03 -2.38674951e+02 -1.98965270e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -575 6.02542390e+05 1.49657344e+04 ! particle number mass Rhill -1.29170951e+04 !particle radius in m +Body575 6.02542390e+05 1.49657344e+04 ! particle number mass Rhill +1.29170951e+04 !particle radius in AU -2.12394299e+06 8.55999084e+06 1.53741130e+04 ! x y z -2.16066071e+03 -5.04790442e+02 1.96131475e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -576 1.94414111e+05 1.17556573e+04 ! particle number mass Rhill -8.85954838e+03 !particle radius in m +Body576 1.94414111e+05 1.17556573e+04 ! particle number mass Rhill +8.85954838e+03 !particle radius in AU 1.01810115e+07 -3.37487969e+05 -2.68884911e+04 ! x y z 8.19073631e+01 2.05446062e+03 -7.35333556e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -577 7.08349066e+05 1.99157790e+04 ! particle number mass Rhill -9.25127176e+03 !particle radius in m +Body577 7.08349066e+05 1.99157790e+04 ! particle number mass Rhill +9.25127176e+03 !particle radius in AU -4.23808016e+06 1.06041798e+07 1.34318994e+05 ! x y z -1.79220969e+03 -7.00369186e+02 1.28815476e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -578 1.81168126e+05 1.06805439e+04 ! particle number mass Rhill -5.87236346e+03 !particle radius in m +Body578 1.81168126e+05 1.06805439e+04 ! particle number mass Rhill +5.87236346e+03 !particle radius in AU -7.46862356e+06 5.99931350e+06 -2.30141523e+03 ! x y z -1.36280521e+03 -1.60905358e+03 6.63931385e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -579 3.61584621e+04 8.02944821e+03 ! particle number mass Rhill -5.05714772e+03 !particle radius in m +Body579 3.61584621e+04 8.02944821e+03 ! particle number mass Rhill +5.05714772e+03 !particle radius in AU -1.11448733e+07 5.00947275e+06 -4.68801561e+04 ! x y z -7.74415285e+02 -1.70766691e+03 -3.61919201e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -580 2.03415997e+05 1.20229466e+04 ! particle number mass Rhill -6.10352459e+03 !particle radius in m +Body580 2.03415997e+05 1.20229466e+04 ! particle number mass Rhill +6.10352459e+03 !particle radius in AU -3.19024158e+06 9.81483389e+06 5.84486975e+04 ! x y z -1.93912156e+03 -6.23690422e+02 1.23117054e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -581 1.40326198e+06 5.19405721e+04 ! particle number mass Rhill -1.16189063e+04 !particle radius in m +Body581 1.40326198e+06 5.19405721e+04 ! particle number mass Rhill +1.16189063e+04 !particle radius in AU -2.24603747e+07 6.26030145e+06 -3.01506892e+04 ! x y z -3.65393394e+02 -1.30811994e+03 1.11405519e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -582 1.03623455e+06 2.78342563e+04 ! particle number mass Rhill -1.05019921e+04 !particle radius in m +Body582 1.03623455e+06 2.78342563e+04 ! particle number mass Rhill +1.05019921e+04 !particle radius in AU -1.12701774e+07 -7.80948644e+06 -6.84666678e+04 ! x y z 9.99713905e+02 -1.47048211e+03 2.44750306e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -583 7.92234060e+04 8.27125360e+03 ! particle number mass Rhill -6.56830775e+03 !particle radius in m +Body583 7.92234060e+04 8.27125360e+03 ! particle number mass Rhill +6.56830775e+03 !particle radius in AU -1.36712830e+06 9.67813820e+06 -6.74480903e+04 ! x y z -2.06604712e+03 -2.98384524e+02 -5.50167062e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -584 1.51550857e+06 3.51961262e+04 ! particle number mass Rhill -1.19207925e+04 !particle radius in m +Body584 1.51550857e+06 3.51961262e+04 ! particle number mass Rhill +1.19207925e+04 !particle radius in AU 7.73867408e+06 1.33759604e+07 3.56063208e+04 ! x y z -1.44506269e+03 8.28074701e+02 1.84054191e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -585 5.49400267e+05 1.52237938e+04 ! particle number mass Rhill -8.49992876e+03 !particle radius in m +Body585 5.49400267e+05 1.52237938e+04 ! particle number mass Rhill +8.49992876e+03 !particle radius in AU -7.77453358e+06 -5.02677399e+06 3.78389790e+04 ! x y z 1.16536090e+03 -1.82463232e+03 -7.04505898e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -586 1.12395540e+05 9.88134833e+03 ! particle number mass Rhill -7.38049260e+03 !particle radius in m +Body586 1.12395540e+05 9.88134833e+03 ! particle number mass Rhill +7.38049260e+03 !particle radius in AU 7.38262528e+06 7.34984552e+06 -2.24885801e+04 ! x y z -1.42099662e+03 1.43499436e+03 1.07378124e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -587 1.14927250e+06 2.54087794e+04 ! particle number mass Rhill -1.08707623e+04 !particle radius in m +Body587 1.14927250e+06 2.54087794e+04 ! particle number mass Rhill +1.08707623e+04 !particle radius in AU -1.19920742e+07 -2.80217215e+06 -5.59313271e+04 ! x y z 4.17941960e+02 -1.81181182e+03 1.45497492e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -588 1.94869968e+05 1.38427149e+04 ! particle number mass Rhill -6.01682391e+03 !particle radius in m +Body588 1.94869968e+05 1.38427149e+04 ! particle number mass Rhill +6.01682391e+03 !particle radius in AU -9.55988426e+06 -7.31862699e+06 -2.64957060e+04 ! x y z 1.16610080e+03 -1.48362062e+03 -6.94255903e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -589 1.38090127e+05 1.95791379e+04 ! particle number mass Rhill -5.36421948e+03 !particle radius in m +Body589 1.38090127e+05 1.95791379e+04 ! particle number mass Rhill +5.36421948e+03 !particle radius in AU 1.02276231e+07 -1.62862349e+07 -9.70147988e+04 ! x y z 1.26937242e+03 7.76347306e+02 4.03225256e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -590 5.23014408e+04 6.86509893e+03 ! particle number mass Rhill -5.71926483e+03 !particle radius in m +Body590 5.23014408e+04 6.86509893e+03 ! particle number mass Rhill +5.71926483e+03 !particle radius in AU -5.16420660e+06 -7.78596130e+06 4.36962776e+04 ! x y z 1.78489031e+03 -1.16625555e+03 -2.90708635e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -591 1.97559266e+05 1.25161752e+04 ! particle number mass Rhill -8.90706847e+03 !particle radius in m +Body591 1.97559266e+05 1.25161752e+04 ! particle number mass Rhill +8.90706847e+03 !particle radius in AU -7.45989489e+06 7.86823113e+06 2.30718801e+04 ! x y z -1.45305114e+03 -1.35662728e+03 1.14450554e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -592 1.32884443e+06 2.77085745e+04 ! particle number mass Rhill -1.14097740e+04 !particle radius in m +Body592 1.32884443e+06 2.77085745e+04 ! particle number mass Rhill +1.14097740e+04 !particle radius in AU -7.21533013e+06 1.04550999e+07 5.75058243e+04 ! x y z -1.49719620e+03 -1.06522065e+03 9.45819576e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -593 9.09171415e+04 9.17387085e+03 ! particle number mass Rhill -6.87676601e+03 !particle radius in m +Body593 9.09171415e+04 9.17387085e+03 ! particle number mass Rhill +6.87676601e+03 !particle radius in AU 6.25358173e+06 -8.48267668e+06 1.86642486e+04 ! x y z 1.59879201e+03 1.18862345e+03 -8.19507037e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -594 3.68814962e+04 7.83261170e+03 ! particle number mass Rhill -5.09063352e+03 !particle radius in m +Body594 3.68814962e+04 7.83261170e+03 ! particle number mass Rhill +5.09063352e+03 !particle radius in AU -7.19321718e+06 -9.25718484e+06 1.26289010e+05 ! x y z 1.51012765e+03 -1.19137905e+03 -2.08075301e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -595 4.29012281e+05 1.53363892e+04 ! particle number mass Rhill -1.15343262e+04 !particle radius in m +Body595 4.29012281e+05 1.53363892e+04 ! particle number mass Rhill +1.15343262e+04 !particle radius in AU 9.77355514e+06 -3.06014377e+06 -1.91679922e+04 ! x y z 6.16624498e+02 1.95214553e+03 8.76866120e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -596 1.67151812e+06 2.61804288e+04 ! particle number mass Rhill -1.23165581e+04 !particle radius in m +Body596 1.67151812e+06 2.61804288e+04 ! particle number mass Rhill +1.23165581e+04 !particle radius in AU 9.85520768e+06 5.11039151e+06 2.67592384e+04 ! x y z -9.36821649e+02 1.72971850e+03 9.58489099e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -597 2.96497244e+05 2.95918505e+04 ! particle number mass Rhill -1.01978639e+04 !particle radius in m +Body597 2.96497244e+05 2.95918505e+04 ! particle number mass Rhill +1.01978639e+04 !particle radius in AU 2.25000304e+07 2.97587658e+06 1.11207983e+05 ! x y z -2.07470373e+02 1.34869606e+03 9.35124053e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -598 4.99711716e+04 8.09133863e+03 ! particle number mass Rhill -3.82259987e+03 !particle radius in m +Body598 4.99711716e+04 8.09133863e+03 ! particle number mass Rhill +3.82259987e+03 !particle radius in AU 9.72912370e+06 4.89272799e+06 4.72049901e+04 ! x y z -8.59138858e+02 1.80693327e+03 1.59854908e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -599 6.13445666e+05 3.80459797e+04 ! particle number mass Rhill -1.29945434e+04 !particle radius in m +Body599 6.13445666e+05 3.80459797e+04 ! particle number mass Rhill +1.29945434e+04 !particle radius in AU 8.58212362e+06 2.09155798e+07 -8.24274997e+04 ! x y z -1.27328941e+03 5.22122914e+02 2.97251817e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -600 3.65124112e+04 8.18474194e+03 ! particle number mass Rhill -5.07359536e+03 !particle radius in m +Body600 3.65124112e+04 8.18474194e+03 ! particle number mass Rhill +5.07359536e+03 !particle radius in AU 1.25914809e+07 -1.54064226e+06 -2.42309046e+04 ! x y z 2.41941616e+02 1.80407714e+03 -4.95095821e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -601 2.49679566e+05 1.13272687e+04 ! particle number mass Rhill -9.63008210e+03 !particle radius in m +Body601 2.49679566e+05 1.13272687e+04 ! particle number mass Rhill +9.63008210e+03 !particle radius in AU -9.08598960e+06 5.01876430e+05 -5.56896042e+04 ! x y z -1.04300102e+02 -2.16453693e+03 -3.87670808e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -602 2.98598310e+04 5.98525472e+03 ! particle number mass Rhill -4.74458362e+03 !particle radius in m +Body602 2.98598310e+04 5.98525472e+03 ! particle number mass Rhill +4.74458362e+03 !particle radius in AU 8.60778725e+06 4.52935761e+06 2.36936302e+04 ! x y z -9.88264993e+02 1.85248346e+03 -3.75174148e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -603 3.14009599e+04 5.61935630e+03 ! particle number mass Rhill -4.82484424e+03 !particle radius in m +Body603 3.14009599e+04 5.61935630e+03 ! particle number mass Rhill +4.82484424e+03 !particle radius in AU -8.51705861e+06 -3.00987013e+06 -6.10335808e+04 ! x y z 7.24297619e+02 -2.04790563e+03 -9.17975560e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -604 1.50689193e+06 4.63163678e+04 ! particle number mass Rhill -1.18981571e+04 !particle radius in m +Body604 1.50689193e+06 4.63163678e+04 ! particle number mass Rhill +1.18981571e+04 !particle radius in AU -2.02348638e+07 -1.68672863e+06 -1.06729108e+05 ! x y z 1.27546784e+02 -1.44981480e+03 -2.13046543e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -605 3.08427266e+04 8.13697460e+03 ! particle number mass Rhill -4.79608176e+03 !particle radius in m +Body605 3.08427266e+04 8.13697460e+03 ! particle number mass Rhill +4.79608176e+03 !particle radius in AU 9.64800303e+06 8.51584872e+06 1.81571159e+04 ! x y z -1.21061246e+03 1.38578498e+03 -1.32836513e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -606 1.05761949e+05 1.13464200e+04 ! particle number mass Rhill -4.90789744e+03 !particle radius in m +Body606 1.05761949e+05 1.13464200e+04 ! particle number mass Rhill +4.90789744e+03 !particle radius in AU 9.13818695e+06 -7.70452976e+06 2.69452399e+04 ! x y z 1.22812984e+03 1.45658692e+03 -6.73843496e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -607 6.83351496e+05 1.64381768e+04 ! particle number mass Rhill -9.14114041e+03 !particle radius in m +Body607 6.83351496e+05 1.64381768e+04 ! particle number mass Rhill +9.14114041e+03 !particle radius in AU -1.09145671e+06 9.34973420e+06 5.18642883e+03 ! x y z -2.11998407e+03 -2.42766889e+02 -9.89092405e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -608 1.58743711e+05 2.35809946e+04 ! particle number mass Rhill -8.28071491e+03 !particle radius in m +Body608 1.58743711e+05 2.35809946e+04 ! particle number mass Rhill +8.28071491e+03 !particle radius in AU 1.92010196e+07 1.03149047e+07 5.09869779e+04 ! x y z -6.74338417e+02 1.23568504e+03 -2.88434162e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -609 4.85097547e+05 1.47521599e+04 ! particle number mass Rhill -8.15446281e+03 !particle radius in m +Body609 4.85097547e+05 1.47521599e+04 ! particle number mass Rhill +8.15446281e+03 !particle radius in AU 9.58051429e+06 -4.62318632e+05 6.35849025e+04 ! x y z 9.06335255e+01 2.09825906e+03 -7.35742647e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -610 1.16601211e+06 2.73042222e+04 ! particle number mass Rhill -1.09232871e+04 !particle radius in m +Body610 1.16601211e+06 2.73042222e+04 ! particle number mass Rhill +1.09232871e+04 !particle radius in AU -1.30847754e+07 -1.20838009e+05 2.79768532e+04 ! x y z 3.82034000e+01 -1.80937386e+03 2.83422576e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -611 2.36220533e+05 1.51727636e+04 ! particle number mass Rhill -9.45383905e+03 !particle radius in m +Body611 2.36220533e+05 1.51727636e+04 ! particle number mass Rhill +9.45383905e+03 !particle radius in AU -5.32926260e+06 1.08809045e+07 2.85451712e+04 ! x y z -1.71920333e+03 -8.10618635e+02 -1.48118539e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -612 1.53212486e+05 1.16720318e+04 ! particle number mass Rhill -8.18339867e+03 !particle radius in m +Body612 1.53212486e+05 1.16720318e+04 ! particle number mass Rhill +8.18339867e+03 !particle radius in AU 1.07932378e+07 -2.40071483e+06 1.38428017e+04 ! x y z 4.19588126e+02 1.91854962e+03 1.35266288e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -613 2.15032649e+05 1.38289963e+04 ! particle number mass Rhill -9.16228488e+03 !particle radius in m +Body613 2.15032649e+05 1.38289963e+04 ! particle number mass Rhill +9.16228488e+03 !particle radius in AU -6.86193518e+06 -9.36770363e+06 8.70674895e+04 ! x y z 1.55612467e+03 -1.13081122e+03 -1.76373653e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -614 3.57192885e+05 1.39240117e+04 ! particle number mass Rhill -7.36353909e+03 !particle radius in m +Body614 3.57192885e+05 1.39240117e+04 ! particle number mass Rhill +7.36353909e+03 !particle radius in AU 5.38169569e+06 -8.48107525e+06 -8.38982677e+03 ! x y z 1.73578647e+03 1.09143169e+03 9.09587252e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -615 1.51298142e+05 9.39126242e+03 ! particle number mass Rhill -8.14917269e+03 !particle radius in m +Body615 1.51298142e+05 9.39126242e+03 ! particle number mass Rhill +8.14917269e+03 !particle radius in AU 7.81574277e+06 4.66176951e+06 -2.35259182e+04 ! x y z -1.08169242e+03 1.85148012e+03 8.40529015e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -616 1.65258517e+06 2.26178964e+04 ! particle number mass Rhill -1.22698790e+04 !particle radius in m +Body616 1.65258517e+06 2.26178964e+04 ! particle number mass Rhill +1.22698790e+04 !particle radius in AU 6.77476212e+06 6.99394577e+06 -8.71906448e+03 ! x y z -1.48799386e+03 1.46547457e+03 -6.43335853e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -617 9.43780075e+04 8.08500600e+03 ! particle number mass Rhill -4.72508108e+03 !particle radius in m +Body617 9.43780075e+04 8.08500600e+03 ! particle number mass Rhill +4.72508108e+03 !particle radius in AU -2.14192792e+06 -8.68107380e+06 -3.97684760e+04 ! x y z 2.13766548e+03 -4.81639501e+02 9.54765001e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -618 5.20613559e+04 7.11254070e+03 ! particle number mass Rhill -5.71050016e+03 !particle radius in m +Body618 5.20613559e+04 7.11254070e+03 ! particle number mass Rhill +5.71050016e+03 !particle radius in AU 9.36808365e+06 1.90217107e+06 2.99198598e+04 ! x y z -4.46020774e+02 2.07539296e+03 -7.66300380e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -619 3.53322004e+05 1.27856154e+04 ! particle number mass Rhill -7.33684298e+03 !particle radius in m +Body619 3.53322004e+05 1.27856154e+04 ! particle number mass Rhill +7.33684298e+03 !particle radius in AU 7.27614119e+06 5.72024594e+06 2.49831464e+04 ! x y z -1.34304944e+03 1.66116310e+03 2.15485187e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -620 3.01485598e+04 9.63815331e+03 ! particle number mass Rhill -4.75982712e+03 !particle radius in m +Body620 3.01485598e+04 9.63815331e+03 ! particle number mass Rhill +4.75982712e+03 !particle radius in AU 9.58921336e+06 -1.24222677e+07 -1.97472656e+05 ! x y z 1.32022081e+03 9.87424842e+02 4.32249357e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -621 1.15454217e+06 2.88150349e+04 ! particle number mass Rhill -1.08873520e+04 !particle radius in m +Body621 1.15454217e+06 2.88150349e+04 ! particle number mass Rhill +1.08873520e+04 !particle radius in AU -7.88989019e+06 -1.13885470e+07 -2.56937402e+04 ! x y z 1.46586529e+03 -9.71985942e+02 -3.51396551e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -622 1.78730679e+04 5.13980334e+03 ! particle number mass Rhill -3.99854533e+03 !particle radius in m +Body622 1.78730679e+04 5.13980334e+03 ! particle number mass Rhill +3.99854533e+03 !particle radius in AU 3.87292376e+06 9.21006941e+06 -6.39624708e+04 ! x y z -1.89793804e+03 8.09142969e+02 -6.59781953e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -623 1.77312636e+05 9.87874797e+03 ! particle number mass Rhill -5.83040726e+03 !particle radius in m +Body623 1.77312636e+05 9.87874797e+03 ! particle number mass Rhill +5.83040726e+03 !particle radius in AU 7.50695786e+06 -4.65362052e+06 -7.10126403e+03 ! x y z 1.18139098e+03 1.86471888e+03 -3.95167658e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -624 8.05498659e+04 1.29509945e+04 ! particle number mass Rhill -4.48202152e+03 !particle radius in m +Body624 8.05498659e+04 1.29509945e+04 ! particle number mass Rhill +4.48202152e+03 !particle radius in AU -1.39144844e+07 5.81363011e+06 3.85998049e+04 ! x y z -6.70071502e+02 -1.54974548e+03 4.74922131e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -625 1.59716194e+06 2.34638970e+04 ! particle number mass Rhill -1.21311502e+04 !particle radius in m +Body625 1.59716194e+06 2.34638970e+04 ! particle number mass Rhill +1.21311502e+04 !particle radius in AU 9.87837438e+06 2.55551323e+06 -1.36596041e+03 ! x y z -4.90308025e+02 1.98176510e+03 -1.01037674e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -626 6.72346518e+05 2.60337621e+04 ! particle number mass Rhill -9.09180370e+03 !particle radius in m +Body626 6.72346518e+05 2.60337621e+04 ! particle number mass Rhill +9.09180370e+03 !particle radius in AU 1.45341700e+07 -4.27619608e+06 5.93941868e+04 ! x y z 4.77328962e+02 1.60335894e+03 -4.97370028e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -627 1.41726204e+06 2.54448913e+04 ! particle number mass Rhill -1.16574183e+04 !particle radius in m +Body627 1.41726204e+06 2.54448913e+04 ! particle number mass Rhill +1.16574183e+04 !particle radius in AU 2.05268573e+06 -1.13741606e+07 4.03903250e+04 ! x y z 1.88573928e+03 3.30474062e+02 -1.50298053e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -628 1.10954319e+05 1.02376716e+04 ! particle number mass Rhill -7.34881070e+03 !particle radius in m +Body628 1.10954319e+05 1.02376716e+04 ! particle number mass Rhill +7.34881070e+03 !particle radius in AU -1.02805752e+07 -3.59154998e+06 7.79568952e+04 ! x y z 6.27919253e+02 -1.86780226e+03 9.15877947e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -629 8.01558993e+05 1.82236275e+04 ! particle number mass Rhill -9.64045416e+03 !particle radius in m +Body629 8.01558993e+05 1.82236275e+04 ! particle number mass Rhill +9.64045416e+03 !particle radius in AU 1.00209373e+07 1.06957570e+06 -9.24601092e+04 ! x y z -1.95870916e+02 2.03366838e+03 -1.10087708e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -630 1.75219955e+04 8.28328926e+03 ! particle number mass Rhill -3.97219150e+03 !particle radius in m +Body630 1.75219955e+04 8.28328926e+03 ! particle number mass Rhill +3.97219150e+03 !particle radius in AU -1.39517485e+07 8.21883388e+06 7.67623281e+03 ! x y z -8.12327248e+02 -1.40338294e+03 4.18222867e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -631 2.70985262e+05 1.55395340e+04 ! particle number mass Rhill -6.71584845e+03 !particle radius in m +Body631 2.70985262e+05 1.55395340e+04 ! particle number mass Rhill +6.71584845e+03 !particle radius in AU 1.02605370e+07 -6.40538450e+06 2.46021664e+04 ! x y z 9.77968382e+02 1.60990669e+03 -4.31601474e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -632 1.87758694e+05 1.26002769e+04 ! particle number mass Rhill -8.75727541e+03 !particle radius in m +Body632 1.87758694e+05 1.26002769e+04 ! particle number mass Rhill +8.75727541e+03 !particle radius in AU 1.06053206e+07 3.44385915e+06 5.77152912e+04 ! x y z -5.52774107e+02 1.87621696e+03 -1.29609706e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -633 1.91365423e+05 1.35546510e+04 ! particle number mass Rhill -5.98053661e+03 !particle radius in m +Body633 1.91365423e+05 1.35546510e+04 ! particle number mass Rhill +5.98053661e+03 !particle radius in AU -9.64301945e+06 6.86746863e+06 -1.42533659e+05 ! x y z -1.09942559e+03 -1.55528445e+03 -9.72595405e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -634 1.92615451e+06 3.61432544e+04 ! particle number mass Rhill -1.29126696e+04 !particle radius in m +Body634 1.92615451e+06 3.61432544e+04 ! particle number mass Rhill +1.29126696e+04 !particle radius in AU 1.05754125e+06 -1.47420174e+07 -1.54880877e+04 ! x y z 1.69143054e+03 1.16386287e+02 -1.26829716e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -635 1.14971495e+05 9.60186487e+03 ! particle number mass Rhill -5.04640834e+03 !particle radius in m +Body635 1.14971495e+05 9.60186487e+03 ! particle number mass Rhill +5.04640834e+03 !particle radius in AU -3.03537890e+06 9.53552265e+06 9.73685659e+03 ! x y z -1.96823062e+03 -6.23463481e+02 -1.63952204e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -636 8.70999495e+04 8.89007814e+03 ! particle number mass Rhill -4.60035801e+03 !particle radius in m +Body636 8.70999495e+04 8.89007814e+03 ! particle number mass Rhill +4.60035801e+03 !particle radius in AU -9.98694456e+06 -1.23492362e+06 -1.80480653e+04 ! x y z 2.38207036e+02 -2.05532674e+03 1.79734911e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -637 4.81902061e+05 1.55239091e+04 ! particle number mass Rhill -1.19900755e+04 !particle radius in m +Body637 4.81902061e+05 1.55239091e+04 ! particle number mass Rhill +1.19900755e+04 !particle radius in AU -3.74835489e+06 9.22336598e+06 -1.11560816e+05 ! x y z -1.91843216e+03 -7.98271594e+02 2.02049490e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -638 1.73811384e+06 2.38459745e+04 ! particle number mass Rhill -1.24780025e+04 !particle radius in m +Body638 1.73811384e+06 2.38459745e+04 ! particle number mass Rhill +1.24780025e+04 !particle radius in AU -6.68794780e+06 -7.54430362e+06 8.73782978e+03 ! x y z 1.55324620e+03 -1.34364314e+03 -6.31744671e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -639 1.76428878e+06 2.49234046e+04 ! particle number mass Rhill -1.25403278e+04 !particle radius in m +Body639 1.76428878e+06 2.49234046e+04 ! particle number mass Rhill +1.25403278e+04 !particle radius in AU -1.03958383e+07 8.06724680e+05 2.41594570e+04 ! x y z -1.55899964e+02 -2.01914147e+03 9.33842265e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -640 6.25956859e+04 8.38753569e+03 ! particle number mass Rhill -4.12066331e+03 !particle radius in m +Body640 6.25956859e+04 8.38753569e+03 ! particle number mass Rhill +4.12066331e+03 !particle radius in AU 9.33960040e+06 5.20047646e+06 3.07184995e+03 ! x y z -9.59952400e+02 1.75350496e+03 -9.51510094e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -641 1.32721741e+06 2.44443564e+04 ! particle number mass Rhill -1.14051155e+04 !particle radius in m +Body641 1.32721741e+06 2.44443564e+04 ! particle number mass Rhill +1.14051155e+04 !particle radius in AU -4.55852771e+05 1.12982302e+07 1.97139798e+04 ! x y z -1.93821973e+03 -6.36299001e+01 1.52707202e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -642 2.04032003e+05 1.11593688e+04 ! particle number mass Rhill -9.00330067e+03 !particle radius in m +Body642 2.04032003e+05 1.11593688e+04 ! particle number mass Rhill +9.00330067e+03 !particle radius in AU -9.39243710e+06 -4.13852649e+05 -1.20016794e+05 ! x y z 7.29189904e+01 -2.15146169e+03 7.46416116e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -643 8.59933873e+04 1.92500751e+04 ! particle number mass Rhill -6.75031451e+03 !particle radius in m +Body643 8.59933873e+04 1.92500751e+04 ! particle number mass Rhill +6.75031451e+03 !particle radius in AU 1.55420118e+07 -1.56324574e+07 1.17450688e+05 ! x y z 9.80482478e+02 9.89380982e+02 -2.43164132e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -644 4.18672946e+05 1.53732676e+04 ! particle number mass Rhill -1.14409114e+04 !particle radius in m +Body644 4.18672946e+05 1.53732676e+04 ! particle number mass Rhill +1.14409114e+04 !particle radius in AU 1.02533186e+07 8.01360601e+05 -1.49055635e+04 ! x y z -1.71963144e+02 2.04211236e+03 -5.41798226e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -645 3.97979113e+05 1.45162835e+04 ! particle number mass Rhill -7.63377033e+03 !particle radius in m +Body645 3.97979113e+05 1.45162835e+04 ! particle number mass Rhill +7.63377033e+03 !particle radius in AU 1.42914142e+06 9.84981684e+06 2.93564167e+04 ! x y z -2.05268655e+03 3.05405042e+02 3.66863343e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -646 3.58897606e+05 1.28959174e+04 ! particle number mass Rhill -7.37523479e+03 !particle radius in m +Body646 3.58897606e+05 1.28959174e+04 ! particle number mass Rhill +7.37523479e+03 !particle radius in AU 8.46677243e+06 -3.56936745e+06 -1.01092855e+05 ! x y z 8.46329328e+02 1.98233396e+03 -1.20626919e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -647 1.87305363e+05 1.22408175e+04 ! particle number mass Rhill -8.75022177e+03 !particle radius in m +Body647 1.87305363e+05 1.22408175e+04 ! particle number mass Rhill +8.75022177e+03 !particle radius in AU -5.51541812e+06 -9.33328186e+06 -7.53076104e+04 ! x y z 1.69850130e+03 -1.02466912e+03 -1.16108091e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -648 8.78353527e+05 1.98218840e+04 ! particle number mass Rhill -9.93898678e+03 !particle radius in m +Body648 8.78353527e+05 1.98218840e+04 ! particle number mass Rhill +9.93898678e+03 !particle radius in AU 7.91261034e+06 6.82977302e+06 4.78744592e+04 ! x y z -1.31937664e+03 1.53446068e+03 9.71586209e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -649 1.08320847e+06 2.42668498e+04 ! particle number mass Rhill -1.06583427e+04 !particle radius in m +Body649 1.08320847e+06 2.42668498e+04 ! particle number mass Rhill +1.06583427e+04 !particle radius in AU 9.51054870e+06 7.22147752e+06 -1.16155344e+05 ! x y z -1.13247642e+03 1.51634128e+03 7.95619932e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -650 1.35270154e+05 1.12325034e+04 ! particle number mass Rhill -7.85060242e+03 !particle radius in m +Body650 1.35270154e+05 1.12325034e+04 ! particle number mass Rhill +7.85060242e+03 !particle radius in AU 7.56958002e+06 8.18907830e+06 2.90934189e+04 ! x y z -1.41713137e+03 1.33985142e+03 -1.12168107e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -651 2.09089114e+05 1.17143131e+04 ! particle number mass Rhill -6.15974600e+03 !particle radius in m +Body651 2.09089114e+05 1.17143131e+04 ! particle number mass Rhill +6.15974600e+03 !particle radius in AU -6.13341164e+06 7.98589804e+06 -2.27618169e+04 ! x y z -1.62649363e+03 -1.24985675e+03 2.06508812e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -652 1.29236474e+05 1.13728325e+04 ! particle number mass Rhill -5.24703584e+03 !particle radius in m +Body652 1.29236474e+05 1.13728325e+04 ! particle number mass Rhill +5.24703584e+03 !particle radius in AU 6.47073981e+06 -9.41271204e+06 -2.22310124e+04 ! x y z 1.59958848e+03 1.08093374e+03 -3.51035905e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -653 4.13756669e+04 7.58921833e+03 ! particle number mass Rhill -5.28953293e+03 !particle radius in m +Body653 4.13756669e+04 7.58921833e+03 ! particle number mass Rhill +5.28953293e+03 !particle radius in AU 7.87952728e+06 -7.74021482e+06 2.62244560e+04 ! x y z 1.39190993e+03 1.39669667e+03 7.19439783e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -654 5.94352115e+05 1.68404426e+04 ! particle number mass Rhill -8.72569980e+03 !particle radius in m +Body654 5.94352115e+05 1.68404426e+04 ! particle number mass Rhill +8.72569980e+03 !particle radius in AU -7.78608816e+06 6.02791398e+06 3.71436614e+04 ! x y z -1.25856718e+03 -1.69668386e+03 -1.29605210e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -655 1.52103203e+05 1.25614339e+04 ! particle number mass Rhill -5.53985567e+03 !particle radius in m +Body655 1.52103203e+05 1.25614339e+04 ! particle number mass Rhill +5.53985567e+03 !particle radius in AU -6.32210122e+06 -1.01415155e+07 4.88655736e+04 ! x y z 1.63018229e+03 -9.50923090e+02 9.77870783e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -656 2.64701944e+04 5.32014088e+03 ! particle number mass Rhill -4.55779408e+03 !particle radius in m +Body656 2.64701944e+04 5.32014088e+03 ! particle number mass Rhill +4.55779408e+03 !particle radius in AU -6.23576444e+06 6.51367852e+06 -3.41989237e+04 ! x y z -1.58628947e+03 -1.49318367e+03 1.23405417e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -657 1.19869986e+06 2.89826147e+04 ! particle number mass Rhill -1.10244216e+04 !particle radius in m +Body657 1.19869986e+06 2.89826147e+04 ! particle number mass Rhill +1.10244216e+04 !particle radius in AU -1.35500086e+07 -2.26040006e+06 1.32350391e+05 ! x y z 2.64719358e+02 -1.74789986e+03 -5.31947479e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -658 5.10809049e+05 2.07577403e+04 ! particle number mass Rhill -1.22251778e+04 !particle radius in m +Body658 5.10809049e+05 2.07577403e+04 ! particle number mass Rhill +1.22251778e+04 !particle radius in AU 5.77929553e+06 -1.19535178e+07 -7.82666736e+04 ! x y z 1.59619208e+03 7.97360418e+02 -1.29583152e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -659 1.04888884e+05 1.56381634e+04 ! particle number mass Rhill -4.89435521e+03 !particle radius in m +Body659 1.04888884e+05 1.56381634e+04 ! particle number mass Rhill +4.89435521e+03 !particle radius in AU -8.33458476e+06 1.42735479e+07 -3.35627654e+04 ! x y z -1.40045628e+03 -8.13740040e+02 1.03574303e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -660 4.01644782e+05 1.36548342e+04 ! particle number mass Rhill -1.12836524e+04 !particle radius in m +Body660 4.01644782e+05 1.36548342e+04 ! particle number mass Rhill +1.12836524e+04 !particle radius in AU -1.47864055e+06 -9.12632464e+06 1.03294618e+05 ! x y z 2.12785802e+03 -3.89541043e+02 1.51865579e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -661 4.19477357e+05 1.59792919e+04 ! particle number mass Rhill -1.14482340e+04 !particle radius in m +Body661 4.19477357e+05 1.59792919e+04 ! particle number mass Rhill +1.14482340e+04 !particle radius in AU 5.45407329e+06 9.28416293e+06 -1.51509372e+04 ! x y z -1.71334604e+03 1.02205340e+03 -7.65932607e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -662 1.36644703e+06 3.38563695e+04 ! particle number mass Rhill -1.15163962e+04 !particle radius in m +Body662 1.36644703e+06 3.38563695e+04 ! particle number mass Rhill +1.15163962e+04 !particle radius in AU -1.39013045e+07 6.50213463e+06 -1.39734670e+05 ! x y z -7.22290359e+02 -1.50945570e+03 -8.90498950e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -663 1.87180624e+06 3.65317510e+04 ! particle number mass Rhill -1.27900613e+04 !particle radius in m +Body663 1.87180624e+06 3.65317510e+04 ! particle number mass Rhill +1.27900613e+04 !particle radius in AU -9.89641528e+06 -1.11416999e+07 3.81985165e+04 ! x y z 1.26154170e+03 -1.13757778e+03 1.92574173e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -664 4.70045782e+04 8.19622142e+03 ! particle number mass Rhill -3.74540728e+03 !particle radius in m +Body664 4.70045782e+04 8.19622142e+03 ! particle number mass Rhill +3.74540728e+03 !particle radius in AU -3.16815028e+06 1.11329600e+07 6.51690516e+03 ! x y z -1.85087911e+03 -4.88202334e+02 -1.01794725e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -665 4.61420620e+04 7.68428347e+03 ! particle number mass Rhill -3.72235677e+03 !particle radius in m +Body665 4.61420620e+04 7.68428347e+03 ! particle number mass Rhill +3.72235677e+03 !particle radius in AU 1.00049376e+07 4.66630545e+06 -9.44413909e+04 ! x y z -7.94024833e+02 1.77983677e+03 -9.21818189e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -666 4.97025493e+04 1.27990672e+04 ! particle number mass Rhill -3.81573804e+03 !particle radius in m +Body666 4.97025493e+04 1.27990672e+04 ! particle number mass Rhill +3.81573804e+03 !particle radius in AU -1.63493537e+07 6.57692006e+06 6.46813001e+04 ! x y z -5.79515939e+02 -1.44477767e+03 3.27352582e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -667 3.58378458e+05 2.51948596e+04 ! particle number mass Rhill -7.37167696e+03 !particle radius in m +Body667 3.58378458e+05 2.51948596e+04 ! particle number mass Rhill +7.37167696e+03 !particle radius in AU 1.18807783e+07 1.34251951e+07 1.86898768e+05 ! x y z -1.17463975e+03 1.00294171e+03 -4.22564791e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -668 6.54992501e+05 1.99174163e+04 ! particle number mass Rhill -9.01289765e+03 !particle radius in m +Body668 6.54992501e+05 1.99174163e+04 ! particle number mass Rhill +9.01289765e+03 !particle radius in AU 1.11171931e+07 2.90403753e+06 -9.01017188e+04 ! x y z -4.88090453e+02 1.87530119e+03 -9.57682232e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -669 2.59291252e+04 5.76238650e+03 ! particle number mass Rhill -4.52652522e+03 !particle radius in m +Body669 2.59291252e+04 5.76238650e+03 ! particle number mass Rhill +4.52652522e+03 !particle radius in AU 9.73106602e+06 3.61005057e+04 5.94605185e+04 ! x y z -7.45471281e+01 2.10678631e+03 -2.14191842e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -670 4.44029167e+05 1.60304187e+04 ! particle number mass Rhill -1.16673660e+04 !particle radius in m +Body670 4.44029167e+05 1.60304187e+04 ! particle number mass Rhill +1.16673660e+04 !particle radius in AU -2.74202504e+06 -1.01140650e+07 -7.39918641e+04 ! x y z 1.96547738e+03 -5.21963358e+02 1.77687487e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -671 1.56229802e+06 2.17388544e+04 ! particle number mass Rhill -1.20422311e+04 !particle radius in m +Body671 1.56229802e+06 2.17388544e+04 ! particle number mass Rhill +1.20422311e+04 !particle radius in AU 8.00394990e+06 5.03858815e+06 -4.02327990e+04 ! x y z -1.10710067e+03 1.81715883e+03 -6.62734475e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -672 3.13410612e+04 6.63457360e+03 ! particle number mass Rhill -4.82177442e+03 !particle radius in m +Body672 3.13410612e+04 6.63457360e+03 ! particle number mass Rhill +4.82177442e+03 !particle radius in AU 5.34986811e+06 9.22950468e+06 4.90186732e+04 ! x y z -1.74088881e+03 9.82932786e+02 -1.91216218e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -673 1.14711656e+06 2.11708889e+04 ! particle number mass Rhill -1.08639605e+04 !particle radius in m +Body673 1.14711656e+06 2.11708889e+04 ! particle number mass Rhill +1.08639605e+04 !particle radius in AU -8.64795237e+06 5.41831010e+06 1.55017414e+04 ! x y z -1.07745389e+03 -1.74276883e+03 -5.97570489e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -674 1.33569056e+06 2.47878891e+04 ! particle number mass Rhill -1.14293347e+04 !particle radius in m +Body674 1.33569056e+06 2.47878891e+04 ! particle number mass Rhill +1.14293347e+04 !particle radius in AU -1.11663224e+07 -4.36971602e+05 9.93397534e+04 ! x y z 6.60642469e+01 -1.97245979e+03 1.63719711e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -675 5.22768408e+05 1.76798501e+04 ! particle number mass Rhill -1.23198504e+04 !particle radius in m +Body675 5.22768408e+05 1.76798501e+04 ! particle number mass Rhill +1.23198504e+04 !particle radius in AU -8.94315217e+06 -6.59985744e+06 1.41574538e+04 ! x y z 1.12488382e+03 -1.60471763e+03 9.42200485e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -676 9.22658485e+05 3.79266184e+04 ! particle number mass Rhill -1.01033638e+04 !particle radius in m +Body676 9.22658485e+05 3.79266184e+04 ! particle number mass Rhill +1.01033638e+04 !particle radius in AU 1.92430034e+07 -3.89888242e+06 -5.57809830e+04 ! x y z 2.98708757e+02 1.44758503e+03 -4.72165311e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -677 5.75996691e+05 1.70233269e+04 ! particle number mass Rhill -1.27245467e+04 !particle radius in m +Body677 5.75996691e+05 1.70233269e+04 ! particle number mass Rhill +1.27245467e+04 !particle radius in AU 8.73120403e+06 5.22305398e+06 7.59670115e+04 ! x y z -1.07719201e+03 1.76393373e+03 -6.61792923e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -678 5.71947858e+05 1.96600395e+04 ! particle number mass Rhill -1.26946618e+04 !particle radius in m +Body678 5.71947858e+05 1.96600395e+04 ! particle number mass Rhill +1.26946618e+04 !particle radius in AU 1.09108942e+07 -4.65832942e+06 -4.02366251e+03 ! x y z 7.47562985e+02 1.75464824e+03 8.16488922e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -679 5.28161894e+05 1.94274851e+04 ! particle number mass Rhill -8.38895796e+03 !particle radius in m +Body679 5.28161894e+05 1.94274851e+04 ! particle number mass Rhill +8.38895796e+03 !particle radius in AU 5.82034293e+06 1.07112512e+07 7.55785697e+03 ! x y z -1.63892001e+03 9.00112405e+02 -1.94858021e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -680 8.20834071e+05 2.14712890e+04 ! particle number mass Rhill -9.71711751e+03 !particle radius in m +Body680 8.20834071e+05 2.14712890e+04 ! particle number mass Rhill +9.71711751e+03 !particle radius in AU 6.68559809e+06 9.37557356e+06 -1.92332279e+03 ! x y z -1.58295492e+03 1.11037420e+03 1.83307218e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -681 1.08447117e+06 2.11115029e+04 ! particle number mass Rhill -1.06624826e+04 !particle radius in m +Body681 1.08447117e+06 2.11115029e+04 ! particle number mass Rhill +1.06624826e+04 !particle radius in AU -3.28943607e+06 9.87837716e+06 6.05814516e+04 ! x y z -1.92629942e+03 -6.22180329e+02 4.50728559e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -682 2.23235040e+05 1.56024415e+04 ! particle number mass Rhill -9.27733226e+03 !particle radius in m +Body682 2.23235040e+05 1.56024415e+04 ! particle number mass Rhill +9.27733226e+03 !particle radius in AU -6.01449513e+06 1.14226051e+07 3.09092202e+04 ! x y z -1.62789379e+03 -8.28450934e+02 6.54251208e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -683 1.30254310e+06 3.24724800e+04 ! particle number mass Rhill -1.13339954e+04 !particle radius in m +Body683 1.30254310e+06 3.24724800e+04 ! particle number mass Rhill +1.13339954e+04 !particle radius in AU 1.46501935e+07 3.52597046e+06 -1.53479325e+05 ! x y z -3.94464542e+02 1.63555361e+03 -6.95224479e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -684 1.95412793e+06 2.31733397e+04 ! particle number mass Rhill -1.29748793e+04 !particle radius in m +Body684 1.95412793e+06 2.31733397e+04 ! particle number mass Rhill +1.29748793e+04 !particle radius in AU 7.30587232e+06 5.82342150e+06 -1.66262680e+04 ! x y z -1.33758368e+03 1.67374780e+03 1.03808342e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -685 1.68178718e+05 1.50274136e+04 ! particle number mass Rhill -5.72852320e+03 !particle radius in m +Body685 1.68178718e+05 1.50274136e+04 ! particle number mass Rhill +5.72852320e+03 !particle radius in AU -8.28665070e+06 -1.08630233e+07 1.59771667e+04 ! x y z 1.42279548e+03 -1.06221837e+03 -1.00287654e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -686 1.56736892e+06 2.06563247e+04 ! particle number mass Rhill -1.20552459e+04 !particle radius in m +Body686 1.56736892e+06 2.06563247e+04 ! particle number mass Rhill +1.20552459e+04 !particle radius in AU -8.85367709e+06 1.92824073e+06 -5.71899980e+04 ! x y z -4.56904898e+02 -2.11490226e+03 1.50573635e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -687 1.67530420e+06 4.40637058e+04 ! particle number mass Rhill -1.23258503e+04 !particle radius in m +Body687 1.67530420e+06 4.40637058e+04 ! particle number mass Rhill +1.23258503e+04 !particle radius in AU -6.98192323e+06 -1.72685946e+07 7.38110386e+04 ! x y z 1.40350544e+03 -5.84590529e+02 -9.01131651e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -688 6.48230629e+04 1.15040206e+04 ! particle number mass Rhill -6.14344779e+03 !particle radius in m +Body688 6.48230629e+04 1.15040206e+04 ! particle number mass Rhill +6.14344779e+03 !particle radius in AU 1.43686835e+07 2.23609646e+06 2.55670087e+04 ! x y z -2.46269150e+02 1.69322706e+03 -3.07491540e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -689 1.18006420e+05 1.31163742e+04 ! particle number mass Rhill -7.50131728e+03 !particle radius in m +Body689 1.18006420e+05 1.31163742e+04 ! particle number mass Rhill +7.50131728e+03 !particle radius in AU 7.08335501e+06 1.12432588e+07 -7.04507229e+04 ! x y z -1.52929946e+03 9.66536263e+02 -2.79918979e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -690 5.89726347e+05 1.92317821e+04 ! particle number mass Rhill -8.70300381e+03 !particle radius in m +Body690 5.89726347e+05 1.92317821e+04 ! particle number mass Rhill +8.70300381e+03 !particle radius in AU -4.60069395e+06 1.05653500e+07 1.04296802e+05 ! x y z -1.76684768e+03 -7.81938520e+02 -2.29915803e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -691 1.66067349e+05 9.76086023e+03 ! particle number mass Rhill -8.40614880e+03 !particle radius in m +Body691 1.66067349e+05 9.76086023e+03 ! particle number mass Rhill +8.40614880e+03 !particle radius in AU 8.19262513e+06 -3.58191579e+06 -3.30652024e+04 ! x y z 8.70670545e+02 2.01088754e+03 -5.27792880e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -692 1.66578274e+06 2.28512672e+04 ! particle number mass Rhill -1.23024549e+04 !particle radius in m +Body692 1.66578274e+06 2.28512672e+04 ! particle number mass Rhill +1.23024549e+04 !particle radius in AU 3.89494213e+06 9.08725205e+06 -2.39743102e+04 ! x y z -1.90805368e+03 7.88330663e+02 -9.72060594e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -693 2.75553436e+05 1.29675108e+04 ! particle number mass Rhill -6.75337616e+03 !particle radius in m +Body693 2.75553436e+05 1.29675108e+04 ! particle number mass Rhill +6.75337616e+03 !particle radius in AU 2.21339346e+06 9.86538825e+06 -8.87149741e+04 ! x y z -2.00534067e+03 4.38594263e+02 1.01837964e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -694 1.58042369e+06 2.97786830e+04 ! particle number mass Rhill -1.20886232e+04 !particle radius in m +Body694 1.58042369e+06 2.97786830e+04 ! particle number mass Rhill +1.20886232e+04 !particle radius in AU 4.10968486e+06 1.23907663e+07 5.33325146e+04 ! x y z -1.71807002e+03 5.39202987e+02 -6.19076268e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -695 1.17439408e+06 2.25449191e+04 ! particle number mass Rhill -1.09493990e+04 !particle radius in m +Body695 1.17439408e+06 2.25449191e+04 ! particle number mass Rhill +1.09493990e+04 !particle radius in AU 1.04073429e+07 2.67129136e+06 9.54333931e+04 ! x y z -5.09495924e+02 1.93427487e+03 8.54877840e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -696 1.75679624e+04 5.32794441e+03 ! particle number mass Rhill -3.97566200e+03 !particle radius in m +Body696 1.75679624e+04 5.32794441e+03 ! particle number mass Rhill +3.97566200e+03 !particle radius in AU -4.09255175e+06 -9.53753075e+06 -7.50959611e+04 ! x y z 1.86269642e+03 -8.02231358e+02 -1.43161769e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -697 8.69972966e+04 9.34087903e+03 ! particle number mass Rhill -4.59855003e+03 !particle radius in m +Body697 8.69972966e+04 9.34087903e+03 ! particle number mass Rhill +4.59855003e+03 !particle radius in AU 4.36723976e+06 -9.66553779e+06 -1.64558916e+04 ! x y z 1.84776304e+03 7.98021641e+02 5.78355557e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -698 7.00972644e+05 1.56666319e+04 ! particle number mass Rhill -9.21904680e+03 !particle radius in m +Body698 7.00972644e+05 1.56666319e+04 ! particle number mass Rhill +9.21904680e+03 !particle radius in AU 8.53951718e+06 -2.54525107e+06 -7.04047773e+04 ! x y z 6.28921216e+02 2.09901050e+03 1.15726955e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -699 1.85068625e+05 1.06514155e+04 ! particle number mass Rhill -8.71525146e+03 !particle radius in m +Body699 1.85068625e+05 1.06514155e+04 ! particle number mass Rhill +8.71525146e+03 !particle radius in AU 7.32788955e+06 -5.94137181e+06 -9.04304047e+04 ! x y z 1.34115379e+03 1.65561581e+03 7.08036612e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -700 1.64555559e+06 2.75816878e+04 ! particle number mass Rhill -1.22524569e+04 !particle radius in m +Body700 1.64555559e+06 2.75816878e+04 ! particle number mass Rhill +1.22524569e+04 !particle radius in AU 6.71737923e+06 9.71600170e+06 5.06660922e+04 ! x y z -1.56559808e+03 1.08107605e+03 -6.49532539e-03 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -701 4.44681643e+04 6.91447687e+03 ! particle number mass Rhill -5.41816288e+03 !particle radius in m +Body701 4.44681643e+04 6.91447687e+03 ! particle number mass Rhill +5.41816288e+03 !particle radius in AU -7.03605741e+06 6.85389332e+06 -2.57563829e+04 ! x y z -1.44734013e+03 -1.50933987e+03 1.28526631e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -702 2.37900687e+05 2.57634462e+04 ! particle number mass Rhill -6.43059110e+03 !particle radius in m +Body702 2.37900687e+05 2.57634462e+04 ! particle number mass Rhill +6.43059110e+03 !particle radius in AU 1.83405474e+07 1.00792626e+07 -9.20229382e+04 ! x y z -7.18799940e+02 1.23921438e+03 2.48945179e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -703 4.03986391e+05 2.67988920e+04 ! particle number mass Rhill -7.67198789e+03 !particle radius in m +Body703 4.03986391e+05 2.67988920e+04 ! particle number mass Rhill +7.67198789e+03 !particle radius in AU 5.23940562e+06 1.75022888e+07 -5.98430417e+04 ! x y z -1.46565915e+03 4.46482377e+02 2.11785409e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -704 2.27436221e+05 2.00836512e+04 ! particle number mass Rhill -9.33516932e+03 !particle radius in m +Body704 2.27436221e+05 2.00836512e+04 ! particle number mass Rhill +9.33516932e+03 !particle radius in AU 1.19175118e+07 -1.16543017e+07 5.30530426e+04 ! x y z 1.10958275e+03 1.15270442e+03 5.72450113e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -705 1.34616193e+05 9.58458254e+03 ! particle number mass Rhill -7.83793078e+03 !particle radius in m +Body705 1.34616193e+05 9.58458254e+03 ! particle number mass Rhill +7.83793078e+03 !particle radius in AU -8.96838687e+06 2.63897043e+06 -2.17897557e+04 ! x y z -6.07622874e+02 -2.06310065e+03 -4.59651947e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -706 8.29093112e+04 7.90970502e+03 ! particle number mass Rhill -6.66863210e+03 !particle radius in m +Body706 8.29093112e+04 7.90970502e+03 ! particle number mass Rhill +6.66863210e+03 !particle radius in AU -6.04898231e+06 -6.86358884e+06 5.57406610e+04 ! x y z 1.61956515e+03 -1.43598669e+03 -4.59300568e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -707 4.94658353e+05 2.13714758e+04 ! particle number mass Rhill -1.20949508e+04 !particle radius in m +Body707 4.94658353e+05 2.13714758e+04 ! particle number mass Rhill +1.20949508e+04 !particle radius in AU 7.90216623e+06 -1.09814809e+07 5.19189450e+04 ! x y z 1.45343692e+03 1.03872925e+03 -2.28298311e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -708 5.59751529e+05 2.13961827e+04 ! particle number mass Rhill -1.26037782e+04 !particle radius in m +Body708 5.59751529e+05 2.13961827e+04 ! particle number mass Rhill +1.26037782e+04 !particle radius in AU 9.57669296e+05 -1.30387879e+07 7.61951879e+04 ! x y z 1.80738232e+03 1.29379874e+02 -1.14266147e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -709 2.32161522e+05 1.09798583e+04 ! particle number mass Rhill -9.39937703e+03 !particle radius in m +Body709 2.32161522e+05 1.09798583e+04 ! particle number mass Rhill +9.39937703e+03 !particle radius in AU -2.70230310e+06 8.62076168e+06 -2.22406079e+04 ! x y z -2.07446913e+03 -6.54424485e+02 -1.11116533e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -710 8.51578135e+05 3.19875457e+04 ! particle number mass Rhill -9.83695076e+03 !particle radius in m +Body710 8.51578135e+05 3.19875457e+04 ! particle number mass Rhill +9.83695076e+03 !particle radius in AU -3.80463073e+06 -1.65753622e+07 1.47762416e+04 ! x y z 1.54780534e+03 -3.56129540e+02 4.67798248e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -711 5.54965655e+05 3.39543973e+04 ! particle number mass Rhill -1.25677546e+04 !particle radius in m +Body711 5.54965655e+05 3.39543973e+04 ! particle number mass Rhill +1.25677546e+04 !particle radius in AU 1.97818140e+07 7.24503831e+06 4.34973562e+04 ! x y z -5.06413028e+02 1.32512350e+03 5.73956860e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -712 8.92177097e+04 1.22056341e+04 ! particle number mass Rhill -4.63734443e+03 !particle radius in m +Body712 8.92177097e+04 1.22056341e+04 ! particle number mass Rhill +4.63734443e+03 !particle radius in AU -2.79050068e+06 -1.34910639e+07 4.33089266e+04 ! x y z 1.72889764e+03 -3.49089932e+02 -1.94775120e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -713 3.32358618e+05 2.30395556e+04 ! particle number mass Rhill -1.05934634e+04 !particle radius in m +Body713 3.32358618e+05 2.30395556e+04 ! particle number mass Rhill +1.05934634e+04 !particle radius in AU 1.07844804e+07 1.29386712e+07 2.64893081e+04 ! x y z -1.21296556e+03 1.03104861e+03 -8.93637679e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -714 4.15254441e+05 2.22015490e+04 ! particle number mass Rhill -7.74266422e+03 !particle radius in m +Body714 4.15254441e+05 2.22015490e+04 ! particle number mass Rhill +7.74266422e+03 !particle radius in AU -1.47784670e+07 -2.60738447e+06 1.11630430e+05 ! x y z 3.23911460e+02 -1.65880207e+03 4.54571842e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -715 1.73496502e+04 6.81252754e+03 ! particle number mass Rhill -3.95912515e+03 !particle radius in m +Body715 1.73496502e+04 6.81252754e+03 ! particle number mass Rhill +3.95912515e+03 !particle radius in AU 5.07682372e+05 -1.30372405e+07 -1.85229557e+04 ! x y z 1.82615720e+03 7.82099311e+01 -4.18927265e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -716 3.20070305e+05 1.71800786e+04 ! particle number mass Rhill -7.09905909e+03 !particle radius in m +Body716 3.20070305e+05 1.71800786e+04 ! particle number mass Rhill +7.09905909e+03 !particle radius in AU -1.18244362e+07 -4.31687046e+06 -7.18542331e+04 ! x y z 6.12658121e+02 -1.74672302e+03 1.21397025e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -717 2.16371552e+04 4.94621352e+03 ! particle number mass Rhill -4.26156427e+03 !particle radius in m +Body717 2.16371552e+04 4.94621352e+03 ! particle number mass Rhill +4.26156427e+03 !particle radius in AU -3.54824820e+06 -8.30536307e+06 -8.90981624e+03 ! x y z 1.97998336e+03 -8.85057403e+02 -2.11344381e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -718 3.59986321e+05 1.29702906e+04 ! particle number mass Rhill -1.08792174e+04 !particle radius in m +Body718 3.59986321e+05 1.29702906e+04 ! particle number mass Rhill +1.08792174e+04 !particle radius in AU 1.62346436e+06 -8.92811589e+06 -3.60195557e+03 ! x y z 2.15086991e+03 3.98636159e+02 2.48432648e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -719 1.81690903e+05 1.91798357e+04 ! particle number mass Rhill -5.87800644e+03 !particle radius in m +Body719 1.81690903e+05 1.91798357e+04 ! particle number mass Rhill +5.87800644e+03 !particle radius in AU -1.15733556e+07 -1.25115260e+07 1.46624511e+04 ! x y z 1.15579598e+03 -1.08828537e+03 -2.12261933e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -720 6.36173833e+04 8.62559658e+03 ! particle number mass Rhill -4.14296182e+03 !particle radius in m +Body720 6.36173833e+04 8.62559658e+03 ! particle number mass Rhill +4.14296182e+03 !particle radius in AU -1.08417724e+07 1.69081263e+06 7.24119490e+04 ! x y z -3.09034576e+02 -1.94519167e+03 -3.85658993e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -721 9.85820129e+04 1.07326421e+04 ! particle number mass Rhill -4.79422292e+03 !particle radius in m +Body721 9.85820129e+04 1.07326421e+04 ! particle number mass Rhill +4.79422292e+03 !particle radius in AU 3.49544878e+05 1.19517692e+07 2.11344945e+04 ! x y z -1.87363529e+03 3.53402969e+01 5.71853498e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -722 8.86166379e+05 1.88205307e+04 ! particle number mass Rhill -9.96836855e+03 !particle radius in m +Body722 8.86166379e+05 1.88205307e+04 ! particle number mass Rhill +9.96836855e+03 !particle radius in AU -6.32504194e+06 7.74988563e+06 -3.04663654e+04 ! x y z -1.60640404e+03 -1.28494821e+03 3.03961828e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -723 5.42657230e+05 3.02219608e+04 ! particle number mass Rhill -8.46501102e+03 !particle radius in m +Body723 5.42657230e+05 3.02219608e+04 ! particle number mass Rhill +8.46501102e+03 !particle radius in AU -1.24177769e+07 -1.38486640e+07 -1.01520582e+04 ! x y z 1.15690921e+03 -9.88251041e+02 4.69156127e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -724 1.59565082e+06 2.53217734e+04 ! particle number mass Rhill -1.21273232e+04 !particle radius in m +Body724 1.59565082e+06 2.53217734e+04 ! particle number mass Rhill +1.21273232e+04 !particle radius in AU 1.03771542e+07 -3.70291911e+06 1.08877147e+04 ! x y z 6.25781397e+02 1.86199758e+03 -8.89718339e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -725 3.81576526e+04 6.36454510e+03 ! particle number mass Rhill -5.14868362e+03 !particle radius in m +Body725 3.81576526e+04 6.36454510e+03 ! particle number mass Rhill +5.14868362e+03 !particle radius in AU -4.66823976e+06 -8.26435407e+06 2.26583539e+04 ! x y z 1.84983887e+03 -1.05552707e+03 1.56706480e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -726 2.64710080e+04 5.28483057e+03 ! particle number mass Rhill -4.55784078e+03 !particle radius in m +Body726 2.64710080e+04 5.28483057e+03 ! particle number mass Rhill +4.55784078e+03 !particle radius in AU 4.62468583e+06 7.54223542e+06 -1.61944374e+04 ! x y z -1.87648989e+03 1.17295601e+03 -5.20044045e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -727 1.71022032e+06 2.13948145e+04 ! particle number mass Rhill -1.24108926e+04 !particle radius in m +Body727 1.71022032e+06 2.13948145e+04 ! particle number mass Rhill +1.24108926e+04 !particle radius in AU -8.12608230e+06 -4.37306608e+06 -9.62736144e+03 ! x y z 9.87984575e+02 -1.88769371e+03 1.06882012e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -728 7.56089690e+05 4.18623276e+04 ! particle number mass Rhill -9.45460600e+03 !particle radius in m +Body728 7.56089690e+05 4.18623276e+04 ! particle number mass Rhill +9.45460600e+03 !particle radius in AU -2.34951111e+05 2.32053308e+07 -5.22036528e+04 ! x y z -1.35813181e+03 9.03958337e+00 -3.15567273e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -729 2.60550722e+05 1.37320616e+04 ! particle number mass Rhill -9.76786728e+03 !particle radius in m +Body729 2.60550722e+05 1.37320616e+04 ! particle number mass Rhill +9.76786728e+03 !particle radius in AU -6.52967648e+06 8.82305239e+06 -1.26732573e+04 ! x y z -1.57282686e+03 -1.17622288e+03 1.39580799e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -730 3.33261162e+05 1.31329711e+04 ! particle number mass Rhill -1.06030438e+04 !particle radius in m +Body730 3.33261162e+05 1.31329711e+04 ! particle number mass Rhill +1.06030438e+04 !particle radius in AU 1.77913234e+06 9.53045041e+06 3.10075017e+04 ! x y z -2.05302630e+03 3.75004563e+02 1.58931971e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -731 5.49460357e+05 1.66040779e+04 ! particle number mass Rhill -1.25260587e+04 !particle radius in m +Body731 5.49460357e+05 1.66040779e+04 ! particle number mass Rhill +1.25260587e+04 !particle radius in AU 3.58717818e+06 9.36647195e+06 -1.97615013e+04 ! x y z -1.96178925e+03 7.11373199e+02 -1.26706515e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -732 4.50004217e+05 2.30855383e+04 ! particle number mass Rhill -7.95288174e+03 !particle radius in m +Body732 4.50004217e+05 2.30855383e+04 ! particle number mass Rhill +7.95288174e+03 !particle radius in AU -2.59234296e+06 -1.50157233e+07 4.00646737e+04 ! x y z 1.65438833e+03 -2.60173941e+02 1.23164306e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -733 3.30247748e+05 1.24337133e+04 ! particle number mass Rhill -7.17351953e+03 !particle radius in m +Body733 3.30247748e+05 1.24337133e+04 ! particle number mass Rhill +7.17351953e+03 !particle radius in AU 9.06239327e+06 9.91334627e+05 -4.75445475e+03 ! x y z -2.74588769e+02 2.14560267e+03 -4.58665348e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -734 6.14206894e+05 1.88121660e+04 ! particle number mass Rhill -1.29999162e+04 !particle radius in m +Body734 6.14206894e+05 1.88121660e+04 ! particle number mass Rhill +1.29999162e+04 !particle radius in AU -1.32275910e+06 1.11815578e+07 -3.52932928e+04 ! x y z -1.92926562e+03 -2.26736828e+02 1.12692641e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -735 9.59808281e+05 2.28332821e+04 ! particle number mass Rhill -1.02371836e+04 !particle radius in m +Body735 9.59808281e+05 2.28332821e+04 ! particle number mass Rhill +1.02371836e+04 !particle radius in AU -1.18507495e+07 5.08791326e+05 -4.16400253e+03 ! x y z -1.21704217e+02 -1.88175671e+03 1.06233149e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -736 1.34519144e+06 2.13695367e+04 ! particle number mass Rhill -1.14563699e+04 !particle radius in m +Body736 1.34519144e+06 2.13695367e+04 ! particle number mass Rhill +1.14563699e+04 !particle radius in AU 9.66851157e+06 -1.73226908e+06 -1.69082214e+04 ! x y z 3.88627413e+02 2.04608590e+03 -8.98008156e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -737 5.80790318e+05 1.56482626e+04 ! particle number mass Rhill -8.65882148e+03 !particle radius in m +Body737 5.80790318e+05 1.56482626e+04 ! particle number mass Rhill +8.65882148e+03 !particle radius in AU -2.00783480e+06 -9.30718645e+06 -7.65374580e+04 ! x y z 2.06366212e+03 -4.61769702e+02 1.50556810e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -738 6.02079310e+05 2.30422564e+04 ! particle number mass Rhill -1.29137852e+04 !particle radius in m +Body738 6.02079310e+05 2.30422564e+04 ! particle number mass Rhill +1.29137852e+04 !particle radius in AU 5.63016627e+05 1.37971202e+07 -5.96323274e+04 ! x y z -1.75809500e+03 5.38503245e+01 5.31257797e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -739 5.42061151e+05 1.48525518e+04 ! particle number mass Rhill -1.24695778e+04 !particle radius in m +Body739 5.42061151e+05 1.48525518e+04 ! particle number mass Rhill +1.24695778e+04 !particle radius in AU 9.16922325e+06 -9.63000174e+05 -3.41255650e+02 ! x y z 2.26283177e+02 2.14046849e+03 -4.83048073e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -740 2.78318107e+04 5.46611848e+03 ! particle number mass Rhill -4.63464147e+03 !particle radius in m +Body740 2.78318107e+04 5.46611848e+03 ! particle number mass Rhill +4.63464147e+03 !particle radius in AU -8.86805151e+06 1.17556708e+06 5.29953219e+04 ! x y z -2.96347767e+02 -2.18707052e+03 -3.03941376e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -741 6.59733293e+05 1.67907799e+04 ! particle number mass Rhill -9.03459031e+03 !particle radius in m +Body741 6.59733293e+05 1.67907799e+04 ! particle number mass Rhill +9.03459031e+03 !particle radius in AU 9.02199722e+06 -3.39632005e+06 -7.08544393e+04 ! x y z 7.55874214e+02 1.97860482e+03 5.10133054e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -742 2.80747909e+05 1.40507857e+04 ! particle number mass Rhill -6.79554835e+03 !particle radius in m +Body742 2.80747909e+05 1.40507857e+04 ! particle number mass Rhill +6.79554835e+03 !particle radius in AU -3.33406678e+06 -1.03746123e+07 -4.13492713e+04 ! x y z 1.88884845e+03 -5.81374899e+02 2.44002419e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -743 2.28483670e+04 5.06103373e+03 ! particle number mass Rhill -4.33964341e+03 !particle radius in m +Body743 2.28483670e+04 5.06103373e+03 ! particle number mass Rhill +4.33964341e+03 !particle radius in AU 8.47272017e+06 -3.29574857e+06 4.59089313e+04 ! x y z 8.07908043e+02 2.00285924e+03 2.30278431e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -744 9.46503858e+04 1.78360446e+04 ! particle number mass Rhill -6.96963100e+03 !particle radius in m +Body744 9.46503858e+04 1.78360446e+04 ! particle number mass Rhill +6.96963100e+03 !particle radius in AU -1.10174017e+07 -1.65843431e+07 -7.81778692e+04 ! x y z 1.22711770e+03 -7.92668746e+02 1.28964786e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -745 3.24229460e+04 1.28254788e+04 ! particle number mass Rhill -4.87663009e+03 !particle radius in m +Body745 3.24229460e+04 1.28254788e+04 ! particle number mass Rhill +4.87663009e+03 !particle radius in AU -6.99704994e+06 -1.88546711e+07 -8.81519961e+04 ! x y z 1.37622550e+03 -5.05609550e+02 1.32065962e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -746 6.21305241e+05 1.84865539e+04 ! particle number mass Rhill -8.85565460e+03 !particle radius in m +Body746 6.21305241e+05 1.84865539e+04 ! particle number mass Rhill +8.85565460e+03 !particle radius in AU 3.37171440e+06 -1.03724491e+07 -2.05908462e+04 ! x y z 1.89249257e+03 5.96290076e+02 -1.16901986e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -747 8.17269222e+05 1.75757835e+04 ! particle number mass Rhill -9.70303009e+03 !particle radius in m +Body747 8.17269222e+05 1.75757835e+04 ! particle number mass Rhill +9.70303009e+03 !particle radius in AU 8.68817648e+05 -9.37137391e+06 -9.78603362e+04 ! x y z 2.13443213e+03 1.77136355e+02 -1.05898656e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -748 2.98673667e+05 1.25389375e+04 ! particle number mass Rhill -1.02227553e+04 !particle radius in m +Body748 2.98673667e+05 1.25389375e+04 ! particle number mass Rhill +1.02227553e+04 !particle radius in AU -8.20639456e+06 4.88393438e+06 3.93769452e+04 ! x y z -1.09602043e+03 -1.80139112e+03 -5.09189684e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -749 4.77953094e+05 2.64495594e+04 ! particle number mass Rhill -1.19572346e+04 !particle radius in m +Body749 4.77953094e+05 2.64495594e+04 ! particle number mass Rhill +1.19572346e+04 !particle radius in AU -2.98729202e+06 -1.69982812e+07 -1.00361471e+02 ! x y z 1.54074333e+03 -2.84642833e+02 -7.12483576e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -750 1.21345497e+06 4.02215962e+04 ! particle number mass Rhill -1.10694715e+04 !particle radius in m +Body750 1.21345497e+06 4.02215962e+04 ! particle number mass Rhill +1.10694715e+04 !particle radius in AU -1.87997669e+07 -2.87235850e+06 6.06981762e+04 ! x y z 2.30253048e+02 -1.48355775e+03 -3.20628055e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -751 1.43803514e+06 3.52381307e+04 ! particle number mass Rhill -1.17140974e+04 !particle radius in m +Body751 1.43803514e+06 3.52381307e+04 ! particle number mass Rhill +1.17140974e+04 !particle radius in AU -1.67195966e+06 1.53840879e+07 1.17823799e+05 ! x y z -1.66924292e+03 -1.76106009e+02 2.19585908e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -752 1.81470570e+06 2.16051568e+04 ! particle number mass Rhill -1.26586599e+04 !particle radius in m +Body752 1.81470570e+06 2.16051568e+04 ! particle number mass Rhill +1.26586599e+04 !particle radius in AU 7.45254418e+06 4.82823148e+06 -5.06675552e+03 ! x y z -1.22839592e+03 1.82946634e+03 -1.27029622e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -753 3.06193303e+05 1.20424743e+04 ! particle number mass Rhill -6.99494374e+03 !particle radius in m +Body753 3.06193303e+05 1.20424743e+04 ! particle number mass Rhill +6.99494374e+03 !particle radius in AU 5.13959627e+06 7.44700588e+06 5.03758086e+04 ! x y z -1.79330931e+03 1.22535892e+03 -1.02427731e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -754 3.35631376e+05 1.54633731e+04 ! particle number mass Rhill -7.21229000e+03 !particle radius in m +Body754 3.35631376e+05 1.54633731e+04 ! particle number mass Rhill +7.21229000e+03 !particle radius in AU 9.58649389e+06 5.81253530e+06 -4.39352546e+04 ! x y z -9.88086375e+02 1.68843459e+03 -9.34405959e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -755 3.34952432e+05 1.22268510e+04 ! particle number mass Rhill -1.06209501e+04 !particle radius in m +Body755 3.34952432e+05 1.22268510e+04 ! particle number mass Rhill +1.06209501e+04 !particle radius in AU 5.07070035e+06 7.32312120e+06 7.18562589e+04 ! x y z -1.79677644e+03 1.25238618e+03 1.64235819e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -756 3.94174646e+05 1.59516652e+04 ! particle number mass Rhill -7.60936749e+03 !particle radius in m +Body756 3.94174646e+05 1.59516652e+04 ! particle number mass Rhill +7.60936749e+03 !particle radius in AU 1.19404056e+06 1.08877947e+07 5.88658821e+03 ! x y z -1.96662575e+03 2.29281553e+02 -1.48568063e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -757 1.59693575e+06 2.44927303e+04 ! particle number mass Rhill -1.21305775e+04 !particle radius in m +Body757 1.59693575e+06 2.44927303e+04 ! particle number mass Rhill +1.21305775e+04 !particle radius in AU -9.84021278e+06 -3.40002026e+06 -6.17065432e+04 ! x y z 7.02356760e+02 -1.91960378e+03 8.28806476e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -758 1.60650171e+05 1.45895772e+04 ! particle number mass Rhill -5.64173558e+03 !particle radius in m +Body758 1.60650171e+05 1.45895772e+04 ! particle number mass Rhill +5.64173558e+03 !particle radius in AU 8.38364229e+06 -1.08052974e+07 -1.14971163e+05 ! x y z 1.41362762e+03 1.05030477e+03 1.33062848e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -759 6.68743952e+04 7.54209796e+03 ! particle number mass Rhill -4.21249068e+03 !particle radius in m +Body759 6.68743952e+04 7.54209796e+03 ! particle number mass Rhill +4.21249068e+03 !particle radius in AU 4.30913199e+06 8.44003978e+06 1.98375727e+04 ! x y z -1.87920775e+03 9.70144357e+02 7.68922870e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -760 1.63778812e+05 1.25082506e+04 ! particle number mass Rhill -8.36735565e+03 !particle radius in m +Body760 1.63778812e+05 1.25082506e+04 ! particle number mass Rhill +8.36735565e+03 !particle radius in AU 9.34254133e+06 -6.72471094e+06 3.04479801e+03 ! x y z 1.13048626e+03 1.56587434e+03 1.26328276e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -761 8.89219951e+04 7.98740603e+03 ! particle number mass Rhill -6.82609072e+03 !particle radius in m +Body761 8.89219951e+04 7.98740603e+03 ! particle number mass Rhill +6.82609072e+03 !particle radius in AU -3.94216440e+06 -8.13811187e+06 -2.32415480e+03 ! x y z 1.94483188e+03 -9.74054123e+02 6.56681455e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -762 8.18294712e+05 1.67752433e+04 ! particle number mass Rhill -9.70708677e+03 !particle radius in m +Body762 8.18294712e+05 1.67752433e+04 ! particle number mass Rhill +9.70708677e+03 !particle radius in AU 5.41429391e+06 -7.20522578e+06 5.41382285e+04 ! x y z 1.73021941e+03 1.33390146e+03 1.43673569e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -763 1.13372094e+06 2.57587973e+04 ! particle number mass Rhill -1.08215064e+04 !particle radius in m +Body763 1.13372094e+06 2.57587973e+04 ! particle number mass Rhill +1.08215064e+04 !particle radius in AU -3.58069142e+06 -1.18639900e+07 -2.98112201e+04 ! x y z 1.80063833e+03 -4.84660340e+02 -1.10025267e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -764 9.88108923e+04 9.31725739e+03 ! particle number mass Rhill -7.07029058e+03 !particle radius in m +Body764 9.88108923e+04 9.31725739e+03 ! particle number mass Rhill +7.07029058e+03 !particle radius in AU 5.06214806e+06 -8.79684921e+06 -6.69408163e+03 ! x y z 1.77899792e+03 1.03185242e+03 -6.99222338e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -765 2.18552963e+05 1.38592334e+04 ! particle number mass Rhill -6.25131279e+03 !particle radius in m +Body765 2.18552963e+05 1.38592334e+04 ! particle number mass Rhill +6.25131279e+03 !particle radius in AU 2.20528884e+06 -1.13497157e+07 1.23709451e+05 ! x y z 1.88518956e+03 4.07847130e+02 -1.21144069e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -766 3.09768312e+05 1.34561528e+04 ! particle number mass Rhill -7.02206200e+03 !particle radius in m +Body766 3.09768312e+05 1.34561528e+04 ! particle number mass Rhill +7.02206200e+03 !particle radius in AU 5.73341973e+06 -8.10327163e+06 -2.40301967e+04 ! x y z 1.67706223e+03 1.24499901e+03 -1.26631178e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -767 2.37144880e+05 1.11764593e+04 ! particle number mass Rhill -9.46615418e+03 !particle radius in m +Body767 2.37144880e+05 1.11764593e+04 ! particle number mass Rhill +9.46615418e+03 !particle radius in AU -4.07741467e+06 -8.18369428e+06 -3.25211280e+04 ! x y z 1.94858682e+03 -9.33976298e+02 3.19344234e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -768 1.14893098e+06 1.92849652e+04 ! particle number mass Rhill -1.08696854e+04 !particle radius in m +Body768 1.14893098e+06 1.92849652e+04 ! particle number mass Rhill +1.08696854e+04 !particle radius in AU 6.06888001e+06 6.98255626e+06 -6.90089903e+03 ! x y z -1.60191111e+03 1.44385639e+03 1.12490936e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -769 3.63529512e+05 1.26225183e+04 ! particle number mass Rhill -7.40682734e+03 !particle radius in m +Body769 3.63529512e+05 1.26225183e+04 ! particle number mass Rhill +7.40682734e+03 !particle radius in AU -1.97618366e+06 8.86960314e+06 4.14824140e+04 ! x y z -2.09949361e+03 -4.69720145e+02 1.43384661e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -770 9.51810604e+05 2.27574150e+04 ! particle number mass Rhill -1.02086703e+04 !particle radius in m +Body770 9.51810604e+05 2.27574150e+04 ! particle number mass Rhill +1.02086703e+04 !particle radius in AU -6.96997724e+05 1.14525501e+07 -2.14282591e+04 ! x y z -1.94508975e+03 -1.20495540e+02 -1.27425570e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -771 1.13010262e+06 1.89504819e+04 ! particle number mass Rhill -1.08099817e+04 !particle radius in m +Body771 1.13010262e+06 1.89504819e+04 ! particle number mass Rhill +1.08099817e+04 !particle radius in AU 9.38021683e+06 3.42327658e+04 2.00501873e+04 ! x y z -3.65841924e+01 2.11334523e+03 -1.86694989e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -772 7.04130996e+04 8.31952330e+03 ! particle number mass Rhill -6.31519566e+03 !particle radius in m +Body772 7.04130996e+04 8.31952330e+03 ! particle number mass Rhill +6.31519566e+03 !particle radius in AU 9.77614427e+06 2.18126141e+06 4.93063169e+04 ! x y z -4.63942946e+02 2.03097699e+03 3.68237367e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -773 7.20195884e+04 7.30450671e+03 ! particle number mass Rhill -6.36286244e+03 !particle radius in m +Body773 7.20195884e+04 7.30450671e+03 ! particle number mass Rhill +6.36286244e+03 !particle radius in AU 1.03665232e+06 8.86346829e+06 1.05688800e+05 ! x y z -2.16165047e+03 3.02954637e+02 -2.55519521e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -774 9.64762143e+04 1.02616868e+04 ! particle number mass Rhill -7.01416117e+03 !particle radius in m +Body774 9.64762143e+04 1.02616868e+04 ! particle number mass Rhill +7.01416117e+03 !particle radius in AU 1.03495591e+07 -4.25164616e+06 3.58740907e+04 ! x y z 7.33662495e+02 1.82348291e+03 -6.28887722e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -775 2.05974940e+05 1.14271818e+04 ! particle number mass Rhill -9.03178903e+03 !particle radius in m +Body775 2.05974940e+05 1.14271818e+04 ! particle number mass Rhill +9.03178903e+03 !particle radius in AU -2.38406558e+06 9.62250108e+06 1.02937972e+05 ! x y z -2.01173579e+03 -4.55947194e+02 5.72154417e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -776 1.80872057e+05 1.20866729e+04 ! particle number mass Rhill -8.64887224e+03 !particle radius in m +Body776 1.80872057e+05 1.20866729e+04 ! particle number mass Rhill +8.64887224e+03 !particle radius in AU -1.07734704e+07 -1.45075387e+06 -2.66041480e+04 ! x y z 2.65092409e+02 -1.95941508e+03 3.83593904e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -777 2.70682972e+04 7.76123367e+03 ! particle number mass Rhill -4.59186701e+03 !particle radius in m +Body777 2.70682972e+04 7.76123367e+03 ! particle number mass Rhill +4.59186701e+03 !particle radius in AU 4.74101076e+06 -1.21984912e+07 3.79772198e+04 ! x y z 1.69258599e+03 6.30621386e+02 2.06381502e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -778 1.10059808e+06 1.92916524e+04 ! particle number mass Rhill -1.07150758e+04 !particle radius in m +Body778 1.10059808e+06 1.92916524e+04 ! particle number mass Rhill +1.07150758e+04 !particle radius in AU 7.43989020e+06 -5.63873599e+06 -5.85929699e+04 ! x y z 1.31667387e+03 1.70317955e+03 9.52560643e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -779 5.98060539e+05 2.60997499e+04 ! particle number mass Rhill -1.28849886e+04 !particle radius in m +Body779 5.98060539e+05 2.60997499e+04 ! particle number mass Rhill +1.28849886e+04 !particle radius in AU -5.38823915e+06 1.48268009e+07 -2.14296811e+04 ! x y z -1.54283155e+03 -5.57159624e+02 5.54783358e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -780 4.78664397e+05 1.40463790e+04 ! particle number mass Rhill -8.11825531e+03 !particle radius in m +Body780 4.78664397e+05 1.40463790e+04 ! particle number mass Rhill +8.11825531e+03 !particle radius in AU 2.66724929e+06 -8.66471427e+06 1.00760731e+04 ! x y z 2.07447879e+03 6.47409518e+02 2.06301461e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -781 2.26409120e+05 1.13645899e+04 ! particle number mass Rhill -6.32533652e+03 !particle radius in m +Body781 2.26409120e+05 1.13645899e+04 ! particle number mass Rhill +6.32533652e+03 !particle radius in AU -9.34887042e+06 -7.71203345e+05 -2.80106217e+04 ! x y z 1.56382920e+02 -2.13449580e+03 1.77972684e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -782 2.42808802e+05 2.65285810e+04 ! particle number mass Rhill -6.47451347e+03 !particle radius in m +Body782 2.42808802e+05 2.65285810e+04 ! particle number mass Rhill +6.47451347e+03 !particle radius in AU 2.11853462e+06 2.14346842e+07 -1.31619878e+05 ! x y z -1.40220812e+03 1.23003628e+02 1.01803056e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -783 8.24349063e+05 1.69001386e+04 ! particle number mass Rhill -9.73096804e+03 !particle radius in m +Body783 8.24349063e+05 1.69001386e+04 ! particle number mass Rhill +9.73096804e+03 !particle radius in AU 8.93418422e+06 -1.26163769e+06 -6.14650218e+03 ! x y z 2.70831749e+02 2.17084302e+03 -6.49066157e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -784 1.62394568e+06 2.16415199e+04 ! particle number mass Rhill -1.21985861e+04 !particle radius in m +Body784 1.62394568e+06 2.16415199e+04 ! particle number mass Rhill +1.21985861e+04 !particle radius in AU -3.36304606e+06 -8.68475569e+06 4.22905473e+04 ! x y z 2.01382441e+03 -7.30247568e+02 -1.59257408e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -785 4.69991607e+05 1.42566569e+04 ! particle number mass Rhill -1.18904701e+04 !particle radius in m +Body785 4.69991607e+05 1.42566569e+04 ! particle number mass Rhill +1.18904701e+04 !particle radius in AU 8.81465687e+06 -2.36248215e+06 6.67259873e+04 ! x y z 5.93111329e+02 2.09930862e+03 3.04112228e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -786 1.36960578e+06 2.05419684e+04 ! particle number mass Rhill -1.15252633e+04 !particle radius in m +Body786 1.36960578e+06 2.05419684e+04 ! particle number mass Rhill +1.15252633e+04 !particle radius in AU -4.21295680e+06 -8.25900507e+06 -3.19234838e+03 ! x y z 1.92170180e+03 -9.79177619e+02 -8.10728388e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -787 5.69750598e+05 2.14044316e+04 ! particle number mass Rhill -8.60360757e+03 !particle radius in m +Body787 5.69750598e+05 2.14044316e+04 ! particle number mass Rhill +8.60360757e+03 !particle radius in AU 9.93364443e+06 8.45966410e+06 -7.67940035e+04 ! x y z -1.17931717e+03 1.37394453e+03 -8.05856772e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -788 1.41313744e+06 2.40709892e+04 ! particle number mass Rhill -1.16460986e+04 !particle radius in m +Body788 1.41313744e+06 2.40709892e+04 ! particle number mass Rhill +1.16460986e+04 !particle radius in AU 1.04612906e+06 1.07823989e+07 -7.20248309e+04 ! x y z -1.97918359e+03 1.84768969e+02 3.98691690e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -789 9.83280524e+04 1.63480170e+04 ! particle number mass Rhill -7.05875544e+03 !particle radius in m +Body789 9.83280524e+04 1.63480170e+04 ! particle number mass Rhill +7.05875544e+03 !particle radius in AU -1.20383776e+07 -1.30487787e+07 -1.17822971e+05 ! x y z 1.15323425e+03 -1.04821079e+03 -2.09214306e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -790 5.14220791e+05 1.55882368e+04 ! particle number mass Rhill -1.22523351e+04 !particle radius in m +Body790 5.14220791e+05 1.55882368e+04 ! particle number mass Rhill +1.22523351e+04 !particle radius in AU -6.25721631e+06 -7.48338074e+06 6.58872777e+04 ! x y z 1.60724089e+03 -1.35523949e+03 1.79073191e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -791 2.71366282e+05 1.50608481e+04 ! particle number mass Rhill -9.90119508e+03 !particle radius in m +Body791 2.71366282e+05 1.50608481e+04 ! particle number mass Rhill +9.90119508e+03 !particle radius in AU -1.98852887e+06 -1.16234208e+07 3.45760659e+04 ! x y z 1.87230049e+03 -3.33072319e+02 1.96763510e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -792 2.34275345e+05 1.24361617e+04 ! particle number mass Rhill -6.39775874e+03 !particle radius in m +Body792 2.34275345e+05 1.24361617e+04 ! particle number mass Rhill +6.39775874e+03 !particle radius in AU -1.83445389e+06 -1.01663777e+07 -2.16218566e+04 ! x y z 1.99731190e+03 -3.10283279e+02 -1.07270295e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -793 5.94051154e+05 2.02359843e+04 ! particle number mass Rhill -1.28561305e+04 !particle radius in m +Body793 5.94051154e+05 2.02359843e+04 ! particle number mass Rhill +1.28561305e+04 !particle radius in AU -6.68458169e+06 -1.03038987e+07 1.06554338e+05 ! x y z 1.55802844e+03 -1.01074571e+03 -1.53515092e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -794 2.62427397e+05 1.23130985e+04 ! particle number mass Rhill -6.64439416e+03 !particle radius in m +Body794 2.62427397e+05 1.23130985e+04 ! particle number mass Rhill +6.64439416e+03 !particle radius in AU -9.54428205e+06 -1.77688297e+06 -2.10926647e+04 ! x y z 3.75374809e+02 -2.06650760e+03 -1.22766897e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -795 2.46729383e+04 7.83698469e+03 ! particle number mass Rhill -4.45221314e+03 !particle radius in m +Body795 2.46729383e+04 7.83698469e+03 ! particle number mass Rhill +4.45221314e+03 !particle radius in AU 3.13901663e+06 1.32731582e+07 -8.32687929e+04 ! x y z -1.71730983e+03 4.23145043e+02 4.63891808e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -796 1.99969482e+05 1.08806055e+04 ! particle number mass Rhill -8.94314414e+03 !particle radius in m +Body796 1.99969482e+05 1.08806055e+04 ! particle number mass Rhill +8.94314414e+03 !particle radius in AU -2.33540859e+06 9.13065765e+06 7.06589924e+03 ! x y z -2.06497311e+03 -5.14043891e+02 1.51818535e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -797 2.62755853e+05 1.84176232e+04 ! particle number mass Rhill -9.79534618e+03 !particle radius in m +Body797 2.62755853e+05 1.84176232e+04 ! particle number mass Rhill +9.79534618e+03 !particle radius in AU 1.36994576e+07 -4.67366094e+06 7.44829731e+04 ! x y z 5.44944889e+02 1.63399910e+03 -4.32898441e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -798 1.49407504e+04 4.39640938e+03 ! particle number mass Rhill -3.76668925e+03 !particle radius in m +Body798 1.49407504e+04 4.39640938e+03 ! particle number mass Rhill +3.76668925e+03 !particle radius in AU -7.37395287e+06 5.09151414e+06 2.55133554e+04 ! x y z -1.23099773e+03 -1.81388400e+03 -6.90022105e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -799 3.37131645e+05 1.41467237e+04 ! particle number mass Rhill -1.06439337e+04 !particle radius in m +Body799 3.37131645e+05 1.41467237e+04 ! particle number mass Rhill +1.06439337e+04 !particle radius in AU -4.36095303e+06 9.17263674e+06 5.77572160e+04 ! x y z -1.86099387e+03 -8.92089911e+02 1.33050454e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -800 9.30504002e+05 1.74198697e+04 ! particle number mass Rhill -1.01319198e+04 !particle radius in m +Body800 9.30504002e+05 1.74198697e+04 ! particle number mass Rhill +1.01319198e+04 !particle radius in AU 6.09028041e+05 -9.05678858e+06 -3.59192636e+04 ! x y z 2.16064013e+03 1.12524119e+02 -1.28041635e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -801 6.21406053e+04 6.95048318e+03 ! particle number mass Rhill -4.11065306e+03 !particle radius in m +Body801 6.21406053e+04 6.95048318e+03 ! particle number mass Rhill +4.11065306e+03 !particle radius in AU 8.74913197e+06 -1.47341693e+06 -9.62438055e+04 ! x y z 3.78746478e+02 2.16207809e+03 -2.44021093e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -802 1.98751717e+06 2.23872797e+04 ! particle number mass Rhill -1.30483609e+04 !particle radius in m +Body802 1.98751717e+06 2.23872797e+04 ! particle number mass Rhill +1.30483609e+04 !particle radius in AU -8.58911286e+06 2.87403478e+06 1.58823639e+02 ! x y z -7.16776888e+02 -2.04412274e+03 5.09362192e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -803 1.10143987e+06 2.58396269e+04 ! particle number mass Rhill -1.07178069e+04 !particle radius in m +Body803 1.10143987e+06 2.58396269e+04 ! particle number mass Rhill +1.07178069e+04 !particle radius in AU 8.48527058e+06 -9.20798638e+06 -1.02188880e+05 ! x y z 1.36994712e+03 1.25405390e+03 1.06840389e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -804 1.26088799e+06 1.92135468e+04 ! particle number mass Rhill -1.12118643e+04 !particle radius in m +Body804 1.26088799e+06 1.92135468e+04 ! particle number mass Rhill +1.12118643e+04 !particle radius in AU -5.30902937e+06 7.21606500e+06 6.02327354e+04 ! x y z -1.77499753e+03 -1.28053606e+03 -3.40605365e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -805 1.09184787e+05 1.76365565e+04 ! particle number mass Rhill -4.96028208e+03 !particle radius in m +Body805 1.09184787e+05 1.76365565e+04 ! particle number mass Rhill +4.96028208e+03 !particle radius in AU -1.77739170e+07 5.38979777e+06 1.55930024e+05 ! x y z -4.43393580e+02 -1.45455644e+03 -2.70314341e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -806 4.13158924e+04 7.88380749e+03 ! particle number mass Rhill -5.28698448e+03 !particle radius in m +Body806 4.13158924e+04 7.88380749e+03 ! particle number mass Rhill +5.28698448e+03 !particle radius in AU -8.43967863e+06 -7.92404795e+06 -2.34275469e+04 ! x y z 1.33453164e+03 -1.37751924e+03 -2.53751841e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -807 9.05745195e+05 1.69381188e+04 ! particle number mass Rhill -1.00412476e+04 !particle radius in m +Body807 9.05745195e+05 1.69381188e+04 ! particle number mass Rhill +1.00412476e+04 !particle radius in AU 4.71451819e+06 -7.46352121e+06 1.62287314e+03 ! x y z 1.84921224e+03 1.19850662e+03 1.99232615e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -808 1.43529731e+05 1.19160672e+04 ! particle number mass Rhill -5.43374958e+03 !particle radius in m +Body808 1.43529731e+05 1.19160672e+04 ! particle number mass Rhill +5.43374958e+03 !particle radius in AU 1.87652013e+06 -1.11420807e+07 1.38944441e+05 ! x y z 1.93560918e+03 3.25150073e+02 2.51765258e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -809 5.54106512e+05 1.54471739e+04 ! particle number mass Rhill -1.25612659e+04 !particle radius in m +Body809 5.54106512e+05 1.54471739e+04 ! particle number mass Rhill +1.25612659e+04 !particle radius in AU -9.29220692e+06 2.16599787e+06 -4.38900389e+04 ! x y z -4.87620074e+02 -2.05624014e+03 4.85721843e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -810 5.10481873e+05 1.62613830e+04 ! particle number mass Rhill -8.29428788e+03 !particle radius in m +Body810 5.10481873e+05 1.62613830e+04 ! particle number mass Rhill +8.29428788e+03 !particle radius in AU 1.39531950e+06 1.01422470e+07 -9.71755919e+04 ! x y z -2.02592294e+03 3.03255899e+02 5.57961818e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -811 3.32058372e+05 1.63243972e+04 ! particle number mass Rhill -7.18660555e+03 !particle radius in m +Body811 3.32058372e+05 1.63243972e+04 ! particle number mass Rhill +7.18660555e+03 !particle radius in AU 1.17947013e+07 7.40001699e+05 2.51672426e+04 ! x y z -1.17060805e+02 1.90660700e+03 5.44656130e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -812 3.98927657e+05 1.51211505e+04 ! particle number mass Rhill -1.12581502e+04 !particle radius in m +Body812 3.98927657e+05 1.51211505e+04 ! particle number mass Rhill +1.12581502e+04 !particle radius in AU -7.90433536e+06 6.73266024e+06 -3.50969312e+04 ! x y z -1.30204874e+03 -1.55681461e+03 5.35229797e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -813 1.60520468e+05 1.50790564e+04 ! particle number mass Rhill -5.64021687e+03 !particle radius in m +Body813 1.60520468e+05 1.50790564e+04 ! particle number mass Rhill +5.64021687e+03 !particle radius in AU 1.20372535e+07 -7.49092702e+06 6.74822230e+04 ! x y z 8.91458581e+02 1.47943776e+03 -9.74770857e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -814 9.51624011e+04 8.20610116e+03 ! particle number mass Rhill -6.98217592e+03 !particle radius in m +Body814 9.51624011e+04 8.20610116e+03 ! particle number mass Rhill +6.98217592e+03 !particle radius in AU 6.85752801e+06 6.02181411e+06 3.38939759e+03 ! x y z -1.45444163e+03 1.59683746e+03 2.15463449e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -815 8.02969339e+05 3.23806232e+04 ! particle number mass Rhill -9.64610498e+03 !particle radius in m +Body815 8.02969339e+05 3.23806232e+04 ! particle number mass Rhill +9.64610498e+03 !particle radius in AU 1.65844804e+07 4.81034890e+06 4.61229376e+04 ! x y z -4.20560106e+02 1.53234812e+03 -2.07164443e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -816 2.77573627e+05 1.52717801e+04 ! particle number mass Rhill -9.97612135e+03 !particle radius in m +Body816 2.77573627e+05 1.52717801e+04 ! particle number mass Rhill +9.97612135e+03 !particle radius in AU -1.11130797e+07 -3.78359570e+06 -1.84960756e+03 ! x y z 5.85052492e+02 -1.82483094e+03 -5.22659903e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -817 1.29735147e+05 1.12854771e+04 ! particle number mass Rhill -7.74203039e+03 !particle radius in m +Body817 1.29735147e+05 1.12854771e+04 ! particle number mass Rhill +7.74203039e+03 !particle radius in AU 4.58513442e+06 1.02699278e+07 -3.18341648e+04 ! x y z -1.77353935e+03 8.15172006e+02 -3.48615440e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -818 7.78047386e+05 1.63408344e+04 ! particle number mass Rhill -9.54525817e+03 !particle radius in m +Body818 7.78047386e+05 1.63408344e+04 ! particle number mass Rhill +9.54525817e+03 !particle radius in AU 7.69154925e+06 -4.52108417e+06 1.90521640e+04 ! x y z 1.13843297e+03 1.87858469e+03 1.37511342e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -819 2.90221524e+05 1.58401533e+04 ! particle number mass Rhill -6.87114114e+03 !particle radius in m +Body819 2.90221524e+05 1.58401533e+04 ! particle number mass Rhill +6.87114114e+03 !particle radius in AU -1.15969434e+07 3.52559239e+06 5.16907637e+04 ! x y z -5.69477663e+02 -1.78769915e+03 -1.33023745e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -820 9.19380223e+05 1.83471630e+04 ! particle number mass Rhill -1.00913836e+04 !particle radius in m +Body820 9.19380223e+05 1.83471630e+04 ! particle number mass Rhill +1.00913836e+04 !particle radius in AU 5.95447776e+06 -7.82496208e+06 3.09991808e+04 ! x y z 1.65084498e+03 1.22028250e+03 -2.33382836e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -821 6.22104092e+04 9.73713866e+03 ! particle number mass Rhill -6.05977746e+03 !particle radius in m +Body821 6.22104092e+04 9.73713866e+03 ! particle number mass Rhill +6.05977746e+03 !particle radius in AU -3.93089529e+06 1.17766068e+07 -6.72321552e+03 ! x y z -1.75059713e+03 -6.17947765e+02 -1.16753307e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -822 5.76697161e+05 1.55455865e+04 ! particle number mass Rhill -1.27297027e+04 !particle radius in m +Body822 5.76697161e+05 1.55455865e+04 ! particle number mass Rhill +1.27297027e+04 !particle radius in AU -9.38145643e+06 5.61032393e+05 -2.62604457e+04 ! x y z -1.66051140e+02 -2.13147141e+03 -1.91808715e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -823 1.12193121e+06 2.15413897e+04 ! particle number mass Rhill -1.07838641e+04 !particle radius in m +Body823 1.12193121e+06 2.15413897e+04 ! particle number mass Rhill +1.07838641e+04 !particle radius in AU -3.46243172e+06 -9.75229088e+06 -6.99128436e+04 ! x y z 1.92977079e+03 -6.78308349e+02 -2.04030914e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -824 3.77345686e+05 1.48917020e+04 ! particle number mass Rhill -7.49949684e+03 !particle radius in m +Body824 3.77345686e+05 1.48917020e+04 ! particle number mass Rhill +7.49949684e+03 !particle radius in AU 2.14173079e+06 -1.00855853e+07 1.33615118e+04 ! x y z 2.00549502e+03 4.10286548e+02 1.33463171e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -825 2.84103902e+04 5.41642288e+03 ! particle number mass Rhill -4.66653709e+03 !particle radius in m +Body825 2.84103902e+04 5.41642288e+03 ! particle number mass Rhill +4.66653709e+03 !particle radius in AU 2.97083227e+06 8.61004661e+06 -5.77896258e+04 ! x y z -2.03526397e+03 6.94270314e+02 -2.15105297e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -826 5.90646827e+04 1.08492229e+04 ! particle number mass Rhill -5.95586641e+03 !particle radius in m +Body826 5.90646827e+04 1.08492229e+04 ! particle number mass Rhill +5.95586641e+03 !particle radius in AU -1.12041316e+07 8.43574386e+06 6.88522376e+04 ! x y z -1.04307644e+03 -1.40491020e+03 6.49036289e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -827 1.00753667e+05 9.63045427e+03 ! particle number mass Rhill -7.11632779e+03 !particle radius in m +Body827 1.00753667e+05 9.63045427e+03 ! particle number mass Rhill +7.11632779e+03 !particle radius in AU -4.35495075e+06 9.47025259e+06 -5.09915025e+04 ! x y z -1.85819690e+03 -8.15466077e+02 4.09008068e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -828 1.54771456e+05 1.76232067e+04 ! particle number mass Rhill -5.57206216e+03 !particle radius in m +Body828 1.54771456e+05 1.76232067e+04 ! particle number mass Rhill +5.57206216e+03 !particle radius in AU 4.78116976e+06 -1.59784331e+07 -5.36968327e+04 ! x y z 1.53329565e+03 4.46997350e+02 4.63714714e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -829 5.51349999e+05 1.59967890e+04 ! particle number mass Rhill -8.50997184e+03 !particle radius in m +Body829 5.51349999e+05 1.59967890e+04 ! particle number mass Rhill +8.50997184e+03 !particle radius in AU 8.23993793e+06 -5.31139465e+06 6.29574603e+04 ! x y z 1.13278257e+03 1.76205209e+03 -8.47937534e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -830 5.59737681e+05 1.68391578e+04 ! particle number mass Rhill -1.26036743e+04 !particle radius in m +Body830 5.59737681e+05 1.68391578e+04 ! particle number mass Rhill +1.26036743e+04 !particle radius in AU -9.63212471e+06 3.36590765e+06 -1.07062454e+04 ! x y z -6.84552644e+02 -1.94265665e+03 2.94400282e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -831 3.21463203e+04 7.65511916e+03 ! particle number mass Rhill -4.86272166e+03 !particle radius in m +Body831 3.21463203e+04 7.65511916e+03 ! particle number mass Rhill +4.86272166e+03 !particle radius in AU 9.83116842e+06 6.61447762e+06 -5.12468956e+04 ! x y z -1.03243293e+03 1.62443233e+03 2.38757589e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -832 1.70396503e+05 1.11460376e+04 ! particle number mass Rhill -5.75359413e+03 !particle radius in m +Body832 1.70396503e+05 1.11460376e+04 ! particle number mass Rhill +5.75359413e+03 !particle radius in AU 9.79171021e+06 -2.73890246e+06 8.20795285e+04 ! x y z 5.70999291e+02 1.96925843e+03 2.38407769e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -833 5.15198597e+05 1.63024335e+04 ! particle number mass Rhill -8.31975532e+03 !particle radius in m +Body833 5.15198597e+05 1.63024335e+04 ! particle number mass Rhill +8.31975532e+03 !particle radius in AU -3.31575865e+06 9.74773076e+06 -6.68906771e+04 ! x y z -1.91945157e+03 -6.80055572e+02 7.05071034e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -834 3.88181682e+05 2.05972013e+04 ! particle number mass Rhill -1.11561412e+04 !particle radius in m +Body834 3.88181682e+05 2.05972013e+04 ! particle number mass Rhill +1.11561412e+04 !particle radius in AU 2.59402712e+06 1.41195960e+07 7.65317352e+04 ! x y z -1.69390135e+03 3.03445651e+02 1.51567072e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -835 3.14976817e+05 1.81483086e+04 ! particle number mass Rhill -7.06120023e+03 !particle radius in m +Body835 3.14976817e+05 1.81483086e+04 ! particle number mass Rhill +7.06120023e+03 !particle radius in AU -2.50324523e+06 1.33583355e+07 -1.06069614e+05 ! x y z -1.73502096e+03 -3.33244830e+02 -4.27813580e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -836 1.15397098e+06 2.54597499e+04 ! particle number mass Rhill -1.08855562e+04 !particle radius in m +Body836 1.15397098e+06 2.54597499e+04 ! particle number mass Rhill +1.08855562e+04 !particle radius in AU -4.06673848e+06 -1.16023946e+07 4.08896853e+04 ! x y z 1.75606757e+03 -6.22462152e+02 1.70339271e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -837 5.52965161e+05 1.61939690e+04 ! particle number mass Rhill -8.51827363e+03 !particle radius in m +Body837 5.52965161e+05 1.61939690e+04 ! particle number mass Rhill +8.51827363e+03 !particle radius in AU 4.61087222e+06 -8.97079451e+06 -2.30678380e+04 ! x y z 1.81563298e+03 9.45814603e+02 2.66915276e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -838 2.78212386e+05 1.51006367e+04 ! particle number mass Rhill -9.98376791e+03 !particle radius in m +Body838 2.78212386e+05 1.51006367e+04 ! particle number mass Rhill +9.98376791e+03 !particle radius in AU 9.96934676e+06 5.38891014e+06 9.88781435e+04 ! x y z -9.81582718e+02 1.71074828e+03 -3.99838208e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -839 7.54969273e+04 7.54781766e+03 ! particle number mass Rhill -6.46366364e+03 !particle radius in m +Body839 7.54969273e+04 7.54781766e+03 ! particle number mass Rhill +6.46366364e+03 !particle radius in AU 4.99758772e+06 -7.50759705e+06 -5.25299733e+04 ! x y z 1.80703397e+03 1.21678053e+03 1.90540898e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -840 1.70430363e+05 1.20590966e+04 ! particle number mass Rhill -8.47913036e+03 !particle radius in m +Body840 1.70430363e+05 1.20590966e+04 ! particle number mass Rhill +8.47913036e+03 !particle radius in AU -6.69441800e+06 -8.86176278e+06 2.53388174e+04 ! x y z 1.56709902e+03 -1.16434302e+03 -9.30903825e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -841 7.11720571e+04 7.78997309e+03 ! particle number mass Rhill -6.33780436e+03 !particle radius in m +Body841 7.11720571e+04 7.78997309e+03 ! particle number mass Rhill +6.33780436e+03 !particle radius in AU -4.38549443e+06 -8.30442031e+06 2.47931467e+04 ! x y z 1.89780640e+03 -1.00273544e+03 3.24648282e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -842 8.59823501e+04 1.41107806e+04 ! particle number mass Rhill -4.58059717e+03 !particle radius in m +Body842 8.59823501e+04 1.41107806e+04 ! particle number mass Rhill +4.58059717e+03 !particle radius in AU 9.52295494e+06 -1.31453589e+07 -2.84882159e+04 ! x y z 1.32429236e+03 9.32305231e+02 -7.78758641e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -843 1.09544894e+05 8.49893572e+03 ! particle number mass Rhill -4.96572933e+03 !particle radius in m +Body843 1.09544894e+05 8.49893572e+03 ! particle number mass Rhill +4.96572933e+03 !particle radius in AU 8.16032081e+06 -3.83914183e+06 -4.53668688e+04 ! x y z 9.48405336e+02 1.95482944e+03 -1.90024465e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -844 4.60029935e+05 1.51122850e+04 ! particle number mass Rhill -1.18058616e+04 !particle radius in m +Body844 4.60029935e+05 1.51122850e+04 ! particle number mass Rhill +1.18058616e+04 !particle radius in AU 8.84185924e+06 4.91012210e+06 -4.89421191e+04 ! x y z -9.91478880e+02 1.77538667e+03 -7.79856416e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -845 8.45559558e+04 1.19563910e+04 ! particle number mass Rhill -4.55512603e+03 !particle radius in m +Body845 8.45559558e+04 1.19563910e+04 ! particle number mass Rhill +4.55512603e+03 !particle radius in AU 1.32256008e+07 4.60711564e+06 3.20195320e+04 ! x y z -5.72824835e+02 1.63498483e+03 -8.94623266e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -846 7.22405721e+05 3.33574192e+04 ! particle number mass Rhill -9.31206622e+03 !particle radius in m +Body846 7.22405721e+05 3.33574192e+04 ! particle number mass Rhill +9.31206622e+03 !particle radius in AU 1.83600084e+07 -3.67172737e+06 -1.03387529e+05 ! x y z 2.82478801e+02 1.48749998e+03 -3.61587063e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -847 1.13076745e+06 1.88034270e+04 ! particle number mass Rhill -1.08121011e+04 !particle radius in m +Body847 1.13076745e+06 1.88034270e+04 ! particle number mass Rhill +1.08121011e+04 !particle radius in AU 5.50505051e+06 7.32332854e+06 3.97380095e+04 ! x y z -1.73540458e+03 1.27934877e+03 1.31767249e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -848 1.53792461e+06 3.36534328e+04 ! particle number mass Rhill -1.19792790e+04 !particle radius in m +Body848 1.53792461e+06 3.36534328e+04 ! particle number mass Rhill +1.19792790e+04 !particle radius in AU -7.13326386e+06 1.32178302e+07 5.30241465e+04 ! x y z -1.47659146e+03 -7.82263656e+02 -2.09914908e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -849 2.18245755e+04 6.44870790e+03 ! particle number mass Rhill -4.27383343e+03 !particle radius in m +Body849 2.18245755e+04 6.44870790e+03 ! particle number mass Rhill +4.27383343e+03 !particle radius in AU -4.61218845e+06 1.05730170e+07 -6.60200193e+04 ! x y z -1.78205321e+03 -7.56922993e+02 8.78119173e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -850 1.34790722e+06 2.73293396e+04 ! particle number mass Rhill -1.14640744e+04 !particle radius in m +Body850 1.34790722e+06 2.73293396e+04 ! particle number mass Rhill +1.14640744e+04 !particle radius in AU -4.56090890e+06 1.14927598e+07 1.08391052e+05 ! x y z -1.73824893e+03 -6.90093039e+02 -9.72090948e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -851 1.63258167e+05 1.62209865e+04 ! particle number mass Rhill -5.67210117e+03 !particle radius in m +Body851 1.63258167e+05 1.62209865e+04 ! particle number mass Rhill +5.67210117e+03 !particle radius in AU -1.26164008e+07 8.37507124e+06 -9.30825805e+04 ! x y z -9.25052993e+02 -1.39347287e+03 7.98354596e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -852 3.03238131e+05 1.22437010e+04 ! particle number mass Rhill -6.97236746e+03 !particle radius in m +Body852 3.03238131e+05 1.22437010e+04 ! particle number mass Rhill +6.97236746e+03 !particle radius in AU 6.53000802e+05 -9.25877071e+06 7.96919181e+03 ! x y z 2.13254376e+03 1.58194267e+02 -3.04691883e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -853 2.86850115e+05 1.16833407e+04 ! particle number mass Rhill -1.00860395e+04 !particle radius in m +Body853 2.86850115e+05 1.16833407e+04 ! particle number mass Rhill +1.00860395e+04 !particle radius in AU 7.29493071e+06 -5.15859210e+06 -4.34667082e+04 ! x y z 1.28346456e+03 1.77485302e+03 1.13165377e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -854 4.89303744e+04 6.65852454e+03 ! particle number mass Rhill -3.79587448e+03 !particle radius in m +Body854 4.89303744e+04 6.65852454e+03 ! particle number mass Rhill +3.79587448e+03 !particle radius in AU -3.19192697e+06 -8.59789141e+06 9.38867695e+04 ! x y z 2.03734470e+03 -7.26452634e+02 -1.17305762e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -855 7.78837017e+05 1.74911407e+04 ! particle number mass Rhill -9.54848620e+03 !particle radius in m +Body855 7.78837017e+05 1.74911407e+04 ! particle number mass Rhill +9.54848620e+03 !particle radius in AU 9.47082398e+06 -1.09607932e+06 4.83920593e+04 ! x y z 2.14821600e+02 2.11542107e+03 1.20322954e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -856 8.09963405e+05 1.65414086e+04 ! particle number mass Rhill -9.67403073e+03 !particle radius in m +Body856 8.09963405e+05 1.65414086e+04 ! particle number mass Rhill +9.67403073e+03 !particle radius in AU -6.95192799e+06 -5.46206006e+06 2.82885807e+04 ! x y z 1.36201469e+03 -1.74685442e+03 2.47593903e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -857 2.42701981e+05 1.25706853e+04 ! particle number mass Rhill -6.47356387e+03 !particle radius in m +Body857 2.42701981e+05 1.25706853e+04 ! particle number mass Rhill +6.47356387e+03 !particle radius in AU -3.08185810e+06 9.58349756e+06 6.94451226e+03 ! x y z -1.96338979e+03 -6.65837368e+02 -2.04503843e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -858 1.70493509e+06 4.29022384e+04 ! particle number mass Rhill -1.23980946e+04 !particle radius in m +Body858 1.70493509e+06 4.29022384e+04 ! particle number mass Rhill +1.23980946e+04 !particle radius in AU 1.65978586e+07 7.58110647e+06 -7.73180642e+04 ! x y z -6.28856477e+02 1.39136938e+03 1.44879781e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -859 1.24913615e+06 2.04262263e+04 ! particle number mass Rhill -1.11769229e+04 !particle radius in m +Body859 1.24913615e+06 2.04262263e+04 ! particle number mass Rhill +1.11769229e+04 !particle radius in AU -6.68285720e+06 6.69572721e+06 -2.14964381e+03 ! x y z -1.53479675e+03 -1.49178194e+03 -5.71100381e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -860 1.41825071e+05 1.34951826e+04 ! particle number mass Rhill -5.41215219e+03 !particle radius in m +Body860 1.41825071e+05 1.34951826e+04 ! particle number mass Rhill +5.41215219e+03 !particle radius in AU -4.42591408e+06 -1.21925806e+07 -3.63637070e+04 ! x y z 1.69944504e+03 -6.60923085e+02 -1.17185754e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -861 2.32941748e+05 1.18357603e+04 ! particle number mass Rhill -9.40989476e+03 !particle radius in m +Body861 2.32941748e+05 1.18357603e+04 ! particle number mass Rhill +9.40989476e+03 !particle radius in AU 9.48116594e+06 -3.86455243e+05 -1.03947327e+05 ! x y z 6.54406678e+01 2.14729925e+03 -2.03989342e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -862 8.31892099e+05 1.90259127e+04 ! particle number mass Rhill -9.76055838e+03 !particle radius in m +Body862 8.31892099e+05 1.90259127e+04 ! particle number mass Rhill +9.76055838e+03 !particle radius in AU 9.75283383e+06 -3.26934404e+06 -6.67089834e+03 ! x y z 6.55184968e+02 1.92454684e+03 -2.06876177e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -863 2.65389001e+05 1.25607462e+04 ! particle number mass Rhill -9.82795810e+03 !particle radius in m +Body863 2.65389001e+05 1.25607462e+04 ! particle number mass Rhill +9.82795810e+03 !particle radius in AU 7.92293154e+06 -5.92949642e+06 8.08421712e+04 ! x y z 1.22209539e+03 1.67954941e+03 6.77640716e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -864 1.19440089e+06 2.02897833e+04 ! particle number mass Rhill -1.10112267e+04 !particle radius in m +Body864 1.19440089e+06 2.02897833e+04 ! particle number mass Rhill +1.10112267e+04 !particle radius in AU -9.44726757e+06 -1.72479642e+06 -5.06771776e+04 ! x y z 3.57081323e+02 -2.08684682e+03 -1.01697089e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -865 1.94180301e+05 1.09977241e+04 ! particle number mass Rhill -8.85599534e+03 !particle radius in m +Body865 1.94180301e+05 1.09977241e+04 ! particle number mass Rhill +8.85599534e+03 !particle radius in AU -6.23129670e+06 7.19526623e+06 1.83941420e+04 ! x y z -1.59813509e+03 -1.40609078e+03 1.94595479e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -866 1.32317590e+06 2.00141699e+04 ! particle number mass Rhill -1.13935271e+04 !particle radius in m +Body866 1.32317590e+06 2.00141699e+04 ! particle number mass Rhill +1.13935271e+04 !particle radius in AU -5.60132388e+06 -7.32299736e+06 -1.77571471e+04 ! x y z 1.71338179e+03 -1.30416800e+03 7.07200448e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -867 7.00538607e+05 3.57062222e+04 ! particle number mass Rhill -9.21714362e+03 !particle radius in m +Body867 7.00538607e+05 3.57062222e+04 ! particle number mass Rhill +9.21714362e+03 !particle radius in AU 1.94866969e+07 6.41556967e+06 -8.78618223e+04 ! x y z -4.47022162e+02 1.36561417e+03 1.23555791e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -868 6.96093005e+05 2.84504578e+04 ! particle number mass Rhill -9.19760498e+03 !particle radius in m +Body868 6.96093005e+05 2.84504578e+04 ! particle number mass Rhill +9.19760498e+03 !particle radius in AU 1.24313845e+07 -1.03009928e+07 2.91007895e+04 ! x y z 1.03299438e+03 1.26303931e+03 1.43272483e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -869 6.51350069e+04 1.52760208e+04 ! particle number mass Rhill -6.15328661e+03 !particle radius in m +Body869 6.51350069e+04 1.52760208e+04 ! particle number mass Rhill +6.15328661e+03 !particle radius in AU -1.88463700e+07 3.02324922e+06 -1.45896688e+05 ! x y z -2.31662436e+02 -1.48292769e+03 2.63168505e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -870 1.30747026e+05 1.45819265e+04 ! particle number mass Rhill -7.76210648e+03 !particle radius in m +Body870 1.30747026e+05 1.45819265e+04 ! particle number mass Rhill +7.76210648e+03 !particle radius in AU 1.40546567e+07 -3.88347486e+06 6.81896661e+04 ! x y z 4.43567006e+02 1.65056081e+03 4.01577354e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -871 6.71076966e+04 8.61160442e+03 ! particle number mass Rhill -4.21738363e+03 !particle radius in m +Body871 6.71076966e+04 8.61160442e+03 ! particle number mass Rhill +4.21738363e+03 !particle radius in AU 1.78412490e+06 -1.05393977e+07 -1.79940495e+04 ! x y z 1.97327292e+03 3.39702264e+02 -1.56396341e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -872 1.71085269e+06 3.01722059e+04 ! particle number mass Rhill -1.24124221e+04 !particle radius in m +Body872 1.71085269e+06 3.01722059e+04 ! particle number mass Rhill +1.24124221e+04 !particle radius in AU 3.48276485e+06 1.24683799e+07 5.71803206e+04 ! x y z -1.74011773e+03 4.74503606e+02 9.70062988e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -873 2.12621273e+05 1.22535537e+04 ! particle number mass Rhill -6.19423818e+03 !particle radius in m +Body873 2.12621273e+05 1.22535537e+04 ! particle number mass Rhill +6.19423818e+03 !particle radius in AU 9.54521899e+06 -4.27421825e+06 -7.89921579e+04 ! x y z 8.34463883e+02 1.83314396e+03 -1.96687832e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -874 1.11434552e+06 2.11782232e+04 ! particle number mass Rhill -1.07595049e+04 !particle radius in m +Body874 1.11434552e+06 2.11782232e+04 ! particle number mass Rhill +1.07595049e+04 !particle radius in AU -2.90897541e+06 -9.97345628e+06 4.60433948e+04 ! x y z 1.93634809e+03 -5.84664071e+02 -6.64958448e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -875 1.63374203e+06 2.84663610e+04 ! particle number mass Rhill -1.22230660e+04 !particle radius in m +Body875 1.63374203e+06 2.84663610e+04 ! particle number mass Rhill +1.22230660e+04 !particle radius in AU 4.25415099e+06 -1.14325644e+07 5.00958816e+04 ! x y z 1.75951768e+03 6.44587122e+02 6.30692655e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -876 3.21448512e+05 2.38193850e+04 ! particle number mass Rhill -7.10923390e+03 !particle radius in m +Body876 3.21448512e+05 2.38193850e+04 ! particle number mass Rhill +7.10923390e+03 !particle radius in AU -1.58007262e+07 -7.45105168e+06 -3.06690137e+04 ! x y z 6.82944765e+02 -1.41301363e+03 1.04453850e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -877 7.95360887e+04 7.85656320e+03 ! particle number mass Rhill -6.57693777e+03 !particle radius in m +Body877 7.95360887e+04 7.85656320e+03 ! particle number mass Rhill +6.57693777e+03 !particle radius in AU 8.25741284e+06 4.39411348e+06 3.78949633e+04 ! x y z -9.99781284e+02 1.87441904e+03 -3.21699586e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -878 7.92129839e+04 1.88783439e+04 ! particle number mass Rhill -6.56801971e+03 !particle radius in m +Body878 7.92129839e+04 1.88783439e+04 ! particle number mass Rhill +6.56801971e+03 !particle radius in AU 2.42332014e+06 2.17054415e+07 -5.36680055e+04 ! x y z -1.40455533e+03 1.37752686e+02 -3.67471579e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -879 1.02921195e+05 1.05249947e+04 ! particle number mass Rhill -7.16699767e+03 !particle radius in m +Body879 1.02921195e+05 1.05249947e+04 ! particle number mass Rhill +7.16699767e+03 !particle radius in AU -1.11338384e+07 -2.20174819e+06 -5.08310388e+04 ! x y z 3.88427106e+02 -1.90213725e+03 -1.60447088e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -880 1.15170895e+06 3.80457220e+04 ! particle number mass Rhill -1.08784389e+04 !particle radius in m +Body880 1.15170895e+06 3.80457220e+04 ! particle number mass Rhill +1.08784389e+04 !particle radius in AU -1.83729146e+07 1.19076985e+06 -1.72335144e+04 ! x y z -9.88243619e+01 -1.51803622e+03 2.27806536e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -881 1.02079633e+06 2.51296581e+04 ! particle number mass Rhill -1.04495767e+04 !particle radius in m +Body881 1.02079633e+06 2.51296581e+04 ! particle number mass Rhill +1.04495767e+04 !particle radius in AU -6.50873442e+06 -1.07127054e+07 -3.34128129e+03 ! x y z 1.57607258e+03 -9.74525706e+02 1.08233475e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -882 1.10724006e+06 2.27598022e+04 ! particle number mass Rhill -1.07365873e+04 !particle radius in m +Body882 1.10724006e+06 2.27598022e+04 ! particle number mass Rhill +1.07365873e+04 !particle radius in AU -2.66932388e+06 -1.08052729e+07 -7.29995052e+04 ! x y z 1.89275637e+03 -5.06517897e+02 -3.33939112e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -883 1.23514533e+06 2.71870351e+04 ! particle number mass Rhill -1.11350375e+04 !particle radius in m +Body883 1.23514533e+06 2.71870351e+04 ! particle number mass Rhill +1.11350375e+04 !particle radius in AU -8.68309984e+06 8.73295385e+06 2.12890448e+04 ! x y z -1.33510513e+03 -1.35075217e+03 2.94732064e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -884 6.42357183e+04 8.63381056e+03 ! particle number mass Rhill -4.15634119e+03 !particle radius in m +Body884 6.42357183e+04 8.63381056e+03 ! particle number mass Rhill +4.15634119e+03 !particle radius in AU -9.01680783e+06 -6.03891596e+06 -1.83491289e+04 ! x y z 1.08610553e+03 -1.66661637e+03 5.40990322e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -885 5.31967805e+05 1.46197870e+04 ! particle number mass Rhill -8.40905991e+03 !particle radius in m +Body885 5.31967805e+05 1.46197870e+04 ! particle number mass Rhill +8.40905991e+03 !particle radius in AU 8.73703169e+06 -2.34962014e+06 8.87466208e+03 ! x y z 5.81838269e+02 2.10387535e+03 1.59910498e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -886 1.06591901e+06 1.91036572e+04 ! particle number mass Rhill -1.06013311e+04 !particle radius in m +Body886 1.06591901e+06 1.91036572e+04 ! particle number mass Rhill +1.06013311e+04 !particle radius in AU -5.56657026e+06 -7.79387621e+06 -2.42457443e+04 ! x y z 1.72811494e+03 -1.19163725e+03 7.49315478e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -887 2.02044303e+05 1.75518766e+04 ! particle number mass Rhill -8.97396819e+03 !particle radius in m +Body887 2.02044303e+05 1.75518766e+04 ! particle number mass Rhill +8.97396819e+03 !particle radius in AU -1.39814291e+07 5.67086599e+06 7.10670472e+04 ! x y z -6.38825478e+02 -1.55959492e+03 1.37992185e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -888 2.20300503e+05 1.26487217e+04 ! particle number mass Rhill -9.23650109e+03 !particle radius in m +Body888 2.20300503e+05 1.26487217e+04 ! particle number mass Rhill +9.23650109e+03 !particle radius in AU -6.68069155e+05 -1.06256314e+07 1.03366197e+04 ! x y z 1.99524677e+03 -1.14341573e+02 7.10647594e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -889 1.81697506e+06 2.78836882e+04 ! particle number mass Rhill -1.26639344e+04 !particle radius in m +Body889 1.81697506e+06 2.78836882e+04 ! particle number mass Rhill +1.26639344e+04 !particle radius in AU 4.44131372e+06 1.05243943e+07 -4.93210722e+04 ! x y z -1.78877447e+03 7.65306939e+02 -2.91348510e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -890 4.62182800e+04 8.76540290e+03 ! particle number mass Rhill -3.72440519e+03 !particle radius in m +Body890 4.62182800e+04 8.76540290e+03 ! particle number mass Rhill +3.72440519e+03 !particle radius in AU 4.74513540e+06 -1.11521571e+07 1.99020178e+04 ! x y z 1.74857282e+03 7.32287072e+02 8.22196426e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -891 2.64052549e+05 1.12203260e+04 ! particle number mass Rhill -6.65808168e+03 !particle radius in m +Body891 2.64052549e+05 1.12203260e+04 ! particle number mass Rhill +6.65808168e+03 !particle radius in AU 3.69231178e+06 8.07781861e+06 -4.84025537e+04 ! x y z -1.99534439e+03 9.00711444e+02 -7.96406279e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -892 2.59999466e+05 1.21745079e+04 ! particle number mass Rhill -9.76097367e+03 !particle radius in m +Body892 2.59999466e+05 1.21745079e+04 ! particle number mass Rhill +9.76097367e+03 !particle radius in AU 7.96779900e+06 5.28681997e+06 4.51459562e+04 ! x y z -1.15797841e+03 1.77999708e+03 -1.86173466e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -893 1.67737402e+06 2.38355698e+04 ! particle number mass Rhill -1.23309244e+04 !particle radius in m +Body893 1.67737402e+06 2.38355698e+04 ! particle number mass Rhill +1.23309244e+04 !particle radius in AU -4.76453798e+06 -8.80906879e+06 -7.02042625e+03 ! x y z 1.84339352e+03 -9.61915676e+02 -9.22717545e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -894 1.37575479e+05 1.06778411e+04 ! particle number mass Rhill -7.89494909e+03 !particle radius in m +Body894 1.37575479e+05 1.06778411e+04 ! particle number mass Rhill +7.89494909e+03 !particle radius in AU -1.01354200e+07 1.79029021e+06 5.81214752e+04 ! x y z -3.69721169e+02 -2.02078532e+03 -1.89093419e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -895 2.61034648e+05 1.11860226e+04 ! particle number mass Rhill -9.77391088e+03 !particle radius in m +Body895 2.61034648e+05 1.11860226e+04 ! particle number mass Rhill +9.77391088e+03 !particle radius in AU 6.33480475e+06 -5.91857236e+06 -4.57999278e+04 ! x y z 1.55086475e+03 1.62084415e+03 -1.77397628e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -896 3.60957274e+05 1.87338359e+04 ! particle number mass Rhill -7.38931640e+03 !particle radius in m +Body896 3.60957274e+05 1.87338359e+04 ! particle number mass Rhill +7.38931640e+03 !particle radius in AU -1.06493767e+07 7.82814577e+06 2.86358415e+04 ! x y z -1.05832791e+03 -1.46150005e+03 -5.49731072e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -897 5.62899921e+05 3.09693578e+04 ! particle number mass Rhill -1.26273646e+04 !particle radius in m +Body897 5.62899921e+05 3.09693578e+04 ! particle number mass Rhill +1.26273646e+04 !particle radius in AU 7.65076109e+06 -1.70352283e+07 1.51301396e+04 ! x y z 1.39901314e+03 6.06223441e+02 4.14064364e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -898 4.46032399e+05 1.56971861e+04 ! particle number mass Rhill -1.16848854e+04 !particle radius in m +Body898 4.46032399e+05 1.56971861e+04 ! particle number mass Rhill +1.16848854e+04 !particle radius in AU -6.95564135e+06 7.65404475e+06 -2.72421907e+04 ! x y z -1.52099853e+03 -1.35598646e+03 -9.21577263e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -899 1.52575316e+05 1.62545462e+04 ! particle number mass Rhill -5.54558146e+03 !particle radius in m +Body899 1.52575316e+05 1.62545462e+04 ! particle number mass Rhill +5.54558146e+03 !particle radius in AU -5.49140677e+04 1.54446317e+07 -1.73043597e+04 ! x y z -1.66030895e+03 -1.12967723e+01 -2.73734027e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -900 2.78977890e+04 8.65543048e+03 ! particle number mass Rhill -4.63830089e+03 !particle radius in m +Body900 2.78977890e+04 8.65543048e+03 ! particle number mass Rhill +4.63830089e+03 !particle radius in AU 5.28463967e+06 -1.36432294e+07 1.50949984e+05 ! x y z 1.58056809e+03 6.18784193e+02 2.19476691e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -901 1.42775206e+06 2.43769191e+04 ! particle number mass Rhill -1.16861089e+04 !particle radius in m +Body901 1.42775206e+06 2.43769191e+04 ! particle number mass Rhill +1.16861089e+04 !particle radius in AU -6.87024799e+06 -8.49204530e+06 6.90721153e+04 ! x y z 1.52959279e+03 -1.25803812e+03 2.67976166e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -902 4.69852863e+05 1.45463044e+04 ! particle number mass Rhill -8.06813127e+03 !particle radius in m +Body902 4.69852863e+05 1.45463044e+04 ! particle number mass Rhill +8.06813127e+03 !particle radius in AU -5.81437057e+06 -7.46625959e+06 3.98273573e+04 ! x y z 1.67686329e+03 -1.30572183e+03 -1.17212431e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -903 7.51681526e+04 1.28937189e+04 ! particle number mass Rhill -4.37989422e+03 !particle radius in m +Body903 7.51681526e+04 1.28937189e+04 ! particle number mass Rhill +4.37989422e+03 !particle radius in AU -2.38298847e+06 -1.53195500e+07 2.60001847e+03 ! x y z 1.63293505e+03 -2.84649559e+02 -1.48524125e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -904 9.91305679e+05 2.50606865e+04 ! particle number mass Rhill -1.03479629e+04 !particle radius in m +Body904 9.91305679e+05 2.50606865e+04 ! particle number mass Rhill +1.03479629e+04 !particle radius in AU 8.39690801e+06 9.44600671e+06 -3.53959311e+04 ! x y z -1.39463544e+03 1.20681438e+03 -1.20628234e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -905 1.77161305e+05 1.92271736e+04 ! particle number mass Rhill -5.82874810e+03 !particle radius in m +Body905 1.77161305e+05 1.92271736e+04 ! particle number mass Rhill +5.82874810e+03 !particle radius in AU 1.01396678e+07 -1.41312986e+07 5.56406543e+04 ! x y z 1.26355281e+03 9.21806042e+02 1.06940044e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -906 1.43204042e+05 9.46035229e+03 ! particle number mass Rhill -5.42963650e+03 !particle radius in m +Body906 1.43204042e+05 9.46035229e+03 ! particle number mass Rhill +5.42963650e+03 !particle radius in AU -5.21396669e+05 9.14782087e+06 -7.71915905e+03 ! x y z -2.15141308e+03 -1.66257020e+02 2.07412147e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -907 5.82582248e+05 1.59774603e+04 ! particle number mass Rhill -1.27728576e+04 !particle radius in m +Body907 5.82582248e+05 1.59774603e+04 ! particle number mass Rhill +1.27728576e+04 !particle radius in AU -3.61884147e+05 9.58012066e+06 -6.32163221e+04 ! x y z -2.11988696e+03 -7.34599885e+01 -6.66237019e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -908 1.77222758e+06 3.99642317e+04 ! particle number mass Rhill -1.25591089e+04 !particle radius in m +Body908 1.77222758e+06 3.99642317e+04 ! particle number mass Rhill +1.25591089e+04 !particle radius in AU -1.53596824e+07 6.40708086e+06 -1.04989342e+05 ! x y z -6.14876376e+02 -1.48301382e+03 1.26290046e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -909 3.69937337e+05 1.80154389e+04 ! particle number mass Rhill -1.09785515e+04 !particle radius in m +Body909 3.69937337e+05 1.80154389e+04 ! particle number mass Rhill +1.09785515e+04 !particle radius in AU -6.50197885e+06 -1.10181249e+07 -6.62877770e+04 ! x y z 1.58080387e+03 -9.02970180e+02 -1.68313909e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -910 1.91277530e+05 1.12680358e+04 ! particle number mass Rhill -8.81164464e+03 !particle radius in m +Body910 1.91277530e+05 1.12680358e+04 ! particle number mass Rhill +8.81164464e+03 !particle radius in AU 9.75396219e+06 -9.13807405e+05 -7.87078491e+04 ! x y z 2.02298152e+02 2.08890085e+03 -1.56193445e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -911 7.14924966e+04 1.06182194e+04 ! particle number mass Rhill -6.34730173e+03 !particle radius in m +Body911 7.14924966e+04 1.06182194e+04 ! particle number mass Rhill +6.34730173e+03 !particle radius in AU 1.22059111e+07 -4.11569584e+06 4.51136993e+04 ! x y z 6.18155979e+02 1.71784899e+03 -1.45608490e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -912 1.55563555e+05 1.54568240e+04 ! particle number mass Rhill -8.22504486e+03 !particle radius in m +Body912 1.55563555e+05 1.54568240e+04 ! particle number mass Rhill +8.22504486e+03 !particle radius in AU -1.39589249e+07 4.22706952e+06 1.42629172e+04 ! x y z -4.79490807e+02 -1.64034272e+03 -9.80150049e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -913 1.82993785e+05 1.31378262e+04 ! particle number mass Rhill -8.68255953e+03 !particle radius in m +Body913 1.82993785e+05 1.31378262e+04 ! particle number mass Rhill +8.68255953e+03 !particle radius in AU -8.72337367e+06 7.89855612e+06 -1.46432428e+04 ! x y z -1.27359213e+03 -1.41072675e+03 -9.09643338e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -914 7.86241766e+04 1.03655056e+04 ! particle number mass Rhill -6.55170538e+03 !particle radius in m +Body914 7.86241766e+04 1.03655056e+04 ! particle number mass Rhill +6.55170538e+03 !particle radius in AU -5.98689124e+06 -1.08278571e+07 -7.13966053e+04 ! x y z 1.61204187e+03 -9.04138146e+02 6.38760222e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -915 8.65375593e+04 1.02314925e+04 ! particle number mass Rhill -6.76452340e+03 !particle radius in m +Body915 8.65375593e+04 1.02314925e+04 ! particle number mass Rhill +6.76452340e+03 !particle radius in AU -1.07210273e+07 4.87007409e+06 5.61861647e+04 ! x y z -7.65098099e+02 -1.73800332e+03 -1.14385352e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -916 5.51731603e+05 2.32611955e+04 ! particle number mass Rhill -8.51193471e+03 !particle radius in m +Body916 5.51731603e+05 2.32611955e+04 ! particle number mass Rhill +8.51193471e+03 !particle radius in AU 2.68858721e+06 -1.40830147e+07 -6.98869515e+04 ! x y z 1.69547510e+03 3.28640998e+02 9.31981924e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -917 6.08037372e+05 2.25179870e+04 ! particle number mass Rhill -1.29562429e+04 !particle radius in m +Body917 6.08037372e+05 2.25179870e+04 ! particle number mass Rhill +1.29562429e+04 !particle radius in AU -1.30260417e+07 3.41761257e+06 -7.30560375e+04 ! x y z -4.58021484e+02 -1.72002575e+03 5.01502204e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -918 4.79734805e+05 1.48772500e+04 ! particle number mass Rhill -1.19720742e+04 !particle radius in m +Body918 4.79734805e+05 1.48772500e+04 ! particle number mass Rhill +1.19720742e+04 !particle radius in AU -4.79303948e+06 8.20836672e+06 6.12546656e+03 ! x y z -1.84411142e+03 -1.07059828e+03 4.85115120e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -919 3.74633489e+05 1.27654921e+04 ! particle number mass Rhill -1.10248119e+04 !particle radius in m +Body919 3.74633489e+05 1.27654921e+04 ! particle number mass Rhill +1.10248119e+04 !particle radius in AU 7.16020189e+06 -5.20913143e+06 7.41222240e+04 ! x y z 1.31083472e+03 1.77863703e+03 -1.14709109e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -920 5.48029178e+04 7.03991663e+03 ! particle number mass Rhill -5.80902907e+03 !particle radius in m +Body920 5.48029178e+04 7.03991663e+03 ! particle number mass Rhill +5.80902907e+03 !particle radius in AU 8.99285148e+05 9.31741571e+06 -4.43761911e+04 ! x y z -2.12986907e+03 1.90203427e+02 1.15661198e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -921 4.87827229e+05 1.74774715e+04 ! particle number mass Rhill -1.20390163e+04 !particle radius in m +Body921 4.87827229e+05 1.74774715e+04 ! particle number mass Rhill +1.20390163e+04 !particle radius in AU 1.03624859e+07 4.00217371e+06 -3.33921276e+04 ! x y z -7.29889411e+02 1.83209523e+03 -3.12704990e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -922 1.05756885e+06 2.06748257e+04 ! particle number mass Rhill -1.05735757e+04 !particle radius in m +Body922 1.05756885e+06 2.06748257e+04 ! particle number mass Rhill +1.05735757e+04 !particle radius in AU 9.54531799e+06 -3.82777787e+06 -3.08506232e+03 ! x y z 7.65760228e+02 1.88710727e+03 1.54248284e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -923 6.63813995e+04 1.09433671e+04 ! particle number mass Rhill -6.19228768e+03 !particle radius in m +Body923 6.63813995e+04 1.09433671e+04 ! particle number mass Rhill +6.19228768e+03 !particle radius in AU -1.26508821e+07 -4.96817255e+06 -7.46581466e+04 ! x y z 6.38137580e+02 -1.65998064e+03 -1.05229703e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -924 1.00406632e+05 9.99833989e+03 ! particle number mass Rhill -7.10814791e+03 !particle radius in m +Body924 1.00406632e+05 9.99833989e+03 ! particle number mass Rhill +7.10814791e+03 !particle radius in AU 6.65714202e+06 8.41817806e+06 5.11373555e+04 ! x y z -1.58896209e+03 1.22956179e+03 -1.67191084e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -925 5.87747010e+05 2.18911763e+04 ! particle number mass Rhill -8.69325608e+03 !particle radius in m +Body925 5.87747010e+05 2.18911763e+04 ! particle number mass Rhill +8.69325608e+03 !particle radius in AU -1.30432977e+07 2.41169295e+06 9.46191119e+04 ! x y z -3.33638402e+02 -1.76051970e+03 1.16209842e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -926 4.75462803e+04 1.18644248e+04 ! particle number mass Rhill -3.75974028e+03 !particle radius in m +Body926 4.75462803e+04 1.18644248e+04 ! particle number mass Rhill +3.75974028e+03 !particle radius in AU 1.62111278e+07 2.59399704e+06 1.61282577e+05 ! x y z -2.71405873e+02 1.59773598e+03 -5.81005218e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -927 3.60899345e+05 1.33896338e+04 ! particle number mass Rhill -7.38892108e+03 !particle radius in m +Body927 3.60899345e+05 1.33896338e+04 ! particle number mass Rhill +7.38892108e+03 !particle radius in AU 2.06345127e+06 9.22023526e+06 -7.22571528e+03 ! x y z -2.09005362e+03 4.30799852e+02 -1.90823955e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -928 6.94986732e+05 2.84409336e+04 ! particle number mass Rhill -9.19272993e+03 !particle radius in m +Body928 6.94986732e+05 2.84409336e+04 ! particle number mass Rhill +9.19272993e+03 !particle radius in AU -1.13721993e+07 -1.13987875e+07 8.83921800e+04 ! x y z 1.16224359e+03 -1.15160239e+03 -1.45306478e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -929 1.42004128e+06 2.12356496e+04 ! particle number mass Rhill -1.16650334e+04 !particle radius in m +Body929 1.42004128e+06 2.12356496e+04 ! particle number mass Rhill +1.16650334e+04 !particle radius in AU 2.77942362e+06 -9.01437717e+06 -5.67717467e+04 ! x y z 2.03984238e+03 6.54242641e+02 1.85000009e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -930 2.24733888e+05 1.45872492e+04 ! particle number mass Rhill -9.29804930e+03 !particle radius in m +Body930 2.24733888e+05 1.45872492e+04 ! particle number mass Rhill +9.29804930e+03 !particle radius in AU -1.18629177e+07 -4.45829589e+05 7.85442143e+04 ! x y z 1.01652144e+02 -1.91537773e+03 4.05611152e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -931 1.47976471e+06 2.49169315e+04 ! particle number mass Rhill -1.18263271e+04 !particle radius in m +Body931 1.47976471e+06 2.49169315e+04 ! particle number mass Rhill +1.18263271e+04 !particle radius in AU 8.95238380e+06 6.51302794e+06 3.45161345e+04 ! x y z -1.14800130e+03 1.59335172e+03 -7.03295250e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -932 1.70114086e+05 1.29084720e+04 ! particle number mass Rhill -5.75041368e+03 !particle radius in m +Body932 1.70114086e+05 1.29084720e+04 ! particle number mass Rhill +5.75041368e+03 !particle radius in AU 6.69475580e+06 -9.28551107e+06 -4.91541805e+04 ! x y z 1.59233658e+03 1.14243210e+03 1.78210731e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -933 1.56606121e+06 2.62055008e+04 ! particle number mass Rhill -1.20518923e+04 !particle radius in m +Body933 1.56606121e+06 2.62055008e+04 ! particle number mass Rhill +1.20518923e+04 !particle radius in AU 1.12760016e+07 1.84611316e+06 -7.48490699e+04 ! x y z -2.79591330e+02 1.91267253e+03 -1.78025369e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -934 8.12648144e+05 1.75896750e+04 ! particle number mass Rhill -9.68470759e+03 !particle radius in m +Body934 8.12648144e+05 1.75896750e+04 ! particle number mass Rhill +9.68470759e+03 !particle radius in AU -6.71328804e+03 9.68278345e+06 -5.52334404e+04 ! x y z -2.08432418e+03 -8.54871802e+00 1.66064441e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -935 9.32242815e+04 1.03934151e+04 ! particle number mass Rhill -4.70574813e+03 !particle radius in m +Body935 9.32242815e+04 1.03934151e+04 ! particle number mass Rhill +4.70574813e+03 !particle radius in AU -6.96627774e+06 9.23026738e+06 -2.87240918e+04 ! x y z -1.52286258e+03 -1.17748048e+03 -3.95814303e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -936 9.15923643e+04 9.93071034e+03 ! particle number mass Rhill -4.67812785e+03 !particle radius in m +Body936 9.15923643e+04 9.93071034e+03 ! particle number mass Rhill +4.67812785e+03 !particle radius in AU 1.23905483e+05 -1.09739869e+07 1.36396267e+04 ! x y z 1.98817193e+03 2.04705438e+01 -2.01972620e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -937 7.73209091e+04 8.79356723e+03 ! particle number mass Rhill -6.51530333e+03 !particle radius in m +Body937 7.73209091e+04 8.79356723e+03 ! particle number mass Rhill +6.51530333e+03 !particle radius in AU -6.63943360e+06 7.91940404e+06 6.09014325e+04 ! x y z -1.56332740e+03 -1.31647658e+03 2.73931815e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -938 1.15431944e+06 2.13451050e+04 ! particle number mass Rhill -1.08866518e+04 !particle radius in m +Body938 1.15431944e+06 2.13451050e+04 ! particle number mass Rhill +1.08866518e+04 !particle radius in AU 5.51288052e+06 -8.48543006e+06 3.44011201e+04 ! x y z 1.72675322e+03 1.14606699e+03 -1.64108886e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -939 1.21706761e+05 1.16464966e+04 ! particle number mass Rhill -7.57891828e+03 !particle radius in m +Body939 1.21706761e+05 1.16464966e+04 ! particle number mass Rhill +7.57891828e+03 !particle radius in AU -6.54081328e+06 -9.90968551e+06 -8.75124119e+02 ! x y z 1.59735811e+03 -1.02533687e+03 2.87435690e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -940 1.44471560e+05 9.79699996e+03 ! particle number mass Rhill -5.44560895e+03 !particle radius in m +Body940 1.44471560e+05 9.79699996e+03 ! particle number mass Rhill +5.44560895e+03 !particle radius in AU -6.45935547e+06 -6.74639603e+06 -1.43260248e+04 ! x y z 1.55668948e+03 -1.48434496e+03 1.71287847e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -941 3.71977165e+04 6.32336532e+03 ! particle number mass Rhill -5.10514110e+03 !particle radius in m +Body941 3.71977165e+04 6.32336532e+03 ! particle number mass Rhill +5.10514110e+03 !particle radius in AU 6.10089271e+06 -7.18245737e+06 -1.54248190e+04 ! x y z 1.63416125e+03 1.39276630e+03 2.48510957e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -942 1.37980847e+05 9.55947495e+03 ! particle number mass Rhill -5.36280409e+03 !particle radius in m +Body942 1.37980847e+05 9.55947495e+03 ! particle number mass Rhill +5.36280409e+03 !particle radius in AU 4.82602306e+06 -8.03439545e+06 -7.67679872e+02 ! x y z 1.85073484e+03 1.06188550e+03 8.12750484e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -943 4.27857629e+05 1.62853799e+04 ! particle number mass Rhill -1.15239690e+04 !particle radius in m +Body943 4.27857629e+05 1.62853799e+04 ! particle number mass Rhill +1.15239690e+04 !particle radius in AU 4.44437862e+06 -9.91763988e+06 4.31307866e+04 ! x y z 1.80875755e+03 8.27020553e+02 -1.01329362e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -944 1.74965082e+06 3.10582259e+04 ! particle number mass Rhill -1.25055498e+04 !particle radius in m +Body944 1.74965082e+06 3.10582259e+04 ! particle number mass Rhill +1.25055498e+04 !particle radius in AU -1.14222033e+07 -6.06408313e+06 4.03399165e+03 ! x y z 8.56095542e+02 -1.61207885e+03 -3.63239850e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -945 6.72561666e+04 7.87507156e+03 ! particle number mass Rhill -6.21936950e+03 !particle radius in m +Body945 6.72561666e+04 7.87507156e+03 ! particle number mass Rhill +6.21936950e+03 !particle radius in AU 7.76499151e+06 5.91861320e+06 3.34591110e+04 ! x y z -1.26430519e+03 1.67125233e+03 9.81409163e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -946 8.64373959e+04 8.05199233e+03 ! particle number mass Rhill -6.76191251e+03 !particle radius in m +Body946 8.64373959e+04 8.05199233e+03 ! particle number mass Rhill +6.76191251e+03 !particle radius in AU 6.41969262e+05 9.07081567e+06 -7.35294633e+03 ! x y z -2.17769789e+03 1.33895254e+02 1.52672754e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -947 5.36332278e+04 1.03602264e+04 ! particle number mass Rhill -3.91378509e+03 !particle radius in m +Body947 5.36332278e+04 1.03602264e+04 ! particle number mass Rhill +3.91378509e+03 !particle radius in AU -1.06528591e+07 8.93880305e+06 -5.72463584e+04 ! x y z -1.12548728e+03 -1.34323474e+03 6.06469294e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -948 1.17211860e+05 2.10405973e+04 ! particle number mass Rhill -7.48444340e+03 !particle radius in m +Body948 1.17211860e+05 2.10405973e+04 ! particle number mass Rhill +7.48444340e+03 !particle radius in AU -3.19955637e+06 2.16099834e+07 -4.14759774e+03 ! x y z -1.38306232e+03 -1.85981613e+02 8.81754791e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -949 9.11608285e+04 1.21936686e+04 ! particle number mass Rhill -6.88290450e+03 !particle radius in m +Body949 9.11608285e+04 1.21936686e+04 ! particle number mass Rhill +6.88290450e+03 !particle radius in AU -1.10508713e+07 7.71301153e+06 -1.18282672e+05 ! x y z -1.00552378e+03 -1.48763887e+03 9.37513940e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -950 4.59859255e+05 1.50029271e+04 ! particle number mass Rhill -8.01051874e+03 !particle radius in m +Body950 4.59859255e+05 1.50029271e+04 ! particle number mass Rhill +8.01051874e+03 !particle radius in AU -6.84568402e+06 6.93126559e+06 -8.44628949e+04 ! x y z -1.48797188e+03 -1.48762515e+03 1.55236862e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -951 1.26288065e+06 2.47709011e+04 ! particle number mass Rhill -1.12177675e+04 !particle radius in m +Body951 1.26288065e+06 2.47709011e+04 ! particle number mass Rhill +1.12177675e+04 !particle radius in AU -4.99810043e+06 1.03574496e+07 4.97035769e+03 ! x y z -1.74218913e+03 -8.42934517e+02 -8.95086256e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -952 1.67008034e+06 2.22513268e+04 ! particle number mass Rhill -1.23130257e+04 !particle radius in m +Body952 1.67008034e+06 2.22513268e+04 ! particle number mass Rhill +1.23130257e+04 !particle radius in AU -5.22893040e+06 -8.08300727e+06 -6.54096012e+04 ! x y z 1.73636332e+03 -1.16550147e+03 -7.26670162e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -953 7.95372577e+05 1.86967687e+04 ! particle number mass Rhill -9.61558846e+03 !particle radius in m +Body953 7.95372577e+05 1.86967687e+04 ! particle number mass Rhill +9.61558846e+03 !particle radius in AU 8.48788962e+06 5.61313541e+06 -3.97847978e+04 ! x y z -1.16430859e+03 1.69033461e+03 -1.63966122e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -954 8.47395554e+04 1.00079467e+04 ! particle number mass Rhill -6.71734597e+03 !particle radius in m +Body954 8.47395554e+04 1.00079467e+04 ! particle number mass Rhill +6.71734597e+03 !particle radius in AU -8.10346206e+06 8.11251976e+06 -2.39530194e+04 ! x y z -1.39528138e+03 -1.34141849e+03 -1.46583663e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -955 6.93438909e+05 2.84903753e+04 ! particle number mass Rhill -9.18590040e+03 !particle radius in m +Body955 6.93438909e+05 2.84903753e+04 ! particle number mass Rhill +9.18590040e+03 !particle radius in AU 1.01379295e+07 1.27148009e+07 1.28683748e+05 ! x y z -1.25755832e+03 1.02459820e+03 2.79221586e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -956 7.31942427e+04 1.24518277e+04 ! particle number mass Rhill -4.34121509e+03 !particle radius in m +Body956 7.31942427e+04 1.24518277e+04 ! particle number mass Rhill +4.34121509e+03 !particle radius in AU -3.34906408e+06 -1.45007656e+07 3.06724892e+04 ! x y z 1.65986723e+03 -3.87189481e+02 -1.20093781e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -957 3.55587603e+05 1.37341596e+04 ! particle number mass Rhill -7.35249155e+03 !particle radius in m +Body957 3.55587603e+05 1.37341596e+04 ! particle number mass Rhill +7.35249155e+03 !particle radius in AU 9.72284422e+06 5.24694587e+05 -2.03401805e+04 ! x y z -1.64711568e+02 2.09599540e+03 2.03343245e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -958 1.71213733e+06 2.28612972e+04 ! particle number mass Rhill -1.24155280e+04 !particle radius in m +Body958 1.71213733e+06 2.28612972e+04 ! particle number mass Rhill +1.24155280e+04 !particle radius in AU 8.48073237e+06 4.51058486e+06 2.53523368e+04 ! x y z -9.87084405e+02 1.87149600e+03 2.30788388e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -959 1.49068065e+05 1.05743641e+04 ! particle number mass Rhill -5.50275953e+03 !particle radius in m +Body959 1.49068065e+05 1.05743641e+04 ! particle number mass Rhill +5.50275953e+03 !particle radius in AU 6.45455163e+06 -7.63351792e+06 -1.42285814e+05 ! x y z 1.59381455e+03 1.33155701e+03 -4.40247600e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -960 2.47891004e+05 1.32144407e+04 ! particle number mass Rhill -6.51937434e+03 !particle radius in m +Body960 2.47891004e+05 1.32144407e+04 ! particle number mass Rhill +6.51937434e+03 !particle radius in AU -8.78159278e+06 5.76426176e+06 9.09624378e+04 ! x y z -1.08134022e+03 -1.71795196e+03 -8.73857909e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -961 2.14835918e+05 1.35103323e+04 ! particle number mass Rhill -6.21567016e+03 !particle radius in m +Body961 2.14835918e+05 1.35103323e+04 ! particle number mass Rhill +6.21567016e+03 !particle radius in AU 9.52925894e+06 6.10621713e+06 8.38784066e+04 ! x y z -1.05186401e+03 1.64327133e+03 8.87777455e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -962 6.29065831e+05 1.73269791e+04 ! particle number mass Rhill -8.89237350e+03 !particle radius in m +Body962 6.29065831e+05 1.73269791e+04 ! particle number mass Rhill +8.89237350e+03 !particle radius in AU 1.01892854e+07 -1.36265120e+06 -1.12357324e+04 ! x y z 2.44094973e+02 2.01912416e+03 -1.23871747e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -963 5.16147317e+05 1.50575212e+04 ! particle number mass Rhill -1.22676172e+04 !particle radius in m +Body963 5.16147317e+05 1.50575212e+04 ! particle number mass Rhill +1.22676172e+04 !particle radius in AU -9.44952303e+06 6.64794032e+05 2.66575883e+04 ! x y z -1.65527486e+02 -2.12001832e+03 -2.00449290e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -964 1.85821608e+05 1.40472593e+04 ! particle number mass Rhill -5.92221816e+03 !particle radius in m +Body964 1.85821608e+05 1.40472593e+04 ! particle number mass Rhill +5.92221816e+03 !particle radius in AU 1.83154773e+05 -1.22553647e+07 8.81712635e+04 ! x y z 1.88138741e+03 4.37026901e+01 -1.09775010e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -965 1.06343938e+06 2.54408850e+04 ! particle number mass Rhill -1.05931042e+04 !particle radius in m +Body965 1.06343938e+06 2.54408850e+04 ! particle number mass Rhill +1.05931042e+04 !particle radius in AU -7.97487196e+06 -9.77747428e+06 2.72278643e+04 ! x y z 1.43311159e+03 -1.15357841e+03 -9.89419786e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -966 1.58002425e+06 2.58710114e+04 ! particle number mass Rhill -1.20876047e+04 !particle radius in m +Body966 1.58002425e+06 2.58710114e+04 ! particle number mass Rhill +1.20876047e+04 !particle radius in AU 1.94057310e+06 1.10640858e+07 -6.67098464e+04 ! x y z -1.92090005e+03 3.39961177e+02 9.93411747e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -967 8.58401235e+05 2.07572427e+04 ! particle number mass Rhill -9.86315310e+03 !particle radius in m +Body967 8.58401235e+05 2.07572427e+04 ! particle number mass Rhill +9.86315310e+03 !particle radius in AU -4.65532155e+06 1.00459520e+07 1.92148265e+04 ! x y z -1.79352379e+03 -7.96705869e+02 7.04140623e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -968 1.57528626e+05 1.22389329e+04 ! particle number mass Rhill -5.60495536e+03 !particle radius in m +Body968 1.57528626e+05 1.22389329e+04 ! particle number mass Rhill +5.60495536e+03 !particle radius in AU -7.15394211e+06 8.89862789e+06 -1.32380207e+04 ! x y z -1.51757568e+03 -1.20615223e+03 1.35463888e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -969 2.12134735e+04 6.51263393e+03 ! particle number mass Rhill -4.23356519e+03 !particle radius in m +Body969 2.12134735e+04 6.51263393e+03 ! particle number mass Rhill +4.23356519e+03 !particle radius in AU -9.43261369e+06 7.11601450e+06 5.44346690e+03 ! x y z -1.15890933e+03 -1.51651908e+03 -4.86353449e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -970 3.29578174e+05 1.21204951e+04 ! particle number mass Rhill -7.16866817e+03 !particle radius in m +Body970 3.29578174e+05 1.21204951e+04 ! particle number mass Rhill +7.16866817e+03 !particle radius in AU 4.46987922e+06 -7.54136153e+06 -1.75706858e+03 ! x y z 1.91337212e+03 1.12893149e+03 -4.46774330e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -971 1.05411151e+05 1.11684890e+04 ! particle number mass Rhill -4.90246515e+03 !particle radius in m +Body971 1.05411151e+05 1.11684890e+04 ! particle number mass Rhill +4.90246515e+03 !particle radius in AU -1.19950136e+07 8.16218853e+05 1.95819347e+04 ! x y z -1.42817655e+02 -1.87495301e+03 1.71449405e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -972 2.55344298e+05 1.76418586e+04 ! particle number mass Rhill -9.70236728e+03 !particle radius in m +Body972 2.55344298e+05 1.76418586e+04 ! particle number mass Rhill +9.70236728e+03 !particle radius in AU -7.49210830e+06 -1.17675041e+07 3.09999690e+03 ! x y z 1.49945194e+03 -9.16839153e+02 1.04827746e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -973 1.37703494e+05 1.12425461e+04 ! particle number mass Rhill -7.89739710e+03 !particle radius in m +Body973 1.37703494e+05 1.12425461e+04 ! particle number mass Rhill +7.89739710e+03 !particle radius in AU 1.05050579e+07 -3.74118158e+06 2.63300605e+04 ! x y z 6.73610054e+02 1.82488852e+03 9.07423039e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -974 9.84103923e+05 2.00432924e+04 ! particle number mass Rhill -1.03228429e+04 !particle radius in m +Body974 9.84103923e+05 2.00432924e+04 ! particle number mass Rhill +1.03228429e+04 !particle radius in AU 4.89752221e+06 -8.85494139e+06 -6.75229080e+04 ! x y z 1.83164749e+03 9.48103081e+02 -1.57990456e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -975 1.00252238e+05 9.22748863e+03 ! particle number mass Rhill -4.82114680e+03 !particle radius in m +Body975 1.00252238e+05 9.22748863e+03 ! particle number mass Rhill +4.82114680e+03 !particle radius in AU -4.94662921e+06 -8.78447645e+06 -1.52590989e+04 ! x y z 1.78359269e+03 -1.02161338e+03 3.01217587e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -976 5.53135509e+05 1.68123246e+04 ! particle number mass Rhill -8.51914826e+03 !particle radius in m +Body976 5.53135509e+05 1.68123246e+04 ! particle number mass Rhill +8.51914826e+03 !particle radius in AU -2.76648508e+06 1.00209975e+07 1.12220539e+04 ! x y z -1.94324711e+03 -5.66151040e+02 8.07071042e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -977 5.41267890e+05 1.56970657e+04 ! particle number mass Rhill -1.24634921e+04 !particle radius in m +Body977 5.41267890e+05 1.56970657e+04 ! particle number mass Rhill +1.24634921e+04 !particle radius in AU 8.29729830e+05 -9.56636031e+06 7.03935010e+04 ! x y z 2.11653601e+03 1.88209489e+02 4.94852919e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -978 4.92634995e+04 7.32653208e+03 ! particle number mass Rhill -3.80446929e+03 !particle radius in m +Body978 4.92634995e+04 7.32653208e+03 ! particle number mass Rhill +3.80446929e+03 !particle radius in AU -9.93606780e+06 -1.91150532e+06 -4.47495052e+04 ! x y z 3.80453971e+02 -2.01867650e+03 -1.85403349e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -979 1.65274417e+04 7.83114800e+03 ! particle number mass Rhill -3.89556870e+03 !particle radius in m +Body979 1.65274417e+04 7.83114800e+03 ! particle number mass Rhill +3.89556870e+03 !particle radius in AU -8.01896356e+06 1.37141963e+07 -5.15166167e+03 ! x y z -1.39036186e+03 -8.35965747e+02 -1.59320152e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -980 5.24214865e+04 6.69045772e+03 ! particle number mass Rhill -5.72363723e+03 !particle radius in m +Body980 5.24214865e+04 6.69045772e+03 ! particle number mass Rhill +5.72363723e+03 !particle radius in AU -1.85002148e+06 -8.80679540e+06 1.35544509e+04 ! x y z 2.13508260e+03 -4.62001715e+02 -1.42665412e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -981 9.63241215e+04 2.06858686e+04 ! particle number mass Rhill -4.75733808e+03 !particle radius in m +Body981 9.63241215e+04 2.06858686e+04 ! particle number mass Rhill +4.75733808e+03 !particle radius in AU 4.27594078e+06 -2.26843001e+07 -1.55793996e+05 ! x y z 1.32907578e+03 2.52657022e+02 -1.02801831e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -982 1.49951567e+05 1.33263763e+04 ! particle number mass Rhill -8.12492435e+03 !particle radius in m +Body982 1.49951567e+05 1.33263763e+04 ! particle number mass Rhill +8.12492435e+03 !particle radius in AU -5.68991814e+06 -1.12264560e+07 -5.21915423e+04 ! x y z 1.65234255e+03 -8.32199277e+02 -1.84232859e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -983 7.13391753e+05 2.49266565e+04 ! particle number mass Rhill -9.27317292e+03 !particle radius in m +Body983 7.13391753e+05 2.49266565e+04 ! particle number mass Rhill +9.27317292e+03 !particle radius in AU 5.57078844e+06 -1.29122392e+07 2.98061387e+04 ! x y z 1.60978124e+03 6.76666256e+02 -1.81556760e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -984 4.91078407e+05 1.52853655e+04 ! particle number mass Rhill -1.20657022e+04 !particle radius in m +Body984 4.91078407e+05 1.52853655e+04 ! particle number mass Rhill +1.20657022e+04 !particle radius in AU -9.23646620e+06 -3.48333300e+06 -5.66153126e+04 ! x y z 7.62840282e+02 -1.92758119e+03 -1.42885719e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -985 3.03747127e+04 9.37667012e+03 ! particle number mass Rhill -4.77169909e+03 !particle radius in m +Body985 3.03747127e+04 9.37667012e+03 ! particle number mass Rhill +4.77169909e+03 !particle radius in AU -1.33386904e+07 -7.03492878e+06 5.22429887e+04 ! x y z 7.86090473e+02 -1.49627525e+03 -5.64598667e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -986 7.62789305e+04 7.49209491e+03 ! particle number mass Rhill -4.40136307e+03 !particle radius in m +Body986 7.62789305e+04 7.49209491e+03 ! particle number mass Rhill +4.40136307e+03 !particle radius in AU -4.47610210e+06 -7.77281547e+06 -5.58878589e+04 ! x y z 1.89664270e+03 -1.07211196e+03 -5.72288054e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -987 5.38217351e+05 1.59161032e+04 ! particle number mass Rhill -8.44186160e+03 !particle radius in m +Body987 5.38217351e+05 1.59161032e+04 ! particle number mass Rhill +8.44186160e+03 !particle radius in AU -9.07004249e+06 -3.73002016e+06 4.79325609e+04 ! x y z 7.83046085e+02 -1.94541887e+03 -4.25596103e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -988 1.46677051e+06 5.27296565e+04 ! particle number mass Rhill -1.17916085e+04 !particle radius in m +Body988 1.46677051e+06 5.27296565e+04 ! particle number mass Rhill +1.17916085e+04 !particle radius in AU 4.77535808e+06 2.28272957e+07 -1.30485185e+05 ! x y z -1.33059311e+03 2.72226813e+02 1.17199136e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -989 7.83810354e+05 1.63919096e+04 ! particle number mass Rhill -9.56876735e+03 !particle radius in m +Body989 7.83810354e+05 1.63919096e+04 ! particle number mass Rhill +9.56876735e+03 !particle radius in AU -6.57222396e+06 -6.18414714e+06 5.03770860e+03 ! x y z 1.49882331e+03 -1.57253167e+03 6.35917239e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -990 9.04479666e+05 2.77109755e+04 ! particle number mass Rhill -1.00365688e+04 !particle radius in m +Body990 9.04479666e+05 2.77109755e+04 ! particle number mass Rhill +1.00365688e+04 !particle radius in AU 1.29779524e+07 -6.46401216e+06 3.48941370e+04 ! x y z 7.80281531e+02 1.52896125e+03 1.61899666e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -991 1.14972347e+06 2.99375373e+04 ! particle number mass Rhill -1.08721841e+04 !particle radius in m +Body991 1.14972347e+06 2.99375373e+04 ! particle number mass Rhill +1.08721841e+04 !particle radius in AU 8.92019709e+06 1.13125647e+07 2.46536424e+04 ! x y z -1.35073430e+03 1.07341543e+03 -2.21311295e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -992 6.67357642e+04 1.09002272e+04 ! particle number mass Rhill -6.20328692e+03 !particle radius in m +Body992 6.67357642e+04 1.09002272e+04 ! particle number mass Rhill +6.20328692e+03 !particle radius in AU 1.07245478e+07 -8.18329560e+06 2.13161879e+04 ! x y z 1.05166921e+03 1.44439805e+03 3.54109421e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -993 6.11370558e+05 1.56023100e+04 ! particle number mass Rhill -1.29798746e+04 !particle radius in m +Body993 6.11370558e+05 1.56023100e+04 ! particle number mass Rhill +1.29798746e+04 !particle radius in AU -9.30550358e+06 8.66046042e+05 5.81017139e+04 ! x y z -2.29894248e+02 -2.12058022e+03 1.24228458e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -994 4.45237521e+05 1.77384318e+04 ! particle number mass Rhill -1.16779401e+04 !particle radius in m +Body994 4.45237521e+05 1.77384318e+04 ! particle number mass Rhill +1.16779401e+04 !particle radius in AU 7.60186730e+06 8.86968517e+06 -2.74017031e+04 ! x y z -1.43991356e+03 1.26760065e+03 4.33685357e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -995 4.53014340e+05 2.01907210e+04 ! particle number mass Rhill -1.17455396e+04 !particle radius in m +Body995 4.53014340e+05 2.01907210e+04 ! particle number mass Rhill +1.17455396e+04 !particle radius in AU 7.15301504e+06 -1.14025302e+07 6.70488022e+04 ! x y z 1.51419253e+03 9.18252451e+02 1.10269853e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -996 3.76622166e+05 1.36635044e+04 ! particle number mass Rhill -7.49470061e+03 !particle radius in m +Body996 3.76622166e+05 1.36635044e+04 ! particle number mass Rhill +7.49470061e+03 !particle radius in AU 1.23698701e+06 9.47565448e+06 3.23875154e+04 ! x y z -2.10148424e+03 2.50074394e+02 -1.91619258e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -997 1.45808293e+06 2.77686048e+04 ! particle number mass Rhill -1.17682821e+04 !particle radius in m +Body997 1.45808293e+06 2.77686048e+04 ! particle number mass Rhill +1.17682821e+04 !particle radius in AU -2.19991014e+06 -1.20488900e+07 1.28489104e+05 ! x y z 1.85062965e+03 -3.21678958e+02 -6.16390717e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -998 6.44391266e+05 1.73102080e+04 ! particle number mass Rhill -8.96400751e+03 !particle radius in m +Body998 6.44391266e+05 1.73102080e+04 ! particle number mass Rhill +8.96400751e+03 !particle radius in AU -9.49865812e+06 -3.70460583e+06 1.09215654e+05 ! x y z 7.34938455e+02 -1.90450100e+03 -1.30332251e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -999 3.65175986e+05 1.64023546e+04 ! particle number mass Rhill -1.09312475e+04 !particle radius in m +Body999 3.65175986e+05 1.64023546e+04 ! particle number mass Rhill +1.09312475e+04 !particle radius in AU 1.16226476e+07 1.38150369e+06 -1.92583058e+04 ! x y z -2.26381104e+02 1.88932307e+03 9.55895676e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1000 9.88081458e+05 1.83194505e+04 ! particle number mass Rhill -1.03367318e+04 !particle radius in m +Body1000 9.88081458e+05 1.83194505e+04 ! particle number mass Rhill +1.03367318e+04 !particle radius in AU 2.15229887e+06 9.00160460e+06 -1.92923892e+04 ! x y z -2.09656754e+03 4.96075668e+02 -1.16719539e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1001 6.62894303e+05 1.89591067e+04 ! particle number mass Rhill -9.04899661e+03 !particle radius in m +Body1001 6.62894303e+05 1.89591067e+04 ! particle number mass Rhill +9.04899661e+03 !particle radius in AU 1.06770435e+06 1.09358139e+07 4.20062155e+03 ! x y z -1.96462815e+03 1.83747788e+02 1.48559298e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1002 2.36132593e+05 1.08091204e+04 ! particle number mass Rhill -6.41462061e+03 !particle radius in m +Body1002 2.36132593e+05 1.08091204e+04 ! particle number mass Rhill +6.41462061e+03 !particle radius in AU -6.42789916e+06 -5.88137546e+06 5.96791682e+04 ! x y z 1.50006484e+03 -1.65201659e+03 -1.22137321e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1003 4.16392913e+05 1.52456984e+04 ! particle number mass Rhill -7.74973359e+03 !particle radius in m +Body1003 4.16392913e+05 1.52456984e+04 ! particle number mass Rhill +7.74973359e+03 !particle radius in AU -6.05164524e+06 -8.28607289e+06 -1.65389595e+03 ! x y z 1.67689384e+03 -1.17484360e+03 -6.18688546e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1004 7.30911687e+05 2.22864831e+04 ! particle number mass Rhill -9.34847201e+03 !particle radius in m +Body1004 7.30911687e+05 2.22864831e+04 ! particle number mass Rhill +9.34847201e+03 !particle radius in AU 1.21489394e+07 1.95514302e+06 1.23709104e+05 ! x y z -3.04295890e+02 1.85437159e+03 3.05804994e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1005 7.04656544e+05 1.96594388e+04 ! particle number mass Rhill -9.23516856e+03 !particle radius in m +Body1005 7.04656544e+05 1.96594388e+04 ! particle number mass Rhill +9.23516856e+03 !particle radius in AU 7.58308846e+06 8.14384020e+06 6.98191668e+04 ! x y z -1.44939292e+03 1.32522723e+03 3.40820153e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1006 5.25571133e+05 1.46176750e+04 ! particle number mass Rhill -8.37521886e+03 !particle radius in m +Body1006 5.25571133e+05 1.46176750e+04 ! particle number mass Rhill +8.37521886e+03 !particle radius in AU 2.35699353e+06 8.90977821e+06 -1.38321436e+04 ! x y z -2.07425100e+03 5.54407039e+02 3.21999470e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1007 7.82045501e+05 2.08763285e+04 ! particle number mass Rhill -9.56158017e+03 !particle radius in m +Body1007 7.82045501e+05 2.08763285e+04 ! particle number mass Rhill +9.56158017e+03 !particle radius in AU -6.64360612e+06 -9.33976004e+06 -1.15941594e+05 ! x y z 1.59144044e+03 -1.09353179e+03 -2.96304740e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1008 8.70025224e+04 1.07141500e+04 ! particle number mass Rhill -4.59864210e+03 !particle radius in m +Body1008 8.70025224e+04 1.07141500e+04 ! particle number mass Rhill +4.59864210e+03 !particle radius in AU 1.19168220e+07 -3.45563255e+06 1.11394399e+04 ! x y z 5.17861579e+02 1.76812064e+03 1.39033798e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1009 5.64137560e+04 9.27247783e+03 ! particle number mass Rhill -3.98028346e+03 !particle radius in m +Body1009 5.64137560e+04 9.27247783e+03 ! particle number mass Rhill +3.98028346e+03 !particle radius in AU -9.71007247e+06 7.35807090e+06 -1.31989891e+05 ! x y z -1.16325288e+03 -1.47233955e+03 8.07759554e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1010 1.58980135e+06 2.10225293e+04 ! particle number mass Rhill -1.21124859e+04 !particle radius in m +Body1010 1.58980135e+06 2.10225293e+04 ! particle number mass Rhill +1.21124859e+04 !particle radius in AU 1.41799542e+06 -9.13902699e+06 4.24742676e+04 ! x y z 2.10898023e+03 3.21322532e+02 -1.26636042e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1011 6.48898466e+05 3.47604826e+04 ! particle number mass Rhill -8.98485858e+03 !particle radius in m +Body1011 6.48898466e+05 3.47604826e+04 ! particle number mass Rhill +8.98485858e+03 !particle radius in AU -1.08957227e+07 -1.70176619e+07 1.40648070e+05 ! x y z 1.21605254e+03 -8.04289078e+02 5.08636985e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1012 1.42919802e+06 2.30069491e+04 ! particle number mass Rhill -1.16900526e+04 !particle radius in m +Body1012 1.42919802e+06 2.30069491e+04 ! particle number mass Rhill +1.16900526e+04 !particle radius in AU -5.98329541e+06 8.30801044e+06 9.09812707e+03 ! x y z -1.64846384e+03 -1.22236838e+03 2.54695878e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1013 5.40040880e+05 1.47476030e+04 ! particle number mass Rhill -8.45138479e+03 !particle radius in m +Body1013 5.40040880e+05 1.47476030e+04 ! particle number mass Rhill +8.45138479e+03 !particle radius in AU -4.65472167e+06 -7.85395586e+06 -5.30698954e+03 ! x y z 1.85738188e+03 -1.11675155e+03 9.77147330e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1014 3.15876640e+05 2.57826803e+04 ! particle number mass Rhill -1.04153730e+04 !particle radius in m +Body1014 3.15876640e+05 2.57826803e+04 ! particle number mass Rhill +1.04153730e+04 !particle radius in AU 1.69188525e+07 8.47840581e+06 -4.67327616e+04 ! x y z -6.66379185e+02 1.35677843e+03 1.32594121e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1015 1.28437998e+06 2.18214380e+04 ! particle number mass Rhill -1.12810669e+04 !particle radius in m +Body1015 1.28437998e+06 2.18214380e+04 ! particle number mass Rhill +1.12810669e+04 !particle radius in AU -7.04671066e+06 7.15586671e+06 -3.56479637e+04 ! x y z -1.47400909e+03 -1.45932821e+03 -9.67794404e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1016 8.51014432e+04 1.07189121e+04 ! particle number mass Rhill -6.72689473e+03 !particle radius in m +Body1016 8.51014432e+04 1.07189121e+04 ! particle number mass Rhill +6.72689473e+03 !particle radius in AU 7.33791533e+06 -9.58517692e+06 3.03846079e+04 ! x y z 1.49051721e+03 1.17984608e+03 -1.97955637e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1017 7.73322783e+04 1.01200226e+04 ! particle number mass Rhill -4.42153023e+03 !particle radius in m +Body1017 7.73322783e+04 1.01200226e+04 ! particle number mass Rhill +4.42153023e+03 !particle radius in AU 1.21152578e+07 2.07326034e+05 4.57151931e+03 ! x y z -2.18290977e+01 1.86989325e+03 -1.30418260e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1018 9.71965028e+05 1.81983837e+04 ! particle number mass Rhill -1.02802232e+04 !particle radius in m +Body1018 9.71965028e+05 1.81983837e+04 ! particle number mass Rhill +1.02802232e+04 !particle radius in AU -1.78690734e+06 9.20811486e+06 6.52613267e+03 ! x y z -2.08865445e+03 -3.88689300e+02 7.21544338e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1019 1.49585486e+05 1.14358236e+04 ! particle number mass Rhill -5.50911894e+03 !particle radius in m +Body1019 1.49585486e+05 1.14358236e+04 ! particle number mass Rhill +5.50911894e+03 !particle radius in AU -6.29895686e+06 8.71900726e+06 -7.33711540e+03 ! x y z -1.63469757e+03 -1.16304985e+03 4.84189753e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1020 1.78577195e+06 2.71175230e+04 ! particle number mass Rhill -1.25910224e+04 !particle radius in m +Body1020 1.78577195e+06 2.71175230e+04 ! particle number mass Rhill +1.25910224e+04 !particle radius in AU 9.10086700e+06 -7.03219894e+06 -7.28785098e+04 ! x y z 1.17345937e+03 1.50811083e+03 -6.68343594e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1021 1.34502113e+05 9.24659035e+03 ! particle number mass Rhill -7.83571609e+03 !particle radius in m +Body1021 1.34502113e+05 9.24659035e+03 ! particle number mass Rhill +7.83571609e+03 !particle radius in AU -4.28807654e+06 -7.85915508e+06 2.65183664e+04 ! x y z 1.92700749e+03 -1.07363344e+03 6.86417879e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1022 2.01917888e+05 1.22758301e+04 ! particle number mass Rhill -6.08850399e+03 !particle radius in m +Body1022 2.01917888e+05 1.22758301e+04 ! particle number mass Rhill +6.08850399e+03 !particle radius in AU 6.47343353e+06 8.23566063e+06 3.01013545e+04 ! x y z -1.59000120e+03 1.26250583e+03 -1.25792680e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1023 1.71637754e+06 2.20305062e+04 ! particle number mass Rhill -1.24257689e+04 !particle radius in m +Body1023 1.71637754e+06 2.20305062e+04 ! particle number mass Rhill +1.24257689e+04 !particle radius in AU -8.70674127e+06 -2.94645030e+06 -2.92623754e+04 ! x y z 7.11914106e+02 -2.04951615e+03 1.66637378e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1024 1.12639788e+06 4.33869282e+04 ! particle number mass Rhill -1.07981562e+04 !particle radius in m +Body1024 1.12639788e+06 4.33869282e+04 ! particle number mass Rhill +1.07981562e+04 !particle radius in AU -1.75476786e+07 -1.12768402e+07 1.80639637e+05 ! x y z 7.59106783e+02 -1.22286396e+03 1.20937631e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1025 5.83604478e+05 2.16754875e+04 ! particle number mass Rhill -1.27803239e+04 !particle radius in m +Body1025 5.83604478e+05 2.16754875e+04 ! particle number mass Rhill +1.27803239e+04 !particle radius in AU 7.04696388e+06 -1.10885823e+07 -6.17953039e+04 ! x y z 1.50498521e+03 9.91641405e+02 -4.14259212e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1026 2.20352204e+05 1.09859692e+04 ! particle number mass Rhill -6.26842061e+03 !particle radius in m +Body1026 2.20352204e+05 1.09859692e+04 ! particle number mass Rhill +6.26842061e+03 !particle radius in AU 9.08053413e+06 1.73092917e+06 9.84209268e+03 ! x y z -4.33130368e+02 2.10086011e+03 -1.06621334e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1027 1.56061006e+06 3.08692906e+04 ! particle number mass Rhill -1.20378926e+04 !particle radius in m +Body1027 1.56061006e+06 3.08692906e+04 ! particle number mass Rhill +1.20378926e+04 !particle radius in AU -3.00902975e+06 -1.32946373e+07 -5.90702502e+03 ! x y z 1.71319262e+03 -4.00878759e+02 -9.96066412e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1028 3.75033223e+05 1.31801704e+04 ! particle number mass Rhill -7.48414588e+03 !particle radius in m +Body1028 3.75033223e+05 1.31801704e+04 ! particle number mass Rhill +7.48414588e+03 !particle radius in AU -4.04201967e+06 -8.29248316e+06 -4.12753129e+03 ! x y z 1.92318448e+03 -9.71522928e+02 1.76717922e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1029 4.12899419e+05 2.61767083e+04 ! particle number mass Rhill -7.72799953e+03 !particle radius in m +Body1029 4.12899419e+05 2.61767083e+04 ! particle number mass Rhill +7.72799953e+03 !particle radius in AU 1.75193620e+07 -2.65169374e+06 1.13236551e+05 ! x y z 2.30440171e+02 1.53861792e+03 6.99701915e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1030 8.89682523e+05 1.86122096e+04 ! particle number mass Rhill -9.98153536e+03 !particle radius in m +Body1030 8.89682523e+05 1.86122096e+04 ! particle number mass Rhill +9.98153536e+03 !particle radius in AU 3.43641275e+06 -8.93033322e+06 -2.09644587e+04 ! x y z 1.99449709e+03 7.67681042e+02 -1.69978122e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1031 2.48040793e+05 1.35267215e+04 ! particle number mass Rhill -6.52068720e+03 !particle radius in m +Body1031 2.48040793e+05 1.35267215e+04 ! particle number mass Rhill +6.52068720e+03 !particle radius in AU -8.94110733e+06 -6.35904272e+06 -5.39789507e+04 ! x y z 1.10919784e+03 -1.62340625e+03 -3.28674782e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1032 5.49793186e+04 1.17511732e+04 ! particle number mass Rhill -5.81525514e+03 !particle radius in m +Body1032 5.49793186e+04 1.17511732e+04 ! particle number mass Rhill +5.81525514e+03 !particle radius in AU -1.30741810e+07 8.57418735e+06 -1.19905050e+03 ! x y z -9.25024677e+02 -1.37017223e+03 4.97519787e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1033 6.00472566e+05 1.75807128e+04 ! particle number mass Rhill -1.29022874e+04 !particle radius in m +Body1033 6.00472566e+05 1.75807128e+04 ! particle number mass Rhill +1.29022874e+04 !particle radius in AU -2.54473466e+06 1.02641366e+07 -6.03109093e+04 ! x y z -1.94287173e+03 -5.03549968e+02 -1.40714774e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1034 4.73743959e+04 7.85601650e+03 ! particle number mass Rhill -3.75520420e+03 !particle radius in m +Body1034 4.73743959e+04 7.85601650e+03 ! particle number mass Rhill +3.75520420e+03 !particle radius in AU -2.05229123e+06 1.07524321e+07 -3.91281600e+04 ! x y z -1.94369561e+03 -3.72923016e+02 -4.66840760e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1035 1.71364118e+05 1.29921200e+04 ! particle number mass Rhill -8.49458734e+03 !particle radius in m +Body1035 1.71364118e+05 1.29921200e+04 ! particle number mass Rhill +8.49458734e+03 !particle radius in AU 9.81310678e+06 -6.45686284e+06 -8.14126007e+04 ! x y z 1.04337462e+03 1.60488987e+03 -6.74659876e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1036 1.51256186e+06 2.01685135e+04 ! particle number mass Rhill -1.19130613e+04 !particle radius in m +Body1036 1.51256186e+06 2.01685135e+04 ! particle number mass Rhill +1.19130613e+04 !particle radius in AU 6.87800371e+06 5.51073017e+06 -5.46411638e+04 ! x y z -1.36034802e+03 1.74332100e+03 4.94690697e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1037 2.00124444e+05 1.24535014e+04 ! particle number mass Rhill -6.07042423e+03 !particle radius in m +Body1037 2.00124444e+05 1.24535014e+04 ! particle number mass Rhill +6.07042423e+03 !particle radius in AU -1.07553881e+07 -9.12112446e+05 -4.34386235e+04 ! x y z 1.54461489e+02 -1.98147483e+03 -1.70607618e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1038 2.74425239e+04 7.69344388e+03 ! particle number mass Rhill -4.61293151e+03 !particle radius in m +Body1038 2.74425239e+04 7.69344388e+03 ! particle number mass Rhill +4.61293151e+03 !particle radius in AU 1.27377380e+07 -1.09778054e+05 -6.19904167e+04 ! x y z -1.25732694e+00 1.84331966e+03 -2.21143255e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1039 1.03073034e+06 3.34851913e+04 ! particle number mass Rhill -1.04833644e+04 !particle radius in m +Body1039 1.03073034e+06 3.34851913e+04 ! particle number mass Rhill +1.04833644e+04 !particle radius in AU -5.13284511e+05 -1.67637883e+07 -2.82433912e+03 ! x y z 1.59521599e+03 -5.35780376e+01 1.00615428e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1040 8.09310632e+04 1.08186380e+04 ! particle number mass Rhill -4.48908069e+03 !particle radius in m +Body1040 8.09310632e+04 1.08186380e+04 ! particle number mass Rhill +4.48908069e+03 !particle radius in AU -1.26602775e+07 4.02918646e+05 1.71412707e+04 ! x y z -5.95275114e+01 -1.83478145e+03 -6.71275300e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1041 2.07976707e+05 1.40611818e+04 ! particle number mass Rhill -6.14880277e+03 !particle radius in m +Body1041 2.07976707e+05 1.40611818e+04 ! particle number mass Rhill +6.14880277e+03 !particle radius in AU 6.61475732e+05 1.19251089e+07 4.99716805e+03 ! x y z -1.89472956e+03 8.25618952e+01 -1.61809802e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1042 1.56927251e+04 4.40631103e+03 ! particle number mass Rhill -3.82885081e+03 !particle radius in m +Body1042 1.56927251e+04 4.40631103e+03 ! particle number mass Rhill +3.82885081e+03 !particle radius in AU 8.80868758e+06 9.32656348e+05 -4.18862348e+04 ! x y z -2.17867324e+02 2.19123384e+03 -1.17898705e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1043 1.25482841e+05 9.88544728e+03 ! particle number mass Rhill -5.19573642e+03 !particle radius in m +Body1043 1.25482841e+05 9.88544728e+03 ! particle number mass Rhill +5.19573642e+03 !particle radius in AU 1.00480766e+07 1.10334466e+05 4.24190753e+04 ! x y z -1.56774101e+01 2.05584808e+03 1.80904032e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1044 5.76644423e+04 6.79383115e+03 ! particle number mass Rhill -5.90842447e+03 !particle radius in m +Body1044 5.76644423e+04 6.79383115e+03 ! particle number mass Rhill +5.90842447e+03 !particle radius in AU -2.68410660e+06 -8.45093049e+06 -2.25369168e+04 ! x y z 2.08071561e+03 -7.11201230e+02 1.07896227e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1045 1.27910959e+05 1.05238625e+04 ! particle number mass Rhill -7.70557245e+03 !particle radius in m +Body1045 1.27910959e+05 1.05238625e+04 ! particle number mass Rhill +7.70557245e+03 !particle radius in AU -2.49395661e+06 -1.01785537e+07 4.67622537e+04 ! x y z 1.97783372e+03 -4.46467141e+02 1.43639227e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1046 1.34350101e+06 2.00599763e+04 ! particle number mass Rhill -1.14515690e+04 !particle radius in m +Body1046 1.34350101e+06 2.00599763e+04 ! particle number mass Rhill +1.14515690e+04 !particle radius in AU -5.37771504e+06 7.44714074e+06 -6.06003060e+03 ! x y z -1.75372901e+03 -1.25777673e+03 1.33051245e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1047 1.39800754e+05 1.50279289e+04 ! particle number mass Rhill -7.93728841e+03 !particle radius in m +Body1047 1.39800754e+05 1.50279289e+04 ! particle number mass Rhill +7.93728841e+03 !particle radius in AU 1.43736621e+07 3.27074646e+06 -1.17711231e+05 ! x y z -3.95229369e+02 1.65048180e+03 -2.09427051e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1048 7.35813542e+05 1.62870205e+04 ! particle number mass Rhill -9.36932395e+03 !particle radius in m +Body1048 7.35813542e+05 1.62870205e+04 ! particle number mass Rhill +9.36932395e+03 !particle radius in AU -8.93375487e+06 -9.23297021e+05 -5.56404103e+04 ! x y z 2.58345498e+02 -2.18331951e+03 -1.86368551e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1049 2.08700220e+05 1.87560451e+04 ! particle number mass Rhill -9.07144821e+03 !particle radius in m +Body1049 2.08700220e+05 1.87560451e+04 ! particle number mass Rhill +9.07144821e+03 !particle radius in AU -1.28280097e+07 8.91411489e+06 -1.59387089e+04 ! x y z -9.55988990e+02 -1.37339914e+03 -9.51566283e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1050 8.72300988e+05 2.84455766e+04 ! particle number mass Rhill -9.91610503e+03 !particle radius in m +Body1050 8.72300988e+05 2.84455766e+04 ! particle number mass Rhill +9.91610503e+03 !particle radius in AU -1.22031914e+07 8.75617467e+06 1.35904643e+05 ! x y z -1.01713019e+03 -1.34842008e+03 -1.53941683e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1051 3.94208789e+05 1.58087172e+04 ! particle number mass Rhill -7.60958719e+03 !particle radius in m +Body1051 3.94208789e+05 1.58087172e+04 ! particle number mass Rhill +7.60958719e+03 !particle radius in AU -1.81887078e+05 1.09247030e+07 -4.35726533e+04 ! x y z -1.97588122e+03 -8.11807516e+00 -3.92064501e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1052 2.98029754e+04 8.88054529e+03 ! particle number mass Rhill -4.74157034e+03 !particle radius in m +Body1052 2.98029754e+04 8.88054529e+03 ! particle number mass Rhill +4.74157034e+03 !particle radius in AU 2.83878155e+06 1.44744864e+07 5.43842125e+04 ! x y z -1.65421841e+03 3.29251794e+02 -6.23680908e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1053 1.69212978e+05 1.16478963e+04 ! particle number mass Rhill -8.45889329e+03 !particle radius in m +Body1053 1.69212978e+05 1.16478963e+04 ! particle number mass Rhill +8.45889329e+03 !particle radius in AU 1.06135506e+07 -4.48083559e+05 1.72504569e+04 ! x y z 9.44982902e+01 2.00633631e+03 9.90801265e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1054 1.11476324e+06 4.68292988e+04 ! particle number mass Rhill -1.07608492e+04 !particle radius in m +Body1054 1.11476324e+06 4.68292988e+04 ! particle number mass Rhill +1.07608492e+04 !particle radius in AU 8.75139394e+06 -2.04107097e+07 -1.06034326e+05 ! x y z 1.29371288e+03 5.52007802e+02 5.05180489e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1055 3.02270985e+05 1.91780468e+04 ! particle number mass Rhill -6.96494702e+03 !particle radius in m +Body1055 3.02270985e+05 1.91780468e+04 ! particle number mass Rhill +6.96494702e+03 !particle radius in AU 1.42098400e+07 1.83559068e+06 -6.61680518e+04 ! x y z -2.13356829e+02 1.72148688e+03 1.01500659e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1056 1.74016041e+05 1.86889261e+04 ! particle number mass Rhill -8.53818219e+03 !particle radius in m +Body1056 1.74016041e+05 1.86889261e+04 ! particle number mass Rhill +8.53818219e+03 !particle radius in AU 1.55907651e+07 5.91768331e+06 -8.22551540e+04 ! x y z -5.54998648e+02 1.51448714e+03 -1.24785663e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1057 2.50703722e+05 2.27112105e+04 ! particle number mass Rhill -9.64323129e+03 !particle radius in m +Body1057 2.50703722e+05 2.27112105e+04 ! particle number mass Rhill +9.64323129e+03 !particle radius in AU 7.38866883e+06 1.67469371e+07 -5.52080317e+04 ! x y z -1.39370270e+03 6.17614086e+02 4.21088917e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1058 8.14993090e+05 1.77743579e+04 ! particle number mass Rhill -9.69401392e+03 !particle radius in m +Body1058 8.14993090e+05 1.77743579e+04 ! particle number mass Rhill +9.69401392e+03 !particle radius in AU -5.32551208e+06 -7.90474847e+06 -3.86152280e+04 ! x y z 1.76379265e+03 -1.19032254e+03 1.04687204e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1059 5.77311143e+05 2.14072614e+04 ! particle number mass Rhill -8.64149686e+03 !particle radius in m +Body1059 5.77311143e+05 2.14072614e+04 ! particle number mass Rhill +8.64149686e+03 !particle radius in AU 1.09164841e+07 -7.03739746e+06 2.56807871e+04 ! x y z 9.98839941e+02 1.51559226e+03 -2.93169292e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1060 1.13703075e+06 1.86906120e+04 ! particle number mass Rhill -1.08320270e+04 !particle radius in m +Body1060 1.13703075e+06 1.86906120e+04 ! particle number mass Rhill +1.08320270e+04 !particle radius in AU -6.83243259e+06 -5.66828831e+06 -1.72900877e+04 ! x y z 1.43365173e+03 -1.68974702e+03 2.09850405e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1061 1.33820642e+05 8.98629492e+03 ! particle number mass Rhill -7.82246015e+03 !particle radius in m +Body1061 1.33820642e+05 8.98629492e+03 ! particle number mass Rhill +7.82246015e+03 !particle radius in AU 6.82803774e+06 -5.76411607e+06 5.47258325e+04 ! x y z 1.40722674e+03 1.66603602e+03 1.74552894e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1062 2.64155254e+05 1.31901008e+04 ! particle number mass Rhill -6.65894479e+03 !particle radius in m +Body1062 2.64155254e+05 1.31901008e+04 ! particle number mass Rhill +6.65894479e+03 !particle radius in AU 9.35446321e+06 4.27959887e+06 1.44633990e+04 ! x y z -8.44145057e+02 1.86728709e+03 8.45220846e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1063 6.62937093e+05 1.93477118e+04 ! particle number mass Rhill -9.04919131e+03 !particle radius in m +Body1063 6.62937093e+05 1.93477118e+04 ! particle number mass Rhill +9.04919131e+03 !particle radius in AU -8.81635825e+06 6.95372208e+06 5.99171831e+04 ! x y z -1.18658772e+03 -1.54806956e+03 -4.34306118e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1064 7.34315131e+05 2.50109591e+04 ! particle number mass Rhill -9.36295974e+03 !particle radius in m +Body1064 7.34315131e+05 2.50109591e+04 ! particle number mass Rhill +9.36295974e+03 !particle radius in AU 3.76533406e+06 -1.36831259e+07 -4.52559471e+04 ! x y z 1.65006231e+03 5.02310012e+02 -7.82371716e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1065 1.67651593e+05 9.98045881e+03 ! particle number mass Rhill -8.43279516e+03 !particle radius in m +Body1065 1.67651593e+05 9.98045881e+03 ! particle number mass Rhill +8.43279516e+03 !particle radius in AU 8.66363031e+06 -3.01551364e+06 1.87644792e+04 ! x y z 6.94997160e+02 2.04127247e+03 4.50266436e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1066 1.80360416e+06 2.85821499e+04 ! particle number mass Rhill -1.26327938e+04 !particle radius in m +Body1066 1.80360416e+06 2.85821499e+04 ! particle number mass Rhill +1.26327938e+04 !particle radius in AU -1.81171981e+06 1.18614317e+07 -9.45077050e+04 ! x y z -1.85854649e+03 -2.65883958e+02 1.03797168e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1067 5.82344163e+05 1.77046313e+04 ! particle number mass Rhill -1.27711174e+04 !particle radius in m +Body1067 5.82344163e+05 1.77046313e+04 ! particle number mass Rhill +1.27711174e+04 !particle radius in AU -5.75108647e+06 -9.00212328e+06 2.40243267e+04 ! x y z 1.69440892e+03 -1.07016945e+03 -1.54605015e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1068 4.19804355e+05 1.33943636e+04 ! particle number mass Rhill -7.77084017e+03 !particle radius in m +Body1068 4.19804355e+05 1.33943636e+04 ! particle number mass Rhill +7.77084017e+03 !particle radius in AU 1.89490021e+06 8.84022962e+06 2.80656936e+04 ! x y z -2.12712367e+03 4.54322162e+02 -6.09085901e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1069 3.77849576e+05 1.26870716e+04 ! particle number mass Rhill -7.50283352e+03 !particle radius in m +Body1069 3.77849576e+05 1.26870716e+04 ! particle number mass Rhill +7.50283352e+03 !particle radius in AU -2.84338801e+06 -8.43577004e+06 -3.58252007e+04 ! x y z 2.07616764e+03 -6.90414631e+02 7.86561001e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1070 3.08880512e+05 1.47299271e+04 ! particle number mass Rhill -1.03379039e+04 !particle radius in m +Body1070 3.08880512e+05 1.47299271e+04 ! particle number mass Rhill +1.03379039e+04 !particle radius in AU 7.23228604e+06 8.21987628e+06 -1.12362711e+05 ! x y z -1.50075767e+03 1.29503859e+03 -4.22019044e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1071 1.59870183e+06 2.28294398e+04 ! particle number mass Rhill -1.21350477e+04 !particle radius in m +Body1071 1.59870183e+06 2.28294398e+04 ! particle number mass Rhill +1.21350477e+04 !particle radius in AU 9.59011374e+06 -1.47240572e+06 -1.17481033e+04 ! x y z 3.06970553e+02 2.09485379e+03 2.11775305e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1072 8.35009848e+04 1.53899607e+04 ! particle number mass Rhill -4.53610253e+03 !particle radius in m +Body1072 8.35009848e+04 1.53899607e+04 ! particle number mass Rhill +4.53610253e+03 !particle radius in AU 1.68353028e+07 -5.98357187e+06 1.37705248e+04 ! x y z 4.97655007e+02 1.46172367e+03 -1.17361347e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1073 7.99379007e+05 3.33138646e+04 ! particle number mass Rhill -9.63170656e+03 !particle radius in m +Body1073 7.99379007e+05 3.33138646e+04 ! particle number mass Rhill +9.63170656e+03 !particle radius in AU -1.80713745e+07 3.81143072e+06 1.47991860e+05 ! x y z -3.34463620e+02 -1.47042095e+03 -2.39441838e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1074 1.97672601e+06 2.81308084e+04 ! particle number mass Rhill -1.30247028e+04 !particle radius in m +Body1074 1.97672601e+06 2.81308084e+04 ! particle number mass Rhill +1.30247028e+04 !particle radius in AU 8.12437675e+06 -7.89692091e+06 8.58861149e+04 ! x y z 1.36700546e+03 1.38057019e+03 -5.74921289e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1075 4.49688061e+04 6.25101773e+03 ! particle number mass Rhill -5.43842039e+03 !particle radius in m +Body1075 4.49688061e+04 6.25101773e+03 ! particle number mass Rhill +5.43842039e+03 !particle radius in AU 6.94978876e+06 -5.59183335e+06 2.41251511e+04 ! x y z 1.34132445e+03 1.72532099e+03 1.12041963e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1076 2.56818687e+05 1.81510251e+04 ! particle number mass Rhill -6.59671726e+03 !particle radius in m +Body1076 2.56818687e+05 1.81510251e+04 ! particle number mass Rhill +6.59671726e+03 !particle radius in AU -1.18687337e+07 -8.19186254e+06 -8.44898067e+04 ! x y z 9.75684146e+02 -1.41995661e+03 -1.13753956e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1077 5.24592418e+05 1.57872425e+04 ! particle number mass Rhill -1.23341623e+04 !particle radius in m +Body1077 5.24592418e+05 1.57872425e+04 ! particle number mass Rhill +1.23341623e+04 !particle radius in AU -1.89628928e+06 -9.50227023e+06 -4.05755726e+04 ! x y z 2.07857991e+03 -4.30149853e+02 -4.45053647e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1078 2.82198763e+05 1.31237392e+04 ! particle number mass Rhill -6.80723430e+03 !particle radius in m +Body1078 2.82198763e+05 1.31237392e+04 ! particle number mass Rhill +6.80723430e+03 !particle radius in AU 1.01428084e+07 1.53976563e+06 -1.56033963e+05 ! x y z -3.05629291e+02 2.00359721e+03 3.06409701e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1079 3.13497820e+05 1.18814338e+04 ! particle number mass Rhill -7.05013076e+03 !particle radius in m +Body1079 3.13497820e+05 1.18814338e+04 ! particle number mass Rhill +7.05013076e+03 !particle radius in AU 3.99603404e+06 7.86593577e+06 5.11268274e+04 ! x y z -1.97467205e+03 9.78734350e+02 8.42153677e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1080 1.79001590e+05 1.04708242e+04 ! particle number mass Rhill -8.61895511e+03 !particle radius in m +Body1080 1.79001590e+05 1.04708242e+04 ! particle number mass Rhill +8.61895511e+03 !particle radius in AU 6.54388805e+06 -6.77023287e+06 -4.59748352e+03 ! x y z 1.54444266e+03 1.46455300e+03 -1.04095061e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1081 9.85458768e+04 9.85910416e+03 ! particle number mass Rhill -7.06396397e+03 !particle radius in m +Body1081 9.85458768e+04 9.85910416e+03 ! particle number mass Rhill +7.06396397e+03 !particle radius in AU 6.04468294e+06 8.82617315e+06 -1.42181890e+05 ! x y z -1.63233809e+03 1.16910466e+03 -1.88213215e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1082 2.55906276e+05 1.59131597e+04 ! particle number mass Rhill -9.70947993e+03 !particle radius in m +Body1082 2.55906276e+05 1.59131597e+04 ! particle number mass Rhill +9.70947993e+03 !particle radius in AU -1.11170150e+07 6.16749342e+06 -3.82809291e+04 ! x y z -8.98686306e+02 -1.59525493e+03 2.55769594e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1083 5.55510829e+05 2.72516797e+04 ! particle number mass Rhill -1.25718686e+04 !particle radius in m +Body1083 5.55510829e+05 2.72516797e+04 ! particle number mass Rhill +1.25718686e+04 !particle radius in AU 1.25437094e+06 -1.67969561e+07 -1.36312584e+04 ! x y z 1.58470452e+03 1.21111055e+02 3.59330822e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1084 4.68048454e+05 1.54091926e+04 ! particle number mass Rhill -8.05778982e+03 !particle radius in m +Body1084 4.68048454e+05 1.54091926e+04 ! particle number mass Rhill +8.05778982e+03 !particle radius in AU 8.43800086e+06 5.71987949e+06 -3.20922412e+04 ! x y z -1.14330692e+03 1.67937737e+03 -4.35374922e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1085 2.15219454e+05 1.10871568e+04 ! particle number mass Rhill -6.21936681e+03 !particle radius in m +Body1085 2.15219454e+05 1.10871568e+04 ! particle number mass Rhill +6.21936681e+03 !particle radius in AU -8.36235204e+06 -4.06735446e+06 1.77837069e+04 ! x y z 9.27393629e+02 -1.94041308e+03 2.61389295e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1086 2.99950641e+05 2.10812869e+04 ! particle number mass Rhill -1.02373037e+04 !particle radius in m +Body1086 2.99950641e+05 2.10812869e+04 ! particle number mass Rhill +1.02373037e+04 !particle radius in AU -2.57151201e+06 -1.54968676e+07 -9.11168853e+04 ! x y z 1.63776183e+03 -2.76257315e+02 2.80266971e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1087 1.59864352e+05 9.50617153e+03 ! particle number mass Rhill -8.30015495e+03 !particle radius in m +Body1087 1.59864352e+05 9.50617153e+03 ! particle number mass Rhill +8.30015495e+03 !particle radius in AU 8.66211969e+06 2.20644842e+06 5.69512514e+03 ! x y z -5.34166852e+02 2.11025355e+03 7.04563819e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1088 1.71165091e+06 2.20651978e+04 ! particle number mass Rhill -1.24143522e+04 !particle radius in m +Body1088 1.71165091e+06 2.20651978e+04 ! particle number mass Rhill +1.24143522e+04 !particle radius in AU 2.50735051e+06 -9.08802531e+06 1.47619891e+03 ! x y z 2.03247718e+03 5.95768658e+02 -1.11711400e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1089 3.74682990e+05 1.39092702e+04 ! particle number mass Rhill -1.10252975e+04 !particle radius in m +Body1089 3.74682990e+05 1.39092702e+04 ! particle number mass Rhill +1.10252975e+04 !particle radius in AU -5.08664524e+06 8.37497108e+06 -9.90101269e+04 ! x y z -1.78382195e+03 -1.07772723e+03 -8.86422219e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1090 2.04861379e+05 1.92942698e+04 ! particle number mass Rhill -6.11794676e+03 !particle radius in m +Body1090 2.04861379e+05 1.92942698e+04 ! particle number mass Rhill +6.11794676e+03 !particle radius in AU -1.16840844e+07 -1.15084512e+07 8.57597825e+04 ! x y z 1.14349612e+03 -1.15014615e+03 -1.13350767e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1091 2.70294042e+05 1.21706227e+04 ! particle number mass Rhill -9.88813712e+03 !particle radius in m +Body1091 2.70294042e+05 1.21706227e+04 ! particle number mass Rhill +9.88813712e+03 !particle radius in AU 1.06943121e+06 -9.45008765e+06 3.56309722e+04 ! x y z 2.11041887e+03 2.12664792e+02 3.02388980e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1092 1.15804931e+06 2.21787218e+04 ! particle number mass Rhill -1.08983650e+04 !particle radius in m +Body1092 1.15804931e+06 2.21787218e+04 ! particle number mass Rhill +1.08983650e+04 !particle radius in AU 5.08433832e+06 -9.29067904e+06 4.27842439e+04 ! x y z 1.77269334e+03 9.63287806e+02 7.20636543e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1093 1.85153486e+06 2.27742481e+04 ! particle number mass Rhill -1.27437222e+04 !particle radius in m +Body1093 1.85153486e+06 2.27742481e+04 ! particle number mass Rhill +1.27437222e+04 !particle radius in AU 2.28470278e+06 -8.96024162e+06 4.66696872e+04 ! x y z 2.09182568e+03 5.58957357e+02 -1.60064381e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1094 3.82760289e+04 5.93478404e+03 ! particle number mass Rhill -5.15400237e+03 !particle radius in m +Body1094 3.82760289e+04 5.93478404e+03 ! particle number mass Rhill +5.15400237e+03 !particle radius in AU 5.02334401e+06 7.15122722e+06 -2.56747414e+04 ! x y z -1.82437670e+03 1.28647622e+03 -2.33583185e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1095 3.80438079e+05 1.41130336e+04 ! particle number mass Rhill -7.51992756e+03 !particle radius in m +Body1095 3.80438079e+05 1.41130336e+04 ! particle number mass Rhill +7.51992756e+03 !particle radius in AU 8.03755250e+06 -5.51691122e+06 -2.97535232e+04 ! x y z 1.18216983e+03 1.74141617e+03 -1.17374833e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1096 1.81396845e+06 2.21520841e+04 ! particle number mass Rhill -1.26569454e+04 !particle radius in m +Body1096 1.81396845e+06 2.21520841e+04 ! particle number mass Rhill +1.26569454e+04 !particle radius in AU -3.07464536e+06 -8.53282891e+06 -1.60914047e+04 ! x y z 2.04872286e+03 -7.58617715e+02 -1.15594518e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1097 2.08849843e+05 1.09999150e+04 ! particle number mass Rhill -6.15739547e+03 !particle radius in m +Body1097 2.08849843e+05 1.09999150e+04 ! particle number mass Rhill +6.15739547e+03 !particle radius in AU -5.04841460e+06 7.90245442e+06 -3.74769403e+03 ! x y z -1.79658551e+03 -1.15333901e+03 -1.03989828e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1098 7.44137462e+05 1.61537051e+04 ! particle number mass Rhill -9.40452184e+03 !particle radius in m +Body1098 7.44137462e+05 1.61537051e+04 ! particle number mass Rhill +9.40452184e+03 !particle radius in AU -4.42483219e+06 7.92889737e+06 4.84429526e+03 ! x y z -1.90157556e+03 -1.02851509e+03 3.04297458e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1099 3.12842595e+05 1.29972766e+04 ! particle number mass Rhill -1.03819185e+04 !particle radius in m +Body1099 3.12842595e+05 1.29972766e+04 ! particle number mass Rhill +1.03819185e+04 !particle radius in AU -8.11772737e+06 5.17820457e+06 6.33191218e+04 ! x y z -1.16398577e+03 -1.76329084e+03 -1.46526563e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1100 5.00463370e+05 1.96095736e+04 ! particle number mass Rhill -1.21420799e+04 !particle radius in m +Body1100 5.00463370e+05 1.96095736e+04 ! particle number mass Rhill +1.21420799e+04 !particle radius in AU -2.42335217e+06 -1.21748818e+07 5.34958561e+04 ! x y z 1.82657196e+03 -3.58482164e+02 2.17635181e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1101 2.58863272e+05 1.24587177e+04 ! particle number mass Rhill -9.74673448e+03 !particle radius in m +Body1101 2.58863272e+05 1.24587177e+04 ! particle number mass Rhill +9.74673448e+03 !particle radius in AU -8.93954505e+06 -4.45366726e+06 9.09497729e+03 ! x y z 9.19578118e+02 -1.84128399e+03 1.10716364e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1102 3.92218511e+05 2.38002424e+04 ! particle number mass Rhill -7.59675917e+03 !particle radius in m +Body1102 3.92218511e+05 2.38002424e+04 ! particle number mass Rhill +7.59675917e+03 !particle radius in AU -1.18899005e+07 -1.11121035e+07 7.33607503e+03 ! x y z 1.10060063e+03 -1.20094721e+03 -1.56817575e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1103 1.50461478e+05 1.87935494e+04 ! particle number mass Rhill -8.13412353e+03 !particle radius in m +Body1103 1.50461478e+05 1.87935494e+04 ! particle number mass Rhill +8.13412353e+03 !particle radius in AU -1.65295735e+07 6.07637672e+06 3.45373521e+04 ! x y z -5.42846771e+02 -1.47237923e+03 2.24703732e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1104 3.40704575e+05 2.13916493e+04 ! particle number mass Rhill -7.24844729e+03 !particle radius in m +Body1104 3.40704575e+05 2.13916493e+04 ! particle number mass Rhill +7.24844729e+03 !particle radius in AU 8.55996783e+06 -1.26469693e+07 -1.46558216e+05 ! x y z 1.40714271e+03 9.26431770e+02 -1.15490272e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1105 1.22078004e+06 4.53053513e+04 ! particle number mass Rhill -1.10917006e+04 !particle radius in m +Body1105 1.22078004e+06 4.53053513e+04 ! particle number mass Rhill +1.10917006e+04 !particle radius in AU 5.19156391e+06 -2.05131401e+07 3.01682271e+04 ! x y z 1.38483992e+03 3.58833296e+02 7.82967392e-02 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1106 5.74059007e+05 1.75254745e+04 ! particle number mass Rhill -8.62523974e+03 !particle radius in m +Body1106 5.74059007e+05 1.75254745e+04 ! particle number mass Rhill +8.62523974e+03 !particle radius in AU -1.04637869e+07 -1.51846657e+06 -3.27030757e+04 ! x y z 3.09759590e+02 -1.99538112e+03 5.67233805e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1107 1.10233704e+05 9.77367852e+03 ! particle number mass Rhill -4.97611563e+03 !particle radius in m +Body1107 1.10233704e+05 9.77367852e+03 ! particle number mass Rhill +4.97611563e+03 !particle radius in AU 1.03065892e+07 -6.00329704e+05 -2.32121119e+04 ! x y z 1.34736424e+02 2.02883986e+03 3.23964316e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1108 4.92926514e+04 8.35869672e+03 ! particle number mass Rhill -5.60741952e+03 !particle radius in m +Body1108 4.92926514e+04 8.35869672e+03 ! particle number mass Rhill +5.60741952e+03 !particle radius in AU -1.14276246e+07 -1.75001038e+06 -9.86471787e+04 ! x y z 2.92929450e+02 -1.89771028e+03 5.40774568e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1109 2.28123366e+05 2.46002721e+04 ! particle number mass Rhill -6.34126039e+03 !particle radius in m +Body1109 2.28123366e+05 2.46002721e+04 ! particle number mass Rhill +6.34126039e+03 !particle radius in AU 1.88192745e+07 7.35750851e+06 -3.59880986e+04 ! x y z -5.35957066e+02 1.35808817e+03 -5.10111289e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1110 9.38291323e+05 2.39057714e+04 ! particle number mass Rhill -1.01601058e+04 !particle radius in m +Body1110 9.38291323e+05 2.39057714e+04 ! particle number mass Rhill +1.01601058e+04 !particle radius in AU 1.11584259e+07 -4.47796771e+06 1.03803467e+04 ! x y z 7.28310338e+02 1.76604469e+03 1.45396412e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1111 6.38487235e+04 8.35289367e+03 ! particle number mass Rhill -6.11251206e+03 !particle radius in m +Body1111 6.38487235e+04 8.35289367e+03 ! particle number mass Rhill +6.11251206e+03 !particle radius in AU 3.38442251e+06 -9.82784424e+06 -1.36230396e+05 ! x y z 1.90939863e+03 7.30865853e+02 1.53565819e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1112 4.72613591e+04 9.03956075e+03 ! particle number mass Rhill -5.52931152e+03 !particle radius in m +Body1112 4.72613591e+04 9.03956075e+03 ! particle number mass Rhill +5.52931152e+03 !particle radius in AU -1.26252231e+07 -6.33455275e+05 -1.30864139e+05 ! x y z 9.33992929e+01 -1.83668276e+03 1.68626587e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1113 5.54246342e+04 9.10616654e+03 ! particle number mass Rhill -3.95688360e+03 !particle radius in m +Body1113 5.54246342e+04 9.10616654e+03 ! particle number mass Rhill +3.95688360e+03 !particle radius in AU -1.20379515e+07 7.22168436e+05 8.94591753e+04 ! x y z -1.09103316e+02 -1.88101208e+03 -4.79548889e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1114 5.97374849e+04 7.60664387e+03 ! particle number mass Rhill -5.97839539e+03 !particle radius in m +Body1114 5.97374849e+04 7.60664387e+03 ! particle number mass Rhill +5.97839539e+03 !particle radius in AU 9.86523103e+06 -1.83199282e+06 -1.01434913e+05 ! x y z 3.62371838e+02 2.01111356e+03 -2.79275007e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1115 2.85730185e+05 1.40237450e+04 ! particle number mass Rhill -6.83551180e+03 !particle radius in m +Body1115 2.85730185e+05 1.40237450e+04 ! particle number mass Rhill +6.83551180e+03 !particle radius in AU -6.51672994e+06 8.58292997e+06 -5.02195539e+04 ! x y z -1.57720017e+03 -1.21482386e+03 -6.46438464e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1116 3.39840736e+05 1.28616339e+04 ! particle number mass Rhill -1.06723682e+04 !particle radius in m +Body1116 3.39840736e+05 1.28616339e+04 ! particle number mass Rhill +1.06723682e+04 !particle radius in AU -6.45748170e+06 -6.60771754e+06 -2.88111990e+04 ! x y z 1.51807464e+03 -1.53717383e+03 -6.96952587e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1117 5.80221698e+04 8.94269756e+03 ! particle number mass Rhill -4.01775686e+03 !particle radius in m +Body1117 5.80221698e+04 8.94269756e+03 ! particle number mass Rhill +4.01775686e+03 !particle radius in AU -1.05725448e+07 -5.16101098e+06 -7.22185112e+04 ! x y z 8.09611157e+02 -1.71812375e+03 -2.92698073e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1118 3.05076450e+04 9.39000602e+03 ! particle number mass Rhill -4.77864994e+03 !particle radius in m +Body1118 3.05076450e+04 9.39000602e+03 ! particle number mass Rhill +4.77864994e+03 !particle radius in AU 1.47903230e+07 -3.70476681e+06 8.67755187e+04 ! x y z 3.95094726e+02 1.62426955e+03 3.16826057e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1119 1.47140776e+05 9.85483510e+03 ! particle number mass Rhill -8.07383748e+03 !particle radius in m +Body1119 1.47140776e+05 9.85483510e+03 ! particle number mass Rhill +8.07383748e+03 !particle radius in AU -4.36058679e+05 -9.44156206e+06 -4.16955929e+04 ! x y z 2.12091782e+03 -1.37012120e+02 1.39491466e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1120 1.47165298e+06 4.94297791e+04 ! particle number mass Rhill -1.18046777e+04 !particle radius in m +Body1120 1.47165298e+06 4.94297791e+04 ! particle number mass Rhill +1.18046777e+04 !particle radius in AU -1.46392393e+07 1.63813686e+07 8.12078291e+03 ! x y z -1.02836410e+03 -9.42723860e+02 -1.38765972e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1121 2.23276517e+05 1.11786883e+04 ! particle number mass Rhill -9.27790681e+03 !particle radius in m +Body1121 2.23276517e+05 1.11786883e+04 ! particle number mass Rhill +9.27790681e+03 !particle radius in AU 9.24634424e+06 -1.31047137e+06 -7.09194003e+04 ! x y z 3.02062155e+02 2.11565604e+03 -9.58265694e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1122 1.82717804e+06 2.32239948e+04 ! particle number mass Rhill -1.26875944e+04 !particle radius in m +Body1122 1.82717804e+06 2.32239948e+04 ! particle number mass Rhill +1.26875944e+04 !particle radius in AU -7.40684320e+06 6.13173465e+06 -3.12795630e+04 ! x y z -1.33749169e+03 -1.62866413e+03 1.56290098e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1123 2.51827609e+05 1.22793899e+04 ! particle number mass Rhill -9.65761978e+03 !particle radius in m +Body1123 2.51827609e+05 1.22793899e+04 ! particle number mass Rhill +9.65761978e+03 !particle radius in AU 9.78515626e+06 -5.26138525e+05 -7.59982349e+03 ! x y z 1.11181620e+02 2.08934488e+03 -1.89984631e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1124 1.90339114e+05 1.21036723e+04 ! particle number mass Rhill -8.79721090e+03 !particle radius in m +Body1124 1.90339114e+05 1.21036723e+04 ! particle number mass Rhill +8.79721090e+03 !particle radius in AU -2.42960077e+06 1.02657010e+07 6.86680195e+04 ! x y z -1.96613992e+03 -4.70552640e+02 -5.76191698e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1125 1.94434786e+06 2.40654720e+04 ! particle number mass Rhill -1.29531974e+04 !particle radius in m +Body1125 1.94434786e+06 2.40654720e+04 ! particle number mass Rhill +1.29531974e+04 !particle radius in AU -2.99090493e+06 -9.38394150e+06 1.22754087e+04 ! x y z 1.96346362e+03 -6.64206351e+02 -1.04286573e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1126 3.54738618e+05 1.37755783e+04 ! particle number mass Rhill -7.34663539e+03 !particle radius in m +Body1126 3.54738618e+05 1.37755783e+04 ! particle number mass Rhill +7.34663539e+03 !particle radius in AU -9.16858859e+06 3.17229706e+06 4.94776739e+02 ! x y z -6.65048356e+02 -2.00655681e+03 -1.69698250e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1127 8.13466838e+04 1.11519361e+04 ! particle number mass Rhill -4.49675212e+03 !particle radius in m +Body1127 8.13466838e+04 1.11519361e+04 ! particle number mass Rhill +4.49675212e+03 !particle radius in AU 1.02698965e+07 8.30732914e+06 1.14137300e+05 ! x y z -1.13322876e+03 1.37969911e+03 -4.16855749e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1128 8.84633718e+04 9.48965294e+03 ! particle number mass Rhill -4.62423780e+03 !particle radius in m +Body1128 8.84633718e+04 9.48965294e+03 ! particle number mass Rhill +4.62423780e+03 !particle radius in AU -6.04360154e+06 -8.98719524e+06 -6.31025271e+04 ! x y z 1.63921724e+03 -1.11262949e+03 4.86167037e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1129 3.06815484e+05 1.87036822e+04 ! particle number mass Rhill -1.03148143e+04 !particle radius in m +Body1129 3.06815484e+05 1.87036822e+04 ! particle number mass Rhill +1.03148143e+04 !particle radius in AU -9.35912101e+06 -1.03642068e+07 -2.18384299e+03 ! x y z 1.30072422e+03 -1.17573948e+03 1.88668155e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1130 2.00267871e+06 2.75110942e+04 ! particle number mass Rhill -1.30814562e+04 !particle radius in m +Body1130 2.00267871e+06 2.75110942e+04 ! particle number mass Rhill +1.30814562e+04 !particle radius in AU 1.04675718e+07 3.39520028e+06 2.70864639e+04 ! x y z -5.97065438e+02 1.88145152e+03 -6.95974089e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1131 3.21995723e+04 5.75242135e+03 ! particle number mass Rhill -4.86540530e+03 !particle radius in m +Body1131 3.21995723e+04 5.75242135e+03 ! particle number mass Rhill +4.86540530e+03 !particle radius in AU -6.73236505e+06 6.13242839e+06 -2.94703322e+04 ! x y z -1.45294617e+03 -1.61318512e+03 -5.68499388e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1132 1.22510716e+05 1.18263490e+04 ! particle number mass Rhill -7.59556962e+03 !particle radius in m +Body1132 1.22510716e+05 1.18263490e+04 ! particle number mass Rhill +7.59556962e+03 !particle radius in AU 4.89468690e+06 -1.07083932e+07 7.90151606e+04 ! x y z 1.76528528e+03 7.71676536e+02 -3.89405176e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1133 1.28112608e+06 3.44843562e+04 ! particle number mass Rhill -1.12715321e+04 !particle radius in m +Body1133 1.28112608e+06 3.44843562e+04 ! particle number mass Rhill +1.12715321e+04 !particle radius in AU -1.37917712e+07 -7.88960798e+06 -6.85787993e+04 ! x y z 8.27177105e+02 -1.42633285e+03 -6.22498397e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1134 4.68678766e+05 2.48731080e+04 ! particle number mass Rhill -1.18793884e+04 !particle radius in m +Body1134 4.68678766e+05 2.48731080e+04 ! particle number mass Rhill +1.18793884e+04 !particle radius in AU -7.34584547e+06 1.44613839e+07 -9.00207198e+04 ! x y z -1.43737968e+03 -7.51623709e+02 1.07613671e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1135 1.44600429e+06 2.06107186e+04 ! particle number mass Rhill -1.17356962e+04 !particle radius in m +Body1135 1.44600429e+06 2.06107186e+04 ! particle number mass Rhill +1.17356962e+04 !particle radius in AU -2.70350276e+05 -9.01638261e+06 4.48528244e+04 ! x y z 2.19935586e+03 -5.92167058e+01 -1.37345562e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1136 1.55894367e+06 3.07191480e+04 ! particle number mass Rhill -1.20336065e+04 !particle radius in m +Body1136 1.55894367e+06 3.07191480e+04 ! particle number mass Rhill +1.20336065e+04 !particle radius in AU -7.93634451e+06 -1.07127629e+07 7.42071719e+04 ! x y z 1.44011604e+03 -1.07152360e+03 -9.74704513e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1137 1.51661612e+05 1.00295649e+04 ! particle number mass Rhill -5.53448930e+03 !particle radius in m +Body1137 1.51661612e+05 1.00295649e+04 ! particle number mass Rhill +5.53448930e+03 !particle radius in AU -3.42691664e+06 -9.05425003e+06 -2.11677870e+04 ! x y z 1.93479037e+03 -7.69981245e+02 1.10419971e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1138 8.20662008e+04 8.63404579e+03 ! particle number mass Rhill -6.64595045e+03 !particle radius in m +Body1138 8.20662008e+04 8.63404579e+03 ! particle number mass Rhill +6.64595045e+03 !particle radius in AU -9.89233738e+06 -6.27568084e+05 6.18194671e+03 ! x y z 1.37071969e+02 -2.08621493e+03 4.72062753e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1139 5.83373853e+04 9.33904930e+03 ! particle number mass Rhill -5.93131938e+03 !particle radius in m +Body1139 5.83373853e+04 9.33904930e+03 ! particle number mass Rhill +5.93131938e+03 !particle radius in AU 7.46340614e+06 9.67912332e+06 1.17459472e+04 ! x y z -1.47885193e+03 1.13911499e+03 4.40806749e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1140 5.11208949e+05 2.15674116e+04 ! particle number mass Rhill -1.22283672e+04 !particle radius in m +Body1140 5.11208949e+05 2.15674116e+04 ! particle number mass Rhill +1.22283672e+04 !particle radius in AU 6.85478382e+06 1.15701707e+07 7.95650274e+04 ! x y z -1.53423752e+03 9.32610677e+02 -3.67365305e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1141 2.48995873e+04 6.96323506e+03 ! particle number mass Rhill -4.46580449e+03 !particle radius in m +Body1141 2.48995873e+04 6.96323506e+03 ! particle number mass Rhill +4.46580449e+03 !particle radius in AU -4.56370068e+06 1.10908559e+07 1.08265365e+04 ! x y z -1.75802463e+03 -7.02357275e+02 1.04220113e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1142 1.18025613e+05 1.14053748e+04 ! particle number mass Rhill -5.09070290e+03 !particle radius in m +Body1142 1.18025613e+05 1.14053748e+04 ! particle number mass Rhill +5.09070290e+03 !particle radius in AU -1.13385925e+07 2.97597054e+06 -4.72391617e+04 ! x y z -5.04596574e+02 -1.84477964e+03 1.31785708e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1143 1.20005427e+06 1.94048403e+04 ! particle number mass Rhill -1.10285723e+04 !particle radius in m +Body1143 1.20005427e+06 1.94048403e+04 ! particle number mass Rhill +1.10285723e+04 !particle radius in AU -9.23261955e+06 -2.89252814e+05 -5.44687237e+04 ! x y z 6.51671796e+01 -2.14992673e+03 -1.81624856e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1144 6.44690750e+04 8.35064291e+03 ! particle number mass Rhill -6.13224460e+03 !particle radius in m +Body1144 6.44690750e+04 8.35064291e+03 ! particle number mass Rhill +6.13224460e+03 !particle radius in AU 1.09075289e+06 1.05119561e+07 -3.25858255e+04 ! x y z -1.99773044e+03 1.99785681e+02 4.03938771e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1145 1.40498208e+05 1.01388504e+04 ! particle number mass Rhill -5.39522124e+03 !particle radius in m +Body1145 1.40498208e+05 1.01388504e+04 ! particle number mass Rhill +5.39522124e+03 !particle radius in AU 5.52516207e+06 8.11277010e+06 -1.90841913e+04 ! x y z -1.72426706e+03 1.18446430e+03 1.21936026e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1146 7.72238320e+05 1.87680643e+04 ! particle number mass Rhill -9.52144317e+03 !particle radius in m +Body1146 7.72238320e+05 1.87680643e+04 ! particle number mass Rhill +9.52144317e+03 !particle radius in AU -4.65951061e+05 1.02295404e+07 5.94558150e+04 ! x y z -2.05121750e+03 -9.71822097e+01 -1.16001667e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1147 1.89858572e+06 2.93947660e+04 ! particle number mass Rhill -1.28507675e+04 !particle radius in m +Body1147 1.89858572e+06 2.93947660e+04 ! particle number mass Rhill +1.28507675e+04 !particle radius in AU 1.19722664e+07 -1.64049398e+06 8.58821045e+04 ! x y z 2.34549789e+02 1.85980680e+03 1.09499792e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1148 9.08539477e+04 1.04020032e+04 ! particle number mass Rhill -6.87517236e+03 !particle radius in m +Body1148 9.08539477e+04 1.04020032e+04 ! particle number mass Rhill +6.87517236e+03 !particle radius in AU -1.08162591e+06 1.14927584e+07 -9.76059282e+04 ! x y z -1.93051044e+03 -1.62077695e+02 -7.14665732e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1149 1.34471989e+06 2.27670592e+04 ! particle number mass Rhill -1.14550311e+04 !particle radius in m +Body1149 1.34471989e+06 2.27670592e+04 ! particle number mass Rhill +1.14550311e+04 !particle radius in AU -1.95233176e+06 1.02927697e+07 -2.00724108e+04 ! x y z -1.97843014e+03 -3.85350221e+02 1.08497627e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1150 9.50016532e+05 2.24812571e+04 ! particle number mass Rhill -1.02022521e+04 !particle radius in m +Body1150 9.50016532e+05 2.24812571e+04 ! particle number mass Rhill +1.02022521e+04 !particle radius in AU 6.15222182e+06 -9.75312655e+06 1.28837233e+04 ! x y z 1.61895964e+03 1.04728187e+03 -1.26702028e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1151 4.98259579e+04 1.25780817e+04 ! particle number mass Rhill -3.81889352e+03 !particle radius in m +Body1151 4.98259579e+04 1.25780817e+04 ! particle number mass Rhill +3.81889352e+03 !particle radius in AU 1.70431842e+07 -2.72492428e+06 -3.86028806e+04 ! x y z 2.83672553e+02 1.54910187e+03 2.07904021e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1152 6.79776779e+04 9.03177957e+03 ! particle number mass Rhill -6.24153051e+03 !particle radius in m +Body1152 6.79776779e+04 9.03177957e+03 ! particle number mass Rhill +6.24153051e+03 !particle radius in AU 8.01774299e+06 8.09902023e+06 -2.62747132e+04 ! x y z -1.35353621e+03 1.36013542e+03 7.64569924e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1153 2.13947474e+05 1.11361089e+04 ! particle number mass Rhill -9.14684621e+03 !particle radius in m +Body1153 2.13947474e+05 1.11361089e+04 ! particle number mass Rhill +9.14684621e+03 !particle radius in AU 3.29923819e+06 8.68923966e+06 -8.36350791e+03 ! x y z -2.01828563e+03 7.65043187e+02 -1.46373885e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1154 1.61918295e+06 3.85312414e+04 ! particle number mass Rhill -1.21866490e+04 !particle radius in m +Body1154 1.61918295e+06 3.85312414e+04 ! particle number mass Rhill +1.21866490e+04 !particle radius in AU 9.48630114e+06 1.31203942e+07 7.51325437e+04 ! x y z -1.33995755e+03 9.53539277e+02 6.46323587e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1155 1.43971018e+05 9.40169492e+03 ! particle number mass Rhill -5.43931264e+03 !particle radius in m +Body1155 1.43971018e+05 9.40169492e+03 ! particle number mass Rhill +5.43931264e+03 !particle radius in AU 9.01020062e+06 -9.02772630e+05 1.38704984e+04 ! x y z 2.41367313e+02 2.16126190e+03 7.68455544e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1156 5.27865615e+05 1.79382428e+04 ! particle number mass Rhill -1.23597622e+04 !particle radius in m +Body1156 5.27865615e+05 1.79382428e+04 ! particle number mass Rhill +1.23597622e+04 !particle radius in AU -8.09665807e+06 -7.58547860e+06 3.14674691e+04 ! x y z 1.35669172e+03 -1.43426598e+03 7.37210686e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1157 2.61259252e+05 2.15300521e+04 ! particle number mass Rhill -6.63452075e+03 !particle radius in m +Body1157 2.61259252e+05 2.15300521e+04 ! particle number mass Rhill +6.63452075e+03 !particle radius in AU 4.28160432e+06 -1.65281080e+07 -8.26509117e+03 ! x y z 1.53190957e+03 3.88184614e+02 1.24754943e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1158 6.27042315e+05 1.61291145e+04 ! particle number mass Rhill -8.88282855e+03 !particle radius in m +Body1158 6.27042315e+05 1.61291145e+04 ! particle number mass Rhill +8.88282855e+03 !particle radius in AU 6.49256441e+05 9.31973535e+06 4.08167273e+04 ! x y z -2.15470427e+03 1.51716056e+02 1.89189290e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1159 1.52946375e+06 2.19072342e+04 ! particle number mass Rhill -1.19572707e+04 !particle radius in m +Body1159 1.52946375e+06 2.19072342e+04 ! particle number mass Rhill +1.19572707e+04 !particle radius in AU -9.20065102e+05 -9.43874908e+06 -2.04752392e+04 ! x y z 2.12475295e+03 -2.35100552e+02 7.76090899e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1160 1.11460317e+05 9.66356252e+03 ! particle number mass Rhill -4.99450465e+03 !particle radius in m +Body1160 1.11460317e+05 9.66356252e+03 ! particle number mass Rhill +4.99450465e+03 !particle radius in AU 4.31072822e+06 9.13284291e+06 4.14102022e+04 ! x y z -1.85476950e+03 9.03328979e+02 -1.46829604e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1161 2.86789697e+04 6.28431067e+03 ! particle number mass Rhill -4.68119614e+03 !particle radius in m +Body1161 2.86789697e+04 6.28431067e+03 ! particle number mass Rhill +4.68119614e+03 !particle radius in AU -6.79093976e+06 8.03119054e+06 -7.05744289e+04 ! x y z -1.52734163e+03 -1.29554248e+03 1.30181520e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1162 9.65732528e+05 2.08012047e+04 ! particle number mass Rhill -1.02582029e+04 !particle radius in m +Body1162 9.65732528e+05 2.08012047e+04 ! particle number mass Rhill +1.02582029e+04 !particle radius in AU -1.04804105e+07 -1.20577935e+06 3.31638534e+04 ! x y z 2.13664871e+02 -2.01046058e+03 -7.98031732e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1163 3.79954335e+05 1.38084178e+04 ! particle number mass Rhill -1.10767611e+04 !particle radius in m +Body1163 3.79954335e+05 1.38084178e+04 ! particle number mass Rhill +1.10767611e+04 !particle radius in AU -7.18067628e+06 -6.29465669e+06 -5.18935266e+04 ! x y z 1.39765048e+03 -1.60192161e+03 7.92302858e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1164 5.13864272e+05 1.86014350e+04 ! particle number mass Rhill -1.22495029e+04 !particle radius in m +Body1164 5.13864272e+05 1.86014350e+04 ! particle number mass Rhill +1.22495029e+04 !particle radius in AU -8.66772744e+06 -7.93918786e+06 3.66255031e+04 ! x y z 1.28753321e+03 -1.40570993e+03 1.04442422e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1165 5.37835639e+04 1.57088864e+04 ! particle number mass Rhill -5.77278675e+03 !particle radius in m +Body1165 5.37835639e+04 1.57088864e+04 ! particle number mass Rhill +5.77278675e+03 !particle radius in AU -4.13157626e+06 -2.06445199e+07 1.15039089e+05 ! x y z 1.39928757e+03 -2.67584358e+02 -6.80453610e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1166 1.74187119e+06 3.12839499e+04 ! particle number mass Rhill -1.24869874e+04 !particle radius in m +Body1166 1.74187119e+06 3.12839499e+04 ! particle number mass Rhill +1.24869874e+04 !particle radius in AU 2.86527664e+04 -1.30135384e+07 9.46703562e+04 ! x y z 1.82137923e+03 3.52269823e+01 6.17347097e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1167 1.58246923e+05 1.05774006e+04 ! particle number mass Rhill -8.27206772e+03 !particle radius in m +Body1167 1.58246923e+05 1.05774006e+04 ! particle number mass Rhill +8.27206772e+03 !particle radius in AU 9.61204633e+06 2.11550317e+06 -1.01612254e+05 ! x y z -4.54369173e+02 2.03897871e+03 -3.85711771e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1168 3.04701159e+04 5.83960283e+03 ! particle number mass Rhill -4.77668965e+03 !particle radius in m +Body1168 3.04701159e+04 5.83960283e+03 ! particle number mass Rhill +4.77668965e+03 !particle radius in AU 8.56305753e+06 3.83573915e+06 2.26223304e+04 ! x y z -8.87660780e+02 1.95010957e+03 -6.47697797e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1169 1.28475493e+05 1.68563266e+04 ! particle number mass Rhill -7.71689197e+03 !particle radius in m +Body1169 1.28475493e+05 1.68563266e+04 ! particle number mass Rhill +7.71689197e+03 !particle radius in AU 7.06863637e+05 1.69810271e+07 1.26105980e+05 ! x y z -1.58048060e+03 4.41879800e+01 4.04119984e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1170 5.67329859e+04 7.91737704e+03 ! particle number mass Rhill -5.87643861e+03 !particle radius in m +Body1170 5.67329859e+04 7.91737704e+03 ! particle number mass Rhill +5.87643861e+03 !particle radius in AU -5.44027365e+06 8.90923003e+06 -1.91872642e+02 ! x y z -1.72578284e+03 -1.05328021e+03 2.75794079e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1171 4.29332911e+05 1.41021700e+04 ! particle number mass Rhill -7.82919405e+03 !particle radius in m +Body1171 4.29332911e+05 1.41021700e+04 ! particle number mass Rhill +7.82919405e+03 !particle radius in AU -3.84222450e+06 8.52500722e+06 5.13399679e+04 ! x y z -1.95749070e+03 -8.88579162e+02 4.05131851e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1172 2.41133271e+05 1.89734864e+04 ! particle number mass Rhill -6.45958637e+03 !particle radius in m +Body1172 2.41133271e+05 1.89734864e+04 ! particle number mass Rhill +6.45958637e+03 !particle radius in AU -1.04764717e+07 1.11206338e+07 -1.83995722e+05 ! x y z -1.21578555e+03 -1.15954535e+03 1.26396174e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1173 1.02998708e+06 2.48616557e+04 ! particle number mass Rhill -1.04808440e+04 !particle radius in m +Body1173 1.02998708e+06 2.48616557e+04 ! particle number mass Rhill +1.04808440e+04 !particle radius in AU 9.91080561e+06 7.33219213e+06 -1.96182672e+04 ! x y z -1.10289136e+03 1.51166868e+03 8.55255590e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1174 8.89416212e+04 1.13520798e+04 ! particle number mass Rhill -4.63255599e+03 !particle radius in m +Body1174 8.89416212e+04 1.13520798e+04 ! particle number mass Rhill +4.63255599e+03 !particle radius in AU -6.34641421e+06 1.11675051e+07 -1.12534756e+05 ! x y z -1.58363204e+03 -9.07829510e+02 -3.73545248e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1175 5.14885465e+05 3.14248507e+04 ! particle number mass Rhill -8.31806943e+03 !particle radius in m +Body1175 5.14885465e+05 3.14248507e+04 ! particle number mass Rhill +8.31806943e+03 !particle radius in AU -9.60844812e+06 -1.70444496e+07 1.09767306e+04 ! x y z 1.30061497e+03 -7.22601223e+02 5.04626944e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1176 2.69318662e+05 1.15494702e+04 ! particle number mass Rhill -6.70205230e+03 !particle radius in m +Body1176 2.69318662e+05 1.15494702e+04 ! particle number mass Rhill +6.70205230e+03 !particle radius in AU 3.30176954e+06 8.21216858e+06 2.33957768e+04 ! x y z -2.06647672e+03 8.14303416e+02 -3.27813568e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1177 3.05068788e+05 1.47559128e+04 ! particle number mass Rhill -6.98637011e+03 !particle radius in m +Body1177 3.05068788e+05 1.47559128e+04 ! particle number mass Rhill +6.98637011e+03 !particle radius in AU -3.56455427e+06 1.04513814e+07 9.13561134e+04 ! x y z -1.86227880e+03 -6.46156347e+02 -1.84370397e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1178 5.19675697e+05 1.60513381e+04 ! particle number mass Rhill -1.22955075e+04 !particle radius in m +Body1178 5.19675697e+05 1.60513381e+04 ! particle number mass Rhill +1.22955075e+04 !particle radius in AU 1.01719252e+07 6.26688339e+05 3.49609062e+04 ! x y z -1.13334526e+02 2.03525342e+03 3.73100714e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1179 1.39224144e+06 2.01859103e+04 ! particle number mass Rhill -1.15884099e+04 !particle radius in m +Body1179 1.39224144e+06 2.01859103e+04 ! particle number mass Rhill +1.15884099e+04 !particle radius in AU 6.79475129e+06 -6.15725925e+06 -4.34005132e+04 ! x y z 1.43607392e+03 1.60794893e+03 9.89854216e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1180 4.05538875e+05 1.93162514e+04 ! particle number mass Rhill -1.13200016e+04 !particle radius in m +Body1180 4.05538875e+05 1.93162514e+04 ! particle number mass Rhill +1.13200016e+04 !particle radius in AU 3.31203426e+06 1.26977181e+07 1.61925621e+04 ! x y z -1.75290457e+03 4.51047834e+02 -6.90112778e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1181 3.20579085e+04 6.70574528e+03 ! particle number mass Rhill -4.85825960e+03 !particle radius in m +Body1181 3.20579085e+04 6.70574528e+03 ! particle number mass Rhill +4.85825960e+03 !particle radius in AU -5.28465980e+06 9.08656562e+06 5.60870045e+04 ! x y z -1.73422854e+03 -1.05901334e+03 1.51078632e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1182 9.82029002e+05 2.71517490e+04 ! particle number mass Rhill -1.03155828e+04 !particle radius in m +Body1182 9.82029002e+05 2.71517490e+04 ! particle number mass Rhill +1.03155828e+04 !particle radius in AU -4.41381530e+06 -1.31465095e+07 1.23851466e+05 ! x y z 1.64911245e+03 -5.92288633e+02 -5.00592030e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1183 9.36064907e+04 1.42989922e+04 ! particle number mass Rhill -4.71217038e+03 !particle radius in m +Body1183 9.36064907e+04 1.42989922e+04 ! particle number mass Rhill +4.71217038e+03 !particle radius in AU 1.58308263e+07 -4.73628624e+05 -2.19545030e+04 ! x y z 5.84709400e+01 1.64641342e+03 -6.62703110e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1184 1.54283486e+06 2.12065020e+04 ! particle number mass Rhill -1.19920145e+04 !particle radius in m +Body1184 1.54283486e+06 2.12065020e+04 ! particle number mass Rhill +1.19920145e+04 !particle radius in AU 9.12968341e+06 9.11733516e+04 1.78969232e+04 ! x y z -5.65016782e+01 2.18069451e+03 -3.98571279e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1185 2.73946957e+05 1.19011985e+04 ! particle number mass Rhill -9.93248268e+03 !particle radius in m +Body1185 2.73946957e+05 1.19011985e+04 ! particle number mass Rhill +9.93248268e+03 !particle radius in AU 8.78149411e+06 -3.19216182e+06 -1.60141388e+04 ! x y z 7.37216338e+02 1.99835772e+03 -1.41820401e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1186 3.20723125e+04 9.43296932e+03 ! particle number mass Rhill -4.85898712e+03 !particle radius in m +Body1186 3.20723125e+04 9.43296932e+03 ! particle number mass Rhill +4.85898712e+03 !particle radius in AU 1.29860619e+07 -8.19871711e+06 9.27457802e+04 ! x y z 8.67118976e+02 1.40272209e+03 6.07478118e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1187 5.63661707e+05 1.72291545e+04 ! particle number mass Rhill -8.57284899e+03 !particle radius in m +Body1187 5.63661707e+05 1.72291545e+04 ! particle number mass Rhill +8.57284899e+03 !particle radius in AU 6.74596853e+06 7.83340922e+06 1.66421965e+04 ! x y z -1.53458492e+03 1.36487940e+03 -3.08963768e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1188 9.77483308e+05 2.12062991e+04 ! particle number mass Rhill -1.02996416e+04 !particle radius in m +Body1188 9.77483308e+05 2.12062991e+04 ! particle number mass Rhill +1.02996416e+04 !particle radius in AU 9.97004957e+06 -4.03326891e+06 1.22229820e+04 ! x y z 7.36970819e+02 1.85756062e+03 1.86046036e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1189 1.11997160e+06 3.12831472e+04 ! particle number mass Rhill -1.07775819e+04 !particle radius in m +Body1189 1.11997160e+06 3.12831472e+04 ! particle number mass Rhill +1.07775819e+04 !particle radius in AU 1.48289776e+07 -3.18422896e+06 -1.95106854e+04 ! x y z 3.65562411e+02 1.64235740e+03 -1.78622262e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1190 4.21697204e+05 2.76052200e+04 ! particle number mass Rhill -7.78250193e+03 !particle radius in m +Body1190 4.21697204e+05 2.76052200e+04 ! particle number mass Rhill +7.78250193e+03 !particle radius in AU -1.82004676e+07 -4.58264120e+06 -8.80114368e+04 ! x y z 3.67043849e+02 -1.45746561e+03 3.81482960e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1191 1.27924892e+05 1.00707109e+04 ! particle number mass Rhill -7.70585221e+03 !particle radius in m +Body1191 1.27924892e+05 1.00707109e+04 ! particle number mass Rhill +7.70585221e+03 !particle radius in AU 9.71830285e+06 -2.79239080e+06 -1.21765919e+05 ! x y z 5.86439180e+02 1.97016309e+03 1.41983570e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1192 2.18484788e+05 2.11984156e+04 ! particle number mass Rhill -9.21105533e+03 !particle radius in m +Body1192 2.18484788e+05 2.11984156e+04 ! particle number mass Rhill +9.21105533e+03 !particle radius in AU -6.87422066e+06 -1.61812284e+07 3.33849657e+04 ! x y z 1.44453834e+03 -6.12213456e+02 5.14798988e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1193 4.42881353e+05 1.37597985e+04 ! particle number mass Rhill -7.91069782e+03 !particle radius in m +Body1193 4.42881353e+05 1.37597985e+04 ! particle number mass Rhill +7.91069782e+03 !particle radius in AU -4.40453318e+05 -9.00359396e+06 2.55701381e+04 ! x y z 2.18504558e+03 -1.66090270e+02 -5.38264979e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1194 3.29981187e+05 3.15651668e+04 ! particle number mass Rhill -7.17158897e+03 !particle radius in m +Body1194 3.29981187e+05 3.15651668e+04 ! particle number mass Rhill +7.17158897e+03 !particle radius in AU 2.19604188e+07 6.04779191e+06 -2.54791200e+04 ! x y z -3.65663685e+02 1.33014017e+03 -8.36197344e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1195 2.00582226e+05 1.14105456e+04 ! particle number mass Rhill -8.95226931e+03 !particle radius in m +Body1195 2.00582226e+05 1.14105456e+04 ! particle number mass Rhill +8.95226931e+03 !particle radius in AU 6.76787299e+06 -6.88896584e+06 -7.92738002e+04 ! x y z 1.51846448e+03 1.48693289e+03 -8.03074046e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1196 2.41709605e+04 6.44082984e+03 ! particle number mass Rhill -4.42181219e+03 !particle radius in m +Body1196 2.41709605e+04 6.44082984e+03 ! particle number mass Rhill +4.42181219e+03 !particle radius in AU -6.18157795e+06 9.50909765e+06 -6.31347661e+04 ! x y z -1.61918243e+03 -1.05906497e+03 6.51625165e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1197 4.00640371e+05 2.08913635e+04 ! particle number mass Rhill -7.65074804e+03 !particle radius in m +Body1197 4.00640371e+05 2.08913635e+04 ! particle number mass Rhill +7.65074804e+03 !particle radius in AU 1.22370591e+07 -7.52313059e+06 -3.37590788e+04 ! x y z 9.11513184e+02 1.46224236e+03 1.38515615e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1198 1.61635239e+06 2.60284499e+04 ! particle number mass Rhill -1.21795436e+04 !particle radius in m +Body1198 1.61635239e+06 2.60284499e+04 ! particle number mass Rhill +1.21795436e+04 !particle radius in AU 7.05236290e+06 -8.64870991e+06 -6.91330978e+04 ! x y z 1.52616946e+03 1.23310907e+03 1.29403411e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1199 5.36110948e+05 1.44063126e+04 ! particle number mass Rhill -8.43083433e+03 !particle radius in m +Body1199 5.36110948e+05 1.44063126e+04 ! particle number mass Rhill +8.43083433e+03 !particle radius in AU 7.80864005e+06 -4.26482545e+06 -2.18013868e+04 ! x y z 1.03496940e+03 1.94204946e+03 1.21677642e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1200 4.28449000e+05 1.32968335e+04 ! particle number mass Rhill -7.82381744e+03 !particle radius in m +Body1200 4.28449000e+05 1.32968335e+04 ! particle number mass Rhill +7.82381744e+03 !particle radius in AU 5.75136921e+06 -6.66165297e+06 -1.60013139e+04 ! x y z 1.66229394e+03 1.46936203e+03 -7.73684722e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1201 9.10224446e+04 8.11138177e+03 ! particle number mass Rhill -6.87941995e+03 !particle radius in m +Body1201 9.10224446e+04 8.11138177e+03 ! particle number mass Rhill +6.87941995e+03 !particle radius in AU -1.22562478e+06 9.13823949e+06 -4.37327451e+04 ! x y z -2.12169150e+03 -2.88517939e+02 -1.49392473e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1202 1.98612171e+06 2.96000814e+04 ! particle number mass Rhill -1.30453064e+04 !particle radius in m +Body1202 1.98612171e+06 2.96000814e+04 ! particle number mass Rhill +1.30453064e+04 !particle radius in AU 7.69914612e+06 -9.13021219e+06 -4.57648993e+04 ! x y z 1.43992781e+03 1.22291153e+03 -3.96856343e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1203 4.53993230e+04 7.49997775e+03 ! particle number mass Rhill -5.45572052e+03 !particle radius in m +Body1203 4.53993230e+04 7.49997775e+03 ! particle number mass Rhill +5.45572052e+03 !particle radius in AU -1.04553344e+07 2.52527420e+06 -1.08628658e+05 ! x y z -4.86679714e+02 -1.92107394e+03 9.45357951e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1204 6.54079550e+05 2.35625462e+04 ! particle number mass Rhill -9.00870821e+03 !particle radius in m +Body1204 6.54079550e+05 2.35625462e+04 ! particle number mass Rhill +9.00870821e+03 !particle radius in AU 1.39140966e+07 -6.41849608e+05 1.71228409e+05 ! x y z 6.24928406e+01 1.73760043e+03 1.32646652e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1205 7.94478183e+05 1.80563097e+04 ! particle number mass Rhill -9.61198288e+03 !particle radius in m +Body1205 7.94478183e+05 1.80563097e+04 ! particle number mass Rhill +9.61198288e+03 !particle radius in AU -4.68891691e+06 -8.65727522e+06 1.38785454e+05 ! x y z 1.83563800e+03 -9.88706825e+02 -2.51608816e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1206 1.99428214e+06 2.23251883e+04 ! particle number mass Rhill -1.30631485e+04 !particle radius in m +Body1206 1.99428214e+06 2.23251883e+04 ! particle number mass Rhill +1.30631485e+04 !particle radius in AU 2.13007974e+05 9.18824852e+06 -3.80121317e+04 ! x y z -2.12834457e+03 7.70592587e+01 -1.61308426e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1207 5.76675515e+04 7.93652829e+03 ! particle number mass Rhill -5.90853066e+03 !particle radius in m +Body1207 5.76675515e+04 7.93652829e+03 ! particle number mass Rhill +5.90853066e+03 !particle radius in AU -1.00652683e+07 -2.07792286e+06 6.26672177e+04 ! x y z 4.27478087e+02 -2.00526834e+03 1.11714666e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1208 7.68189982e+05 1.70994829e+04 ! particle number mass Rhill -9.50477579e+03 !particle radius in m +Body1208 7.68189982e+05 1.70994829e+04 ! particle number mass Rhill +9.50477579e+03 !particle radius in AU -9.25272310e+06 4.61553055e+05 2.28064653e+03 ! x y z -1.21224875e+02 -2.16490532e+03 1.16467209e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1209 7.17469390e+04 7.67800796e+03 ! particle number mass Rhill -4.31241077e+03 !particle radius in m +Body1209 7.17469390e+04 7.67800796e+03 ! particle number mass Rhill +4.31241077e+03 !particle radius in AU 5.99768112e+06 7.18836176e+06 1.30862988e+04 ! x y z -1.63913963e+03 1.36776567e+03 -1.13032580e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1210 8.36379167e+04 1.86325541e+04 ! particle number mass Rhill -4.53858074e+03 !particle radius in m +Body1210 8.36379167e+04 1.86325541e+04 ! particle number mass Rhill +4.53858074e+03 !particle radius in AU 2.69549465e+06 -2.13775506e+07 -2.70977944e+04 ! x y z 1.39480467e+03 1.95781010e+02 -1.22454588e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1211 2.44077886e+04 5.84483951e+03 ! particle number mass Rhill -4.43620698e+03 !particle radius in m +Body1211 2.44077886e+04 5.84483951e+03 ! particle number mass Rhill +4.43620698e+03 !particle radius in AU -3.14237843e+06 -9.60218811e+06 -6.89227352e+04 ! x y z 1.95665546e+03 -6.62178945e+02 -9.36372693e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1212 1.44764486e+05 9.84771730e+03 ! particle number mass Rhill -5.44928691e+03 !particle radius in m +Body1212 1.44764486e+05 9.84771730e+03 ! particle number mass Rhill +5.44928691e+03 !particle radius in AU 3.78692528e+06 8.59540985e+06 -3.20061356e+04 ! x y z -1.96752618e+03 8.51121277e+02 -1.51485463e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1213 2.27221346e+04 6.08153019e+03 ! particle number mass Rhill -4.33163678e+03 !particle radius in m +Body1213 2.27221346e+04 6.08153019e+03 ! particle number mass Rhill +4.33163678e+03 !particle radius in AU -9.00146283e+06 -6.41911956e+06 6.65091457e+04 ! x y z 1.12404780e+03 -1.59135698e+03 -9.77302741e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1214 2.71535887e+04 5.59499408e+03 ! particle number mass Rhill -4.59668490e+03 !particle radius in m +Body1214 2.71535887e+04 5.59499408e+03 ! particle number mass Rhill +4.59668490e+03 !particle radius in AU 8.54824866e+06 -3.66634423e+06 -4.89483929e+04 ! x y z 8.47956516e+02 1.98291118e+03 3.60869553e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1215 1.83930380e+06 4.81996691e+04 ! particle number mass Rhill -1.27155989e+04 !particle radius in m +Body1215 1.83930380e+06 4.81996691e+04 ! particle number mass Rhill +1.27155989e+04 !particle radius in AU 1.95697614e+07 6.28199416e+06 9.65119660e+04 ! x y z -4.43211708e+02 1.34690163e+03 -9.62234736e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1216 1.59080558e+04 1.03572285e+04 ! particle number mass Rhill -3.84628408e+03 !particle radius in m +Body1216 1.59080558e+04 1.03572285e+04 ! particle number mass Rhill +3.84628408e+03 !particle radius in AU -1.58193926e+07 -1.35536390e+07 8.45439846e+04 ! x y z 9.33923428e+02 -1.08590633e+03 1.18308309e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1217 1.66392524e+06 3.70165505e+04 ! particle number mass Rhill -1.22978804e+04 !particle radius in m +Body1217 1.66392524e+06 3.70165505e+04 ! particle number mass Rhill +1.22978804e+04 !particle radius in AU 1.57128973e+07 -6.39323202e+05 1.78188715e+04 ! x y z 6.88318620e+01 1.65105864e+03 3.96550811e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1218 3.66179316e+05 1.41594102e+04 ! particle number mass Rhill -7.42478017e+03 !particle radius in m +Body1218 3.66179316e+05 1.41594102e+04 ! particle number mass Rhill +7.42478017e+03 !particle radius in AU 4.15871481e+06 9.23348984e+06 -2.00218047e+04 ! x y z -1.86711988e+03 8.27796037e+02 -1.71003540e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1219 1.54561493e+05 1.00684785e+04 ! particle number mass Rhill -8.20734629e+03 !particle radius in m +Body1219 1.54561493e+05 1.00684785e+04 ! particle number mass Rhill +8.20734629e+03 !particle radius in AU 1.01202151e+06 -9.34669057e+06 -3.05255233e+04 ! x y z 2.12896558e+03 2.37084406e+02 2.06490854e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1220 1.96961109e+06 2.97634995e+04 ! particle number mass Rhill -1.30090572e+04 !particle radius in m +Body1220 1.96961109e+06 2.97634995e+04 ! particle number mass Rhill +1.30090572e+04 !particle radius in AU -1.21933337e+07 -1.85215644e+04 -9.08532291e+04 ! x y z 3.99379627e+00 -1.85775511e+03 -5.11110124e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1221 1.52307934e+06 2.08671874e+04 ! particle number mass Rhill -1.19406098e+04 !particle radius in m +Body1221 1.52307934e+06 2.08671874e+04 ! particle number mass Rhill +1.19406098e+04 !particle radius in AU -3.43283359e+06 -8.55413032e+06 1.39837760e+04 ! x y z 2.01077915e+03 -7.56017909e+02 1.02863591e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1222 4.68434436e+05 2.00080803e+04 ! particle number mass Rhill -1.18773237e+04 !particle radius in m +Body1222 4.68434436e+05 2.00080803e+04 ! particle number mass Rhill +1.18773237e+04 !particle radius in AU -1.54011563e+06 -1.27126780e+07 7.48528448e+04 ! x y z 1.83173381e+03 -2.00582211e+02 -5.46653115e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1223 2.90685914e+05 1.99495647e+04 ! particle number mass Rhill -6.87480407e+03 !particle radius in m +Body1223 2.90685914e+05 1.99495647e+04 ! particle number mass Rhill +6.87480407e+03 !particle radius in AU 1.51139781e+07 1.12076930e+06 -2.10697882e+04 ! x y z -1.50737141e+02 1.67679110e+03 1.30972258e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1224 1.38602808e+05 1.24338676e+04 ! particle number mass Rhill -7.91455193e+03 !particle radius in m +Body1224 1.38602808e+05 1.24338676e+04 ! particle number mass Rhill +7.91455193e+03 !particle radius in AU 4.75991835e+06 1.10017280e+07 2.88714064e+04 ! x y z -1.75624695e+03 7.27843788e+02 7.23217325e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1225 2.95749638e+04 5.42872052e+03 ! particle number mass Rhill -4.72944737e+03 !particle radius in m +Body1225 2.95749638e+04 5.42872052e+03 ! particle number mass Rhill +4.72944737e+03 !particle radius in AU -7.70162983e+06 -4.41409406e+06 2.58165729e+04 ! x y z 1.05981797e+03 -1.92161597e+03 -1.53504172e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1226 4.32072593e+05 1.78081985e+04 ! particle number mass Rhill -7.84581210e+03 !particle radius in m +Body1226 4.32072593e+05 1.78081985e+04 ! particle number mass Rhill +7.84581210e+03 !particle radius in AU 8.79063205e+06 8.04366554e+06 -1.54947665e+04 ! x y z -1.27701177e+03 1.39840130e+03 -2.40220571e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1227 6.41589266e+04 9.67981886e+03 ! particle number mass Rhill -6.12239510e+03 !particle radius in m +Body1227 6.41589266e+04 9.67981886e+03 ! particle number mass Rhill +6.12239510e+03 !particle radius in AU 8.04074117e+06 9.64104753e+06 -4.45617960e+04 ! x y z -1.39128132e+03 1.17398843e+03 -6.62327287e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1228 3.20284500e+05 1.26827896e+04 ! particle number mass Rhill -7.10064233e+03 !particle radius in m +Body1228 3.20284500e+05 1.26827896e+04 ! particle number mass Rhill +7.10064233e+03 !particle radius in AU -6.66261606e+06 6.71220967e+06 -3.99553759e+04 ! x y z -1.50278601e+03 -1.49037570e+03 1.28507761e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1229 1.51846639e+05 1.45701862e+04 ! particle number mass Rhill -5.53673908e+03 !particle radius in m +Body1229 1.51846639e+05 1.45701862e+04 ! particle number mass Rhill +5.53673908e+03 !particle radius in AU 7.85675354e+06 -1.09086703e+07 6.52437187e+03 ! x y z 1.47253647e+03 1.04716710e+03 -2.78745894e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1230 1.23586335e+05 1.11194308e+04 ! particle number mass Rhill -7.61773407e+03 !particle radius in m +Body1230 1.23586335e+05 1.11194308e+04 ! particle number mass Rhill +7.61773407e+03 !particle radius in AU 1.20372202e+06 -1.12995198e+07 -7.66376724e+04 ! x y z 1.92159252e+03 2.10022167e+02 1.77035004e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1231 2.25142465e+05 1.38893155e+04 ! particle number mass Rhill -6.31351866e+03 !particle radius in m +Body1231 2.25142465e+05 1.38893155e+04 ! particle number mass Rhill +6.31351866e+03 !particle radius in AU 1.34520987e+06 -1.14199869e+07 -1.06162090e+05 ! x y z 1.91854210e+03 2.27440517e+02 -2.86612981e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1232 2.50526229e+04 5.93289297e+03 ! particle number mass Rhill -4.47493492e+03 !particle radius in m +Body1232 2.50526229e+04 5.93289297e+03 ! particle number mass Rhill +4.47493492e+03 !particle radius in AU -7.81637690e+06 6.77408689e+06 -7.41358369e+04 ! x y z -1.33330305e+03 -1.52276964e+03 -6.38372634e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1233 1.90834790e+06 2.35258485e+04 ! particle number mass Rhill -1.28727553e+04 !particle radius in m +Body1233 1.90834790e+06 2.35258485e+04 ! particle number mass Rhill +1.28727553e+04 !particle radius in AU -9.27394458e+06 2.25024078e+06 5.28422677e+04 ! x y z -5.05715454e+02 -2.06066723e+03 1.34558284e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1234 4.91248539e+04 7.28485384e+03 ! particle number mass Rhill -3.80089688e+03 !particle radius in m +Body1234 4.91248539e+04 7.28485384e+03 ! particle number mass Rhill +3.80089688e+03 !particle radius in AU 7.39246396e+06 7.02828616e+06 -5.45617263e+04 ! x y z -1.39190312e+03 1.48134140e+03 -3.43671966e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1235 1.41719231e+05 1.93293155e+04 ! particle number mass Rhill -7.97343121e+03 !particle radius in m +Body1235 1.41719231e+05 1.93293155e+04 ! particle number mass Rhill +7.97343121e+03 !particle radius in AU 1.36549158e+07 -1.27792544e+07 5.75773322e+03 ! x y z 1.01857297e+03 1.11983894e+03 2.42317366e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1236 2.00882370e+05 1.08894510e+04 ! particle number mass Rhill -6.07807803e+03 !particle radius in m +Body1236 2.00882370e+05 1.08894510e+04 ! particle number mass Rhill +6.07807803e+03 !particle radius in AU 8.51250762e+06 3.74715124e+06 -3.66793926e+04 ! x y z -9.06822201e+02 1.95546956e+03 -1.35124063e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1237 1.20287590e+05 1.23845440e+04 ! particle number mass Rhill -7.54934486e+03 !particle radius in m +Body1237 1.20287590e+05 1.23845440e+04 ! particle number mass Rhill +7.54934486e+03 !particle radius in AU 1.11622021e+07 6.11280266e+06 1.12048087e+05 ! x y z -8.90669182e+02 1.59847160e+03 8.83220737e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1238 4.77986782e+05 1.49760594e+04 ! particle number mass Rhill -8.11442267e+03 !particle radius in m +Body1238 4.77986782e+05 1.49760594e+04 ! particle number mass Rhill +8.11442267e+03 !particle radius in AU -3.59837711e+06 8.94095859e+06 9.64175823e+04 ! x y z -1.96856779e+03 -7.62947641e+02 3.79489804e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1239 2.65771158e+05 1.18757587e+04 ! particle number mass Rhill -9.83267321e+03 !particle radius in m +Body1239 2.65771158e+05 1.18757587e+04 ! particle number mass Rhill +9.83267321e+03 !particle radius in AU 1.29422873e+06 -9.18423777e+06 1.13052561e+04 ! x y z 2.13217255e+03 3.09173468e+02 -6.46064530e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1240 9.09935528e+05 1.77629488e+04 ! particle number mass Rhill -1.00567087e+04 !particle radius in m +Body1240 9.09935528e+05 1.77629488e+04 ! particle number mass Rhill +1.00567087e+04 !particle radius in AU 7.55024995e+06 5.55902389e+06 2.47186332e+04 ! x y z -1.28842830e+03 1.68728817e+03 -8.10804757e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1241 6.99841166e+05 3.29812546e+04 ! particle number mass Rhill -9.21408381e+03 !particle radius in m +Body1241 6.99841166e+05 3.29812546e+04 ! particle number mass Rhill +9.21408381e+03 !particle radius in AU 1.88151667e+07 3.33001002e+06 3.73324839e+04 ! x y z -2.30107887e+02 1.46487898e+03 2.65739699e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1242 3.90005908e+05 1.34816243e+04 ! particle number mass Rhill -1.11735897e+04 !particle radius in m +Body1242 3.90005908e+05 1.34816243e+04 ! particle number mass Rhill +1.11735897e+04 !particle radius in AU 5.44170973e+06 -7.58711950e+06 -1.68342575e+04 ! x y z 1.71954001e+03 1.27240084e+03 9.88806581e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1243 1.08664322e+06 2.28428386e+04 ! particle number mass Rhill -1.06695963e+04 !particle radius in m +Body1243 1.08664322e+06 2.28428386e+04 ! particle number mass Rhill +1.06695963e+04 !particle radius in AU -8.65530733e+06 -7.08569033e+06 -2.23265845e+04 ! x y z 1.25758504e+03 -1.50248441e+03 -3.62008173e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1244 1.52765224e+06 2.10792686e+04 ! particle number mass Rhill -1.19525480e+04 !particle radius in m +Body1244 1.52765224e+06 2.10792686e+04 ! particle number mass Rhill +1.19525480e+04 !particle radius in AU -5.77529746e+06 -7.17376952e+06 -5.18219866e+04 ! x y z 1.69375434e+03 -1.34010802e+03 -1.50223596e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1245 6.16725526e+04 8.80160618e+03 ! particle number mass Rhill -6.04226309e+03 !particle radius in m +Body1245 6.16725526e+04 8.80160618e+03 ! particle number mass Rhill +6.04226309e+03 !particle radius in AU -1.06219205e+07 -3.45583164e+06 7.57878163e+04 ! x y z 6.00669506e+02 -1.87043192e+03 1.96458906e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1246 2.90774616e+05 1.23816662e+04 ! particle number mass Rhill -6.87550328e+03 !particle radius in m +Body1246 2.90774616e+05 1.23816662e+04 ! particle number mass Rhill +6.87550328e+03 !particle radius in AU 6.08800715e+06 7.31025693e+06 2.11892900e+04 ! x y z -1.62733880e+03 1.34749417e+03 4.48661776e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1247 2.91111310e+05 1.70046080e+04 ! particle number mass Rhill -6.87815602e+03 !particle radius in m +Body1247 2.91111310e+05 1.70046080e+04 ! particle number mass Rhill +6.87815602e+03 !particle radius in AU 1.11973713e+07 -6.89047737e+06 8.77501535e+04 ! x y z 9.27451132e+02 1.53222806e+03 7.89688850e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1248 1.92146673e+04 5.02220470e+03 ! particle number mass Rhill -4.09618861e+03 !particle radius in m +Body1248 1.92146673e+04 5.02220470e+03 ! particle number mass Rhill +4.09618861e+03 !particle radius in AU -7.43211722e+06 -5.81999467e+06 -9.65323707e+03 ! x y z 1.33310134e+03 -1.66490648e+03 -3.67453264e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1249 1.12236575e+06 2.53698511e+04 ! particle number mass Rhill -1.07852562e+04 !particle radius in m +Body1249 1.12236575e+06 2.53698511e+04 ! particle number mass Rhill +1.07852562e+04 !particle radius in AU -1.08902550e+07 -5.66422797e+06 1.03662075e+04 ! x y z 8.63087680e+02 -1.66058015e+03 -2.16763143e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1250 1.97375621e+05 1.34147884e+04 ! particle number mass Rhill -8.90430770e+03 !particle radius in m +Body1250 1.97375621e+05 1.34147884e+04 ! particle number mass Rhill +8.90430770e+03 !particle radius in AU 5.12124924e+06 1.04057141e+07 -2.37917852e+04 ! x y z -1.74067826e+03 8.20317248e+02 -1.61468664e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1251 6.18834861e+04 1.06379610e+04 ! particle number mass Rhill -6.04914386e+03 !particle radius in m +Body1251 6.18834861e+04 1.06379610e+04 ! particle number mass Rhill +6.04914386e+03 !particle radius in AU -1.68906115e+06 -1.36100786e+07 1.12141407e+05 ! x y z 1.74322371e+03 -2.27430898e+02 1.33662045e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1252 1.48860804e+05 1.71420231e+04 ! particle number mass Rhill -8.10517587e+03 !particle radius in m +Body1252 1.48860804e+05 1.71420231e+04 ! particle number mass Rhill +8.10517587e+03 !particle radius in AU 1.55662567e+07 4.00286637e+06 -1.79247131e+05 ! x y z -4.13259864e+02 1.59216194e+03 8.36151351e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1253 9.89512707e+05 4.29095693e+04 ! particle number mass Rhill -1.03417203e+04 !particle radius in m +Body1253 9.89512707e+05 4.29095693e+04 ! particle number mass Rhill +1.03417203e+04 !particle radius in AU -1.88242941e+07 1.06236844e+07 -6.10248603e+04 ! x y z -7.07744890e+02 -1.22126213e+03 4.18101860e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1254 3.12504250e+05 1.56490359e+04 ! particle number mass Rhill -1.03781744e+04 !particle radius in m +Body1254 3.12504250e+05 1.56490359e+04 ! particle number mass Rhill +1.03781744e+04 !particle radius in AU 6.54563477e+06 9.67513797e+06 -6.81578535e+04 ! x y z -1.58341801e+03 1.07058771e+03 -6.04814628e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1255 1.91935878e+05 1.27404816e+04 ! particle number mass Rhill -8.82174250e+03 !particle radius in m +Body1255 1.91935878e+05 1.27404816e+04 ! particle number mass Rhill +8.82174250e+03 !particle radius in AU 1.04054207e+07 -4.16069278e+06 2.73610807e+04 ! x y z 7.03766909e+02 1.81842161e+03 8.81427302e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1256 1.11002558e+05 1.15265444e+04 ! particle number mass Rhill -4.98765792e+03 !particle radius in m +Body1256 1.11002558e+05 1.15265444e+04 ! particle number mass Rhill +4.98765792e+03 !particle radius in AU 3.08072328e+06 -1.16153087e+07 4.07709281e+04 ! x y z 1.83456791e+03 4.73999302e+02 7.43116200e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1257 1.46365124e+05 1.07472865e+04 ! particle number mass Rhill -5.46929730e+03 !particle radius in m +Body1257 1.46365124e+05 1.07472865e+04 ! particle number mass Rhill +5.46929730e+03 !particle radius in AU 6.34509950e+06 -8.39632633e+06 3.00680333e+04 ! x y z 1.60571507e+03 1.18326876e+03 -2.08403941e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1258 3.58622633e+04 7.27385097e+03 ! particle number mass Rhill -5.04330099e+03 !particle radius in m +Body1258 3.58622633e+04 7.27385097e+03 ! particle number mass Rhill +5.04330099e+03 !particle radius in AU 1.11214656e+07 1.24533693e+06 -1.06574136e+05 ! x y z -2.16829963e+02 1.93905765e+03 1.21579926e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1259 4.04109068e+05 1.42195375e+04 ! particle number mass Rhill -1.13066823e+04 !particle radius in m +Body1259 4.04109068e+05 1.42195375e+04 ! particle number mass Rhill +1.13066823e+04 !particle radius in AU -8.88143306e+06 -3.59836181e+06 5.33136699e+04 ! x y z 8.14785566e+02 -1.96550951e+03 6.43084310e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1260 3.08027204e+05 1.50707848e+04 ! particle number mass Rhill -7.00888103e+03 !particle radius in m +Body1260 3.08027204e+05 1.50707848e+04 ! particle number mass Rhill +7.00888103e+03 !particle radius in AU -8.26948189e+06 -7.55777650e+06 1.90589282e+04 ! x y z 1.31251337e+03 -1.45641325e+03 -2.75253497e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1261 5.68308086e+04 7.77187750e+03 ! particle number mass Rhill -3.99006780e+03 !particle radius in m +Body1261 5.68308086e+04 7.77187750e+03 ! particle number mass Rhill +3.99006780e+03 !particle radius in AU -8.76369433e+06 5.12820302e+06 4.83723083e+04 ! x y z -1.02986001e+03 -1.78262989e+03 -1.16887378e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1262 3.44231334e+05 1.47159604e+04 ! particle number mass Rhill -1.07181325e+04 !particle radius in m +Body1262 3.44231334e+05 1.47159604e+04 ! particle number mass Rhill +1.07181325e+04 !particle radius in AU 8.77351236e+06 5.86805867e+06 7.03132721e+04 ! x y z -1.14557695e+03 1.66192575e+03 2.25245099e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1263 2.40295629e+05 1.18592176e+04 ! particle number mass Rhill -6.45209798e+03 !particle radius in m +Body1263 2.40295629e+05 1.18592176e+04 ! particle number mass Rhill +6.45209798e+03 !particle radius in AU 2.81170524e+06 9.19584888e+06 4.45600518e+04 ! x y z -2.01744512e+03 6.24046260e+02 -9.89046691e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1264 6.80068207e+04 8.07363373e+03 ! particle number mass Rhill -6.24242232e+03 !particle radius in m +Body1264 6.80068207e+04 8.07363373e+03 ! particle number mass Rhill +6.24242232e+03 !particle radius in AU -9.87293199e+06 -1.42461669e+06 -2.08948330e+04 ! x y z 2.77302880e+02 -2.05434640e+03 1.23835967e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1265 4.03465047e+05 1.96297243e+04 ! particle number mass Rhill -1.13006727e+04 !particle radius in m +Body1265 4.03465047e+05 1.96297243e+04 ! particle number mass Rhill +1.13006727e+04 !particle radius in AU -3.58991165e+06 -1.30771532e+07 4.60336444e+04 ! x y z 1.69912089e+03 -4.85176809e+02 -8.42271300e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1266 1.12924923e+06 1.97340059e+04 ! particle number mass Rhill -1.08072599e+04 !particle radius in m +Body1266 1.12924923e+06 1.97340059e+04 ! particle number mass Rhill +1.08072599e+04 !particle radius in AU -9.30543267e+06 -1.69593678e+06 7.96573126e+04 ! x y z 3.79186148e+02 -2.10571304e+03 -2.17512876e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1267 2.12462415e+05 1.13846036e+04 ! particle number mass Rhill -6.19269515e+03 !particle radius in m +Body1267 2.12462415e+05 1.13846036e+04 ! particle number mass Rhill +6.19269515e+03 !particle radius in AU -3.38260922e+06 8.95675600e+06 -9.15710109e+04 ! x y z -1.98063128e+03 -7.58924908e+02 1.62762983e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1268 1.22284830e+05 9.48762297e+03 ! particle number mass Rhill -7.59089850e+03 !particle radius in m +Body1268 1.22284830e+05 9.48762297e+03 ! particle number mass Rhill +7.59089850e+03 !particle radius in AU 9.06470291e+06 3.39698455e+06 -1.93072359e+04 ! x y z -7.42646003e+02 1.96423004e+03 3.04319746e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1269 3.20826960e+05 1.28228485e+04 ! particle number mass Rhill -7.10464881e+03 !particle radius in m +Body1269 3.20826960e+05 1.28228485e+04 ! particle number mass Rhill +7.10464881e+03 !particle radius in AU -8.28344816e+06 -4.56542130e+06 -3.98741155e+04 ! x y z 9.81538136e+02 -1.88759078e+03 8.61570104e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1270 1.68765847e+05 1.17429653e+04 ! particle number mass Rhill -8.45143607e+03 !particle radius in m +Body1270 1.68765847e+05 1.17429653e+04 ! particle number mass Rhill +8.45143607e+03 !particle radius in AU 9.83373151e+06 4.43940145e+06 2.01558777e+04 ! x y z -8.55397447e+02 1.79285028e+03 -1.01803709e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1271 5.60563834e+05 1.63043729e+04 ! particle number mass Rhill -1.26098721e+04 !particle radius in m +Body1271 5.60563834e+05 1.63043729e+04 ! particle number mass Rhill +1.26098721e+04 !particle radius in AU 6.20736435e+06 7.70565657e+06 2.01353242e+04 ! x y z -1.62930967e+03 1.30802298e+03 1.80300563e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1272 2.23640540e+05 2.16768752e+04 ! particle number mass Rhill -9.28294621e+03 !particle radius in m +Body1272 2.23640540e+05 2.16768752e+04 ! particle number mass Rhill +9.28294621e+03 !particle radius in AU -1.21242621e+07 -1.29944427e+07 9.45840193e+03 ! x y z 1.14488121e+03 -1.06447129e+03 8.51817054e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1273 3.24484331e+05 1.23517614e+04 ! particle number mass Rhill -1.05091333e+04 !particle radius in m +Body1273 3.24484331e+05 1.23517614e+04 ! particle number mass Rhill +1.05091333e+04 !particle radius in AU -9.34416446e+04 9.14288304e+06 8.29702341e+03 ! x y z -2.15581546e+03 -1.85313701e+01 1.24100830e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1274 4.20796538e+05 1.46309941e+04 ! particle number mass Rhill -1.14602223e+04 !particle radius in m +Body1274 4.20796538e+05 1.46309941e+04 ! particle number mass Rhill +1.14602223e+04 !particle radius in AU -8.56201175e+06 -4.77007031e+06 6.27239711e+04 ! x y z 1.04809893e+03 -1.81527422e+03 -2.35300971e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1275 5.97784859e+05 1.68704229e+04 ! particle number mass Rhill -8.74246630e+03 !particle radius in m +Body1275 5.97784859e+05 1.68704229e+04 ! particle number mass Rhill +8.74246630e+03 !particle radius in AU 9.33774261e+06 -3.80575834e+06 3.61612768e+04 ! x y z 7.89084549e+02 1.90660726e+03 1.55750455e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1276 7.71866509e+05 1.63632082e+04 ! particle number mass Rhill -9.51991482e+03 !particle radius in m +Body1276 7.71866509e+05 1.63632082e+04 ! particle number mass Rhill +9.51991482e+03 !particle radius in AU 1.44814086e+05 -9.02785011e+06 -7.62099316e+03 ! x y z 2.17482769e+03 2.31217788e+01 4.51562127e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1277 2.09762369e+04 6.28274160e+03 ! particle number mass Rhill -4.21772425e+03 !particle radius in m +Body1277 2.09762369e+04 6.28274160e+03 ! particle number mass Rhill +4.21772425e+03 !particle radius in AU 2.68337698e+06 1.12799171e+07 -1.92110080e+04 ! x y z -1.86815076e+03 4.16102947e+02 -8.29271140e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1278 3.46246737e+05 1.25842743e+04 ! particle number mass Rhill -1.07390093e+04 !particle radius in m +Body1278 3.46246737e+05 1.25842743e+04 ! particle number mass Rhill +1.07390093e+04 !particle radius in AU -8.56711815e+06 -3.15713404e+06 3.97972006e+03 ! x y z 7.43604689e+02 -2.02339459e+03 6.66994916e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1279 4.20281553e+05 1.36364340e+04 ! particle number mass Rhill -7.77378347e+03 !particle radius in m +Body1279 4.20281553e+05 1.36364340e+04 ! particle number mass Rhill +7.77378347e+03 !particle radius in AU 2.18747509e+06 8.65395918e+06 -2.06536040e+04 ! x y z -2.15725804e+03 5.30856591e+02 2.37348618e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1280 1.24686009e+06 3.01782349e+04 ! particle number mass Rhill -1.11701303e+04 !particle radius in m +Body1280 1.24686009e+06 3.01782349e+04 ! particle number mass Rhill +1.11701303e+04 !particle radius in AU 7.66628600e+06 -1.17727557e+07 -1.47420679e+04 ! x y z 1.47098208e+03 9.52353449e+02 1.59639874e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1281 1.23652829e+06 2.28978896e+04 ! particle number mass Rhill -1.11391918e+04 !particle radius in m +Body1281 1.23652829e+06 2.28978896e+04 ! particle number mass Rhill +1.11391918e+04 !particle radius in AU 1.04264792e+07 -2.74372425e+06 3.12865429e+04 ! x y z 5.41650708e+02 1.91683777e+03 -8.25764712e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1282 5.71090410e+05 1.53591732e+04 ! particle number mass Rhill -8.61034631e+03 !particle radius in m +Body1282 5.71090410e+05 1.53591732e+04 ! particle number mass Rhill +8.61034631e+03 !particle radius in AU -3.55923980e+06 -8.64968069e+06 1.79106442e+03 ! x y z 1.99649530e+03 -7.67245271e+02 -5.93442801e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1283 5.19767258e+05 1.51351192e+04 ! particle number mass Rhill -8.34427553e+03 !particle radius in m +Body1283 5.19767258e+05 1.51351192e+04 ! particle number mass Rhill +8.34427553e+03 !particle radius in AU 9.42893053e+06 2.45878278e+05 -4.57214896e+04 ! x y z -6.01176022e+01 2.13776727e+03 1.81291767e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1284 4.43010149e+04 6.43778074e+03 ! particle number mass Rhill -5.41136566e+03 !particle radius in m +Body1284 4.43010149e+04 6.43778074e+03 ! particle number mass Rhill +5.41136566e+03 !particle radius in AU 9.07031967e+06 -2.25767487e+06 5.83955838e+03 ! x y z 5.13475058e+02 2.05838222e+03 2.17889632e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1285 1.89897561e+05 1.41973974e+04 ! particle number mass Rhill -5.96520618e+03 !particle radius in m +Body1285 1.89897561e+05 1.41973974e+04 ! particle number mass Rhill +5.96520618e+03 !particle radius in AU -7.87040592e+06 9.69728016e+06 -1.66849672e+03 ! x y z -1.42992939e+03 -1.17418658e+03 -3.60129869e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1286 1.97476197e+05 1.67504404e+04 ! particle number mass Rhill -6.04352860e+03 !particle radius in m +Body1286 1.97476197e+05 1.67504404e+04 ! particle number mass Rhill +6.04352860e+03 !particle radius in AU 1.32660339e+07 5.77686809e+06 1.35800303e+05 ! x y z -6.62231218e+02 1.59103506e+03 -3.43945323e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1287 6.78506127e+05 1.94924484e+04 ! particle number mass Rhill -9.11948377e+03 !particle radius in m +Body1287 6.78506127e+05 1.94924484e+04 ! particle number mass Rhill +9.11948377e+03 !particle radius in AU -1.01101796e+07 -4.73633978e+06 1.92223885e+04 ! x y z 8.16987783e+02 -1.78318056e+03 8.86814927e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1288 3.31102311e+05 2.06337640e+04 ! particle number mass Rhill -7.17970170e+03 !particle radius in m +Body1288 3.31102311e+05 2.06337640e+04 ! particle number mass Rhill +7.17970170e+03 !particle radius in AU -1.00157479e+07 1.12142854e+07 -2.29871580e+04 ! x y z -1.26146743e+03 -1.12281660e+03 -9.84657732e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1289 5.85238829e+05 1.87103235e+04 ! particle number mass Rhill -1.27922430e+04 !particle radius in m +Body1289 5.85238829e+05 1.87103235e+04 ! particle number mass Rhill +1.27922430e+04 !particle radius in AU -8.01070020e+06 -7.68441073e+06 -7.44586443e+03 ! x y z 1.37227167e+03 -1.42837223e+03 -3.04293724e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1290 2.57089994e+05 1.14604204e+04 ! particle number mass Rhill -6.59903940e+03 !particle radius in m +Body1290 2.57089994e+05 1.14604204e+04 ! particle number mass Rhill +6.59903940e+03 !particle radius in AU 5.94423414e+06 -6.60015867e+06 3.79489917e+04 ! x y z 1.64871713e+03 1.48917509e+03 4.06312752e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1291 5.62761960e+05 1.46125539e+04 ! particle number mass Rhill -1.26263329e+04 !particle radius in m +Body1291 5.62761960e+05 1.46125539e+04 ! particle number mass Rhill +1.26263329e+04 !particle radius in AU -3.52967631e+06 8.16512241e+06 -2.51085986e+04 ! x y z -2.00672046e+03 -8.99089812e+02 1.47195859e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1292 1.22606951e+05 1.04784482e+04 ! particle number mass Rhill -5.15573627e+03 !particle radius in m +Body1292 1.22606951e+05 1.04784482e+04 ! particle number mass Rhill +5.15573627e+03 !particle radius in AU 8.67857522e+06 6.03654833e+06 6.58011140e+03 ! x y z -1.13872966e+03 1.66817442e+03 2.18662162e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1293 2.63411927e+05 1.40199277e+04 ! particle number mass Rhill -9.80349206e+03 !particle radius in m +Body1293 2.63411927e+05 1.40199277e+04 ! particle number mass Rhill +9.80349206e+03 !particle radius in AU -4.55569332e+06 1.00472663e+07 8.70354064e+03 ! x y z -1.80149559e+03 -7.99810234e+02 3.42249675e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1294 2.73475123e+05 1.57989125e+04 ! particle number mass Rhill -9.92677698e+03 !particle radius in m +Body1294 2.73475123e+05 1.57989125e+04 ! particle number mass Rhill +9.92677698e+03 !particle radius in AU 9.14438839e+06 8.39253082e+06 -8.86556588e+04 ! x y z -1.26689180e+03 1.34538142e+03 -8.40350285e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1295 2.86580523e+05 1.51966222e+04 ! particle number mass Rhill -6.84228595e+03 !particle radius in m +Body1295 2.86580523e+05 1.51966222e+04 ! particle number mass Rhill +6.84228595e+03 !particle radius in AU 7.97751328e+06 8.67584783e+06 5.30436727e+04 ! x y z -1.38366127e+03 1.29303381e+03 -8.41467876e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1296 4.12299552e+05 1.34934085e+04 ! particle number mass Rhill -7.72425527e+03 !particle radius in m +Body1296 4.12299552e+05 1.34934085e+04 ! particle number mass Rhill +7.72425527e+03 !particle radius in AU -5.79048975e+06 6.93664576e+06 1.29124985e+04 ! x y z -1.68001209e+03 -1.40612278e+03 -3.61171376e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1297 5.59645883e+05 1.70426121e+04 ! particle number mass Rhill -1.26029852e+04 !particle radius in m +Body1297 5.59645883e+05 1.70426121e+04 ! particle number mass Rhill +1.26029852e+04 !particle radius in AU -5.16609529e+06 9.03539760e+06 5.58960613e+04 ! x y z -1.76517041e+03 -1.00560177e+03 -5.00965832e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1298 6.33916014e+04 1.50366592e+04 ! particle number mass Rhill -6.09788969e+03 !particle radius in m +Body1298 6.33916014e+04 1.50366592e+04 ! particle number mass Rhill +6.09788969e+03 !particle radius in AU 1.46424048e+07 -1.15689038e+07 3.27414078e+04 ! x y z 9.47675088e+02 1.20085208e+03 1.06976469e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1299 8.52433630e+04 8.93705997e+03 ! particle number mass Rhill -6.73063203e+03 !particle radius in m +Body1299 8.52433630e+04 8.93705997e+03 ! particle number mass Rhill +6.73063203e+03 !particle radius in AU 1.01236173e+07 1.45579667e+06 5.15839678e+04 ! x y z -2.87224826e+02 2.02832432e+03 -4.14184381e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1300 5.14081123e+04 6.53080242e+03 ! particle number mass Rhill -3.85889430e+03 !particle radius in m +Body1300 5.14081123e+04 6.53080242e+03 ! particle number mass Rhill +3.85889430e+03 !particle radius in AU 7.23258453e+06 4.97813060e+06 -4.38592192e+03 ! x y z -1.24479041e+03 1.83714641e+03 -1.95822638e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1301 6.77217199e+04 7.14700851e+03 ! particle number mass Rhill -4.23020736e+03 !particle radius in m +Body1301 6.77217199e+04 7.14700851e+03 ! particle number mass Rhill +4.23020736e+03 !particle radius in AU 8.93601994e+06 -6.94569357e+05 -6.12210199e+02 ! x y z 2.19917996e+02 2.16082384e+03 -1.54527155e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1302 6.11703776e+05 2.00034005e+04 ! particle number mass Rhill -1.29822323e+04 !particle radius in m +Body1302 6.11703776e+05 2.00034005e+04 ! particle number mass Rhill +1.29822323e+04 !particle radius in AU 8.82738308e+06 -7.76404080e+06 8.11338370e+04 ! x y z 1.26378234e+03 1.44510358e+03 2.18294651e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1303 1.65801844e+05 1.55733762e+04 ! particle number mass Rhill -8.40166656e+03 !particle radius in m +Body1303 1.65801844e+05 1.55733762e+04 ! particle number mass Rhill +8.40166656e+03 !particle radius in AU -1.07812933e+07 -9.62734933e+06 -5.03390757e+03 ! x y z 1.12256505e+03 -1.29339213e+03 -5.66212341e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1304 4.62987998e+05 1.42062076e+04 ! particle number mass Rhill -8.02864474e+03 !particle radius in m +Body1304 4.62987998e+05 1.42062076e+04 ! particle number mass Rhill +8.02864474e+03 !particle radius in AU -6.42251747e+06 -6.74488620e+06 7.04602772e+04 ! x y z 1.54144883e+03 -1.48324937e+03 1.60342159e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1305 2.60642975e+05 1.22939187e+04 ! particle number mass Rhill -6.62929998e+03 !particle radius in m +Body1305 2.60642975e+05 1.22939187e+04 ! particle number mass Rhill +6.62929998e+03 !particle radius in AU 9.47929213e+06 -2.19579661e+06 -3.25100566e+04 ! x y z 4.68213030e+02 2.04336200e+03 2.65890903e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1306 1.40715229e+06 2.33795274e+04 ! particle number mass Rhill -1.16296336e+04 !particle radius in m +Body1306 1.40715229e+06 2.33795274e+04 ! particle number mass Rhill +1.16296336e+04 !particle radius in AU -1.05077611e+07 -1.31085244e+06 7.30464724e+04 ! x y z 2.82650675e+02 -1.98548135e+03 -1.05658937e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1307 7.13061331e+04 7.85310031e+03 ! particle number mass Rhill -4.30356095e+03 !particle radius in m +Body1307 7.13061331e+04 7.85310031e+03 ! particle number mass Rhill +4.30356095e+03 !particle radius in AU -9.66162364e+06 4.23926500e+05 -1.22905037e+04 ! x y z -9.71624638e+01 -2.08984070e+03 2.75014649e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1308 4.89601650e+05 2.17422005e+04 ! particle number mass Rhill -8.17962300e+03 !particle radius in m +Body1308 4.89601650e+05 2.17422005e+04 ! particle number mass Rhill +8.17962300e+03 !particle radius in AU 9.30519559e+06 1.02777991e+07 -1.35151955e+04 ! x y z -1.30832060e+03 1.17931837e+03 4.96678180e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1309 1.78067654e+05 1.20379239e+04 ! particle number mass Rhill -8.60393924e+03 !particle radius in m +Body1309 1.78067654e+05 1.20379239e+04 ! particle number mass Rhill +8.60393924e+03 !particle radius in AU -5.38712062e+06 -9.43582755e+06 -1.42962613e+04 ! x y z 1.72402431e+03 -9.72573668e+02 -5.35637349e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1310 4.80906653e+04 1.22640544e+04 ! particle number mass Rhill -3.77403501e+03 !particle radius in m +Body1310 4.80906653e+04 1.22640544e+04 ! particle number mass Rhill +3.77403501e+03 !particle radius in AU -7.15437615e+06 -1.57030040e+07 1.86249551e+05 ! x y z 1.42003546e+03 -6.56667148e+02 -3.41426138e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1311 8.59903706e+04 7.89944042e+03 ! particle number mass Rhill -6.75023558e+03 !particle radius in m +Body1311 8.59903706e+04 7.89944042e+03 ! particle number mass Rhill +6.75023558e+03 !particle radius in AU 5.41844043e+06 -7.25472299e+06 -9.37968266e+03 ! x y z 1.74397758e+03 1.29517496e+03 1.90126636e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1312 1.63891142e+06 3.26516084e+04 ! particle number mass Rhill -1.22359443e+04 !particle radius in m +Body1312 1.63891142e+06 3.26516084e+04 ! particle number mass Rhill +1.22359443e+04 !particle radius in AU 1.22229448e+07 -6.93664382e+06 -3.73566212e+04 ! x y z 8.86957021e+02 1.49812000e+03 2.93544144e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1313 1.65548000e+05 1.22081060e+04 ! particle number mass Rhill -5.69849680e+03 !particle radius in m +Body1313 1.65548000e+05 1.22081060e+04 ! particle number mass Rhill +5.69849680e+03 !particle radius in AU 4.97534313e+05 1.12973925e+07 -2.47714549e+04 ! x y z -1.93747095e+03 6.82256092e+01 4.50885373e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1314 8.18131400e+04 1.04556815e+04 ! particle number mass Rhill -6.63911222e+03 !particle radius in m +Body1314 8.18131400e+04 1.04556815e+04 ! particle number mass Rhill +6.63911222e+03 !particle radius in AU 6.27007593e+06 1.03894624e+07 -7.16417007e+03 ! x y z -1.60760769e+03 9.75456582e+02 -4.84946763e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1315 1.03590462e+06 1.78980493e+04 ! particle number mass Rhill -1.05008774e+04 !particle radius in m +Body1315 1.03590462e+06 1.78980493e+04 ! particle number mass Rhill +1.05008774e+04 !particle radius in AU 4.20395564e+06 7.76433301e+06 8.41688618e+04 ! x y z -1.94265714e+03 1.06320178e+03 6.22424610e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1316 7.67868642e+04 7.82041161e+03 ! particle number mass Rhill -4.41111088e+03 !particle radius in m +Body1316 7.67868642e+04 7.82041161e+03 ! particle number mass Rhill +4.41111088e+03 !particle radius in AU 6.37276437e+06 -6.42184183e+06 6.41580563e+04 ! x y z 1.58319090e+03 1.53287002e+03 -1.33788595e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1317 5.89194336e+05 1.47666686e+04 ! particle number mass Rhill -1.28209983e+04 !particle radius in m +Body1317 5.89194336e+05 1.47666686e+04 ! particle number mass Rhill +1.28209983e+04 !particle radius in AU -7.71353791e+06 4.23425293e+06 1.25697535e+04 ! x y z -1.04844519e+03 -1.95403749e+03 -9.90990915e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1318 5.31112427e+04 7.05725430e+03 ! particle number mass Rhill -3.90104672e+03 !particle radius in m +Body1318 5.31112427e+04 7.05725430e+03 ! particle number mass Rhill +3.90104672e+03 !particle radius in AU -7.40633695e+06 5.93955618e+06 -5.19978226e+04 ! x y z -1.31908110e+03 -1.66222684e+03 -1.03799917e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1319 1.71842148e+06 2.82333324e+04 ! particle number mass Rhill -1.24306993e+04 !particle radius in m +Body1319 1.71842148e+06 2.82333324e+04 ! particle number mass Rhill +1.24306993e+04 !particle radius in AU 1.85739893e+06 -1.16268582e+07 -8.21342836e+03 ! x y z 1.89473415e+03 2.92048965e+02 -8.56627398e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1320 6.17278582e+05 1.48891277e+04 ! particle number mass Rhill -8.83648205e+03 !particle radius in m +Body1320 6.17278582e+05 1.48891277e+04 ! particle number mass Rhill +8.83648205e+03 !particle radius in AU 3.72582096e+06 7.91120697e+06 -5.23905881e+04 ! x y z -2.02715857e+03 9.13111080e+02 2.50053811e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1321 1.14474067e+06 2.18093377e+04 ! particle number mass Rhill -1.08564549e+04 !particle radius in m +Body1321 1.14474067e+06 2.18093377e+04 ! particle number mass Rhill +1.08564549e+04 !particle radius in AU 5.09385670e+05 -1.04637690e+07 -6.20563116e+04 ! x y z 2.02501696e+03 7.65309669e+01 -1.01351101e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1322 8.26533157e+04 7.68124990e+03 ! particle number mass Rhill -6.66176154e+03 !particle radius in m +Body1322 8.26533157e+04 7.68124990e+03 ! particle number mass Rhill +6.66176154e+03 !particle radius in AU -3.29144876e+06 8.15112104e+06 8.11267893e+04 ! x y z -2.05815351e+03 -8.34364146e+02 -5.14984629e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1323 1.46998004e+05 1.13133262e+04 ! particle number mass Rhill -5.47716901e+03 !particle radius in m +Body1323 1.46998004e+05 1.13133262e+04 ! particle number mass Rhill +5.47716901e+03 !particle radius in AU -1.05633758e+07 -2.07935484e+06 1.56201239e+04 ! x y z 3.80416672e+02 -1.96300156e+03 -6.47463330e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1324 1.56081831e+04 4.62254860e+03 ! particle number mass Rhill -3.82196266e+03 !particle radius in m +Body1324 1.56081831e+04 4.62254860e+03 ! particle number mass Rhill +3.82196266e+03 !particle radius in AU -8.96632975e+06 -4.86195335e+05 -1.06964367e+05 ! x y z 1.34820268e+02 -2.22107483e+03 1.19634049e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1325 6.88345306e+05 1.57488065e+04 ! particle number mass Rhill -9.16335366e+03 !particle radius in m +Body1325 6.88345306e+05 1.57488065e+04 ! particle number mass Rhill +9.16335366e+03 !particle radius in AU -7.48232762e+06 4.92380808e+06 2.29127905e+04 ! x y z -1.22302901e+03 -1.81943768e+03 2.38496332e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1326 1.99767409e+06 2.30772351e+04 ! particle number mass Rhill -1.30705504e+04 !particle radius in m +Body1326 1.99767409e+06 2.30772351e+04 ! particle number mass Rhill +1.30705504e+04 !particle radius in AU -5.03707716e+05 -9.29849125e+06 -1.11404007e+04 ! x y z 2.13355604e+03 -1.25957885e+02 3.59182325e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1327 1.47237759e+04 1.04619691e+04 ! particle number mass Rhill -3.74836657e+03 !particle radius in m +Body1327 1.47237759e+04 1.04619691e+04 ! particle number mass Rhill +3.74836657e+03 !particle radius in AU 2.17225066e+07 1.26121705e+06 -8.44855246e+04 ! x y z -9.80183609e+01 1.39255713e+03 -2.45394775e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1328 1.03148280e+05 1.18766934e+04 ! particle number mass Rhill -7.17226488e+03 !particle radius in m +Body1328 1.03148280e+05 1.18766934e+04 ! particle number mass Rhill +7.17226488e+03 !particle radius in AU -3.31559823e+06 1.24035988e+07 -2.07947532e+04 ! x y z -1.76007958e+03 -4.72548604e+02 9.49057096e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1329 7.89194790e+05 2.30906258e+04 ! particle number mass Rhill -9.59062845e+03 !particle radius in m +Body1329 7.89194790e+05 2.30906258e+04 ! particle number mass Rhill +9.59062845e+03 !particle radius in AU 1.21445680e+07 2.59228119e+06 -3.02162959e+04 ! x y z -3.98075492e+02 1.82853529e+03 6.91989022e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1330 1.23249402e+05 1.28550711e+04 ! particle number mass Rhill -7.61080504e+03 !particle radius in m +Body1330 1.23249402e+05 1.28550711e+04 ! particle number mass Rhill +7.61080504e+03 !particle radius in AU -1.13326598e+06 -1.29825734e+07 6.69579485e+03 ! x y z 1.80475746e+03 -1.76133915e+02 -5.83190587e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1331 1.22964994e+05 1.16605265e+04 ! particle number mass Rhill -7.60494634e+03 !particle radius in m +Body1331 1.22964994e+05 1.16605265e+04 ! particle number mass Rhill +7.60494634e+03 !particle radius in AU -4.79738768e+06 1.05660072e+07 -1.20703674e+04 ! x y z -1.76872416e+03 -7.96773745e+02 -7.48094782e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1332 4.01797998e+05 3.24133753e+04 ! particle number mass Rhill -1.12850870e+04 !particle radius in m +Body1332 4.01797998e+05 3.24133753e+04 ! particle number mass Rhill +1.12850870e+04 !particle radius in AU 2.19019020e+07 2.63899527e+06 3.37827752e+04 ! x y z -1.61269975e+02 1.38753575e+03 3.39443977e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1333 1.00770997e+06 2.34834210e+04 ! particle number mass Rhill -1.04047308e+04 !particle radius in m +Body1333 1.00770997e+06 2.34834210e+04 ! particle number mass Rhill +1.04047308e+04 !particle radius in AU -1.21105762e+07 -5.24541367e+05 -2.70555025e+04 ! x y z 6.19806533e+01 -1.85471109e+03 -1.08022259e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1334 3.90007197e+04 7.82329415e+03 ! particle number mass Rhill -5.18632661e+03 !particle radius in m +Body1334 3.90007197e+04 7.82329415e+03 ! particle number mass Rhill +5.18632661e+03 !particle radius in AU 6.24492290e+06 9.69571067e+06 -1.68199218e+04 ! x y z -1.63521643e+03 1.03697361e+03 9.03169661e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1335 2.52614269e+05 1.19155037e+04 ! particle number mass Rhill -6.56052039e+03 !particle radius in m +Body1335 2.52614269e+05 1.19155037e+04 ! particle number mass Rhill +6.56052039e+03 !particle radius in AU -9.25769957e+06 2.29292734e+06 -1.14919079e+04 ! x y z -5.12974483e+02 -2.05331332e+03 2.34930072e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1336 5.74783862e+05 1.77378872e+04 ! particle number mass Rhill -8.62886853e+03 !particle radius in m +Body1336 5.74783862e+05 1.77378872e+04 ! particle number mass Rhill +8.62886853e+03 !particle radius in AU -7.09412869e+06 -8.06275271e+06 -7.38498407e+04 ! x y z 1.50307169e+03 -1.31876348e+03 -1.74679708e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1337 1.20042329e+06 4.16689932e+04 ! particle number mass Rhill -1.10297026e+04 !particle radius in m +Body1337 1.20042329e+06 4.16689932e+04 ! particle number mass Rhill +1.10297026e+04 !particle radius in AU -1.83827850e+07 6.94620255e+06 -2.99390580e+04 ! x y z -5.38167682e+02 -1.38025174e+03 8.14592781e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1338 5.43654965e+04 1.07517216e+04 ! particle number mass Rhill -3.93151662e+03 !particle radius in m +Body1338 5.43654965e+04 1.07517216e+04 ! particle number mass Rhill +3.93151662e+03 !particle radius in AU 1.28440178e+07 6.15520582e+06 5.37944446e+04 ! x y z -7.49642103e+02 1.56926042e+03 -4.14121777e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1339 1.01511663e+05 1.53639766e+04 ! particle number mass Rhill -4.84125149e+03 !particle radius in m +Body1339 1.01511663e+05 1.53639766e+04 ! particle number mass Rhill +4.84125149e+03 !particle radius in AU -1.37958464e+07 -9.01984290e+06 9.37503357e+03 ! x y z 8.63514338e+02 -1.36928306e+03 -4.92726033e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1340 7.26811398e+04 1.23143345e+04 ! particle number mass Rhill -6.38228557e+03 !particle radius in m +Body1340 7.26811398e+04 1.23143345e+04 ! particle number mass Rhill +6.38228557e+03 !particle radius in AU 5.94552238e+06 -1.37356259e+07 -3.12464640e+04 ! x y z 1.54132538e+03 6.86924077e+02 4.95166504e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1341 1.79156251e+06 2.30318870e+04 ! particle number mass Rhill -1.26046169e+04 !particle radius in m +Body1341 1.79156251e+06 2.30318870e+04 ! particle number mass Rhill +1.26046169e+04 !particle radius in AU -8.47051395e+06 -4.33049723e+06 8.99388095e+03 ! x y z 1.01895175e+03 -1.86853627e+03 6.25752144e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1342 1.03732725e+06 4.12058066e+04 ! particle number mass Rhill -1.05056822e+04 !particle radius in m +Body1342 1.03732725e+06 4.12058066e+04 ! particle number mass Rhill +1.05056822e+04 !particle radius in AU -7.25230880e+06 -1.91074290e+07 -8.70931708e+04 ! x y z 1.36155621e+03 -5.02831587e+02 -8.24983528e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1343 1.06908158e+06 1.94954238e+04 ! particle number mass Rhill -1.06118054e+04 !particle radius in m +Body1343 1.06908158e+06 1.94954238e+04 ! particle number mass Rhill +1.06118054e+04 !particle radius in AU 4.25302051e+06 -8.61174101e+06 -1.08068198e+04 ! x y z 1.88839849e+03 9.49718679e+02 1.00715649e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1344 7.82894787e+04 1.38148136e+04 ! particle number mass Rhill -6.54239543e+03 !particle radius in m +Body1344 7.82894787e+04 1.38148136e+04 ! particle number mass Rhill +6.54239543e+03 !particle radius in AU 2.64852472e+06 1.60749418e+07 5.58768351e+04 ! x y z -1.60049117e+03 2.61947391e+02 -1.05513072e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1345 7.95878743e+04 7.78168116e+03 ! particle number mass Rhill -4.46410737e+03 !particle radius in m +Body1345 7.95878743e+04 7.78168116e+03 ! particle number mass Rhill +4.46410737e+03 !particle radius in AU 6.85901436e+06 5.92668091e+06 5.88024522e+03 ! x y z -1.42967304e+03 1.64782988e+03 3.76673216e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1346 3.00157124e+05 3.10642558e+04 ! particle number mass Rhill -1.02396523e+04 !particle radius in m +Body1346 3.00157124e+05 3.10642558e+04 ! particle number mass Rhill +1.02396523e+04 !particle radius in AU 1.65616231e+07 1.66028360e+07 -5.29304371e+04 ! x y z -9.28645255e+02 9.80527992e+02 5.80916438e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1347 9.96861900e+05 1.88907368e+04 ! particle number mass Rhill -1.03672601e+04 !particle radius in m +Body1347 9.96861900e+05 1.88907368e+04 ! particle number mass Rhill +1.03672601e+04 !particle radius in AU -7.26003067e+05 9.56806531e+06 9.83311273e+04 ! x y z -2.10111468e+03 -1.57355588e+02 7.65120270e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1348 1.71021140e+05 1.36698293e+04 ! particle number mass Rhill -8.48891637e+03 !particle radius in m +Body1348 1.71021140e+05 1.36698293e+04 ! particle number mass Rhill +8.48891637e+03 !particle radius in AU -3.13308835e+06 1.20377491e+07 -1.96893006e+04 ! x y z -1.80038683e+03 -4.46661696e+02 -1.05229342e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1349 5.21822966e+04 7.10639660e+03 ! particle number mass Rhill -5.71491865e+03 !particle radius in m +Body1349 5.21822966e+04 7.10639660e+03 ! particle number mass Rhill +5.71491865e+03 !particle radius in AU 3.61039948e+06 -8.94670524e+06 -6.45909208e+04 ! x y z 1.94572548e+03 7.94221249e+02 2.27282153e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1350 2.11854770e+05 1.49949851e+04 ! particle number mass Rhill -6.18678578e+03 !particle radius in m +Body1350 2.11854770e+05 1.49949851e+04 ! particle number mass Rhill +6.18678578e+03 !particle radius in AU 1.23051248e+07 -2.76310551e+06 1.16872533e+05 ! x y z 4.31851334e+02 1.79778427e+03 -3.52355374e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1351 4.53712916e+05 2.12325358e+04 ! particle number mass Rhill -7.97466982e+03 !particle radius in m +Body1351 4.53712916e+05 2.12325358e+04 ! particle number mass Rhill +7.97466982e+03 !particle radius in AU 1.37198938e+07 -1.77790003e+06 -1.13538998e+05 ! x y z 2.34248090e+02 1.75094064e+03 -4.43647357e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1352 6.12975304e+05 1.54940796e+04 ! particle number mass Rhill -8.81590001e+03 !particle radius in m +Body1352 6.12975304e+05 1.54940796e+04 ! particle number mass Rhill +8.81590001e+03 !particle radius in AU 7.46219447e+06 -5.55061844e+06 3.02223367e+04 ! x y z 1.30415331e+03 1.69020434e+03 -2.84026488e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1353 2.51706491e+05 1.19271740e+04 ! particle number mass Rhill -9.65607124e+03 !particle radius in m +Body1353 2.51706491e+05 1.19271740e+04 ! particle number mass Rhill +9.65607124e+03 !particle radius in AU 1.79117779e+06 -9.28064516e+06 2.29081417e+03 ! x y z 2.10478434e+03 3.74607623e+02 2.08339038e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1354 1.05226394e+06 1.80004323e+04 ! particle number mass Rhill -1.05558666e+04 !particle radius in m +Body1354 1.05226394e+06 1.80004323e+04 ! particle number mass Rhill +1.05558666e+04 !particle radius in AU 7.62366140e+06 -4.73786634e+06 -3.67690119e+04 ! x y z 1.17730042e+03 1.83367733e+03 -1.18403024e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1355 1.53011690e+06 2.33989676e+04 ! particle number mass Rhill -1.19589725e+04 !particle radius in m +Body1355 1.53011690e+06 2.33989676e+04 ! particle number mass Rhill +1.19589725e+04 !particle radius in AU -1.01261545e+07 2.81055834e+05 -8.19414070e+03 ! x y z -6.18154480e+01 -2.06712328e+03 -2.24522121e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1356 9.08272734e+05 1.83178714e+04 ! particle number mass Rhill -1.00505792e+04 !particle radius in m +Body1356 9.08272734e+05 1.83178714e+04 ! particle number mass Rhill +1.00505792e+04 !particle radius in AU 6.29538118e+06 7.15708897e+06 4.07031267e+04 ! x y z -1.60705715e+03 1.38487957e+03 -1.00848425e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1357 1.23742619e+06 1.91614444e+04 ! particle number mass Rhill -1.11418874e+04 !particle radius in m +Body1357 1.23742619e+06 1.91614444e+04 ! particle number mass Rhill +1.11418874e+04 !particle radius in AU -8.49609253e+06 2.57253582e+06 -4.04158861e+03 ! x y z -6.25851824e+02 -2.12221062e+03 -1.18572479e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1358 1.94661335e+05 1.30044682e+04 ! particle number mass Rhill -6.01467589e+03 !particle radius in m +Body1358 1.94661335e+05 1.30044682e+04 ! particle number mass Rhill +6.01467589e+03 !particle radius in AU -1.10898042e+07 -1.78242858e+06 -7.98635316e+03 ! x y z 3.31900537e+02 -1.93252272e+03 -5.54822823e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1359 5.76290328e+05 1.90919967e+04 ! particle number mass Rhill -1.27267086e+04 !particle radius in m +Body1359 5.76290328e+05 1.90919967e+04 ! particle number mass Rhill +1.27267086e+04 !particle radius in AU -9.56599926e+06 -6.50694892e+06 1.36299753e+04 ! x y z 1.08336182e+03 -1.59117844e+03 -6.14843419e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1360 1.46712586e+05 9.57263826e+03 ! particle number mass Rhill -5.47362181e+03 !particle radius in m +Body1360 1.46712586e+05 9.57263826e+03 ! particle number mass Rhill +5.47362181e+03 !particle radius in AU -8.97074514e+06 8.73736202e+05 8.61659651e+03 ! x y z -2.31036282e+02 -2.18526870e+03 3.84732945e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1361 1.04321892e+06 1.88500830e+04 ! particle number mass Rhill -1.05255343e+04 !particle radius in m +Body1361 1.04321892e+06 1.88500830e+04 ! particle number mass Rhill +1.05255343e+04 !particle radius in AU 2.22458775e+06 -9.09183474e+06 6.60915144e+04 ! x y z 2.08331663e+03 4.95850932e+02 -1.01931453e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1362 4.75220894e+05 1.68019312e+04 ! particle number mass Rhill -1.19344067e+04 !particle radius in m +Body1362 4.75220894e+05 1.68019312e+04 ! particle number mass Rhill +1.19344067e+04 !particle radius in AU 5.23135757e+06 -9.91357725e+06 4.20848292e+03 ! x y z 1.68969350e+03 9.19667997e+02 7.40595361e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1363 7.30092568e+04 1.27115707e+04 ! particle number mass Rhill -4.33755478e+03 !particle radius in m +Body1363 7.30092568e+04 1.27115707e+04 ! particle number mass Rhill +4.33755478e+03 !particle radius in AU -1.28024389e+07 8.53060405e+06 4.23749438e+04 ! x y z -9.17577167e+02 -1.39144923e+03 -5.10429471e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1364 1.28074679e+06 4.35476221e+04 ! particle number mass Rhill -1.12704197e+04 !particle radius in m +Body1364 1.28074679e+06 4.35476221e+04 ! particle number mass Rhill +1.12704197e+04 !particle radius in AU -8.46758421e+06 -1.84532581e+07 8.05817267e+04 ! x y z 1.31420508e+03 -6.13047074e+02 -4.80774414e-03 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1365 3.15565087e+05 1.24463932e+04 ! particle number mass Rhill -7.06559347e+03 !particle radius in m +Body1365 3.15565087e+05 1.24463932e+04 ! particle number mass Rhill +7.06559347e+03 !particle radius in AU -5.61587582e+06 7.53072526e+06 -2.26125540e+04 ! x y z -1.70025928e+03 -1.25935338e+03 1.03927192e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1366 1.32749597e+06 3.08557682e+04 ! particle number mass Rhill -1.14059133e+04 !particle radius in m +Body1366 1.32749597e+06 3.08557682e+04 ! particle number mass Rhill +1.14059133e+04 !particle radius in AU -2.14619149e+06 -1.42066503e+07 1.73542964e+04 ! x y z 1.70134938e+03 -2.12094299e+02 -3.88248921e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1367 3.00481034e+05 1.26260123e+04 ! particle number mass Rhill -1.02433343e+04 !particle radius in m +Body1367 3.00481034e+05 1.26260123e+04 ! particle number mass Rhill +1.02433343e+04 !particle radius in AU -2.01595454e+06 -9.31357942e+06 -4.91526291e+04 ! x y z 2.05875974e+03 -4.99092474e+02 -1.24005530e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1368 5.62740643e+05 2.30653210e+04 ! particle number mass Rhill -1.26261734e+04 !particle radius in m +Body1368 5.62740643e+05 2.30653210e+04 ! particle number mass Rhill +1.26261734e+04 !particle radius in AU -3.35093529e+06 -1.37898898e+07 -7.67867475e+04 ! x y z 1.68266801e+03 -4.09195838e+02 4.84518176e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1369 6.60086057e+04 9.53594170e+03 ! particle number mass Rhill -4.19423265e+03 !particle radius in m +Body1369 6.60086057e+04 9.53594170e+03 ! particle number mass Rhill +4.19423265e+03 !particle radius in AU -5.47614308e+04 1.19582326e+07 -9.89002659e+04 ! x y z -1.88840184e+03 -2.62651981e+01 7.68950274e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1370 1.25293273e+05 1.14207894e+04 ! particle number mass Rhill -5.19311868e+03 !particle radius in m +Body1370 1.25293273e+05 1.14207894e+04 ! particle number mass Rhill +5.19311868e+03 !particle radius in AU -3.77832466e+06 1.09398130e+07 3.13756637e+04 ! x y z -1.82483111e+03 -5.94408085e+02 -5.78133740e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1371 7.50733289e+04 1.04930646e+04 ! particle number mass Rhill -6.45155218e+03 !particle radius in m +Body1371 7.50733289e+04 1.04930646e+04 ! particle number mass Rhill +6.45155218e+03 !particle radius in AU 4.84011056e+06 -1.18968706e+07 1.84555477e+04 ! x y z 1.67151498e+03 6.81175038e+02 -7.19327483e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1372 1.98591196e+05 1.30161400e+04 ! particle number mass Rhill -6.05488167e+03 !particle radius in m +Body1372 1.98591196e+05 1.30161400e+04 ! particle number mass Rhill +6.05488167e+03 !particle radius in AU 5.21483996e+04 -1.14249117e+07 5.55267676e+04 ! x y z 1.92199543e+03 2.89226318e+00 3.62643891e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1373 6.85663466e+05 2.04510345e+04 ! particle number mass Rhill -9.15143782e+03 !particle radius in m +Body1373 6.85663466e+05 2.04510345e+04 ! particle number mass Rhill +9.15143782e+03 !particle radius in AU -1.10411425e+07 -3.92571862e+06 -5.07146026e+04 ! x y z 6.36950570e+02 -1.80153278e+03 2.92128142e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1374 1.23065485e+05 1.94250011e+04 ! particle number mass Rhill -7.60701744e+03 !particle radius in m +Body1374 1.23065485e+05 1.94250011e+04 ! particle number mass Rhill +7.60701744e+03 !particle radius in AU -1.31978898e+07 1.46521426e+07 -3.77196518e+04 ! x y z -1.09404867e+03 -9.86978912e+02 -1.39684139e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1375 9.32976416e+05 2.08746348e+04 ! particle number mass Rhill -1.01408856e+04 !particle radius in m +Body1375 9.32976416e+05 2.08746348e+04 ! particle number mass Rhill +1.01408856e+04 !particle radius in AU -2.88294831e+06 -1.04031089e+07 2.08513090e+04 ! x y z 1.92072665e+03 -5.23302927e+02 5.19800736e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1376 1.08992704e+06 1.83798070e+04 ! particle number mass Rhill -1.06803333e+04 !particle radius in m +Body1376 1.08992704e+06 1.83798070e+04 ! particle number mass Rhill +1.06803333e+04 !particle radius in AU 2.38782775e+06 -8.75851927e+06 4.58765881e+04 ! x y z 2.08778972e+03 5.70538122e+02 1.58463921e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1377 3.76825728e+05 2.16154245e+04 ! particle number mass Rhill -1.10462747e+04 !particle radius in m +Body1377 3.76825728e+05 2.16154245e+04 ! particle number mass Rhill +1.10462747e+04 !particle radius in AU -1.39881250e+07 -5.83335318e+06 -6.16116575e+04 ! x y z 6.22870510e+02 -1.55838806e+03 1.20223983e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1378 5.53365914e+05 1.43923959e+04 ! particle number mass Rhill -1.25556671e+04 !particle radius in m +Body1378 5.53365914e+05 1.43923959e+04 ! particle number mass Rhill +1.25556671e+04 !particle radius in AU 4.99865237e+06 7.28764110e+06 -6.86499352e+04 ! x y z -1.79951538e+03 1.27018155e+03 -3.04997592e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1379 6.39199380e+04 9.52618767e+03 ! particle number mass Rhill -6.11478378e+03 !particle radius in m +Body1379 6.39199380e+04 9.52618767e+03 ! particle number mass Rhill +6.11478378e+03 !particle radius in AU 4.99165759e+06 1.10448368e+07 3.69114811e+04 ! x y z -1.71481010e+03 7.51891478e+02 2.57133594e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1380 1.50512007e+04 4.38843070e+03 ! particle number mass Rhill -3.77594830e+03 !particle radius in m +Body1380 1.50512007e+04 4.38843070e+03 ! particle number mass Rhill +3.77594830e+03 !particle radius in AU -1.38190232e+06 8.92446579e+06 -2.39874601e+01 ! x y z -2.13999854e+03 -3.62741075e+02 -1.15400248e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1381 5.00451986e+04 8.33623035e+03 ! particle number mass Rhill -3.82448653e+03 !particle radius in m +Body1381 5.00451986e+04 8.33623035e+03 ! particle number mass Rhill +3.82448653e+03 !particle radius in AU -1.11170825e+07 2.94394609e+06 -4.30953134e+04 ! x y z -5.00071887e+02 -1.85670191e+03 4.27947102e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1382 1.37866160e+06 2.24025141e+04 ! particle number mass Rhill -1.15506092e+04 !particle radius in m +Body1382 1.37866160e+06 2.24025141e+04 ! particle number mass Rhill +1.15506092e+04 !particle radius in AU 1.02590139e+07 -2.70501621e+05 1.75890374e+04 ! x y z 8.26113275e+01 2.03083325e+03 -1.20188470e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1383 1.52540156e+06 2.36328931e+04 ! particle number mass Rhill -1.19466753e+04 !particle radius in m +Body1383 1.52540156e+06 2.36328931e+04 ! particle number mass Rhill +1.19466753e+04 !particle radius in AU 1.05552207e+06 1.03618993e+07 4.81086872e+04 ! x y z -2.01112311e+03 2.15384368e+02 -7.43201232e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1384 4.98999643e+05 1.49525075e+04 ! particle number mass Rhill -1.21302309e+04 !particle radius in m +Body1384 4.98999643e+05 1.49525075e+04 ! particle number mass Rhill +1.21302309e+04 !particle radius in AU 2.73631070e+06 -9.24970389e+06 5.21198850e+04 ! x y z 2.01203797e+03 5.75113061e+02 -1.08228016e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1385 1.22963928e+05 1.15704812e+04 ! particle number mass Rhill -7.60492436e+03 !particle radius in m +Body1385 1.22963928e+05 1.15704812e+04 ! particle number mass Rhill +7.60492436e+03 !particle radius in AU 7.49333106e+06 8.99255805e+06 4.28079932e+04 ! x y z -1.47027422e+03 1.22861330e+03 -2.29537873e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1386 6.29316275e+05 1.65343140e+04 ! particle number mass Rhill -8.89355341e+03 !particle radius in m +Body1386 6.29316275e+05 1.65343140e+04 ! particle number mass Rhill +8.89355341e+03 !particle radius in AU 7.19860353e+06 -6.54495925e+06 4.11431543e+04 ! x y z 1.41373944e+03 1.55175420e+03 1.34717999e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1387 6.64261825e+04 8.06796854e+03 ! particle number mass Rhill -4.20305844e+03 !particle radius in m +Body1387 6.64261825e+04 8.06796854e+03 ! particle number mass Rhill +4.20305844e+03 !particle radius in AU -1.00628201e+07 -1.83741461e+06 -1.98227486e+03 ! x y z 3.70859453e+02 -1.99423409e+03 -1.20280387e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1388 1.61162197e+06 2.05540497e+04 ! particle number mass Rhill -1.21676504e+04 !particle radius in m +Body1388 1.61162197e+06 2.05540497e+04 ! particle number mass Rhill +1.21676504e+04 !particle radius in AU 5.77701761e+06 6.58972717e+06 1.74818314e+04 ! x y z -1.68661617e+03 1.44550446e+03 -1.99467032e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1389 2.31008539e+05 1.09300831e+04 ! particle number mass Rhill -6.36788201e+03 !particle radius in m +Body1389 2.31008539e+05 1.09300831e+04 ! particle number mass Rhill +6.36788201e+03 !particle radius in AU 2.92908581e+06 -8.51550871e+06 2.35649421e+04 ! x y z 2.06952805e+03 6.82474350e+02 -1.19878409e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1390 8.79756930e+04 1.57795601e+04 ! particle number mass Rhill -4.61572468e+03 !particle radius in m +Body1390 8.79756930e+04 1.57795601e+04 ! particle number mass Rhill +4.61572468e+03 !particle radius in AU -1.67832510e+07 5.10602561e+06 6.05666574e+04 ! x y z -4.71529253e+02 -1.50630622e+03 1.54396748e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1391 7.86523786e+05 2.26449685e+04 ! particle number mass Rhill -9.57979650e+03 !particle radius in m +Body1391 7.86523786e+05 2.26449685e+04 ! particle number mass Rhill +9.57979650e+03 !particle radius in AU 5.94339422e+06 1.09804417e+07 4.79977238e+04 ! x y z -1.62390609e+03 8.74411928e+02 6.90172493e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1392 7.95689825e+05 2.04444166e+04 ! particle number mass Rhill -9.61686674e+03 !particle radius in m +Body1392 7.95689825e+05 2.04444166e+04 ! particle number mass Rhill +9.61686674e+03 !particle radius in AU -9.53286463e+05 1.08518193e+07 1.37804570e+04 ! x y z -1.99765013e+03 -1.63665978e+02 -1.39490183e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1393 1.57903814e+05 1.75328316e+04 ! particle number mass Rhill -8.26608492e+03 !particle radius in m +Body1393 1.57903814e+05 1.75328316e+04 ! particle number mass Rhill +8.26608492e+03 !particle radius in AU -6.92004578e+06 -1.47096496e+07 9.07914526e+04 ! x y z 1.47519584e+03 -6.90837866e+02 6.35058618e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1394 1.79760964e+06 3.27447713e+04 ! particle number mass Rhill -1.26187826e+04 !particle radius in m +Body1394 1.79760964e+06 3.27447713e+04 ! particle number mass Rhill +1.26187826e+04 !particle radius in AU -1.20616278e+07 6.06273134e+06 -6.00296658e+04 ! x y z -8.01878358e+02 -1.59732664e+03 6.85710223e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1395 1.72877299e+06 3.01002806e+04 ! particle number mass Rhill -1.24556096e+04 !particle radius in m +Body1395 1.72877299e+06 3.01002806e+04 ! particle number mass Rhill +1.24556096e+04 !particle radius in AU 1.07241366e+07 6.87028361e+06 9.95384965e+03 ! x y z -9.77403580e+02 1.54502689e+03 -6.02368193e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1396 5.37735425e+05 1.81911004e+04 ! particle number mass Rhill -8.43934121e+03 !particle radius in m +Body1396 5.37735425e+05 1.81911004e+04 ! particle number mass Rhill +8.43934121e+03 !particle radius in AU -9.89312276e+06 -5.78442642e+06 3.19342091e+03 ! x y z 1.00166999e+03 -1.63649382e+03 -7.28916722e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1397 1.12551232e+05 1.00244300e+04 ! particle number mass Rhill -7.38389889e+03 !particle radius in m +Body1397 1.12551232e+05 1.00244300e+04 ! particle number mass Rhill +7.38389889e+03 !particle radius in AU -1.05072101e+07 8.59747253e+05 -8.51062631e+04 ! x y z -1.76270864e+02 -2.00169685e+03 -1.88486496e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1398 1.93788717e+05 1.07523030e+04 ! particle number mass Rhill -6.00567499e+03 !particle radius in m +Body1398 1.93788717e+05 1.07523030e+04 ! particle number mass Rhill +6.00567499e+03 !particle radius in AU 5.23533805e+06 -8.01402331e+06 2.56229650e+04 ! x y z 1.74936393e+03 1.14948262e+03 1.14944776e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1399 3.94151482e+05 1.32927065e+04 ! particle number mass Rhill -1.12130402e+04 !particle radius in m +Body1399 3.94151482e+05 1.32927065e+04 ! particle number mass Rhill +1.12130402e+04 !particle radius in AU -3.53936356e+06 8.37116745e+06 -5.28989524e+04 ! x y z -2.00215068e+03 -8.57726431e+02 -1.43522460e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1400 9.72092511e+05 1.81538052e+04 ! particle number mass Rhill -1.02806726e+04 !particle radius in m +Body1400 9.72092511e+05 1.81538052e+04 ! particle number mass Rhill +1.02806726e+04 !particle radius in AU 8.06463120e+06 -4.43013823e+06 9.40752267e+04 ! x y z 1.03931497e+03 1.89699386e+03 -9.86578192e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1401 5.15220478e+05 1.68308350e+04 ! particle number mass Rhill -1.22602698e+04 !particle radius in m +Body1401 5.15220478e+05 1.68308350e+04 ! particle number mass Rhill +1.22602698e+04 !particle radius in AU -1.05188937e+07 8.26557998e+05 -2.50244301e+04 ! x y z -1.75058944e+02 -2.01148735e+03 6.39744454e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1402 2.13063868e+05 1.07950104e+04 ! particle number mass Rhill -9.13423664e+03 !particle radius in m +Body1402 2.13063868e+05 1.07950104e+04 ! particle number mass Rhill +9.13423664e+03 !particle radius in AU 9.02166027e+05 -9.17478955e+06 6.28467621e+04 ! x y z 2.13279891e+03 2.18658803e+02 5.09551557e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1403 4.71317796e+05 1.46342438e+04 ! particle number mass Rhill -8.07650766e+03 !particle radius in m +Body1403 4.71317796e+05 1.46342438e+04 ! particle number mass Rhill +8.07650766e+03 !particle radius in AU -3.82128992e+06 8.76150983e+06 -3.66320445e+04 ! x y z -1.91568216e+03 -8.82768818e+02 -8.66361539e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1404 4.64539498e+05 1.97631805e+04 ! particle number mass Rhill -8.03760289e+03 !particle radius in m +Body1404 4.64539498e+05 1.97631805e+04 ! particle number mass Rhill +8.03760289e+03 !particle radius in AU 6.34183157e+06 1.14263259e+07 -3.93771961e+04 ! x y z -1.57702001e+03 8.61699373e+02 7.37963170e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1405 1.22910745e+06 2.88108450e+04 ! particle number mass Rhill -1.11168637e+04 !particle radius in m +Body1405 1.22910745e+06 2.88108450e+04 ! particle number mass Rhill +1.11168637e+04 !particle radius in AU -1.30405721e+07 -3.97553562e+06 6.86718538e+04 ! x y z 5.08860652e+02 -1.69393029e+03 3.39424464e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1406 3.59051292e+05 1.29060626e+04 ! particle number mass Rhill -7.37628737e+03 !particle radius in m +Body1406 3.59051292e+05 1.29060626e+04 ! particle number mass Rhill +7.37628737e+03 !particle radius in AU 1.47724485e+06 8.92877200e+06 -1.05084746e+05 ! x y z -2.16100073e+03 3.48067255e+02 2.02796618e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1407 5.58713149e+05 1.72404097e+04 ! particle number mass Rhill -1.25959797e+04 !particle radius in m +Body1407 5.58713149e+05 1.72404097e+04 ! particle number mass Rhill +1.25959797e+04 !particle radius in AU 6.68480405e+06 8.22694034e+06 5.91279278e+04 ! x y z -1.56238715e+03 1.25932846e+03 7.35031359e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1408 1.49551836e+06 2.70347043e+04 ! particle number mass Rhill -1.18681469e+04 !particle radius in m +Body1408 1.49551836e+06 2.70347043e+04 ! particle number mass Rhill +1.18681469e+04 !particle radius in AU 1.16829878e+07 3.26454849e+06 8.84361419e+04 ! x y z -5.06154292e+02 1.79320925e+03 1.57229654e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1409 1.74614925e+05 1.13819946e+04 ! particle number mass Rhill -8.54796582e+03 !particle radius in m +Body1409 1.74614925e+05 1.13819946e+04 ! particle number mass Rhill +8.54796582e+03 !particle radius in AU 9.47110497e+06 -3.98852153e+06 -3.02153569e+04 ! x y z 8.00176660e+02 1.87835641e+03 1.12222570e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1410 4.37419833e+05 1.87404958e+04 ! particle number mass Rhill -7.87804554e+03 !particle radius in m +Body1410 4.37419833e+05 1.87404958e+04 ! particle number mass Rhill +7.87804554e+03 !particle radius in AU 1.46320698e+06 -1.24945211e+07 2.33172915e+04 ! x y z 1.82255294e+03 2.24692006e+02 -5.94227757e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1411 9.88194235e+05 2.19599829e+04 ! particle number mass Rhill -1.03371250e+04 !particle radius in m +Body1411 9.88194235e+05 2.19599829e+04 ! particle number mass Rhill +1.03371250e+04 !particle radius in AU -2.99549263e+06 1.07900890e+07 -3.59480074e+04 ! x y z -1.87291441e+03 -5.40526156e+02 -2.72086375e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1412 8.12416369e+04 8.11359134e+03 ! particle number mass Rhill -4.49481566e+03 !particle radius in m +Body1412 8.12416369e+04 8.11359134e+03 ! particle number mass Rhill +4.49481566e+03 !particle radius in AU 8.92552694e+06 -2.88867045e+06 4.50164736e+04 ! x y z 6.21245683e+02 2.05314318e+03 5.45203724e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1413 1.05826275e+06 1.96138959e+04 ! particle number mass Rhill -1.05758878e+04 !particle radius in m +Body1413 1.05826275e+06 1.96138959e+04 ! particle number mass Rhill +1.05758878e+04 !particle radius in AU 5.22399519e+06 8.01692184e+06 -5.68152669e+03 ! x y z -1.79741529e+03 1.14577258e+03 9.91685440e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1414 1.63403319e+05 9.80071456e+03 ! particle number mass Rhill -8.36095619e+03 !particle radius in m +Body1414 1.63403319e+05 9.80071456e+03 ! particle number mass Rhill +8.36095619e+03 !particle radius in AU 8.03570746e+06 -4.11887844e+06 3.48874429e+04 ! x y z 1.00266026e+03 1.93580077e+03 -1.91021104e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1415 2.42846073e+04 5.95994238e+03 ! particle number mass Rhill -4.42873150e+03 !particle radius in m +Body1415 2.42846073e+04 5.95994238e+03 ! particle number mass Rhill +4.42873150e+03 !particle radius in AU 9.90649703e+06 3.18003586e+06 1.94516997e+04 ! x y z -6.33346908e+02 1.92588552e+03 -4.00155121e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1416 1.39585476e+06 1.98821424e+04 ! particle number mass Rhill -1.15984265e+04 !particle radius in m +Body1416 1.39585476e+06 1.98821424e+04 ! particle number mass Rhill +1.15984265e+04 !particle radius in AU -1.09606598e+06 8.80615149e+06 -2.31959292e+04 ! x y z -2.19928594e+03 -2.15273172e+02 -1.46856638e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1417 5.69983191e+05 1.68129906e+04 ! particle number mass Rhill -8.60477818e+03 !particle radius in m +Body1417 5.69983191e+05 1.68129906e+04 ! particle number mass Rhill +8.60477818e+03 !particle radius in AU 1.52623331e+06 -9.87507162e+06 -7.34326606e+04 ! x y z 2.07157812e+03 3.10284089e+02 -1.48877124e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1418 4.36632456e+05 1.43212304e+04 ! particle number mass Rhill -1.16022173e+04 !particle radius in m +Body1418 4.36632456e+05 1.43212304e+04 ! particle number mass Rhill +1.16022173e+04 !particle radius in AU 5.60100517e+06 -7.52238732e+06 -7.05544699e+04 ! x y z 1.72239950e+03 1.29297128e+03 -1.52256341e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1419 1.67122060e+05 1.16630765e+04 ! particle number mass Rhill -5.71650065e+03 !particle radius in m +Body1419 1.67122060e+05 1.16630765e+04 ! particle number mass Rhill +5.71650065e+03 !particle radius in AU -3.94522959e+06 -9.97626417e+06 9.25599419e+03 ! x y z 1.86732899e+03 -7.00228008e+02 -6.60836692e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1420 1.46864649e+06 2.03402135e+04 ! particle number mass Rhill -1.17966335e+04 !particle radius in m +Body1420 1.46864649e+06 2.03402135e+04 ! particle number mass Rhill +1.17966335e+04 !particle radius in AU 8.23445883e+04 -9.04812768e+06 -1.64851152e+03 ! x y z 2.17359230e+03 -1.27347929e+01 -1.55026516e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1421 4.13129899e+05 1.84920921e+04 ! particle number mass Rhill -1.13901960e+04 !particle radius in m +Body1421 4.13129899e+05 1.84920921e+04 ! particle number mass Rhill +1.13901960e+04 !particle radius in AU -9.27915033e+06 -8.53740765e+06 -1.42390767e+05 ! x y z 1.24138782e+03 -1.35430995e+03 -1.90290768e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1422 3.39196625e+05 1.53683400e+04 ! particle number mass Rhill -7.23773766e+03 !particle radius in m +Body1422 3.39196625e+05 1.53683400e+04 ! particle number mass Rhill +7.23773766e+03 !particle radius in AU 6.08369217e+06 -9.30896549e+06 1.20641705e+05 ! x y z 1.63879722e+03 1.07988243e+03 -4.44689941e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1423 1.56760316e+05 1.13228643e+04 ! particle number mass Rhill -5.59582821e+03 !particle radius in m +Body1423 1.56760316e+05 1.13228643e+04 ! particle number mass Rhill +5.59582821e+03 !particle radius in AU 9.59849615e+06 4.68470056e+06 3.84316246e+04 ! x y z -8.55957491e+02 1.80183427e+03 7.74894619e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1424 8.72575676e+05 1.94114085e+04 ! particle number mass Rhill -9.91714578e+03 !particle radius in m +Body1424 8.72575676e+05 1.94114085e+04 ! particle number mass Rhill +9.91714578e+03 !particle radius in AU -1.08060668e+06 -1.00607858e+07 4.94826506e+04 ! x y z 2.05453656e+03 -2.59041316e+02 -1.24750217e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1425 1.52610080e+05 1.67317953e+04 ! particle number mass Rhill -8.17265933e+03 !particle radius in m +Body1425 1.52610080e+05 1.67317953e+04 ! particle number mass Rhill +8.17265933e+03 !particle radius in AU 1.47983590e+07 5.41415872e+06 -1.80415422e+04 ! x y z -5.58693227e+02 1.55361354e+03 1.18553934e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1426 1.44994049e+05 1.07202302e+04 ! particle number mass Rhill -8.03438024e+03 !particle radius in m +Body1426 1.44994049e+05 1.07202302e+04 ! particle number mass Rhill +8.03438024e+03 !particle radius in AU -7.58136593e+06 6.99309921e+06 2.29302110e+04 ! x y z -1.40627338e+03 -1.47284043e+03 -4.36076043e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1427 7.80472321e+05 1.86417464e+04 ! particle number mass Rhill -9.55516443e+03 !particle radius in m +Body1427 7.80472321e+05 1.86417464e+04 ! particle number mass Rhill +9.55516443e+03 !particle radius in AU -1.00024650e+07 2.57885499e+06 -6.07457902e+03 ! x y z -5.22539017e+02 -1.95674023e+03 -7.68835058e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1428 6.00438958e+05 1.93290671e+04 ! particle number mass Rhill -1.29020467e+04 !particle radius in m +Body1428 6.00438958e+05 1.93290671e+04 ! particle number mass Rhill +1.29020467e+04 !particle radius in AU -9.01182188e+06 7.17037576e+06 -1.80541014e+04 ! x y z -1.21356170e+03 -1.50384647e+03 1.80093599e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1429 1.75115386e+06 2.43458664e+04 ! particle number mass Rhill -1.25091298e+04 !particle radius in m +Body1429 1.75115386e+06 2.43458664e+04 ! particle number mass Rhill +1.25091298e+04 !particle radius in AU -5.24887098e+06 8.72732331e+06 8.04218722e+04 ! x y z -1.74335368e+03 -1.08193759e+03 -5.43249124e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1430 3.33981162e+05 2.15867295e+04 ! particle number mass Rhill -1.06106742e+04 !particle radius in m +Body1430 3.33981162e+05 2.15867295e+04 ! particle number mass Rhill +1.06106742e+04 !particle radius in AU -2.45049686e+06 1.55426920e+07 1.07580343e+05 ! x y z -1.62197493e+03 -2.92833542e+02 -1.14576459e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1431 4.58385695e+05 2.01935560e+04 ! particle number mass Rhill -8.00195335e+03 !particle radius in m +Body1431 4.58385695e+05 2.01935560e+04 ! particle number mass Rhill +8.00195335e+03 !particle radius in AU -1.22199859e+07 4.38221625e+06 -3.89351024e+04 ! x y z -6.16349372e+02 -1.72585692e+03 4.89125567e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1432 2.23751701e+05 1.21149867e+04 ! particle number mass Rhill -6.30049172e+03 !particle radius in m +Body1432 2.23751701e+05 1.21149867e+04 ! particle number mass Rhill +6.30049172e+03 !particle radius in AU -2.68787716e+06 -9.60100858e+06 2.64767119e+03 ! x y z 2.00338289e+03 -5.71028998e+02 2.70092626e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1433 6.14170089e+05 1.68963871e+04 ! particle number mass Rhill -1.29996565e+04 !particle radius in m +Body1433 6.14170089e+05 1.68963871e+04 ! particle number mass Rhill +1.29996565e+04 !particle radius in AU -8.95990349e+06 4.52753433e+06 1.16091499e+04 ! x y z -9.24228536e+02 -1.84658152e+03 6.10613917e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1434 4.88383647e+04 1.28185350e+04 ! particle number mass Rhill -5.59014012e+03 !particle radius in m +Body1434 4.88383647e+04 1.28185350e+04 ! particle number mass Rhill +5.59014012e+03 !particle radius in AU 1.71028024e+07 4.97528193e+06 -6.57328228e+04 ! x y z -4.53167939e+02 1.47788400e+03 4.60344609e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1435 3.78131340e+05 3.35514648e+04 ! particle number mass Rhill -1.10590176e+04 !particle radius in m +Body1435 3.78131340e+05 3.35514648e+04 ! particle number mass Rhill +1.10590176e+04 !particle radius in AU -2.23441151e+07 -5.50686380e+06 3.85003687e+04 ! x y z 3.37072469e+02 -1.33411055e+03 5.11825064e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1436 1.12257471e+06 4.29816726e+04 ! particle number mass Rhill -1.07859254e+04 !particle radius in m +Body1436 1.12257471e+06 4.29816726e+04 ! particle number mass Rhill +1.07859254e+04 !particle radius in AU -1.12784475e+07 1.70585791e+07 -1.32439952e+05 ! x y z -1.22293182e+03 -8.00872476e+02 4.14711101e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1437 6.97796488e+05 1.81514488e+04 ! particle number mass Rhill -9.20510168e+03 !particle radius in m +Body1437 6.97796488e+05 1.81514488e+04 ! particle number mass Rhill +9.20510168e+03 !particle radius in AU -3.79252235e+06 9.57625977e+06 -9.43032419e+04 ! x y z -1.90113874e+03 -7.45374550e+02 -2.76613575e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1438 6.32170601e+04 7.02909847e+03 ! particle number mass Rhill -4.13425343e+03 !particle radius in m +Body1438 6.32170601e+04 7.02909847e+03 ! particle number mass Rhill +4.13425343e+03 !particle radius in AU -7.96122660e+06 3.67866986e+06 -9.30226617e+03 ! x y z -9.42526154e+02 -2.01745780e+03 -1.25281974e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1439 1.55582987e+05 1.03484949e+04 ! particle number mass Rhill -5.58178407e+03 !particle radius in m +Body1439 1.55582987e+05 1.03484949e+04 ! particle number mass Rhill +5.58178407e+03 !particle radius in AU -7.53794950e+06 6.23579413e+06 -2.61014008e+04 ! x y z -1.34980984e+03 -1.58862900e+03 -1.61372420e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1440 4.37297807e+04 6.59045414e+03 ! particle number mass Rhill -5.38800623e+03 !particle radius in m +Body1440 4.37297807e+04 6.59045414e+03 ! particle number mass Rhill +5.38800623e+03 !particle radius in AU -8.66326774e+06 4.08110980e+06 -3.65358197e+04 ! x y z -9.22979977e+02 -1.88593300e+03 -1.20742584e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1441 1.00764560e+05 1.20451591e+04 ! particle number mass Rhill -4.82934540e+03 !particle radius in m +Body1441 1.00764560e+05 1.20451591e+04 ! particle number mass Rhill +4.82934540e+03 !particle radius in AU -8.01465112e+06 -1.03186901e+07 -8.69608158e+04 ! x y z 1.40671015e+03 -1.13976841e+03 1.88119518e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1442 3.51703554e+05 2.06788915e+04 ! particle number mass Rhill -1.07951308e+04 !particle radius in m +Body1442 3.51703554e+05 2.06788915e+04 ! particle number mass Rhill +1.07951308e+04 !particle radius in AU -1.49556816e+07 -7.86589247e+05 1.11406498e+05 ! x y z 1.14089906e+02 -1.67632423e+03 -1.08680759e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1443 1.92277696e+06 3.28524926e+04 ! particle number mass Rhill -1.29051176e+04 !particle radius in m +Body1443 1.92277696e+06 3.28524926e+04 ! particle number mass Rhill +1.29051176e+04 !particle radius in AU 1.27123539e+07 -2.64461233e+06 -6.18084715e+04 ! x y z 3.74400777e+02 1.80142774e+03 3.83561532e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1444 3.45658520e+05 2.43824484e+04 ! particle number mass Rhill -1.07329246e+04 !particle radius in m +Body1444 3.45658520e+05 2.43824484e+04 ! particle number mass Rhill +1.07329246e+04 !particle radius in AU -4.06927547e+05 -1.75442240e+07 1.00963469e+05 ! x y z 1.56104472e+03 -4.39048470e+01 3.93620680e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1445 1.13287340e+05 1.58649945e+04 ! particle number mass Rhill -5.02164633e+03 !particle radius in m +Body1445 1.13287340e+05 1.58649945e+04 ! particle number mass Rhill +5.02164633e+03 !particle radius in AU 8.84368264e+06 1.43003762e+07 5.00874702e+04 ! x y z -1.35152929e+03 8.24556921e+02 -8.03719400e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1446 1.49424265e+06 2.19656703e+04 ! particle number mass Rhill -1.18647713e+04 !particle radius in m +Body1446 1.49424265e+06 2.19656703e+04 ! particle number mass Rhill +1.18647713e+04 !particle radius in AU -9.54707879e+06 1.77630246e+06 -8.88116065e+03 ! x y z -3.48826440e+02 -2.06942564e+03 -2.16674061e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1447 7.99886482e+05 2.37523761e+04 ! particle number mass Rhill -9.63374432e+03 !particle radius in m +Body1447 7.99886482e+05 2.37523761e+04 ! particle number mass Rhill +9.63374432e+03 !particle radius in AU 1.09242185e+07 6.96934254e+06 -3.27489047e+04 ! x y z -9.84319971e+02 1.52494369e+03 8.24595564e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1448 6.88070041e+04 8.39015369e+03 ! particle number mass Rhill -4.25268498e+03 !particle radius in m +Body1448 6.88070041e+04 8.39015369e+03 ! particle number mass Rhill +4.25268498e+03 !particle radius in AU 5.58576103e+06 8.70672427e+06 -2.15687306e+04 ! x y z -1.72503313e+03 1.07740968e+03 -3.41426440e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1449 3.82536212e+05 1.40133678e+04 ! particle number mass Rhill -1.11017942e+04 !particle radius in m +Body1449 3.82536212e+05 1.40133678e+04 ! particle number mass Rhill +1.11017942e+04 !particle radius in AU -4.11471227e+06 -8.93287907e+06 -4.36028632e+04 ! x y z 1.89219131e+03 -8.56549006e+02 8.16432689e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1450 2.90080057e+05 1.19567122e+04 ! particle number mass Rhill -6.87002453e+03 !particle radius in m +Body1450 2.90080057e+05 1.19567122e+04 ! particle number mass Rhill +6.87002453e+03 !particle radius in AU 8.96616870e+06 -2.05606701e+06 2.01901008e+04 ! x y z 4.73236695e+02 2.09528249e+03 -4.42528671e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1451 1.59018668e+05 1.92436459e+04 ! particle number mass Rhill -8.28549309e+03 !particle radius in m +Body1451 1.59018668e+05 1.92436459e+04 ! particle number mass Rhill +8.28549309e+03 !particle radius in AU 1.71268946e+07 4.30766948e+06 2.02642738e+03 ! x y z -4.07771856e+02 1.51502114e+03 -1.13119700e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1452 9.33386750e+04 1.64255317e+04 ! particle number mass Rhill -4.70767212e+03 !particle radius in m +Body1452 9.33386750e+04 1.64255317e+04 ! particle number mass Rhill +4.70767212e+03 !particle radius in AU -4.68916418e+05 1.79356049e+07 2.73217306e+04 ! x y z -1.55840072e+03 -4.92017252e+01 -1.97207421e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1453 3.61408263e+05 1.25858962e+04 ! particle number mass Rhill -1.08935228e+04 !particle radius in m +Body1453 3.61408263e+05 1.25858962e+04 ! particle number mass Rhill +1.08935228e+04 !particle radius in AU -8.58951775e+06 -2.49673020e+06 1.50355881e+04 ! x y z 6.03037486e+02 -2.10005557e+03 9.90449926e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1454 4.04341391e+05 1.39794979e+04 ! particle number mass Rhill -1.13088486e+04 !particle radius in m +Body1454 4.04341391e+05 1.39794979e+04 ! particle number mass Rhill +1.13088486e+04 !particle radius in AU -1.24947062e+06 9.39169733e+06 -1.29611502e+03 ! x y z -2.12088670e+03 -2.33617557e+02 -7.92353291e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1455 1.15205467e+05 9.46757023e+03 ! particle number mass Rhill -5.04982925e+03 !particle radius in m +Body1455 1.15205467e+05 9.46757023e+03 ! particle number mass Rhill +5.04982925e+03 !particle radius in AU 9.31255896e+06 3.14623519e+06 -5.69089329e+03 ! x y z -7.03486722e+02 1.96419139e+03 2.25468152e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1456 1.36945908e+05 1.16200120e+04 ! particle number mass Rhill -7.88288776e+03 !particle radius in m +Body1456 1.36945908e+05 1.16200120e+04 ! particle number mass Rhill +7.88288776e+03 !particle radius in AU -5.85221513e+05 -1.12876036e+07 -5.52028652e+04 ! x y z 1.95064275e+03 -9.81526152e+01 -5.91601856e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1457 3.65528213e+05 1.31090663e+04 ! particle number mass Rhill -1.09347609e+04 !particle radius in m +Body1457 3.65528213e+05 1.31090663e+04 ! particle number mass Rhill +1.09347609e+04 !particle radius in AU -2.96784791e+06 -8.77030784e+06 -6.49349269e+04 ! x y z 2.04523947e+03 -6.63593054e+02 -5.41808592e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1458 1.69950901e+04 6.03470815e+03 ! particle number mass Rhill -3.93196955e+03 !particle radius in m +Body1458 1.69950901e+04 6.03470815e+03 ! particle number mass Rhill +3.93196955e+03 !particle radius in AU 8.90265546e+05 1.20291601e+07 -5.41238919e+02 ! x y z -1.86112508e+03 1.50752240e+02 -5.69806824e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1459 1.14279210e+05 1.31227492e+04 ! particle number mass Rhill -5.03625919e+03 !particle radius in m +Body1459 1.14279210e+05 1.31227492e+04 ! particle number mass Rhill +5.03625919e+03 !particle radius in AU -4.12865927e+06 -1.30370302e+07 2.49268877e+04 ! x y z 1.68286207e+03 -5.42218893e+02 7.09107529e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1460 1.32563480e+06 2.20277567e+04 ! particle number mass Rhill -1.14005804e+04 !particle radius in m +Body1460 1.32563480e+06 2.20277567e+04 ! particle number mass Rhill +1.14005804e+04 !particle radius in AU -8.83659135e+06 4.88772967e+06 3.97374919e+04 ! x y z -9.96652878e+02 -1.80490383e+03 4.50625373e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1461 1.09382671e+05 1.04026284e+04 ! particle number mass Rhill -7.31394737e+03 !particle radius in m +Body1461 1.09382671e+05 1.04026284e+04 ! particle number mass Rhill +7.31394737e+03 !particle radius in AU 7.51899250e+06 8.02238049e+06 4.96372898e+04 ! x y z -1.45435540e+03 1.33207577e+03 -8.91729858e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1462 1.96680548e+05 2.21014105e+04 ! particle number mass Rhill -8.89384301e+03 !particle radius in m +Body1462 1.96680548e+05 2.21014105e+04 ! particle number mass Rhill +8.89384301e+03 !particle radius in AU 1.07692501e+07 -1.58383421e+07 5.11056372e+04 ! x y z 1.24097868e+03 8.36402001e+02 1.17081374e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1463 6.31269846e+05 1.55026435e+04 ! particle number mass Rhill -8.90274659e+03 !particle radius in m +Body1463 6.31269846e+05 1.55026435e+04 ! particle number mass Rhill +8.90274659e+03 !particle radius in AU -7.87110940e+06 4.57199197e+06 -7.32174697e+03 ! x y z -1.11779702e+03 -1.86164265e+03 1.82306653e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1464 1.65148564e+05 1.29292367e+04 ! particle number mass Rhill -8.39061750e+03 !particle radius in m +Body1464 1.65148564e+05 1.29292367e+04 ! particle number mass Rhill +8.39061750e+03 !particle radius in AU -9.02697440e+06 7.44735568e+06 -6.20239222e+04 ! x y z -1.22828772e+03 -1.48671915e+03 -3.25023413e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1465 2.01259594e+05 1.25893360e+04 ! particle number mass Rhill -8.96233529e+03 !particle radius in m +Body1465 2.01259594e+05 1.25893360e+04 ! particle number mass Rhill +8.96233529e+03 !particle radius in AU 1.03311380e+07 2.97114168e+06 2.75510366e+04 ! x y z -5.53060286e+02 1.92682584e+03 -7.92293805e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1466 3.47358922e+04 5.91061876e+03 ! particle number mass Rhill -4.98993792e+03 !particle radius in m +Body1466 3.47358922e+04 5.91061876e+03 ! particle number mass Rhill +4.98993792e+03 !particle radius in AU 7.02853805e+06 6.05239702e+06 3.87860255e+03 ! x y z -1.40362427e+03 1.60647543e+03 -1.45016070e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1467 6.56492226e+04 7.07440593e+03 ! particle number mass Rhill -4.18660697e+03 !particle radius in m +Body1467 6.56492226e+04 7.07440593e+03 ! particle number mass Rhill +4.18660697e+03 !particle radius in AU 6.55440785e+06 5.85117198e+06 -4.93943511e+04 ! x y z -1.49384332e+03 1.63681032e+03 -1.39258100e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1468 4.49127828e+05 1.61155734e+04 ! particle number mass Rhill -1.17118539e+04 !particle radius in m +Body1468 4.49127828e+05 1.61155734e+04 ! particle number mass Rhill +1.17118539e+04 !particle radius in AU 9.90570829e+06 4.34179796e+06 -2.00530721e+04 ! x y z -7.94337401e+02 1.80469509e+03 -3.79870453e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1469 4.46485515e+05 1.75275373e+04 ! particle number mass Rhill -7.93209892e+03 !particle radius in m +Body1469 4.46485515e+05 1.75275373e+04 ! particle number mass Rhill +7.93209892e+03 !particle radius in AU -8.25205087e+06 7.98686094e+06 -3.50332951e+04 ! x y z -1.35816228e+03 -1.38349553e+03 1.34047111e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1470 3.40516646e+05 1.47688794e+04 ! particle number mass Rhill -7.24711433e+03 !particle radius in m +Body1470 3.40516646e+05 1.47688794e+04 ! particle number mass Rhill +7.24711433e+03 !particle radius in AU -9.96135005e+06 3.70457700e+06 -9.07193755e+04 ! x y z -7.21948720e+02 -1.87787046e+03 -1.05717777e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1471 7.95155921e+04 1.33847411e+04 ! particle number mass Rhill -6.57637276e+03 !particle radius in m +Body1471 7.95155921e+04 1.33847411e+04 ! particle number mass Rhill +6.57637276e+03 !particle radius in AU -1.22268683e+07 1.01474610e+07 -8.42852150e+04 ! x y z -1.02194217e+03 -1.27298189e+03 -7.67733923e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1472 9.54539516e+04 9.68623016e+03 ! particle number mass Rhill -6.98929911e+03 !particle radius in m +Body1472 9.54539516e+04 9.68623016e+03 ! particle number mass Rhill +6.98929911e+03 !particle radius in AU 4.92746951e+06 9.58728854e+06 2.89432610e+04 ! x y z -1.76304026e+03 9.13627287e+02 6.36664299e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1473 1.51141099e+06 2.76245591e+04 ! particle number mass Rhill -1.19100391e+04 !particle radius in m +Body1473 1.51141099e+06 2.76245591e+04 ! particle number mass Rhill +1.19100391e+04 !particle radius in AU 1.23329034e+07 -6.92729902e+05 2.96405314e+04 ! x y z 1.12931575e+02 1.84303874e+03 -9.66021750e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1474 2.27824759e+05 2.21950382e+04 ! particle number mass Rhill -9.34048218e+03 !particle radius in m +Body1474 2.27824759e+05 2.21950382e+04 ! particle number mass Rhill +9.34048218e+03 !particle radius in AU 1.63682186e+07 -7.64635682e+06 7.51258389e+04 ! x y z 6.57521797e+02 1.40505156e+03 -1.44981512e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1475 2.82996551e+04 5.59807489e+03 ! particle number mass Rhill -4.66046628e+03 !particle radius in m +Body1475 2.82996551e+04 5.59807489e+03 ! particle number mass Rhill +4.66046628e+03 !particle radius in AU -9.02931313e+06 1.40224619e+06 -7.68912993e+03 ! x y z -3.55553612e+02 -2.15150134e+03 1.02691019e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1476 1.08035073e+05 8.74419607e+03 ! particle number mass Rhill -7.28378715e+03 !particle radius in m +Body1476 1.08035073e+05 8.74419607e+03 ! particle number mass Rhill +7.28378715e+03 !particle radius in AU -2.13040703e+06 9.05085932e+06 2.75232896e+04 ! x y z -2.09375359e+03 -4.54923992e+02 -6.60791548e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1477 6.82388851e+04 9.03381717e+03 ! particle number mass Rhill -4.24094823e+03 !particle radius in m +Body1477 6.82388851e+04 9.03381717e+03 ! particle number mass Rhill +4.24094823e+03 !particle radius in AU 2.12770208e+06 -1.09362652e+07 6.56462507e+04 ! x y z 1.92901319e+03 3.58659857e+02 1.88568450e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1478 1.71725563e+06 3.27614334e+04 ! particle number mass Rhill -1.24278875e+04 !particle radius in m +Body1478 1.71725563e+06 3.27614334e+04 ! particle number mass Rhill +1.24278875e+04 !particle radius in AU 4.49722640e+06 1.29879609e+07 6.17022585e+04 ! x y z -1.66361829e+03 6.02542134e+02 -3.15731575e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1479 4.31736407e+05 1.33145899e+04 ! particle number mass Rhill -1.15586882e+04 !particle radius in m +Body1479 4.31736407e+05 1.33145899e+04 ! particle number mass Rhill +1.15586882e+04 !particle radius in AU -2.46270150e+05 -8.94568869e+06 -6.37006664e+04 ! x y z 2.17872017e+03 -8.88856930e+01 -1.82962039e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1480 4.69987554e+05 1.50577774e+04 ! particle number mass Rhill -8.06890215e+03 !particle radius in m +Body1480 4.69987554e+05 1.50577774e+04 ! particle number mass Rhill +8.06890215e+03 !particle radius in AU -7.68511313e+06 -6.12228878e+06 -9.32586560e+03 ! x y z 1.29882576e+03 -1.62777018e+03 -1.19293575e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1481 1.17648820e+05 8.85436283e+03 ! particle number mass Rhill -7.49373241e+03 !particle radius in m +Body1481 1.17648820e+05 8.85436283e+03 ! particle number mass Rhill +7.49373241e+03 !particle radius in AU -8.92478393e+06 1.31107857e+06 -7.25655485e+04 ! x y z -2.98094429e+02 -2.17047563e+03 -1.53783344e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1482 1.06595743e+05 1.08697806e+04 ! particle number mass Rhill -7.25129561e+03 !particle radius in m +Body1482 1.06595743e+05 1.08697806e+04 ! particle number mass Rhill +7.25129561e+03 !particle radius in AU -6.57681719e+06 -9.45888345e+06 -3.72144545e+04 ! x y z 1.58522928e+03 -1.10501157e+03 1.05113370e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1483 2.40181521e+05 2.05658561e+04 ! particle number mass Rhill -9.50638765e+03 !particle radius in m +Body1483 2.40181521e+05 2.05658561e+04 ! particle number mass Rhill +9.50638765e+03 !particle radius in AU 1.34071651e+07 1.03792566e+07 -4.53441732e+04 ! x y z -9.71553194e+02 1.24234337e+03 9.20294843e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1484 2.30979462e+05 1.61646706e+04 ! particle number mass Rhill -6.36761483e+03 !particle radius in m +Body1484 2.30979462e+05 1.61646706e+04 ! particle number mass Rhill +6.36761483e+03 !particle radius in AU -3.51077302e+06 -1.26567098e+07 2.57715830e+04 ! x y z 1.74422450e+03 -5.08580589e+02 2.03158207e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1485 1.30379505e+05 1.26014074e+04 ! particle number mass Rhill -5.26245957e+03 !particle radius in m +Body1485 1.30379505e+05 1.26014074e+04 ! particle number mass Rhill +5.26245957e+03 !particle radius in AU 2.88059988e+06 -1.21489772e+07 1.66531109e+03 ! x y z 1.80288747e+03 4.42317052e+02 -1.19583569e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1486 5.14863696e+05 1.57196952e+04 ! particle number mass Rhill -8.31795219e+03 !particle radius in m +Body1486 5.14863696e+05 1.57196952e+04 ! particle number mass Rhill +8.31795219e+03 !particle radius in AU -5.79801378e+06 7.81844110e+06 7.21651425e+04 ! x y z -1.66669076e+03 -1.30229321e+03 -2.20360225e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1487 1.26463086e+06 1.90076383e+04 ! particle number mass Rhill -1.12229473e+04 !particle radius in m +Body1487 1.26463086e+06 1.90076383e+04 ! particle number mass Rhill +1.12229473e+04 !particle radius in AU 1.79079043e+06 8.72935614e+06 7.66173175e+03 ! x y z -2.14494592e+03 4.29349753e+02 -3.05321261e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1488 1.10279394e+06 2.94811703e+04 ! particle number mass Rhill -1.07221971e+04 !particle radius in m +Body1488 1.10279394e+06 2.94811703e+04 ! particle number mass Rhill +1.07221971e+04 !particle radius in AU -1.31449667e+07 5.65642590e+06 -1.35348879e+04 ! x y z -6.99474388e+02 -1.58839301e+03 5.07187025e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1489 9.64986931e+05 2.60335138e+04 ! particle number mass Rhill -1.02555622e+04 !particle radius in m +Body1489 9.64986931e+05 2.60335138e+04 ! particle number mass Rhill +1.02555622e+04 !particle radius in AU -1.28107010e+07 3.64301270e+06 -4.79094708e+04 ! x y z -4.96849501e+02 -1.72146269e+03 1.99970261e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1490 3.85017463e+05 1.31518104e+04 ! particle number mass Rhill -7.54998008e+03 !particle radius in m +Body1490 3.85017463e+05 1.31518104e+04 ! particle number mass Rhill +7.54998008e+03 !particle radius in AU -8.81052520e+06 1.96363775e+06 -7.03542162e+04 ! x y z -4.55600237e+02 -2.14195252e+03 -1.54510587e+01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1491 7.12464696e+04 7.27507090e+03 ! particle number mass Rhill -4.30236032e+03 !particle radius in m +Body1491 7.12464696e+04 7.27507090e+03 ! particle number mass Rhill +4.30236032e+03 !particle radius in AU 6.76054921e+06 5.69153857e+06 -8.32813680e+04 ! x y z -1.43863210e+03 1.66962801e+03 -3.05680786e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1492 2.30337841e+05 1.99962209e+04 ! particle number mass Rhill -9.37470089e+03 !particle radius in m +Body1492 2.30337841e+05 1.99962209e+04 ! particle number mass Rhill +9.37470089e+03 !particle radius in AU -1.58533753e+07 -4.64141565e+06 -1.37616342e+05 ! x y z 4.71661565e+02 -1.53679456e+03 4.54920894e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1493 1.54078080e+05 1.40811002e+04 ! particle number mass Rhill -5.56372876e+03 !particle radius in m +Body1493 1.54078080e+05 1.40811002e+04 ! particle number mass Rhill +5.56372876e+03 !particle radius in AU -5.05912024e+06 1.20461614e+07 -1.00213774e+05 ! x y z -1.67920042e+03 -7.11202226e+02 4.13175962e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1494 8.27228641e+04 9.01203219e+03 ! particle number mass Rhill -6.66362952e+03 !particle radius in m +Body1494 8.27228641e+04 9.01203219e+03 ! particle number mass Rhill +6.66362952e+03 !particle radius in AU 8.41034459e+05 -1.03591089e+07 -4.26263251e+04 ! x y z 2.02679172e+03 1.77245292e+02 -7.59374588e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1495 6.59711957e+04 7.21319042e+03 ! particle number mass Rhill -4.19344015e+03 !particle radius in m +Body1495 6.59711957e+04 7.21319042e+03 ! particle number mass Rhill +4.19344015e+03 !particle radius in AU -8.72674150e+06 -1.84604826e+06 -9.49439666e+03 ! x y z 5.06255038e+02 -2.14329601e+03 8.35004981e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1496 4.76016816e+05 1.56977540e+04 ! particle number mass Rhill -1.19410657e+04 !particle radius in m +Body1496 4.76016816e+05 1.56977540e+04 ! particle number mass Rhill +1.19410657e+04 !particle radius in AU 8.32975138e+06 5.59994962e+06 1.36490477e+04 ! x y z -1.14500563e+03 1.73284125e+03 2.21368330e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1497 8.74132422e+05 1.84842648e+04 ! particle number mass Rhill -9.92303995e+03 !particle radius in m +Body1497 8.74132422e+05 1.84842648e+04 ! particle number mass Rhill +9.92303995e+03 !particle radius in AU 5.20187427e+06 8.26928364e+06 7.79156795e+04 ! x y z -1.78869520e+03 1.08594628e+03 -2.89543422e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1498 1.05100593e+06 1.88653392e+04 ! particle number mass Rhill -1.05516583e+04 !particle radius in m +Body1498 1.05100593e+06 1.88653392e+04 ! particle number mass Rhill +1.05516583e+04 !particle radius in AU -3.97296892e+06 -8.38171851e+06 1.59358464e+04 ! x y z 1.95617296e+03 -9.13960827e+02 -3.62965884e-01 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1499 4.64374943e+05 2.44967912e+04 ! particle number mass Rhill -8.03665372e+03 !particle radius in m +Body1499 4.64374943e+05 2.44967912e+04 ! particle number mass Rhill +8.03665372e+03 !particle radius in AU 8.20764080e+05 -1.58893023e+07 7.87114038e+04 ! x y z 1.64101205e+03 9.20364252e+01 9.68548448e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1500 7.98550448e+05 3.23468692e+04 ! particle number mass Rhill -9.62837764e+03 !particle radius in m +Body1500 7.98550448e+05 3.23468692e+04 ! particle number mass Rhill +9.62837764e+03 !particle radius in AU -9.69224879e+06 1.49532038e+07 7.33593405e+04 ! x y z -1.29931651e+03 -8.27698792e+02 -3.16602237e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip 0.0 0.0 0.0 ! rot -1501 7.54058320e+04 8.18405513e+03 ! particle number mass Rhill -4.38450573e+03 !particle radius in m +Body1501 7.54058320e+04 8.18405513e+03 ! particle number mass Rhill +4.38450573e+03 !particle radius in AU -5.62663613e+06 7.91766436e+06 2.60207243e+04 ! x y z -1.74178290e+03 -1.18522553e+03 2.27430689e+00 ! vx vy vz 0.4 0.4 0.4 ! Ip diff --git a/examples/symba_mars_disk/param.in b/examples/symba_mars_disk/param.in index 08a0979e6..1fac92462 100644 --- a/examples/symba_mars_disk/param.in +++ b/examples/symba_mars_disk/param.in @@ -1,16 +1,17 @@ !Parameter file for the SyMBA-RINGMOONS test T0 0.0 -TSTOP 6000.0 +TSTOP 1.0e12 DT 600.0 +CB_IN cb.in PL_IN mars.in TP_IN tp.in IN_TYPE ASCII ISTEP_OUT 1 ISTEP_DUMP 1 -BIN_OUT bin.dat +BIN_OUT bin.nc PARTICLE_OUT particle.dat -OUT_TYPE REAL8 -OUT_FORM XV +OUT_TYPE NETCDF_DOUBLE +OUT_FORM XVEL OUT_STAT REPLACE CHK_CLOSE yes CHK_RMIN 3389500.0 @@ -19,13 +20,12 @@ CHK_EJECT 3389500000.0 CHK_QMIN 3389500.0 CHK_QMIN_COORD HELIO CHK_QMIN_RANGE 3389500.0 338950000000.0 -ENC_OUT /dev/null EXTRA_FORCE no -BIG_DISCARD no RHILL_PRESENT yes -GMTINY 1000.0 +GMTINY 10000.0 +MIN_GMFRAG 1000.0 ENERGY yes -FRAGMENTATION yes +FRAGMENTATION yes ROTATION yes MU2KG 1.0 DU2M 1.0 diff --git a/examples/symba_mars_disk/runswiftest.sh b/examples/symba_mars_disk/runswiftest.sh new file mode 100644 index 000000000..c7d069d39 --- /dev/null +++ b/examples/symba_mars_disk/runswiftest.sh @@ -0,0 +1,34 @@ +#!/bin/zsh -l +#SBATCH -A daminton +#SBATCH --nodes=1 +#SBATCH --ntasks=1 +#SBATCH --time=14-00:00:00 +#SBATCH --ntasks-per-node=1 +#SBATCH --cpus-per-task=4 +#SBATCH --mem-per-cpu=1G +#SBATCH --job-name=high_high +#SBATCH --no-requeue +#SBATCH -o %x.out +#SBATCH -e %x.err +cd $SLURM_SUBMIT_DIR + +module load utilities monitor +#module load gcc/10.2.0 +#netcdf-fortran/4.5.3 + +# track per-code CPU load +monitor cpu percent --all-cores >cpu-percent.log & +CPU_PID=$! + +# track memory usage +monitor cpu memory >cpu-memory.log & +MEM_PID=$! + + +export OMP_NUM_THREADS=12 +export KMP_STACKSIZE=2G +./swiftest_driver symba param.in + +# shut down the resource monitors +kill -s INT $CPU_PID $MEM_PID + diff --git a/examples/symba_mars_disk/testnetcdf.ipynb b/examples/symba_mars_disk/testnetcdf.ipynb new file mode 100644 index 000000000..be4bf6a11 --- /dev/null +++ b/examples/symba_mars_disk/testnetcdf.ipynb @@ -0,0 +1,6197 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'/home/daminton/git/swiftest/examples/symba_mars_disk'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import swiftest\n", + "import os\n", + "import xarray as xr\n", + "import numpy as np\n", + "os.getcwd()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swiftest file param.in\n", + "\n", + "Creating Dataset\n", + "Successfully converted 6 output frames.\n", + "Swiftest simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "sim = swiftest.Simulation(param_file=\"param.in\")\n", + "sim.bin2xr()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'status' (id: 1521)>\n",
+       "array(['ACTIVE', 'ACTIVE', 'ACTIVE', ..., 'ACTIVE', 'ACTIVE', 'ACTIVE'],\n",
+       "      dtype='<U17')\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 0 1 2 3 4 5 6 7 ... 1514 1515 1516 1517 1518 1519 1520
" + ], + "text/plain": [ + "\n", + "array(['ACTIVE', 'ACTIVE', 'ACTIVE', ..., 'ACTIVE', 'ACTIVE', 'ACTIVE'],\n", + " dtype='\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'status' ()>\n",
+       "array('Supercatastrophic', dtype='<U17')\n",
+       "Coordinates:\n",
+       "    id       int32 726
" + ], + "text/plain": [ + "\n", + "array('Supercatastrophic', dtype='\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'discard_time' (id: 1521)>\n",
+       "array([ 0.000000e+000,  6.013470e-154,  6.013470e-154, ..., -1.797693e+308,\n",
+       "       -1.797693e+308, -1.797693e+308])\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 0 1 2 3 4 5 6 7 ... 1514 1515 1516 1517 1518 1519 1520
" + ], + "text/plain": [ + "\n", + "array([ 0.000000e+000, 6.013470e-154, 6.013470e-154, ..., -1.797693e+308,\n", + " -1.797693e+308, -1.797693e+308])\n", + "Coordinates:\n", + " * id (id) int32 0 1 2 3 4 5 6 7 ... 1514 1515 1516 1517 1518 1519 1520" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sim.ds['discard_time']" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "dslost = sim.ds.where(sim.ds['status'] != \"ACTIVE\", drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'discard_time' (id: 2)>\n",
+       "array([2400., 2400.])\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 230 726
" + ], + "text/plain": [ + "\n", + "array([2400., 2400.])\n", + "Coordinates:\n", + " * id (id) int32 230 726" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dslost['discard_time']" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "lastloss = dslost.where(dslost['discard_time'] == 98400.0, drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "dsactive = sim.ds.where(sim.ds['status'] == \"ACTIVE\", drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:          (id: 1519, time: 6)\n",
+       "Coordinates:\n",
+       "  * time             (time) float64 0.0 600.0 1.2e+03 1.8e+03 2.4e+03 3e+03\n",
+       "  * id               (id) int32 0 1 2 3 4 5 6 ... 1515 1516 1517 1518 1519 1520\n",
+       "Data variables: (12/57)\n",
+       "    npl              (time, id) float64 1.5e+03 1.5e+03 ... 1.518e+03 1.518e+03\n",
+       "    ntp              (time, id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
+       "    name             (id) object 'Mars' 'Body2' ... 'Newbody0001520'\n",
+       "    particle_type    (id) object 'Central Body' ... 'Massive Body'\n",
+       "    xhx              (time, id) float64 0.0 -2.358e+06 ... -3.489e+06 -3.476e+06\n",
+       "    xhy              (time, id) float64 0.0 8.604e+06 ... -8.532e+06 -8.571e+06\n",
+       "    ...               ...\n",
+       "    discard_xhy      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_xhz      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_vhx      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_vhy      (id) float64 0.0 2.122e-314 2.122e-314 ... 0.0 0.0 0.0\n",
+       "    discard_vhz      (id) float64 0.0 3.024e-153 3.024e-153 ... 0.0 0.0 0.0\n",
+       "    discard_body_id  (id) float64 -2.147e+09 -2.147e+09 ... -2.147e+09
" + ], + "text/plain": [ + "\n", + "Dimensions: (id: 1519, time: 6)\n", + "Coordinates:\n", + " * time (time) float64 0.0 600.0 1.2e+03 1.8e+03 2.4e+03 3e+03\n", + " * id (id) int32 0 1 2 3 4 5 6 ... 1515 1516 1517 1518 1519 1520\n", + "Data variables: (12/57)\n", + " npl (time, id) float64 1.5e+03 1.5e+03 ... 1.518e+03 1.518e+03\n", + " ntp (time, id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", + " name (id) object 'Mars' 'Body2' ... 'Newbody0001520'\n", + " particle_type (id) object 'Central Body' ... 'Massive Body'\n", + " xhx (time, id) float64 0.0 -2.358e+06 ... -3.489e+06 -3.476e+06\n", + " xhy (time, id) float64 0.0 8.604e+06 ... -8.532e+06 -8.571e+06\n", + " ... ...\n", + " discard_xhy (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_xhz (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_vhx (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_vhy (id) float64 0.0 2.122e-314 2.122e-314 ... 0.0 0.0 0.0\n", + " discard_vhz (id) float64 0.0 3.024e-153 3.024e-153 ... 0.0 0.0 0.0\n", + " discard_body_id (id) float64 -2.147e+09 -2.147e+09 ... -2.147e+09" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dsactive" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "lastadd = sim.ds.where(sim.ds['origin_time'] == 2400.0, drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:          (id: 20, time: 6)\n",
+       "Coordinates:\n",
+       "  * time             (time) float64 0.0 600.0 1.2e+03 1.8e+03 2.4e+03 3e+03\n",
+       "  * id               (id) int32 1501 1502 1503 1504 1505 ... 1517 1518 1519 1520\n",
+       "Data variables: (12/57)\n",
+       "    npl              (time, id) float64 1.5e+03 1.5e+03 ... 1.518e+03 1.518e+03\n",
+       "    ntp              (time, id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n",
+       "    name             (id) object 'Newbody0001501' ... 'Newbody0001520'\n",
+       "    particle_type    (id) object 'Massive Body' ... 'Massive Body'\n",
+       "    xhx              (time, id) float64 0.0 0.0 0.0 ... -3.489e+06 -3.476e+06\n",
+       "    xhy              (time, id) float64 0.0 0.0 0.0 ... -8.532e+06 -8.571e+06\n",
+       "    ...               ...\n",
+       "    discard_xhy      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_xhz      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_vhx      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_vhy      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_vhz      (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
+       "    discard_body_id  (id) float64 -2.147e+09 -2.147e+09 ... -2.147e+09
" + ], + "text/plain": [ + "\n", + "Dimensions: (id: 20, time: 6)\n", + "Coordinates:\n", + " * time (time) float64 0.0 600.0 1.2e+03 1.8e+03 2.4e+03 3e+03\n", + " * id (id) int32 1501 1502 1503 1504 1505 ... 1517 1518 1519 1520\n", + "Data variables: (12/57)\n", + " npl (time, id) float64 1.5e+03 1.5e+03 ... 1.518e+03 1.518e+03\n", + " ntp (time, id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0\n", + " name (id) object 'Newbody0001501' ... 'Newbody0001520'\n", + " particle_type (id) object 'Massive Body' ... 'Massive Body'\n", + " xhx (time, id) float64 0.0 0.0 0.0 ... -3.489e+06 -3.476e+06\n", + " xhy (time, id) float64 0.0 0.0 0.0 ... -8.532e+06 -8.571e+06\n", + " ... ...\n", + " discard_xhy (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_xhz (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_vhx (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_vhy (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_vhz (id) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", + " discard_body_id (id) float64 -2.147e+09 -2.147e+09 ... -2.147e+09" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lastadd" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "lastframe = dsactive.isel(time=-1, drop=True)\n", + "firstframe = sim.ds.isel(time=0, drop=True)\n", + "firstframe = firstframe.where(firstframe['a'] < 1e20, drop=True)\n", + "midframe = sim.ds.isel(time=-2, drop=True)\n", + "midframe = midframe.where(midframe['a'] < 1e20, drop=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'id' (id: 1519)>\n",
+       "array([   0,    1,    2, ..., 1518, 1519, 1520], dtype=int32)\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 0 1 2 3 4 5 6 7 ... 1514 1515 1516 1517 1518 1519 1520
" + ], + "text/plain": [ + "\n", + "array([ 0, 1, 2, ..., 1518, 1519, 1520], dtype=int32)\n", + "Coordinates:\n", + " * id (id) int32 0 1 2 3 4 5 6 7 ... 1514 1515 1516 1517 1518 1519 1520" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lastframe.id" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'id' (id: 0)>\n",
+       "array([], dtype=int32)\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 
" + ], + "text/plain": [ + "\n", + "array([], dtype=int32)\n", + "Coordinates:\n", + " * id (id) int32 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lastloss.id" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'Gmass' ()>\n",
+       "array(4.28396188e+13)
" + ], + "text/plain": [ + "\n", + "array(4.28396188e+13)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lastframe['Gmass'].sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'Gmass' ()>\n",
+       "array(4.28396188e+13)
" + ], + "text/plain": [ + "\n", + "array(4.28396188e+13)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "firstframe['Gmass'].sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'Gmass' ()>\n",
+       "array(4.28396188e+13)
" + ], + "text/plain": [ + "\n", + "array(4.28396188e+13)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "midframe['Gmass'].sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:          ()\n",
+       "Coordinates:\n",
+       "    id               int32 2\n",
+       "Data variables: (12/57)\n",
+       "    npl              float64 1.518e+03\n",
+       "    ntp              float64 0.0\n",
+       "    name             object 'Body3'\n",
+       "    particle_type    object 'Massive Body'\n",
+       "    xhx              float64 -3.025e+06\n",
+       "    xhy              float64 -1.02e+07\n",
+       "    ...               ...\n",
+       "    discard_xhy      float64 0.0\n",
+       "    discard_xhz      float64 0.0\n",
+       "    discard_vhx      float64 0.0\n",
+       "    discard_vhy      float64 2.122e-314\n",
+       "    discard_vhz      float64 3.024e-153\n",
+       "    discard_body_id  float64 -2.147e+09
" + ], + "text/plain": [ + "\n", + "Dimensions: ()\n", + "Coordinates:\n", + " id int32 2\n", + "Data variables: (12/57)\n", + " npl float64 1.518e+03\n", + " ntp float64 0.0\n", + " name object 'Body3'\n", + " particle_type object 'Massive Body'\n", + " xhx float64 -3.025e+06\n", + " xhy float64 -1.02e+07\n", + " ... ...\n", + " discard_xhy float64 0.0\n", + " discard_xhz float64 0.0\n", + " discard_vhx float64 0.0\n", + " discard_vhy float64 2.122e-314\n", + " discard_vhz float64 3.024e-153\n", + " discard_body_id float64 -2.147e+09" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lastframe.sel(id=2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "swiftestOOF", + "language": "python", + "name": "swiftestoof" + }, + "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.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/symba_mars_disk/timetest.sh b/examples/symba_mars_disk/timetest.sh new file mode 100755 index 000000000..e881f6ceb --- /dev/null +++ b/examples/symba_mars_disk/timetest.sh @@ -0,0 +1,9 @@ +#!/bin/bash +outname="timetest.csv" +echo "N cores, wall time (s)" > $outname +for value in {1..12} +do + export OMP_NUM_THREADS=$value + walltime="$(/usr/bin/time -f %e ./swiftest_driver symba param.in 2>&1 > /dev/null)" + echo "$value,$walltime" >> $outname +done \ No newline at end of file diff --git a/examples/symba_mars_disk/tp.in b/examples/symba_mars_disk/tp.in index 573541ac9..c22708346 100644 --- a/examples/symba_mars_disk/tp.in +++ b/examples/symba_mars_disk/tp.in @@ -1 +1 @@ -0 +0 \ No newline at end of file diff --git a/examples/symba_swifter_comparison/1pl_1pl_encounter/init_cond.py b/examples/symba_swifter_comparison/1pl_1pl_encounter/init_cond.py index 6547c2802..328ed30c9 100755 --- a/examples/symba_swifter_comparison/1pl_1pl_encounter/init_cond.py +++ b/examples/symba_swifter_comparison/1pl_1pl_encounter/init_cond.py @@ -59,8 +59,8 @@ p_pl2 = np.array([apl2, 0.0, 0.0], dtype=np.double) v_pl2 = np.array([0.0, vpl2, 0.0], dtype=np.double) -Rhill1 = np.double(apl1 * 0.0100447248332378922085) -Rhill2 = Rhill1 * (mass2 / mass1)**(1.0 / 3.0) +rhill1 = np.double(apl1 * 0.0100447248332378922085) +rhill2 = rhill1 * (mass2 / mass1)**(1.0 / 3.0) #Make Swifter files plfile = open(swifter_pl, 'w') @@ -70,12 +70,12 @@ print('0.0 0.0 0.0',file=plfile) print('0.0 0.0 0.0',file=plfile) -print(plid1,"{:.23g}".format(mass1),Rhill1, file=plfile) +print(plid1,"{:.23g}".format(mass1),rhill1, file=plfile) print(radius1, file=plfile) print(*p_pl1, file=plfile) print(*v_pl1, file=plfile) -print(plid2,"{:.23g}".format(mass2),Rhill2, file=plfile) +print(plid2,"{:.23g}".format(mass2),rhill2, file=plfile) print(radius2, file=plfile) print(*p_pl2, file=plfile) print(*v_pl2, file=plfile) @@ -139,7 +139,7 @@ plfile.write_record(np.vstack([v_pl1[1],v_pl2[1]])) plfile.write_record(np.vstack([v_pl1[2],v_pl2[2]])) plfile.write_record(np.array([mass1,mass2])) -plfile.write_record(np.array([Rhill1,Rhill2])) +plfile.write_record(np.array([rhill1,rhill2])) plfile.write_record(np.array([radius1,radius2])) plfile.close() tpfile = FortranFile(swiftest_tp, 'w') diff --git a/examples/symba_swifter_comparison/1pl_1pl_encounter/param.swifter.in b/examples/symba_swifter_comparison/1pl_1pl_encounter/param.swifter.in index 853815639..a67348c0e 100644 --- a/examples/symba_swifter_comparison/1pl_1pl_encounter/param.swifter.in +++ b/examples/symba_swifter_comparison/1pl_1pl_encounter/param.swifter.in @@ -24,3 +24,4 @@ ENC_OUT enc.swifter.dat EXTRA_FORCE no BIG_DISCARD no RHILL_PRESENT yes +ENERGY yes diff --git a/examples/symba_swifter_comparison/1pl_1pl_encounter/swiftest_vs_swifter.ipynb b/examples/symba_swifter_comparison/1pl_1pl_encounter/swiftest_vs_swifter.ipynb index 3a80eebd1..6c5bc45e4 100644 --- a/examples/symba_swifter_comparison/1pl_1pl_encounter/swiftest_vs_swifter.ipynb +++ b/examples/symba_swifter_comparison/1pl_1pl_encounter/swiftest_vs_swifter.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 8, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -57,7 +57,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -66,7 +66,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -75,23 +75,23 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[,\n", - " ]" + "[,\n", + " ]" ] }, - "execution_count": 13, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -106,1512 +106,6 @@ "swiftdiff['vx'].plot.line(x=\"time (y)\")" ] }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'vx' (time (y): 221)>\n",
-       "array([0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "...\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.        , 0.        , 0.        ,\n",
-       "       0.        , 0.        , 0.02101973, 0.02102004, 0.02102057,\n",
-       "       0.0210213 , 0.02102224, 0.02102336, 0.02102465, 0.02102612,\n",
-       "       0.02102774, 0.02102951, 0.02103142, 0.02103346, 0.02103561,\n",
-       "       0.02103787, 0.02104022, 0.02104267, 0.02104519, 0.02104778,\n",
-       "       0.02105043, 0.02105312, 0.02105586, 0.02105862, 0.0210614 ,\n",
-       "       0.02106419])\n",
-       "Coordinates:\n",
-       "    id        float64 2.0\n",
-       "  * time (y)  (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1492 0.1499 0.1506
" - ], - "text/plain": [ - "\n", - "array([0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - "...\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0. , 0. , 0. ,\n", - " 0. , 0. , 0.02101973, 0.02102004, 0.02102057,\n", - " 0.0210213 , 0.02102224, 0.02102336, 0.02102465, 0.02102612,\n", - " 0.02102774, 0.02102951, 0.02103142, 0.02103346, 0.02103561,\n", - " 0.02103787, 0.02104022, 0.02104267, 0.02104519, 0.02104778,\n", - " 0.02105043, 0.02105312, 0.02105586, 0.02105862, 0.0210614 ,\n", - " 0.02106419])\n", - "Coordinates:\n", - " id float64 2.0\n", - " * time (y) (time (y)) float64 0.0 0.0006845 0.001369 ... 0.1492 0.1499 0.1506" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "swiftdiff['vx'].sel(id=2)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'vx' (time: 221)>\n",
-       "array([ 0.        , -0.02730963, -0.05461883, -0.08192718, -0.10923426,\n",
-       "       -0.13653965, -0.16384292, -0.19114364, -0.21844141, -0.24573578,\n",
-       "       -0.27302634, -0.30031266, -0.32759433, -0.35487091, -0.38214199,\n",
-       "       -0.40940715, -0.43666596, -0.463918  , -0.49116285, -0.51840009,\n",
-       "       -0.5456293 , -0.57285005, -0.60006193, -0.62726452, -0.6544574 ,\n",
-       "       -0.68164014, -0.70881234, -0.73597358, -0.76312342, -0.79026147,\n",
-       "       -0.8173873 , -0.8445005 , -0.87160064, -0.89868733, -0.92576014,\n",
-       "       -0.95281866, -0.97986247, -1.00689117, -1.03390434, -1.06090158,\n",
-       "       -1.08788246, -1.11484659, -1.14179356, -1.16872296, -1.19563437,\n",
-       "       -1.22252741, -1.24940165, -1.27625671, -1.30309216, -1.32990762,\n",
-       "       -1.35670269, -1.38347696, -1.41023003, -1.43696151, -1.463671  ,\n",
-       "       -1.4903581 , -1.51702243, -1.54366359, -1.57028119, -1.59687484,\n",
-       "       -1.62344416, -1.64998874, -1.67650822, -1.70300221, -1.72947032,\n",
-       "       -1.75591217, -1.78232739, -1.8087156 , -1.83507643, -1.8614095 ,\n",
-       "       -1.88771444, -1.91399088, -1.94023846, -1.96645681, -1.99264557,\n",
-       "       -2.01880437, -2.04493287, -2.0710307 , -2.09709752, -2.12313297,\n",
-       "       -2.1491367 , -2.17510838, -2.20104766, -2.2269542 , -2.25282767,\n",
-       "       -2.27866774, -2.30447407, -2.33024634, -2.35598424, -2.38168744,\n",
-       "       -2.40735563, -2.43298851, -2.45858576, -2.48414708, -2.50967219,\n",
-       "       -2.53516079, -2.56061259, -2.58602731, -2.61140468, -2.63674443,\n",
-       "...\n",
-       "       -3.28166908, -3.30592115, -3.33013189, -3.3543014 , -3.37842979,\n",
-       "       -3.40251722, -3.42656386, -3.45056991, -3.47453562, -3.49846126,\n",
-       "       -3.52234715, -3.54619364, -3.57000113, -3.59377005, -3.61750092,\n",
-       "       -3.64119426, -3.66485068, -3.68847086, -3.71205553, -3.73560548,\n",
-       "       -3.75912161, -3.78260489, -3.80605637, -3.82947723, -3.85286873,\n",
-       "       -3.87623226, -3.89956936, -3.92288168, -3.94617105, -3.96943947,\n",
-       "       -3.99268912, -4.01592242, -4.03914199, -4.06235073, -4.08555183,\n",
-       "       -4.10874879, -4.13194551, -4.15514625, -4.17835577, -4.20157933,\n",
-       "       -4.2248228 , -4.24809272, -4.2713964 , -4.29474206, -4.31813893,\n",
-       "       -4.34159746, -4.36512951, -4.38874856, -4.41247007, -4.43631182,\n",
-       "       -4.46029439, -4.48444172, -4.50878191, -4.53334814, -4.55817998,\n",
-       "       -4.58332498, -4.60884098, -4.63479915, -4.66128825, -4.68842081,\n",
-       "       -4.71634199, -4.7452432 , -4.77538326, -4.80712299, -4.84098468,\n",
-       "       -4.87776098, -4.91873117, -4.96614064, -5.02443531, -5.10428159,\n",
-       "       -5.24263186, -5.9750488 ,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan])\n",
-       "Coordinates:\n",
-       "    id       float64 100.0\n",
-       "  * time     (time) float64 0.0 0.0006845 0.001369 ... 0.1492 0.1499 0.1506
" - ], - "text/plain": [ - "\n", - "array([ 0. , -0.02730963, -0.05461883, -0.08192718, -0.10923426,\n", - " -0.13653965, -0.16384292, -0.19114364, -0.21844141, -0.24573578,\n", - " -0.27302634, -0.30031266, -0.32759433, -0.35487091, -0.38214199,\n", - " -0.40940715, -0.43666596, -0.463918 , -0.49116285, -0.51840009,\n", - " -0.5456293 , -0.57285005, -0.60006193, -0.62726452, -0.6544574 ,\n", - " -0.68164014, -0.70881234, -0.73597358, -0.76312342, -0.79026147,\n", - " -0.8173873 , -0.8445005 , -0.87160064, -0.89868733, -0.92576014,\n", - " -0.95281866, -0.97986247, -1.00689117, -1.03390434, -1.06090158,\n", - " -1.08788246, -1.11484659, -1.14179356, -1.16872296, -1.19563437,\n", - " -1.22252741, -1.24940165, -1.27625671, -1.30309216, -1.32990762,\n", - " -1.35670269, -1.38347696, -1.41023003, -1.43696151, -1.463671 ,\n", - " -1.4903581 , -1.51702243, -1.54366359, -1.57028119, -1.59687484,\n", - " -1.62344416, -1.64998874, -1.67650822, -1.70300221, -1.72947032,\n", - " -1.75591217, -1.78232739, -1.8087156 , -1.83507643, -1.8614095 ,\n", - " -1.88771444, -1.91399088, -1.94023846, -1.96645681, -1.99264557,\n", - " -2.01880437, -2.04493287, -2.0710307 , -2.09709752, -2.12313297,\n", - " -2.1491367 , -2.17510838, -2.20104766, -2.2269542 , -2.25282767,\n", - " -2.27866774, -2.30447407, -2.33024634, -2.35598424, -2.38168744,\n", - " -2.40735563, -2.43298851, -2.45858576, -2.48414708, -2.50967219,\n", - " -2.53516079, -2.56061259, -2.58602731, -2.61140468, -2.63674443,\n", - "...\n", - " -3.28166908, -3.30592115, -3.33013189, -3.3543014 , -3.37842979,\n", - " -3.40251722, -3.42656386, -3.45056991, -3.47453562, -3.49846126,\n", - " -3.52234715, -3.54619364, -3.57000113, -3.59377005, -3.61750092,\n", - " -3.64119426, -3.66485068, -3.68847086, -3.71205553, -3.73560548,\n", - " -3.75912161, -3.78260489, -3.80605637, -3.82947723, -3.85286873,\n", - " -3.87623226, -3.89956936, -3.92288168, -3.94617105, -3.96943947,\n", - " -3.99268912, -4.01592242, -4.03914199, -4.06235073, -4.08555183,\n", - " -4.10874879, -4.13194551, -4.15514625, -4.17835577, -4.20157933,\n", - " -4.2248228 , -4.24809272, -4.2713964 , -4.29474206, -4.31813893,\n", - " -4.34159746, -4.36512951, -4.38874856, -4.41247007, -4.43631182,\n", - " -4.46029439, -4.48444172, -4.50878191, -4.53334814, -4.55817998,\n", - " -4.58332498, -4.60884098, -4.63479915, -4.66128825, -4.68842081,\n", - " -4.71634199, -4.7452432 , -4.77538326, -4.80712299, -4.84098468,\n", - " -4.87776098, -4.91873117, -4.96614064, -5.02443531, -5.10428159,\n", - " -5.24263186, -5.9750488 , nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan])\n", - "Coordinates:\n", - " id float64 100.0\n", - " * time (time) float64 0.0 0.0006845 0.001369 ... 0.1492 0.1499 0.1506" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "swiftestsim.ds.sel(id=100)['vx']" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
<xarray.DataArray 'vx' (time: 221)>\n",
-       "array([ 0.        , -0.02730963, -0.05461883, -0.08192718, -0.10923426,\n",
-       "       -0.13653965, -0.16384292, -0.19114364, -0.21844141, -0.24573578,\n",
-       "       -0.27302634, -0.30031266, -0.32759433, -0.35487091, -0.38214199,\n",
-       "       -0.40940715, -0.43666596, -0.463918  , -0.49116285, -0.51840009,\n",
-       "       -0.5456293 , -0.57285005, -0.60006193, -0.62726452, -0.6544574 ,\n",
-       "       -0.68164014, -0.70881234, -0.73597358, -0.76312342, -0.79026147,\n",
-       "       -0.8173873 , -0.8445005 , -0.87160064, -0.89868733, -0.92576014,\n",
-       "       -0.95281866, -0.97986247, -1.00689117, -1.03390434, -1.06090158,\n",
-       "       -1.08788246, -1.11484659, -1.14179356, -1.16872296, -1.19563437,\n",
-       "       -1.22252741, -1.24940165, -1.27625671, -1.30309216, -1.32990762,\n",
-       "       -1.35670269, -1.38347696, -1.41023003, -1.43696151, -1.463671  ,\n",
-       "       -1.4903581 , -1.51702243, -1.54366359, -1.57028119, -1.59687484,\n",
-       "       -1.62344416, -1.64998874, -1.67650822, -1.70300221, -1.72947032,\n",
-       "       -1.75591217, -1.78232739, -1.8087156 , -1.83507643, -1.8614095 ,\n",
-       "       -1.88771444, -1.91399088, -1.94023846, -1.96645681, -1.99264557,\n",
-       "       -2.01880437, -2.04493287, -2.0710307 , -2.09709752, -2.12313297,\n",
-       "       -2.1491367 , -2.17510838, -2.20104766, -2.2269542 , -2.25282767,\n",
-       "       -2.27866774, -2.30447407, -2.33024634, -2.35598424, -2.38168744,\n",
-       "       -2.40735563, -2.43298851, -2.45858576, -2.48414708, -2.50967219,\n",
-       "       -2.53516079, -2.56061259, -2.58602731, -2.61140468, -2.63674443,\n",
-       "...\n",
-       "       -3.28166908, -3.30592115, -3.33013189, -3.3543014 , -3.37842979,\n",
-       "       -3.40251722, -3.42656386, -3.45056991, -3.47453562, -3.49846126,\n",
-       "       -3.52234715, -3.54619364, -3.57000113, -3.59377005, -3.61750092,\n",
-       "       -3.64119426, -3.66485068, -3.68847086, -3.71205553, -3.73560548,\n",
-       "       -3.75912161, -3.78260489, -3.80605637, -3.82947723, -3.85286873,\n",
-       "       -3.87623226, -3.89956936, -3.92288168, -3.94617105, -3.96943947,\n",
-       "       -3.99268912, -4.01592242, -4.03914199, -4.06235073, -4.08555183,\n",
-       "       -4.10874879, -4.13194551, -4.15514625, -4.17835577, -4.20157933,\n",
-       "       -4.2248228 , -4.24809272, -4.2713964 , -4.29474206, -4.31813893,\n",
-       "       -4.34159746, -4.36512951, -4.38874856, -4.41247007, -4.43631182,\n",
-       "       -4.46029439, -4.48444172, -4.50878191, -4.53334814, -4.55817998,\n",
-       "       -4.58332498, -4.60884098, -4.63479915, -4.66128825, -4.68842081,\n",
-       "       -4.71634199, -4.7452432 , -4.77538326, -4.80712299, -4.84098468,\n",
-       "       -4.87776098, -4.91873117, -4.96614064, -5.02443531, -5.10428159,\n",
-       "       -5.24263186, -5.9750488 ,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan,         nan,         nan,         nan,         nan,\n",
-       "               nan])\n",
-       "Coordinates:\n",
-       "    id       int64 100\n",
-       "  * time     (time) float64 0.0 0.0006845 0.001369 ... 0.1492 0.1499 0.1506
" - ], - "text/plain": [ - "\n", - "array([ 0. , -0.02730963, -0.05461883, -0.08192718, -0.10923426,\n", - " -0.13653965, -0.16384292, -0.19114364, -0.21844141, -0.24573578,\n", - " -0.27302634, -0.30031266, -0.32759433, -0.35487091, -0.38214199,\n", - " -0.40940715, -0.43666596, -0.463918 , -0.49116285, -0.51840009,\n", - " -0.5456293 , -0.57285005, -0.60006193, -0.62726452, -0.6544574 ,\n", - " -0.68164014, -0.70881234, -0.73597358, -0.76312342, -0.79026147,\n", - " -0.8173873 , -0.8445005 , -0.87160064, -0.89868733, -0.92576014,\n", - " -0.95281866, -0.97986247, -1.00689117, -1.03390434, -1.06090158,\n", - " -1.08788246, -1.11484659, -1.14179356, -1.16872296, -1.19563437,\n", - " -1.22252741, -1.24940165, -1.27625671, -1.30309216, -1.32990762,\n", - " -1.35670269, -1.38347696, -1.41023003, -1.43696151, -1.463671 ,\n", - " -1.4903581 , -1.51702243, -1.54366359, -1.57028119, -1.59687484,\n", - " -1.62344416, -1.64998874, -1.67650822, -1.70300221, -1.72947032,\n", - " -1.75591217, -1.78232739, -1.8087156 , -1.83507643, -1.8614095 ,\n", - " -1.88771444, -1.91399088, -1.94023846, -1.96645681, -1.99264557,\n", - " -2.01880437, -2.04493287, -2.0710307 , -2.09709752, -2.12313297,\n", - " -2.1491367 , -2.17510838, -2.20104766, -2.2269542 , -2.25282767,\n", - " -2.27866774, -2.30447407, -2.33024634, -2.35598424, -2.38168744,\n", - " -2.40735563, -2.43298851, -2.45858576, -2.48414708, -2.50967219,\n", - " -2.53516079, -2.56061259, -2.58602731, -2.61140468, -2.63674443,\n", - "...\n", - " -3.28166908, -3.30592115, -3.33013189, -3.3543014 , -3.37842979,\n", - " -3.40251722, -3.42656386, -3.45056991, -3.47453562, -3.49846126,\n", - " -3.52234715, -3.54619364, -3.57000113, -3.59377005, -3.61750092,\n", - " -3.64119426, -3.66485068, -3.68847086, -3.71205553, -3.73560548,\n", - " -3.75912161, -3.78260489, -3.80605637, -3.82947723, -3.85286873,\n", - " -3.87623226, -3.89956936, -3.92288168, -3.94617105, -3.96943947,\n", - " -3.99268912, -4.01592242, -4.03914199, -4.06235073, -4.08555183,\n", - " -4.10874879, -4.13194551, -4.15514625, -4.17835577, -4.20157933,\n", - " -4.2248228 , -4.24809272, -4.2713964 , -4.29474206, -4.31813893,\n", - " -4.34159746, -4.36512951, -4.38874856, -4.41247007, -4.43631182,\n", - " -4.46029439, -4.48444172, -4.50878191, -4.53334814, -4.55817998,\n", - " -4.58332498, -4.60884098, -4.63479915, -4.66128825, -4.68842081,\n", - " -4.71634199, -4.7452432 , -4.77538326, -4.80712299, -4.84098468,\n", - " -4.87776098, -4.91873117, -4.96614064, -5.02443531, -5.10428159,\n", - " -5.24263186, -5.9750488 , nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan, nan, nan, nan, nan,\n", - " nan])\n", - "Coordinates:\n", - " id int64 100\n", - " * time (time) float64 0.0 0.0006845 0.001369 ... 0.1492 0.1499 0.1506" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "swiftersim.ds.sel(id=100)['vx']" - ] - }, { "cell_type": "code", "execution_count": null, diff --git a/examples/symba_swifter_comparison/1pl_1tp_encounter/init_cond.py b/examples/symba_swifter_comparison/1pl_1tp_encounter/init_cond.py index ac55abb2b..b516bda9c 100755 --- a/examples/symba_swifter_comparison/1pl_1tp_encounter/init_cond.py +++ b/examples/symba_swifter_comparison/1pl_1tp_encounter/init_cond.py @@ -59,7 +59,7 @@ p_tp = np.array([atp, 0.0, 0.0], dtype=np.double) v_tp = np.array([0.0, vtp, 0.0], dtype=np.double) -Rhill = np.double(apl * 0.0100447248332378922085) +rhill = np.double(apl * 0.0100447248332378922085) #Make Swifter files plfile = open(swifter_pl, 'w') @@ -67,7 +67,7 @@ print(1,GMSun,file=plfile) print('0.0 0.0 0.0',file=plfile) print('0.0 0.0 0.0',file=plfile) -print(plid,"{:.23g}".format(mass),Rhill, file=plfile) +print(plid,"{:.23g}".format(mass),rhill, file=plfile) print(radius, file=plfile) print(*p_pl, file=plfile) print(*v_pl, file=plfile) @@ -130,7 +130,7 @@ plfile.write_record(v_pl[1]) plfile.write_record(v_pl[2]) plfile.write_record(mass) -plfile.write_record(Rhill) +plfile.write_record(rhill) plfile.write_record(radius) plfile.close() tpfile = FortranFile(swiftest_tp, 'w') diff --git a/examples/symba_swifter_comparison/8pl_16tp_encounters/init_cond.py b/examples/symba_swifter_comparison/8pl_16tp_encounters/init_cond.py index 546dcbb88..7ab52fd23 100755 --- a/examples/symba_swifter_comparison/8pl_16tp_encounters/init_cond.py +++ b/examples/symba_swifter_comparison/8pl_16tp_encounters/init_cond.py @@ -85,16 +85,16 @@ for i in pl.id: pli = pl.sel(id=i) - rstart = 2 * np.double(pli['Radius']) # Start the test particles at a multiple of the planet radius away + rstart = 2 * np.double(pli['radius']) # Start the test particles at a multiple of the planet radius away vstart = 1.5 * np.sqrt(2 * np.double(pli['Mass']) / rstart) # Start the test particle velocities at a multiple of the escape speed xvstart = np.array([rstart / np.sqrt(2.0), rstart / np.sqrt(2.0), 0.0, vstart, 0.0, 0.0]) # The positions and velocities of each pair of test particles will be in reference to a planet - plvec = np.array([np.double(pli['px']), - np.double(pli['py']), - np.double(pli['pz']), - np.double(pli['vx']), - np.double(pli['vy']), - np.double(pli['vz'])]) + plvec = np.array([np.double(pli['xhx']), + np.double(pli['xhy']), + np.double(pli['xhz']), + np.double(pli['vhx']), + np.double(pli['vhy']), + np.double(pli['vhz'])]) tpxv1 = plvec + xvstart tpxv2 = plvec - xvstart p1.append(tpxv1[0]) diff --git a/examples/symba_swifter_comparison/8pl_16tp_encounters/swiftest_symba_vs_swifter_symba.ipynb b/examples/symba_swifter_comparison/8pl_16tp_encounters/swiftest_symba_vs_swifter_symba.ipynb index 76094351b..ca5040a17 100644 --- a/examples/symba_swifter_comparison/8pl_16tp_encounters/swiftest_symba_vs_swifter_symba.ipynb +++ b/examples/symba_swifter_comparison/8pl_16tp_encounters/swiftest_symba_vs_swifter_symba.ipynb @@ -163,7 +163,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -198,7 +198,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -587,28 +587,18 @@ " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", - "
<xarray.DataArray 'px' (id: 16)>\n",
-       "array([ 0.0000000e+00,  0.0000000e+00,  4.4408921e-16,  0.0000000e+00,\n",
-       "        0.0000000e+00, -4.4408921e-16,  4.4408921e-16,  0.0000000e+00,\n",
-       "        0.0000000e+00,  0.0000000e+00,  0.0000000e+00,  0.0000000e+00,\n",
-       "        0.0000000e+00,  0.0000000e+00,  0.0000000e+00,  0.0000000e+00])\n",
+       "
<xarray.DataArray 'px' (id: 8)>\n",
+       "array([0., 0., 0., 0., 0., 0., 0., 0.])\n",
        "Coordinates:\n",
-       "  * id       (id) int64 101 102 103 104 105 106 107 ... 111 112 113 114 115 116\n",
-       "    time     float64 110.0
" + " * id (id) int64 1 2 3 4 5 6 7 8\n", + " time float64 11.0
" ], "text/plain": [ - "\n", - "array([ 0.0000000e+00, 0.0000000e+00, 4.4408921e-16, 0.0000000e+00,\n", - " 0.0000000e+00, -4.4408921e-16, 4.4408921e-16, 0.0000000e+00,\n", - " 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,\n", - " 0.0000000e+00, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00])\n", + "\n", + "array([0., 0., 0., 0., 0., 0., 0., 0.])\n", "Coordinates:\n", - " * id (id) int64 101 102 103 104 105 106 107 ... 111 112 113 114 115 116\n", - " time float64 110.0" + " * id (id) int64 1 2 3 4 5 6 7 8\n", + " time float64 11.0" ] }, "execution_count": 13, @@ -617,7 +607,7 @@ } ], "source": [ - "swiftdiff['px'].sel(id=tpidx).isel(time=10)" + "swiftdiff['px'].sel(id=plidx).isel(time=1)" ] }, { diff --git a/examples/symba_swifter_comparison/mars_disk/cb.in b/examples/symba_swifter_comparison/mars_disk/cb.in new file mode 100644 index 000000000..c9dafacfd --- /dev/null +++ b/examples/symba_swifter_comparison/mars_disk/cb.in @@ -0,0 +1,7 @@ +0 ! id +4.28388662e+13 ! G*mass +3389500.0 ! radius +0.0 ! J2 +0.0 ! J4 +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot diff --git a/examples/symba_swifter_comparison/mars_disk/param.swifter.in b/examples/symba_swifter_comparison/mars_disk/param.swifter.in new file mode 100644 index 000000000..79e415a10 --- /dev/null +++ b/examples/symba_swifter_comparison/mars_disk/param.swifter.in @@ -0,0 +1,27 @@ +T0 0.0 +TSTOP 4200.0 +DT 600.0 +PL_IN pl.swifter.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 +ISTEP_DUMP 1 +BIN_OUT bin.swifter.dat +OUT_TYPE REAL8 +OUT_FORM XV +OUT_STAT UNKNOWN +J2 0.0 +J4 0.0 +CHK_CLOSE yes +CHK_RMIN 3389500.0 +CHK_RMAX 3389500000.0 +CHK_EJECT 3389500000.0 +CHK_QMIN 3389500.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE 3389500.0 338950000000.0 +ENC_OUT /dev/null +EXTRA_FORCE no +BIG_DISCARD no +RHILL_PRESENT yes +WALLTIME yes +ENERGY yes diff --git a/examples/symba_swifter_comparison/mars_disk/param.swiftest.in b/examples/symba_swifter_comparison/mars_disk/param.swiftest.in new file mode 100644 index 000000000..e36498f4b --- /dev/null +++ b/examples/symba_swifter_comparison/mars_disk/param.swiftest.in @@ -0,0 +1,33 @@ +!Parameter file for the SyMBA-RINGMOONS test +T0 0.0 +TSTOP 4200.0 +DT 600.0 +PL_IN pl.swiftest.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 +ISTEP_DUMP 1 +BIN_OUT bin.swiftest.dat +PARTICLE_OUT particle.dat +OUT_TYPE REAL8 +OUT_FORM XV +OUT_STAT REPLACE +CHK_CLOSE yes +CHK_RMIN 3389500.0 +CHK_RMAX 3389500000.0 +CHK_EJECT 3389500000.0 +CHK_QMIN 3389500.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE 3389500.0 338950000000.0 +EXTRA_FORCE no +BIG_DISCARD no +RHILL_PRESENT yes +GMTINY 1000.0 +ENERGY yes +ENERGY_OUT energy.dat +FRAGMENTATION yes +ROTATION yes +MU2KG 1.0 +DU2M 1.0 +TU2S 1.0 +SEED 2 3080983 2220830 diff --git a/examples/symba_swifter_comparison/mars_disk/pl.swifter.in b/examples/symba_swifter_comparison/mars_disk/pl.swifter.in new file mode 100644 index 000000000..4c31c52c1 --- /dev/null +++ b/examples/symba_swifter_comparison/mars_disk/pl.swifter.in @@ -0,0 +1,6004 @@ +1501 ! Mars System in SI units +1 4.28388662e+13 +.0 .0 .0 ! x y z +.0 .0 .0 !vx vy vz +727 1.71022032e+06 2.13948145e+04 ! particle number mass rhill +1.24108926e+04 !particle radius in m +-8.12608230e+06 -4.37306608e+06 -9.62736144e+03 ! x y z +9.87984575e+02 -1.88769371e+03 1.06882012e+01 ! vx vy vz +231 6.25152932e+05 1.58916481e+04 ! particle number mass rhill +8.87389776e+03 !particle radius in m +-8.21586374e+06 -4.28792953e+06 2.41010139e+04 ! x y z +1.01581225e+03 -1.90933511e+03 -2.60449634e+00 ! vx vy vz +2 9.90685589e+04 8.35558297e+03 ! particle number mass rhill +7.07643092e+03 !particle radius in m +-2.35807426e+06 8.60445552e+06 1.25224401e+04 ! x y z +-2.13373621e+03 -5.91159549e+02 -1.46482980e+00 ! vx vy vz +3 3.17438752e+04 6.69500494e+03 ! particle number mass rhill +4.84234399e+03 !particle radius in m +-8.01160007e+06 -6.93642997e+06 1.51456130e+04 ! x y z +1.31205897e+03 -1.53256580e+03 -1.41252951e-01 ! vx vy vz +4 3.98556011e+05 1.56022902e+04 ! particle number mass rhill +1.12546530e+04 !particle radius in m +8.10802666e+05 1.07743901e+07 2.02908991e+04 ! x y z +-1.97583939e+03 1.47020293e+02 2.81847341e-01 ! vx vy vz +5 1.44988335e+05 1.52187807e+04 ! particle number mass rhill +5.45209420e+03 !particle radius in m +1.19634122e+07 -8.10716246e+06 -5.95532256e+04 ! x y z +9.82512278e+02 1.42576317e+03 8.88854207e+00 ! vx vy vz +6 3.78500932e+05 1.43710361e+04 ! particle number mass rhill +7.50714229e+03 !particle radius in m +-9.39611249e+06 3.86341011e+06 4.12677461e+04 ! x y z +-8.05714130e+02 -1.87378063e+03 1.44571432e+01 ! vx vy vz +7 4.22792487e+05 1.91833939e+04 ! particle number mass rhill +7.78923399e+03 !particle radius in m +-4.75251420e+06 -1.21243281e+07 -4.63584868e+04 ! x y z +1.67483168e+03 -6.72935315e+02 -2.51894419e+00 ! vx vy vz +8 7.71745838e+05 2.46689817e+04 ! particle number mass rhill +9.51941869e+03 !particle radius in m +-1.85450966e+06 -1.34716389e+07 8.25492639e+04 ! x y z +1.75187299e+03 -2.73602528e+02 -3.13786565e+00 ! vx vy vz +9 9.61893115e+05 2.40394481e+04 ! particle number mass rhill +1.02445905e+04 !particle radius in m +1.23514674e+07 2.68920661e+05 1.39262437e+04 ! x y z +-5.46299990e+01 1.85637492e+03 8.88156878e+00 ! vx vy vz +10 9.05777402e+05 1.85084324e+04 ! particle number mass rhill +1.00413666e+04 !particle radius in m +-3.23931710e+06 -9.01689172e+06 -4.12799209e+04 ! x y z +2.01018172e+03 -6.80970287e+02 7.47887585e+00 ! vx vy vz +11 7.45490873e+05 1.85936744e+04 ! particle number mass rhill +9.41021993e+03 !particle radius in m +-8.22383274e+06 6.53912283e+06 -4.14927827e+04 ! x y z +-1.24361728e+03 -1.57101590e+03 1.15408315e+01 ! vx vy vz +12 1.62561944e+05 1.74719338e+04 ! particle number mass rhill +5.66402670e+03 !particle radius in m +1.08162501e+06 1.60434368e+07 -1.90513596e+05 ! x y z +-1.63320995e+03 9.41371249e+01 -1.08583324e+00 ! vx vy vz +13 2.53914705e+05 1.18629878e+04 ! particle number mass rhill +9.68422654e+03 !particle radius in m +8.87638562e+06 -3.42494393e+06 3.77051239e+04 ! x y z +7.17031490e+02 1.98991002e+03 1.65715407e+00 ! vx vy vz +14 4.49497062e+05 1.80709533e+04 ! particle number mass rhill +1.17150625e+04 !particle radius in m +8.43240423e+06 -8.47557599e+06 9.53685695e+04 ! x y z +1.37244856e+03 1.29766742e+03 6.52389482e-01 ! vx vy vz +15 1.26801801e+06 2.59747860e+04 ! particle number mass rhill +1.12329581e+04 !particle radius in m +9.22664947e+06 8.30989011e+06 -5.74831096e+04 ! x y z +-1.25111883e+03 1.34059241e+03 8.55955292e+00 ! vx vy vz +16 9.75352347e+05 2.91597894e+04 ! particle number mass rhill +1.02921516e+04 !particle radius in m +-4.08982641e+06 1.42813091e+07 2.62466604e+04 ! x y z +-1.63050329e+03 -4.70983328e+02 5.42658810e+00 ! vx vy vz +17 5.40910752e+04 7.00056187e+03 ! particle number mass rhill +3.92489041e+03 !particle radius in m +8.28836769e+06 -4.56966319e+06 -1.00925184e+04 ! x y z +1.01075458e+03 1.85603564e+03 9.12767608e-01 ! vx vy vz +18 1.99689612e+06 3.23933078e+04 ! particle number mass rhill +1.30688534e+04 !particle radius in m +-7.36104027e+06 -1.05891946e+07 7.75267384e+04 ! x y z +1.50650168e+03 -1.03626339e+03 6.92830281e+00 ! vx vy vz +19 1.15056094e+06 2.84099265e+04 ! particle number mass rhill +1.08748232e+04 !particle radius in m +-1.16432549e+07 7.04896042e+06 1.31826777e+04 ! x y z +-9.22639859e+02 -1.52066967e+03 -1.15982407e+01 ! vx vy vz +20 9.02282771e+04 1.44052969e+04 ! particle number mass rhill +4.65478777e+03 !particle radius in m +1.54278872e+07 -4.66477914e+06 2.89150511e+04 ! x y z +4.74802657e+02 1.56436208e+03 1.16558658e+00 ! vx vy vz +21 2.52706341e+05 1.13089015e+04 ! particle number mass rhill +6.56131734e+03 !particle radius in m +8.25405514e+06 -3.99894087e+06 -1.03017471e+05 ! x y z +9.55530709e+02 1.91876743e+03 -2.12478228e+01 ! vx vy vz +22 3.44014800e+05 1.39895248e+04 ! particle number mass rhill +7.27184654e+03 !particle radius in m +-1.01048660e+07 -7.25267430e+05 3.72763878e+04 ! x y z +1.50338830e+02 -2.04513843e+03 -6.64737882e+00 ! vx vy vz +23 2.72301402e+04 6.52734935e+03 ! particle number mass rhill +4.60100051e+03 !particle radius in m +1.08085981e+07 8.91343848e+05 -8.59837690e+04 ! x y z +-1.73598988e+02 1.98921090e+03 7.39675166e+00 ! vx vy vz +24 1.88387060e+06 4.79739567e+04 ! particle number mass rhill +1.28174811e+04 !particle radius in m +-1.95760874e+07 2.13874411e+06 9.87141675e+04 ! x y z +-1.78019032e+02 -1.46067517e+03 7.47552271e+00 ! vx vy vz +25 1.99552106e+06 3.51994254e+04 ! particle number mass rhill +1.30658530e+04 !particle radius in m +-5.15587895e+06 1.31093030e+07 2.34999443e+04 ! x y z +-1.60915655e+03 -6.75665775e+02 -1.41401807e-02 ! vx vy vz +26 9.80460627e+05 2.82973543e+04 ! particle number mass rhill +1.03100883e+04 !particle radius in m +-1.04206598e+07 1.04694469e+07 3.71773715e+04 ! x y z +-1.22193412e+03 -1.15184993e+03 -7.42970615e+00 ! vx vy vz +27 2.99657072e+05 1.52153060e+04 ! particle number mass rhill +1.02339628e+04 !particle radius in m +-8.37104048e+06 -7.31013791e+06 1.37822827e+05 ! x y z +1.31083458e+03 -1.50225202e+03 1.24188931e+01 ! vx vy vz +28 5.82137831e+05 2.49711445e+04 ! particle number mass rhill +8.66551286e+03 !particle radius in m +-1.37026179e+07 6.52187486e+06 4.74483726e+04 ! x y z +-7.21171063e+02 -1.51233609e+03 4.06777653e+00 ! vx vy vz +29 1.10612525e+06 1.96262714e+04 ! particle number mass rhill +1.07329828e+04 !particle radius in m +7.27063487e+05 9.63835599e+06 7.97365647e+04 ! x y z +-2.09031891e+03 1.45245810e+02 -8.30488647e+00 ! vx vy vz +30 7.84395275e+05 1.87003585e+04 ! particle number mass rhill +9.57114700e+03 !particle radius in m +7.25596696e+06 -7.23053656e+06 1.87472853e+03 ! x y z +1.43916819e+03 1.45132061e+03 9.58485615e+00 ! vx vy vz +31 6.50793385e+04 1.12167591e+04 ! particle number mass rhill +6.15153311e+03 !particle radius in m +-7.29036745e+06 1.20321492e+07 2.47342157e+04 ! x y z +-1.50263763e+03 -8.87670849e+02 -4.72544240e+00 ! vx vy vz +32 1.21978955e+06 2.36695934e+04 ! particle number mass rhill +1.10887000e+04 !particle radius in m +-4.85214384e+06 9.94913086e+06 -1.36593449e+05 ! x y z +-1.77462439e+03 -8.70796881e+02 -4.04772339e+00 ! vx vy vz +33 6.39027490e+04 8.29271375e+03 ! particle number mass rhill +6.11423561e+03 !particle radius in m +-8.57362843e+06 -5.69257679e+06 -1.86992418e+04 ! x y z +1.16808481e+03 -1.69357760e+03 1.48289207e-01 ! vx vy vz +34 1.08790745e+05 9.99433624e+03 ! particle number mass rhill +4.95430775e+03 !particle radius in m +-1.19543227e+04 1.04662309e+07 -2.75529146e+04 ! x y z +-2.03252516e+03 -1.02408335e+01 -9.64298816e+00 ! vx vy vz +35 8.08651729e+05 1.70555918e+04 ! particle number mass rhill +9.66880578e+03 !particle radius in m +-1.68361528e+06 9.15840339e+06 -9.34661786e+04 ! x y z +-2.10432868e+03 -3.67110160e+02 2.17992849e+01 ! vx vy vz +36 5.50682707e+05 1.64680955e+04 ! particle number mass rhill +8.50653728e+03 !particle radius in m +7.61819019e+06 6.79194080e+06 -4.97100639e+04 ! x y z +-1.37259731e+03 1.51157244e+03 2.28319862e+01 ! vx vy vz +37 1.31696234e+06 2.34161781e+04 ! particle number mass rhill +1.13756647e+04 !particle radius in m +-8.27002578e+05 -1.07584936e+07 -8.18905340e+04 ! x y z +1.98624835e+03 -1.45613526e+02 -2.22634090e+00 ! vx vy vz +38 1.67567536e+06 4.67762262e+04 ! particle number mass rhill +1.23267605e+04 !particle radius in m +8.40661307e+06 -1.79965632e+07 -1.83341147e+05 ! x y z +1.32267980e+03 6.38873327e+02 -4.32228630e+00 ! vx vy vz +39 7.50288390e+05 1.88489715e+04 ! particle number mass rhill +9.43036290e+03 !particle radius in m +7.47325276e+06 7.65731082e+06 2.72651622e+04 ! x y z +-1.39038210e+03 1.40779235e+03 -7.40097961e+00 ! vx vy vz +40 4.23539126e+05 1.37958364e+04 ! particle number mass rhill +7.79381648e+03 !particle radius in m +-9.14822275e+06 5.65579867e+05 1.54779239e+04 ! x y z +-1.53215921e+02 -2.16863876e+03 -1.41098203e+01 ! vx vy vz +41 4.39861439e+05 1.66151277e+04 ! particle number mass rhill +1.16307473e+04 !particle radius in m +-5.60611609e+06 9.45764489e+06 -1.08254759e+05 ! x y z +-1.70147881e+03 -1.00583116e+03 -1.54758662e+01 ! vx vy vz +42 9.44211643e+05 3.38129666e+04 ! particle number mass rhill +1.01814300e+04 !particle radius in m +-1.66612775e+07 5.22172921e+06 -2.86187005e+04 ! x y z +-4.30163112e+02 -1.50298858e+03 1.29664314e+00 ! vx vy vz +43 5.37130817e+05 1.63663901e+04 ! particle number mass rhill +1.24316568e+04 !particle radius in m +3.27505920e+06 -9.55860249e+06 -5.64452508e+04 ! x y z +1.95132421e+03 6.74732817e+02 -1.39202732e+01 ! vx vy vz +44 5.34406540e+04 6.72719292e+03 ! particle number mass rhill +3.90909524e+03 !particle radius in m +1.52951536e+06 -8.90157648e+06 -8.46439916e+04 ! x y z +2.14907459e+03 3.37495875e+02 -8.51148141e+00 ! vx vy vz +45 2.61985808e+04 5.30869821e+03 ! particle number mass rhill +4.54215111e+03 !particle radius in m +8.06820634e+06 -4.23727397e+06 -3.35114261e+04 ! x y z +1.02022988e+03 1.90034431e+03 -4.99905529e+00 ! vx vy vz +46 1.73774454e+05 1.01624840e+04 ! particle number mass rhill +8.53422917e+03 !particle radius in m +-8.77755612e+06 2.67256349e+06 2.67913370e+04 ! x y z +-6.14674972e+02 -2.07327300e+03 8.52604410e+00 ! vx vy vz +47 3.73597392e+05 1.46814986e+04 ! particle number mass rhill +1.10146390e+04 !particle radius in m +2.70600522e+06 -9.90290693e+06 3.76996678e+04 ! x y z +1.96230063e+03 5.74973963e+02 -1.26240524e+01 ! vx vy vz +48 8.11545355e+04 7.79257078e+03 ! particle number mass rhill +6.62124902e+03 !particle radius in m +-6.67312956e+06 6.21207172e+06 -4.02351915e+03 ! x y z +-1.48608180e+03 -1.57249051e+03 1.60424143e+00 ! vx vy vz +49 4.45404571e+04 7.26261410e+03 ! particle number mass rhill +5.42109743e+03 !particle radius in m +-6.18076768e+06 8.34028857e+06 6.32429656e+04 ! x y z +-1.63237248e+03 -1.20222734e+03 4.88968977e+00 ! vx vy vz +50 1.31861988e+06 3.91995883e+04 ! particle number mass rhill +1.13804352e+04 !particle radius in m +5.85188296e+06 1.72848338e+07 9.71123353e+04 ! x y z +-1.44962394e+03 4.67717479e+02 -1.00039018e+01 ! vx vy vz +51 1.12893377e+05 1.01290663e+04 ! particle number mass rhill +5.01581856e+03 !particle radius in m +7.64956565e+06 7.07155375e+06 1.22619349e+05 ! x y z +-1.38177043e+03 1.50469594e+03 5.48084097e+00 ! vx vy vz +52 1.68334006e+04 5.06310814e+03 ! particle number mass rhill +3.91946036e+03 !particle radius in m +8.19731246e+06 5.46984950e+06 3.09134904e+04 ! x y z +-1.14400536e+03 1.75729614e+03 -1.68472307e+01 ! vx vy vz +53 1.54365101e+05 1.04942587e+04 ! particle number mass rhill +5.56718137e+03 !particle radius in m +-7.08694323e+06 6.97654393e+06 1.57444613e+04 ! x y z +-1.43699629e+03 -1.48696944e+03 1.09569025e+01 ! vx vy vz +54 9.06762984e+05 1.88988951e+04 ! particle number mass rhill +1.00450073e+04 !particle radius in m +8.33364079e+06 -4.88517773e+06 7.16288059e+04 ! x y z +1.11170923e+03 1.81264092e+03 6.00546346e-01 ! vx vy vz +55 2.55655491e+05 1.62270080e+04 ! particle number mass rhill +6.58674280e+03 !particle radius in m +-9.33769960e+06 9.14931622e+06 -1.61970964e+04 ! x y z +-1.24590275e+03 -1.29664452e+03 6.60457748e+00 ! vx vy vz +56 1.99590731e+05 1.09981608e+04 ! particle number mass rhill +8.93749433e+03 !particle radius in m +-9.38351744e+06 2.21172448e+06 -6.82548828e+04 ! x y z +-4.82800182e+02 -2.03545597e+03 -5.73581498e+00 ! vx vy vz +57 7.37782104e+04 7.34813900e+03 ! particle number mass rhill +4.35272973e+03 !particle radius in m +1.87895940e+06 -8.56248718e+06 -3.00496615e+04 ! x y z +2.17444079e+03 4.47176832e+02 -1.19261276e+01 ! vx vy vz +58 1.25041873e+06 2.28348345e+04 ! particle number mass rhill +1.11807470e+04 !particle radius in m +8.32914883e+06 6.99509139e+06 3.96475596e+03 ! x y z +-1.25015649e+03 1.51958279e+03 -4.03731794e+00 ! vx vy vz +59 1.37171779e+05 1.41766211e+04 ! particle number mass rhill +5.35230171e+03 !particle radius in m +1.40169380e+07 1.14833336e+06 8.97154952e+04 ! x y z +-1.67134532e+02 1.72504621e+03 -4.99628204e+00 ! vx vy vz +60 8.80288489e+05 1.70052916e+04 ! particle number mass rhill +9.94627977e+03 !particle radius in m +6.25929466e+06 6.41436879e+06 2.03611835e+04 ! x y z +-1.56963361e+03 1.52043093e+03 1.04032604e+01 ! vx vy vz +61 1.96125392e+06 2.29947859e+04 ! particle number mass rhill +1.29906317e+04 !particle radius in m +6.59380692e+06 6.26136699e+06 5.26920752e+02 ! x y z +-1.52860150e+03 1.56995044e+03 -5.04992194e+00 ! vx vy vz +62 1.49347785e+05 9.80816768e+03 ! particle number mass rhill +5.50619929e+03 !particle radius in m +-3.18458810e+06 8.95887994e+06 6.14079574e+04 ! x y z +-1.98254651e+03 -6.98894893e+02 -6.28253660e-01 ! vx vy vz +63 8.45892929e+05 1.77429946e+04 ! particle number mass rhill +9.81501110e+03 !particle radius in m +3.21556801e+06 8.85736420e+06 1.68758030e+04 ! x y z +-2.01862696e+03 7.01940495e+02 -7.77962553e+00 ! vx vy vz +64 3.38627248e+05 2.06919676e+04 ! particle number mass rhill +7.23368562e+03 !particle radius in m +6.87944610e+06 1.31239767e+07 8.47895296e+04 ! x y z +-1.52033935e+03 7.81668854e+02 8.53929151e+00 ! vx vy vz +65 7.52641233e+04 8.62006715e+03 ! particle number mass rhill +4.38175744e+03 !particle radius in m +-7.12317437e+06 7.79679451e+06 1.14295538e+05 ! x y z +-1.45772671e+03 -1.35257658e+03 -8.92909999e+00 ! vx vy vz +66 7.51283556e+04 7.45534608e+03 ! particle number mass rhill +6.45312806e+03 !particle radius in m +-7.50346488e+06 4.59614758e+06 -1.78561776e+04 ! x y z +-1.17484683e+03 -1.88471092e+03 2.06051741e+00 ! vx vy vz +67 3.58863940e+04 7.06699862e+03 ! particle number mass rhill +5.04443190e+03 !particle radius in m +-9.72849273e+06 -4.49090647e+06 9.42367849e+04 ! x y z +8.55743475e+02 -1.81695360e+03 -2.08602456e+00 ! vx vy vz +68 5.39050973e+05 1.89939454e+04 ! particle number mass rhill +1.24464529e+04 !particle radius in m +-9.38461254e+06 6.94991468e+06 -5.96507119e+04 ! x y z +-1.15295098e+03 -1.53950357e+03 3.51558529e+00 ! vx vy vz +69 5.55731862e+05 1.63025647e+04 ! particle number mass rhill +1.25735358e+04 !particle radius in m +-7.41691843e+05 -1.00833740e+07 -5.60539800e+04 ! x y z +2.04132497e+03 -1.60740204e+02 -2.66722707e+00 ! vx vy vz +70 1.85893859e+05 1.93787863e+04 ! particle number mass rhill +8.72818623e+03 !particle radius in m +-1.55585013e+07 -7.11561291e+06 3.93194543e+03 ! x y z +6.65437196e+02 -1.43702009e+03 -7.23293961e+00 ! vx vy vz +71 4.73221481e+05 1.37788592e+04 ! particle number mass rhill +8.08736691e+03 !particle radius in m +-3.34597213e+06 -8.19414991e+06 6.06177774e+04 ! x y z +2.03861032e+03 -8.50240184e+02 5.81078899e+00 ! vx vy vz +72 4.28389242e+05 1.47467226e+04 ! particle number mass rhill +1.15287399e+04 !particle radius in m +1.97016279e+06 -9.71556312e+06 -9.30987397e+03 ! x y z +2.03815672e+03 3.86141142e+02 -6.70148607e+00 ! vx vy vz +73 8.19004993e+05 3.14203696e+04 ! particle number mass rhill +9.70989454e+03 !particle radius in m +-1.23610305e+07 -1.14674155e+07 1.26044785e+04 ! x y z +1.08318223e+03 -1.17487397e+03 -3.70767753e+00 ! vx vy vz +74 3.22247799e+04 9.40603276e+03 ! particle number mass rhill +4.86667460e+03 !particle radius in m +6.60995348e+06 1.33054967e+07 -1.05591305e+03 ! x y z +-1.53012251e+03 7.44076876e+02 -1.33826451e+00 ! vx vy vz +75 9.47076576e+05 1.85861891e+04 ! particle number mass rhill +1.01917171e+04 !particle radius in m +7.08025559e+06 6.63712140e+06 8.28590703e+04 ! x y z +-1.43411418e+03 1.51197736e+03 -1.05467488e+01 ! vx vy vz +76 2.03239039e+05 1.20174065e+04 ! particle number mass rhill +8.99162185e+03 !particle radius in m +-7.28273678e+06 -7.57343022e+06 -3.32239292e+04 ! x y z +1.43763945e+03 -1.39069870e+03 1.98407302e+01 ! vx vy vz +77 9.88331069e+05 1.79814862e+04 ! particle number mass rhill +1.03376021e+04 !particle radius in m +9.90338765e+05 -9.02823668e+06 -1.20306983e+04 ! x y z +2.16293198e+03 2.29403632e+02 1.02563280e+00 ! vx vy vz +78 1.34673785e+06 2.07165732e+04 ! particle number mass rhill +1.14607582e+04 !particle radius in m +7.24980777e+06 6.13973485e+06 4.31080507e+04 ! x y z +-1.36304394e+03 1.62331327e+03 -1.35525280e+01 ! vx vy vz +79 1.57656876e+05 1.82922097e+04 ! particle number mass rhill +5.60647602e+03 !particle radius in m +1.67269227e+07 2.38546079e+06 3.97527319e+04 ! x y z +-2.22376967e+02 1.58567381e+03 -8.67277559e-01 ! vx vy vz +80 1.28010472e+05 1.07789892e+04 ! particle number mass rhill +5.23039108e+03 !particle radius in m +1.04063991e+07 -2.47414364e+06 2.55875518e+04 ! x y z +4.41751921e+02 1.96103152e+03 -4.73452379e+00 ! vx vy vz +81 8.50795985e+05 2.19859152e+04 ! particle number mass rhill +9.83393818e+03 !particle radius in m +6.53964743e+06 -9.91913737e+06 9.96407478e+04 ! x y z +1.55366935e+03 1.06687009e+03 -2.02851694e+01 ! vx vy vz +82 8.53308237e+04 7.87999685e+03 ! particle number mass rhill +6.73293314e+03 !particle radius in m +7.88901212e+06 4.39968813e+06 4.59555939e+04 ! x y z +-1.07086350e+03 1.89616918e+03 7.27266270e-01 ! vx vy vz +83 1.65011172e+06 2.23190317e+04 ! particle number mass rhill +1.22637545e+04 !particle radius in m +-3.20114591e+05 9.47888835e+06 9.88766449e+03 ! x y z +-2.12931637e+03 -7.10990071e+01 1.07017003e+01 ! vx vy vz +84 9.21412796e+04 1.13373705e+04 ! particle number mass rhill +6.90749219e+03 !particle radius in m +9.14219160e+06 8.75278019e+06 -4.92172540e+04 ! x y z +-1.29548970e+03 1.30726587e+03 -1.50278883e+01 ! vx vy vz +85 5.44801725e+05 2.52683195e+04 ! particle number mass rhill +8.47614716e+03 !particle radius in m +-1.38612397e+07 6.86502447e+06 -1.61982632e+04 ! x y z +-7.48338598e+02 -1.49504839e+03 1.44565317e-01 ! vx vy vz +86 1.69208498e+05 1.34853045e+04 ! particle number mass rhill +5.74019158e+03 !particle radius in m +1.25478256e+07 -2.77052958e+05 1.12717341e+03 ! x y z +4.85806635e+01 1.82811230e+03 -1.79057921e+01 ! vx vy vz +87 4.14083301e+04 7.99285727e+03 ! particle number mass rhill +5.29092447e+03 !particle radius in m +1.40993545e+06 1.16245820e+07 -3.61782966e+04 ! x y z +-1.89457813e+03 2.30174579e+02 1.28253693e+00 ! vx vy vz +88 2.73242366e+05 1.69259201e+04 ! particle number mass rhill +9.92395993e+03 !particle radius in m +1.00651315e+07 -8.63755855e+06 -2.94583233e+04 ! x y z +1.16408014e+03 1.36020820e+03 -5.13543123e+00 ! vx vy vz +89 1.56636842e+06 2.89028940e+04 ! particle number mass rhill +1.20526803e+04 !particle radius in m +2.98890445e+06 1.22541433e+07 2.56056735e+04 ! x y z +-1.78538758e+03 4.40494099e+02 -2.21749367e+00 ! vx vy vz +90 7.41360614e+04 8.74086990e+03 ! particle number mass rhill +4.35975582e+03 !particle radius in m +5.19540663e+06 -9.11850659e+06 6.55061213e+04 ! x y z +1.75856318e+03 9.95618038e+02 1.03697665e+01 ! vx vy vz +91 1.42161293e+05 1.27069754e+04 ! particle number mass rhill +5.41642563e+03 !particle radius in m +4.97139511e+06 -1.11941305e+07 -1.40627719e+05 ! x y z +1.71256583e+03 7.58315920e+02 -4.27199322e+00 ! vx vy vz +92 9.13995149e+04 1.13361519e+04 ! particle number mass rhill +6.88890644e+03 !particle radius in m +1.25156536e+07 -1.83009831e+06 -1.83401376e+04 ! x y z +2.71538728e+02 1.82389745e+03 -1.16128548e+01 ! vx vy vz +93 1.07044868e+05 1.17021442e+04 ! particle number mass rhill +4.92766241e+03 !particle radius in m +-4.24848440e+06 -1.14141124e+07 -3.56440379e+04 ! x y z +1.77145707e+03 -6.72445172e+02 -1.27477365e+01 ! vx vy vz +94 3.76989280e+04 5.87655474e+03 ! particle number mass rhill +5.12796820e+03 !particle radius in m +-2.67257221e+06 8.24864699e+06 -3.60351703e+04 ! x y z +-2.13740103e+03 -6.84795253e+02 -6.19432137e+00 ! vx vy vz +95 5.61798767e+04 1.27352327e+04 ! particle number mass rhill +3.97477538e+03 !particle radius in m +3.38794467e+06 -1.65102444e+07 1.31352407e+05 ! x y z +1.55800648e+03 3.20903339e+02 1.95779030e-01 ! vx vy vz +96 1.57775071e+05 1.10562884e+04 ! particle number mass rhill +5.60787672e+03 !particle radius in m +3.25966423e+06 9.75900867e+06 3.76712868e+04 ! x y z +-1.92824453e+03 6.78004645e+02 2.13894611e+01 ! vx vy vz +97 1.13795601e+05 8.57940062e+03 ! particle number mass rhill +5.02914497e+03 !particle radius in m +-8.82496169e+06 1.17570086e+06 -2.77994253e+03 ! x y z +-3.06986654e+02 -2.17589269e+03 -3.00417185e+00 ! vx vy vz +98 1.79190724e+06 2.82629939e+04 ! particle number mass rhill +1.26054254e+04 !particle radius in m +-8.96181392e+06 -8.08537511e+06 -9.49567974e+03 ! x y z +1.24755669e+03 -1.37614946e+03 4.00147116e+00 ! vx vy vz +99 5.03967422e+04 7.85179385e+03 ! particle number mass rhill +3.83342071e+03 !particle radius in m +1.05138352e+07 -2.53028835e+06 -2.47118873e+04 ! x y z +4.70010064e+02 1.92569661e+03 -1.14250111e+01 ! vx vy vz +100 1.70139143e+06 2.25402503e+04 ! particle number mass rhill +1.23894990e+04 !particle radius in m +-8.86717935e+06 -3.01884801e+06 5.43577921e+03 ! x y z +6.99055272e+02 -2.04010264e+03 8.96596820e+00 ! vx vy vz +101 1.45480563e+05 1.54210016e+04 ! particle number mass rhill +8.04335643e+03 !particle radius in m +1.42373839e+07 3.02611132e+06 -1.43164181e+04 ! x y z +-4.03733107e+02 1.68169148e+03 7.10932541e+00 ! vx vy vz +102 6.69285233e+05 1.80640179e+04 ! particle number mass rhill +9.07798396e+03 !particle radius in m +-6.09504895e+06 8.50655715e+06 -5.34991934e+04 ! x y z +-1.62687481e+03 -1.19574157e+03 5.21976127e+00 ! vx vy vz +103 5.54045810e+04 7.41916597e+03 ! particle number mass rhill +3.95640633e+03 !particle radius in m +3.72306724e+06 9.02743458e+06 4.19786502e+04 ! x y z +-1.94834474e+03 7.84745897e+02 -7.86691937e+00 ! vx vy vz +104 3.37361939e+05 1.43866451e+04 ! particle number mass rhill +1.06463568e+04 !particle radius in m +5.64202715e+06 -8.82003156e+06 9.37432782e+03 ! x y z +1.69914027e+03 1.09005087e+03 8.81006839e+00 ! vx vy vz +105 5.14662528e+04 8.81661114e+03 ! particle number mass rhill +5.68865819e+03 !particle radius in m +-1.08304546e+07 -5.16566260e+06 -4.58380354e+04 ! x y z +8.08725156e+02 -1.70426515e+03 -1.40809084e+01 ! vx vy vz +106 3.39041970e+05 1.37464490e+04 ! particle number mass rhill +1.06640002e+04 !particle radius in m +9.97312286e+06 -1.70160094e+06 4.10359397e+04 ! x y z +3.34859938e+02 2.01251950e+03 -1.05202781e+00 ! vx vy vz +107 1.35309181e+05 1.06647393e+04 ! particle number mass rhill +7.85135736e+03 !particle radius in m +7.03958663e+06 7.71716479e+06 -8.94733922e+03 ! x y z +-1.49839830e+03 1.36772144e+03 -1.09915777e+00 ! vx vy vz +108 1.53942820e+04 6.17971607e+03 ! particle number mass rhill +3.80442303e+03 !particle radius in m +1.15617458e+07 -4.37264141e+06 4.98550747e+04 ! x y z +6.45606485e+02 1.75989881e+03 1.00504151e+00 ! vx vy vz +109 1.20359498e+05 1.03531982e+04 ! particle number mass rhill +7.55084889e+03 !particle radius in m +6.33009492e+06 8.26456632e+06 4.39267321e+04 ! x y z +-1.63555236e+03 1.22749817e+03 -2.79591207e+00 ! vx vy vz +110 4.02306238e+04 1.19594172e+04 ! particle number mass rhill +5.24028103e+03 !particle radius in m +-1.23116789e+06 -1.76328069e+07 4.15688915e+04 ! x y z +1.54978172e+03 -1.14789962e+02 3.52623567e+00 ! vx vy vz +111 1.16809933e+06 1.85947433e+04 ! particle number mass rhill +1.09298010e+04 !particle radius in m +5.03800785e+06 7.38464714e+06 6.56936601e+04 ! x y z +-1.79789878e+03 1.24241563e+03 -1.87814487e+00 ! vx vy vz +112 2.13493317e+04 6.39192868e+03 ! particle number mass rhill +4.24258369e+03 !particle radius in m +-1.16819556e+07 2.21702225e+06 -1.76770966e+03 ! x y z +-3.36108070e+02 -1.84613620e+03 1.27905806e+01 ! vx vy vz +113 3.22629364e+05 1.43521784e+04 ! particle number mass rhill +1.04890693e+04 !particle radius in m +1.00037167e+07 3.61161669e+06 -5.98746596e+04 ! x y z +-7.04121449e+02 1.87165808e+03 1.87226479e-01 ! vx vy vz +114 8.52184752e+04 7.73707972e+03 ! particle number mass rhill +6.72997694e+03 !particle radius in m +-8.02245740e+06 -4.15017483e+06 1.94427373e+04 ! x y z +9.95701473e+02 -1.91465293e+03 9.55414968e+00 ! vx vy vz +115 7.51189622e+04 7.51337067e+03 ! particle number mass rhill +4.37893861e+03 !particle radius in m +-4.99256633e+06 7.35143538e+06 -6.25201967e+04 ! x y z +-1.82686822e+03 -1.23953720e+03 -3.37208923e+00 ! vx vy vz +116 8.34114020e+05 1.81150613e+04 ! particle number mass rhill +9.76924055e+03 !particle radius in m +-2.12824530e+06 9.48297181e+06 4.56720468e+03 ! x y z +-2.04325211e+03 -4.78944866e+02 1.39609484e+01 ! vx vy vz +117 1.95998225e+04 8.19893214e+03 ! particle number mass rhill +4.12337692e+03 !particle radius in m +-1.42745447e+07 -5.79867689e+06 -1.70313904e+04 ! x y z +6.32626042e+02 -1.53908540e+03 1.67461109e+01 ! vx vy vz +118 6.08576822e+05 1.79320915e+04 ! particle number mass rhill +8.79476284e+03 !particle radius in m +3.38987773e+06 1.01890371e+07 3.97150856e+04 ! x y z +-1.89204657e+03 6.21657437e+02 -2.83215087e+01 ! vx vy vz +119 1.01047065e+05 1.52544192e+04 ! particle number mass rhill +4.83385440e+03 !particle radius in m +1.36440026e+07 -9.23862046e+06 -5.31108803e+04 ! x y z +9.02323684e+02 1.33920162e+03 1.66233464e+00 ! vx vy vz +120 4.81434848e+05 2.46431320e+04 ! particle number mass rhill +8.13388768e+03 !particle radius in m +-3.69977113e+06 -1.52467920e+07 -1.34829610e+05 ! x y z +1.61925599e+03 -3.72623284e+02 7.50289619e+00 ! vx vy vz +121 2.29549348e+05 2.35874873e+04 ! particle number mass rhill +9.36399150e+03 !particle radius in m +1.82794011e+07 6.84958710e+06 1.41781869e+04 ! x y z +-5.47821288e+02 1.37308430e+03 -7.00506636e+00 ! vx vy vz +122 8.52767653e+04 1.58219602e+04 ! particle number mass rhill +4.56803304e+03 !particle radius in m +1.18968647e+07 1.33707826e+07 -1.11221176e+05 ! x y z +-1.16553280e+03 1.03288779e+03 1.42253495e+01 ! vx vy vz +123 2.86399056e+04 1.20730103e+04 ! particle number mass rhill +4.67906973e+03 !particle radius in m +-1.96455999e+07 -2.60429318e+06 -9.25749294e+04 ! x y z +1.97567654e+02 -1.46047680e+03 3.96763228e+00 ! vx vy vz +124 3.14094760e+05 1.35352736e+04 ! particle number mass rhill +7.05460271e+03 !particle radius in m +-2.68241356e+06 9.67860718e+06 -3.52723705e+04 ! x y z +-1.98385491e+03 -5.75973374e+02 4.82531781e+00 ! vx vy vz +125 3.55357461e+05 1.52795593e+04 ! particle number mass rhill +7.35090499e+03 !particle radius in m +-1.66338998e+06 1.06654130e+07 -1.15436526e+05 ! x y z +-1.97394994e+03 -3.24337570e+02 1.49148403e+00 ! vx vy vz +126 1.38842935e+06 1.99818510e+04 ! particle number mass rhill +1.15778235e+04 !particle radius in m +5.73133232e+06 -6.88742280e+06 -9.91791004e+03 ! x y z +1.69108314e+03 1.40100447e+03 8.39576992e+00 ! vx vy vz +127 8.28665485e+05 3.13608293e+04 ! particle number mass rhill +9.74792278e+03 !particle radius in m +1.16505540e+07 1.24190497e+07 3.29845083e+04 ! x y z +-1.14848373e+03 1.08164128e+03 1.94732937e-01 ! vx vy vz +128 1.54764054e+05 1.01037906e+04 ! particle number mass rhill +5.57197333e+03 !particle radius in m +-9.45920013e+06 -1.21129886e+06 4.53752885e+04 ! x y z +2.60756743e+02 -2.09880469e+03 -1.84679906e+01 ! vx vy vz +129 6.02399124e+05 1.62531984e+04 ! particle number mass rhill +1.29160713e+04 !particle radius in m +8.30827394e+06 4.94291767e+06 9.57082698e+03 ! x y z +-1.06905700e+03 1.81887550e+03 -1.59783959e+01 ! vx vy vz +130 2.22342896e+05 1.18675483e+04 ! particle number mass rhill +6.28724063e+03 !particle radius in m +9.92654375e+06 -1.39802998e+06 4.49817877e+02 ! x y z +2.59014431e+02 2.03619473e+03 -1.49038139e+01 ! vx vy vz +131 1.76284582e+04 5.29944629e+03 ! particle number mass rhill +3.98022020e+03 !particle radius in m +2.81061041e+06 9.89835484e+06 -9.78582159e+04 ! x y z +-1.95518409e+03 5.78271402e+02 1.18622238e+01 ! vx vy vz +132 5.38538955e+04 8.44113186e+03 ! particle number mass rhill +5.77530198e+03 !particle radius in m +-5.58547024e+06 -9.86469957e+06 6.83294173e+04 ! x y z +1.69539459e+03 -9.41024851e+02 -1.14165406e+01 ! vx vy vz +133 2.20314045e+05 1.27238656e+04 ! particle number mass rhill +6.26805874e+03 !particle radius in m +8.08999866e+06 6.84273025e+06 1.04867849e+03 ! x y z +-1.27946500e+03 1.55545684e+03 8.91891880e+00 ! vx vy vz +134 8.27723183e+05 1.98929693e+04 ! particle number mass rhill +9.74422649e+03 !particle radius in m +9.18575665e+06 -5.49644544e+06 -5.52894905e+03 ! x y z +1.01968981e+03 1.71970787e+03 -3.39617822e-01 ! vx vy vz +135 2.27994929e+04 5.23645068e+03 ! particle number mass rhill +4.33654694e+03 !particle radius in m +1.80833036e+06 -9.23065450e+06 4.90226701e+04 ! x y z +2.08275022e+03 4.17014758e+02 6.63087350e+00 ! vx vy vz +136 2.58206907e+05 1.51042021e+04 ! particle number mass rhill +6.60858198e+03 !particle radius in m +1.18507627e+07 2.26553726e+06 2.21133096e+03 ! x y z +-3.50610095e+02 1.84373395e+03 -2.60885445e-01 ! vx vy vz +137 1.01432201e+05 2.15204041e+04 ! particle number mass rhill +7.13226721e+03 !particle radius in m +2.21659927e+07 -6.92493598e+06 -4.28421451e+04 ! x y z +4.19436458e+02 1.29376942e+03 -6.14053149e+00 ! vx vy vz +138 1.48483324e+05 1.01288412e+04 ! particle number mass rhill +8.09831906e+03 !particle radius in m +-6.92437867e+06 -6.69629009e+06 -5.72228921e+04 ! x y z +1.49689718e+03 -1.48846576e+03 -1.37808252e+01 ! vx vy vz +139 9.42427088e+05 1.92839992e+04 ! particle number mass rhill +1.01750117e+04 !particle radius in m +-6.66985595e+06 -7.23797041e+06 -1.53286702e+04 ! x y z +1.53320998e+03 -1.42766264e+03 2.90451170e+00 ! vx vy vz +140 5.54442544e+05 1.45796646e+04 ! particle number mass rhill +1.25638046e+04 !particle radius in m +-8.86868024e+06 7.20105731e+05 -2.22950048e+03 ! x y z +-1.95841451e+02 -2.19258513e+03 -3.67523850e-01 ! vx vy vz +141 1.55124183e+06 2.70665333e+04 ! particle number mass rhill +1.20137567e+04 !particle radius in m +5.67690574e+06 -1.03162373e+07 -9.41350622e+04 ! x y z +1.67246075e+03 9.20785969e+02 -1.99251255e+01 ! vx vy vz +142 1.28173318e+05 1.54093909e+04 ! particle number mass rhill +5.23260806e+03 !particle radius in m +5.50551593e+06 -1.45584653e+07 5.27718687e+04 ! x y z +1.54616130e+03 5.79954533e+02 7.51811204e+00 ! vx vy vz +143 1.57882645e+06 2.19970603e+04 ! particle number mass rhill +1.20845494e+04 !particle radius in m +-3.47796098e+06 -8.90927004e+06 9.65028764e+03 ! x y z +1.97386652e+03 -7.53987246e+02 -3.28779531e+00 ! vx vy vz +144 1.29809111e+05 9.78824459e+03 ! particle number mass rhill +7.74350141e+03 !particle radius in m +7.74574172e+06 5.95714791e+06 -1.05471596e+04 ! x y z +-1.25035431e+03 1.67733844e+03 -1.65757527e+00 ! vx vy vz +145 6.10792333e+04 1.61950813e+04 ! particle number mass rhill +4.08711498e+03 !particle radius in m +-1.98199827e+07 7.29300766e+06 -1.29061581e+05 ! x y z +-4.89201522e+02 -1.32406236e+03 8.40261667e+00 ! vx vy vz +146 8.14321833e+05 3.15390616e+04 ! particle number mass rhill +9.69135174e+03 !particle radius in m +1.13588614e+07 1.27104515e+07 1.21608339e+05 ! x y z +-1.17212059e+03 1.06703576e+03 1.25962854e+01 ! vx vy vz +147 1.12573910e+06 1.92039195e+04 ! particle number mass rhill +1.07960507e+04 !particle radius in m +-6.88558621e+06 6.34193128e+06 -5.71723545e+04 ! x y z +-1.41834644e+03 -1.59442296e+03 3.00905420e+00 ! vx vy vz +148 5.89994915e+04 1.23743739e+04 ! particle number mass rhill +5.95367439e+03 !particle radius in m +2.58947797e+06 1.59613455e+07 1.59042158e+05 ! x y z +-1.60287570e+03 2.41814174e+02 -1.67580989e+00 ! vx vy vz +149 1.61092891e+05 1.43346162e+04 ! particle number mass rhill +5.64691333e+03 !particle radius in m +1.27274825e+07 3.00655471e+06 8.98397391e+03 ! x y z +-4.31699175e+02 1.77274933e+03 -1.26354778e+01 ! vx vy vz +150 3.67253358e+04 6.76660973e+03 ! particle number mass rhill +5.08343859e+03 !particle radius in m +-7.10630600e+06 -7.28840877e+06 -2.23411110e+03 ! x y z +1.47897945e+03 -1.43505611e+03 -2.71839174e+00 ! vx vy vz +151 2.79688721e+04 5.63429227e+03 ! particle number mass rhill +4.64223699e+03 !particle radius in m +6.38222762e+06 -6.74069777e+06 8.75842881e+04 ! x y z +1.60375261e+03 1.44358800e+03 -9.05519600e-01 ! vx vy vz +152 1.49726912e+05 1.72153700e+04 ! particle number mass rhill +8.12086478e+03 !particle radius in m +-1.56702566e+07 4.26618807e+06 5.21823445e+04 ! x y z +-4.05029139e+02 -1.57894139e+03 2.53582968e+00 ! vx vy vz +153 2.25272127e+05 1.26178768e+04 ! particle number mass rhill +9.30546634e+03 !particle radius in m +-8.73094270e+06 5.67791265e+06 2.17614432e+04 ! x y z +-1.10821669e+03 -1.70422433e+03 2.11567045e+01 ! vx vy vz +154 1.52669889e+05 1.08283241e+04 ! particle number mass rhill +5.54672703e+03 !particle radius in m +-1.01683371e+07 1.10819821e+06 1.64139763e+04 ! x y z +-2.62188936e+02 -2.02918021e+03 8.77276633e+00 ! vx vy vz +155 5.79689563e+04 8.97148278e+03 ! particle number mass rhill +4.01652823e+03 !particle radius in m +4.35525820e+06 1.08005096e+07 7.15657051e+04 ! x y z +-1.78452573e+03 7.14211418e+02 1.85217607e+01 ! vx vy vz +156 4.99028875e+05 2.13357770e+04 ! particle number mass rhill +8.23178885e+03 !particle radius in m +1.33640503e+06 -1.35991318e+07 1.26981224e+05 ! x y z +1.75325272e+03 1.99801637e+02 9.12185103e+00 ! vx vy vz +157 3.21480613e+05 1.20647069e+04 ! particle number mass rhill +7.10947055e+03 !particle radius in m +-6.82381137e+06 5.53567185e+06 7.84751624e+03 ! x y z +-1.38395700e+03 -1.73645326e+03 7.57405795e+00 ! vx vy vz +158 9.91529953e+04 1.07918343e+04 ! particle number mass rhill +4.80346108e+03 !particle radius in m +3.89840794e+06 1.10854924e+07 3.76242516e+03 ! x y z +-1.80675419e+03 6.21051875e+02 -1.71817477e+01 ! vx vy vz +159 2.52237740e+05 1.14363942e+04 ! particle number mass rhill +6.55725922e+03 !particle radius in m +-1.97874775e+06 -8.77567582e+06 -2.75052193e+03 ! x y z +2.14929146e+03 -4.63042632e+02 1.42528242e+01 ! vx vy vz +160 1.01739958e+06 1.88523697e+04 ! particle number mass rhill +1.04379733e+04 !particle radius in m +-3.69568353e+06 8.70958011e+06 1.23991773e+02 ! x y z +-1.95889951e+03 -8.30413409e+02 3.23324109e+00 ! vx vy vz +161 6.26561099e+04 9.13946042e+03 ! particle number mass rhill +4.12198879e+03 !particle radius in m +-7.46635757e+06 8.75996756e+06 -3.38546703e+04 ! x y z +-1.47538097e+03 -1.25605788e+03 1.14970804e+01 ! vx vy vz +162 4.03320233e+05 1.69943586e+04 ! particle number mass rhill +7.66776863e+03 !particle radius in m +5.08163706e+06 1.05043562e+07 -2.49011889e+04 ! x y z +-1.73355443e+03 8.04079694e+02 -1.88007028e+00 ! vx vy vz +163 2.79645719e+04 5.40884610e+03 ! particle number mass rhill +4.64199906e+03 !particle radius in m +4.39449717e+06 -7.93852417e+06 4.36583437e+04 ! x y z +1.88869963e+03 1.05420912e+03 5.50586344e+00 ! vx vy vz +164 1.10906394e+06 2.35480158e+04 ! particle number mass rhill +1.07424793e+04 !particle radius in m +8.63623502e+06 -7.74644884e+06 1.85384542e+04 ! x y z +1.26494539e+03 1.43300151e+03 7.04221650e+00 ! vx vy vz +165 8.56685180e+05 2.78909446e+04 ! particle number mass rhill +9.85657615e+03 !particle radius in m +-6.15368525e+05 1.49121598e+07 -4.67932565e+04 ! x y z +-1.68745762e+03 -4.92212694e+01 -1.94039771e+00 ! vx vy vz +166 3.06525474e+05 1.36922172e+04 ! particle number mass rhill +6.99747229e+03 !particle radius in m +8.64904319e+06 5.91192747e+06 -6.14206652e+04 ! x y z +-1.13126693e+03 1.64851790e+03 -1.89192778e+01 ! vx vy vz +167 5.93049281e+05 1.52051655e+04 ! particle number mass rhill +8.71931949e+03 !particle radius in m +-7.78414392e+06 4.96208659e+06 -1.63838108e+04 ! x y z +-1.12672930e+03 -1.82241793e+03 -5.96425105e+00 ! vx vy vz +168 2.12666894e+04 5.40531233e+03 ! particle number mass rhill +4.23710232e+03 !particle radius in m +9.85857087e+06 -4.25461587e+05 -7.76455058e+04 ! x y z +8.06687493e+01 2.07960003e+03 3.28242575e+00 ! vx vy vz +169 2.85652780e+05 2.95720311e+04 ! particle number mass rhill +1.00719866e+04 !particle radius in m +-3.92871528e+06 -2.24319020e+07 2.77551401e+04 ! x y z +1.34770576e+03 -2.35192176e+02 -6.19147736e+00 ! vx vy vz +170 3.39019670e+05 1.79553101e+04 ! particle number mass rhill +7.23647883e+03 !particle radius in m +-9.85059665e+06 -8.52205655e+06 -5.48573039e+04 ! x y z +1.18464366e+03 -1.37030272e+03 9.99031014e-01 ! vx vy vz +171 8.89113305e+05 2.71542359e+04 ! particle number mass rhill +9.97940619e+03 !particle radius in m +-1.95744716e+06 -1.40658438e+07 -8.96628033e+04 ! x y z +1.72553028e+03 -2.22255484e+02 -2.68715792e+00 ! vx vy vz +172 8.29370571e+05 3.54463172e+04 ! particle number mass rhill +9.75068673e+03 !particle radius in m +-1.83887109e+07 -4.94937710e+06 4.13740137e+04 ! x y z +4.02207087e+02 -1.44472494e+03 7.82771281e+00 ! vx vy vz +173 1.48238892e+06 2.27550464e+04 ! particle number mass rhill +1.18333139e+04 !particle radius in m +6.28107583e+06 -7.96489519e+06 1.00181104e+05 ! x y z +1.61474462e+03 1.25899281e+03 3.25360113e+00 ! vx vy vz +174 8.27798949e+04 7.81570962e+03 ! particle number mass rhill +6.66516052e+03 !particle radius in m +8.57815199e+06 2.93408991e+06 1.00482256e+04 ! x y z +-7.00269987e+02 2.05582007e+03 1.47496098e+00 ! vx vy vz +175 3.84709230e+05 1.86262292e+04 ! particle number mass rhill +7.54796479e+03 !particle radius in m +3.89386447e+06 -1.18916453e+07 4.75801024e+03 ! x y z +1.79017897e+03 5.72333272e+02 1.35429336e+01 ! vx vy vz +176 5.66577675e+04 1.78767974e+04 ! particle number mass rhill +5.87384040e+03 !particle radius in m +-1.12819097e+07 -2.03828249e+07 -4.17849171e+04 ! x y z +1.20129982e+03 -6.40831904e+02 -7.21062138e+00 ! vx vy vz +177 2.07013798e+05 1.69695724e+04 ! particle number mass rhill +9.04694786e+03 !particle radius in m +-3.48844270e+06 -1.39807096e+07 -9.80376409e+04 ! x y z +1.67545999e+03 -4.23493775e+02 9.57144799e+00 ! vx vy vz +178 1.75307559e+05 1.09646651e+04 ! particle number mass rhill +5.80834687e+03 !particle radius in m +-6.99241637e+06 -6.97891492e+06 1.17078416e+04 ! x y z +1.45466387e+03 -1.49110516e+03 -7.97644872e+00 ! vx vy vz +179 1.07781085e+05 2.17561846e+04 ! particle number mass rhill +7.27807466e+03 !particle radius in m +2.29671869e+07 -4.77992661e+06 -2.29056888e+05 ! x y z +2.66633595e+02 1.31300250e+03 8.11268595e+00 ! vx vy vz +180 3.59388467e+05 1.77616131e+04 ! particle number mass rhill +7.37859561e+03 !particle radius in m +1.12799199e+07 -5.64371881e+06 -4.86158248e+04 ! x y z +8.25574521e+02 1.64707498e+03 1.79426055e+01 ! vx vy vz +181 8.43345605e+04 7.88595165e+03 ! particle number mass rhill +4.55114695e+03 !particle radius in m +-8.97901930e+06 1.40018499e+06 -1.17315967e+04 ! x y z +-3.50813576e+02 -2.14111191e+03 1.58430709e+00 ! vx vy vz +182 2.54722186e+05 1.61693513e+04 ! particle number mass rhill +9.69448137e+03 !particle radius in m +-1.27934972e+07 5.80764481e+05 -6.60656959e+04 ! x y z +-8.73661010e+01 -1.83147573e+03 9.29252102e+00 ! vx vy vz +183 5.21033114e+05 3.12442397e+04 ! particle number mass rhill +1.23062037e+04 !particle radius in m +-6.51355993e+06 -1.80095300e+07 -1.28499713e+05 ! x y z +1.42185635e+03 -5.15444029e+02 4.71976246e+00 ! vx vy vz +184 5.21637824e+05 1.66907755e+04 ! particle number mass rhill +1.23109627e+04 !particle radius in m +-1.35063597e+06 1.04263703e+07 -1.65523047e+04 ! x y z +-1.99638943e+03 -2.63418025e+02 -1.41194780e+01 ! vx vy vz +185 4.58205528e+04 6.92591943e+03 ! particle number mass rhill +3.71369106e+03 !particle radius in m +-9.22486496e+06 2.96866634e+06 -1.89865927e+03 ! x y z +-6.64441635e+02 -2.00340641e+03 -1.17076646e+01 ! vx vy vz +186 2.23433612e+05 1.26670941e+04 ! particle number mass rhill +6.29750468e+03 !particle radius in m +7.10721350e+06 7.67585026e+06 -3.24513481e+03 ! x y z +-1.50133478e+03 1.36725034e+03 -1.87929113e+01 ! vx vy vz +187 1.79931401e+05 1.04373831e+04 ! particle number mass rhill +8.63385286e+03 !particle radius in m +-3.50855266e+06 -8.47958104e+06 5.43121964e+04 ! x y z +2.01378047e+03 -8.30225015e+02 -6.42928682e+00 ! vx vy vz +188 5.90097791e+04 1.34524769e+04 ! particle number mass rhill +5.95402041e+03 !particle radius in m +-1.71845688e+07 2.92835680e+06 1.80160654e+04 ! x y z +-2.68908847e+02 -1.54460993e+03 5.60740384e+00 ! vx vy vz +189 7.79086515e+05 1.85386656e+04 ! particle number mass rhill +9.54950570e+03 !particle radius in m +-9.06623165e+06 -4.20136967e+06 -2.06364196e+04 ! x y z +8.54458713e+02 -1.90544528e+03 6.22285906e+00 ! vx vy vz +190 1.53125034e+06 2.34513451e+04 ! particle number mass rhill +1.19619247e+04 !particle radius in m +5.25849667e+06 8.80426419e+06 1.08815572e+04 ! x y z +-1.77864099e+03 1.00939651e+03 -2.77090468e+00 ! vx vy vz +191 8.59567645e+04 1.28327108e+04 ! particle number mass rhill +6.74935610e+03 !particle radius in m +4.62808704e+06 1.40254648e+07 2.62029474e+04 ! x y z +-1.61136420e+03 5.34010697e+02 -6.77858294e-01 ! vx vy vz +192 1.26242051e+05 1.99101289e+04 ! particle number mass rhill +5.20619396e+03 !particle radius in m +2.01424278e+07 3.41792942e+05 1.94882104e+05 ! x y z +-2.93420884e+01 1.45364435e+03 -7.07412419e-01 ! vx vy vz +193 1.08024301e+06 4.02623073e+04 ! particle number mass rhill +1.06486075e+04 !particle radius in m +8.37083337e+06 -1.79540915e+07 -5.91009347e+04 ! x y z +1.33428010e+03 6.17563374e+02 2.42512024e+00 ! vx vy vz +194 3.59813883e+04 6.03118811e+03 ! particle number mass rhill +5.04887899e+03 !particle radius in m +9.18834937e+06 4.09046541e+05 5.54581813e+03 ! x y z +-7.23751549e+01 2.15950913e+03 6.85354866e-01 ! vx vy vz +195 7.21130805e+04 1.15218555e+04 ! particle number mass rhill +6.36561457e+03 !particle radius in m +2.40599869e+06 -1.36259877e+07 7.24745280e+03 ! x y z +1.74094787e+03 3.07239990e+02 8.10516402e+00 ! vx vy vz +196 5.22433041e+04 8.56706323e+03 ! particle number mass rhill +3.87967973e+03 !particle radius in m +-1.16034100e+07 -1.77480486e+06 -1.62127720e+04 ! x y z +2.83834839e+02 -1.87461386e+03 5.96638672e-01 ! vx vy vz +197 2.88195987e+05 1.92280928e+04 ! particle number mass rhill +6.85511860e+03 !particle radius in m +1.47515573e+07 -2.57581761e+05 -5.23662055e+04 ! x y z +1.10532093e+01 1.70024862e+03 8.28609927e-01 ! vx vy vz +198 5.20744357e+05 2.19617843e+04 ! particle number mass rhill +1.23039299e+04 !particle radius in m +1.13163190e+07 -7.84357347e+06 1.03407930e+04 ! x y z +1.01120595e+03 1.44577732e+03 -5.19143023e+00 ! vx vy vz +199 1.70548241e+05 1.09436379e+04 ! particle number mass rhill +5.75530148e+03 !particle radius in m +-3.32812125e+06 -9.44533791e+06 -4.90376566e+04 ! x y z +1.95676637e+03 -6.51606826e+02 -5.70434278e+00 ! vx vy vz +200 5.42504766e+05 1.91588733e+04 ! particle number mass rhill +1.24729785e+04 !particle radius in m +1.06811374e+07 -4.93512180e+06 -2.54549899e+04 ! x y z +7.94618978e+02 1.74255873e+03 -9.79841366e+00 ! vx vy vz +201 1.45214473e+06 2.51148062e+04 ! particle number mass rhill +1.17522845e+04 !particle radius in m +1.08275316e+07 3.16975354e+06 -1.83616872e+04 ! x y z +-5.71210349e+02 1.85480914e+03 -5.53165520e+00 ! vx vy vz +202 4.79031773e+05 1.39791861e+04 ! particle number mass rhill +1.19662231e+04 !particle radius in m +-8.93938095e+06 -1.07672320e+06 2.20211931e+02 ! x y z +2.21513596e+02 -2.17140814e+03 -5.31579057e+00 ! vx vy vz +203 9.35672463e+04 1.18188273e+04 ! particle number mass rhill +6.94294309e+03 !particle radius in m +-1.11274091e+07 6.99042019e+06 4.20463158e+03 ! x y z +-9.73175474e+02 -1.52053333e+03 -7.28310775e+00 ! vx vy vz +204 2.35662743e+05 1.60773575e+04 ! particle number mass rhill +9.44639204e+03 !particle radius in m +4.40522655e+06 -1.23917208e+07 -1.61713907e+04 ! x y z +1.70009079e+03 6.02493125e+02 -3.82502681e+00 ! vx vy vz +205 2.38678835e+05 1.29738033e+04 ! particle number mass rhill +6.43759473e+03 !particle radius in m +8.84972010e+06 5.65746303e+06 4.89598915e+04 ! x y z +-1.07695732e+03 1.71417278e+03 -2.68488868e+00 ! vx vy vz +206 5.70545769e+04 8.09831867e+03 ! particle number mass rhill +5.88752122e+03 !particle radius in m +-5.79952078e+06 8.88645462e+06 -2.44580541e+04 ! x y z +-1.68074658e+03 -1.10169885e+03 -6.29194406e-01 ! vx vy vz +207 5.51731540e+05 1.45509165e+04 ! particle number mass rhill +1.25432938e+04 !particle radius in m +-8.14410389e+06 -3.97016042e+06 -9.88813618e+04 ! x y z +9.01368103e+02 -1.96430805e+03 -4.40735560e+00 ! vx vy vz +208 1.01063925e+06 1.76831218e+04 ! particle number mass rhill +1.04148028e+04 !particle radius in m +7.46448044e+06 -4.58544507e+06 1.76340315e+04 ! x y z +1.15401750e+03 1.90545254e+03 -7.27693077e+00 ! vx vy vz +209 4.01306668e+05 1.56153596e+04 ! particle number mass rhill +1.12804852e+04 !particle radius in m +-2.08884933e+06 -1.02835429e+07 6.42079933e+03 ! x y z +1.99534972e+03 -4.16589585e+02 -4.18338876e+00 ! vx vy vz +210 1.16893367e+05 9.97596895e+03 ! particle number mass rhill +7.47765824e+03 !particle radius in m +3.36937988e+06 -9.91809680e+06 5.89060808e+04 ! x y z +1.88421155e+03 6.84396854e+02 -2.08220150e+00 ! vx vy vz +211 6.63716790e+05 2.02872172e+04 ! particle number mass rhill +9.05273758e+03 !particle radius in m +-7.24117471e+06 -9.21469921e+06 -3.61410851e+04 ! x y z +1.49902224e+03 -1.18897591e+03 9.80133706e-01 ! vx vy vz +212 5.54059774e+05 1.44580726e+04 ! particle number mass rhill +1.25609127e+04 !particle radius in m +-3.74450435e+06 -8.15891931e+06 2.77691948e+04 ! x y z +1.97501199e+03 -9.06036575e+02 -2.45381289e-01 ! vx vy vz +213 1.69304746e+05 1.85389651e+04 ! particle number mass rhill +8.46042215e+03 !particle radius in m +7.14052519e+06 1.53102112e+07 1.62981971e+05 ! x y z +-1.44016584e+03 6.81333291e+02 -1.60906032e+00 ! vx vy vz +214 1.99811184e+06 2.54044580e+04 ! particle number mass rhill +1.30715050e+04 !particle radius in m +-1.03399269e+07 2.85213950e+05 -3.22137865e+04 ! x y z +-5.00043408e+01 -2.01781826e+03 1.16086899e+01 ! vx vy vz +215 1.89676101e+06 2.19318980e+04 ! particle number mass rhill +1.28466493e+04 !particle radius in m +4.61126913e+06 7.68167619e+06 3.21015460e+03 ! x y z +-1.87745924e+03 1.11654918e+03 8.74586750e+00 ! vx vy vz +216 9.08573084e+05 1.81400916e+04 ! particle number mass rhill +1.00516869e+04 !particle radius in m +-7.63901209e+05 9.38473527e+06 2.09296480e+04 ! x y z +-2.13149182e+03 -1.53874003e+02 1.07619871e+00 ! vx vy vz +217 8.11071077e+04 1.14592741e+04 ! particle number mass rhill +4.49233328e+03 !particle radius in m +-3.50142507e+06 1.29584846e+07 4.99036110e+03 ! x y z +-1.71988301e+03 -4.67120020e+02 -1.52874482e+00 ! vx vy vz +218 5.45414263e+04 7.39602861e+03 ! particle number mass rhill +3.93575293e+03 !particle radius in m +2.89549121e+05 9.73817170e+06 7.30475924e+03 ! x y z +-2.10637979e+03 6.28009545e+01 2.73575242e+01 ! vx vy vz +219 1.53455069e+05 9.67803209e+03 ! particle number mass rhill +5.55621969e+03 !particle radius in m +-8.69236370e+06 2.60571730e+06 1.87543471e+04 ! x y z +-6.41047725e+02 -2.08196126e+03 -9.78180600e+00 ! vx vy vz +220 1.44525955e+06 2.58764089e+04 ! particle number mass rhill +1.17336811e+04 !particle radius in m +1.16999055e+07 -8.45214750e+05 -1.23088793e+04 ! x y z +1.51868140e+02 1.88990987e+03 5.91582506e+00 ! vx vy vz +221 1.68319374e+06 2.90907579e+04 ! particle number mass rhill +1.23451688e+04 !particle radius in m +1.04932440e+07 6.34593749e+06 -5.14735307e+04 ! x y z +-9.55788059e+02 1.61305183e+03 7.38311147e+00 ! vx vy vz +222 6.64548027e+05 2.09776961e+04 ! particle number mass rhill +9.05651521e+03 !particle radius in m +-1.00872411e+07 -7.19383413e+06 1.02683109e+05 ! x y z +1.09632503e+03 -1.47708699e+03 2.53571970e+00 ! vx vy vz +223 5.28873267e+05 2.56064519e+04 ! particle number mass rhill +8.39272259e+03 !particle radius in m +-1.29868607e+07 9.20702284e+06 -1.02202794e+05 ! x y z +-9.58764873e+02 -1.33478274e+03 7.40636311e+00 ! vx vy vz +224 9.96994641e+05 1.92471528e+04 ! particle number mass rhill +1.03677203e+04 !particle radius in m +2.69271095e+06 9.12085234e+06 -6.31280178e+04 ! x y z +-2.04468399e+03 6.49763127e+02 -6.41633267e+00 ! vx vy vz +225 2.38653594e+05 1.32999920e+04 ! particle number mass rhill +9.48618629e+03 !particle radius in m +-1.04843536e+07 -2.82530322e+06 -6.63351271e+03 ! x y z +5.35179489e+02 -1.90917831e+03 -8.89095603e+00 ! vx vy vz +226 1.40349329e+06 2.00598103e+04 ! particle number mass rhill +1.16195447e+04 !particle radius in m +8.55294018e+06 -2.42617769e+06 2.52020611e+04 ! x y z +6.43758212e+02 2.11770030e+03 -2.00995235e+00 ! vx vy vz +227 1.68803614e+06 2.29017916e+04 ! particle number mass rhill +1.23569961e+04 !particle radius in m +9.56160063e+06 2.03876951e+05 -1.15187717e+04 ! x y z +-2.08727307e+01 2.13182274e+03 -6.37368295e+00 ! vx vy vz +228 4.94409683e+04 7.07324355e+03 ! particle number mass rhill +3.80903228e+03 !particle radius in m +8.39735110e+06 -4.64919497e+06 -4.03636604e+04 ! x y z +1.02402689e+03 1.86350550e+03 3.48961376e+00 ! vx vy vz +229 1.23732338e+05 1.15801183e+04 ! particle number mass rhill +7.62073270e+03 !particle radius in m +1.14766676e+07 -2.46673442e+06 -6.18541161e+03 ! x y z +3.81520272e+02 1.87089502e+03 -6.28495237e+00 ! vx vy vz +230 3.07739150e+04 5.83154047e+03 ! particle number mass rhill +4.79251234e+03 !particle radius in m +7.65927810e+06 5.58691775e+06 6.38708550e+04 ! x y z +-1.24261883e+03 1.71209694e+03 -6.95777672e+00 ! vx vy vz +232 1.02687634e+05 1.54462392e+04 ! particle number mass rhill +4.85987440e+03 !particle radius in m +1.62736579e+07 2.82256969e+06 3.66384128e+04 ! x y z +-2.71027694e+02 1.59383670e+03 4.71948132e+00 ! vx vy vz +233 1.09055822e+05 8.97093718e+03 ! particle number mass rhill +7.30665510e+03 !particle radius in m +-2.08216759e+06 -9.23350326e+06 -8.76611629e+04 ! x y z +2.08240223e+03 -4.40249465e+02 -1.27767388e+01 ! vx vy vz +234 4.21950076e+04 6.13798078e+03 ! particle number mass rhill +5.32422025e+03 !particle radius in m +8.73066827e+06 -2.21328634e+05 -3.34004359e+04 ! x y z +4.79166308e+01 2.23450529e+03 -9.11532147e+00 ! vx vy vz +235 1.49350824e+06 3.81141945e+04 ! particle number mass rhill +1.18628272e+04 !particle radius in m +1.62631471e+07 4.67259161e+06 2.64032894e+04 ! x y z +-4.50841052e+02 1.52122597e+03 1.13312253e+01 ! vx vy vz +236 3.07566841e+05 2.10233787e+04 ! particle number mass rhill +7.00538757e+03 !particle radius in m +5.98003979e+05 -1.57345854e+07 -2.89481346e+04 ! x y z +1.64606847e+03 7.79210619e+01 -6.19029962e+00 ! vx vy vz +237 3.73535334e+05 1.38613380e+04 ! particle number mass rhill +7.47416865e+03 !particle radius in m +-8.48106759e+06 4.91431093e+06 -8.66403288e+04 ! x y z +-1.03310578e+03 -1.80626108e+03 1.07091841e+01 ! vx vy vz +238 1.60082213e+06 4.30874135e+04 ! particle number mass rhill +1.21404101e+04 !particle radius in m +-1.84578837e+07 9.47798697e+05 -1.11240327e+05 ! x y z +-8.38856040e+01 -1.52441650e+03 -4.87143776e+00 ! vx vy vz +239 1.46188745e+06 2.54964357e+04 ! particle number mass rhill +1.17785087e+04 !particle radius in m +-5.76687798e+06 9.89435129e+06 4.39168015e+04 ! x y z +-1.66547278e+03 -9.63693666e+02 4.18572107e+00 ! vx vy vz +240 1.57915313e+05 9.48646514e+03 ! particle number mass rhill +5.60953779e+03 !particle radius in m +-1.82862969e+06 8.61926907e+06 -1.75357465e+04 ! x y z +-2.15498233e+03 -4.93004829e+02 7.64196538e+00 ! vx vy vz +241 1.28341909e+05 1.09511933e+04 ! particle number mass rhill +7.71421647e+03 !particle radius in m +3.76525777e+06 -1.03931378e+07 -7.52318459e+04 ! x y z +1.83850823e+03 6.78500036e+02 -6.89947122e+00 ! vx vy vz +242 5.79588811e+05 1.46154362e+04 ! particle number mass rhill +8.65284640e+03 !particle radius in m +-6.33335198e+06 -5.98167685e+06 -3.08011537e+04 ! x y z +1.53763163e+03 -1.62109001e+03 -2.47037358e+00 ! vx vy vz +243 2.16869732e+05 1.24291427e+04 ! particle number mass rhill +6.23522281e+03 !particle radius in m +9.90333087e+06 -4.01192277e+06 6.04079611e+04 ! x y z +7.43355257e+02 1.83366572e+03 -1.58715640e+00 ! vx vy vz +244 6.18926402e+05 2.04985663e+04 ! particle number mass rhill +1.30331280e+04 !particle radius in m +-5.98502411e+06 1.07946936e+07 4.97027123e+03 ! x y z +-1.61657634e+03 -8.93801164e+02 -1.07876442e+01 ! vx vy vz +245 7.99727184e+05 2.41966314e+04 ! particle number mass rhill +9.63310475e+03 !particle radius in m +-6.59615203e+06 -1.12304386e+07 9.72528165e+04 ! x y z +1.57957874e+03 -9.09183472e+02 3.54133115e-01 ! vx vy vz +246 2.80300938e+05 1.19230190e+04 ! particle number mass rhill +6.79194010e+03 !particle radius in m +8.96651461e+06 1.05824022e+06 -2.00386304e+04 ! x y z +-2.80453416e+02 2.17973889e+03 1.20973693e+00 ! vx vy vz +247 6.93860397e+05 2.71014582e+04 ! particle number mass rhill +9.18776116e+03 !particle radius in m +1.47368687e+06 1.52540290e+07 1.91344142e+05 ! x y z +-1.67085873e+03 1.59690705e+02 -2.30924434e+00 ! vx vy vz +248 2.21045128e+05 1.62927419e+04 ! particle number mass rhill +9.24689597e+03 !particle radius in m +-1.31122397e+06 1.35322324e+07 5.51107975e+04 ! x y z +-1.76733822e+03 -1.66895030e+02 1.40149353e+01 ! vx vy vz +249 1.57513562e+05 9.70901785e+03 ! particle number mass rhill +8.25926956e+03 !particle radius in m +6.67718106e+06 -6.31157792e+06 2.26609344e+04 ! x y z +1.50456951e+03 1.52943679e+03 8.18042830e+00 ! vx vy vz +250 3.40949521e+05 1.56136944e+04 ! particle number mass rhill +1.06839624e+04 !particle radius in m +-9.16360265e+06 6.32922451e+06 2.58199480e+03 ! x y z +-1.14874981e+03 -1.60466496e+03 1.97944632e+01 ! vx vy vz +251 2.67400890e+05 1.60281390e+04 ! particle number mass rhill +6.68610634e+03 !particle radius in m +-1.15940056e+07 4.46540148e+06 -5.91615241e+04 ! x y z +-6.61054922e+02 -1.74552414e+03 3.85473780e+00 ! vx vy vz +252 1.90980773e+05 1.02400192e+04 ! particle number mass rhill +5.97652691e+03 !particle radius in m +7.27954173e+05 8.98873006e+06 3.22170920e+04 ! x y z +-2.16869199e+03 1.52559195e+02 -7.62441611e+00 ! vx vy vz +253 8.81577356e+05 2.66619325e+04 ! particle number mass rhill +9.95113166e+03 !particle radius in m +-7.91834556e+06 1.12541780e+07 -7.01445845e+04 ! x y z +-1.45888232e+03 -1.02209811e+03 -1.64204126e+01 ! vx vy vz +254 1.74268386e+05 1.73117817e+04 ! particle number mass rhill +5.79684738e+03 !particle radius in m +-1.33826547e+07 -7.97098248e+06 5.10482753e+03 ! x y z +8.38898161e+02 -1.43447217e+03 1.26393376e+00 ! vx vy vz +255 7.87919903e+04 9.41855233e+03 ! particle number mass rhill +6.55636334e+03 !particle radius in m +1.00439607e+07 -4.85348750e+06 1.01261466e+05 ! x y z +8.20741840e+02 1.77276708e+03 -5.85913488e-01 ! vx vy vz +256 2.69480282e+05 1.23931951e+04 ! particle number mass rhill +6.70339268e+03 !particle radius in m +2.04930949e+06 -9.32239452e+06 -2.24373576e+04 ! x y z +2.07456592e+03 4.98065963e+02 1.20751769e-02 ! vx vy vz +257 2.46903228e+05 2.89142381e+04 ! particle number mass rhill +6.51070352e+03 !particle radius in m +-2.17215478e+07 -8.78835015e+06 -4.01495560e+04 ! x y z +5.14278406e+02 -1.24501793e+03 7.48973214e+00 ! vx vy vz +258 1.23878170e+06 2.56018645e+04 ! particle number mass rhill +1.11459543e+04 !particle radius in m +1.20260148e+07 1.50890452e+06 -8.61170776e+04 ! x y z +-2.28727670e+02 1.85884268e+03 1.03561533e+01 ! vx vy vz +259 2.00656446e+05 1.10598095e+04 ! particle number mass rhill +8.95337335e+03 !particle radius in m +6.77964628e+06 6.80088173e+06 3.59640048e+04 ! x y z +-1.51037716e+03 1.46534327e+03 4.36610744e+00 ! vx vy vz +260 1.07191143e+05 1.87922625e+04 ! particle number mass rhill +7.26477146e+03 !particle radius in m +1.93741347e+07 4.35856951e+06 -7.05507935e+02 ! x y z +-2.95958141e+02 1.44257652e+03 3.98161720e+00 ! vx vy vz +261 4.58808583e+05 2.25128613e+04 ! particle number mass rhill +1.17954044e+04 !particle radius in m +-1.36515521e+07 5.47808328e+06 2.30862197e+04 ! x y z +-6.21116352e+02 -1.59076755e+03 -4.14797264e+00 ! vx vy vz +262 2.90655410e+05 1.74532512e+04 ! particle number mass rhill +1.01304435e+04 !particle radius in m +1.29557484e+07 -3.33144253e+06 5.90527945e+04 ! x y z +4.53468556e+02 1.72544679e+03 8.55651480e+00 ! vx vy vz +263 7.08997716e+04 1.09670527e+04 ! particle number mass rhill +4.29537029e+03 !particle radius in m +1.22881970e+07 4.73181161e+06 8.31929270e+04 ! x y z +-6.58468588e+02 1.69384960e+03 -1.28940832e+01 ! vx vy vz +264 1.34411988e+05 1.57738727e+04 ! particle number mass rhill +5.31616352e+03 !particle radius in m +1.42705581e+07 -5.59919890e+06 -1.20173006e+04 ! x y z +6.15518752e+02 1.56633732e+03 -3.00095341e+00 ! vx vy vz +265 6.21292858e+05 2.92546564e+04 ! particle number mass rhill +1.30497175e+04 !particle radius in m +1.22157187e+07 1.21158385e+07 -1.89187958e+04 ! x y z +-1.13185306e+03 1.10567360e+03 -1.20248978e+01 ! vx vy vz +266 4.37332958e+04 6.44253036e+03 ! particle number mass rhill +5.38815059e+03 !particle radius in m +3.95878049e+06 -8.23148660e+06 5.75314545e+04 ! x y z +1.96980210e+03 9.25868395e+02 1.73432582e+01 ! vx vy vz +267 1.43659648e+06 2.53518437e+04 ! particle number mass rhill +1.17101897e+04 !particle radius in m +-3.77919432e+06 1.07609723e+07 -5.23499337e+04 ! x y z +-1.82204789e+03 -6.43288095e+02 1.18800083e+01 ! vx vy vz +268 8.39702253e+04 1.22379070e+04 ! particle number mass rhill +6.69695574e+03 !particle radius in m +-1.05319563e+07 9.02628865e+06 7.76373874e+04 ! x y z +-1.14418489e+03 -1.35282145e+03 -8.67554957e-01 ! vx vy vz +269 6.87209763e+04 9.36137706e+03 ! particle number mass rhill +4.25091189e+03 !particle radius in m +1.11472461e+07 3.88496928e+06 2.24744875e+04 ! x y z +-6.24929449e+02 1.77558367e+03 1.82397206e+01 ! vx vy vz +270 8.93056834e+05 2.02090263e+04 ! particle number mass rhill +9.99413848e+03 !particle radius in m +7.13225296e+06 7.84741088e+06 7.08528372e+04 ! x y z +-1.47773160e+03 1.36033625e+03 -6.05338364e+00 ! vx vy vz +271 7.72395853e+04 1.53049462e+04 ! particle number mass rhill +4.41976293e+03 !particle radius in m +1.57340361e+07 -9.25306632e+06 1.05005348e+05 ! x y z +7.63951994e+02 1.32212390e+03 -5.72592279e+00 ! vx vy vz +272 1.17326453e+05 1.78660442e+04 ! particle number mass rhill +7.48688169e+03 !particle radius in m +1.78996895e+07 -3.23122702e+06 -8.50474408e+04 ! x y z +2.79448983e+02 1.51858349e+03 1.07776473e+01 ! vx vy vz +273 2.64759082e+05 1.14529225e+04 ! particle number mass rhill +9.82017615e+03 !particle radius in m +-1.25291109e+06 8.92261901e+06 6.19393261e+04 ! x y z +-2.15215968e+03 -3.42916287e+02 5.69467556e+00 ! vx vy vz +274 9.28436033e+04 1.03254647e+04 ! particle number mass rhill +6.92499799e+03 !particle radius in m +3.17829891e+06 -1.10142305e+07 -2.69804501e+04 ! x y z +1.85575994e+03 5.54347759e+02 -8.57029148e-01 ! vx vy vz +275 1.28358389e+05 1.04813501e+04 ! particle number mass rhill +7.71454664e+03 !particle radius in m +-1.52137099e+06 1.03039110e+07 -2.28129443e+04 ! x y z +-2.01239392e+03 -3.00583105e+02 1.82997128e+01 ! vx vy vz +276 1.71849481e+06 2.43554180e+04 ! particle number mass rhill +1.24308761e+04 !particle radius in m +7.58255782e+06 -6.89244058e+06 -4.22200409e+04 ! x y z +1.36574672e+03 1.52351062e+03 -3.42663337e+00 ! vx vy vz +277 1.76580097e+06 2.81722435e+04 ! particle number mass rhill +1.25439096e+04 !particle radius in m +-8.20564828e+06 8.24671241e+06 -1.78987991e+05 ! x y z +-1.37211179e+03 -1.35613094e+03 5.81977986e-01 ! vx vy vz +278 2.66657642e+05 1.86850925e+04 ! particle number mass rhill +9.84359343e+03 !particle radius in m +8.14883976e+06 -1.20311130e+07 2.81646262e+04 ! x y z +1.42418230e+03 9.71290645e+02 -1.65557105e+01 ! vx vy vz +279 1.67849030e+06 2.16729264e+04 ! particle number mass rhill +1.23336592e+04 !particle radius in m +2.74582126e+06 -8.71763630e+06 6.44092995e+04 ! x y z +2.06453659e+03 6.75538119e+02 -1.84554482e+01 ! vx vy vz +280 3.33306167e+05 1.37489654e+04 ! particle number mass rhill +1.06035211e+04 !particle radius in m +7.67980194e+06 -6.41178879e+06 9.39794316e+04 ! x y z +1.32508200e+03 1.58960541e+03 -1.68646923e+00 ! vx vy vz +281 2.90036427e+05 1.42298817e+04 ! particle number mass rhill +1.01232471e+04 !particle radius in m +1.08862914e+07 -1.69171267e+06 1.06890002e+04 ! x y z +2.66940523e+02 1.93825037e+03 -3.17829482e+00 ! vx vy vz +282 2.08854812e+05 2.58329628e+04 ! particle number mass rhill +9.07368751e+03 !particle radius in m +-2.12855771e+07 -6.22047593e+06 4.09709267e+04 ! x y z +3.86441604e+02 -1.32836590e+03 2.12243761e-02 ! vx vy vz +283 1.09299260e+06 1.84417787e+04 ! particle number mass rhill +1.06903372e+04 !particle radius in m +1.19425206e+06 -8.91233794e+06 3.55973631e+04 ! x y z +2.17359618e+03 2.49148190e+02 5.23202275e-01 ! vx vy vz +284 1.46324679e+04 4.71419267e+03 ! particle number mass rhill +3.74060212e+03 !particle radius in m +9.56786350e+06 4.49949446e+05 3.82232625e+04 ! x y z +-9.15404876e+01 2.12884256e+03 -8.93875847e+00 ! vx vy vz +285 1.40182455e+05 9.14605142e+03 ! particle number mass rhill +7.94450563e+03 !particle radius in m +2.52449139e+06 -8.63435263e+06 3.47588448e+03 ! x y z +2.08621300e+03 5.91911411e+02 -3.57309299e+00 ! vx vy vz +286 1.06034598e+05 1.24338277e+04 ! particle number mass rhill +4.91211126e+03 !particle radius in m +1.30335501e+07 -9.18110749e+05 -5.93800312e+04 ! x y z +1.10189733e+02 1.82033941e+03 -1.02966654e+01 ! vx vy vz +287 3.46450949e+05 1.43804817e+04 ! particle number mass rhill +1.07411202e+04 !particle radius in m +-8.43406318e+06 -5.93404434e+06 2.36715133e+04 ! x y z +1.16500133e+03 -1.67478526e+03 9.48734166e+00 ! vx vy vz +288 1.56983400e+05 1.31094123e+04 ! particle number mass rhill +5.59848141e+03 !particle radius in m +1.45797657e+06 -1.20421345e+07 -3.75037404e+04 ! x y z +1.87575411e+03 2.26832585e+02 1.21113356e+01 ! vx vy vz +289 2.48666520e+05 1.14701907e+04 ! particle number mass rhill +9.61704013e+03 !particle radius in m +7.82736208e+06 -4.81216442e+06 6.09982286e+04 ! x y z +1.09482209e+03 1.86309298e+03 2.82110626e+01 ! vx vy vz +290 5.65388384e+05 2.38333682e+04 ! particle number mass rhill +1.26459448e+04 !particle radius in m +-1.04983951e+07 -9.78210039e+06 4.04999757e+04 ! x y z +1.16976801e+03 -1.28733444e+03 3.36107675e+00 ! vx vy vz +291 4.58299747e+05 1.37934417e+04 ! particle number mass rhill +8.00145320e+03 !particle radius in m +-8.88059070e+06 -1.48350388e+06 -3.65798996e+04 ! x y z +3.63914783e+02 -2.15370844e+03 -4.03870858e+00 ! vx vy vz +292 2.30030563e+04 6.14927674e+03 ! particle number mass rhill +4.34941489e+03 !particle radius in m +1.71799482e+06 -1.11150786e+07 -1.11600323e+04 ! x y z +1.89156931e+03 3.37161187e+02 -5.00763335e+00 ! vx vy vz +293 7.08749007e+04 1.18059055e+04 ! particle number mass rhill +4.29486797e+03 !particle radius in m +1.22676746e+07 -7.93082840e+06 -7.55901444e+04 ! x y z +9.10780310e+02 1.43519257e+03 -9.59182854e+00 ! vx vy vz +294 1.21450320e+06 2.13409537e+04 ! particle number mass rhill +1.10726580e+04 !particle radius in m +6.08378238e+06 -7.87148142e+06 -2.39812665e+04 ! x y z +1.65441655e+03 1.27707568e+03 -1.18584893e+01 ! vx vy vz +295 4.34793722e+05 1.91206475e+04 ! particle number mass rhill +1.15859081e+04 !particle radius in m +5.05198031e+06 1.16964703e+07 1.98330665e+04 ! x y z +-1.69333923e+03 7.02450436e+02 2.04857518e+01 ! vx vy vz +296 5.88218517e+05 2.95301840e+04 ! particle number mass rhill +8.69558011e+03 !particle radius in m +-2.23024582e+06 1.75885326e+07 3.84168836e+04 ! x y z +-1.54534740e+03 -1.88777263e+02 1.39357869e+01 ! vx vy vz +297 8.46851500e+04 1.21295826e+04 ! particle number mass rhill +6.71590808e+03 !particle radius in m +1.11164532e+07 8.01001814e+06 1.06625699e+05 ! x y z +-1.04365443e+03 1.44565605e+03 2.11662748e+01 ! vx vy vz +298 1.24155519e+06 2.60986227e+04 ! particle number mass rhill +1.11542662e+04 !particle radius in m +-1.17258082e+06 -1.22657889e+07 4.54924052e+04 ! x y z +1.84907037e+03 -1.95731556e+02 1.04424396e+01 ! vx vy vz +299 5.36470228e+04 6.78707710e+03 ! particle number mass rhill +5.76789746e+03 !particle radius in m +8.87472318e+06 -1.41477847e+06 9.96850714e+03 ! x y z +3.48170496e+02 2.16686116e+03 6.86996341e+00 ! vx vy vz +300 2.28532347e+05 1.30656897e+04 ! particle number mass rhill +9.35014220e+03 !particle radius in m +-1.06755868e+07 -2.26215221e+06 -1.03098190e+04 ! x y z +4.22938170e+02 -1.92356457e+03 -6.44322506e+00 ! vx vy vz +301 7.16670668e+04 9.43142814e+03 ! particle number mass rhill +6.35246381e+03 !particle radius in m +-1.15286614e+07 6.85922305e+05 -2.50421030e+03 ! x y z +-1.47622259e+02 -1.91263388e+03 -2.66811177e+00 ! vx vy vz +302 3.41791273e+05 1.66815993e+04 ! particle number mass rhill +7.25614557e+03 !particle radius in m +-1.14907610e+07 3.12025122e+06 -5.05043492e+04 ! x y z +-4.96419350e+02 -1.84148364e+03 1.23574710e+01 ! vx vy vz +303 3.02600957e+05 1.57068129e+04 ! particle number mass rhill +1.02673671e+04 !particle radius in m +3.52540674e+06 1.12335432e+07 5.00575123e+04 ! x y z +-1.81448873e+03 5.96787301e+02 1.05390435e+00 ! vx vy vz +304 1.24634953e+05 1.85683375e+04 ! particle number mass rhill +7.63921866e+03 !particle radius in m +-1.63903863e+07 9.01968445e+06 -1.03768934e+05 ! x y z +-7.30657688e+02 -1.32744569e+03 -3.28089387e+00 ! vx vy vz +305 1.06580756e+06 2.24671215e+04 ! particle number mass rhill +1.06009616e+04 !particle radius in m +1.01396523e+07 -4.81960415e+06 4.30193977e+03 ! x y z +8.23199841e+02 1.75908251e+03 4.33811421e+00 ! vx vy vz +306 1.05002762e+06 2.40980448e+04 ! particle number mass rhill +1.05483834e+04 !particle radius in m +1.06454895e+07 5.05879867e+06 5.08283132e+04 ! x y z +-8.22304047e+02 1.73567086e+03 1.93532669e+00 ! vx vy vz +307 4.27056844e+05 2.36784291e+04 ! particle number mass rhill +7.81533428e+03 !particle radius in m +-1.60755914e+07 -7.66558706e+05 1.42941147e+04 ! x y z +6.22982075e+01 -1.61863536e+03 -1.60725073e+00 ! vx vy vz +308 1.39222251e+06 1.99143819e+04 ! particle number mass rhill +1.15883574e+04 !particle radius in m +-1.46060477e+06 -8.99385191e+06 -3.08209444e+04 ! x y z +2.13011898e+03 -3.25298595e+02 2.80216541e+00 ! vx vy vz +309 1.27802909e+06 1.93841179e+04 ! particle number mass rhill +1.12624422e+04 !particle radius in m +-1.41660966e+06 8.99035717e+06 1.40528615e+04 ! x y z +-2.12617696e+03 -3.75024767e+02 -9.07028597e+00 ! vx vy vz +310 1.60563896e+06 2.27299762e+04 ! particle number mass rhill +1.21525746e+04 !particle radius in m +8.84712919e+06 3.96421798e+06 1.13803740e+04 ! x y z +-8.83218100e+02 1.91945493e+03 3.31259998e+00 ! vx vy vz +311 1.63391111e+05 1.36375912e+04 ! particle number mass rhill +5.67364039e+03 !particle radius in m +6.88657663e+06 -1.05966202e+07 1.71451160e+03 ! x y z +1.56481452e+03 9.63079720e+02 1.94534764e+01 ! vx vy vz +312 3.67336673e+05 1.47597955e+04 ! particle number mass rhill +7.43259427e+03 !particle radius in m +-8.85269678e+06 5.44905716e+06 -5.60825695e+04 ! x y z +-1.07596431e+03 -1.72186966e+03 1.77805310e+01 ! vx vy vz +313 4.77242503e+05 2.18809563e+04 ! particle number mass rhill +1.19513059e+04 !particle radius in m +3.11450797e+06 -1.37495078e+07 -3.57099214e+04 ! x y z +1.70202965e+03 3.85543507e+02 -4.49001111e+00 ! vx vy vz +314 3.74348891e+05 1.43810422e+04 ! particle number mass rhill +1.10220195e+04 !particle radius in m +-9.00924085e+06 4.66367866e+06 1.26574464e+04 ! x y z +-9.50214730e+02 -1.81339232e+03 -1.20100516e-01 ! vx vy vz +315 1.15108819e+05 1.05231234e+04 ! particle number mass rhill +5.04841672e+03 !particle radius in m +-1.08865724e+07 1.89436312e+06 -5.35372336e+04 ! x y z +-3.54360414e+02 -1.92451382e+03 8.24540973e-02 ! vx vy vz +316 2.00402722e+04 9.01916105e+03 ! particle number mass rhill +4.15403541e+03 !particle radius in m +1.55751438e+07 6.03420204e+06 -2.57378814e+04 ! x y z +-5.81737732e+02 1.49479237e+03 -7.62983212e+00 ! vx vy vz +317 1.36478455e+06 2.35917682e+04 ! particle number mass rhill +1.15117238e+04 !particle radius in m +1.06056911e+07 8.74976261e+04 -1.72290821e+03 ! x y z +-1.77150357e+01 2.02140459e+03 -2.31012980e+01 ! vx vy vz +318 1.25503882e+06 2.69799096e+04 ! particle number mass rhill +1.11945004e+04 !particle radius in m +-6.72042968e+06 -1.07531738e+07 5.09281015e+04 ! x y z +1.56397473e+03 -9.57368328e+02 -1.25364327e+01 ! vx vy vz +319 3.83212506e+05 1.74228564e+04 ! particle number mass rhill +7.53816353e+03 !particle radius in m +4.10458407e+06 -1.13623664e+07 -9.48469623e+04 ! x y z +1.78215300e+03 6.13680096e+02 -7.93502985e+00 ! vx vy vz +320 1.19861178e+05 1.06361705e+04 ! particle number mass rhill +7.54041364e+03 !particle radius in m +8.42747503e+06 -6.97349936e+06 -2.15671129e+04 ! x y z +1.26552336e+03 1.51523836e+03 2.12892191e+00 ! vx vy vz +321 2.76964902e+05 1.82031961e+04 ! particle number mass rhill +6.76488745e+03 !particle radius in m +-1.31213742e+07 -4.58561120e+06 1.53600301e+04 ! x y z +5.82359194e+02 -1.66882713e+03 1.14079207e+01 ! vx vy vz +322 7.97652582e+04 8.90232552e+03 ! particle number mass rhill +6.58324849e+03 !particle radius in m +-7.56393159e+06 7.09659926e+06 -4.65315976e+04 ! x y z +-1.36862256e+03 -1.51081343e+03 1.13488899e+01 ! vx vy vz +323 1.71360917e+05 1.02338425e+04 ! particle number mass rhill +8.49453445e+03 !particle radius in m +4.46247777e+06 -8.10645059e+06 1.43618351e+04 ! x y z +1.90934802e+03 1.00293881e+03 8.21819949e+00 ! vx vy vz +324 8.86224252e+04 9.60497307e+03 ! particle number mass rhill +6.81841660e+03 !particle radius in m +-9.96034566e+06 4.35537723e+06 -1.20286093e+04 ! x y z +-7.67471215e+02 -1.83079175e+03 -1.31980560e+01 ! vx vy vz +325 3.61520873e+05 1.66400018e+04 ! particle number mass rhill +1.08946542e+04 !particle radius in m +-1.14760721e+07 3.70943531e+06 -9.49844421e+04 ! x y z +-5.95286906e+02 -1.76496467e+03 3.00728950e+00 ! vx vy vz +326 1.75021180e+06 3.81751240e+04 ! particle number mass rhill +1.25068862e+04 !particle radius in m +-1.57425262e+07 -1.71485068e+06 5.83418789e+04 ! x y z +1.83396886e+02 -1.64215306e+03 1.76834645e+01 ! vx vy vz +327 1.32994897e+06 2.00857686e+04 ! particle number mass rhill +1.14129344e+04 !particle radius in m +-5.50533612e+06 -7.29539312e+06 -4.19582765e+04 ! x y z +1.70576164e+03 -1.34793657e+03 3.36918899e+00 ! vx vy vz +328 1.21855656e+05 9.07633350e+03 ! particle number mass rhill +7.58200769e+03 !particle radius in m +-1.84334893e+06 9.13437442e+06 -6.98626074e+03 ! x y z +-2.09435634e+03 -4.13549777e+02 1.31091798e+01 ! vx vy vz +329 1.40955037e+06 2.89016258e+04 ! particle number mass rhill +1.16362363e+04 !particle radius in m +-8.24556722e+05 1.30406598e+07 9.22800110e+04 ! x y z +-1.80291385e+03 -1.14208577e+02 5.06777815e+00 ! vx vy vz +330 1.58828247e+05 1.37321216e+04 ! particle number mass rhill +8.28218455e+03 !particle radius in m +-9.92787386e+06 7.89436638e+06 5.47155159e+04 ! x y z +-1.15186100e+03 -1.44221325e+03 -1.43299470e+01 ! vx vy vz +331 1.65396738e+05 2.50325908e+04 ! particle number mass rhill +5.69676070e+03 !particle radius in m +-1.72820033e+07 -1.54859445e+07 -1.76600870e+05 ! x y z +9.00952544e+02 -1.00938815e+03 5.52976287e+00 ! vx vy vz +332 4.50908324e+05 1.60135274e+04 ! particle number mass rhill +1.17273100e+04 !particle radius in m +7.54874149e+06 -7.34865635e+06 1.58691383e+04 ! x y z +1.40447688e+03 1.44745232e+03 -1.19902506e+00 ! vx vy vz +333 3.88265588e+05 1.76282129e+04 ! particle number mass rhill +7.57115197e+03 !particle radius in m +6.70925482e+06 1.02233476e+07 -8.94168570e+04 ! x y z +-1.57673538e+03 1.00346927e+03 -1.54449677e+01 ! vx vy vz +334 3.44291979e+05 1.32450561e+04 ! particle number mass rhill +1.07187619e+04 !particle radius in m +-9.38875782e+06 -1.03278172e+06 4.07424683e+04 ! x y z +2.57699240e+02 -2.12423408e+03 -1.75552004e+00 ! vx vy vz +335 1.35334256e+05 1.01627003e+04 ! particle number mass rhill +7.85184231e+03 !particle radius in m +9.27514180e+06 3.60605892e+06 -8.97298126e+03 ! x y z +-7.45316219e+02 1.94032830e+03 2.50725751e+01 ! vx vy vz +336 5.49037875e+04 6.70694447e+03 ! particle number mass rhill +5.81259090e+03 !particle radius in m +2.84715606e+05 -8.96387040e+06 -7.61793089e+04 ! x y z +2.17642987e+03 7.44775849e+01 5.43474351e+00 ! vx vy vz +337 1.06085076e+06 1.97907369e+04 ! particle number mass rhill +1.05845019e+04 !particle radius in m +4.23618089e+06 8.82455069e+06 -3.58009197e+04 ! x y z +-1.88592236e+03 9.06205367e+02 -1.32060735e+01 ! vx vy vz +338 2.06072803e+05 1.29338641e+04 ! particle number mass rhill +9.03321920e+03 !particle radius in m +8.99412766e+06 -6.25093595e+06 5.78854309e+04 ! x y z +1.13268666e+03 1.63171487e+03 -3.80887879e+00 ! vx vy vz +339 1.09138269e+06 2.10029891e+04 ! particle number mass rhill +1.06850859e+04 !particle radius in m +8.95756676e+06 -5.04120234e+06 4.46604404e+04 ! x y z +9.97476295e+02 1.78291720e+03 1.83929026e+01 ! vx vy vz +340 1.18742709e+06 2.48211822e+04 ! particle number mass rhill +1.09897543e+04 !particle radius in m +-6.88398435e+06 -9.59185877e+06 5.44110030e+04 ! x y z +1.53704986e+03 -1.12804795e+03 1.33934445e+01 ! vx vy vz +341 8.61407126e+04 8.77159648e+03 ! particle number mass rhill +6.75416723e+03 !particle radius in m +4.06115845e+06 9.20664592e+06 1.44995295e+04 ! x y z +-1.87321421e+03 8.55264917e+02 4.54558328e+00 ! vx vy vz +342 6.83606027e+04 1.06731784e+04 ! particle number mass rhill +4.24346826e+03 !particle radius in m +5.83709056e+06 1.18773019e+07 -1.78313453e+04 ! x y z +-1.60438748e+03 8.04911839e+02 7.87147192e-01 ! vx vy vz +343 5.80242151e+05 1.62202808e+04 ! particle number mass rhill +1.27557328e+04 !particle radius in m +-9.82331264e+06 -1.72475014e+06 -4.50474397e+04 ! x y z +3.80035552e+02 -2.02006276e+03 1.41607704e+01 ! vx vy vz +344 8.02642827e+04 8.37530219e+03 ! particle number mass rhill +6.59694858e+03 !particle radius in m +-9.75150606e+06 1.14173962e+06 1.90738112e+04 ! x y z +-2.44986733e+02 -2.07228361e+03 4.28819137e-01 ! vx vy vz +345 1.76055567e+06 2.24567768e+04 ! particle number mass rhill +1.25314767e+04 !particle radius in m +8.89271698e+06 -2.80889036e+06 -9.05088712e+04 ! x y z +6.43083392e+02 2.05152117e+03 5.84263642e+00 ! vx vy vz +346 1.47293265e+05 9.27562637e+03 ! particle number mass rhill +5.48083372e+03 !particle radius in m +5.55138431e+05 8.96699891e+06 -2.02907914e+03 ! x y z +-2.16543193e+03 1.17824020e+02 1.89028293e+01 ! vx vy vz +347 9.25475148e+05 2.45394415e+04 ! particle number mass rhill +1.01136344e+04 !particle radius in m +1.08689498e+07 6.77891019e+06 -1.57957399e+05 ! x y z +-9.58257682e+02 1.54874788e+03 -4.38996175e+00 ! vx vy vz +348 1.53116579e+06 2.57152347e+04 ! particle number mass rhill +1.19617045e+04 !particle radius in m +-3.46641057e+06 1.06366697e+07 -4.89091419e+04 ! x y z +-1.87369781e+03 -5.85557096e+02 2.64347289e+00 ! vx vy vz +349 6.04551146e+05 1.51365545e+04 ! particle number mass rhill +1.29314335e+04 !particle radius in m +7.28383532e+06 5.25991927e+06 -2.74032882e+04 ! x y z +-1.28268765e+03 1.77447224e+03 6.54106986e+00 ! vx vy vz +350 1.48886859e+05 1.63747204e+04 ! particle number mass rhill +5.50052892e+03 !particle radius in m +-4.06177152e+06 -1.52948510e+07 1.69121808e+05 ! x y z +1.57226331e+03 -4.40552105e+02 -4.07139830e+00 ! vx vy vz +351 9.88917517e+04 8.68942842e+03 ! particle number mass rhill +4.79923872e+03 !particle radius in m +-9.47543528e+06 -9.79695598e+05 -1.53056931e+04 ! x y z +2.01324530e+02 -2.10617058e+03 -1.48150840e+00 ! vx vy vz +352 5.31761522e+05 2.89128345e+04 ! particle number mass rhill +8.40797283e+03 !particle radius in m +-1.79473215e+07 9.78097521e+05 5.91571461e+04 ! x y z +-1.10933113e+02 -1.54125298e+03 1.80243489e+01 ! vx vy vz +353 5.93800400e+05 3.46771236e+04 ! particle number mass rhill +8.72299905e+03 !particle radius in m +-4.10705239e+06 2.02615072e+07 8.49438827e+04 ! x y z +-1.41774938e+03 -2.76831824e+02 -8.09634112e+00 ! vx vy vz +354 2.16009390e+04 6.17472898e+03 ! particle number mass rhill +4.25918528e+03 !particle radius in m +9.20347813e+05 1.11635810e+07 4.32283845e+04 ! x y z +-1.94746867e+03 1.65365528e+02 5.45495799e+00 ! vx vy vz +355 1.24618540e+06 2.22772636e+04 ! particle number mass rhill +1.11681152e+04 !particle radius in m +1.02476212e+07 1.57307556e+06 1.24769819e+04 ! x y z +-3.20593926e+02 2.01506970e+03 6.12888669e+00 ! vx vy vz +356 2.53529332e+05 1.20865993e+04 ! particle number mass rhill +9.67932473e+03 !particle radius in m +-9.41529174e+06 -1.45196651e+06 -3.72716178e+03 ! x y z +3.30034223e+02 -2.10697891e+03 -9.10557070e+00 ! vx vy vz +357 3.29029712e+05 1.83883747e+04 ! particle number mass rhill +7.16468942e+03 !particle radius in m +9.63405331e+06 9.48657460e+06 -1.16765431e+05 ! x y z +-1.25212013e+03 1.25762974e+03 -8.79471164e+00 ! vx vy vz +358 2.17221291e+05 1.52159954e+04 ! particle number mass rhill +6.23859022e+03 !particle radius in m +1.28395429e+07 1.67358191e+05 3.52526511e+04 ! x y z +-4.79000239e+01 1.82109236e+03 -7.08024284e+00 ! vx vy vz +359 3.25443529e+05 1.78234223e+04 ! particle number mass rhill +1.05194783e+04 !particle radius in m +1.69906243e+05 1.31567065e+07 -2.83802597e+04 ! x y z +-1.79852464e+03 -2.60855891e+01 1.09479469e+01 ! vx vy vz +360 6.21375843e+05 1.72987397e+04 ! particle number mass rhill +1.30502985e+04 !particle radius in m +-8.71409354e+06 -5.07378044e+06 -2.89973508e+04 ! x y z +1.01955016e+03 -1.80816198e+03 1.72703995e+01 ! vx vy vz +361 1.19625108e+06 3.45202092e+04 ! particle number mass rhill +1.10169094e+04 !particle radius in m +-1.32773676e+07 9.58326159e+06 1.68929446e+04 ! x y z +-9.40100121e+02 -1.31837280e+03 -1.11767857e+00 ! vx vy vz +362 7.85243061e+05 1.82848577e+04 ! particle number mass rhill +9.57459397e+03 !particle radius in m +-8.40811158e+06 5.08930784e+06 5.82263133e+04 ! x y z +-1.10041478e+03 -1.79532449e+03 1.45771724e+00 ! vx vy vz +363 5.65328014e+04 9.14731336e+03 ! particle number mass rhill +3.98308125e+03 !particle radius in m +1.04113372e+07 -6.20697428e+06 -4.84867208e+03 ! x y z +9.45840262e+02 1.61620978e+03 2.47832189e-01 ! vx vy vz +364 6.87138794e+05 1.67675123e+04 ! particle number mass rhill +9.15799677e+03 !particle radius in m +-8.01518815e+06 -5.01852324e+06 5.17503273e+04 ! x y z +1.12426091e+03 -1.82440187e+03 2.07206048e-02 ! vx vy vz +365 3.35461131e+05 1.25266942e+04 ! particle number mass rhill +7.21107035e+03 !particle radius in m +2.07944449e+06 8.94904149e+06 4.13797547e+04 ! x y z +-2.09851241e+03 4.60858305e+02 2.54918811e+01 ! vx vy vz +366 1.00962284e+05 9.73161122e+03 ! particle number mass rhill +7.12123600e+03 !particle radius in m +9.71543544e+06 -3.75196256e+06 7.97368753e+04 ! x y z +7.42718545e+02 1.90076456e+03 1.83014984e+00 ! vx vy vz +367 1.83317034e+05 2.12530285e+04 ! particle number mass rhill +8.68766895e+03 !particle radius in m +1.76238307e+07 7.35273671e+06 8.70758386e+04 ! x y z +-5.77591306e+02 1.37259271e+03 3.08504041e+00 ! vx vy vz +368 4.69470359e+05 2.23837382e+04 ! particle number mass rhill +1.18860727e+04 !particle radius in m +1.05252406e+07 1.01023349e+07 1.18854193e+04 ! x y z +-1.19069656e+03 1.22779101e+03 7.21918511e+00 ! vx vy vz +369 1.04756800e+06 2.13183481e+04 ! particle number mass rhill +1.05401406e+04 !particle radius in m +-2.44589262e+06 9.98155585e+06 -7.16098465e+04 ! x y z +-2.01199959e+03 -4.94158200e+02 1.76332595e+01 ! vx vy vz +370 4.18223358e+05 2.54418848e+04 ! particle number mass rhill +1.14368147e+04 !particle radius in m +-1.71313810e+07 1.65684524e+05 7.09374774e+04 ! x y z +-1.73247831e+01 -1.58285349e+03 5.23281867e+00 ! vx vy vz +371 1.20015465e+06 2.17095629e+04 ! particle number mass rhill +1.10288797e+04 !particle radius in m +5.96055313e+06 8.26822848e+06 -6.95116782e+04 ! x y z +-1.67280349e+03 1.20494456e+03 -5.49043884e+00 ! vx vy vz +372 2.26102763e+04 5.41804252e+03 ! particle number mass rhill +4.32451704e+03 !particle radius in m +-4.58351543e+06 8.68653626e+06 -2.19181580e+04 ! x y z +-1.82145003e+03 -9.87506692e+02 -1.02913863e+01 ! vx vy vz +373 5.78093803e+04 1.24595443e+04 ! particle number mass rhill +5.91337055e+03 !particle radius in m +1.46092641e+06 1.62085257e+07 9.35785200e+04 ! x y z +-1.61693894e+03 1.23715914e+02 1.88035614e+01 ! vx vy vz +374 2.95683963e+05 1.17235659e+04 ! particle number mass rhill +6.91398214e+03 !particle radius in m +8.37967759e+06 2.86987872e+06 4.97540416e+02 ! x y z +-6.79497178e+02 2.09457077e+03 -7.48586459e+00 ! vx vy vz +375 4.12889379e+05 1.59172907e+04 ! particle number mass rhill +7.72793689e+03 !particle radius in m +1.00544998e+07 -4.23649556e+06 1.69842871e+04 ! x y z +7.79559289e+02 1.80935311e+03 -9.45690780e-01 ! vx vy vz +376 1.50756339e+05 9.79244978e+03 ! particle number mass rhill +5.52345548e+03 !particle radius in m +4.97012699e+06 7.77763306e+06 -1.08049137e+05 ! x y z +-1.81754065e+03 1.16817211e+03 7.93709072e+00 ! vx vy vz +377 4.43444272e+05 1.35175167e+04 ! particle number mass rhill +1.16622408e+04 !particle radius in m +-8.56556120e+06 -3.00745478e+06 2.68959103e+04 ! x y z +7.41957227e+02 -2.02442760e+03 5.97293652e+00 ! vx vy vz +378 5.12222480e+04 7.36091792e+03 ! particle number mass rhill +3.85423811e+03 !particle radius in m +-9.89914954e+06 1.64381375e+06 1.86441037e+04 ! x y z +-3.29902217e+02 -2.03621690e+03 -1.49125925e+01 ! vx vy vz +379 2.56717090e+05 2.83997991e+04 ! particle number mass rhill +9.71972363e+03 !particle radius in m +-1.33296527e+07 -1.79984260e+07 -6.91244815e+03 ! x y z +1.12052368e+03 -8.18620884e+02 -1.17030012e+00 ! vx vy vz +380 4.75536554e+05 1.67281272e+04 ! particle number mass rhill +8.10053368e+03 !particle radius in m +2.47744290e+05 1.08515872e+07 8.05332988e+04 ! x y z +-1.98242921e+03 4.60702324e+01 -8.10883988e+00 ! vx vy vz +381 2.04638999e+05 1.26959685e+04 ! particle number mass rhill +9.01222011e+03 !particle radius in m +-1.04485761e+07 -3.19315171e+06 -6.87163868e+04 ! x y z +5.84305730e+02 -1.88680612e+03 1.24994521e+01 ! vx vy vz +382 3.60539072e+05 1.69503875e+04 ! particle number mass rhill +7.38646156e+03 !particle radius in m +-4.30915405e+06 1.13988191e+07 -1.87898899e+03 ! x y z +-1.74153886e+03 -6.58302615e+02 5.64269794e+00 ! vx vy vz +383 1.79551829e+04 9.04731795e+03 ! particle number mass rhill +4.00465955e+03 !particle radius in m +1.07629692e+07 1.37789153e+07 5.87066489e+04 ! x y z +-1.23476438e+03 9.58354279e+02 -1.51457433e+01 ! vx vy vz +384 4.98876102e+05 3.47845056e+04 ! particle number mass rhill +8.23094873e+03 !particle radius in m +-2.26919155e+06 -2.23065641e+07 1.71429522e+05 ! x y z +1.36729685e+03 -1.26785143e+02 1.53512073e+00 ! vx vy vz +385 3.30264323e+04 5.95784944e+03 ! particle number mass rhill +4.90670043e+03 !particle radius in m +-8.76057602e+06 -2.98488729e+06 3.16441575e+04 ! x y z +7.01564230e+02 -2.04784374e+03 6.54428080e+00 ! vx vy vz +386 4.63310633e+05 2.64600689e+04 ! particle number mass rhill +1.18338596e+04 !particle radius in m +7.33432561e+06 1.58195231e+07 -1.25526941e+05 ! x y z +-1.41716350e+03 6.50084435e+02 1.99363998e+00 ! vx vy vz +387 4.19368635e+04 6.95684327e+03 ! particle number mass rhill +5.31334038e+03 !particle radius in m +9.67909368e+06 -3.14679172e+06 1.01149877e+04 ! x y z +6.30534017e+02 1.94451859e+03 1.40841719e-01 ! vx vy vz +388 2.57496102e+05 1.15319903e+04 ! particle number mass rhill +6.60251226e+03 !particle radius in m +3.58575623e+06 -8.28340933e+06 2.06786831e+04 ! x y z +2.01251169e+03 8.71048387e+02 4.13835680e+00 ! vx vy vz +389 4.88910847e+05 2.92163767e+04 ! particle number mass rhill +8.17577418e+03 !particle radius in m +-1.59444867e+07 -9.43202143e+06 -1.03432964e+05 ! x y z +7.76368044e+02 -1.31648260e+03 -1.97011404e+00 ! vx vy vz +390 5.40974116e+04 7.11908202e+03 ! particle number mass rhill +3.92504366e+03 !particle radius in m +8.15294773e+06 -4.83168922e+06 -2.23196035e+04 ! x y z +1.12438877e+03 1.80730928e+03 -9.96110137e+00 ! vx vy vz +391 1.52957016e+05 1.22293609e+04 ! particle number mass rhill +5.55020210e+03 !particle radius in m +1.15608807e+07 -1.72289132e+06 8.78681619e+04 ! x y z +2.64558251e+02 1.88351104e+03 -1.22676546e+00 ! vx vy vz +392 1.16028835e+05 1.00480378e+04 ! particle number mass rhill +7.45917792e+03 !particle radius in m +5.94153104e+05 1.04675287e+07 -7.76838952e+04 ! x y z +-2.01022149e+03 1.00791259e+02 2.73869669e+00 ! vx vy vz +393 2.82021040e+05 1.40688004e+04 ! particle number mass rhill +6.80580498e+03 !particle radius in m +9.10704389e+06 5.66556444e+06 -1.21395685e+05 ! x y z +-1.06310456e+03 1.70305461e+03 1.52195271e+01 ! vx vy vz +394 3.98007972e+05 2.07887076e+04 ! particle number mass rhill +7.63395485e+03 !particle radius in m +-6.14994249e+06 -1.27900562e+07 -1.88907757e+04 ! x y z +1.55814359e+03 -7.78224426e+02 2.73440877e-01 ! vx vy vz +395 9.71117259e+04 8.84618676e+03 ! particle number mass rhill +7.02952878e+03 !particle radius in m +-8.80385560e+06 3.77151207e+06 -1.21818940e+05 ! x y z +-8.47944944e+02 -1.95313347e+03 -1.70763192e+01 ! vx vy vz +396 4.85180076e+05 1.88181431e+04 ! particle number mass rhill +1.20172005e+04 !particle radius in m +1.08664166e+07 5.36923937e+06 -8.13196573e+04 ! x y z +-8.16624638e+02 1.69027839e+03 8.34673628e+00 ! vx vy vz +397 2.32920343e+05 1.16940572e+04 ! particle number mass rhill +6.38540043e+03 !particle radius in m +-5.47268707e+06 7.90131264e+06 3.38529547e+04 ! x y z +-1.73122732e+03 -1.20437649e+03 1.62011748e+00 ! vx vy vz +398 1.41454261e+06 2.84156620e+04 ! particle number mass rhill +1.16499575e+04 !particle radius in m +1.10121047e+07 -6.14561995e+06 5.51425169e+04 ! x y z +8.91208138e+02 1.62668641e+03 -4.00812310e+00 ! vx vy vz +399 1.73697324e+05 1.64478571e+04 ! particle number mass rhill +5.79050854e+03 !particle radius in m +-3.82515764e+06 1.42902315e+07 -2.47878060e+04 ! x y z +-1.63598310e+03 -4.85341065e+02 -2.82331478e+00 ! vx vy vz +400 1.55709181e+06 2.18057129e+04 ! particle number mass rhill +1.20288397e+04 !particle radius in m +-1.84053839e+06 9.22666914e+06 -1.87382012e+04 ! x y z +-2.10070573e+03 -4.25824187e+02 -2.45200413e+00 ! vx vy vz +401 2.07330430e+05 1.42389392e+04 ! particle number mass rhill +6.14242713e+03 !particle radius in m +-7.35737221e+06 -9.68920345e+06 5.93390680e+04 ! x y z +1.50053722e+03 -1.12338599e+03 -1.30933156e+01 ! vx vy vz +402 2.66341603e+05 1.31577788e+04 ! particle number mass rhill +9.83970306e+03 !particle radius in m +-8.70682368e+06 5.56356570e+06 -6.56478138e+04 ! x y z +-1.11346390e+03 -1.70326053e+03 1.28466204e+00 ! vx vy vz +403 1.90092636e+05 1.78825398e+04 ! particle number mass rhill +5.96724810e+03 !particle radius in m +7.02500514e+06 -1.38238984e+07 6.74566304e+04 ! x y z +1.48675948e+03 7.65020748e+02 8.19788003e+00 ! vx vy vz +404 4.48638932e+05 1.53496689e+04 ! particle number mass rhill +1.17076027e+04 !particle radius in m +-9.79856030e+06 2.12372760e+06 1.89480336e+04 ! x y z +-4.48830087e+02 -2.02736841e+03 -1.23694959e+01 ! vx vy vz +405 1.73398341e+05 2.54379577e+04 ! particle number mass rhill +8.52806763e+03 !particle radius in m +-1.01558817e+07 -2.10873547e+07 -2.03636345e+05 ! x y z +1.20616652e+03 -5.87121724e+02 -4.30533916e+00 ! vx vy vz +406 5.83945240e+05 2.67498480e+04 ! particle number mass rhill +8.67447176e+03 !particle radius in m +1.10980559e+07 1.19228306e+07 -2.89204661e+04 ! x y z +-1.18553044e+03 1.09632262e+03 8.12769922e+00 ! vx vy vz +407 2.44311266e+05 1.21893974e+04 ! particle number mass rhill +6.48784045e+03 !particle radius in m +1.00683282e+07 -1.06678967e+05 -7.08192900e+04 ! x y z +7.59653606e-01 2.03836538e+03 -2.00978691e+01 ! vx vy vz +408 2.68758985e+05 1.15689067e+04 ! particle number mass rhill +9.86938263e+03 !particle radius in m +8.35393830e+06 3.60269502e+06 -6.29338444e+04 ! x y z +-8.43508227e+02 1.99248181e+03 2.35695291e+01 ! vx vy vz +409 2.09880806e+05 2.76842944e+04 ! particle number mass rhill +9.08852133e+03 !particle radius in m +7.15716844e+06 2.23969109e+07 -2.43128655e+05 ! x y z +-1.28744111e+03 4.04784490e+02 -9.98522887e+00 ! vx vy vz +410 4.53834965e+05 1.88574756e+04 ! particle number mass rhill +7.97538482e+03 !particle radius in m +9.79101038e+06 -7.57582171e+06 -6.16544234e+03 ! x y z +1.14324704e+03 1.46779509e+03 -4.09524183e-01 ! vx vy vz +411 4.95608775e+05 3.36478551e+04 ! particle number mass rhill +1.21026921e+04 !particle radius in m +1.92900217e+07 -9.92716086e+06 -8.71066703e+04 ! x y z +6.46615886e+02 1.23877023e+03 -8.06944804e+00 ! vx vy vz +412 4.02159459e+05 1.51756172e+04 ! particle number mass rhill +1.12884701e+04 !particle radius in m +7.63578761e+05 -1.05163176e+07 -1.40125740e+03 ! x y z +1.99506811e+03 1.28492643e+02 -1.21964426e+00 ! vx vy vz +413 1.16363900e+06 2.46877619e+04 ! particle number mass rhill +1.09158716e+04 !particle radius in m +6.16240208e+05 1.16898273e+07 -2.31871163e+03 ! x y z +-1.92072024e+03 1.14544858e+02 -1.24842975e+01 ! vx vy vz +414 1.07497381e+05 1.07118523e+04 ! particle number mass rhill +4.93459624e+03 !particle radius in m +1.03595473e+07 -4.35809471e+06 -5.55598025e+04 ! x y z +7.59957188e+02 1.81039627e+03 -9.27171494e+00 ! vx vy vz +415 7.20978833e+05 2.10625708e+04 ! particle number mass rhill +9.30593115e+03 !particle radius in m +-8.58951099e+05 1.20741593e+07 8.58096722e+03 ! x y z +-1.85656009e+03 -1.31659982e+02 -7.07088670e-01 ! vx vy vz +416 1.28427470e+05 1.34925228e+04 ! particle number mass rhill +7.71593034e+03 !particle radius in m +1.34936412e+07 9.22411406e+05 -1.28097766e+05 ! x y z +-1.21347788e+02 1.77352752e+03 6.09816980e+00 ! vx vy vz +417 1.87301701e+04 5.21024920e+03 ! particle number mass rhill +4.06146670e+03 !particle radius in m +8.93667242e+06 -4.37387871e+06 4.75249766e+04 ! x y z +9.07116732e+02 1.86034352e+03 -2.16160032e+01 ! vx vy vz +418 1.18868346e+05 1.13624133e+04 ! particle number mass rhill +5.10279049e+03 !particle radius in m +2.97443729e+06 1.12987732e+07 -7.15478904e+04 ! x y z +-1.84937662e+03 4.88975049e+02 -1.62129744e+01 ! vx vy vz +419 8.52470325e+05 2.51851270e+04 ! particle number mass rhill +9.84038492e+03 !particle radius in m +-1.20782110e+07 5.42799080e+06 -2.14298463e+04 ! x y z +-7.60124760e+02 -1.64210069e+03 1.17910321e+00 ! vx vy vz +420 4.92630611e+05 2.65246208e+04 ! particle number mass rhill +8.19645631e+03 !particle radius in m +-1.66687778e+07 3.40131310e+06 -8.13780785e+04 ! x y z +-3.27574668e+02 -1.54958699e+03 7.60005752e+00 ! vx vy vz +421 1.21279031e+06 2.36838042e+04 ! particle number mass rhill +1.10674500e+04 !particle radius in m +8.04465463e+06 7.94262975e+06 3.50880055e+04 ! x y z +-1.38047284e+03 1.36038061e+03 9.60840796e+00 ! vx vy vz +422 2.26966144e+05 1.07078719e+04 ! particle number mass rhill +9.32873342e+03 !particle radius in m +8.72948534e+06 2.25552201e+06 -6.67651980e+03 ! x y z +-5.17110071e+02 2.09745799e+03 -1.26305103e+01 ! vx vy vz +423 5.60894834e+04 1.28408323e+04 ! particle number mass rhill +3.97264243e+03 !particle radius in m +1.59911238e+07 -5.78123234e+06 -4.96452199e+04 ! x y z +5.52053054e+02 1.48435519e+03 -7.76218367e-02 ! vx vy vz +424 2.74792847e+05 1.16703384e+04 ! particle number mass rhill +9.94269530e+03 !particle radius in m +-7.16058601e+06 5.68697632e+06 2.50735615e+04 ! x y z +-1.32041167e+03 -1.70209713e+03 -5.51776816e+00 ! vx vy vz +425 1.03592686e+06 1.97323119e+04 ! particle number mass rhill +1.05009525e+04 !particle radius in m +-1.96591682e+06 -9.56765462e+06 -5.49582524e+04 ! x y z +2.05754068e+03 -4.30221705e+02 -6.52205972e+00 ! vx vy vz +426 1.55296659e+05 1.56025405e+04 ! particle number mass rhill +8.22033835e+03 !particle radius in m +-1.32036875e+07 -6.42805082e+06 -2.13137156e+04 ! x y z +7.40576713e+02 -1.53667373e+03 -1.66122663e+00 ! vx vy vz +427 1.89421380e+06 3.06783506e+04 ! particle number mass rhill +1.28408960e+04 !particle radius in m +7.26511252e+06 1.02544271e+07 -1.28126970e+04 ! x y z +-1.50567288e+03 1.06151555e+03 -1.91621752e+00 ! vx vy vz +428 4.66109388e+04 7.82343589e+03 ! particle number mass rhill +5.50382909e+03 !particle radius in m +-9.70398421e+06 5.43301598e+06 -7.10765156e+04 ! x y z +-9.66770489e+02 -1.69237365e+03 -3.28188506e+00 ! vx vy vz +429 1.90146495e+06 2.33121169e+04 ! particle number mass rhill +1.28572603e+04 !particle radius in m +2.96216400e+05 -9.44659905e+06 6.39430618e+04 ! x y z +2.13334160e+03 5.10827881e+01 -3.06567932e+00 ! vx vy vz +430 4.61962305e+04 6.63727442e+03 ! particle number mass rhill +3.72381283e+03 !particle radius in m +-7.59639515e+06 5.48032752e+06 -2.40679326e+03 ! x y z +-1.21575451e+03 -1.75481888e+03 -1.69366205e+01 ! vx vy vz +431 6.71482788e+04 7.73769019e+03 ! particle number mass rhill +6.21604216e+03 !particle radius in m +4.26014597e+06 8.47244148e+06 -4.52841666e+04 ! x y z +-1.89773381e+03 9.86947142e+02 2.27005651e+00 ! vx vy vz +432 3.12766116e+05 1.22096765e+04 ! particle number mass rhill +7.04464148e+03 !particle radius in m +5.86869928e+06 6.95435059e+06 -3.04780435e+04 ! x y z +-1.65434811e+03 1.39969038e+03 3.34387968e+00 ! vx vy vz +433 4.30468140e+05 1.48164986e+04 ! particle number mass rhill +1.15473588e+04 !particle radius in m +-8.24315322e+06 -5.69586696e+06 2.20302861e+04 ! x y z +1.15852208e+03 -1.69773981e+03 2.26551767e+01 ! vx vy vz +434 2.67293742e+04 5.47730098e+03 ! particle number mass rhill +4.57262149e+03 !particle radius in m +-2.90925512e+06 8.79933915e+06 6.42165783e+04 ! x y z +-2.03971713e+03 -6.70860975e+02 7.91657343e+00 ! vx vy vz +435 6.11118104e+05 1.81074363e+04 ! particle number mass rhill +1.29780877e+04 !particle radius in m +9.24506088e+06 5.42020869e+06 3.55011834e+04 ! x y z +-9.90032731e+02 1.74244918e+03 -6.84359361e+00 ! vx vy vz +436 4.63405803e+04 1.11333435e+04 ! particle number mass rhill +3.72768740e+03 !particle radius in m +1.49390033e+07 5.03002569e+06 -6.08660675e+04 ! x y z +-5.02338251e+02 1.56332178e+03 -1.67781569e+01 ! vx vy vz +437 3.25218696e+05 1.69362297e+04 ! particle number mass rhill +1.05170553e+04 !particle radius in m +1.23161243e+07 1.68843020e+06 2.12877558e+04 ! x y z +-2.39425053e+02 1.84057327e+03 1.32413609e+01 ! vx vy vz +438 1.84457438e+06 2.16659606e+04 ! particle number mass rhill +1.27277329e+04 !particle radius in m +8.91889708e+06 -5.54747107e+05 4.66922419e+04 ! x y z +1.62589921e+02 2.18077019e+03 -1.86548050e+01 ! vx vy vz +439 6.44421975e+05 1.54647739e+04 ! particle number mass rhill +8.96414991e+03 !particle radius in m +-5.82188250e+06 -6.93015474e+06 8.83731418e+03 ! x y z +1.65500621e+03 -1.40856285e+03 -4.08918572e+01 ! vx vy vz +440 1.00366062e+06 2.04312159e+04 ! particle number mass rhill +1.03907754e+04 !particle radius in m +-7.35080590e+06 -7.29055125e+06 -1.20861111e+03 ! x y z +1.39392385e+03 -1.47392682e+03 -1.29937331e+01 ! vx vy vz +441 1.07492900e+05 1.20693239e+04 ! particle number mass rhill +4.93452768e+03 !particle radius in m +-1.22300071e+07 4.00505750e+06 -4.82429747e+04 ! x y z +-5.99234873e+02 -1.71878148e+03 -9.59996458e+00 ! vx vy vz +442 4.00127188e+04 1.04048251e+04 ! particle number mass rhill +5.23080275e+03 !particle radius in m +1.90445756e+06 1.53190995e+07 1.28393938e+05 ! x y z +-1.65070889e+03 1.86078304e+02 1.21713635e+00 ! vx vy vz +443 1.72835996e+04 4.91695733e+03 ! particle number mass rhill +3.95409460e+03 !particle radius in m +1.16512710e+06 9.58806430e+06 6.00184281e+03 ! x y z +-2.08431325e+03 2.50023373e+02 -4.86726355e+00 ! vx vy vz +444 3.64491164e+04 6.19302531e+03 ! particle number mass rhill +5.07066194e+03 !particle radius in m +2.90940058e+06 8.85967621e+06 -3.67911262e+04 ! x y z +-2.05184488e+03 6.57972025e+02 3.77722174e+00 ! vx vy vz +445 9.66027161e+05 2.03395398e+04 ! particle number mass rhill +1.02592460e+04 !particle radius in m +1.02030674e+07 -2.25656251e+06 -2.42931768e+04 ! x y z +4.02033391e+02 1.97779610e+03 -4.56432654e+00 ! vx vy vz +446 2.22544479e+04 4.96458922e+03 ! particle number mass rhill +4.30171134e+03 !particle radius in m +-2.21966207e+06 -8.53462824e+06 5.98951302e+03 ! x y z +2.13957370e+03 -5.72879766e+02 -9.73511724e+00 ! vx vy vz +447 8.51272363e+05 1.92265349e+04 ! particle number mass rhill +9.83577325e+03 !particle radius in m +-5.82677409e+06 -8.25640044e+06 -1.85310721e+04 ! x y z +1.68912824e+03 -1.20023426e+03 -1.46688747e+01 ! vx vy vz +448 2.32140349e+05 1.29036607e+04 ! particle number mass rhill +9.39909127e+03 !particle radius in m +-4.15446158e+05 -1.04064911e+07 -6.01445752e+04 ! x y z +2.04307655e+03 -9.44888304e+01 -1.29270899e+01 ! vx vy vz +449 1.28498831e+05 1.39952129e+04 ! particle number mass rhill +5.23703394e+03 !particle radius in m +1.44949245e+06 -1.38726585e+07 1.28983420e+04 ! x y z +1.74524417e+03 1.89418829e+02 -1.27510818e+00 ! vx vy vz +450 8.56861708e+04 1.01449417e+04 ! particle number mass rhill +6.74226629e+03 !particle radius in m +-1.02673257e+07 5.51832525e+06 7.68510549e+04 ! x y z +-9.09826047e+02 -1.68325012e+03 -9.74521738e+00 ! vx vy vz +451 1.33577416e+06 3.21447068e+04 ! particle number mass rhill +1.14295731e+04 !particle radius in m +9.99103043e+06 1.06885708e+07 7.94231343e+04 ! x y z +-1.28100100e+03 1.14298665e+03 7.74179187e+00 ! vx vy vz +452 1.29793646e+06 2.15081615e+04 ! particle number mass rhill +1.13206181e+04 !particle radius in m +4.41133703e+06 8.86113052e+06 -4.90493478e+04 ! x y z +-1.86573176e+03 9.32322270e+02 -1.20417460e+01 ! vx vy vz +453 3.52625005e+05 1.46757322e+04 ! particle number mass rhill +7.33201534e+03 !particle radius in m +-1.05312274e+07 1.06309083e+06 -3.40508748e+04 ! x y z +-2.12025256e+02 -1.99070933e+03 2.76988985e+00 ! vx vy vz +454 8.65462312e+04 8.10394938e+03 ! particle number mass rhill +6.76474935e+03 !particle radius in m +-9.13190511e+06 -9.87045448e+05 4.65363249e+04 ! x y z +2.72813658e+02 -2.14939314e+03 -6.89232508e+00 ! vx vy vz +455 5.62433674e+05 1.67093031e+04 ! particle number mass rhill +8.56661866e+03 !particle radius in m +-9.55165901e+06 3.32037562e+06 -5.74639097e+04 ! x y z +-7.05014643e+02 -1.94468153e+03 -9.68692941e+00 ! vx vy vz +456 5.46940517e+05 2.51399946e+04 ! particle number mass rhill +8.48722461e+03 !particle radius in m +-2.79080237e+06 -1.49534280e+07 6.61250908e+04 ! x y z +1.66874204e+03 -2.93565278e+02 -6.04868304e+00 ! vx vy vz +457 8.86959726e+04 8.09465350e+03 ! particle number mass rhill +6.82030227e+03 !particle radius in m +1.76076614e+06 -8.89107995e+06 4.77043786e+04 ! x y z +2.14748256e+03 4.04932388e+02 -1.26152318e+01 ! vx vy vz +458 9.68803238e+05 1.76061812e+04 ! particle number mass rhill +1.02690639e+04 !particle radius in m +8.52637393e+06 2.63618253e+06 -5.22911736e+04 ! x y z +-6.60976767e+02 2.09577153e+03 3.42675226e+00 ! vx vy vz +459 1.37575237e+05 1.11544680e+04 ! particle number mass rhill +5.35754408e+03 !particle radius in m +1.08528417e+07 5.02794391e+05 -2.76918530e+04 ! x y z +-1.27726381e+02 1.98516729e+03 -1.12360782e+01 ! vx vy vz +460 1.48998220e+06 2.18747787e+04 ! particle number mass rhill +1.18534842e+04 !particle radius in m +-7.11955030e+06 6.48411163e+06 -1.64876744e+04 ! x y z +-1.43123341e+03 -1.55444238e+03 -1.21086898e+01 ! vx vy vz +461 6.74728805e+05 1.62968820e+04 ! particle number mass rhill +9.10252919e+03 !particle radius in m +7.73539416e+06 4.91837100e+06 3.79759434e+04 ! x y z +-1.16029500e+03 1.85248711e+03 2.31086993e+00 ! vx vy vz +462 2.99651592e+05 1.21722314e+04 ! particle number mass rhill +1.02339004e+04 !particle radius in m +8.76407090e+06 -2.02266717e+06 -1.17355053e+04 ! x y z +4.87045225e+02 2.14976445e+03 -1.12592644e+01 ! vx vy vz +463 4.45840740e+05 1.45174622e+04 ! particle number mass rhill +1.16832115e+04 !particle radius in m +-5.85624077e+06 -7.65100688e+06 -6.81073848e+04 ! x y z +1.69101430e+03 -1.25110313e+03 -1.69620610e+01 ! vx vy vz +464 2.77600737e+04 7.85191483e+03 ! particle number mass rhill +4.63065609e+03 !particle radius in m +-4.73064294e+06 1.23174391e+07 -1.15616945e+05 ! x y z +-1.67622870e+03 -6.40214154e+02 -2.40259531e+00 ! vx vy vz +465 2.75389964e+05 1.70205112e+04 ! particle number mass rhill +6.75204041e+03 !particle radius in m +1.21865621e+07 4.96824670e+06 1.38201935e+04 ! x y z +-6.90512507e+02 1.66991832e+03 1.81886433e+00 ! vx vy vz +466 2.75903056e+05 1.73578977e+04 ! particle number mass rhill +9.95606737e+03 !particle radius in m +1.16681691e+07 6.27755146e+06 -9.89757611e+04 ! x y z +-8.82483897e+02 1.58231102e+03 -7.45315405e-01 ! vx vy vz +467 6.02190482e+04 9.10996020e+03 ! particle number mass rhill +5.99441701e+03 !particle radius in m +-9.82574233e+06 -6.12952303e+06 1.96949177e+04 ! x y z +1.01952580e+03 -1.64506613e+03 1.17311172e+01 ! vx vy vz +468 4.42759837e+05 1.56527672e+04 ! particle number mass rhill +1.16562377e+04 !particle radius in m +-7.66867450e+06 -6.71467472e+06 1.82936899e+04 ! x y z +1.37697709e+03 -1.54141508e+03 -1.04916179e+01 ! vx vy vz +469 3.36720172e+05 1.96306197e+04 ! particle number mass rhill +7.22008053e+03 !particle radius in m +6.68731996e+06 1.21566043e+07 -5.02348380e+04 ! x y z +-1.55626881e+03 8.62955881e+02 7.13319505e+00 ! vx vy vz +470 2.58940449e+04 7.82575799e+03 ! particle number mass rhill +4.52448294e+03 !particle radius in m +5.58226973e+05 -1.33893338e+07 3.23944444e+04 ! x y z +1.78341617e+03 5.70175526e+01 2.01164673e+01 ! vx vy vz +471 1.45256608e+05 9.66608592e+03 ! particle number mass rhill +8.03922694e+03 !particle radius in m +2.69184570e+06 8.96128856e+06 -1.43912663e+04 ! x y z +-2.03943626e+03 6.16982327e+02 1.53458951e+01 ! vx vy vz +472 1.15877026e+06 3.68429014e+04 ! particle number mass rhill +1.09006261e+04 !particle radius in m +-1.76847286e+07 -6.05601018e+05 1.06870104e+04 ! x y z +8.13556990e+01 -1.55405464e+03 1.07736989e+01 ! vx vy vz +473 1.89629066e+05 1.08509311e+04 ! particle number mass rhill +5.96239346e+03 !particle radius in m +-4.46692197e+06 -8.22773588e+06 -3.36712950e+04 ! x y z +1.90929541e+03 -1.00567083e+03 1.30091738e+01 ! vx vy vz +474 5.15337334e+04 1.59115247e+04 ! particle number mass rhill +3.86203494e+03 !particle radius in m +1.09873618e+07 1.89353789e+07 1.37058307e+05 ! x y z +-1.20089709e+03 6.97166990e+02 -1.15971142e+00 ! vx vy vz +475 1.57230937e+06 2.05829163e+04 ! particle number mass rhill +1.20678989e+04 !particle radius in m +8.92466133e+06 -1.21792450e+06 3.61100410e+04 ! x y z +3.10051974e+02 2.14937296e+03 -1.41043166e+01 ! vx vy vz +476 6.33227061e+05 1.83648511e+04 ! particle number mass rhill +8.91193791e+03 !particle radius in m +-5.85289838e+05 1.08674619e+07 3.13865857e+04 ! x y z +-1.97212405e+03 -1.17677554e+02 -3.37938196e+00 ! vx vy vz +477 7.35347415e+04 7.85278044e+03 ! particle number mass rhill +6.40717392e+03 !particle radius in m +2.71862051e+06 -9.05514497e+06 -5.54339403e+02 ! x y z +2.04451063e+03 5.93924832e+02 -2.26401878e+01 ! vx vy vz +478 2.95966865e+05 1.22630751e+04 ! particle number mass rhill +1.01917795e+04 !particle radius in m +-4.06364003e+06 8.41274452e+06 3.61206264e+04 ! x y z +-1.92276154e+03 -9.27433732e+02 1.11784546e+01 ! vx vy vz +479 9.71859875e+04 1.13295872e+04 ! particle number mass rhill +7.03132016e+03 !particle radius in m +-1.19933178e+07 -3.73131347e+06 1.49826992e+03 ! x y z +5.46200488e+02 -1.75445228e+03 -4.43292318e-01 ! vx vy vz +480 1.81399777e+04 1.22864947e+04 ! particle number mass rhill +4.01835133e+03 !particle radius in m +-2.24454214e+07 -7.37433557e+06 5.58803594e+04 ! x y z +4.48331646e+02 -1.26886747e+03 -5.97172099e+00 ! vx vy vz +481 8.06531544e+04 8.77644669e+03 ! particle number mass rhill +4.48393645e+03 !particle radius in m +-1.00569236e+07 1.52027585e+06 5.50467478e+04 ! x y z +-2.73653938e+02 -2.04195337e+03 2.77105641e+00 ! vx vy vz +482 2.97181135e+04 5.68599691e+03 ! particle number mass rhill +4.73706563e+03 !particle radius in m +1.42492815e+06 -9.15917062e+06 -2.25858696e+04 ! x y z +2.12298306e+03 3.34049377e+02 1.00298878e+01 ! vx vy vz +483 4.23222409e+04 7.28278576e+03 ! particle number mass rhill +5.32956636e+03 !particle radius in m +-7.74886856e+06 6.98419572e+06 4.81094824e+02 ! x y z +-1.36287826e+03 -1.51437942e+03 -1.68752883e+01 ! vx vy vz +484 2.03031340e+05 1.37443509e+04 ! particle number mass rhill +8.98855782e+03 !particle radius in m +-9.13222067e+06 7.31343022e+06 -3.08093425e+04 ! x y z +-1.21046156e+03 -1.49256909e+03 -3.15355485e-01 ! vx vy vz +485 6.08047440e+04 8.91637215e+03 ! particle number mass rhill +6.01378842e+03 !particle radius in m +6.06087158e+06 -9.69417839e+06 6.23119551e+04 ! x y z +1.63826093e+03 1.03252872e+03 -8.91138112e+00 ! vx vy vz +486 8.86921034e+04 1.25973681e+04 ! particle number mass rhill +4.62821986e+03 !particle radius in m +1.42036863e+07 3.21005959e+05 -1.52147935e+05 ! x y z +-2.29346938e+01 1.73911536e+03 2.41934076e+00 ! vx vy vz +487 9.52577096e+05 1.72967606e+04 ! particle number mass rhill +1.02114099e+04 !particle radius in m +2.47060933e+06 -8.49038937e+06 -1.64092125e+04 ! x y z +2.11333925e+03 6.27764025e+02 3.26978709e+00 ! vx vy vz +488 5.18391704e+05 2.71580514e+04 ! particle number mass rhill +1.22853727e+04 !particle radius in m +-1.70653039e+07 2.72173559e+06 1.07972032e+05 ! x y z +-2.36876536e+02 -1.54619144e+03 -7.91920171e+00 ! vx vy vz +489 4.36645660e+05 1.45363957e+04 ! particle number mass rhill +7.87339511e+03 !particle radius in m +9.29964742e+06 2.61866241e+06 1.18151327e+04 ! x y z +-6.01432781e+02 2.01893065e+03 -9.18340859e-01 ! vx vy vz +490 3.24205564e+05 1.34006277e+04 ! particle number mass rhill +1.05061229e+04 !particle radius in m +5.46329309e+06 -8.17615351e+06 3.23278517e+03 ! x y z +1.73194521e+03 1.16682128e+03 -2.32849453e+00 ! vx vy vz +491 6.63821774e+04 1.05636781e+04 ! particle number mass rhill +4.20213010e+03 !particle radius in m +-9.38612532e+06 8.96174000e+06 1.24251608e+04 ! x y z +-1.26134064e+03 -1.32562137e+03 -9.16926524e+00 ! vx vy vz +492 1.48737769e+05 1.42832047e+04 ! particle number mass rhill +5.49869230e+03 !particle radius in m +1.34404207e+06 -1.34982267e+07 -9.98145158e+04 ! x y z +1.77251874e+03 1.58186229e+02 -1.18233653e+01 ! vx vy vz +493 4.27953152e+04 1.09683126e+04 ! particle number mass rhill +5.34935064e+03 !particle radius in m +1.59657590e+07 -1.84107184e+06 7.91634963e+04 ! x y z +1.77740752e+02 1.61004155e+03 -8.76452331e-01 ! vx vy vz +494 1.55605997e+04 9.97417601e+03 ! particle number mass rhill +3.81807480e+03 !particle radius in m +-1.95422324e+07 4.27225532e+06 -1.15437134e+04 ! x y z +-3.47390066e+02 -1.42742043e+03 -9.37392480e+00 ! vx vy vz +495 1.07612435e+05 9.82215943e+03 ! particle number mass rhill +7.27427657e+03 !particle radius in m +-8.32827018e+06 6.50246828e+06 1.07863935e+04 ! x y z +-1.19572995e+03 -1.60254308e+03 1.23423582e+00 ! vx vy vz +496 5.96462922e+05 1.86294653e+04 ! particle number mass rhill +8.73601721e+03 !particle radius in m +-1.07074688e+07 2.34621575e+06 5.93641138e+04 ! x y z +-4.22982902e+02 -1.94965020e+03 -1.96471998e+01 ! vx vy vz +497 4.30903278e+05 2.02800538e+04 ! particle number mass rhill +1.15512484e+04 !particle radius in m +4.51979494e+06 1.22520862e+07 -1.38847489e+04 ! x y z +-1.72593078e+03 6.48260700e+02 -7.40684356e+00 ! vx vy vz +498 2.62273130e+05 1.74445137e+04 ! particle number mass rhill +6.64309194e+03 !particle radius in m +2.92552013e+06 -1.35219163e+07 -7.24169872e+04 ! x y z +1.71212479e+03 3.82693746e+02 1.13508153e+01 ! vx vy vz +499 9.47984404e+05 2.08482098e+04 ! particle number mass rhill +1.01949726e+04 !particle radius in m +8.44057923e+05 -1.07213279e+07 5.42825433e+04 ! x y z +1.98524585e+03 1.59641509e+02 -2.17308444e+00 ! vx vy vz +500 1.71702832e+06 3.33526891e+04 ! particle number mass rhill +1.24273391e+04 !particle radius in m +-5.70564751e+06 -1.28061077e+07 7.89815585e+04 ! x y z +1.59615438e+03 -7.17950030e+02 -1.60355758e+01 ! vx vy vz +501 2.72234422e+05 1.15106750e+04 ! particle number mass rhill +9.91174230e+03 !particle radius in m +6.42542385e+06 -6.26831304e+06 -8.52096344e+03 ! x y z +1.51047048e+03 1.57585291e+03 1.26849618e+01 ! vx vy vz +502 1.23522546e+05 1.28533789e+04 ! particle number mass rhill +7.61642321e+03 !particle radius in m +-1.26986567e+07 2.05439645e+06 4.23816010e+04 ! x y z +-3.17593598e+02 -1.80836332e+03 1.37317505e+01 ! vx vy vz +503 1.79476667e+05 1.06554012e+04 ! particle number mass rhill +5.85403069e+03 !particle radius in m +3.89723404e+06 -8.71939773e+06 -1.59555101e+04 ! x y z +1.92484978e+03 8.78585634e+02 3.76576757e+00 ! vx vy vz +504 8.12308648e+05 1.77510996e+04 ! particle number mass rhill +9.68335876e+03 !particle radius in m +9.58403819e+06 -1.00242938e+06 4.12991678e+04 ! x y z +2.21630062e+02 2.09275016e+03 1.75085392e+01 ! vx vy vz +505 9.52125066e+05 2.49408408e+04 ! particle number mass rhill +1.02097944e+04 !particle radius in m +-2.44297176e+05 1.26729604e+07 2.03607439e+04 ! x y z +-1.84680295e+03 -1.82730822e+01 -2.91252739e+00 ! vx vy vz +506 4.64738988e+04 6.53761969e+03 ! particle number mass rhill +5.49842989e+03 !particle radius in m +-8.96004039e+06 4.09560494e+05 -3.60456167e+04 ! x y z +-1.02191608e+02 -2.20756190e+03 -2.24493109e+00 ! vx vy vz +507 5.74538635e+05 1.72816119e+04 ! particle number mass rhill +1.27138008e+04 !particle radius in m +-6.81541514e+06 -7.94063477e+06 -7.18748605e+04 ! x y z +1.54316120e+03 -1.31237150e+03 -1.15079245e+01 ! vx vy vz +508 6.06350829e+05 2.46184244e+04 ! particle number mass rhill +8.78402686e+03 !particle radius in m +-9.08822325e+06 1.13954530e+07 -2.08875223e+04 ! x y z +-1.34302030e+03 -1.07504367e+03 -1.24686872e+01 ! vx vy vz +509 1.36687504e+06 2.39325427e+04 ! particle number mass rhill +1.15175985e+04 !particle radius in m +-1.06157252e+07 1.57779393e+06 -6.65867787e+03 ! x y z +-2.87369206e+02 -1.99101003e+03 7.20690801e-01 ! vx vy vz +510 6.62491872e+05 1.93909693e+04 ! particle number mass rhill +9.04716508e+03 !particle radius in m +7.17906044e+06 8.87425909e+06 -3.25181785e+04 ! x y z +-1.49406264e+03 1.20724214e+03 6.21002078e+00 ! vx vy vz +511 1.47316882e+05 1.36578017e+04 ! particle number mass rhill +5.48112664e+03 !particle radius in m +-1.21003843e+06 -1.29422942e+07 -7.40239219e+04 ! x y z +1.81002624e+03 -1.79331834e+02 1.25932266e+01 ! vx vy vz +512 1.70937828e+05 1.02401788e+04 ! particle number mass rhill +8.48753771e+03 !particle radius in m +-6.99463389e+06 -6.47905900e+06 9.60433255e+04 ! x y z +1.43760545e+03 -1.52260892e+03 -8.56316812e+00 ! vx vy vz +513 1.81406130e+06 3.13505650e+04 ! particle number mass rhill +1.26571613e+04 !particle radius in m +6.31211278e+06 1.15740500e+07 2.93359231e+04 ! x y z +-1.56035950e+03 8.72608400e+02 2.02164700e+01 ! vx vy vz +514 2.10541334e+04 8.90662069e+03 ! particle number mass rhill +4.22293872e+03 !particle radius in m +-1.14209193e+07 -1.19005899e+07 4.72825184e+04 ! x y z +1.16096797e+03 -1.10215252e+03 -1.73463799e+00 ! vx vy vz +515 2.17159803e+05 1.07749747e+04 ! particle number mass rhill +9.19239764e+03 !particle radius in m +-1.91436849e+06 -8.75500915e+06 -5.63789360e+04 ! x y z +2.13513923e+03 -5.15505302e+02 8.14672797e+00 ! vx vy vz +516 7.30928133e+04 7.84250334e+03 ! particle number mass rhill +6.39431287e+03 !particle radius in m +-7.76033426e+06 5.83903373e+06 1.45914082e+04 ! x y z +-1.24659220e+03 -1.65602207e+03 2.58792993e+00 ! vx vy vz +517 9.83999051e+04 1.16580527e+04 ! particle number mass rhill +7.06047440e+03 !particle radius in m +6.04175168e+06 -1.13300829e+07 -2.21833258e+04 ! x y z +1.60126812e+03 8.64183750e+02 2.07897641e+00 ! vx vy vz +518 5.97934335e+04 7.15900578e+03 ! particle number mass rhill +5.98026121e+03 !particle radius in m +7.56777600e+06 -5.38164192e+06 4.82260182e+04 ! x y z +1.23384783e+03 1.75131178e+03 1.39050720e+00 ! vx vy vz +519 5.71894876e+04 8.55975767e+03 ! particle number mass rhill +5.89215810e+03 !particle radius in m +2.24109885e+06 -1.09795024e+07 -3.90720695e+03 ! x y z +1.91472479e+03 3.97948512e+02 1.96668988e+01 ! vx vy vz +520 1.48754762e+06 2.05963996e+04 ! particle number mass rhill +1.18470246e+04 !particle radius in m +-1.60346956e+06 8.94982575e+06 -4.55491048e+04 ! x y z +-2.13610180e+03 -3.93853083e+02 6.45999458e+00 ! vx vy vz +521 3.51821464e+05 2.32804021e+04 ! particle number mass rhill +1.07963370e+04 !particle radius in m +1.33407792e+07 -9.60353157e+06 -4.36975900e+04 ! x y z +9.42437149e+02 1.32281900e+03 -2.80741977e+00 ! vx vy vz +522 7.65767425e+05 1.68127024e+04 ! particle number mass rhill +9.49477387e+03 !particle radius in m +5.43228414e+06 -7.41736135e+06 -2.66812088e+04 ! x y z +1.72722717e+03 1.31007512e+03 -7.34912008e+00 ! vx vy vz +523 4.89668862e+04 9.49351088e+03 ! particle number mass rhill +3.79681841e+03 !particle radius in m +1.54005009e+06 1.28774959e+07 5.16246471e+04 ! x y z +-1.81371335e+03 2.12824688e+02 -9.20646953e-01 ! vx vy vz +524 1.25229074e+06 2.76881585e+04 ! particle number mass rhill +1.11863238e+04 !particle radius in m +1.67931493e+06 1.31306619e+07 -2.70431013e+03 ! x y z +-1.76941688e+03 1.91845464e+02 5.05532665e+00 ! vx vy vz +525 3.32931200e+05 1.90744628e+04 ! particle number mass rhill +1.05995433e+04 !particle radius in m +-1.32214307e+07 4.59727104e+06 -3.96485583e+04 ! x y z +-5.86090985e+02 -1.64093893e+03 -8.60481037e+00 ! vx vy vz +526 1.39271951e+05 1.22980473e+04 ! particle number mass rhill +7.92726804e+03 !particle radius in m +-1.18927692e+07 -9.15865717e+05 -4.39369369e+04 ! x y z +1.82263225e+02 -1.88987287e+03 9.03561914e+00 ! vx vy vz +527 2.99878480e+05 1.71185236e+04 ! particle number mass rhill +1.02364827e+04 !particle radius in m +-9.62033211e+06 8.56620033e+06 -2.00428889e+04 ! x y z +-1.21101074e+03 -1.36584173e+03 3.97879960e+00 ! vx vy vz +528 6.64110630e+04 1.57261442e+04 ! particle number mass rhill +4.20273952e+03 !particle radius in m +9.89301751e+06 1.68175777e+07 -1.13308431e+05 ! x y z +-1.27501202e+03 7.61202373e+02 3.42051019e+00 ! vx vy vz +529 5.96535091e+04 8.89858147e+03 ! particle number mass rhill +5.97559270e+03 !particle radius in m +5.37606728e+06 1.01483084e+07 -2.42832542e+04 ! x y z +-1.69155568e+03 9.33567602e+02 8.03539638e+00 ! vx vy vz +530 1.99075266e+05 1.02852963e+04 ! particle number mass rhill +8.92979367e+03 !particle radius in m +1.14205826e+06 -8.87516936e+06 2.93174632e+04 ! x y z +2.16370189e+03 2.71790476e+02 -6.44072560e-04 ! vx vy vz +531 1.87862294e+06 4.29417274e+04 ! particle number mass rhill +1.28055687e+04 !particle radius in m +1.43504952e+07 -1.05282252e+07 1.08842756e+04 ! x y z +8.96217918e+02 1.25350160e+03 -1.10361539e+01 ! vx vy vz +532 2.46464658e+04 7.69853715e+03 ! particle number mass rhill +4.45062026e+03 !particle radius in m +-1.23862731e+07 -4.56645846e+06 6.19786286e+04 ! x y z +6.35830463e+02 -1.69613094e+03 6.10556298e-01 ! vx vy vz +533 1.21726161e+06 1.98509313e+04 ! particle number mass rhill +1.10810345e+04 !particle radius in m +-9.06340320e+06 2.47989940e+06 5.29566882e+03 ! x y z +-6.09939224e+02 -2.04449772e+03 -8.32106226e+00 ! vx vy vz +534 1.71375734e+06 2.36594524e+04 ! particle number mass rhill +1.24194426e+04 !particle radius in m +4.49134220e+06 -8.88004412e+06 6.17280318e+04 ! x y z +1.84761935e+03 9.49659970e+02 -1.91054187e+01 ! vx vy vz +535 1.17792587e+05 8.88177891e+03 ! particle number mass rhill +7.49678363e+03 !particle radius in m +-8.88023220e+06 1.94417194e+06 -7.43854396e+03 ! x y z +-4.59587086e+02 -2.12797895e+03 1.62261707e+01 ! vx vy vz +536 1.47383712e+06 2.67711289e+04 ! particle number mass rhill +1.18105148e+04 !particle radius in m +-6.23830061e+06 1.01163011e+07 8.19444776e+04 ! x y z +-1.60793851e+03 -1.00726817e+03 7.79908055e+00 ! vx vy vz +537 6.43756917e+05 3.31715734e+04 ! particle number mass rhill +8.96106511e+03 !particle radius in m +1.33415164e+07 1.42367071e+07 9.29022826e+04 ! x y z +-1.09778034e+03 9.88101471e+02 9.22779390e+00 ! vx vy vz +538 6.99959191e+04 7.79605421e+03 ! particle number mass rhill +6.30269894e+03 !particle radius in m +6.77890172e+06 -6.80689243e+06 -5.36873514e+04 ! x y z +1.47893463e+03 1.49784044e+03 1.58118524e+01 ! vx vy vz +539 9.63466589e+05 1.73728715e+04 ! particle number mass rhill +1.02501735e+04 !particle radius in m +8.06725141e+06 -3.62262126e+06 -3.66507377e+04 ! x y z +8.67780530e+02 2.02709545e+03 1.28504792e+01 ! vx vy vz +540 1.06796090e+06 2.10987598e+04 ! particle number mass rhill +1.06080961e+04 !particle radius in m +-1.02130792e+07 -1.98178118e+06 -1.09127341e+03 ! x y z +3.87020460e+02 -1.99318523e+03 -1.70944891e+01 ! vx vy vz +541 1.69193115e+05 1.74469576e+04 ! particle number mass rhill +8.45856229e+03 !particle radius in m +-2.71890650e+06 -1.56230331e+07 9.11371828e+04 ! x y z +1.62029295e+03 -2.93846410e+02 -2.71565573e+00 ! vx vy vz +542 4.08448966e+05 1.69427746e+04 ! particle number mass rhill +7.70013366e+03 !particle radius in m +4.47583128e+06 -1.06559052e+07 4.54196507e+04 ! x y z +1.76732893e+03 7.56289214e+02 -9.51753793e+00 ! vx vy vz +543 4.21097966e+04 8.34723114e+03 ! particle number mass rhill +5.32063382e+03 !particle radius in m +-2.17375021e+06 -1.18877181e+07 -8.95951928e+04 ! x y z +1.85620755e+03 -3.25350325e+02 -7.40810642e+00 ! vx vy vz +544 4.35969753e+05 1.55004244e+04 ! particle number mass rhill +7.86933046e+03 !particle radius in m +-1.01016093e+07 1.38884267e+06 9.80998719e+04 ! x y z +-2.82476358e+02 -2.04196683e+03 -1.00530560e+01 ! vx vy vz +545 1.74468920e+06 3.91496158e+04 ! particle number mass rhill +1.24937177e+04 !particle radius in m +1.39598489e+07 -8.85744354e+06 2.03839682e+05 ! x y z +8.43657382e+02 1.36375070e+03 -3.55497456e+00 ! vx vy vz +546 1.53945922e+05 1.61343327e+04 ! particle number mass rhill +5.56213757e+03 !particle radius in m +-1.43847009e+07 -4.33966476e+06 1.92096630e+04 ! x y z +4.81764822e+02 -1.62800637e+03 4.41101277e-01 ! vx vy vz +547 2.88269639e+05 1.83429356e+04 ! particle number mass rhill +6.85570252e+03 !particle radius in m +1.40885725e+06 -1.39890777e+07 -6.21160422e+04 ! x y z +1.73532137e+03 1.58882387e+02 -4.19228752e+00 ! vx vy vz +548 2.40639954e+05 1.17835112e+04 ! particle number mass rhill +6.45517829e+03 !particle radius in m +-6.30237830e+06 -7.45548810e+06 1.19792411e+04 ! x y z +1.58465709e+03 -1.33550387e+03 2.64893502e+01 ! vx vy vz +549 2.81080705e+05 2.68807908e+04 ! particle number mass rhill +6.79823242e+03 !particle radius in m +1.78118521e+07 -1.09119093e+07 2.70244768e+04 ! x y z +7.41554271e+02 1.21779793e+03 9.15237602e+00 ! vx vy vz +550 7.67656205e+05 1.68827066e+04 ! particle number mass rhill +9.50257381e+03 !particle radius in m +-2.89743663e+06 8.86128251e+06 -6.58120111e+04 ! x y z +-2.02979747e+03 -6.82073189e+02 -2.28176534e+01 ! vx vy vz +551 1.84065446e+05 1.04243205e+04 ! particle number mass rhill +8.69947568e+03 !particle radius in m +8.83702217e+06 -2.90376077e+06 7.27788768e+04 ! x y z +6.85075467e+02 2.02703778e+03 7.97245500e+00 ! vx vy vz +552 4.34671660e+05 1.94276836e+04 ! particle number mass rhill +7.86151243e+03 !particle radius in m +-1.21931564e+07 4.86524046e+06 -2.08324531e+04 ! x y z +-6.82318390e+02 -1.65856508e+03 -6.74090912e+00 ! vx vy vz +553 1.46171434e+05 1.10945190e+04 ! particle number mass rhill +5.46688367e+03 !particle radius in m +-1.05680658e+07 -7.72400524e+05 -4.19566380e+03 ! x y z +1.61680595e+02 -2.00721546e+03 9.15915016e+00 ! vx vy vz +554 6.46892370e+05 1.81986063e+04 ! particle number mass rhill +8.97559000e+03 !particle radius in m +4.91698619e+06 9.43759555e+06 8.61311530e+04 ! x y z +-1.79363820e+03 8.94192612e+02 3.28487627e+00 ! vx vy vz +555 8.66972170e+05 2.98836776e+04 ! particle number mass rhill +9.89587154e+03 !particle radius in m +5.50899609e+06 1.48985993e+07 2.75915152e+04 ! x y z +-1.53604421e+03 5.70661142e+02 -8.63285634e+00 ! vx vy vz +556 1.94853540e+06 2.93655044e+04 ! particle number mass rhill +1.29624899e+04 !particle radius in m +3.19801044e+06 -1.13772802e+07 7.80535196e+04 ! x y z +1.85228574e+03 4.55890151e+02 8.36932683e+00 ! vx vy vz +557 3.43146591e+05 1.41106093e+04 ! particle number mass rhill +1.07068623e+04 !particle radius in m +-2.15573271e+06 -1.00993578e+07 2.69595119e+04 ! x y z +1.97403251e+03 -4.33189618e+02 1.83241184e+01 ! vx vy vz +558 6.08262401e+04 7.76105781e+03 ! particle number mass rhill +6.01449701e+03 !particle radius in m +-9.90249159e+06 1.50849384e+06 7.56908853e+04 ! x y z +-3.34511747e+02 -2.03461346e+03 1.09006280e+01 ! vx vy vz +559 5.33911205e+05 1.50688239e+04 ! particle number mass rhill +8.41928754e+03 !particle radius in m +-8.12226421e+06 -4.86915559e+06 1.48785398e+04 ! x y z +1.08601808e+03 -1.81594814e+03 -1.05069846e+01 ! vx vy vz +560 3.36343620e+04 8.37603659e+03 ! particle number mass rhill +4.93662404e+03 !particle radius in m +1.04182881e+07 7.90957341e+06 -2.69933355e+04 ! x y z +-1.12996754e+03 1.41480511e+03 -6.50919824e+00 ! vx vy vz +561 5.78392305e+05 1.80846634e+04 ! particle number mass rhill +8.64688797e+03 !particle radius in m +-8.48425655e+06 7.30611767e+06 -2.97358583e+04 ! x y z +-1.27983291e+03 -1.45019242e+03 -1.41707765e+01 ! vx vy vz +562 4.38625267e+05 1.60791218e+04 ! particle number mass rhill +1.16198415e+04 !particle radius in m +-8.65184164e+06 6.24864145e+06 -3.92875079e+04 ! x y z +-1.16032314e+03 -1.63406999e+03 1.01313500e+01 ! vx vy vz +563 2.74034207e+05 1.29317245e+04 ! particle number mass rhill +9.93353704e+03 !particle radius in m +8.34883939e+06 5.63589901e+06 -3.07212153e+04 ! x y z +-1.13165810e+03 1.72056724e+03 2.87270046e+01 ! vx vy vz +564 1.14992402e+05 2.05068778e+04 ! particle number mass rhill +7.43690165e+03 !particle radius in m +9.21633433e+06 -1.93093666e+07 -2.54318164e+04 ! x y z +1.26419057e+03 6.27050448e+02 3.30035390e+00 ! vx vy vz +565 4.05431060e+05 1.30553285e+04 ! particle number mass rhill +7.68112210e+03 !particle radius in m +3.80685718e+06 -7.94695887e+06 -6.90041243e+04 ! x y z +2.01235665e+03 9.27723235e+02 1.23111874e+01 ! vx vy vz +566 4.60325019e+05 2.56439114e+04 ! particle number mass rhill +1.18083853e+04 !particle radius in m +-1.32805505e+07 -9.89987589e+06 1.89561964e+05 ! x y z +9.51950860e+02 -1.30762258e+03 -3.09155476e+00 ! vx vy vz +567 1.87989321e+05 1.07137061e+04 ! particle number mass rhill +5.94515785e+03 !particle radius in m +7.49508147e+05 9.39060182e+06 -2.98793685e+03 ! x y z +-2.12842500e+03 1.60409656e+02 -2.35936034e+00 ! vx vy vz +568 2.16431915e+05 1.10103187e+04 ! particle number mass rhill +9.18211562e+03 !particle radius in m +1.66945874e+06 -9.11271704e+06 -1.05228493e+04 ! x y z +2.11017159e+03 4.07672310e+02 4.86502364e+00 ! vx vy vz +569 1.49318229e+05 1.04005379e+04 ! particle number mass rhill +5.50583603e+03 !particle radius in m +-4.36738498e+06 -8.73103534e+06 3.44651531e+03 ! x y z +1.86828307e+03 -9.77585967e+02 3.81224965e+00 ! vx vy vz +570 6.11004170e+04 1.82167732e+04 ! particle number mass rhill +4.08758743e+03 !particle radius in m +-1.94040314e+07 1.29480928e+07 -6.30516410e+04 ! x y z +-7.60734575e+02 -1.12192654e+03 2.15504297e+00 ! vx vy vz +571 1.74760567e+06 2.27605806e+04 ! particle number mass rhill +1.25006754e+04 !particle radius in m +-2.30041587e+06 -9.09389672e+06 2.95714152e+04 ! x y z +2.09036388e+03 -5.21147635e+02 -8.12618749e+00 ! vx vy vz +572 2.53385422e+05 1.12224764e+04 ! particle number mass rhill +6.56718935e+03 !particle radius in m +-8.45167174e+06 3.53866282e+06 8.15293748e+03 ! x y z +-8.17977533e+02 -1.97338441e+03 3.10707851e+01 ! vx vy vz +573 3.56711320e+05 1.72654191e+04 ! particle number mass rhill +1.08461254e+04 !particle radius in m +-1.10837839e+05 -1.22760495e+07 9.98243029e+04 ! x y z +1.86849744e+03 1.94461008e+01 1.19094336e+01 ! vx vy vz +574 1.71714492e+06 3.11539445e+04 ! particle number mass rhill +1.24276204e+04 !particle radius in m +-2.16572849e+06 -1.29271292e+07 8.07671116e+04 ! x y z +1.79349978e+03 -2.38674951e+02 -1.98965270e+00 ! vx vy vz +575 6.02542390e+05 1.49657344e+04 ! particle number mass rhill +1.29170951e+04 !particle radius in m +-2.12394299e+06 8.55999084e+06 1.53741130e+04 ! x y z +-2.16066071e+03 -5.04790442e+02 1.96131475e+01 ! vx vy vz +576 1.94414111e+05 1.17556573e+04 ! particle number mass rhill +8.85954838e+03 !particle radius in m +1.01810115e+07 -3.37487969e+05 -2.68884911e+04 ! x y z +8.19073631e+01 2.05446062e+03 -7.35333556e+00 ! vx vy vz +577 7.08349066e+05 1.99157790e+04 ! particle number mass rhill +9.25127176e+03 !particle radius in m +-4.23808016e+06 1.06041798e+07 1.34318994e+05 ! x y z +-1.79220969e+03 -7.00369186e+02 1.28815476e+00 ! vx vy vz +578 1.81168126e+05 1.06805439e+04 ! particle number mass rhill +5.87236346e+03 !particle radius in m +-7.46862356e+06 5.99931350e+06 -2.30141523e+03 ! x y z +-1.36280521e+03 -1.60905358e+03 6.63931385e+00 ! vx vy vz +579 3.61584621e+04 8.02944821e+03 ! particle number mass rhill +5.05714772e+03 !particle radius in m +-1.11448733e+07 5.00947275e+06 -4.68801561e+04 ! x y z +-7.74415285e+02 -1.70766691e+03 -3.61919201e+00 ! vx vy vz +580 2.03415997e+05 1.20229466e+04 ! particle number mass rhill +6.10352459e+03 !particle radius in m +-3.19024158e+06 9.81483389e+06 5.84486975e+04 ! x y z +-1.93912156e+03 -6.23690422e+02 1.23117054e+01 ! vx vy vz +581 1.40326198e+06 5.19405721e+04 ! particle number mass rhill +1.16189063e+04 !particle radius in m +-2.24603747e+07 6.26030145e+06 -3.01506892e+04 ! x y z +-3.65393394e+02 -1.30811994e+03 1.11405519e+01 ! vx vy vz +582 1.03623455e+06 2.78342563e+04 ! particle number mass rhill +1.05019921e+04 !particle radius in m +-1.12701774e+07 -7.80948644e+06 -6.84666678e+04 ! x y z +9.99713905e+02 -1.47048211e+03 2.44750306e+01 ! vx vy vz +583 7.92234060e+04 8.27125360e+03 ! particle number mass rhill +6.56830775e+03 !particle radius in m +-1.36712830e+06 9.67813820e+06 -6.74480903e+04 ! x y z +-2.06604712e+03 -2.98384524e+02 -5.50167062e+00 ! vx vy vz +584 1.51550857e+06 3.51961262e+04 ! particle number mass rhill +1.19207925e+04 !particle radius in m +7.73867408e+06 1.33759604e+07 3.56063208e+04 ! x y z +-1.44506269e+03 8.28074701e+02 1.84054191e+00 ! vx vy vz +585 5.49400267e+05 1.52237938e+04 ! particle number mass rhill +8.49992876e+03 !particle radius in m +-7.77453358e+06 -5.02677399e+06 3.78389790e+04 ! x y z +1.16536090e+03 -1.82463232e+03 -7.04505898e+00 ! vx vy vz +586 1.12395540e+05 9.88134833e+03 ! particle number mass rhill +7.38049260e+03 !particle radius in m +7.38262528e+06 7.34984552e+06 -2.24885801e+04 ! x y z +-1.42099662e+03 1.43499436e+03 1.07378124e+01 ! vx vy vz +587 1.14927250e+06 2.54087794e+04 ! particle number mass rhill +1.08707623e+04 !particle radius in m +-1.19920742e+07 -2.80217215e+06 -5.59313271e+04 ! x y z +4.17941960e+02 -1.81181182e+03 1.45497492e+01 ! vx vy vz +588 1.94869968e+05 1.38427149e+04 ! particle number mass rhill +6.01682391e+03 !particle radius in m +-9.55988426e+06 -7.31862699e+06 -2.64957060e+04 ! x y z +1.16610080e+03 -1.48362062e+03 -6.94255903e+00 ! vx vy vz +589 1.38090127e+05 1.95791379e+04 ! particle number mass rhill +5.36421948e+03 !particle radius in m +1.02276231e+07 -1.62862349e+07 -9.70147988e+04 ! x y z +1.26937242e+03 7.76347306e+02 4.03225256e+00 ! vx vy vz +590 5.23014408e+04 6.86509893e+03 ! particle number mass rhill +5.71926483e+03 !particle radius in m +-5.16420660e+06 -7.78596130e+06 4.36962776e+04 ! x y z +1.78489031e+03 -1.16625555e+03 -2.90708635e+00 ! vx vy vz +591 1.97559266e+05 1.25161752e+04 ! particle number mass rhill +8.90706847e+03 !particle radius in m +-7.45989489e+06 7.86823113e+06 2.30718801e+04 ! x y z +-1.45305114e+03 -1.35662728e+03 1.14450554e+01 ! vx vy vz +592 1.32884443e+06 2.77085745e+04 ! particle number mass rhill +1.14097740e+04 !particle radius in m +-7.21533013e+06 1.04550999e+07 5.75058243e+04 ! x y z +-1.49719620e+03 -1.06522065e+03 9.45819576e+00 ! vx vy vz +593 9.09171415e+04 9.17387085e+03 ! particle number mass rhill +6.87676601e+03 !particle radius in m +6.25358173e+06 -8.48267668e+06 1.86642486e+04 ! x y z +1.59879201e+03 1.18862345e+03 -8.19507037e+00 ! vx vy vz +594 3.68814962e+04 7.83261170e+03 ! particle number mass rhill +5.09063352e+03 !particle radius in m +-7.19321718e+06 -9.25718484e+06 1.26289010e+05 ! x y z +1.51012765e+03 -1.19137905e+03 -2.08075301e+01 ! vx vy vz +595 4.29012281e+05 1.53363892e+04 ! particle number mass rhill +1.15343262e+04 !particle radius in m +9.77355514e+06 -3.06014377e+06 -1.91679922e+04 ! x y z +6.16624498e+02 1.95214553e+03 8.76866120e+00 ! vx vy vz +596 1.67151812e+06 2.61804288e+04 ! particle number mass rhill +1.23165581e+04 !particle radius in m +9.85520768e+06 5.11039151e+06 2.67592384e+04 ! x y z +-9.36821649e+02 1.72971850e+03 9.58489099e+00 ! vx vy vz +597 2.96497244e+05 2.95918505e+04 ! particle number mass rhill +1.01978639e+04 !particle radius in m +2.25000304e+07 2.97587658e+06 1.11207983e+05 ! x y z +-2.07470373e+02 1.34869606e+03 9.35124053e+00 ! vx vy vz +598 4.99711716e+04 8.09133863e+03 ! particle number mass rhill +3.82259987e+03 !particle radius in m +9.72912370e+06 4.89272799e+06 4.72049901e+04 ! x y z +-8.59138858e+02 1.80693327e+03 1.59854908e+00 ! vx vy vz +599 6.13445666e+05 3.80459797e+04 ! particle number mass rhill +1.29945434e+04 !particle radius in m +8.58212362e+06 2.09155798e+07 -8.24274997e+04 ! x y z +-1.27328941e+03 5.22122914e+02 2.97251817e+00 ! vx vy vz +600 3.65124112e+04 8.18474194e+03 ! particle number mass rhill +5.07359536e+03 !particle radius in m +1.25914809e+07 -1.54064226e+06 -2.42309046e+04 ! x y z +2.41941616e+02 1.80407714e+03 -4.95095821e+00 ! vx vy vz +601 2.49679566e+05 1.13272687e+04 ! particle number mass rhill +9.63008210e+03 !particle radius in m +-9.08598960e+06 5.01876430e+05 -5.56896042e+04 ! x y z +-1.04300102e+02 -2.16453693e+03 -3.87670808e+00 ! vx vy vz +602 2.98598310e+04 5.98525472e+03 ! particle number mass rhill +4.74458362e+03 !particle radius in m +8.60778725e+06 4.52935761e+06 2.36936302e+04 ! x y z +-9.88264993e+02 1.85248346e+03 -3.75174148e+00 ! vx vy vz +603 3.14009599e+04 5.61935630e+03 ! particle number mass rhill +4.82484424e+03 !particle radius in m +-8.51705861e+06 -3.00987013e+06 -6.10335808e+04 ! x y z +7.24297619e+02 -2.04790563e+03 -9.17975560e+00 ! vx vy vz +604 1.50689193e+06 4.63163678e+04 ! particle number mass rhill +1.18981571e+04 !particle radius in m +-2.02348638e+07 -1.68672863e+06 -1.06729108e+05 ! x y z +1.27546784e+02 -1.44981480e+03 -2.13046543e+00 ! vx vy vz +605 3.08427266e+04 8.13697460e+03 ! particle number mass rhill +4.79608176e+03 !particle radius in m +9.64800303e+06 8.51584872e+06 1.81571159e+04 ! x y z +-1.21061246e+03 1.38578498e+03 -1.32836513e+01 ! vx vy vz +606 1.05761949e+05 1.13464200e+04 ! particle number mass rhill +4.90789744e+03 !particle radius in m +9.13818695e+06 -7.70452976e+06 2.69452399e+04 ! x y z +1.22812984e+03 1.45658692e+03 -6.73843496e+00 ! vx vy vz +607 6.83351496e+05 1.64381768e+04 ! particle number mass rhill +9.14114041e+03 !particle radius in m +-1.09145671e+06 9.34973420e+06 5.18642883e+03 ! x y z +-2.11998407e+03 -2.42766889e+02 -9.89092405e-01 ! vx vy vz +608 1.58743711e+05 2.35809946e+04 ! particle number mass rhill +8.28071491e+03 !particle radius in m +1.92010196e+07 1.03149047e+07 5.09869779e+04 ! x y z +-6.74338417e+02 1.23568504e+03 -2.88434162e+00 ! vx vy vz +609 4.85097547e+05 1.47521599e+04 ! particle number mass rhill +8.15446281e+03 !particle radius in m +9.58051429e+06 -4.62318632e+05 6.35849025e+04 ! x y z +9.06335255e+01 2.09825906e+03 -7.35742647e+00 ! vx vy vz +610 1.16601211e+06 2.73042222e+04 ! particle number mass rhill +1.09232871e+04 !particle radius in m +-1.30847754e+07 -1.20838009e+05 2.79768532e+04 ! x y z +3.82034000e+01 -1.80937386e+03 2.83422576e+00 ! vx vy vz +611 2.36220533e+05 1.51727636e+04 ! particle number mass rhill +9.45383905e+03 !particle radius in m +-5.32926260e+06 1.08809045e+07 2.85451712e+04 ! x y z +-1.71920333e+03 -8.10618635e+02 -1.48118539e+01 ! vx vy vz +612 1.53212486e+05 1.16720318e+04 ! particle number mass rhill +8.18339867e+03 !particle radius in m +1.07932378e+07 -2.40071483e+06 1.38428017e+04 ! x y z +4.19588126e+02 1.91854962e+03 1.35266288e+01 ! vx vy vz +613 2.15032649e+05 1.38289963e+04 ! particle number mass rhill +9.16228488e+03 !particle radius in m +-6.86193518e+06 -9.36770363e+06 8.70674895e+04 ! x y z +1.55612467e+03 -1.13081122e+03 -1.76373653e+01 ! vx vy vz +614 3.57192885e+05 1.39240117e+04 ! particle number mass rhill +7.36353909e+03 !particle radius in m +5.38169569e+06 -8.48107525e+06 -8.38982677e+03 ! x y z +1.73578647e+03 1.09143169e+03 9.09587252e-01 ! vx vy vz +615 1.51298142e+05 9.39126242e+03 ! particle number mass rhill +8.14917269e+03 !particle radius in m +7.81574277e+06 4.66176951e+06 -2.35259182e+04 ! x y z +-1.08169242e+03 1.85148012e+03 8.40529015e+00 ! vx vy vz +616 1.65258517e+06 2.26178964e+04 ! particle number mass rhill +1.22698790e+04 !particle radius in m +6.77476212e+06 6.99394577e+06 -8.71906448e+03 ! x y z +-1.48799386e+03 1.46547457e+03 -6.43335853e-01 ! vx vy vz +617 9.43780075e+04 8.08500600e+03 ! particle number mass rhill +4.72508108e+03 !particle radius in m +-2.14192792e+06 -8.68107380e+06 -3.97684760e+04 ! x y z +2.13766548e+03 -4.81639501e+02 9.54765001e+00 ! vx vy vz +618 5.20613559e+04 7.11254070e+03 ! particle number mass rhill +5.71050016e+03 !particle radius in m +9.36808365e+06 1.90217107e+06 2.99198598e+04 ! x y z +-4.46020774e+02 2.07539296e+03 -7.66300380e+00 ! vx vy vz +619 3.53322004e+05 1.27856154e+04 ! particle number mass rhill +7.33684298e+03 !particle radius in m +7.27614119e+06 5.72024594e+06 2.49831464e+04 ! x y z +-1.34304944e+03 1.66116310e+03 2.15485187e+00 ! vx vy vz +620 3.01485598e+04 9.63815331e+03 ! particle number mass rhill +4.75982712e+03 !particle radius in m +9.58921336e+06 -1.24222677e+07 -1.97472656e+05 ! x y z +1.32022081e+03 9.87424842e+02 4.32249357e+00 ! vx vy vz +621 1.15454217e+06 2.88150349e+04 ! particle number mass rhill +1.08873520e+04 !particle radius in m +-7.88989019e+06 -1.13885470e+07 -2.56937402e+04 ! x y z +1.46586529e+03 -9.71985942e+02 -3.51396551e+00 ! vx vy vz +622 1.78730679e+04 5.13980334e+03 ! particle number mass rhill +3.99854533e+03 !particle radius in m +3.87292376e+06 9.21006941e+06 -6.39624708e+04 ! x y z +-1.89793804e+03 8.09142969e+02 -6.59781953e+00 ! vx vy vz +623 1.77312636e+05 9.87874797e+03 ! particle number mass rhill +5.83040726e+03 !particle radius in m +7.50695786e+06 -4.65362052e+06 -7.10126403e+03 ! x y z +1.18139098e+03 1.86471888e+03 -3.95167658e+00 ! vx vy vz +624 8.05498659e+04 1.29509945e+04 ! particle number mass rhill +4.48202152e+03 !particle radius in m +-1.39144844e+07 5.81363011e+06 3.85998049e+04 ! x y z +-6.70071502e+02 -1.54974548e+03 4.74922131e+00 ! vx vy vz +625 1.59716194e+06 2.34638970e+04 ! particle number mass rhill +1.21311502e+04 !particle radius in m +9.87837438e+06 2.55551323e+06 -1.36596041e+03 ! x y z +-4.90308025e+02 1.98176510e+03 -1.01037674e+01 ! vx vy vz +626 6.72346518e+05 2.60337621e+04 ! particle number mass rhill +9.09180370e+03 !particle radius in m +1.45341700e+07 -4.27619608e+06 5.93941868e+04 ! x y z +4.77328962e+02 1.60335894e+03 -4.97370028e+00 ! vx vy vz +627 1.41726204e+06 2.54448913e+04 ! particle number mass rhill +1.16574183e+04 !particle radius in m +2.05268573e+06 -1.13741606e+07 4.03903250e+04 ! x y z +1.88573928e+03 3.30474062e+02 -1.50298053e+01 ! vx vy vz +628 1.10954319e+05 1.02376716e+04 ! particle number mass rhill +7.34881070e+03 !particle radius in m +-1.02805752e+07 -3.59154998e+06 7.79568952e+04 ! x y z +6.27919253e+02 -1.86780226e+03 9.15877947e+00 ! vx vy vz +629 8.01558993e+05 1.82236275e+04 ! particle number mass rhill +9.64045416e+03 !particle radius in m +1.00209373e+07 1.06957570e+06 -9.24601092e+04 ! x y z +-1.95870916e+02 2.03366838e+03 -1.10087708e-01 ! vx vy vz +630 1.75219955e+04 8.28328926e+03 ! particle number mass rhill +3.97219150e+03 !particle radius in m +-1.39517485e+07 8.21883388e+06 7.67623281e+03 ! x y z +-8.12327248e+02 -1.40338294e+03 4.18222867e+00 ! vx vy vz +631 2.70985262e+05 1.55395340e+04 ! particle number mass rhill +6.71584845e+03 !particle radius in m +1.02605370e+07 -6.40538450e+06 2.46021664e+04 ! x y z +9.77968382e+02 1.60990669e+03 -4.31601474e+00 ! vx vy vz +632 1.87758694e+05 1.26002769e+04 ! particle number mass rhill +8.75727541e+03 !particle radius in m +1.06053206e+07 3.44385915e+06 5.77152912e+04 ! x y z +-5.52774107e+02 1.87621696e+03 -1.29609706e+01 ! vx vy vz +633 1.91365423e+05 1.35546510e+04 ! particle number mass rhill +5.98053661e+03 !particle radius in m +-9.64301945e+06 6.86746863e+06 -1.42533659e+05 ! x y z +-1.09942559e+03 -1.55528445e+03 -9.72595405e+00 ! vx vy vz +634 1.92615451e+06 3.61432544e+04 ! particle number mass rhill +1.29126696e+04 !particle radius in m +1.05754125e+06 -1.47420174e+07 -1.54880877e+04 ! x y z +1.69143054e+03 1.16386287e+02 -1.26829716e+01 ! vx vy vz +635 1.14971495e+05 9.60186487e+03 ! particle number mass rhill +5.04640834e+03 !particle radius in m +-3.03537890e+06 9.53552265e+06 9.73685659e+03 ! x y z +-1.96823062e+03 -6.23463481e+02 -1.63952204e+01 ! vx vy vz +636 8.70999495e+04 8.89007814e+03 ! particle number mass rhill +4.60035801e+03 !particle radius in m +-9.98694456e+06 -1.23492362e+06 -1.80480653e+04 ! x y z +2.38207036e+02 -2.05532674e+03 1.79734911e+01 ! vx vy vz +637 4.81902061e+05 1.55239091e+04 ! particle number mass rhill +1.19900755e+04 !particle radius in m +-3.74835489e+06 9.22336598e+06 -1.11560816e+05 ! x y z +-1.91843216e+03 -7.98271594e+02 2.02049490e+01 ! vx vy vz +638 1.73811384e+06 2.38459745e+04 ! particle number mass rhill +1.24780025e+04 !particle radius in m +-6.68794780e+06 -7.54430362e+06 8.73782978e+03 ! x y z +1.55324620e+03 -1.34364314e+03 -6.31744671e+00 ! vx vy vz +639 1.76428878e+06 2.49234046e+04 ! particle number mass rhill +1.25403278e+04 !particle radius in m +-1.03958383e+07 8.06724680e+05 2.41594570e+04 ! x y z +-1.55899964e+02 -2.01914147e+03 9.33842265e-01 ! vx vy vz +640 6.25956859e+04 8.38753569e+03 ! particle number mass rhill +4.12066331e+03 !particle radius in m +9.33960040e+06 5.20047646e+06 3.07184995e+03 ! x y z +-9.59952400e+02 1.75350496e+03 -9.51510094e+00 ! vx vy vz +641 1.32721741e+06 2.44443564e+04 ! particle number mass rhill +1.14051155e+04 !particle radius in m +-4.55852771e+05 1.12982302e+07 1.97139798e+04 ! x y z +-1.93821973e+03 -6.36299001e+01 1.52707202e+00 ! vx vy vz +642 2.04032003e+05 1.11593688e+04 ! particle number mass rhill +9.00330067e+03 !particle radius in m +-9.39243710e+06 -4.13852649e+05 -1.20016794e+05 ! x y z +7.29189904e+01 -2.15146169e+03 7.46416116e+00 ! vx vy vz +643 8.59933873e+04 1.92500751e+04 ! particle number mass rhill +6.75031451e+03 !particle radius in m +1.55420118e+07 -1.56324574e+07 1.17450688e+05 ! x y z +9.80482478e+02 9.89380982e+02 -2.43164132e+00 ! vx vy vz +644 4.18672946e+05 1.53732676e+04 ! particle number mass rhill +1.14409114e+04 !particle radius in m +1.02533186e+07 8.01360601e+05 -1.49055635e+04 ! x y z +-1.71963144e+02 2.04211236e+03 -5.41798226e+00 ! vx vy vz +645 3.97979113e+05 1.45162835e+04 ! particle number mass rhill +7.63377033e+03 !particle radius in m +1.42914142e+06 9.84981684e+06 2.93564167e+04 ! x y z +-2.05268655e+03 3.05405042e+02 3.66863343e+00 ! vx vy vz +646 3.58897606e+05 1.28959174e+04 ! particle number mass rhill +7.37523479e+03 !particle radius in m +8.46677243e+06 -3.56936745e+06 -1.01092855e+05 ! x y z +8.46329328e+02 1.98233396e+03 -1.20626919e+01 ! vx vy vz +647 1.87305363e+05 1.22408175e+04 ! particle number mass rhill +8.75022177e+03 !particle radius in m +-5.51541812e+06 -9.33328186e+06 -7.53076104e+04 ! x y z +1.69850130e+03 -1.02466912e+03 -1.16108091e+01 ! vx vy vz +648 8.78353527e+05 1.98218840e+04 ! particle number mass rhill +9.93898678e+03 !particle radius in m +7.91261034e+06 6.82977302e+06 4.78744592e+04 ! x y z +-1.31937664e+03 1.53446068e+03 9.71586209e+00 ! vx vy vz +649 1.08320847e+06 2.42668498e+04 ! particle number mass rhill +1.06583427e+04 !particle radius in m +9.51054870e+06 7.22147752e+06 -1.16155344e+05 ! x y z +-1.13247642e+03 1.51634128e+03 7.95619932e+00 ! vx vy vz +650 1.35270154e+05 1.12325034e+04 ! particle number mass rhill +7.85060242e+03 !particle radius in m +7.56958002e+06 8.18907830e+06 2.90934189e+04 ! x y z +-1.41713137e+03 1.33985142e+03 -1.12168107e+00 ! vx vy vz +651 2.09089114e+05 1.17143131e+04 ! particle number mass rhill +6.15974600e+03 !particle radius in m +-6.13341164e+06 7.98589804e+06 -2.27618169e+04 ! x y z +-1.62649363e+03 -1.24985675e+03 2.06508812e+00 ! vx vy vz +652 1.29236474e+05 1.13728325e+04 ! particle number mass rhill +5.24703584e+03 !particle radius in m +6.47073981e+06 -9.41271204e+06 -2.22310124e+04 ! x y z +1.59958848e+03 1.08093374e+03 -3.51035905e+00 ! vx vy vz +653 4.13756669e+04 7.58921833e+03 ! particle number mass rhill +5.28953293e+03 !particle radius in m +7.87952728e+06 -7.74021482e+06 2.62244560e+04 ! x y z +1.39190993e+03 1.39669667e+03 7.19439783e+00 ! vx vy vz +654 5.94352115e+05 1.68404426e+04 ! particle number mass rhill +8.72569980e+03 !particle radius in m +-7.78608816e+06 6.02791398e+06 3.71436614e+04 ! x y z +-1.25856718e+03 -1.69668386e+03 -1.29605210e+01 ! vx vy vz +655 1.52103203e+05 1.25614339e+04 ! particle number mass rhill +5.53985567e+03 !particle radius in m +-6.32210122e+06 -1.01415155e+07 4.88655736e+04 ! x y z +1.63018229e+03 -9.50923090e+02 9.77870783e+00 ! vx vy vz +656 2.64701944e+04 5.32014088e+03 ! particle number mass rhill +4.55779408e+03 !particle radius in m +-6.23576444e+06 6.51367852e+06 -3.41989237e+04 ! x y z +-1.58628947e+03 -1.49318367e+03 1.23405417e+01 ! vx vy vz +657 1.19869986e+06 2.89826147e+04 ! particle number mass rhill +1.10244216e+04 !particle radius in m +-1.35500086e+07 -2.26040006e+06 1.32350391e+05 ! x y z +2.64719358e+02 -1.74789986e+03 -5.31947479e+00 ! vx vy vz +658 5.10809049e+05 2.07577403e+04 ! particle number mass rhill +1.22251778e+04 !particle radius in m +5.77929553e+06 -1.19535178e+07 -7.82666736e+04 ! x y z +1.59619208e+03 7.97360418e+02 -1.29583152e+01 ! vx vy vz +659 1.04888884e+05 1.56381634e+04 ! particle number mass rhill +4.89435521e+03 !particle radius in m +-8.33458476e+06 1.42735479e+07 -3.35627654e+04 ! x y z +-1.40045628e+03 -8.13740040e+02 1.03574303e+01 ! vx vy vz +660 4.01644782e+05 1.36548342e+04 ! particle number mass rhill +1.12836524e+04 !particle radius in m +-1.47864055e+06 -9.12632464e+06 1.03294618e+05 ! x y z +2.12785802e+03 -3.89541043e+02 1.51865579e+01 ! vx vy vz +661 4.19477357e+05 1.59792919e+04 ! particle number mass rhill +1.14482340e+04 !particle radius in m +5.45407329e+06 9.28416293e+06 -1.51509372e+04 ! x y z +-1.71334604e+03 1.02205340e+03 -7.65932607e+00 ! vx vy vz +662 1.36644703e+06 3.38563695e+04 ! particle number mass rhill +1.15163962e+04 !particle radius in m +-1.39013045e+07 6.50213463e+06 -1.39734670e+05 ! x y z +-7.22290359e+02 -1.50945570e+03 -8.90498950e+00 ! vx vy vz +663 1.87180624e+06 3.65317510e+04 ! particle number mass rhill +1.27900613e+04 !particle radius in m +-9.89641528e+06 -1.11416999e+07 3.81985165e+04 ! x y z +1.26154170e+03 -1.13757778e+03 1.92574173e+00 ! vx vy vz +664 4.70045782e+04 8.19622142e+03 ! particle number mass rhill +3.74540728e+03 !particle radius in m +-3.16815028e+06 1.11329600e+07 6.51690516e+03 ! x y z +-1.85087911e+03 -4.88202334e+02 -1.01794725e+01 ! vx vy vz +665 4.61420620e+04 7.68428347e+03 ! particle number mass rhill +3.72235677e+03 !particle radius in m +1.00049376e+07 4.66630545e+06 -9.44413909e+04 ! x y z +-7.94024833e+02 1.77983677e+03 -9.21818189e+00 ! vx vy vz +666 4.97025493e+04 1.27990672e+04 ! particle number mass rhill +3.81573804e+03 !particle radius in m +-1.63493537e+07 6.57692006e+06 6.46813001e+04 ! x y z +-5.79515939e+02 -1.44477767e+03 3.27352582e+00 ! vx vy vz +667 3.58378458e+05 2.51948596e+04 ! particle number mass rhill +7.37167696e+03 !particle radius in m +1.18807783e+07 1.34251951e+07 1.86898768e+05 ! x y z +-1.17463975e+03 1.00294171e+03 -4.22564791e+00 ! vx vy vz +668 6.54992501e+05 1.99174163e+04 ! particle number mass rhill +9.01289765e+03 !particle radius in m +1.11171931e+07 2.90403753e+06 -9.01017188e+04 ! x y z +-4.88090453e+02 1.87530119e+03 -9.57682232e-01 ! vx vy vz +669 2.59291252e+04 5.76238650e+03 ! particle number mass rhill +4.52652522e+03 !particle radius in m +9.73106602e+06 3.61005057e+04 5.94605185e+04 ! x y z +-7.45471281e+01 2.10678631e+03 -2.14191842e+00 ! vx vy vz +670 4.44029167e+05 1.60304187e+04 ! particle number mass rhill +1.16673660e+04 !particle radius in m +-2.74202504e+06 -1.01140650e+07 -7.39918641e+04 ! x y z +1.96547738e+03 -5.21963358e+02 1.77687487e+01 ! vx vy vz +671 1.56229802e+06 2.17388544e+04 ! particle number mass rhill +1.20422311e+04 !particle radius in m +8.00394990e+06 5.03858815e+06 -4.02327990e+04 ! x y z +-1.10710067e+03 1.81715883e+03 -6.62734475e+00 ! vx vy vz +672 3.13410612e+04 6.63457360e+03 ! particle number mass rhill +4.82177442e+03 !particle radius in m +5.34986811e+06 9.22950468e+06 4.90186732e+04 ! x y z +-1.74088881e+03 9.82932786e+02 -1.91216218e+01 ! vx vy vz +673 1.14711656e+06 2.11708889e+04 ! particle number mass rhill +1.08639605e+04 !particle radius in m +-8.64795237e+06 5.41831010e+06 1.55017414e+04 ! x y z +-1.07745389e+03 -1.74276883e+03 -5.97570489e-01 ! vx vy vz +674 1.33569056e+06 2.47878891e+04 ! particle number mass rhill +1.14293347e+04 !particle radius in m +-1.11663224e+07 -4.36971602e+05 9.93397534e+04 ! x y z +6.60642469e+01 -1.97245979e+03 1.63719711e+01 ! vx vy vz +675 5.22768408e+05 1.76798501e+04 ! particle number mass rhill +1.23198504e+04 !particle radius in m +-8.94315217e+06 -6.59985744e+06 1.41574538e+04 ! x y z +1.12488382e+03 -1.60471763e+03 9.42200485e+00 ! vx vy vz +676 9.22658485e+05 3.79266184e+04 ! particle number mass rhill +1.01033638e+04 !particle radius in m +1.92430034e+07 -3.89888242e+06 -5.57809830e+04 ! x y z +2.98708757e+02 1.44758503e+03 -4.72165311e+00 ! vx vy vz +677 5.75996691e+05 1.70233269e+04 ! particle number mass rhill +1.27245467e+04 !particle radius in m +8.73120403e+06 5.22305398e+06 7.59670115e+04 ! x y z +-1.07719201e+03 1.76393373e+03 -6.61792923e+00 ! vx vy vz +678 5.71947858e+05 1.96600395e+04 ! particle number mass rhill +1.26946618e+04 !particle radius in m +1.09108942e+07 -4.65832942e+06 -4.02366251e+03 ! x y z +7.47562985e+02 1.75464824e+03 8.16488922e+00 ! vx vy vz +679 5.28161894e+05 1.94274851e+04 ! particle number mass rhill +8.38895796e+03 !particle radius in m +5.82034293e+06 1.07112512e+07 7.55785697e+03 ! x y z +-1.63892001e+03 9.00112405e+02 -1.94858021e+00 ! vx vy vz +680 8.20834071e+05 2.14712890e+04 ! particle number mass rhill +9.71711751e+03 !particle radius in m +6.68559809e+06 9.37557356e+06 -1.92332279e+03 ! x y z +-1.58295492e+03 1.11037420e+03 1.83307218e+00 ! vx vy vz +681 1.08447117e+06 2.11115029e+04 ! particle number mass rhill +1.06624826e+04 !particle radius in m +-3.28943607e+06 9.87837716e+06 6.05814516e+04 ! x y z +-1.92629942e+03 -6.22180329e+02 4.50728559e+00 ! vx vy vz +682 2.23235040e+05 1.56024415e+04 ! particle number mass rhill +9.27733226e+03 !particle radius in m +-6.01449513e+06 1.14226051e+07 3.09092202e+04 ! x y z +-1.62789379e+03 -8.28450934e+02 6.54251208e+00 ! vx vy vz +683 1.30254310e+06 3.24724800e+04 ! particle number mass rhill +1.13339954e+04 !particle radius in m +1.46501935e+07 3.52597046e+06 -1.53479325e+05 ! x y z +-3.94464542e+02 1.63555361e+03 -6.95224479e-01 ! vx vy vz +684 1.95412793e+06 2.31733397e+04 ! particle number mass rhill +1.29748793e+04 !particle radius in m +7.30587232e+06 5.82342150e+06 -1.66262680e+04 ! x y z +-1.33758368e+03 1.67374780e+03 1.03808342e+01 ! vx vy vz +685 1.68178718e+05 1.50274136e+04 ! particle number mass rhill +5.72852320e+03 !particle radius in m +-8.28665070e+06 -1.08630233e+07 1.59771667e+04 ! x y z +1.42279548e+03 -1.06221837e+03 -1.00287654e+01 ! vx vy vz +686 1.56736892e+06 2.06563247e+04 ! particle number mass rhill +1.20552459e+04 !particle radius in m +-8.85367709e+06 1.92824073e+06 -5.71899980e+04 ! x y z +-4.56904898e+02 -2.11490226e+03 1.50573635e+00 ! vx vy vz +687 1.67530420e+06 4.40637058e+04 ! particle number mass rhill +1.23258503e+04 !particle radius in m +-6.98192323e+06 -1.72685946e+07 7.38110386e+04 ! x y z +1.40350544e+03 -5.84590529e+02 -9.01131651e+00 ! vx vy vz +688 6.48230629e+04 1.15040206e+04 ! particle number mass rhill +6.14344779e+03 !particle radius in m +1.43686835e+07 2.23609646e+06 2.55670087e+04 ! x y z +-2.46269150e+02 1.69322706e+03 -3.07491540e+00 ! vx vy vz +689 1.18006420e+05 1.31163742e+04 ! particle number mass rhill +7.50131728e+03 !particle radius in m +7.08335501e+06 1.12432588e+07 -7.04507229e+04 ! x y z +-1.52929946e+03 9.66536263e+02 -2.79918979e+00 ! vx vy vz +690 5.89726347e+05 1.92317821e+04 ! particle number mass rhill +8.70300381e+03 !particle radius in m +-4.60069395e+06 1.05653500e+07 1.04296802e+05 ! x y z +-1.76684768e+03 -7.81938520e+02 -2.29915803e+00 ! vx vy vz +691 1.66067349e+05 9.76086023e+03 ! particle number mass rhill +8.40614880e+03 !particle radius in m +8.19262513e+06 -3.58191579e+06 -3.30652024e+04 ! x y z +8.70670545e+02 2.01088754e+03 -5.27792880e-01 ! vx vy vz +692 1.66578274e+06 2.28512672e+04 ! particle number mass rhill +1.23024549e+04 !particle radius in m +3.89494213e+06 9.08725205e+06 -2.39743102e+04 ! x y z +-1.90805368e+03 7.88330663e+02 -9.72060594e+00 ! vx vy vz +693 2.75553436e+05 1.29675108e+04 ! particle number mass rhill +6.75337616e+03 !particle radius in m +2.21339346e+06 9.86538825e+06 -8.87149741e+04 ! x y z +-2.00534067e+03 4.38594263e+02 1.01837964e+01 ! vx vy vz +694 1.58042369e+06 2.97786830e+04 ! particle number mass rhill +1.20886232e+04 !particle radius in m +4.10968486e+06 1.23907663e+07 5.33325146e+04 ! x y z +-1.71807002e+03 5.39202987e+02 -6.19076268e+00 ! vx vy vz +695 1.17439408e+06 2.25449191e+04 ! particle number mass rhill +1.09493990e+04 !particle radius in m +1.04073429e+07 2.67129136e+06 9.54333931e+04 ! x y z +-5.09495924e+02 1.93427487e+03 8.54877840e+00 ! vx vy vz +696 1.75679624e+04 5.32794441e+03 ! particle number mass rhill +3.97566200e+03 !particle radius in m +-4.09255175e+06 -9.53753075e+06 -7.50959611e+04 ! x y z +1.86269642e+03 -8.02231358e+02 -1.43161769e+00 ! vx vy vz +697 8.69972966e+04 9.34087903e+03 ! particle number mass rhill +4.59855003e+03 !particle radius in m +4.36723976e+06 -9.66553779e+06 -1.64558916e+04 ! x y z +1.84776304e+03 7.98021641e+02 5.78355557e+00 ! vx vy vz +698 7.00972644e+05 1.56666319e+04 ! particle number mass rhill +9.21904680e+03 !particle radius in m +8.53951718e+06 -2.54525107e+06 -7.04047773e+04 ! x y z +6.28921216e+02 2.09901050e+03 1.15726955e+01 ! vx vy vz +699 1.85068625e+05 1.06514155e+04 ! particle number mass rhill +8.71525146e+03 !particle radius in m +7.32788955e+06 -5.94137181e+06 -9.04304047e+04 ! x y z +1.34115379e+03 1.65561581e+03 7.08036612e+00 ! vx vy vz +700 1.64555559e+06 2.75816878e+04 ! particle number mass rhill +1.22524569e+04 !particle radius in m +6.71737923e+06 9.71600170e+06 5.06660922e+04 ! x y z +-1.56559808e+03 1.08107605e+03 -6.49532539e-03 ! vx vy vz +701 4.44681643e+04 6.91447687e+03 ! particle number mass rhill +5.41816288e+03 !particle radius in m +-7.03605741e+06 6.85389332e+06 -2.57563829e+04 ! x y z +-1.44734013e+03 -1.50933987e+03 1.28526631e+01 ! vx vy vz +702 2.37900687e+05 2.57634462e+04 ! particle number mass rhill +6.43059110e+03 !particle radius in m +1.83405474e+07 1.00792626e+07 -9.20229382e+04 ! x y z +-7.18799940e+02 1.23921438e+03 2.48945179e+00 ! vx vy vz +703 4.03986391e+05 2.67988920e+04 ! particle number mass rhill +7.67198789e+03 !particle radius in m +5.23940562e+06 1.75022888e+07 -5.98430417e+04 ! x y z +-1.46565915e+03 4.46482377e+02 2.11785409e+01 ! vx vy vz +704 2.27436221e+05 2.00836512e+04 ! particle number mass rhill +9.33516932e+03 !particle radius in m +1.19175118e+07 -1.16543017e+07 5.30530426e+04 ! x y z +1.10958275e+03 1.15270442e+03 5.72450113e+00 ! vx vy vz +705 1.34616193e+05 9.58458254e+03 ! particle number mass rhill +7.83793078e+03 !particle radius in m +-8.96838687e+06 2.63897043e+06 -2.17897557e+04 ! x y z +-6.07622874e+02 -2.06310065e+03 -4.59651947e+00 ! vx vy vz +706 8.29093112e+04 7.90970502e+03 ! particle number mass rhill +6.66863210e+03 !particle radius in m +-6.04898231e+06 -6.86358884e+06 5.57406610e+04 ! x y z +1.61956515e+03 -1.43598669e+03 -4.59300568e+00 ! vx vy vz +707 4.94658353e+05 2.13714758e+04 ! particle number mass rhill +1.20949508e+04 !particle radius in m +7.90216623e+06 -1.09814809e+07 5.19189450e+04 ! x y z +1.45343692e+03 1.03872925e+03 -2.28298311e+00 ! vx vy vz +708 5.59751529e+05 2.13961827e+04 ! particle number mass rhill +1.26037782e+04 !particle radius in m +9.57669296e+05 -1.30387879e+07 7.61951879e+04 ! x y z +1.80738232e+03 1.29379874e+02 -1.14266147e+01 ! vx vy vz +709 2.32161522e+05 1.09798583e+04 ! particle number mass rhill +9.39937703e+03 !particle radius in m +-2.70230310e+06 8.62076168e+06 -2.22406079e+04 ! x y z +-2.07446913e+03 -6.54424485e+02 -1.11116533e+01 ! vx vy vz +710 8.51578135e+05 3.19875457e+04 ! particle number mass rhill +9.83695076e+03 !particle radius in m +-3.80463073e+06 -1.65753622e+07 1.47762416e+04 ! x y z +1.54780534e+03 -3.56129540e+02 4.67798248e+00 ! vx vy vz +711 5.54965655e+05 3.39543973e+04 ! particle number mass rhill +1.25677546e+04 !particle radius in m +1.97818140e+07 7.24503831e+06 4.34973562e+04 ! x y z +-5.06413028e+02 1.32512350e+03 5.73956860e+00 ! vx vy vz +712 8.92177097e+04 1.22056341e+04 ! particle number mass rhill +4.63734443e+03 !particle radius in m +-2.79050068e+06 -1.34910639e+07 4.33089266e+04 ! x y z +1.72889764e+03 -3.49089932e+02 -1.94775120e+01 ! vx vy vz +713 3.32358618e+05 2.30395556e+04 ! particle number mass rhill +1.05934634e+04 !particle radius in m +1.07844804e+07 1.29386712e+07 2.64893081e+04 ! x y z +-1.21296556e+03 1.03104861e+03 -8.93637679e+00 ! vx vy vz +714 4.15254441e+05 2.22015490e+04 ! particle number mass rhill +7.74266422e+03 !particle radius in m +-1.47784670e+07 -2.60738447e+06 1.11630430e+05 ! x y z +3.23911460e+02 -1.65880207e+03 4.54571842e+00 ! vx vy vz +715 1.73496502e+04 6.81252754e+03 ! particle number mass rhill +3.95912515e+03 !particle radius in m +5.07682372e+05 -1.30372405e+07 -1.85229557e+04 ! x y z +1.82615720e+03 7.82099311e+01 -4.18927265e+00 ! vx vy vz +716 3.20070305e+05 1.71800786e+04 ! particle number mass rhill +7.09905909e+03 !particle radius in m +-1.18244362e+07 -4.31687046e+06 -7.18542331e+04 ! x y z +6.12658121e+02 -1.74672302e+03 1.21397025e-01 ! vx vy vz +717 2.16371552e+04 4.94621352e+03 ! particle number mass rhill +4.26156427e+03 !particle radius in m +-3.54824820e+06 -8.30536307e+06 -8.90981624e+03 ! x y z +1.97998336e+03 -8.85057403e+02 -2.11344381e+01 ! vx vy vz +718 3.59986321e+05 1.29702906e+04 ! particle number mass rhill +1.08792174e+04 !particle radius in m +1.62346436e+06 -8.92811589e+06 -3.60195557e+03 ! x y z +2.15086991e+03 3.98636159e+02 2.48432648e+01 ! vx vy vz +719 1.81690903e+05 1.91798357e+04 ! particle number mass rhill +5.87800644e+03 !particle radius in m +-1.15733556e+07 -1.25115260e+07 1.46624511e+04 ! x y z +1.15579598e+03 -1.08828537e+03 -2.12261933e-01 ! vx vy vz +720 6.36173833e+04 8.62559658e+03 ! particle number mass rhill +4.14296182e+03 !particle radius in m +-1.08417724e+07 1.69081263e+06 7.24119490e+04 ! x y z +-3.09034576e+02 -1.94519167e+03 -3.85658993e+00 ! vx vy vz +721 9.85820129e+04 1.07326421e+04 ! particle number mass rhill +4.79422292e+03 !particle radius in m +3.49544878e+05 1.19517692e+07 2.11344945e+04 ! x y z +-1.87363529e+03 3.53402969e+01 5.71853498e+00 ! vx vy vz +722 8.86166379e+05 1.88205307e+04 ! particle number mass rhill +9.96836855e+03 !particle radius in m +-6.32504194e+06 7.74988563e+06 -3.04663654e+04 ! x y z +-1.60640404e+03 -1.28494821e+03 3.03961828e+01 ! vx vy vz +723 5.42657230e+05 3.02219608e+04 ! particle number mass rhill +8.46501102e+03 !particle radius in m +-1.24177769e+07 -1.38486640e+07 -1.01520582e+04 ! x y z +1.15690921e+03 -9.88251041e+02 4.69156127e+00 ! vx vy vz +724 1.59565082e+06 2.53217734e+04 ! particle number mass rhill +1.21273232e+04 !particle radius in m +1.03771542e+07 -3.70291911e+06 1.08877147e+04 ! x y z +6.25781397e+02 1.86199758e+03 -8.89718339e+00 ! vx vy vz +725 3.81576526e+04 6.36454510e+03 ! particle number mass rhill +5.14868362e+03 !particle radius in m +-4.66823976e+06 -8.26435407e+06 2.26583539e+04 ! x y z +1.84983887e+03 -1.05552707e+03 1.56706480e+01 ! vx vy vz +726 2.64710080e+04 5.28483057e+03 ! particle number mass rhill +4.55784078e+03 !particle radius in m +4.62468583e+06 7.54223542e+06 -1.61944374e+04 ! x y z +-1.87648989e+03 1.17295601e+03 -5.20044045e-01 ! vx vy vz +728 7.56089690e+05 4.18623276e+04 ! particle number mass rhill +9.45460600e+03 !particle radius in m +-2.34951111e+05 2.32053308e+07 -5.22036528e+04 ! x y z +-1.35813181e+03 9.03958337e+00 -3.15567273e+00 ! vx vy vz +729 2.60550722e+05 1.37320616e+04 ! particle number mass rhill +9.76786728e+03 !particle radius in m +-6.52967648e+06 8.82305239e+06 -1.26732573e+04 ! x y z +-1.57282686e+03 -1.17622288e+03 1.39580799e+00 ! vx vy vz +730 3.33261162e+05 1.31329711e+04 ! particle number mass rhill +1.06030438e+04 !particle radius in m +1.77913234e+06 9.53045041e+06 3.10075017e+04 ! x y z +-2.05302630e+03 3.75004563e+02 1.58931971e+01 ! vx vy vz +731 5.49460357e+05 1.66040779e+04 ! particle number mass rhill +1.25260587e+04 !particle radius in m +3.58717818e+06 9.36647195e+06 -1.97615013e+04 ! x y z +-1.96178925e+03 7.11373199e+02 -1.26706515e+01 ! vx vy vz +732 4.50004217e+05 2.30855383e+04 ! particle number mass rhill +7.95288174e+03 !particle radius in m +-2.59234296e+06 -1.50157233e+07 4.00646737e+04 ! x y z +1.65438833e+03 -2.60173941e+02 1.23164306e+01 ! vx vy vz +733 3.30247748e+05 1.24337133e+04 ! particle number mass rhill +7.17351953e+03 !particle radius in m +9.06239327e+06 9.91334627e+05 -4.75445475e+03 ! x y z +-2.74588769e+02 2.14560267e+03 -4.58665348e+00 ! vx vy vz +734 6.14206894e+05 1.88121660e+04 ! particle number mass rhill +1.29999162e+04 !particle radius in m +-1.32275910e+06 1.11815578e+07 -3.52932928e+04 ! x y z +-1.92926562e+03 -2.26736828e+02 1.12692641e+01 ! vx vy vz +735 9.59808281e+05 2.28332821e+04 ! particle number mass rhill +1.02371836e+04 !particle radius in m +-1.18507495e+07 5.08791326e+05 -4.16400253e+03 ! x y z +-1.21704217e+02 -1.88175671e+03 1.06233149e+00 ! vx vy vz +736 1.34519144e+06 2.13695367e+04 ! particle number mass rhill +1.14563699e+04 !particle radius in m +9.66851157e+06 -1.73226908e+06 -1.69082214e+04 ! x y z +3.88627413e+02 2.04608590e+03 -8.98008156e-01 ! vx vy vz +737 5.80790318e+05 1.56482626e+04 ! particle number mass rhill +8.65882148e+03 !particle radius in m +-2.00783480e+06 -9.30718645e+06 -7.65374580e+04 ! x y z +2.06366212e+03 -4.61769702e+02 1.50556810e+01 ! vx vy vz +738 6.02079310e+05 2.30422564e+04 ! particle number mass rhill +1.29137852e+04 !particle radius in m +5.63016627e+05 1.37971202e+07 -5.96323274e+04 ! x y z +-1.75809500e+03 5.38503245e+01 5.31257797e-01 ! vx vy vz +739 5.42061151e+05 1.48525518e+04 ! particle number mass rhill +1.24695778e+04 !particle radius in m +9.16922325e+06 -9.63000174e+05 -3.41255650e+02 ! x y z +2.26283177e+02 2.14046849e+03 -4.83048073e+00 ! vx vy vz +740 2.78318107e+04 5.46611848e+03 ! particle number mass rhill +4.63464147e+03 !particle radius in m +-8.86805151e+06 1.17556708e+06 5.29953219e+04 ! x y z +-2.96347767e+02 -2.18707052e+03 -3.03941376e+00 ! vx vy vz +741 6.59733293e+05 1.67907799e+04 ! particle number mass rhill +9.03459031e+03 !particle radius in m +9.02199722e+06 -3.39632005e+06 -7.08544393e+04 ! x y z +7.55874214e+02 1.97860482e+03 5.10133054e+00 ! vx vy vz +742 2.80747909e+05 1.40507857e+04 ! particle number mass rhill +6.79554835e+03 !particle radius in m +-3.33406678e+06 -1.03746123e+07 -4.13492713e+04 ! x y z +1.88884845e+03 -5.81374899e+02 2.44002419e+01 ! vx vy vz +743 2.28483670e+04 5.06103373e+03 ! particle number mass rhill +4.33964341e+03 !particle radius in m +8.47272017e+06 -3.29574857e+06 4.59089313e+04 ! x y z +8.07908043e+02 2.00285924e+03 2.30278431e+01 ! vx vy vz +744 9.46503858e+04 1.78360446e+04 ! particle number mass rhill +6.96963100e+03 !particle radius in m +-1.10174017e+07 -1.65843431e+07 -7.81778692e+04 ! x y z +1.22711770e+03 -7.92668746e+02 1.28964786e+00 ! vx vy vz +745 3.24229460e+04 1.28254788e+04 ! particle number mass rhill +4.87663009e+03 !particle radius in m +-6.99704994e+06 -1.88546711e+07 -8.81519961e+04 ! x y z +1.37622550e+03 -5.05609550e+02 1.32065962e+00 ! vx vy vz +746 6.21305241e+05 1.84865539e+04 ! particle number mass rhill +8.85565460e+03 !particle radius in m +3.37171440e+06 -1.03724491e+07 -2.05908462e+04 ! x y z +1.89249257e+03 5.96290076e+02 -1.16901986e+01 ! vx vy vz +747 8.17269222e+05 1.75757835e+04 ! particle number mass rhill +9.70303009e+03 !particle radius in m +8.68817648e+05 -9.37137391e+06 -9.78603362e+04 ! x y z +2.13443213e+03 1.77136355e+02 -1.05898656e+01 ! vx vy vz +748 2.98673667e+05 1.25389375e+04 ! particle number mass rhill +1.02227553e+04 !particle radius in m +-8.20639456e+06 4.88393438e+06 3.93769452e+04 ! x y z +-1.09602043e+03 -1.80139112e+03 -5.09189684e+00 ! vx vy vz +749 4.77953094e+05 2.64495594e+04 ! particle number mass rhill +1.19572346e+04 !particle radius in m +-2.98729202e+06 -1.69982812e+07 -1.00361471e+02 ! x y z +1.54074333e+03 -2.84642833e+02 -7.12483576e+00 ! vx vy vz +750 1.21345497e+06 4.02215962e+04 ! particle number mass rhill +1.10694715e+04 !particle radius in m +-1.87997669e+07 -2.87235850e+06 6.06981762e+04 ! x y z +2.30253048e+02 -1.48355775e+03 -3.20628055e+00 ! vx vy vz +751 1.43803514e+06 3.52381307e+04 ! particle number mass rhill +1.17140974e+04 !particle radius in m +-1.67195966e+06 1.53840879e+07 1.17823799e+05 ! x y z +-1.66924292e+03 -1.76106009e+02 2.19585908e+00 ! vx vy vz +752 1.81470570e+06 2.16051568e+04 ! particle number mass rhill +1.26586599e+04 !particle radius in m +7.45254418e+06 4.82823148e+06 -5.06675552e+03 ! x y z +-1.22839592e+03 1.82946634e+03 -1.27029622e+01 ! vx vy vz +753 3.06193303e+05 1.20424743e+04 ! particle number mass rhill +6.99494374e+03 !particle radius in m +5.13959627e+06 7.44700588e+06 5.03758086e+04 ! x y z +-1.79330931e+03 1.22535892e+03 -1.02427731e+01 ! vx vy vz +754 3.35631376e+05 1.54633731e+04 ! particle number mass rhill +7.21229000e+03 !particle radius in m +9.58649389e+06 5.81253530e+06 -4.39352546e+04 ! x y z +-9.88086375e+02 1.68843459e+03 -9.34405959e+00 ! vx vy vz +755 3.34952432e+05 1.22268510e+04 ! particle number mass rhill +1.06209501e+04 !particle radius in m +5.07070035e+06 7.32312120e+06 7.18562589e+04 ! x y z +-1.79677644e+03 1.25238618e+03 1.64235819e+00 ! vx vy vz +756 3.94174646e+05 1.59516652e+04 ! particle number mass rhill +7.60936749e+03 !particle radius in m +1.19404056e+06 1.08877947e+07 5.88658821e+03 ! x y z +-1.96662575e+03 2.29281553e+02 -1.48568063e+01 ! vx vy vz +757 1.59693575e+06 2.44927303e+04 ! particle number mass rhill +1.21305775e+04 !particle radius in m +-9.84021278e+06 -3.40002026e+06 -6.17065432e+04 ! x y z +7.02356760e+02 -1.91960378e+03 8.28806476e+00 ! vx vy vz +758 1.60650171e+05 1.45895772e+04 ! particle number mass rhill +5.64173558e+03 !particle radius in m +8.38364229e+06 -1.08052974e+07 -1.14971163e+05 ! x y z +1.41362762e+03 1.05030477e+03 1.33062848e-02 ! vx vy vz +759 6.68743952e+04 7.54209796e+03 ! particle number mass rhill +4.21249068e+03 !particle radius in m +4.30913199e+06 8.44003978e+06 1.98375727e+04 ! x y z +-1.87920775e+03 9.70144357e+02 7.68922870e-02 ! vx vy vz +760 1.63778812e+05 1.25082506e+04 ! particle number mass rhill +8.36735565e+03 !particle radius in m +9.34254133e+06 -6.72471094e+06 3.04479801e+03 ! x y z +1.13048626e+03 1.56587434e+03 1.26328276e-01 ! vx vy vz +761 8.89219951e+04 7.98740603e+03 ! particle number mass rhill +6.82609072e+03 !particle radius in m +-3.94216440e+06 -8.13811187e+06 -2.32415480e+03 ! x y z +1.94483188e+03 -9.74054123e+02 6.56681455e+00 ! vx vy vz +762 8.18294712e+05 1.67752433e+04 ! particle number mass rhill +9.70708677e+03 !particle radius in m +5.41429391e+06 -7.20522578e+06 5.41382285e+04 ! x y z +1.73021941e+03 1.33390146e+03 1.43673569e+00 ! vx vy vz +763 1.13372094e+06 2.57587973e+04 ! particle number mass rhill +1.08215064e+04 !particle radius in m +-3.58069142e+06 -1.18639900e+07 -2.98112201e+04 ! x y z +1.80063833e+03 -4.84660340e+02 -1.10025267e+01 ! vx vy vz +764 9.88108923e+04 9.31725739e+03 ! particle number mass rhill +7.07029058e+03 !particle radius in m +5.06214806e+06 -8.79684921e+06 -6.69408163e+03 ! x y z +1.77899792e+03 1.03185242e+03 -6.99222338e+00 ! vx vy vz +765 2.18552963e+05 1.38592334e+04 ! particle number mass rhill +6.25131279e+03 !particle radius in m +2.20528884e+06 -1.13497157e+07 1.23709451e+05 ! x y z +1.88518956e+03 4.07847130e+02 -1.21144069e+01 ! vx vy vz +766 3.09768312e+05 1.34561528e+04 ! particle number mass rhill +7.02206200e+03 !particle radius in m +5.73341973e+06 -8.10327163e+06 -2.40301967e+04 ! x y z +1.67706223e+03 1.24499901e+03 -1.26631178e+01 ! vx vy vz +767 2.37144880e+05 1.11764593e+04 ! particle number mass rhill +9.46615418e+03 !particle radius in m +-4.07741467e+06 -8.18369428e+06 -3.25211280e+04 ! x y z +1.94858682e+03 -9.33976298e+02 3.19344234e+00 ! vx vy vz +768 1.14893098e+06 1.92849652e+04 ! particle number mass rhill +1.08696854e+04 !particle radius in m +6.06888001e+06 6.98255626e+06 -6.90089903e+03 ! x y z +-1.60191111e+03 1.44385639e+03 1.12490936e+00 ! vx vy vz +769 3.63529512e+05 1.26225183e+04 ! particle number mass rhill +7.40682734e+03 !particle radius in m +-1.97618366e+06 8.86960314e+06 4.14824140e+04 ! x y z +-2.09949361e+03 -4.69720145e+02 1.43384661e+01 ! vx vy vz +770 9.51810604e+05 2.27574150e+04 ! particle number mass rhill +1.02086703e+04 !particle radius in m +-6.96997724e+05 1.14525501e+07 -2.14282591e+04 ! x y z +-1.94508975e+03 -1.20495540e+02 -1.27425570e+01 ! vx vy vz +771 1.13010262e+06 1.89504819e+04 ! particle number mass rhill +1.08099817e+04 !particle radius in m +9.38021683e+06 3.42327658e+04 2.00501873e+04 ! x y z +-3.65841924e+01 2.11334523e+03 -1.86694989e+01 ! vx vy vz +772 7.04130996e+04 8.31952330e+03 ! particle number mass rhill +6.31519566e+03 !particle radius in m +9.77614427e+06 2.18126141e+06 4.93063169e+04 ! x y z +-4.63942946e+02 2.03097699e+03 3.68237367e+00 ! vx vy vz +773 7.20195884e+04 7.30450671e+03 ! particle number mass rhill +6.36286244e+03 !particle radius in m +1.03665232e+06 8.86346829e+06 1.05688800e+05 ! x y z +-2.16165047e+03 3.02954637e+02 -2.55519521e+01 ! vx vy vz +774 9.64762143e+04 1.02616868e+04 ! particle number mass rhill +7.01416117e+03 !particle radius in m +1.03495591e+07 -4.25164616e+06 3.58740907e+04 ! x y z +7.33662495e+02 1.82348291e+03 -6.28887722e-01 ! vx vy vz +775 2.05974940e+05 1.14271818e+04 ! particle number mass rhill +9.03178903e+03 !particle radius in m +-2.38406558e+06 9.62250108e+06 1.02937972e+05 ! x y z +-2.01173579e+03 -4.55947194e+02 5.72154417e+00 ! vx vy vz +776 1.80872057e+05 1.20866729e+04 ! particle number mass rhill +8.64887224e+03 !particle radius in m +-1.07734704e+07 -1.45075387e+06 -2.66041480e+04 ! x y z +2.65092409e+02 -1.95941508e+03 3.83593904e+00 ! vx vy vz +777 2.70682972e+04 7.76123367e+03 ! particle number mass rhill +4.59186701e+03 !particle radius in m +4.74101076e+06 -1.21984912e+07 3.79772198e+04 ! x y z +1.69258599e+03 6.30621386e+02 2.06381502e+00 ! vx vy vz +778 1.10059808e+06 1.92916524e+04 ! particle number mass rhill +1.07150758e+04 !particle radius in m +7.43989020e+06 -5.63873599e+06 -5.85929699e+04 ! x y z +1.31667387e+03 1.70317955e+03 9.52560643e+00 ! vx vy vz +779 5.98060539e+05 2.60997499e+04 ! particle number mass rhill +1.28849886e+04 !particle radius in m +-5.38823915e+06 1.48268009e+07 -2.14296811e+04 ! x y z +-1.54283155e+03 -5.57159624e+02 5.54783358e+00 ! vx vy vz +780 4.78664397e+05 1.40463790e+04 ! particle number mass rhill +8.11825531e+03 !particle radius in m +2.66724929e+06 -8.66471427e+06 1.00760731e+04 ! x y z +2.07447879e+03 6.47409518e+02 2.06301461e+01 ! vx vy vz +781 2.26409120e+05 1.13645899e+04 ! particle number mass rhill +6.32533652e+03 !particle radius in m +-9.34887042e+06 -7.71203345e+05 -2.80106217e+04 ! x y z +1.56382920e+02 -2.13449580e+03 1.77972684e+01 ! vx vy vz +782 2.42808802e+05 2.65285810e+04 ! particle number mass rhill +6.47451347e+03 !particle radius in m +2.11853462e+06 2.14346842e+07 -1.31619878e+05 ! x y z +-1.40220812e+03 1.23003628e+02 1.01803056e+01 ! vx vy vz +783 8.24349063e+05 1.69001386e+04 ! particle number mass rhill +9.73096804e+03 !particle radius in m +8.93418422e+06 -1.26163769e+06 -6.14650218e+03 ! x y z +2.70831749e+02 2.17084302e+03 -6.49066157e+00 ! vx vy vz +784 1.62394568e+06 2.16415199e+04 ! particle number mass rhill +1.21985861e+04 !particle radius in m +-3.36304606e+06 -8.68475569e+06 4.22905473e+04 ! x y z +2.01382441e+03 -7.30247568e+02 -1.59257408e+01 ! vx vy vz +785 4.69991607e+05 1.42566569e+04 ! particle number mass rhill +1.18904701e+04 !particle radius in m +8.81465687e+06 -2.36248215e+06 6.67259873e+04 ! x y z +5.93111329e+02 2.09930862e+03 3.04112228e+00 ! vx vy vz +786 1.36960578e+06 2.05419684e+04 ! particle number mass rhill +1.15252633e+04 !particle radius in m +-4.21295680e+06 -8.25900507e+06 -3.19234838e+03 ! x y z +1.92170180e+03 -9.79177619e+02 -8.10728388e+00 ! vx vy vz +787 5.69750598e+05 2.14044316e+04 ! particle number mass rhill +8.60360757e+03 !particle radius in m +9.93364443e+06 8.45966410e+06 -7.67940035e+04 ! x y z +-1.17931717e+03 1.37394453e+03 -8.05856772e+00 ! vx vy vz +788 1.41313744e+06 2.40709892e+04 ! particle number mass rhill +1.16460986e+04 !particle radius in m +1.04612906e+06 1.07823989e+07 -7.20248309e+04 ! x y z +-1.97918359e+03 1.84768969e+02 3.98691690e+00 ! vx vy vz +789 9.83280524e+04 1.63480170e+04 ! particle number mass rhill +7.05875544e+03 !particle radius in m +-1.20383776e+07 -1.30487787e+07 -1.17822971e+05 ! x y z +1.15323425e+03 -1.04821079e+03 -2.09214306e+01 ! vx vy vz +790 5.14220791e+05 1.55882368e+04 ! particle number mass rhill +1.22523351e+04 !particle radius in m +-6.25721631e+06 -7.48338074e+06 6.58872777e+04 ! x y z +1.60724089e+03 -1.35523949e+03 1.79073191e+01 ! vx vy vz +791 2.71366282e+05 1.50608481e+04 ! particle number mass rhill +9.90119508e+03 !particle radius in m +-1.98852887e+06 -1.16234208e+07 3.45760659e+04 ! x y z +1.87230049e+03 -3.33072319e+02 1.96763510e+00 ! vx vy vz +792 2.34275345e+05 1.24361617e+04 ! particle number mass rhill +6.39775874e+03 !particle radius in m +-1.83445389e+06 -1.01663777e+07 -2.16218566e+04 ! x y z +1.99731190e+03 -3.10283279e+02 -1.07270295e+01 ! vx vy vz +793 5.94051154e+05 2.02359843e+04 ! particle number mass rhill +1.28561305e+04 !particle radius in m +-6.68458169e+06 -1.03038987e+07 1.06554338e+05 ! x y z +1.55802844e+03 -1.01074571e+03 -1.53515092e+00 ! vx vy vz +794 2.62427397e+05 1.23130985e+04 ! particle number mass rhill +6.64439416e+03 !particle radius in m +-9.54428205e+06 -1.77688297e+06 -2.10926647e+04 ! x y z +3.75374809e+02 -2.06650760e+03 -1.22766897e+00 ! vx vy vz +795 2.46729383e+04 7.83698469e+03 ! particle number mass rhill +4.45221314e+03 !particle radius in m +3.13901663e+06 1.32731582e+07 -8.32687929e+04 ! x y z +-1.71730983e+03 4.23145043e+02 4.63891808e+00 ! vx vy vz +796 1.99969482e+05 1.08806055e+04 ! particle number mass rhill +8.94314414e+03 !particle radius in m +-2.33540859e+06 9.13065765e+06 7.06589924e+03 ! x y z +-2.06497311e+03 -5.14043891e+02 1.51818535e+01 ! vx vy vz +797 2.62755853e+05 1.84176232e+04 ! particle number mass rhill +9.79534618e+03 !particle radius in m +1.36994576e+07 -4.67366094e+06 7.44829731e+04 ! x y z +5.44944889e+02 1.63399910e+03 -4.32898441e+00 ! vx vy vz +798 1.49407504e+04 4.39640938e+03 ! particle number mass rhill +3.76668925e+03 !particle radius in m +-7.37395287e+06 5.09151414e+06 2.55133554e+04 ! x y z +-1.23099773e+03 -1.81388400e+03 -6.90022105e+00 ! vx vy vz +799 3.37131645e+05 1.41467237e+04 ! particle number mass rhill +1.06439337e+04 !particle radius in m +-4.36095303e+06 9.17263674e+06 5.77572160e+04 ! x y z +-1.86099387e+03 -8.92089911e+02 1.33050454e+01 ! vx vy vz +800 9.30504002e+05 1.74198697e+04 ! particle number mass rhill +1.01319198e+04 !particle radius in m +6.09028041e+05 -9.05678858e+06 -3.59192636e+04 ! x y z +2.16064013e+03 1.12524119e+02 -1.28041635e+01 ! vx vy vz +801 6.21406053e+04 6.95048318e+03 ! particle number mass rhill +4.11065306e+03 !particle radius in m +8.74913197e+06 -1.47341693e+06 -9.62438055e+04 ! x y z +3.78746478e+02 2.16207809e+03 -2.44021093e+01 ! vx vy vz +802 1.98751717e+06 2.23872797e+04 ! particle number mass rhill +1.30483609e+04 !particle radius in m +-8.58911286e+06 2.87403478e+06 1.58823639e+02 ! x y z +-7.16776888e+02 -2.04412274e+03 5.09362192e-01 ! vx vy vz +803 1.10143987e+06 2.58396269e+04 ! particle number mass rhill +1.07178069e+04 !particle radius in m +8.48527058e+06 -9.20798638e+06 -1.02188880e+05 ! x y z +1.36994712e+03 1.25405390e+03 1.06840389e+01 ! vx vy vz +804 1.26088799e+06 1.92135468e+04 ! particle number mass rhill +1.12118643e+04 !particle radius in m +-5.30902937e+06 7.21606500e+06 6.02327354e+04 ! x y z +-1.77499753e+03 -1.28053606e+03 -3.40605365e+00 ! vx vy vz +805 1.09184787e+05 1.76365565e+04 ! particle number mass rhill +4.96028208e+03 !particle radius in m +-1.77739170e+07 5.38979777e+06 1.55930024e+05 ! x y z +-4.43393580e+02 -1.45455644e+03 -2.70314341e-01 ! vx vy vz +806 4.13158924e+04 7.88380749e+03 ! particle number mass rhill +5.28698448e+03 !particle radius in m +-8.43967863e+06 -7.92404795e+06 -2.34275469e+04 ! x y z +1.33453164e+03 -1.37751924e+03 -2.53751841e+00 ! vx vy vz +807 9.05745195e+05 1.69381188e+04 ! particle number mass rhill +1.00412476e+04 !particle radius in m +4.71451819e+06 -7.46352121e+06 1.62287314e+03 ! x y z +1.84921224e+03 1.19850662e+03 1.99232615e+01 ! vx vy vz +808 1.43529731e+05 1.19160672e+04 ! particle number mass rhill +5.43374958e+03 !particle radius in m +1.87652013e+06 -1.11420807e+07 1.38944441e+05 ! x y z +1.93560918e+03 3.25150073e+02 2.51765258e+00 ! vx vy vz +809 5.54106512e+05 1.54471739e+04 ! particle number mass rhill +1.25612659e+04 !particle radius in m +-9.29220692e+06 2.16599787e+06 -4.38900389e+04 ! x y z +-4.87620074e+02 -2.05624014e+03 4.85721843e-01 ! vx vy vz +810 5.10481873e+05 1.62613830e+04 ! particle number mass rhill +8.29428788e+03 !particle radius in m +1.39531950e+06 1.01422470e+07 -9.71755919e+04 ! x y z +-2.02592294e+03 3.03255899e+02 5.57961818e+00 ! vx vy vz +811 3.32058372e+05 1.63243972e+04 ! particle number mass rhill +7.18660555e+03 !particle radius in m +1.17947013e+07 7.40001699e+05 2.51672426e+04 ! x y z +-1.17060805e+02 1.90660700e+03 5.44656130e+00 ! vx vy vz +812 3.98927657e+05 1.51211505e+04 ! particle number mass rhill +1.12581502e+04 !particle radius in m +-7.90433536e+06 6.73266024e+06 -3.50969312e+04 ! x y z +-1.30204874e+03 -1.55681461e+03 5.35229797e+00 ! vx vy vz +813 1.60520468e+05 1.50790564e+04 ! particle number mass rhill +5.64021687e+03 !particle radius in m +1.20372535e+07 -7.49092702e+06 6.74822230e+04 ! x y z +8.91458581e+02 1.47943776e+03 -9.74770857e+00 ! vx vy vz +814 9.51624011e+04 8.20610116e+03 ! particle number mass rhill +6.98217592e+03 !particle radius in m +6.85752801e+06 6.02181411e+06 3.38939759e+03 ! x y z +-1.45444163e+03 1.59683746e+03 2.15463449e+00 ! vx vy vz +815 8.02969339e+05 3.23806232e+04 ! particle number mass rhill +9.64610498e+03 !particle radius in m +1.65844804e+07 4.81034890e+06 4.61229376e+04 ! x y z +-4.20560106e+02 1.53234812e+03 -2.07164443e+00 ! vx vy vz +816 2.77573627e+05 1.52717801e+04 ! particle number mass rhill +9.97612135e+03 !particle radius in m +-1.11130797e+07 -3.78359570e+06 -1.84960756e+03 ! x y z +5.85052492e+02 -1.82483094e+03 -5.22659903e+00 ! vx vy vz +817 1.29735147e+05 1.12854771e+04 ! particle number mass rhill +7.74203039e+03 !particle radius in m +4.58513442e+06 1.02699278e+07 -3.18341648e+04 ! x y z +-1.77353935e+03 8.15172006e+02 -3.48615440e+00 ! vx vy vz +818 7.78047386e+05 1.63408344e+04 ! particle number mass rhill +9.54525817e+03 !particle radius in m +7.69154925e+06 -4.52108417e+06 1.90521640e+04 ! x y z +1.13843297e+03 1.87858469e+03 1.37511342e+00 ! vx vy vz +819 2.90221524e+05 1.58401533e+04 ! particle number mass rhill +6.87114114e+03 !particle radius in m +-1.15969434e+07 3.52559239e+06 5.16907637e+04 ! x y z +-5.69477663e+02 -1.78769915e+03 -1.33023745e+01 ! vx vy vz +820 9.19380223e+05 1.83471630e+04 ! particle number mass rhill +1.00913836e+04 !particle radius in m +5.95447776e+06 -7.82496208e+06 3.09991808e+04 ! x y z +1.65084498e+03 1.22028250e+03 -2.33382836e+00 ! vx vy vz +821 6.22104092e+04 9.73713866e+03 ! particle number mass rhill +6.05977746e+03 !particle radius in m +-3.93089529e+06 1.17766068e+07 -6.72321552e+03 ! x y z +-1.75059713e+03 -6.17947765e+02 -1.16753307e+01 ! vx vy vz +822 5.76697161e+05 1.55455865e+04 ! particle number mass rhill +1.27297027e+04 !particle radius in m +-9.38145643e+06 5.61032393e+05 -2.62604457e+04 ! x y z +-1.66051140e+02 -2.13147141e+03 -1.91808715e+01 ! vx vy vz +823 1.12193121e+06 2.15413897e+04 ! particle number mass rhill +1.07838641e+04 !particle radius in m +-3.46243172e+06 -9.75229088e+06 -6.99128436e+04 ! x y z +1.92977079e+03 -6.78308349e+02 -2.04030914e-01 ! vx vy vz +824 3.77345686e+05 1.48917020e+04 ! particle number mass rhill +7.49949684e+03 !particle radius in m +2.14173079e+06 -1.00855853e+07 1.33615118e+04 ! x y z +2.00549502e+03 4.10286548e+02 1.33463171e+01 ! vx vy vz +825 2.84103902e+04 5.41642288e+03 ! particle number mass rhill +4.66653709e+03 !particle radius in m +2.97083227e+06 8.61004661e+06 -5.77896258e+04 ! x y z +-2.03526397e+03 6.94270314e+02 -2.15105297e+00 ! vx vy vz +826 5.90646827e+04 1.08492229e+04 ! particle number mass rhill +5.95586641e+03 !particle radius in m +-1.12041316e+07 8.43574386e+06 6.88522376e+04 ! x y z +-1.04307644e+03 -1.40491020e+03 6.49036289e+00 ! vx vy vz +827 1.00753667e+05 9.63045427e+03 ! particle number mass rhill +7.11632779e+03 !particle radius in m +-4.35495075e+06 9.47025259e+06 -5.09915025e+04 ! x y z +-1.85819690e+03 -8.15466077e+02 4.09008068e+00 ! vx vy vz +828 1.54771456e+05 1.76232067e+04 ! particle number mass rhill +5.57206216e+03 !particle radius in m +4.78116976e+06 -1.59784331e+07 -5.36968327e+04 ! x y z +1.53329565e+03 4.46997350e+02 4.63714714e+00 ! vx vy vz +829 5.51349999e+05 1.59967890e+04 ! particle number mass rhill +8.50997184e+03 !particle radius in m +8.23993793e+06 -5.31139465e+06 6.29574603e+04 ! x y z +1.13278257e+03 1.76205209e+03 -8.47937534e-01 ! vx vy vz +830 5.59737681e+05 1.68391578e+04 ! particle number mass rhill +1.26036743e+04 !particle radius in m +-9.63212471e+06 3.36590765e+06 -1.07062454e+04 ! x y z +-6.84552644e+02 -1.94265665e+03 2.94400282e+00 ! vx vy vz +831 3.21463203e+04 7.65511916e+03 ! particle number mass rhill +4.86272166e+03 !particle radius in m +9.83116842e+06 6.61447762e+06 -5.12468956e+04 ! x y z +-1.03243293e+03 1.62443233e+03 2.38757589e+00 ! vx vy vz +832 1.70396503e+05 1.11460376e+04 ! particle number mass rhill +5.75359413e+03 !particle radius in m +9.79171021e+06 -2.73890246e+06 8.20795285e+04 ! x y z +5.70999291e+02 1.96925843e+03 2.38407769e+00 ! vx vy vz +833 5.15198597e+05 1.63024335e+04 ! particle number mass rhill +8.31975532e+03 !particle radius in m +-3.31575865e+06 9.74773076e+06 -6.68906771e+04 ! x y z +-1.91945157e+03 -6.80055572e+02 7.05071034e-01 ! vx vy vz +834 3.88181682e+05 2.05972013e+04 ! particle number mass rhill +1.11561412e+04 !particle radius in m +2.59402712e+06 1.41195960e+07 7.65317352e+04 ! x y z +-1.69390135e+03 3.03445651e+02 1.51567072e+01 ! vx vy vz +835 3.14976817e+05 1.81483086e+04 ! particle number mass rhill +7.06120023e+03 !particle radius in m +-2.50324523e+06 1.33583355e+07 -1.06069614e+05 ! x y z +-1.73502096e+03 -3.33244830e+02 -4.27813580e+00 ! vx vy vz +836 1.15397098e+06 2.54597499e+04 ! particle number mass rhill +1.08855562e+04 !particle radius in m +-4.06673848e+06 -1.16023946e+07 4.08896853e+04 ! x y z +1.75606757e+03 -6.22462152e+02 1.70339271e+01 ! vx vy vz +837 5.52965161e+05 1.61939690e+04 ! particle number mass rhill +8.51827363e+03 !particle radius in m +4.61087222e+06 -8.97079451e+06 -2.30678380e+04 ! x y z +1.81563298e+03 9.45814603e+02 2.66915276e+01 ! vx vy vz +838 2.78212386e+05 1.51006367e+04 ! particle number mass rhill +9.98376791e+03 !particle radius in m +9.96934676e+06 5.38891014e+06 9.88781435e+04 ! x y z +-9.81582718e+02 1.71074828e+03 -3.99838208e+00 ! vx vy vz +839 7.54969273e+04 7.54781766e+03 ! particle number mass rhill +6.46366364e+03 !particle radius in m +4.99758772e+06 -7.50759705e+06 -5.25299733e+04 ! x y z +1.80703397e+03 1.21678053e+03 1.90540898e+01 ! vx vy vz +840 1.70430363e+05 1.20590966e+04 ! particle number mass rhill +8.47913036e+03 !particle radius in m +-6.69441800e+06 -8.86176278e+06 2.53388174e+04 ! x y z +1.56709902e+03 -1.16434302e+03 -9.30903825e+00 ! vx vy vz +841 7.11720571e+04 7.78997309e+03 ! particle number mass rhill +6.33780436e+03 !particle radius in m +-4.38549443e+06 -8.30442031e+06 2.47931467e+04 ! x y z +1.89780640e+03 -1.00273544e+03 3.24648282e-01 ! vx vy vz +842 8.59823501e+04 1.41107806e+04 ! particle number mass rhill +4.58059717e+03 !particle radius in m +9.52295494e+06 -1.31453589e+07 -2.84882159e+04 ! x y z +1.32429236e+03 9.32305231e+02 -7.78758641e+00 ! vx vy vz +843 1.09544894e+05 8.49893572e+03 ! particle number mass rhill +4.96572933e+03 !particle radius in m +8.16032081e+06 -3.83914183e+06 -4.53668688e+04 ! x y z +9.48405336e+02 1.95482944e+03 -1.90024465e+01 ! vx vy vz +844 4.60029935e+05 1.51122850e+04 ! particle number mass rhill +1.18058616e+04 !particle radius in m +8.84185924e+06 4.91012210e+06 -4.89421191e+04 ! x y z +-9.91478880e+02 1.77538667e+03 -7.79856416e+00 ! vx vy vz +845 8.45559558e+04 1.19563910e+04 ! particle number mass rhill +4.55512603e+03 !particle radius in m +1.32256008e+07 4.60711564e+06 3.20195320e+04 ! x y z +-5.72824835e+02 1.63498483e+03 -8.94623266e+00 ! vx vy vz +846 7.22405721e+05 3.33574192e+04 ! particle number mass rhill +9.31206622e+03 !particle radius in m +1.83600084e+07 -3.67172737e+06 -1.03387529e+05 ! x y z +2.82478801e+02 1.48749998e+03 -3.61587063e+00 ! vx vy vz +847 1.13076745e+06 1.88034270e+04 ! particle number mass rhill +1.08121011e+04 !particle radius in m +5.50505051e+06 7.32332854e+06 3.97380095e+04 ! x y z +-1.73540458e+03 1.27934877e+03 1.31767249e+00 ! vx vy vz +848 1.53792461e+06 3.36534328e+04 ! particle number mass rhill +1.19792790e+04 !particle radius in m +-7.13326386e+06 1.32178302e+07 5.30241465e+04 ! x y z +-1.47659146e+03 -7.82263656e+02 -2.09914908e+01 ! vx vy vz +849 2.18245755e+04 6.44870790e+03 ! particle number mass rhill +4.27383343e+03 !particle radius in m +-4.61218845e+06 1.05730170e+07 -6.60200193e+04 ! x y z +-1.78205321e+03 -7.56922993e+02 8.78119173e+00 ! vx vy vz +850 1.34790722e+06 2.73293396e+04 ! particle number mass rhill +1.14640744e+04 !particle radius in m +-4.56090890e+06 1.14927598e+07 1.08391052e+05 ! x y z +-1.73824893e+03 -6.90093039e+02 -9.72090948e+00 ! vx vy vz +851 1.63258167e+05 1.62209865e+04 ! particle number mass rhill +5.67210117e+03 !particle radius in m +-1.26164008e+07 8.37507124e+06 -9.30825805e+04 ! x y z +-9.25052993e+02 -1.39347287e+03 7.98354596e+00 ! vx vy vz +852 3.03238131e+05 1.22437010e+04 ! particle number mass rhill +6.97236746e+03 !particle radius in m +6.53000802e+05 -9.25877071e+06 7.96919181e+03 ! x y z +2.13254376e+03 1.58194267e+02 -3.04691883e+00 ! vx vy vz +853 2.86850115e+05 1.16833407e+04 ! particle number mass rhill +1.00860395e+04 !particle radius in m +7.29493071e+06 -5.15859210e+06 -4.34667082e+04 ! x y z +1.28346456e+03 1.77485302e+03 1.13165377e+01 ! vx vy vz +854 4.89303744e+04 6.65852454e+03 ! particle number mass rhill +3.79587448e+03 !particle radius in m +-3.19192697e+06 -8.59789141e+06 9.38867695e+04 ! x y z +2.03734470e+03 -7.26452634e+02 -1.17305762e+00 ! vx vy vz +855 7.78837017e+05 1.74911407e+04 ! particle number mass rhill +9.54848620e+03 !particle radius in m +9.47082398e+06 -1.09607932e+06 4.83920593e+04 ! x y z +2.14821600e+02 2.11542107e+03 1.20322954e+00 ! vx vy vz +856 8.09963405e+05 1.65414086e+04 ! particle number mass rhill +9.67403073e+03 !particle radius in m +-6.95192799e+06 -5.46206006e+06 2.82885807e+04 ! x y z +1.36201469e+03 -1.74685442e+03 2.47593903e+01 ! vx vy vz +857 2.42701981e+05 1.25706853e+04 ! particle number mass rhill +6.47356387e+03 !particle radius in m +-3.08185810e+06 9.58349756e+06 6.94451226e+03 ! x y z +-1.96338979e+03 -6.65837368e+02 -2.04503843e+01 ! vx vy vz +858 1.70493509e+06 4.29022384e+04 ! particle number mass rhill +1.23980946e+04 !particle radius in m +1.65978586e+07 7.58110647e+06 -7.73180642e+04 ! x y z +-6.28856477e+02 1.39136938e+03 1.44879781e+01 ! vx vy vz +859 1.24913615e+06 2.04262263e+04 ! particle number mass rhill +1.11769229e+04 !particle radius in m +-6.68285720e+06 6.69572721e+06 -2.14964381e+03 ! x y z +-1.53479675e+03 -1.49178194e+03 -5.71100381e+00 ! vx vy vz +860 1.41825071e+05 1.34951826e+04 ! particle number mass rhill +5.41215219e+03 !particle radius in m +-4.42591408e+06 -1.21925806e+07 -3.63637070e+04 ! x y z +1.69944504e+03 -6.60923085e+02 -1.17185754e+00 ! vx vy vz +861 2.32941748e+05 1.18357603e+04 ! particle number mass rhill +9.40989476e+03 !particle radius in m +9.48116594e+06 -3.86455243e+05 -1.03947327e+05 ! x y z +6.54406678e+01 2.14729925e+03 -2.03989342e+01 ! vx vy vz +862 8.31892099e+05 1.90259127e+04 ! particle number mass rhill +9.76055838e+03 !particle radius in m +9.75283383e+06 -3.26934404e+06 -6.67089834e+03 ! x y z +6.55184968e+02 1.92454684e+03 -2.06876177e+00 ! vx vy vz +863 2.65389001e+05 1.25607462e+04 ! particle number mass rhill +9.82795810e+03 !particle radius in m +7.92293154e+06 -5.92949642e+06 8.08421712e+04 ! x y z +1.22209539e+03 1.67954941e+03 6.77640716e+00 ! vx vy vz +864 1.19440089e+06 2.02897833e+04 ! particle number mass rhill +1.10112267e+04 !particle radius in m +-9.44726757e+06 -1.72479642e+06 -5.06771776e+04 ! x y z +3.57081323e+02 -2.08684682e+03 -1.01697089e+00 ! vx vy vz +865 1.94180301e+05 1.09977241e+04 ! particle number mass rhill +8.85599534e+03 !particle radius in m +-6.23129670e+06 7.19526623e+06 1.83941420e+04 ! x y z +-1.59813509e+03 -1.40609078e+03 1.94595479e+01 ! vx vy vz +866 1.32317590e+06 2.00141699e+04 ! particle number mass rhill +1.13935271e+04 !particle radius in m +-5.60132388e+06 -7.32299736e+06 -1.77571471e+04 ! x y z +1.71338179e+03 -1.30416800e+03 7.07200448e+00 ! vx vy vz +867 7.00538607e+05 3.57062222e+04 ! particle number mass rhill +9.21714362e+03 !particle radius in m +1.94866969e+07 6.41556967e+06 -8.78618223e+04 ! x y z +-4.47022162e+02 1.36561417e+03 1.23555791e+00 ! vx vy vz +868 6.96093005e+05 2.84504578e+04 ! particle number mass rhill +9.19760498e+03 !particle radius in m +1.24313845e+07 -1.03009928e+07 2.91007895e+04 ! x y z +1.03299438e+03 1.26303931e+03 1.43272483e+01 ! vx vy vz +869 6.51350069e+04 1.52760208e+04 ! particle number mass rhill +6.15328661e+03 !particle radius in m +-1.88463700e+07 3.02324922e+06 -1.45896688e+05 ! x y z +-2.31662436e+02 -1.48292769e+03 2.63168505e+00 ! vx vy vz +870 1.30747026e+05 1.45819265e+04 ! particle number mass rhill +7.76210648e+03 !particle radius in m +1.40546567e+07 -3.88347486e+06 6.81896661e+04 ! x y z +4.43567006e+02 1.65056081e+03 4.01577354e+00 ! vx vy vz +871 6.71076966e+04 8.61160442e+03 ! particle number mass rhill +4.21738363e+03 !particle radius in m +1.78412490e+06 -1.05393977e+07 -1.79940495e+04 ! x y z +1.97327292e+03 3.39702264e+02 -1.56396341e+01 ! vx vy vz +872 1.71085269e+06 3.01722059e+04 ! particle number mass rhill +1.24124221e+04 !particle radius in m +3.48276485e+06 1.24683799e+07 5.71803206e+04 ! x y z +-1.74011773e+03 4.74503606e+02 9.70062988e+00 ! vx vy vz +873 2.12621273e+05 1.22535537e+04 ! particle number mass rhill +6.19423818e+03 !particle radius in m +9.54521899e+06 -4.27421825e+06 -7.89921579e+04 ! x y z +8.34463883e+02 1.83314396e+03 -1.96687832e+01 ! vx vy vz +874 1.11434552e+06 2.11782232e+04 ! particle number mass rhill +1.07595049e+04 !particle radius in m +-2.90897541e+06 -9.97345628e+06 4.60433948e+04 ! x y z +1.93634809e+03 -5.84664071e+02 -6.64958448e-01 ! vx vy vz +875 1.63374203e+06 2.84663610e+04 ! particle number mass rhill +1.22230660e+04 !particle radius in m +4.25415099e+06 -1.14325644e+07 5.00958816e+04 ! x y z +1.75951768e+03 6.44587122e+02 6.30692655e+00 ! vx vy vz +876 3.21448512e+05 2.38193850e+04 ! particle number mass rhill +7.10923390e+03 !particle radius in m +-1.58007262e+07 -7.45105168e+06 -3.06690137e+04 ! x y z +6.82944765e+02 -1.41301363e+03 1.04453850e+01 ! vx vy vz +877 7.95360887e+04 7.85656320e+03 ! particle number mass rhill +6.57693777e+03 !particle radius in m +8.25741284e+06 4.39411348e+06 3.78949633e+04 ! x y z +-9.99781284e+02 1.87441904e+03 -3.21699586e+00 ! vx vy vz +878 7.92129839e+04 1.88783439e+04 ! particle number mass rhill +6.56801971e+03 !particle radius in m +2.42332014e+06 2.17054415e+07 -5.36680055e+04 ! x y z +-1.40455533e+03 1.37752686e+02 -3.67471579e+00 ! vx vy vz +879 1.02921195e+05 1.05249947e+04 ! particle number mass rhill +7.16699767e+03 !particle radius in m +-1.11338384e+07 -2.20174819e+06 -5.08310388e+04 ! x y z +3.88427106e+02 -1.90213725e+03 -1.60447088e+01 ! vx vy vz +880 1.15170895e+06 3.80457220e+04 ! particle number mass rhill +1.08784389e+04 !particle radius in m +-1.83729146e+07 1.19076985e+06 -1.72335144e+04 ! x y z +-9.88243619e+01 -1.51803622e+03 2.27806536e+01 ! vx vy vz +881 1.02079633e+06 2.51296581e+04 ! particle number mass rhill +1.04495767e+04 !particle radius in m +-6.50873442e+06 -1.07127054e+07 -3.34128129e+03 ! x y z +1.57607258e+03 -9.74525706e+02 1.08233475e+01 ! vx vy vz +882 1.10724006e+06 2.27598022e+04 ! particle number mass rhill +1.07365873e+04 !particle radius in m +-2.66932388e+06 -1.08052729e+07 -7.29995052e+04 ! x y z +1.89275637e+03 -5.06517897e+02 -3.33939112e+00 ! vx vy vz +883 1.23514533e+06 2.71870351e+04 ! particle number mass rhill +1.11350375e+04 !particle radius in m +-8.68309984e+06 8.73295385e+06 2.12890448e+04 ! x y z +-1.33510513e+03 -1.35075217e+03 2.94732064e+00 ! vx vy vz +884 6.42357183e+04 8.63381056e+03 ! particle number mass rhill +4.15634119e+03 !particle radius in m +-9.01680783e+06 -6.03891596e+06 -1.83491289e+04 ! x y z +1.08610553e+03 -1.66661637e+03 5.40990322e+00 ! vx vy vz +885 5.31967805e+05 1.46197870e+04 ! particle number mass rhill +8.40905991e+03 !particle radius in m +8.73703169e+06 -2.34962014e+06 8.87466208e+03 ! x y z +5.81838269e+02 2.10387535e+03 1.59910498e+01 ! vx vy vz +886 1.06591901e+06 1.91036572e+04 ! particle number mass rhill +1.06013311e+04 !particle radius in m +-5.56657026e+06 -7.79387621e+06 -2.42457443e+04 ! x y z +1.72811494e+03 -1.19163725e+03 7.49315478e+00 ! vx vy vz +887 2.02044303e+05 1.75518766e+04 ! particle number mass rhill +8.97396819e+03 !particle radius in m +-1.39814291e+07 5.67086599e+06 7.10670472e+04 ! x y z +-6.38825478e+02 -1.55959492e+03 1.37992185e+01 ! vx vy vz +888 2.20300503e+05 1.26487217e+04 ! particle number mass rhill +9.23650109e+03 !particle radius in m +-6.68069155e+05 -1.06256314e+07 1.03366197e+04 ! x y z +1.99524677e+03 -1.14341573e+02 7.10647594e+00 ! vx vy vz +889 1.81697506e+06 2.78836882e+04 ! particle number mass rhill +1.26639344e+04 !particle radius in m +4.44131372e+06 1.05243943e+07 -4.93210722e+04 ! x y z +-1.78877447e+03 7.65306939e+02 -2.91348510e-01 ! vx vy vz +890 4.62182800e+04 8.76540290e+03 ! particle number mass rhill +3.72440519e+03 !particle radius in m +4.74513540e+06 -1.11521571e+07 1.99020178e+04 ! x y z +1.74857282e+03 7.32287072e+02 8.22196426e+00 ! vx vy vz +891 2.64052549e+05 1.12203260e+04 ! particle number mass rhill +6.65808168e+03 !particle radius in m +3.69231178e+06 8.07781861e+06 -4.84025537e+04 ! x y z +-1.99534439e+03 9.00711444e+02 -7.96406279e+00 ! vx vy vz +892 2.59999466e+05 1.21745079e+04 ! particle number mass rhill +9.76097367e+03 !particle radius in m +7.96779900e+06 5.28681997e+06 4.51459562e+04 ! x y z +-1.15797841e+03 1.77999708e+03 -1.86173466e+01 ! vx vy vz +893 1.67737402e+06 2.38355698e+04 ! particle number mass rhill +1.23309244e+04 !particle radius in m +-4.76453798e+06 -8.80906879e+06 -7.02042625e+03 ! x y z +1.84339352e+03 -9.61915676e+02 -9.22717545e-02 ! vx vy vz +894 1.37575479e+05 1.06778411e+04 ! particle number mass rhill +7.89494909e+03 !particle radius in m +-1.01354200e+07 1.79029021e+06 5.81214752e+04 ! x y z +-3.69721169e+02 -2.02078532e+03 -1.89093419e+00 ! vx vy vz +895 2.61034648e+05 1.11860226e+04 ! particle number mass rhill +9.77391088e+03 !particle radius in m +6.33480475e+06 -5.91857236e+06 -4.57999278e+04 ! x y z +1.55086475e+03 1.62084415e+03 -1.77397628e+01 ! vx vy vz +896 3.60957274e+05 1.87338359e+04 ! particle number mass rhill +7.38931640e+03 !particle radius in m +-1.06493767e+07 7.82814577e+06 2.86358415e+04 ! x y z +-1.05832791e+03 -1.46150005e+03 -5.49731072e+00 ! vx vy vz +897 5.62899921e+05 3.09693578e+04 ! particle number mass rhill +1.26273646e+04 !particle radius in m +7.65076109e+06 -1.70352283e+07 1.51301396e+04 ! x y z +1.39901314e+03 6.06223441e+02 4.14064364e+00 ! vx vy vz +898 4.46032399e+05 1.56971861e+04 ! particle number mass rhill +1.16848854e+04 !particle radius in m +-6.95564135e+06 7.65404475e+06 -2.72421907e+04 ! x y z +-1.52099853e+03 -1.35598646e+03 -9.21577263e+00 ! vx vy vz +899 1.52575316e+05 1.62545462e+04 ! particle number mass rhill +5.54558146e+03 !particle radius in m +-5.49140677e+04 1.54446317e+07 -1.73043597e+04 ! x y z +-1.66030895e+03 -1.12967723e+01 -2.73734027e+00 ! vx vy vz +900 2.78977890e+04 8.65543048e+03 ! particle number mass rhill +4.63830089e+03 !particle radius in m +5.28463967e+06 -1.36432294e+07 1.50949984e+05 ! x y z +1.58056809e+03 6.18784193e+02 2.19476691e+00 ! vx vy vz +901 1.42775206e+06 2.43769191e+04 ! particle number mass rhill +1.16861089e+04 !particle radius in m +-6.87024799e+06 -8.49204530e+06 6.90721153e+04 ! x y z +1.52959279e+03 -1.25803812e+03 2.67976166e+00 ! vx vy vz +902 4.69852863e+05 1.45463044e+04 ! particle number mass rhill +8.06813127e+03 !particle radius in m +-5.81437057e+06 -7.46625959e+06 3.98273573e+04 ! x y z +1.67686329e+03 -1.30572183e+03 -1.17212431e+01 ! vx vy vz +903 7.51681526e+04 1.28937189e+04 ! particle number mass rhill +4.37989422e+03 !particle radius in m +-2.38298847e+06 -1.53195500e+07 2.60001847e+03 ! x y z +1.63293505e+03 -2.84649559e+02 -1.48524125e+01 ! vx vy vz +904 9.91305679e+05 2.50606865e+04 ! particle number mass rhill +1.03479629e+04 !particle radius in m +8.39690801e+06 9.44600671e+06 -3.53959311e+04 ! x y z +-1.39463544e+03 1.20681438e+03 -1.20628234e+01 ! vx vy vz +905 1.77161305e+05 1.92271736e+04 ! particle number mass rhill +5.82874810e+03 !particle radius in m +1.01396678e+07 -1.41312986e+07 5.56406543e+04 ! x y z +1.26355281e+03 9.21806042e+02 1.06940044e+01 ! vx vy vz +906 1.43204042e+05 9.46035229e+03 ! particle number mass rhill +5.42963650e+03 !particle radius in m +-5.21396669e+05 9.14782087e+06 -7.71915905e+03 ! x y z +-2.15141308e+03 -1.66257020e+02 2.07412147e+00 ! vx vy vz +907 5.82582248e+05 1.59774603e+04 ! particle number mass rhill +1.27728576e+04 !particle radius in m +-3.61884147e+05 9.58012066e+06 -6.32163221e+04 ! x y z +-2.11988696e+03 -7.34599885e+01 -6.66237019e+00 ! vx vy vz +908 1.77222758e+06 3.99642317e+04 ! particle number mass rhill +1.25591089e+04 !particle radius in m +-1.53596824e+07 6.40708086e+06 -1.04989342e+05 ! x y z +-6.14876376e+02 -1.48301382e+03 1.26290046e+01 ! vx vy vz +909 3.69937337e+05 1.80154389e+04 ! particle number mass rhill +1.09785515e+04 !particle radius in m +-6.50197885e+06 -1.10181249e+07 -6.62877770e+04 ! x y z +1.58080387e+03 -9.02970180e+02 -1.68313909e+00 ! vx vy vz +910 1.91277530e+05 1.12680358e+04 ! particle number mass rhill +8.81164464e+03 !particle radius in m +9.75396219e+06 -9.13807405e+05 -7.87078491e+04 ! x y z +2.02298152e+02 2.08890085e+03 -1.56193445e+01 ! vx vy vz +911 7.14924966e+04 1.06182194e+04 ! particle number mass rhill +6.34730173e+03 !particle radius in m +1.22059111e+07 -4.11569584e+06 4.51136993e+04 ! x y z +6.18155979e+02 1.71784899e+03 -1.45608490e+01 ! vx vy vz +912 1.55563555e+05 1.54568240e+04 ! particle number mass rhill +8.22504486e+03 !particle radius in m +-1.39589249e+07 4.22706952e+06 1.42629172e+04 ! x y z +-4.79490807e+02 -1.64034272e+03 -9.80150049e+00 ! vx vy vz +913 1.82993785e+05 1.31378262e+04 ! particle number mass rhill +8.68255953e+03 !particle radius in m +-8.72337367e+06 7.89855612e+06 -1.46432428e+04 ! x y z +-1.27359213e+03 -1.41072675e+03 -9.09643338e+00 ! vx vy vz +914 7.86241766e+04 1.03655056e+04 ! particle number mass rhill +6.55170538e+03 !particle radius in m +-5.98689124e+06 -1.08278571e+07 -7.13966053e+04 ! x y z +1.61204187e+03 -9.04138146e+02 6.38760222e+00 ! vx vy vz +915 8.65375593e+04 1.02314925e+04 ! particle number mass rhill +6.76452340e+03 !particle radius in m +-1.07210273e+07 4.87007409e+06 5.61861647e+04 ! x y z +-7.65098099e+02 -1.73800332e+03 -1.14385352e+01 ! vx vy vz +916 5.51731603e+05 2.32611955e+04 ! particle number mass rhill +8.51193471e+03 !particle radius in m +2.68858721e+06 -1.40830147e+07 -6.98869515e+04 ! x y z +1.69547510e+03 3.28640998e+02 9.31981924e-01 ! vx vy vz +917 6.08037372e+05 2.25179870e+04 ! particle number mass rhill +1.29562429e+04 !particle radius in m +-1.30260417e+07 3.41761257e+06 -7.30560375e+04 ! x y z +-4.58021484e+02 -1.72002575e+03 5.01502204e+00 ! vx vy vz +918 4.79734805e+05 1.48772500e+04 ! particle number mass rhill +1.19720742e+04 !particle radius in m +-4.79303948e+06 8.20836672e+06 6.12546656e+03 ! x y z +-1.84411142e+03 -1.07059828e+03 4.85115120e+00 ! vx vy vz +919 3.74633489e+05 1.27654921e+04 ! particle number mass rhill +1.10248119e+04 !particle radius in m +7.16020189e+06 -5.20913143e+06 7.41222240e+04 ! x y z +1.31083472e+03 1.77863703e+03 -1.14709109e+01 ! vx vy vz +920 5.48029178e+04 7.03991663e+03 ! particle number mass rhill +5.80902907e+03 !particle radius in m +8.99285148e+05 9.31741571e+06 -4.43761911e+04 ! x y z +-2.12986907e+03 1.90203427e+02 1.15661198e+01 ! vx vy vz +921 4.87827229e+05 1.74774715e+04 ! particle number mass rhill +1.20390163e+04 !particle radius in m +1.03624859e+07 4.00217371e+06 -3.33921276e+04 ! x y z +-7.29889411e+02 1.83209523e+03 -3.12704990e+00 ! vx vy vz +922 1.05756885e+06 2.06748257e+04 ! particle number mass rhill +1.05735757e+04 !particle radius in m +9.54531799e+06 -3.82777787e+06 -3.08506232e+03 ! x y z +7.65760228e+02 1.88710727e+03 1.54248284e+01 ! vx vy vz +923 6.63813995e+04 1.09433671e+04 ! particle number mass rhill +6.19228768e+03 !particle radius in m +-1.26508821e+07 -4.96817255e+06 -7.46581466e+04 ! x y z +6.38137580e+02 -1.65998064e+03 -1.05229703e+01 ! vx vy vz +924 1.00406632e+05 9.99833989e+03 ! particle number mass rhill +7.10814791e+03 !particle radius in m +6.65714202e+06 8.41817806e+06 5.11373555e+04 ! x y z +-1.58896209e+03 1.22956179e+03 -1.67191084e+01 ! vx vy vz +925 5.87747010e+05 2.18911763e+04 ! particle number mass rhill +8.69325608e+03 !particle radius in m +-1.30432977e+07 2.41169295e+06 9.46191119e+04 ! x y z +-3.33638402e+02 -1.76051970e+03 1.16209842e+01 ! vx vy vz +926 4.75462803e+04 1.18644248e+04 ! particle number mass rhill +3.75974028e+03 !particle radius in m +1.62111278e+07 2.59399704e+06 1.61282577e+05 ! x y z +-2.71405873e+02 1.59773598e+03 -5.81005218e+00 ! vx vy vz +927 3.60899345e+05 1.33896338e+04 ! particle number mass rhill +7.38892108e+03 !particle radius in m +2.06345127e+06 9.22023526e+06 -7.22571528e+03 ! x y z +-2.09005362e+03 4.30799852e+02 -1.90823955e+01 ! vx vy vz +928 6.94986732e+05 2.84409336e+04 ! particle number mass rhill +9.19272993e+03 !particle radius in m +-1.13721993e+07 -1.13987875e+07 8.83921800e+04 ! x y z +1.16224359e+03 -1.15160239e+03 -1.45306478e+01 ! vx vy vz +929 1.42004128e+06 2.12356496e+04 ! particle number mass rhill +1.16650334e+04 !particle radius in m +2.77942362e+06 -9.01437717e+06 -5.67717467e+04 ! x y z +2.03984238e+03 6.54242641e+02 1.85000009e+01 ! vx vy vz +930 2.24733888e+05 1.45872492e+04 ! particle number mass rhill +9.29804930e+03 !particle radius in m +-1.18629177e+07 -4.45829589e+05 7.85442143e+04 ! x y z +1.01652144e+02 -1.91537773e+03 4.05611152e+00 ! vx vy vz +931 1.47976471e+06 2.49169315e+04 ! particle number mass rhill +1.18263271e+04 !particle radius in m +8.95238380e+06 6.51302794e+06 3.45161345e+04 ! x y z +-1.14800130e+03 1.59335172e+03 -7.03295250e+00 ! vx vy vz +932 1.70114086e+05 1.29084720e+04 ! particle number mass rhill +5.75041368e+03 !particle radius in m +6.69475580e+06 -9.28551107e+06 -4.91541805e+04 ! x y z +1.59233658e+03 1.14243210e+03 1.78210731e+00 ! vx vy vz +933 1.56606121e+06 2.62055008e+04 ! particle number mass rhill +1.20518923e+04 !particle radius in m +1.12760016e+07 1.84611316e+06 -7.48490699e+04 ! x y z +-2.79591330e+02 1.91267253e+03 -1.78025369e+00 ! vx vy vz +934 8.12648144e+05 1.75896750e+04 ! particle number mass rhill +9.68470759e+03 !particle radius in m +-6.71328804e+03 9.68278345e+06 -5.52334404e+04 ! x y z +-2.08432418e+03 -8.54871802e+00 1.66064441e+01 ! vx vy vz +935 9.32242815e+04 1.03934151e+04 ! particle number mass rhill +4.70574813e+03 !particle radius in m +-6.96627774e+06 9.23026738e+06 -2.87240918e+04 ! x y z +-1.52286258e+03 -1.17748048e+03 -3.95814303e+00 ! vx vy vz +936 9.15923643e+04 9.93071034e+03 ! particle number mass rhill +4.67812785e+03 !particle radius in m +1.23905483e+05 -1.09739869e+07 1.36396267e+04 ! x y z +1.98817193e+03 2.04705438e+01 -2.01972620e+01 ! vx vy vz +937 7.73209091e+04 8.79356723e+03 ! particle number mass rhill +6.51530333e+03 !particle radius in m +-6.63943360e+06 7.91940404e+06 6.09014325e+04 ! x y z +-1.56332740e+03 -1.31647658e+03 2.73931815e+01 ! vx vy vz +938 1.15431944e+06 2.13451050e+04 ! particle number mass rhill +1.08866518e+04 !particle radius in m +5.51288052e+06 -8.48543006e+06 3.44011201e+04 ! x y z +1.72675322e+03 1.14606699e+03 -1.64108886e+00 ! vx vy vz +939 1.21706761e+05 1.16464966e+04 ! particle number mass rhill +7.57891828e+03 !particle radius in m +-6.54081328e+06 -9.90968551e+06 -8.75124119e+02 ! x y z +1.59735811e+03 -1.02533687e+03 2.87435690e+01 ! vx vy vz +940 1.44471560e+05 9.79699996e+03 ! particle number mass rhill +5.44560895e+03 !particle radius in m +-6.45935547e+06 -6.74639603e+06 -1.43260248e+04 ! x y z +1.55668948e+03 -1.48434496e+03 1.71287847e+00 ! vx vy vz +941 3.71977165e+04 6.32336532e+03 ! particle number mass rhill +5.10514110e+03 !particle radius in m +6.10089271e+06 -7.18245737e+06 -1.54248190e+04 ! x y z +1.63416125e+03 1.39276630e+03 2.48510957e+00 ! vx vy vz +942 1.37980847e+05 9.55947495e+03 ! particle number mass rhill +5.36280409e+03 !particle radius in m +4.82602306e+06 -8.03439545e+06 -7.67679872e+02 ! x y z +1.85073484e+03 1.06188550e+03 8.12750484e-01 ! vx vy vz +943 4.27857629e+05 1.62853799e+04 ! particle number mass rhill +1.15239690e+04 !particle radius in m +4.44437862e+06 -9.91763988e+06 4.31307866e+04 ! x y z +1.80875755e+03 8.27020553e+02 -1.01329362e+01 ! vx vy vz +944 1.74965082e+06 3.10582259e+04 ! particle number mass rhill +1.25055498e+04 !particle radius in m +-1.14222033e+07 -6.06408313e+06 4.03399165e+03 ! x y z +8.56095542e+02 -1.61207885e+03 -3.63239850e+00 ! vx vy vz +945 6.72561666e+04 7.87507156e+03 ! particle number mass rhill +6.21936950e+03 !particle radius in m +7.76499151e+06 5.91861320e+06 3.34591110e+04 ! x y z +-1.26430519e+03 1.67125233e+03 9.81409163e+00 ! vx vy vz +946 8.64373959e+04 8.05199233e+03 ! particle number mass rhill +6.76191251e+03 !particle radius in m +6.41969262e+05 9.07081567e+06 -7.35294633e+03 ! x y z +-2.17769789e+03 1.33895254e+02 1.52672754e+01 ! vx vy vz +947 5.36332278e+04 1.03602264e+04 ! particle number mass rhill +3.91378509e+03 !particle radius in m +-1.06528591e+07 8.93880305e+06 -5.72463584e+04 ! x y z +-1.12548728e+03 -1.34323474e+03 6.06469294e+00 ! vx vy vz +948 1.17211860e+05 2.10405973e+04 ! particle number mass rhill +7.48444340e+03 !particle radius in m +-3.19955637e+06 2.16099834e+07 -4.14759774e+03 ! x y z +-1.38306232e+03 -1.85981613e+02 8.81754791e+00 ! vx vy vz +949 9.11608285e+04 1.21936686e+04 ! particle number mass rhill +6.88290450e+03 !particle radius in m +-1.10508713e+07 7.71301153e+06 -1.18282672e+05 ! x y z +-1.00552378e+03 -1.48763887e+03 9.37513940e+00 ! vx vy vz +950 4.59859255e+05 1.50029271e+04 ! particle number mass rhill +8.01051874e+03 !particle radius in m +-6.84568402e+06 6.93126559e+06 -8.44628949e+04 ! x y z +-1.48797188e+03 -1.48762515e+03 1.55236862e+00 ! vx vy vz +951 1.26288065e+06 2.47709011e+04 ! particle number mass rhill +1.12177675e+04 !particle radius in m +-4.99810043e+06 1.03574496e+07 4.97035769e+03 ! x y z +-1.74218913e+03 -8.42934517e+02 -8.95086256e+00 ! vx vy vz +952 1.67008034e+06 2.22513268e+04 ! particle number mass rhill +1.23130257e+04 !particle radius in m +-5.22893040e+06 -8.08300727e+06 -6.54096012e+04 ! x y z +1.73636332e+03 -1.16550147e+03 -7.26670162e+00 ! vx vy vz +953 7.95372577e+05 1.86967687e+04 ! particle number mass rhill +9.61558846e+03 !particle radius in m +8.48788962e+06 5.61313541e+06 -3.97847978e+04 ! x y z +-1.16430859e+03 1.69033461e+03 -1.63966122e+00 ! vx vy vz +954 8.47395554e+04 1.00079467e+04 ! particle number mass rhill +6.71734597e+03 !particle radius in m +-8.10346206e+06 8.11251976e+06 -2.39530194e+04 ! x y z +-1.39528138e+03 -1.34141849e+03 -1.46583663e+01 ! vx vy vz +955 6.93438909e+05 2.84903753e+04 ! particle number mass rhill +9.18590040e+03 !particle radius in m +1.01379295e+07 1.27148009e+07 1.28683748e+05 ! x y z +-1.25755832e+03 1.02459820e+03 2.79221586e+00 ! vx vy vz +956 7.31942427e+04 1.24518277e+04 ! particle number mass rhill +4.34121509e+03 !particle radius in m +-3.34906408e+06 -1.45007656e+07 3.06724892e+04 ! x y z +1.65986723e+03 -3.87189481e+02 -1.20093781e+01 ! vx vy vz +957 3.55587603e+05 1.37341596e+04 ! particle number mass rhill +7.35249155e+03 !particle radius in m +9.72284422e+06 5.24694587e+05 -2.03401805e+04 ! x y z +-1.64711568e+02 2.09599540e+03 2.03343245e+00 ! vx vy vz +958 1.71213733e+06 2.28612972e+04 ! particle number mass rhill +1.24155280e+04 !particle radius in m +8.48073237e+06 4.51058486e+06 2.53523368e+04 ! x y z +-9.87084405e+02 1.87149600e+03 2.30788388e+01 ! vx vy vz +959 1.49068065e+05 1.05743641e+04 ! particle number mass rhill +5.50275953e+03 !particle radius in m +6.45455163e+06 -7.63351792e+06 -1.42285814e+05 ! x y z +1.59381455e+03 1.33155701e+03 -4.40247600e+00 ! vx vy vz +960 2.47891004e+05 1.32144407e+04 ! particle number mass rhill +6.51937434e+03 !particle radius in m +-8.78159278e+06 5.76426176e+06 9.09624378e+04 ! x y z +-1.08134022e+03 -1.71795196e+03 -8.73857909e-01 ! vx vy vz +961 2.14835918e+05 1.35103323e+04 ! particle number mass rhill +6.21567016e+03 !particle radius in m +9.52925894e+06 6.10621713e+06 8.38784066e+04 ! x y z +-1.05186401e+03 1.64327133e+03 8.87777455e+00 ! vx vy vz +962 6.29065831e+05 1.73269791e+04 ! particle number mass rhill +8.89237350e+03 !particle radius in m +1.01892854e+07 -1.36265120e+06 -1.12357324e+04 ! x y z +2.44094973e+02 2.01912416e+03 -1.23871747e+01 ! vx vy vz +963 5.16147317e+05 1.50575212e+04 ! particle number mass rhill +1.22676172e+04 !particle radius in m +-9.44952303e+06 6.64794032e+05 2.66575883e+04 ! x y z +-1.65527486e+02 -2.12001832e+03 -2.00449290e+01 ! vx vy vz +964 1.85821608e+05 1.40472593e+04 ! particle number mass rhill +5.92221816e+03 !particle radius in m +1.83154773e+05 -1.22553647e+07 8.81712635e+04 ! x y z +1.88138741e+03 4.37026901e+01 -1.09775010e+01 ! vx vy vz +965 1.06343938e+06 2.54408850e+04 ! particle number mass rhill +1.05931042e+04 !particle radius in m +-7.97487196e+06 -9.77747428e+06 2.72278643e+04 ! x y z +1.43311159e+03 -1.15357841e+03 -9.89419786e+00 ! vx vy vz +966 1.58002425e+06 2.58710114e+04 ! particle number mass rhill +1.20876047e+04 !particle radius in m +1.94057310e+06 1.10640858e+07 -6.67098464e+04 ! x y z +-1.92090005e+03 3.39961177e+02 9.93411747e+00 ! vx vy vz +967 8.58401235e+05 2.07572427e+04 ! particle number mass rhill +9.86315310e+03 !particle radius in m +-4.65532155e+06 1.00459520e+07 1.92148265e+04 ! x y z +-1.79352379e+03 -7.96705869e+02 7.04140623e-01 ! vx vy vz +968 1.57528626e+05 1.22389329e+04 ! particle number mass rhill +5.60495536e+03 !particle radius in m +-7.15394211e+06 8.89862789e+06 -1.32380207e+04 ! x y z +-1.51757568e+03 -1.20615223e+03 1.35463888e+01 ! vx vy vz +969 2.12134735e+04 6.51263393e+03 ! particle number mass rhill +4.23356519e+03 !particle radius in m +-9.43261369e+06 7.11601450e+06 5.44346690e+03 ! x y z +-1.15890933e+03 -1.51651908e+03 -4.86353449e+00 ! vx vy vz +970 3.29578174e+05 1.21204951e+04 ! particle number mass rhill +7.16866817e+03 !particle radius in m +4.46987922e+06 -7.54136153e+06 -1.75706858e+03 ! x y z +1.91337212e+03 1.12893149e+03 -4.46774330e+00 ! vx vy vz +971 1.05411151e+05 1.11684890e+04 ! particle number mass rhill +4.90246515e+03 !particle radius in m +-1.19950136e+07 8.16218853e+05 1.95819347e+04 ! x y z +-1.42817655e+02 -1.87495301e+03 1.71449405e+00 ! vx vy vz +972 2.55344298e+05 1.76418586e+04 ! particle number mass rhill +9.70236728e+03 !particle radius in m +-7.49210830e+06 -1.17675041e+07 3.09999690e+03 ! x y z +1.49945194e+03 -9.16839153e+02 1.04827746e+01 ! vx vy vz +973 1.37703494e+05 1.12425461e+04 ! particle number mass rhill +7.89739710e+03 !particle radius in m +1.05050579e+07 -3.74118158e+06 2.63300605e+04 ! x y z +6.73610054e+02 1.82488852e+03 9.07423039e+00 ! vx vy vz +974 9.84103923e+05 2.00432924e+04 ! particle number mass rhill +1.03228429e+04 !particle radius in m +4.89752221e+06 -8.85494139e+06 -6.75229080e+04 ! x y z +1.83164749e+03 9.48103081e+02 -1.57990456e+01 ! vx vy vz +975 1.00252238e+05 9.22748863e+03 ! particle number mass rhill +4.82114680e+03 !particle radius in m +-4.94662921e+06 -8.78447645e+06 -1.52590989e+04 ! x y z +1.78359269e+03 -1.02161338e+03 3.01217587e+00 ! vx vy vz +976 5.53135509e+05 1.68123246e+04 ! particle number mass rhill +8.51914826e+03 !particle radius in m +-2.76648508e+06 1.00209975e+07 1.12220539e+04 ! x y z +-1.94324711e+03 -5.66151040e+02 8.07071042e+00 ! vx vy vz +977 5.41267890e+05 1.56970657e+04 ! particle number mass rhill +1.24634921e+04 !particle radius in m +8.29729830e+05 -9.56636031e+06 7.03935010e+04 ! x y z +2.11653601e+03 1.88209489e+02 4.94852919e+00 ! vx vy vz +978 4.92634995e+04 7.32653208e+03 ! particle number mass rhill +3.80446929e+03 !particle radius in m +-9.93606780e+06 -1.91150532e+06 -4.47495052e+04 ! x y z +3.80453971e+02 -2.01867650e+03 -1.85403349e+01 ! vx vy vz +979 1.65274417e+04 7.83114800e+03 ! particle number mass rhill +3.89556870e+03 !particle radius in m +-8.01896356e+06 1.37141963e+07 -5.15166167e+03 ! x y z +-1.39036186e+03 -8.35965747e+02 -1.59320152e+00 ! vx vy vz +980 5.24214865e+04 6.69045772e+03 ! particle number mass rhill +5.72363723e+03 !particle radius in m +-1.85002148e+06 -8.80679540e+06 1.35544509e+04 ! x y z +2.13508260e+03 -4.62001715e+02 -1.42665412e+01 ! vx vy vz +981 9.63241215e+04 2.06858686e+04 ! particle number mass rhill +4.75733808e+03 !particle radius in m +4.27594078e+06 -2.26843001e+07 -1.55793996e+05 ! x y z +1.32907578e+03 2.52657022e+02 -1.02801831e+01 ! vx vy vz +982 1.49951567e+05 1.33263763e+04 ! particle number mass rhill +8.12492435e+03 !particle radius in m +-5.68991814e+06 -1.12264560e+07 -5.21915423e+04 ! x y z +1.65234255e+03 -8.32199277e+02 -1.84232859e+01 ! vx vy vz +983 7.13391753e+05 2.49266565e+04 ! particle number mass rhill +9.27317292e+03 !particle radius in m +5.57078844e+06 -1.29122392e+07 2.98061387e+04 ! x y z +1.60978124e+03 6.76666256e+02 -1.81556760e+01 ! vx vy vz +984 4.91078407e+05 1.52853655e+04 ! particle number mass rhill +1.20657022e+04 !particle radius in m +-9.23646620e+06 -3.48333300e+06 -5.66153126e+04 ! x y z +7.62840282e+02 -1.92758119e+03 -1.42885719e+01 ! vx vy vz +985 3.03747127e+04 9.37667012e+03 ! particle number mass rhill +4.77169909e+03 !particle radius in m +-1.33386904e+07 -7.03492878e+06 5.22429887e+04 ! x y z +7.86090473e+02 -1.49627525e+03 -5.64598667e-01 ! vx vy vz +986 7.62789305e+04 7.49209491e+03 ! particle number mass rhill +4.40136307e+03 !particle radius in m +-4.47610210e+06 -7.77281547e+06 -5.58878589e+04 ! x y z +1.89664270e+03 -1.07211196e+03 -5.72288054e+00 ! vx vy vz +987 5.38217351e+05 1.59161032e+04 ! particle number mass rhill +8.44186160e+03 !particle radius in m +-9.07004249e+06 -3.73002016e+06 4.79325609e+04 ! x y z +7.83046085e+02 -1.94541887e+03 -4.25596103e-01 ! vx vy vz +988 1.46677051e+06 5.27296565e+04 ! particle number mass rhill +1.17916085e+04 !particle radius in m +4.77535808e+06 2.28272957e+07 -1.30485185e+05 ! x y z +-1.33059311e+03 2.72226813e+02 1.17199136e+00 ! vx vy vz +989 7.83810354e+05 1.63919096e+04 ! particle number mass rhill +9.56876735e+03 !particle radius in m +-6.57222396e+06 -6.18414714e+06 5.03770860e+03 ! x y z +1.49882331e+03 -1.57253167e+03 6.35917239e-01 ! vx vy vz +990 9.04479666e+05 2.77109755e+04 ! particle number mass rhill +1.00365688e+04 !particle radius in m +1.29779524e+07 -6.46401216e+06 3.48941370e+04 ! x y z +7.80281531e+02 1.52896125e+03 1.61899666e+01 ! vx vy vz +991 1.14972347e+06 2.99375373e+04 ! particle number mass rhill +1.08721841e+04 !particle radius in m +8.92019709e+06 1.13125647e+07 2.46536424e+04 ! x y z +-1.35073430e+03 1.07341543e+03 -2.21311295e+00 ! vx vy vz +992 6.67357642e+04 1.09002272e+04 ! particle number mass rhill +6.20328692e+03 !particle radius in m +1.07245478e+07 -8.18329560e+06 2.13161879e+04 ! x y z +1.05166921e+03 1.44439805e+03 3.54109421e-01 ! vx vy vz +993 6.11370558e+05 1.56023100e+04 ! particle number mass rhill +1.29798746e+04 !particle radius in m +-9.30550358e+06 8.66046042e+05 5.81017139e+04 ! x y z +-2.29894248e+02 -2.12058022e+03 1.24228458e+00 ! vx vy vz +994 4.45237521e+05 1.77384318e+04 ! particle number mass rhill +1.16779401e+04 !particle radius in m +7.60186730e+06 8.86968517e+06 -2.74017031e+04 ! x y z +-1.43991356e+03 1.26760065e+03 4.33685357e+00 ! vx vy vz +995 4.53014340e+05 2.01907210e+04 ! particle number mass rhill +1.17455396e+04 !particle radius in m +7.15301504e+06 -1.14025302e+07 6.70488022e+04 ! x y z +1.51419253e+03 9.18252451e+02 1.10269853e+01 ! vx vy vz +996 3.76622166e+05 1.36635044e+04 ! particle number mass rhill +7.49470061e+03 !particle radius in m +1.23698701e+06 9.47565448e+06 3.23875154e+04 ! x y z +-2.10148424e+03 2.50074394e+02 -1.91619258e+01 ! vx vy vz +997 1.45808293e+06 2.77686048e+04 ! particle number mass rhill +1.17682821e+04 !particle radius in m +-2.19991014e+06 -1.20488900e+07 1.28489104e+05 ! x y z +1.85062965e+03 -3.21678958e+02 -6.16390717e+00 ! vx vy vz +998 6.44391266e+05 1.73102080e+04 ! particle number mass rhill +8.96400751e+03 !particle radius in m +-9.49865812e+06 -3.70460583e+06 1.09215654e+05 ! x y z +7.34938455e+02 -1.90450100e+03 -1.30332251e+00 ! vx vy vz +999 3.65175986e+05 1.64023546e+04 ! particle number mass rhill +1.09312475e+04 !particle radius in m +1.16226476e+07 1.38150369e+06 -1.92583058e+04 ! x y z +-2.26381104e+02 1.88932307e+03 9.55895676e+00 ! vx vy vz +1000 9.88081458e+05 1.83194505e+04 ! particle number mass rhill +1.03367318e+04 !particle radius in m +2.15229887e+06 9.00160460e+06 -1.92923892e+04 ! x y z +-2.09656754e+03 4.96075668e+02 -1.16719539e+01 ! vx vy vz +1001 6.62894303e+05 1.89591067e+04 ! particle number mass rhill +9.04899661e+03 !particle radius in m +1.06770435e+06 1.09358139e+07 4.20062155e+03 ! x y z +-1.96462815e+03 1.83747788e+02 1.48559298e+00 ! vx vy vz +1002 2.36132593e+05 1.08091204e+04 ! particle number mass rhill +6.41462061e+03 !particle radius in m +-6.42789916e+06 -5.88137546e+06 5.96791682e+04 ! x y z +1.50006484e+03 -1.65201659e+03 -1.22137321e+01 ! vx vy vz +1003 4.16392913e+05 1.52456984e+04 ! particle number mass rhill +7.74973359e+03 !particle radius in m +-6.05164524e+06 -8.28607289e+06 -1.65389595e+03 ! x y z +1.67689384e+03 -1.17484360e+03 -6.18688546e+00 ! vx vy vz +1004 7.30911687e+05 2.22864831e+04 ! particle number mass rhill +9.34847201e+03 !particle radius in m +1.21489394e+07 1.95514302e+06 1.23709104e+05 ! x y z +-3.04295890e+02 1.85437159e+03 3.05804994e+00 ! vx vy vz +1005 7.04656544e+05 1.96594388e+04 ! particle number mass rhill +9.23516856e+03 !particle radius in m +7.58308846e+06 8.14384020e+06 6.98191668e+04 ! x y z +-1.44939292e+03 1.32522723e+03 3.40820153e+00 ! vx vy vz +1006 5.25571133e+05 1.46176750e+04 ! particle number mass rhill +8.37521886e+03 !particle radius in m +2.35699353e+06 8.90977821e+06 -1.38321436e+04 ! x y z +-2.07425100e+03 5.54407039e+02 3.21999470e+00 ! vx vy vz +1007 7.82045501e+05 2.08763285e+04 ! particle number mass rhill +9.56158017e+03 !particle radius in m +-6.64360612e+06 -9.33976004e+06 -1.15941594e+05 ! x y z +1.59144044e+03 -1.09353179e+03 -2.96304740e-01 ! vx vy vz +1008 8.70025224e+04 1.07141500e+04 ! particle number mass rhill +4.59864210e+03 !particle radius in m +1.19168220e+07 -3.45563255e+06 1.11394399e+04 ! x y z +5.17861579e+02 1.76812064e+03 1.39033798e+00 ! vx vy vz +1009 5.64137560e+04 9.27247783e+03 ! particle number mass rhill +3.98028346e+03 !particle radius in m +-9.71007247e+06 7.35807090e+06 -1.31989891e+05 ! x y z +-1.16325288e+03 -1.47233955e+03 8.07759554e+00 ! vx vy vz +1010 1.58980135e+06 2.10225293e+04 ! particle number mass rhill +1.21124859e+04 !particle radius in m +1.41799542e+06 -9.13902699e+06 4.24742676e+04 ! x y z +2.10898023e+03 3.21322532e+02 -1.26636042e+01 ! vx vy vz +1011 6.48898466e+05 3.47604826e+04 ! particle number mass rhill +8.98485858e+03 !particle radius in m +-1.08957227e+07 -1.70176619e+07 1.40648070e+05 ! x y z +1.21605254e+03 -8.04289078e+02 5.08636985e+00 ! vx vy vz +1012 1.42919802e+06 2.30069491e+04 ! particle number mass rhill +1.16900526e+04 !particle radius in m +-5.98329541e+06 8.30801044e+06 9.09812707e+03 ! x y z +-1.64846384e+03 -1.22236838e+03 2.54695878e+01 ! vx vy vz +1013 5.40040880e+05 1.47476030e+04 ! particle number mass rhill +8.45138479e+03 !particle radius in m +-4.65472167e+06 -7.85395586e+06 -5.30698954e+03 ! x y z +1.85738188e+03 -1.11675155e+03 9.77147330e+00 ! vx vy vz +1014 3.15876640e+05 2.57826803e+04 ! particle number mass rhill +1.04153730e+04 !particle radius in m +1.69188525e+07 8.47840581e+06 -4.67327616e+04 ! x y z +-6.66379185e+02 1.35677843e+03 1.32594121e+01 ! vx vy vz +1015 1.28437998e+06 2.18214380e+04 ! particle number mass rhill +1.12810669e+04 !particle radius in m +-7.04671066e+06 7.15586671e+06 -3.56479637e+04 ! x y z +-1.47400909e+03 -1.45932821e+03 -9.67794404e+00 ! vx vy vz +1016 8.51014432e+04 1.07189121e+04 ! particle number mass rhill +6.72689473e+03 !particle radius in m +7.33791533e+06 -9.58517692e+06 3.03846079e+04 ! x y z +1.49051721e+03 1.17984608e+03 -1.97955637e+01 ! vx vy vz +1017 7.73322783e+04 1.01200226e+04 ! particle number mass rhill +4.42153023e+03 !particle radius in m +1.21152578e+07 2.07326034e+05 4.57151931e+03 ! x y z +-2.18290977e+01 1.86989325e+03 -1.30418260e+01 ! vx vy vz +1018 9.71965028e+05 1.81983837e+04 ! particle number mass rhill +1.02802232e+04 !particle radius in m +-1.78690734e+06 9.20811486e+06 6.52613267e+03 ! x y z +-2.08865445e+03 -3.88689300e+02 7.21544338e+00 ! vx vy vz +1019 1.49585486e+05 1.14358236e+04 ! particle number mass rhill +5.50911894e+03 !particle radius in m +-6.29895686e+06 8.71900726e+06 -7.33711540e+03 ! x y z +-1.63469757e+03 -1.16304985e+03 4.84189753e+00 ! vx vy vz +1020 1.78577195e+06 2.71175230e+04 ! particle number mass rhill +1.25910224e+04 !particle radius in m +9.10086700e+06 -7.03219894e+06 -7.28785098e+04 ! x y z +1.17345937e+03 1.50811083e+03 -6.68343594e+00 ! vx vy vz +1021 1.34502113e+05 9.24659035e+03 ! particle number mass rhill +7.83571609e+03 !particle radius in m +-4.28807654e+06 -7.85915508e+06 2.65183664e+04 ! x y z +1.92700749e+03 -1.07363344e+03 6.86417879e+00 ! vx vy vz +1022 2.01917888e+05 1.22758301e+04 ! particle number mass rhill +6.08850399e+03 !particle radius in m +6.47343353e+06 8.23566063e+06 3.01013545e+04 ! x y z +-1.59000120e+03 1.26250583e+03 -1.25792680e+01 ! vx vy vz +1023 1.71637754e+06 2.20305062e+04 ! particle number mass rhill +1.24257689e+04 !particle radius in m +-8.70674127e+06 -2.94645030e+06 -2.92623754e+04 ! x y z +7.11914106e+02 -2.04951615e+03 1.66637378e+01 ! vx vy vz +1024 1.12639788e+06 4.33869282e+04 ! particle number mass rhill +1.07981562e+04 !particle radius in m +-1.75476786e+07 -1.12768402e+07 1.80639637e+05 ! x y z +7.59106783e+02 -1.22286396e+03 1.20937631e+00 ! vx vy vz +1025 5.83604478e+05 2.16754875e+04 ! particle number mass rhill +1.27803239e+04 !particle radius in m +7.04696388e+06 -1.10885823e+07 -6.17953039e+04 ! x y z +1.50498521e+03 9.91641405e+02 -4.14259212e-01 ! vx vy vz +1026 2.20352204e+05 1.09859692e+04 ! particle number mass rhill +6.26842061e+03 !particle radius in m +9.08053413e+06 1.73092917e+06 9.84209268e+03 ! x y z +-4.33130368e+02 2.10086011e+03 -1.06621334e+01 ! vx vy vz +1027 1.56061006e+06 3.08692906e+04 ! particle number mass rhill +1.20378926e+04 !particle radius in m +-3.00902975e+06 -1.32946373e+07 -5.90702502e+03 ! x y z +1.71319262e+03 -4.00878759e+02 -9.96066412e+00 ! vx vy vz +1028 3.75033223e+05 1.31801704e+04 ! particle number mass rhill +7.48414588e+03 !particle radius in m +-4.04201967e+06 -8.29248316e+06 -4.12753129e+03 ! x y z +1.92318448e+03 -9.71522928e+02 1.76717922e+01 ! vx vy vz +1029 4.12899419e+05 2.61767083e+04 ! particle number mass rhill +7.72799953e+03 !particle radius in m +1.75193620e+07 -2.65169374e+06 1.13236551e+05 ! x y z +2.30440171e+02 1.53861792e+03 6.99701915e+00 ! vx vy vz +1030 8.89682523e+05 1.86122096e+04 ! particle number mass rhill +9.98153536e+03 !particle radius in m +3.43641275e+06 -8.93033322e+06 -2.09644587e+04 ! x y z +1.99449709e+03 7.67681042e+02 -1.69978122e+00 ! vx vy vz +1031 2.48040793e+05 1.35267215e+04 ! particle number mass rhill +6.52068720e+03 !particle radius in m +-8.94110733e+06 -6.35904272e+06 -5.39789507e+04 ! x y z +1.10919784e+03 -1.62340625e+03 -3.28674782e+00 ! vx vy vz +1032 5.49793186e+04 1.17511732e+04 ! particle number mass rhill +5.81525514e+03 !particle radius in m +-1.30741810e+07 8.57418735e+06 -1.19905050e+03 ! x y z +-9.25024677e+02 -1.37017223e+03 4.97519787e+00 ! vx vy vz +1033 6.00472566e+05 1.75807128e+04 ! particle number mass rhill +1.29022874e+04 !particle radius in m +-2.54473466e+06 1.02641366e+07 -6.03109093e+04 ! x y z +-1.94287173e+03 -5.03549968e+02 -1.40714774e+00 ! vx vy vz +1034 4.73743959e+04 7.85601650e+03 ! particle number mass rhill +3.75520420e+03 !particle radius in m +-2.05229123e+06 1.07524321e+07 -3.91281600e+04 ! x y z +-1.94369561e+03 -3.72923016e+02 -4.66840760e+00 ! vx vy vz +1035 1.71364118e+05 1.29921200e+04 ! particle number mass rhill +8.49458734e+03 !particle radius in m +9.81310678e+06 -6.45686284e+06 -8.14126007e+04 ! x y z +1.04337462e+03 1.60488987e+03 -6.74659876e+00 ! vx vy vz +1036 1.51256186e+06 2.01685135e+04 ! particle number mass rhill +1.19130613e+04 !particle radius in m +6.87800371e+06 5.51073017e+06 -5.46411638e+04 ! x y z +-1.36034802e+03 1.74332100e+03 4.94690697e+00 ! vx vy vz +1037 2.00124444e+05 1.24535014e+04 ! particle number mass rhill +6.07042423e+03 !particle radius in m +-1.07553881e+07 -9.12112446e+05 -4.34386235e+04 ! x y z +1.54461489e+02 -1.98147483e+03 -1.70607618e+01 ! vx vy vz +1038 2.74425239e+04 7.69344388e+03 ! particle number mass rhill +4.61293151e+03 !particle radius in m +1.27377380e+07 -1.09778054e+05 -6.19904167e+04 ! x y z +-1.25732694e+00 1.84331966e+03 -2.21143255e+00 ! vx vy vz +1039 1.03073034e+06 3.34851913e+04 ! particle number mass rhill +1.04833644e+04 !particle radius in m +-5.13284511e+05 -1.67637883e+07 -2.82433912e+03 ! x y z +1.59521599e+03 -5.35780376e+01 1.00615428e+01 ! vx vy vz +1040 8.09310632e+04 1.08186380e+04 ! particle number mass rhill +4.48908069e+03 !particle radius in m +-1.26602775e+07 4.02918646e+05 1.71412707e+04 ! x y z +-5.95275114e+01 -1.83478145e+03 -6.71275300e+00 ! vx vy vz +1041 2.07976707e+05 1.40611818e+04 ! particle number mass rhill +6.14880277e+03 !particle radius in m +6.61475732e+05 1.19251089e+07 4.99716805e+03 ! x y z +-1.89472956e+03 8.25618952e+01 -1.61809802e-01 ! vx vy vz +1042 1.56927251e+04 4.40631103e+03 ! particle number mass rhill +3.82885081e+03 !particle radius in m +8.80868758e+06 9.32656348e+05 -4.18862348e+04 ! x y z +-2.17867324e+02 2.19123384e+03 -1.17898705e+01 ! vx vy vz +1043 1.25482841e+05 9.88544728e+03 ! particle number mass rhill +5.19573642e+03 !particle radius in m +1.00480766e+07 1.10334466e+05 4.24190753e+04 ! x y z +-1.56774101e+01 2.05584808e+03 1.80904032e+01 ! vx vy vz +1044 5.76644423e+04 6.79383115e+03 ! particle number mass rhill +5.90842447e+03 !particle radius in m +-2.68410660e+06 -8.45093049e+06 -2.25369168e+04 ! x y z +2.08071561e+03 -7.11201230e+02 1.07896227e+01 ! vx vy vz +1045 1.27910959e+05 1.05238625e+04 ! particle number mass rhill +7.70557245e+03 !particle radius in m +-2.49395661e+06 -1.01785537e+07 4.67622537e+04 ! x y z +1.97783372e+03 -4.46467141e+02 1.43639227e+01 ! vx vy vz +1046 1.34350101e+06 2.00599763e+04 ! particle number mass rhill +1.14515690e+04 !particle radius in m +-5.37771504e+06 7.44714074e+06 -6.06003060e+03 ! x y z +-1.75372901e+03 -1.25777673e+03 1.33051245e+01 ! vx vy vz +1047 1.39800754e+05 1.50279289e+04 ! particle number mass rhill +7.93728841e+03 !particle radius in m +1.43736621e+07 3.27074646e+06 -1.17711231e+05 ! x y z +-3.95229369e+02 1.65048180e+03 -2.09427051e+00 ! vx vy vz +1048 7.35813542e+05 1.62870205e+04 ! particle number mass rhill +9.36932395e+03 !particle radius in m +-8.93375487e+06 -9.23297021e+05 -5.56404103e+04 ! x y z +2.58345498e+02 -2.18331951e+03 -1.86368551e+01 ! vx vy vz +1049 2.08700220e+05 1.87560451e+04 ! particle number mass rhill +9.07144821e+03 !particle radius in m +-1.28280097e+07 8.91411489e+06 -1.59387089e+04 ! x y z +-9.55988990e+02 -1.37339914e+03 -9.51566283e-01 ! vx vy vz +1050 8.72300988e+05 2.84455766e+04 ! particle number mass rhill +9.91610503e+03 !particle radius in m +-1.22031914e+07 8.75617467e+06 1.35904643e+05 ! x y z +-1.01713019e+03 -1.34842008e+03 -1.53941683e+00 ! vx vy vz +1051 3.94208789e+05 1.58087172e+04 ! particle number mass rhill +7.60958719e+03 !particle radius in m +-1.81887078e+05 1.09247030e+07 -4.35726533e+04 ! x y z +-1.97588122e+03 -8.11807516e+00 -3.92064501e+00 ! vx vy vz +1052 2.98029754e+04 8.88054529e+03 ! particle number mass rhill +4.74157034e+03 !particle radius in m +2.83878155e+06 1.44744864e+07 5.43842125e+04 ! x y z +-1.65421841e+03 3.29251794e+02 -6.23680908e+00 ! vx vy vz +1053 1.69212978e+05 1.16478963e+04 ! particle number mass rhill +8.45889329e+03 !particle radius in m +1.06135506e+07 -4.48083559e+05 1.72504569e+04 ! x y z +9.44982902e+01 2.00633631e+03 9.90801265e-01 ! vx vy vz +1054 1.11476324e+06 4.68292988e+04 ! particle number mass rhill +1.07608492e+04 !particle radius in m +8.75139394e+06 -2.04107097e+07 -1.06034326e+05 ! x y z +1.29371288e+03 5.52007802e+02 5.05180489e-01 ! vx vy vz +1055 3.02270985e+05 1.91780468e+04 ! particle number mass rhill +6.96494702e+03 !particle radius in m +1.42098400e+07 1.83559068e+06 -6.61680518e+04 ! x y z +-2.13356829e+02 1.72148688e+03 1.01500659e+01 ! vx vy vz +1056 1.74016041e+05 1.86889261e+04 ! particle number mass rhill +8.53818219e+03 !particle radius in m +1.55907651e+07 5.91768331e+06 -8.22551540e+04 ! x y z +-5.54998648e+02 1.51448714e+03 -1.24785663e+01 ! vx vy vz +1057 2.50703722e+05 2.27112105e+04 ! particle number mass rhill +9.64323129e+03 !particle radius in m +7.38866883e+06 1.67469371e+07 -5.52080317e+04 ! x y z +-1.39370270e+03 6.17614086e+02 4.21088917e+00 ! vx vy vz +1058 8.14993090e+05 1.77743579e+04 ! particle number mass rhill +9.69401392e+03 !particle radius in m +-5.32551208e+06 -7.90474847e+06 -3.86152280e+04 ! x y z +1.76379265e+03 -1.19032254e+03 1.04687204e+01 ! vx vy vz +1059 5.77311143e+05 2.14072614e+04 ! particle number mass rhill +8.64149686e+03 !particle radius in m +1.09164841e+07 -7.03739746e+06 2.56807871e+04 ! x y z +9.98839941e+02 1.51559226e+03 -2.93169292e+00 ! vx vy vz +1060 1.13703075e+06 1.86906120e+04 ! particle number mass rhill +1.08320270e+04 !particle radius in m +-6.83243259e+06 -5.66828831e+06 -1.72900877e+04 ! x y z +1.43365173e+03 -1.68974702e+03 2.09850405e+00 ! vx vy vz +1061 1.33820642e+05 8.98629492e+03 ! particle number mass rhill +7.82246015e+03 !particle radius in m +6.82803774e+06 -5.76411607e+06 5.47258325e+04 ! x y z +1.40722674e+03 1.66603602e+03 1.74552894e+01 ! vx vy vz +1062 2.64155254e+05 1.31901008e+04 ! particle number mass rhill +6.65894479e+03 !particle radius in m +9.35446321e+06 4.27959887e+06 1.44633990e+04 ! x y z +-8.44145057e+02 1.86728709e+03 8.45220846e+00 ! vx vy vz +1063 6.62937093e+05 1.93477118e+04 ! particle number mass rhill +9.04919131e+03 !particle radius in m +-8.81635825e+06 6.95372208e+06 5.99171831e+04 ! x y z +-1.18658772e+03 -1.54806956e+03 -4.34306118e-01 ! vx vy vz +1064 7.34315131e+05 2.50109591e+04 ! particle number mass rhill +9.36295974e+03 !particle radius in m +3.76533406e+06 -1.36831259e+07 -4.52559471e+04 ! x y z +1.65006231e+03 5.02310012e+02 -7.82371716e+00 ! vx vy vz +1065 1.67651593e+05 9.98045881e+03 ! particle number mass rhill +8.43279516e+03 !particle radius in m +8.66363031e+06 -3.01551364e+06 1.87644792e+04 ! x y z +6.94997160e+02 2.04127247e+03 4.50266436e+00 ! vx vy vz +1066 1.80360416e+06 2.85821499e+04 ! particle number mass rhill +1.26327938e+04 !particle radius in m +-1.81171981e+06 1.18614317e+07 -9.45077050e+04 ! x y z +-1.85854649e+03 -2.65883958e+02 1.03797168e+01 ! vx vy vz +1067 5.82344163e+05 1.77046313e+04 ! particle number mass rhill +1.27711174e+04 !particle radius in m +-5.75108647e+06 -9.00212328e+06 2.40243267e+04 ! x y z +1.69440892e+03 -1.07016945e+03 -1.54605015e+01 ! vx vy vz +1068 4.19804355e+05 1.33943636e+04 ! particle number mass rhill +7.77084017e+03 !particle radius in m +1.89490021e+06 8.84022962e+06 2.80656936e+04 ! x y z +-2.12712367e+03 4.54322162e+02 -6.09085901e+00 ! vx vy vz +1069 3.77849576e+05 1.26870716e+04 ! particle number mass rhill +7.50283352e+03 !particle radius in m +-2.84338801e+06 -8.43577004e+06 -3.58252007e+04 ! x y z +2.07616764e+03 -6.90414631e+02 7.86561001e+00 ! vx vy vz +1070 3.08880512e+05 1.47299271e+04 ! particle number mass rhill +1.03379039e+04 !particle radius in m +7.23228604e+06 8.21987628e+06 -1.12362711e+05 ! x y z +-1.50075767e+03 1.29503859e+03 -4.22019044e+00 ! vx vy vz +1071 1.59870183e+06 2.28294398e+04 ! particle number mass rhill +1.21350477e+04 !particle radius in m +9.59011374e+06 -1.47240572e+06 -1.17481033e+04 ! x y z +3.06970553e+02 2.09485379e+03 2.11775305e+00 ! vx vy vz +1072 8.35009848e+04 1.53899607e+04 ! particle number mass rhill +4.53610253e+03 !particle radius in m +1.68353028e+07 -5.98357187e+06 1.37705248e+04 ! x y z +4.97655007e+02 1.46172367e+03 -1.17361347e+01 ! vx vy vz +1073 7.99379007e+05 3.33138646e+04 ! particle number mass rhill +9.63170656e+03 !particle radius in m +-1.80713745e+07 3.81143072e+06 1.47991860e+05 ! x y z +-3.34463620e+02 -1.47042095e+03 -2.39441838e+00 ! vx vy vz +1074 1.97672601e+06 2.81308084e+04 ! particle number mass rhill +1.30247028e+04 !particle radius in m +8.12437675e+06 -7.89692091e+06 8.58861149e+04 ! x y z +1.36700546e+03 1.38057019e+03 -5.74921289e+00 ! vx vy vz +1075 4.49688061e+04 6.25101773e+03 ! particle number mass rhill +5.43842039e+03 !particle radius in m +6.94978876e+06 -5.59183335e+06 2.41251511e+04 ! x y z +1.34132445e+03 1.72532099e+03 1.12041963e+00 ! vx vy vz +1076 2.56818687e+05 1.81510251e+04 ! particle number mass rhill +6.59671726e+03 !particle radius in m +-1.18687337e+07 -8.19186254e+06 -8.44898067e+04 ! x y z +9.75684146e+02 -1.41995661e+03 -1.13753956e+00 ! vx vy vz +1077 5.24592418e+05 1.57872425e+04 ! particle number mass rhill +1.23341623e+04 !particle radius in m +-1.89628928e+06 -9.50227023e+06 -4.05755726e+04 ! x y z +2.07857991e+03 -4.30149853e+02 -4.45053647e+00 ! vx vy vz +1078 2.82198763e+05 1.31237392e+04 ! particle number mass rhill +6.80723430e+03 !particle radius in m +1.01428084e+07 1.53976563e+06 -1.56033963e+05 ! x y z +-3.05629291e+02 2.00359721e+03 3.06409701e-02 ! vx vy vz +1079 3.13497820e+05 1.18814338e+04 ! particle number mass rhill +7.05013076e+03 !particle radius in m +3.99603404e+06 7.86593577e+06 5.11268274e+04 ! x y z +-1.97467205e+03 9.78734350e+02 8.42153677e+00 ! vx vy vz +1080 1.79001590e+05 1.04708242e+04 ! particle number mass rhill +8.61895511e+03 !particle radius in m +6.54388805e+06 -6.77023287e+06 -4.59748352e+03 ! x y z +1.54444266e+03 1.46455300e+03 -1.04095061e+01 ! vx vy vz +1081 9.85458768e+04 9.85910416e+03 ! particle number mass rhill +7.06396397e+03 !particle radius in m +6.04468294e+06 8.82617315e+06 -1.42181890e+05 ! x y z +-1.63233809e+03 1.16910466e+03 -1.88213215e+00 ! vx vy vz +1082 2.55906276e+05 1.59131597e+04 ! particle number mass rhill +9.70947993e+03 !particle radius in m +-1.11170150e+07 6.16749342e+06 -3.82809291e+04 ! x y z +-8.98686306e+02 -1.59525493e+03 2.55769594e+00 ! vx vy vz +1083 5.55510829e+05 2.72516797e+04 ! particle number mass rhill +1.25718686e+04 !particle radius in m +1.25437094e+06 -1.67969561e+07 -1.36312584e+04 ! x y z +1.58470452e+03 1.21111055e+02 3.59330822e+00 ! vx vy vz +1084 4.68048454e+05 1.54091926e+04 ! particle number mass rhill +8.05778982e+03 !particle radius in m +8.43800086e+06 5.71987949e+06 -3.20922412e+04 ! x y z +-1.14330692e+03 1.67937737e+03 -4.35374922e+00 ! vx vy vz +1085 2.15219454e+05 1.10871568e+04 ! particle number mass rhill +6.21936681e+03 !particle radius in m +-8.36235204e+06 -4.06735446e+06 1.77837069e+04 ! x y z +9.27393629e+02 -1.94041308e+03 2.61389295e+00 ! vx vy vz +1086 2.99950641e+05 2.10812869e+04 ! particle number mass rhill +1.02373037e+04 !particle radius in m +-2.57151201e+06 -1.54968676e+07 -9.11168853e+04 ! x y z +1.63776183e+03 -2.76257315e+02 2.80266971e-01 ! vx vy vz +1087 1.59864352e+05 9.50617153e+03 ! particle number mass rhill +8.30015495e+03 !particle radius in m +8.66211969e+06 2.20644842e+06 5.69512514e+03 ! x y z +-5.34166852e+02 2.11025355e+03 7.04563819e+00 ! vx vy vz +1088 1.71165091e+06 2.20651978e+04 ! particle number mass rhill +1.24143522e+04 !particle radius in m +2.50735051e+06 -9.08802531e+06 1.47619891e+03 ! x y z +2.03247718e+03 5.95768658e+02 -1.11711400e+01 ! vx vy vz +1089 3.74682990e+05 1.39092702e+04 ! particle number mass rhill +1.10252975e+04 !particle radius in m +-5.08664524e+06 8.37497108e+06 -9.90101269e+04 ! x y z +-1.78382195e+03 -1.07772723e+03 -8.86422219e+00 ! vx vy vz +1090 2.04861379e+05 1.92942698e+04 ! particle number mass rhill +6.11794676e+03 !particle radius in m +-1.16840844e+07 -1.15084512e+07 8.57597825e+04 ! x y z +1.14349612e+03 -1.15014615e+03 -1.13350767e+01 ! vx vy vz +1091 2.70294042e+05 1.21706227e+04 ! particle number mass rhill +9.88813712e+03 !particle radius in m +1.06943121e+06 -9.45008765e+06 3.56309722e+04 ! x y z +2.11041887e+03 2.12664792e+02 3.02388980e-01 ! vx vy vz +1092 1.15804931e+06 2.21787218e+04 ! particle number mass rhill +1.08983650e+04 !particle radius in m +5.08433832e+06 -9.29067904e+06 4.27842439e+04 ! x y z +1.77269334e+03 9.63287806e+02 7.20636543e-01 ! vx vy vz +1093 1.85153486e+06 2.27742481e+04 ! particle number mass rhill +1.27437222e+04 !particle radius in m +2.28470278e+06 -8.96024162e+06 4.66696872e+04 ! x y z +2.09182568e+03 5.58957357e+02 -1.60064381e+01 ! vx vy vz +1094 3.82760289e+04 5.93478404e+03 ! particle number mass rhill +5.15400237e+03 !particle radius in m +5.02334401e+06 7.15122722e+06 -2.56747414e+04 ! x y z +-1.82437670e+03 1.28647622e+03 -2.33583185e+00 ! vx vy vz +1095 3.80438079e+05 1.41130336e+04 ! particle number mass rhill +7.51992756e+03 !particle radius in m +8.03755250e+06 -5.51691122e+06 -2.97535232e+04 ! x y z +1.18216983e+03 1.74141617e+03 -1.17374833e+01 ! vx vy vz +1096 1.81396845e+06 2.21520841e+04 ! particle number mass rhill +1.26569454e+04 !particle radius in m +-3.07464536e+06 -8.53282891e+06 -1.60914047e+04 ! x y z +2.04872286e+03 -7.58617715e+02 -1.15594518e+01 ! vx vy vz +1097 2.08849843e+05 1.09999150e+04 ! particle number mass rhill +6.15739547e+03 !particle radius in m +-5.04841460e+06 7.90245442e+06 -3.74769403e+03 ! x y z +-1.79658551e+03 -1.15333901e+03 -1.03989828e+01 ! vx vy vz +1098 7.44137462e+05 1.61537051e+04 ! particle number mass rhill +9.40452184e+03 !particle radius in m +-4.42483219e+06 7.92889737e+06 4.84429526e+03 ! x y z +-1.90157556e+03 -1.02851509e+03 3.04297458e+00 ! vx vy vz +1099 3.12842595e+05 1.29972766e+04 ! particle number mass rhill +1.03819185e+04 !particle radius in m +-8.11772737e+06 5.17820457e+06 6.33191218e+04 ! x y z +-1.16398577e+03 -1.76329084e+03 -1.46526563e+01 ! vx vy vz +1100 5.00463370e+05 1.96095736e+04 ! particle number mass rhill +1.21420799e+04 !particle radius in m +-2.42335217e+06 -1.21748818e+07 5.34958561e+04 ! x y z +1.82657196e+03 -3.58482164e+02 2.17635181e+00 ! vx vy vz +1101 2.58863272e+05 1.24587177e+04 ! particle number mass rhill +9.74673448e+03 !particle radius in m +-8.93954505e+06 -4.45366726e+06 9.09497729e+03 ! x y z +9.19578118e+02 -1.84128399e+03 1.10716364e+01 ! vx vy vz +1102 3.92218511e+05 2.38002424e+04 ! particle number mass rhill +7.59675917e+03 !particle radius in m +-1.18899005e+07 -1.11121035e+07 7.33607503e+03 ! x y z +1.10060063e+03 -1.20094721e+03 -1.56817575e+01 ! vx vy vz +1103 1.50461478e+05 1.87935494e+04 ! particle number mass rhill +8.13412353e+03 !particle radius in m +-1.65295735e+07 6.07637672e+06 3.45373521e+04 ! x y z +-5.42846771e+02 -1.47237923e+03 2.24703732e+00 ! vx vy vz +1104 3.40704575e+05 2.13916493e+04 ! particle number mass rhill +7.24844729e+03 !particle radius in m +8.55996783e+06 -1.26469693e+07 -1.46558216e+05 ! x y z +1.40714271e+03 9.26431770e+02 -1.15490272e+01 ! vx vy vz +1105 1.22078004e+06 4.53053513e+04 ! particle number mass rhill +1.10917006e+04 !particle radius in m +5.19156391e+06 -2.05131401e+07 3.01682271e+04 ! x y z +1.38483992e+03 3.58833296e+02 7.82967392e-02 ! vx vy vz +1106 5.74059007e+05 1.75254745e+04 ! particle number mass rhill +8.62523974e+03 !particle radius in m +-1.04637869e+07 -1.51846657e+06 -3.27030757e+04 ! x y z +3.09759590e+02 -1.99538112e+03 5.67233805e+00 ! vx vy vz +1107 1.10233704e+05 9.77367852e+03 ! particle number mass rhill +4.97611563e+03 !particle radius in m +1.03065892e+07 -6.00329704e+05 -2.32121119e+04 ! x y z +1.34736424e+02 2.02883986e+03 3.23964316e+00 ! vx vy vz +1108 4.92926514e+04 8.35869672e+03 ! particle number mass rhill +5.60741952e+03 !particle radius in m +-1.14276246e+07 -1.75001038e+06 -9.86471787e+04 ! x y z +2.92929450e+02 -1.89771028e+03 5.40774568e-01 ! vx vy vz +1109 2.28123366e+05 2.46002721e+04 ! particle number mass rhill +6.34126039e+03 !particle radius in m +1.88192745e+07 7.35750851e+06 -3.59880986e+04 ! x y z +-5.35957066e+02 1.35808817e+03 -5.10111289e+00 ! vx vy vz +1110 9.38291323e+05 2.39057714e+04 ! particle number mass rhill +1.01601058e+04 !particle radius in m +1.11584259e+07 -4.47796771e+06 1.03803467e+04 ! x y z +7.28310338e+02 1.76604469e+03 1.45396412e+01 ! vx vy vz +1111 6.38487235e+04 8.35289367e+03 ! particle number mass rhill +6.11251206e+03 !particle radius in m +3.38442251e+06 -9.82784424e+06 -1.36230396e+05 ! x y z +1.90939863e+03 7.30865853e+02 1.53565819e+01 ! vx vy vz +1112 4.72613591e+04 9.03956075e+03 ! particle number mass rhill +5.52931152e+03 !particle radius in m +-1.26252231e+07 -6.33455275e+05 -1.30864139e+05 ! x y z +9.33992929e+01 -1.83668276e+03 1.68626587e+00 ! vx vy vz +1113 5.54246342e+04 9.10616654e+03 ! particle number mass rhill +3.95688360e+03 !particle radius in m +-1.20379515e+07 7.22168436e+05 8.94591753e+04 ! x y z +-1.09103316e+02 -1.88101208e+03 -4.79548889e-01 ! vx vy vz +1114 5.97374849e+04 7.60664387e+03 ! particle number mass rhill +5.97839539e+03 !particle radius in m +9.86523103e+06 -1.83199282e+06 -1.01434913e+05 ! x y z +3.62371838e+02 2.01111356e+03 -2.79275007e+00 ! vx vy vz +1115 2.85730185e+05 1.40237450e+04 ! particle number mass rhill +6.83551180e+03 !particle radius in m +-6.51672994e+06 8.58292997e+06 -5.02195539e+04 ! x y z +-1.57720017e+03 -1.21482386e+03 -6.46438464e+00 ! vx vy vz +1116 3.39840736e+05 1.28616339e+04 ! particle number mass rhill +1.06723682e+04 !particle radius in m +-6.45748170e+06 -6.60771754e+06 -2.88111990e+04 ! x y z +1.51807464e+03 -1.53717383e+03 -6.96952587e+00 ! vx vy vz +1117 5.80221698e+04 8.94269756e+03 ! particle number mass rhill +4.01775686e+03 !particle radius in m +-1.05725448e+07 -5.16101098e+06 -7.22185112e+04 ! x y z +8.09611157e+02 -1.71812375e+03 -2.92698073e+00 ! vx vy vz +1118 3.05076450e+04 9.39000602e+03 ! particle number mass rhill +4.77864994e+03 !particle radius in m +1.47903230e+07 -3.70476681e+06 8.67755187e+04 ! x y z +3.95094726e+02 1.62426955e+03 3.16826057e+00 ! vx vy vz +1119 1.47140776e+05 9.85483510e+03 ! particle number mass rhill +8.07383748e+03 !particle radius in m +-4.36058679e+05 -9.44156206e+06 -4.16955929e+04 ! x y z +2.12091782e+03 -1.37012120e+02 1.39491466e+01 ! vx vy vz +1120 1.47165298e+06 4.94297791e+04 ! particle number mass rhill +1.18046777e+04 !particle radius in m +-1.46392393e+07 1.63813686e+07 8.12078291e+03 ! x y z +-1.02836410e+03 -9.42723860e+02 -1.38765972e+01 ! vx vy vz +1121 2.23276517e+05 1.11786883e+04 ! particle number mass rhill +9.27790681e+03 !particle radius in m +9.24634424e+06 -1.31047137e+06 -7.09194003e+04 ! x y z +3.02062155e+02 2.11565604e+03 -9.58265694e+00 ! vx vy vz +1122 1.82717804e+06 2.32239948e+04 ! particle number mass rhill +1.26875944e+04 !particle radius in m +-7.40684320e+06 6.13173465e+06 -3.12795630e+04 ! x y z +-1.33749169e+03 -1.62866413e+03 1.56290098e+01 ! vx vy vz +1123 2.51827609e+05 1.22793899e+04 ! particle number mass rhill +9.65761978e+03 !particle radius in m +9.78515626e+06 -5.26138525e+05 -7.59982349e+03 ! x y z +1.11181620e+02 2.08934488e+03 -1.89984631e+00 ! vx vy vz +1124 1.90339114e+05 1.21036723e+04 ! particle number mass rhill +8.79721090e+03 !particle radius in m +-2.42960077e+06 1.02657010e+07 6.86680195e+04 ! x y z +-1.96613992e+03 -4.70552640e+02 -5.76191698e+00 ! vx vy vz +1125 1.94434786e+06 2.40654720e+04 ! particle number mass rhill +1.29531974e+04 !particle radius in m +-2.99090493e+06 -9.38394150e+06 1.22754087e+04 ! x y z +1.96346362e+03 -6.64206351e+02 -1.04286573e+01 ! vx vy vz +1126 3.54738618e+05 1.37755783e+04 ! particle number mass rhill +7.34663539e+03 !particle radius in m +-9.16858859e+06 3.17229706e+06 4.94776739e+02 ! x y z +-6.65048356e+02 -2.00655681e+03 -1.69698250e+01 ! vx vy vz +1127 8.13466838e+04 1.11519361e+04 ! particle number mass rhill +4.49675212e+03 !particle radius in m +1.02698965e+07 8.30732914e+06 1.14137300e+05 ! x y z +-1.13322876e+03 1.37969911e+03 -4.16855749e+00 ! vx vy vz +1128 8.84633718e+04 9.48965294e+03 ! particle number mass rhill +4.62423780e+03 !particle radius in m +-6.04360154e+06 -8.98719524e+06 -6.31025271e+04 ! x y z +1.63921724e+03 -1.11262949e+03 4.86167037e+00 ! vx vy vz +1129 3.06815484e+05 1.87036822e+04 ! particle number mass rhill +1.03148143e+04 !particle radius in m +-9.35912101e+06 -1.03642068e+07 -2.18384299e+03 ! x y z +1.30072422e+03 -1.17573948e+03 1.88668155e+00 ! vx vy vz +1130 2.00267871e+06 2.75110942e+04 ! particle number mass rhill +1.30814562e+04 !particle radius in m +1.04675718e+07 3.39520028e+06 2.70864639e+04 ! x y z +-5.97065438e+02 1.88145152e+03 -6.95974089e+00 ! vx vy vz +1131 3.21995723e+04 5.75242135e+03 ! particle number mass rhill +4.86540530e+03 !particle radius in m +-6.73236505e+06 6.13242839e+06 -2.94703322e+04 ! x y z +-1.45294617e+03 -1.61318512e+03 -5.68499388e+00 ! vx vy vz +1132 1.22510716e+05 1.18263490e+04 ! particle number mass rhill +7.59556962e+03 !particle radius in m +4.89468690e+06 -1.07083932e+07 7.90151606e+04 ! x y z +1.76528528e+03 7.71676536e+02 -3.89405176e+00 ! vx vy vz +1133 1.28112608e+06 3.44843562e+04 ! particle number mass rhill +1.12715321e+04 !particle radius in m +-1.37917712e+07 -7.88960798e+06 -6.85787993e+04 ! x y z +8.27177105e+02 -1.42633285e+03 -6.22498397e+00 ! vx vy vz +1134 4.68678766e+05 2.48731080e+04 ! particle number mass rhill +1.18793884e+04 !particle radius in m +-7.34584547e+06 1.44613839e+07 -9.00207198e+04 ! x y z +-1.43737968e+03 -7.51623709e+02 1.07613671e+01 ! vx vy vz +1135 1.44600429e+06 2.06107186e+04 ! particle number mass rhill +1.17356962e+04 !particle radius in m +-2.70350276e+05 -9.01638261e+06 4.48528244e+04 ! x y z +2.19935586e+03 -5.92167058e+01 -1.37345562e+00 ! vx vy vz +1136 1.55894367e+06 3.07191480e+04 ! particle number mass rhill +1.20336065e+04 !particle radius in m +-7.93634451e+06 -1.07127629e+07 7.42071719e+04 ! x y z +1.44011604e+03 -1.07152360e+03 -9.74704513e-01 ! vx vy vz +1137 1.51661612e+05 1.00295649e+04 ! particle number mass rhill +5.53448930e+03 !particle radius in m +-3.42691664e+06 -9.05425003e+06 -2.11677870e+04 ! x y z +1.93479037e+03 -7.69981245e+02 1.10419971e+01 ! vx vy vz +1138 8.20662008e+04 8.63404579e+03 ! particle number mass rhill +6.64595045e+03 !particle radius in m +-9.89233738e+06 -6.27568084e+05 6.18194671e+03 ! x y z +1.37071969e+02 -2.08621493e+03 4.72062753e+00 ! vx vy vz +1139 5.83373853e+04 9.33904930e+03 ! particle number mass rhill +5.93131938e+03 !particle radius in m +7.46340614e+06 9.67912332e+06 1.17459472e+04 ! x y z +-1.47885193e+03 1.13911499e+03 4.40806749e+00 ! vx vy vz +1140 5.11208949e+05 2.15674116e+04 ! particle number mass rhill +1.22283672e+04 !particle radius in m +6.85478382e+06 1.15701707e+07 7.95650274e+04 ! x y z +-1.53423752e+03 9.32610677e+02 -3.67365305e+00 ! vx vy vz +1141 2.48995873e+04 6.96323506e+03 ! particle number mass rhill +4.46580449e+03 !particle radius in m +-4.56370068e+06 1.10908559e+07 1.08265365e+04 ! x y z +-1.75802463e+03 -7.02357275e+02 1.04220113e+01 ! vx vy vz +1142 1.18025613e+05 1.14053748e+04 ! particle number mass rhill +5.09070290e+03 !particle radius in m +-1.13385925e+07 2.97597054e+06 -4.72391617e+04 ! x y z +-5.04596574e+02 -1.84477964e+03 1.31785708e-01 ! vx vy vz +1143 1.20005427e+06 1.94048403e+04 ! particle number mass rhill +1.10285723e+04 !particle radius in m +-9.23261955e+06 -2.89252814e+05 -5.44687237e+04 ! x y z +6.51671796e+01 -2.14992673e+03 -1.81624856e+00 ! vx vy vz +1144 6.44690750e+04 8.35064291e+03 ! particle number mass rhill +6.13224460e+03 !particle radius in m +1.09075289e+06 1.05119561e+07 -3.25858255e+04 ! x y z +-1.99773044e+03 1.99785681e+02 4.03938771e+00 ! vx vy vz +1145 1.40498208e+05 1.01388504e+04 ! particle number mass rhill +5.39522124e+03 !particle radius in m +5.52516207e+06 8.11277010e+06 -1.90841913e+04 ! x y z +-1.72426706e+03 1.18446430e+03 1.21936026e+01 ! vx vy vz +1146 7.72238320e+05 1.87680643e+04 ! particle number mass rhill +9.52144317e+03 !particle radius in m +-4.65951061e+05 1.02295404e+07 5.94558150e+04 ! x y z +-2.05121750e+03 -9.71822097e+01 -1.16001667e+01 ! vx vy vz +1147 1.89858572e+06 2.93947660e+04 ! particle number mass rhill +1.28507675e+04 !particle radius in m +1.19722664e+07 -1.64049398e+06 8.58821045e+04 ! x y z +2.34549789e+02 1.85980680e+03 1.09499792e+01 ! vx vy vz +1148 9.08539477e+04 1.04020032e+04 ! particle number mass rhill +6.87517236e+03 !particle radius in m +-1.08162591e+06 1.14927584e+07 -9.76059282e+04 ! x y z +-1.93051044e+03 -1.62077695e+02 -7.14665732e+00 ! vx vy vz +1149 1.34471989e+06 2.27670592e+04 ! particle number mass rhill +1.14550311e+04 !particle radius in m +-1.95233176e+06 1.02927697e+07 -2.00724108e+04 ! x y z +-1.97843014e+03 -3.85350221e+02 1.08497627e+01 ! vx vy vz +1150 9.50016532e+05 2.24812571e+04 ! particle number mass rhill +1.02022521e+04 !particle radius in m +6.15222182e+06 -9.75312655e+06 1.28837233e+04 ! x y z +1.61895964e+03 1.04728187e+03 -1.26702028e+01 ! vx vy vz +1151 4.98259579e+04 1.25780817e+04 ! particle number mass rhill +3.81889352e+03 !particle radius in m +1.70431842e+07 -2.72492428e+06 -3.86028806e+04 ! x y z +2.83672553e+02 1.54910187e+03 2.07904021e+01 ! vx vy vz +1152 6.79776779e+04 9.03177957e+03 ! particle number mass rhill +6.24153051e+03 !particle radius in m +8.01774299e+06 8.09902023e+06 -2.62747132e+04 ! x y z +-1.35353621e+03 1.36013542e+03 7.64569924e+00 ! vx vy vz +1153 2.13947474e+05 1.11361089e+04 ! particle number mass rhill +9.14684621e+03 !particle radius in m +3.29923819e+06 8.68923966e+06 -8.36350791e+03 ! x y z +-2.01828563e+03 7.65043187e+02 -1.46373885e+01 ! vx vy vz +1154 1.61918295e+06 3.85312414e+04 ! particle number mass rhill +1.21866490e+04 !particle radius in m +9.48630114e+06 1.31203942e+07 7.51325437e+04 ! x y z +-1.33995755e+03 9.53539277e+02 6.46323587e+00 ! vx vy vz +1155 1.43971018e+05 9.40169492e+03 ! particle number mass rhill +5.43931264e+03 !particle radius in m +9.01020062e+06 -9.02772630e+05 1.38704984e+04 ! x y z +2.41367313e+02 2.16126190e+03 7.68455544e+00 ! vx vy vz +1156 5.27865615e+05 1.79382428e+04 ! particle number mass rhill +1.23597622e+04 !particle radius in m +-8.09665807e+06 -7.58547860e+06 3.14674691e+04 ! x y z +1.35669172e+03 -1.43426598e+03 7.37210686e+00 ! vx vy vz +1157 2.61259252e+05 2.15300521e+04 ! particle number mass rhill +6.63452075e+03 !particle radius in m +4.28160432e+06 -1.65281080e+07 -8.26509117e+03 ! x y z +1.53190957e+03 3.88184614e+02 1.24754943e+01 ! vx vy vz +1158 6.27042315e+05 1.61291145e+04 ! particle number mass rhill +8.88282855e+03 !particle radius in m +6.49256441e+05 9.31973535e+06 4.08167273e+04 ! x y z +-2.15470427e+03 1.51716056e+02 1.89189290e+01 ! vx vy vz +1159 1.52946375e+06 2.19072342e+04 ! particle number mass rhill +1.19572707e+04 !particle radius in m +-9.20065102e+05 -9.43874908e+06 -2.04752392e+04 ! x y z +2.12475295e+03 -2.35100552e+02 7.76090899e+00 ! vx vy vz +1160 1.11460317e+05 9.66356252e+03 ! particle number mass rhill +4.99450465e+03 !particle radius in m +4.31072822e+06 9.13284291e+06 4.14102022e+04 ! x y z +-1.85476950e+03 9.03328979e+02 -1.46829604e+00 ! vx vy vz +1161 2.86789697e+04 6.28431067e+03 ! particle number mass rhill +4.68119614e+03 !particle radius in m +-6.79093976e+06 8.03119054e+06 -7.05744289e+04 ! x y z +-1.52734163e+03 -1.29554248e+03 1.30181520e+01 ! vx vy vz +1162 9.65732528e+05 2.08012047e+04 ! particle number mass rhill +1.02582029e+04 !particle radius in m +-1.04804105e+07 -1.20577935e+06 3.31638534e+04 ! x y z +2.13664871e+02 -2.01046058e+03 -7.98031732e+00 ! vx vy vz +1163 3.79954335e+05 1.38084178e+04 ! particle number mass rhill +1.10767611e+04 !particle radius in m +-7.18067628e+06 -6.29465669e+06 -5.18935266e+04 ! x y z +1.39765048e+03 -1.60192161e+03 7.92302858e+00 ! vx vy vz +1164 5.13864272e+05 1.86014350e+04 ! particle number mass rhill +1.22495029e+04 !particle radius in m +-8.66772744e+06 -7.93918786e+06 3.66255031e+04 ! x y z +1.28753321e+03 -1.40570993e+03 1.04442422e+01 ! vx vy vz +1165 5.37835639e+04 1.57088864e+04 ! particle number mass rhill +5.77278675e+03 !particle radius in m +-4.13157626e+06 -2.06445199e+07 1.15039089e+05 ! x y z +1.39928757e+03 -2.67584358e+02 -6.80453610e-01 ! vx vy vz +1166 1.74187119e+06 3.12839499e+04 ! particle number mass rhill +1.24869874e+04 !particle radius in m +2.86527664e+04 -1.30135384e+07 9.46703562e+04 ! x y z +1.82137923e+03 3.52269823e+01 6.17347097e+00 ! vx vy vz +1167 1.58246923e+05 1.05774006e+04 ! particle number mass rhill +8.27206772e+03 !particle radius in m +9.61204633e+06 2.11550317e+06 -1.01612254e+05 ! x y z +-4.54369173e+02 2.03897871e+03 -3.85711771e-01 ! vx vy vz +1168 3.04701159e+04 5.83960283e+03 ! particle number mass rhill +4.77668965e+03 !particle radius in m +8.56305753e+06 3.83573915e+06 2.26223304e+04 ! x y z +-8.87660780e+02 1.95010957e+03 -6.47697797e+00 ! vx vy vz +1169 1.28475493e+05 1.68563266e+04 ! particle number mass rhill +7.71689197e+03 !particle radius in m +7.06863637e+05 1.69810271e+07 1.26105980e+05 ! x y z +-1.58048060e+03 4.41879800e+01 4.04119984e+00 ! vx vy vz +1170 5.67329859e+04 7.91737704e+03 ! particle number mass rhill +5.87643861e+03 !particle radius in m +-5.44027365e+06 8.90923003e+06 -1.91872642e+02 ! x y z +-1.72578284e+03 -1.05328021e+03 2.75794079e+00 ! vx vy vz +1171 4.29332911e+05 1.41021700e+04 ! particle number mass rhill +7.82919405e+03 !particle radius in m +-3.84222450e+06 8.52500722e+06 5.13399679e+04 ! x y z +-1.95749070e+03 -8.88579162e+02 4.05131851e+00 ! vx vy vz +1172 2.41133271e+05 1.89734864e+04 ! particle number mass rhill +6.45958637e+03 !particle radius in m +-1.04764717e+07 1.11206338e+07 -1.83995722e+05 ! x y z +-1.21578555e+03 -1.15954535e+03 1.26396174e+00 ! vx vy vz +1173 1.02998708e+06 2.48616557e+04 ! particle number mass rhill +1.04808440e+04 !particle radius in m +9.91080561e+06 7.33219213e+06 -1.96182672e+04 ! x y z +-1.10289136e+03 1.51166868e+03 8.55255590e-01 ! vx vy vz +1174 8.89416212e+04 1.13520798e+04 ! particle number mass rhill +4.63255599e+03 !particle radius in m +-6.34641421e+06 1.11675051e+07 -1.12534756e+05 ! x y z +-1.58363204e+03 -9.07829510e+02 -3.73545248e+00 ! vx vy vz +1175 5.14885465e+05 3.14248507e+04 ! particle number mass rhill +8.31806943e+03 !particle radius in m +-9.60844812e+06 -1.70444496e+07 1.09767306e+04 ! x y z +1.30061497e+03 -7.22601223e+02 5.04626944e+00 ! vx vy vz +1176 2.69318662e+05 1.15494702e+04 ! particle number mass rhill +6.70205230e+03 !particle radius in m +3.30176954e+06 8.21216858e+06 2.33957768e+04 ! x y z +-2.06647672e+03 8.14303416e+02 -3.27813568e-01 ! vx vy vz +1177 3.05068788e+05 1.47559128e+04 ! particle number mass rhill +6.98637011e+03 !particle radius in m +-3.56455427e+06 1.04513814e+07 9.13561134e+04 ! x y z +-1.86227880e+03 -6.46156347e+02 -1.84370397e+01 ! vx vy vz +1178 5.19675697e+05 1.60513381e+04 ! particle number mass rhill +1.22955075e+04 !particle radius in m +1.01719252e+07 6.26688339e+05 3.49609062e+04 ! x y z +-1.13334526e+02 2.03525342e+03 3.73100714e+00 ! vx vy vz +1179 1.39224144e+06 2.01859103e+04 ! particle number mass rhill +1.15884099e+04 !particle radius in m +6.79475129e+06 -6.15725925e+06 -4.34005132e+04 ! x y z +1.43607392e+03 1.60794893e+03 9.89854216e+00 ! vx vy vz +1180 4.05538875e+05 1.93162514e+04 ! particle number mass rhill +1.13200016e+04 !particle radius in m +3.31203426e+06 1.26977181e+07 1.61925621e+04 ! x y z +-1.75290457e+03 4.51047834e+02 -6.90112778e+00 ! vx vy vz +1181 3.20579085e+04 6.70574528e+03 ! particle number mass rhill +4.85825960e+03 !particle radius in m +-5.28465980e+06 9.08656562e+06 5.60870045e+04 ! x y z +-1.73422854e+03 -1.05901334e+03 1.51078632e+01 ! vx vy vz +1182 9.82029002e+05 2.71517490e+04 ! particle number mass rhill +1.03155828e+04 !particle radius in m +-4.41381530e+06 -1.31465095e+07 1.23851466e+05 ! x y z +1.64911245e+03 -5.92288633e+02 -5.00592030e+00 ! vx vy vz +1183 9.36064907e+04 1.42989922e+04 ! particle number mass rhill +4.71217038e+03 !particle radius in m +1.58308263e+07 -4.73628624e+05 -2.19545030e+04 ! x y z +5.84709400e+01 1.64641342e+03 -6.62703110e+00 ! vx vy vz +1184 1.54283486e+06 2.12065020e+04 ! particle number mass rhill +1.19920145e+04 !particle radius in m +9.12968341e+06 9.11733516e+04 1.78969232e+04 ! x y z +-5.65016782e+01 2.18069451e+03 -3.98571279e+00 ! vx vy vz +1185 2.73946957e+05 1.19011985e+04 ! particle number mass rhill +9.93248268e+03 !particle radius in m +8.78149411e+06 -3.19216182e+06 -1.60141388e+04 ! x y z +7.37216338e+02 1.99835772e+03 -1.41820401e+01 ! vx vy vz +1186 3.20723125e+04 9.43296932e+03 ! particle number mass rhill +4.85898712e+03 !particle radius in m +1.29860619e+07 -8.19871711e+06 9.27457802e+04 ! x y z +8.67118976e+02 1.40272209e+03 6.07478118e+00 ! vx vy vz +1187 5.63661707e+05 1.72291545e+04 ! particle number mass rhill +8.57284899e+03 !particle radius in m +6.74596853e+06 7.83340922e+06 1.66421965e+04 ! x y z +-1.53458492e+03 1.36487940e+03 -3.08963768e+00 ! vx vy vz +1188 9.77483308e+05 2.12062991e+04 ! particle number mass rhill +1.02996416e+04 !particle radius in m +9.97004957e+06 -4.03326891e+06 1.22229820e+04 ! x y z +7.36970819e+02 1.85756062e+03 1.86046036e+00 ! vx vy vz +1189 1.11997160e+06 3.12831472e+04 ! particle number mass rhill +1.07775819e+04 !particle radius in m +1.48289776e+07 -3.18422896e+06 -1.95106854e+04 ! x y z +3.65562411e+02 1.64235740e+03 -1.78622262e+00 ! vx vy vz +1190 4.21697204e+05 2.76052200e+04 ! particle number mass rhill +7.78250193e+03 !particle radius in m +-1.82004676e+07 -4.58264120e+06 -8.80114368e+04 ! x y z +3.67043849e+02 -1.45746561e+03 3.81482960e+00 ! vx vy vz +1191 1.27924892e+05 1.00707109e+04 ! particle number mass rhill +7.70585221e+03 !particle radius in m +9.71830285e+06 -2.79239080e+06 -1.21765919e+05 ! x y z +5.86439180e+02 1.97016309e+03 1.41983570e+00 ! vx vy vz +1192 2.18484788e+05 2.11984156e+04 ! particle number mass rhill +9.21105533e+03 !particle radius in m +-6.87422066e+06 -1.61812284e+07 3.33849657e+04 ! x y z +1.44453834e+03 -6.12213456e+02 5.14798988e-01 ! vx vy vz +1193 4.42881353e+05 1.37597985e+04 ! particle number mass rhill +7.91069782e+03 !particle radius in m +-4.40453318e+05 -9.00359396e+06 2.55701381e+04 ! x y z +2.18504558e+03 -1.66090270e+02 -5.38264979e+00 ! vx vy vz +1194 3.29981187e+05 3.15651668e+04 ! particle number mass rhill +7.17158897e+03 !particle radius in m +2.19604188e+07 6.04779191e+06 -2.54791200e+04 ! x y z +-3.65663685e+02 1.33014017e+03 -8.36197344e+00 ! vx vy vz +1195 2.00582226e+05 1.14105456e+04 ! particle number mass rhill +8.95226931e+03 !particle radius in m +6.76787299e+06 -6.88896584e+06 -7.92738002e+04 ! x y z +1.51846448e+03 1.48693289e+03 -8.03074046e+00 ! vx vy vz +1196 2.41709605e+04 6.44082984e+03 ! particle number mass rhill +4.42181219e+03 !particle radius in m +-6.18157795e+06 9.50909765e+06 -6.31347661e+04 ! x y z +-1.61918243e+03 -1.05906497e+03 6.51625165e+00 ! vx vy vz +1197 4.00640371e+05 2.08913635e+04 ! particle number mass rhill +7.65074804e+03 !particle radius in m +1.22370591e+07 -7.52313059e+06 -3.37590788e+04 ! x y z +9.11513184e+02 1.46224236e+03 1.38515615e-01 ! vx vy vz +1198 1.61635239e+06 2.60284499e+04 ! particle number mass rhill +1.21795436e+04 !particle radius in m +7.05236290e+06 -8.64870991e+06 -6.91330978e+04 ! x y z +1.52616946e+03 1.23310907e+03 1.29403411e+01 ! vx vy vz +1199 5.36110948e+05 1.44063126e+04 ! particle number mass rhill +8.43083433e+03 !particle radius in m +7.80864005e+06 -4.26482545e+06 -2.18013868e+04 ! x y z +1.03496940e+03 1.94204946e+03 1.21677642e+00 ! vx vy vz +1200 4.28449000e+05 1.32968335e+04 ! particle number mass rhill +7.82381744e+03 !particle radius in m +5.75136921e+06 -6.66165297e+06 -1.60013139e+04 ! x y z +1.66229394e+03 1.46936203e+03 -7.73684722e+00 ! vx vy vz +1201 9.10224446e+04 8.11138177e+03 ! particle number mass rhill +6.87941995e+03 !particle radius in m +-1.22562478e+06 9.13823949e+06 -4.37327451e+04 ! x y z +-2.12169150e+03 -2.88517939e+02 -1.49392473e+00 ! vx vy vz +1202 1.98612171e+06 2.96000814e+04 ! particle number mass rhill +1.30453064e+04 !particle radius in m +7.69914612e+06 -9.13021219e+06 -4.57648993e+04 ! x y z +1.43992781e+03 1.22291153e+03 -3.96856343e+00 ! vx vy vz +1203 4.53993230e+04 7.49997775e+03 ! particle number mass rhill +5.45572052e+03 !particle radius in m +-1.04553344e+07 2.52527420e+06 -1.08628658e+05 ! x y z +-4.86679714e+02 -1.92107394e+03 9.45357951e+00 ! vx vy vz +1204 6.54079550e+05 2.35625462e+04 ! particle number mass rhill +9.00870821e+03 !particle radius in m +1.39140966e+07 -6.41849608e+05 1.71228409e+05 ! x y z +6.24928406e+01 1.73760043e+03 1.32646652e+01 ! vx vy vz +1205 7.94478183e+05 1.80563097e+04 ! particle number mass rhill +9.61198288e+03 !particle radius in m +-4.68891691e+06 -8.65727522e+06 1.38785454e+05 ! x y z +1.83563800e+03 -9.88706825e+02 -2.51608816e+00 ! vx vy vz +1206 1.99428214e+06 2.23251883e+04 ! particle number mass rhill +1.30631485e+04 !particle radius in m +2.13007974e+05 9.18824852e+06 -3.80121317e+04 ! x y z +-2.12834457e+03 7.70592587e+01 -1.61308426e+01 ! vx vy vz +1207 5.76675515e+04 7.93652829e+03 ! particle number mass rhill +5.90853066e+03 !particle radius in m +-1.00652683e+07 -2.07792286e+06 6.26672177e+04 ! x y z +4.27478087e+02 -2.00526834e+03 1.11714666e+01 ! vx vy vz +1208 7.68189982e+05 1.70994829e+04 ! particle number mass rhill +9.50477579e+03 !particle radius in m +-9.25272310e+06 4.61553055e+05 2.28064653e+03 ! x y z +-1.21224875e+02 -2.16490532e+03 1.16467209e+01 ! vx vy vz +1209 7.17469390e+04 7.67800796e+03 ! particle number mass rhill +4.31241077e+03 !particle radius in m +5.99768112e+06 7.18836176e+06 1.30862988e+04 ! x y z +-1.63913963e+03 1.36776567e+03 -1.13032580e+01 ! vx vy vz +1210 8.36379167e+04 1.86325541e+04 ! particle number mass rhill +4.53858074e+03 !particle radius in m +2.69549465e+06 -2.13775506e+07 -2.70977944e+04 ! x y z +1.39480467e+03 1.95781010e+02 -1.22454588e+01 ! vx vy vz +1211 2.44077886e+04 5.84483951e+03 ! particle number mass rhill +4.43620698e+03 !particle radius in m +-3.14237843e+06 -9.60218811e+06 -6.89227352e+04 ! x y z +1.95665546e+03 -6.62178945e+02 -9.36372693e+00 ! vx vy vz +1212 1.44764486e+05 9.84771730e+03 ! particle number mass rhill +5.44928691e+03 !particle radius in m +3.78692528e+06 8.59540985e+06 -3.20061356e+04 ! x y z +-1.96752618e+03 8.51121277e+02 -1.51485463e+00 ! vx vy vz +1213 2.27221346e+04 6.08153019e+03 ! particle number mass rhill +4.33163678e+03 !particle radius in m +-9.00146283e+06 -6.41911956e+06 6.65091457e+04 ! x y z +1.12404780e+03 -1.59135698e+03 -9.77302741e-01 ! vx vy vz +1214 2.71535887e+04 5.59499408e+03 ! particle number mass rhill +4.59668490e+03 !particle radius in m +8.54824866e+06 -3.66634423e+06 -4.89483929e+04 ! x y z +8.47956516e+02 1.98291118e+03 3.60869553e+00 ! vx vy vz +1215 1.83930380e+06 4.81996691e+04 ! particle number mass rhill +1.27155989e+04 !particle radius in m +1.95697614e+07 6.28199416e+06 9.65119660e+04 ! x y z +-4.43211708e+02 1.34690163e+03 -9.62234736e+00 ! vx vy vz +1216 1.59080558e+04 1.03572285e+04 ! particle number mass rhill +3.84628408e+03 !particle radius in m +-1.58193926e+07 -1.35536390e+07 8.45439846e+04 ! x y z +9.33923428e+02 -1.08590633e+03 1.18308309e+01 ! vx vy vz +1217 1.66392524e+06 3.70165505e+04 ! particle number mass rhill +1.22978804e+04 !particle radius in m +1.57128973e+07 -6.39323202e+05 1.78188715e+04 ! x y z +6.88318620e+01 1.65105864e+03 3.96550811e+00 ! vx vy vz +1218 3.66179316e+05 1.41594102e+04 ! particle number mass rhill +7.42478017e+03 !particle radius in m +4.15871481e+06 9.23348984e+06 -2.00218047e+04 ! x y z +-1.86711988e+03 8.27796037e+02 -1.71003540e+00 ! vx vy vz +1219 1.54561493e+05 1.00684785e+04 ! particle number mass rhill +8.20734629e+03 !particle radius in m +1.01202151e+06 -9.34669057e+06 -3.05255233e+04 ! x y z +2.12896558e+03 2.37084406e+02 2.06490854e+00 ! vx vy vz +1220 1.96961109e+06 2.97634995e+04 ! particle number mass rhill +1.30090572e+04 !particle radius in m +-1.21933337e+07 -1.85215644e+04 -9.08532291e+04 ! x y z +3.99379627e+00 -1.85775511e+03 -5.11110124e+00 ! vx vy vz +1221 1.52307934e+06 2.08671874e+04 ! particle number mass rhill +1.19406098e+04 !particle radius in m +-3.43283359e+06 -8.55413032e+06 1.39837760e+04 ! x y z +2.01077915e+03 -7.56017909e+02 1.02863591e+01 ! vx vy vz +1222 4.68434436e+05 2.00080803e+04 ! particle number mass rhill +1.18773237e+04 !particle radius in m +-1.54011563e+06 -1.27126780e+07 7.48528448e+04 ! x y z +1.83173381e+03 -2.00582211e+02 -5.46653115e+00 ! vx vy vz +1223 2.90685914e+05 1.99495647e+04 ! particle number mass rhill +6.87480407e+03 !particle radius in m +1.51139781e+07 1.12076930e+06 -2.10697882e+04 ! x y z +-1.50737141e+02 1.67679110e+03 1.30972258e+01 ! vx vy vz +1224 1.38602808e+05 1.24338676e+04 ! particle number mass rhill +7.91455193e+03 !particle radius in m +4.75991835e+06 1.10017280e+07 2.88714064e+04 ! x y z +-1.75624695e+03 7.27843788e+02 7.23217325e+00 ! vx vy vz +1225 2.95749638e+04 5.42872052e+03 ! particle number mass rhill +4.72944737e+03 !particle radius in m +-7.70162983e+06 -4.41409406e+06 2.58165729e+04 ! x y z +1.05981797e+03 -1.92161597e+03 -1.53504172e+01 ! vx vy vz +1226 4.32072593e+05 1.78081985e+04 ! particle number mass rhill +7.84581210e+03 !particle radius in m +8.79063205e+06 8.04366554e+06 -1.54947665e+04 ! x y z +-1.27701177e+03 1.39840130e+03 -2.40220571e+01 ! vx vy vz +1227 6.41589266e+04 9.67981886e+03 ! particle number mass rhill +6.12239510e+03 !particle radius in m +8.04074117e+06 9.64104753e+06 -4.45617960e+04 ! x y z +-1.39128132e+03 1.17398843e+03 -6.62327287e+00 ! vx vy vz +1228 3.20284500e+05 1.26827896e+04 ! particle number mass rhill +7.10064233e+03 !particle radius in m +-6.66261606e+06 6.71220967e+06 -3.99553759e+04 ! x y z +-1.50278601e+03 -1.49037570e+03 1.28507761e+01 ! vx vy vz +1229 1.51846639e+05 1.45701862e+04 ! particle number mass rhill +5.53673908e+03 !particle radius in m +7.85675354e+06 -1.09086703e+07 6.52437187e+03 ! x y z +1.47253647e+03 1.04716710e+03 -2.78745894e+00 ! vx vy vz +1230 1.23586335e+05 1.11194308e+04 ! particle number mass rhill +7.61773407e+03 !particle radius in m +1.20372202e+06 -1.12995198e+07 -7.66376724e+04 ! x y z +1.92159252e+03 2.10022167e+02 1.77035004e+01 ! vx vy vz +1231 2.25142465e+05 1.38893155e+04 ! particle number mass rhill +6.31351866e+03 !particle radius in m +1.34520987e+06 -1.14199869e+07 -1.06162090e+05 ! x y z +1.91854210e+03 2.27440517e+02 -2.86612981e+00 ! vx vy vz +1232 2.50526229e+04 5.93289297e+03 ! particle number mass rhill +4.47493492e+03 !particle radius in m +-7.81637690e+06 6.77408689e+06 -7.41358369e+04 ! x y z +-1.33330305e+03 -1.52276964e+03 -6.38372634e+00 ! vx vy vz +1233 1.90834790e+06 2.35258485e+04 ! particle number mass rhill +1.28727553e+04 !particle radius in m +-9.27394458e+06 2.25024078e+06 5.28422677e+04 ! x y z +-5.05715454e+02 -2.06066723e+03 1.34558284e+01 ! vx vy vz +1234 4.91248539e+04 7.28485384e+03 ! particle number mass rhill +3.80089688e+03 !particle radius in m +7.39246396e+06 7.02828616e+06 -5.45617263e+04 ! x y z +-1.39190312e+03 1.48134140e+03 -3.43671966e-01 ! vx vy vz +1235 1.41719231e+05 1.93293155e+04 ! particle number mass rhill +7.97343121e+03 !particle radius in m +1.36549158e+07 -1.27792544e+07 5.75773322e+03 ! x y z +1.01857297e+03 1.11983894e+03 2.42317366e+00 ! vx vy vz +1236 2.00882370e+05 1.08894510e+04 ! particle number mass rhill +6.07807803e+03 !particle radius in m +8.51250762e+06 3.74715124e+06 -3.66793926e+04 ! x y z +-9.06822201e+02 1.95546956e+03 -1.35124063e+01 ! vx vy vz +1237 1.20287590e+05 1.23845440e+04 ! particle number mass rhill +7.54934486e+03 !particle radius in m +1.11622021e+07 6.11280266e+06 1.12048087e+05 ! x y z +-8.90669182e+02 1.59847160e+03 8.83220737e+00 ! vx vy vz +1238 4.77986782e+05 1.49760594e+04 ! particle number mass rhill +8.11442267e+03 !particle radius in m +-3.59837711e+06 8.94095859e+06 9.64175823e+04 ! x y z +-1.96856779e+03 -7.62947641e+02 3.79489804e+00 ! vx vy vz +1239 2.65771158e+05 1.18757587e+04 ! particle number mass rhill +9.83267321e+03 !particle radius in m +1.29422873e+06 -9.18423777e+06 1.13052561e+04 ! x y z +2.13217255e+03 3.09173468e+02 -6.46064530e+00 ! vx vy vz +1240 9.09935528e+05 1.77629488e+04 ! particle number mass rhill +1.00567087e+04 !particle radius in m +7.55024995e+06 5.55902389e+06 2.47186332e+04 ! x y z +-1.28842830e+03 1.68728817e+03 -8.10804757e+00 ! vx vy vz +1241 6.99841166e+05 3.29812546e+04 ! particle number mass rhill +9.21408381e+03 !particle radius in m +1.88151667e+07 3.33001002e+06 3.73324839e+04 ! x y z +-2.30107887e+02 1.46487898e+03 2.65739699e+00 ! vx vy vz +1242 3.90005908e+05 1.34816243e+04 ! particle number mass rhill +1.11735897e+04 !particle radius in m +5.44170973e+06 -7.58711950e+06 -1.68342575e+04 ! x y z +1.71954001e+03 1.27240084e+03 9.88806581e+00 ! vx vy vz +1243 1.08664322e+06 2.28428386e+04 ! particle number mass rhill +1.06695963e+04 !particle radius in m +-8.65530733e+06 -7.08569033e+06 -2.23265845e+04 ! x y z +1.25758504e+03 -1.50248441e+03 -3.62008173e-01 ! vx vy vz +1244 1.52765224e+06 2.10792686e+04 ! particle number mass rhill +1.19525480e+04 !particle radius in m +-5.77529746e+06 -7.17376952e+06 -5.18219866e+04 ! x y z +1.69375434e+03 -1.34010802e+03 -1.50223596e+01 ! vx vy vz +1245 6.16725526e+04 8.80160618e+03 ! particle number mass rhill +6.04226309e+03 !particle radius in m +-1.06219205e+07 -3.45583164e+06 7.57878163e+04 ! x y z +6.00669506e+02 -1.87043192e+03 1.96458906e+01 ! vx vy vz +1246 2.90774616e+05 1.23816662e+04 ! particle number mass rhill +6.87550328e+03 !particle radius in m +6.08800715e+06 7.31025693e+06 2.11892900e+04 ! x y z +-1.62733880e+03 1.34749417e+03 4.48661776e+00 ! vx vy vz +1247 2.91111310e+05 1.70046080e+04 ! particle number mass rhill +6.87815602e+03 !particle radius in m +1.11973713e+07 -6.89047737e+06 8.77501535e+04 ! x y z +9.27451132e+02 1.53222806e+03 7.89688850e+00 ! vx vy vz +1248 1.92146673e+04 5.02220470e+03 ! particle number mass rhill +4.09618861e+03 !particle radius in m +-7.43211722e+06 -5.81999467e+06 -9.65323707e+03 ! x y z +1.33310134e+03 -1.66490648e+03 -3.67453264e+00 ! vx vy vz +1249 1.12236575e+06 2.53698511e+04 ! particle number mass rhill +1.07852562e+04 !particle radius in m +-1.08902550e+07 -5.66422797e+06 1.03662075e+04 ! x y z +8.63087680e+02 -1.66058015e+03 -2.16763143e+00 ! vx vy vz +1250 1.97375621e+05 1.34147884e+04 ! particle number mass rhill +8.90430770e+03 !particle radius in m +5.12124924e+06 1.04057141e+07 -2.37917852e+04 ! x y z +-1.74067826e+03 8.20317248e+02 -1.61468664e+01 ! vx vy vz +1251 6.18834861e+04 1.06379610e+04 ! particle number mass rhill +6.04914386e+03 !particle radius in m +-1.68906115e+06 -1.36100786e+07 1.12141407e+05 ! x y z +1.74322371e+03 -2.27430898e+02 1.33662045e+01 ! vx vy vz +1252 1.48860804e+05 1.71420231e+04 ! particle number mass rhill +8.10517587e+03 !particle radius in m +1.55662567e+07 4.00286637e+06 -1.79247131e+05 ! x y z +-4.13259864e+02 1.59216194e+03 8.36151351e+00 ! vx vy vz +1253 9.89512707e+05 4.29095693e+04 ! particle number mass rhill +1.03417203e+04 !particle radius in m +-1.88242941e+07 1.06236844e+07 -6.10248603e+04 ! x y z +-7.07744890e+02 -1.22126213e+03 4.18101860e+00 ! vx vy vz +1254 3.12504250e+05 1.56490359e+04 ! particle number mass rhill +1.03781744e+04 !particle radius in m +6.54563477e+06 9.67513797e+06 -6.81578535e+04 ! x y z +-1.58341801e+03 1.07058771e+03 -6.04814628e-01 ! vx vy vz +1255 1.91935878e+05 1.27404816e+04 ! particle number mass rhill +8.82174250e+03 !particle radius in m +1.04054207e+07 -4.16069278e+06 2.73610807e+04 ! x y z +7.03766909e+02 1.81842161e+03 8.81427302e+00 ! vx vy vz +1256 1.11002558e+05 1.15265444e+04 ! particle number mass rhill +4.98765792e+03 !particle radius in m +3.08072328e+06 -1.16153087e+07 4.07709281e+04 ! x y z +1.83456791e+03 4.73999302e+02 7.43116200e+00 ! vx vy vz +1257 1.46365124e+05 1.07472865e+04 ! particle number mass rhill +5.46929730e+03 !particle radius in m +6.34509950e+06 -8.39632633e+06 3.00680333e+04 ! x y z +1.60571507e+03 1.18326876e+03 -2.08403941e+00 ! vx vy vz +1258 3.58622633e+04 7.27385097e+03 ! particle number mass rhill +5.04330099e+03 !particle radius in m +1.11214656e+07 1.24533693e+06 -1.06574136e+05 ! x y z +-2.16829963e+02 1.93905765e+03 1.21579926e+01 ! vx vy vz +1259 4.04109068e+05 1.42195375e+04 ! particle number mass rhill +1.13066823e+04 !particle radius in m +-8.88143306e+06 -3.59836181e+06 5.33136699e+04 ! x y z +8.14785566e+02 -1.96550951e+03 6.43084310e+00 ! vx vy vz +1260 3.08027204e+05 1.50707848e+04 ! particle number mass rhill +7.00888103e+03 !particle radius in m +-8.26948189e+06 -7.55777650e+06 1.90589282e+04 ! x y z +1.31251337e+03 -1.45641325e+03 -2.75253497e+00 ! vx vy vz +1261 5.68308086e+04 7.77187750e+03 ! particle number mass rhill +3.99006780e+03 !particle radius in m +-8.76369433e+06 5.12820302e+06 4.83723083e+04 ! x y z +-1.02986001e+03 -1.78262989e+03 -1.16887378e+01 ! vx vy vz +1262 3.44231334e+05 1.47159604e+04 ! particle number mass rhill +1.07181325e+04 !particle radius in m +8.77351236e+06 5.86805867e+06 7.03132721e+04 ! x y z +-1.14557695e+03 1.66192575e+03 2.25245099e+00 ! vx vy vz +1263 2.40295629e+05 1.18592176e+04 ! particle number mass rhill +6.45209798e+03 !particle radius in m +2.81170524e+06 9.19584888e+06 4.45600518e+04 ! x y z +-2.01744512e+03 6.24046260e+02 -9.89046691e+00 ! vx vy vz +1264 6.80068207e+04 8.07363373e+03 ! particle number mass rhill +6.24242232e+03 !particle radius in m +-9.87293199e+06 -1.42461669e+06 -2.08948330e+04 ! x y z +2.77302880e+02 -2.05434640e+03 1.23835967e+01 ! vx vy vz +1265 4.03465047e+05 1.96297243e+04 ! particle number mass rhill +1.13006727e+04 !particle radius in m +-3.58991165e+06 -1.30771532e+07 4.60336444e+04 ! x y z +1.69912089e+03 -4.85176809e+02 -8.42271300e+00 ! vx vy vz +1266 1.12924923e+06 1.97340059e+04 ! particle number mass rhill +1.08072599e+04 !particle radius in m +-9.30543267e+06 -1.69593678e+06 7.96573126e+04 ! x y z +3.79186148e+02 -2.10571304e+03 -2.17512876e+01 ! vx vy vz +1267 2.12462415e+05 1.13846036e+04 ! particle number mass rhill +6.19269515e+03 !particle radius in m +-3.38260922e+06 8.95675600e+06 -9.15710109e+04 ! x y z +-1.98063128e+03 -7.58924908e+02 1.62762983e+01 ! vx vy vz +1268 1.22284830e+05 9.48762297e+03 ! particle number mass rhill +7.59089850e+03 !particle radius in m +9.06470291e+06 3.39698455e+06 -1.93072359e+04 ! x y z +-7.42646003e+02 1.96423004e+03 3.04319746e+00 ! vx vy vz +1269 3.20826960e+05 1.28228485e+04 ! particle number mass rhill +7.10464881e+03 !particle radius in m +-8.28344816e+06 -4.56542130e+06 -3.98741155e+04 ! x y z +9.81538136e+02 -1.88759078e+03 8.61570104e+00 ! vx vy vz +1270 1.68765847e+05 1.17429653e+04 ! particle number mass rhill +8.45143607e+03 !particle radius in m +9.83373151e+06 4.43940145e+06 2.01558777e+04 ! x y z +-8.55397447e+02 1.79285028e+03 -1.01803709e+01 ! vx vy vz +1271 5.60563834e+05 1.63043729e+04 ! particle number mass rhill +1.26098721e+04 !particle radius in m +6.20736435e+06 7.70565657e+06 2.01353242e+04 ! x y z +-1.62930967e+03 1.30802298e+03 1.80300563e+01 ! vx vy vz +1272 2.23640540e+05 2.16768752e+04 ! particle number mass rhill +9.28294621e+03 !particle radius in m +-1.21242621e+07 -1.29944427e+07 9.45840193e+03 ! x y z +1.14488121e+03 -1.06447129e+03 8.51817054e-01 ! vx vy vz +1273 3.24484331e+05 1.23517614e+04 ! particle number mass rhill +1.05091333e+04 !particle radius in m +-9.34416446e+04 9.14288304e+06 8.29702341e+03 ! x y z +-2.15581546e+03 -1.85313701e+01 1.24100830e+00 ! vx vy vz +1274 4.20796538e+05 1.46309941e+04 ! particle number mass rhill +1.14602223e+04 !particle radius in m +-8.56201175e+06 -4.77007031e+06 6.27239711e+04 ! x y z +1.04809893e+03 -1.81527422e+03 -2.35300971e+00 ! vx vy vz +1275 5.97784859e+05 1.68704229e+04 ! particle number mass rhill +8.74246630e+03 !particle radius in m +9.33774261e+06 -3.80575834e+06 3.61612768e+04 ! x y z +7.89084549e+02 1.90660726e+03 1.55750455e+01 ! vx vy vz +1276 7.71866509e+05 1.63632082e+04 ! particle number mass rhill +9.51991482e+03 !particle radius in m +1.44814086e+05 -9.02785011e+06 -7.62099316e+03 ! x y z +2.17482769e+03 2.31217788e+01 4.51562127e+00 ! vx vy vz +1277 2.09762369e+04 6.28274160e+03 ! particle number mass rhill +4.21772425e+03 !particle radius in m +2.68337698e+06 1.12799171e+07 -1.92110080e+04 ! x y z +-1.86815076e+03 4.16102947e+02 -8.29271140e-01 ! vx vy vz +1278 3.46246737e+05 1.25842743e+04 ! particle number mass rhill +1.07390093e+04 !particle radius in m +-8.56711815e+06 -3.15713404e+06 3.97972006e+03 ! x y z +7.43604689e+02 -2.02339459e+03 6.66994916e+00 ! vx vy vz +1279 4.20281553e+05 1.36364340e+04 ! particle number mass rhill +7.77378347e+03 !particle radius in m +2.18747509e+06 8.65395918e+06 -2.06536040e+04 ! x y z +-2.15725804e+03 5.30856591e+02 2.37348618e+00 ! vx vy vz +1280 1.24686009e+06 3.01782349e+04 ! particle number mass rhill +1.11701303e+04 !particle radius in m +7.66628600e+06 -1.17727557e+07 -1.47420679e+04 ! x y z +1.47098208e+03 9.52353449e+02 1.59639874e+01 ! vx vy vz +1281 1.23652829e+06 2.28978896e+04 ! particle number mass rhill +1.11391918e+04 !particle radius in m +1.04264792e+07 -2.74372425e+06 3.12865429e+04 ! x y z +5.41650708e+02 1.91683777e+03 -8.25764712e-01 ! vx vy vz +1282 5.71090410e+05 1.53591732e+04 ! particle number mass rhill +8.61034631e+03 !particle radius in m +-3.55923980e+06 -8.64968069e+06 1.79106442e+03 ! x y z +1.99649530e+03 -7.67245271e+02 -5.93442801e+00 ! vx vy vz +1283 5.19767258e+05 1.51351192e+04 ! particle number mass rhill +8.34427553e+03 !particle radius in m +9.42893053e+06 2.45878278e+05 -4.57214896e+04 ! x y z +-6.01176022e+01 2.13776727e+03 1.81291767e+01 ! vx vy vz +1284 4.43010149e+04 6.43778074e+03 ! particle number mass rhill +5.41136566e+03 !particle radius in m +9.07031967e+06 -2.25767487e+06 5.83955838e+03 ! x y z +5.13475058e+02 2.05838222e+03 2.17889632e+00 ! vx vy vz +1285 1.89897561e+05 1.41973974e+04 ! particle number mass rhill +5.96520618e+03 !particle radius in m +-7.87040592e+06 9.69728016e+06 -1.66849672e+03 ! x y z +-1.42992939e+03 -1.17418658e+03 -3.60129869e+00 ! vx vy vz +1286 1.97476197e+05 1.67504404e+04 ! particle number mass rhill +6.04352860e+03 !particle radius in m +1.32660339e+07 5.77686809e+06 1.35800303e+05 ! x y z +-6.62231218e+02 1.59103506e+03 -3.43945323e+00 ! vx vy vz +1287 6.78506127e+05 1.94924484e+04 ! particle number mass rhill +9.11948377e+03 !particle radius in m +-1.01101796e+07 -4.73633978e+06 1.92223885e+04 ! x y z +8.16987783e+02 -1.78318056e+03 8.86814927e+00 ! vx vy vz +1288 3.31102311e+05 2.06337640e+04 ! particle number mass rhill +7.17970170e+03 !particle radius in m +-1.00157479e+07 1.12142854e+07 -2.29871580e+04 ! x y z +-1.26146743e+03 -1.12281660e+03 -9.84657732e+00 ! vx vy vz +1289 5.85238829e+05 1.87103235e+04 ! particle number mass rhill +1.27922430e+04 !particle radius in m +-8.01070020e+06 -7.68441073e+06 -7.44586443e+03 ! x y z +1.37227167e+03 -1.42837223e+03 -3.04293724e+00 ! vx vy vz +1290 2.57089994e+05 1.14604204e+04 ! particle number mass rhill +6.59903940e+03 !particle radius in m +5.94423414e+06 -6.60015867e+06 3.79489917e+04 ! x y z +1.64871713e+03 1.48917509e+03 4.06312752e+00 ! vx vy vz +1291 5.62761960e+05 1.46125539e+04 ! particle number mass rhill +1.26263329e+04 !particle radius in m +-3.52967631e+06 8.16512241e+06 -2.51085986e+04 ! x y z +-2.00672046e+03 -8.99089812e+02 1.47195859e+01 ! vx vy vz +1292 1.22606951e+05 1.04784482e+04 ! particle number mass rhill +5.15573627e+03 !particle radius in m +8.67857522e+06 6.03654833e+06 6.58011140e+03 ! x y z +-1.13872966e+03 1.66817442e+03 2.18662162e+01 ! vx vy vz +1293 2.63411927e+05 1.40199277e+04 ! particle number mass rhill +9.80349206e+03 !particle radius in m +-4.55569332e+06 1.00472663e+07 8.70354064e+03 ! x y z +-1.80149559e+03 -7.99810234e+02 3.42249675e-01 ! vx vy vz +1294 2.73475123e+05 1.57989125e+04 ! particle number mass rhill +9.92677698e+03 !particle radius in m +9.14438839e+06 8.39253082e+06 -8.86556588e+04 ! x y z +-1.26689180e+03 1.34538142e+03 -8.40350285e+00 ! vx vy vz +1295 2.86580523e+05 1.51966222e+04 ! particle number mass rhill +6.84228595e+03 !particle radius in m +7.97751328e+06 8.67584783e+06 5.30436727e+04 ! x y z +-1.38366127e+03 1.29303381e+03 -8.41467876e+00 ! vx vy vz +1296 4.12299552e+05 1.34934085e+04 ! particle number mass rhill +7.72425527e+03 !particle radius in m +-5.79048975e+06 6.93664576e+06 1.29124985e+04 ! x y z +-1.68001209e+03 -1.40612278e+03 -3.61171376e+00 ! vx vy vz +1297 5.59645883e+05 1.70426121e+04 ! particle number mass rhill +1.26029852e+04 !particle radius in m +-5.16609529e+06 9.03539760e+06 5.58960613e+04 ! x y z +-1.76517041e+03 -1.00560177e+03 -5.00965832e+00 ! vx vy vz +1298 6.33916014e+04 1.50366592e+04 ! particle number mass rhill +6.09788969e+03 !particle radius in m +1.46424048e+07 -1.15689038e+07 3.27414078e+04 ! x y z +9.47675088e+02 1.20085208e+03 1.06976469e+01 ! vx vy vz +1299 8.52433630e+04 8.93705997e+03 ! particle number mass rhill +6.73063203e+03 !particle radius in m +1.01236173e+07 1.45579667e+06 5.15839678e+04 ! x y z +-2.87224826e+02 2.02832432e+03 -4.14184381e+00 ! vx vy vz +1300 5.14081123e+04 6.53080242e+03 ! particle number mass rhill +3.85889430e+03 !particle radius in m +7.23258453e+06 4.97813060e+06 -4.38592192e+03 ! x y z +-1.24479041e+03 1.83714641e+03 -1.95822638e+01 ! vx vy vz +1301 6.77217199e+04 7.14700851e+03 ! particle number mass rhill +4.23020736e+03 !particle radius in m +8.93601994e+06 -6.94569357e+05 -6.12210199e+02 ! x y z +2.19917996e+02 2.16082384e+03 -1.54527155e+01 ! vx vy vz +1302 6.11703776e+05 2.00034005e+04 ! particle number mass rhill +1.29822323e+04 !particle radius in m +8.82738308e+06 -7.76404080e+06 8.11338370e+04 ! x y z +1.26378234e+03 1.44510358e+03 2.18294651e+00 ! vx vy vz +1303 1.65801844e+05 1.55733762e+04 ! particle number mass rhill +8.40166656e+03 !particle radius in m +-1.07812933e+07 -9.62734933e+06 -5.03390757e+03 ! x y z +1.12256505e+03 -1.29339213e+03 -5.66212341e+00 ! vx vy vz +1304 4.62987998e+05 1.42062076e+04 ! particle number mass rhill +8.02864474e+03 !particle radius in m +-6.42251747e+06 -6.74488620e+06 7.04602772e+04 ! x y z +1.54144883e+03 -1.48324937e+03 1.60342159e+01 ! vx vy vz +1305 2.60642975e+05 1.22939187e+04 ! particle number mass rhill +6.62929998e+03 !particle radius in m +9.47929213e+06 -2.19579661e+06 -3.25100566e+04 ! x y z +4.68213030e+02 2.04336200e+03 2.65890903e+00 ! vx vy vz +1306 1.40715229e+06 2.33795274e+04 ! particle number mass rhill +1.16296336e+04 !particle radius in m +-1.05077611e+07 -1.31085244e+06 7.30464724e+04 ! x y z +2.82650675e+02 -1.98548135e+03 -1.05658937e+01 ! vx vy vz +1307 7.13061331e+04 7.85310031e+03 ! particle number mass rhill +4.30356095e+03 !particle radius in m +-9.66162364e+06 4.23926500e+05 -1.22905037e+04 ! x y z +-9.71624638e+01 -2.08984070e+03 2.75014649e+00 ! vx vy vz +1308 4.89601650e+05 2.17422005e+04 ! particle number mass rhill +8.17962300e+03 !particle radius in m +9.30519559e+06 1.02777991e+07 -1.35151955e+04 ! x y z +-1.30832060e+03 1.17931837e+03 4.96678180e+00 ! vx vy vz +1309 1.78067654e+05 1.20379239e+04 ! particle number mass rhill +8.60393924e+03 !particle radius in m +-5.38712062e+06 -9.43582755e+06 -1.42962613e+04 ! x y z +1.72402431e+03 -9.72573668e+02 -5.35637349e-01 ! vx vy vz +1310 4.80906653e+04 1.22640544e+04 ! particle number mass rhill +3.77403501e+03 !particle radius in m +-7.15437615e+06 -1.57030040e+07 1.86249551e+05 ! x y z +1.42003546e+03 -6.56667148e+02 -3.41426138e+00 ! vx vy vz +1311 8.59903706e+04 7.89944042e+03 ! particle number mass rhill +6.75023558e+03 !particle radius in m +5.41844043e+06 -7.25472299e+06 -9.37968266e+03 ! x y z +1.74397758e+03 1.29517496e+03 1.90126636e-01 ! vx vy vz +1312 1.63891142e+06 3.26516084e+04 ! particle number mass rhill +1.22359443e+04 !particle radius in m +1.22229448e+07 -6.93664382e+06 -3.73566212e+04 ! x y z +8.86957021e+02 1.49812000e+03 2.93544144e+00 ! vx vy vz +1313 1.65548000e+05 1.22081060e+04 ! particle number mass rhill +5.69849680e+03 !particle radius in m +4.97534313e+05 1.12973925e+07 -2.47714549e+04 ! x y z +-1.93747095e+03 6.82256092e+01 4.50885373e+00 ! vx vy vz +1314 8.18131400e+04 1.04556815e+04 ! particle number mass rhill +6.63911222e+03 !particle radius in m +6.27007593e+06 1.03894624e+07 -7.16417007e+03 ! x y z +-1.60760769e+03 9.75456582e+02 -4.84946763e+00 ! vx vy vz +1315 1.03590462e+06 1.78980493e+04 ! particle number mass rhill +1.05008774e+04 !particle radius in m +4.20395564e+06 7.76433301e+06 8.41688618e+04 ! x y z +-1.94265714e+03 1.06320178e+03 6.22424610e-01 ! vx vy vz +1316 7.67868642e+04 7.82041161e+03 ! particle number mass rhill +4.41111088e+03 !particle radius in m +6.37276437e+06 -6.42184183e+06 6.41580563e+04 ! x y z +1.58319090e+03 1.53287002e+03 -1.33788595e+00 ! vx vy vz +1317 5.89194336e+05 1.47666686e+04 ! particle number mass rhill +1.28209983e+04 !particle radius in m +-7.71353791e+06 4.23425293e+06 1.25697535e+04 ! x y z +-1.04844519e+03 -1.95403749e+03 -9.90990915e+00 ! vx vy vz +1318 5.31112427e+04 7.05725430e+03 ! particle number mass rhill +3.90104672e+03 !particle radius in m +-7.40633695e+06 5.93955618e+06 -5.19978226e+04 ! x y z +-1.31908110e+03 -1.66222684e+03 -1.03799917e+01 ! vx vy vz +1319 1.71842148e+06 2.82333324e+04 ! particle number mass rhill +1.24306993e+04 !particle radius in m +1.85739893e+06 -1.16268582e+07 -8.21342836e+03 ! x y z +1.89473415e+03 2.92048965e+02 -8.56627398e+00 ! vx vy vz +1320 6.17278582e+05 1.48891277e+04 ! particle number mass rhill +8.83648205e+03 !particle radius in m +3.72582096e+06 7.91120697e+06 -5.23905881e+04 ! x y z +-2.02715857e+03 9.13111080e+02 2.50053811e+00 ! vx vy vz +1321 1.14474067e+06 2.18093377e+04 ! particle number mass rhill +1.08564549e+04 !particle radius in m +5.09385670e+05 -1.04637690e+07 -6.20563116e+04 ! x y z +2.02501696e+03 7.65309669e+01 -1.01351101e+00 ! vx vy vz +1322 8.26533157e+04 7.68124990e+03 ! particle number mass rhill +6.66176154e+03 !particle radius in m +-3.29144876e+06 8.15112104e+06 8.11267893e+04 ! x y z +-2.05815351e+03 -8.34364146e+02 -5.14984629e+00 ! vx vy vz +1323 1.46998004e+05 1.13133262e+04 ! particle number mass rhill +5.47716901e+03 !particle radius in m +-1.05633758e+07 -2.07935484e+06 1.56201239e+04 ! x y z +3.80416672e+02 -1.96300156e+03 -6.47463330e+00 ! vx vy vz +1324 1.56081831e+04 4.62254860e+03 ! particle number mass rhill +3.82196266e+03 !particle radius in m +-8.96632975e+06 -4.86195335e+05 -1.06964367e+05 ! x y z +1.34820268e+02 -2.22107483e+03 1.19634049e+01 ! vx vy vz +1325 6.88345306e+05 1.57488065e+04 ! particle number mass rhill +9.16335366e+03 !particle radius in m +-7.48232762e+06 4.92380808e+06 2.29127905e+04 ! x y z +-1.22302901e+03 -1.81943768e+03 2.38496332e-01 ! vx vy vz +1326 1.99767409e+06 2.30772351e+04 ! particle number mass rhill +1.30705504e+04 !particle radius in m +-5.03707716e+05 -9.29849125e+06 -1.11404007e+04 ! x y z +2.13355604e+03 -1.25957885e+02 3.59182325e+00 ! vx vy vz +1327 1.47237759e+04 1.04619691e+04 ! particle number mass rhill +3.74836657e+03 !particle radius in m +2.17225066e+07 1.26121705e+06 -8.44855246e+04 ! x y z +-9.80183609e+01 1.39255713e+03 -2.45394775e-01 ! vx vy vz +1328 1.03148280e+05 1.18766934e+04 ! particle number mass rhill +7.17226488e+03 !particle radius in m +-3.31559823e+06 1.24035988e+07 -2.07947532e+04 ! x y z +-1.76007958e+03 -4.72548604e+02 9.49057096e-01 ! vx vy vz +1329 7.89194790e+05 2.30906258e+04 ! particle number mass rhill +9.59062845e+03 !particle radius in m +1.21445680e+07 2.59228119e+06 -3.02162959e+04 ! x y z +-3.98075492e+02 1.82853529e+03 6.91989022e+00 ! vx vy vz +1330 1.23249402e+05 1.28550711e+04 ! particle number mass rhill +7.61080504e+03 !particle radius in m +-1.13326598e+06 -1.29825734e+07 6.69579485e+03 ! x y z +1.80475746e+03 -1.76133915e+02 -5.83190587e+00 ! vx vy vz +1331 1.22964994e+05 1.16605265e+04 ! particle number mass rhill +7.60494634e+03 !particle radius in m +-4.79738768e+06 1.05660072e+07 -1.20703674e+04 ! x y z +-1.76872416e+03 -7.96773745e+02 -7.48094782e+00 ! vx vy vz +1332 4.01797998e+05 3.24133753e+04 ! particle number mass rhill +1.12850870e+04 !particle radius in m +2.19019020e+07 2.63899527e+06 3.37827752e+04 ! x y z +-1.61269975e+02 1.38753575e+03 3.39443977e+00 ! vx vy vz +1333 1.00770997e+06 2.34834210e+04 ! particle number mass rhill +1.04047308e+04 !particle radius in m +-1.21105762e+07 -5.24541367e+05 -2.70555025e+04 ! x y z +6.19806533e+01 -1.85471109e+03 -1.08022259e+01 ! vx vy vz +1334 3.90007197e+04 7.82329415e+03 ! particle number mass rhill +5.18632661e+03 !particle radius in m +6.24492290e+06 9.69571067e+06 -1.68199218e+04 ! x y z +-1.63521643e+03 1.03697361e+03 9.03169661e+00 ! vx vy vz +1335 2.52614269e+05 1.19155037e+04 ! particle number mass rhill +6.56052039e+03 !particle radius in m +-9.25769957e+06 2.29292734e+06 -1.14919079e+04 ! x y z +-5.12974483e+02 -2.05331332e+03 2.34930072e+01 ! vx vy vz +1336 5.74783862e+05 1.77378872e+04 ! particle number mass rhill +8.62886853e+03 !particle radius in m +-7.09412869e+06 -8.06275271e+06 -7.38498407e+04 ! x y z +1.50307169e+03 -1.31876348e+03 -1.74679708e+01 ! vx vy vz +1337 1.20042329e+06 4.16689932e+04 ! particle number mass rhill +1.10297026e+04 !particle radius in m +-1.83827850e+07 6.94620255e+06 -2.99390580e+04 ! x y z +-5.38167682e+02 -1.38025174e+03 8.14592781e+00 ! vx vy vz +1338 5.43654965e+04 1.07517216e+04 ! particle number mass rhill +3.93151662e+03 !particle radius in m +1.28440178e+07 6.15520582e+06 5.37944446e+04 ! x y z +-7.49642103e+02 1.56926042e+03 -4.14121777e+00 ! vx vy vz +1339 1.01511663e+05 1.53639766e+04 ! particle number mass rhill +4.84125149e+03 !particle radius in m +-1.37958464e+07 -9.01984290e+06 9.37503357e+03 ! x y z +8.63514338e+02 -1.36928306e+03 -4.92726033e+00 ! vx vy vz +1340 7.26811398e+04 1.23143345e+04 ! particle number mass rhill +6.38228557e+03 !particle radius in m +5.94552238e+06 -1.37356259e+07 -3.12464640e+04 ! x y z +1.54132538e+03 6.86924077e+02 4.95166504e+00 ! vx vy vz +1341 1.79156251e+06 2.30318870e+04 ! particle number mass rhill +1.26046169e+04 !particle radius in m +-8.47051395e+06 -4.33049723e+06 8.99388095e+03 ! x y z +1.01895175e+03 -1.86853627e+03 6.25752144e+00 ! vx vy vz +1342 1.03732725e+06 4.12058066e+04 ! particle number mass rhill +1.05056822e+04 !particle radius in m +-7.25230880e+06 -1.91074290e+07 -8.70931708e+04 ! x y z +1.36155621e+03 -5.02831587e+02 -8.24983528e+00 ! vx vy vz +1343 1.06908158e+06 1.94954238e+04 ! particle number mass rhill +1.06118054e+04 !particle radius in m +4.25302051e+06 -8.61174101e+06 -1.08068198e+04 ! x y z +1.88839849e+03 9.49718679e+02 1.00715649e+01 ! vx vy vz +1344 7.82894787e+04 1.38148136e+04 ! particle number mass rhill +6.54239543e+03 !particle radius in m +2.64852472e+06 1.60749418e+07 5.58768351e+04 ! x y z +-1.60049117e+03 2.61947391e+02 -1.05513072e+01 ! vx vy vz +1345 7.95878743e+04 7.78168116e+03 ! particle number mass rhill +4.46410737e+03 !particle radius in m +6.85901436e+06 5.92668091e+06 5.88024522e+03 ! x y z +-1.42967304e+03 1.64782988e+03 3.76673216e+00 ! vx vy vz +1346 3.00157124e+05 3.10642558e+04 ! particle number mass rhill +1.02396523e+04 !particle radius in m +1.65616231e+07 1.66028360e+07 -5.29304371e+04 ! x y z +-9.28645255e+02 9.80527992e+02 5.80916438e+00 ! vx vy vz +1347 9.96861900e+05 1.88907368e+04 ! particle number mass rhill +1.03672601e+04 !particle radius in m +-7.26003067e+05 9.56806531e+06 9.83311273e+04 ! x y z +-2.10111468e+03 -1.57355588e+02 7.65120270e+00 ! vx vy vz +1348 1.71021140e+05 1.36698293e+04 ! particle number mass rhill +8.48891637e+03 !particle radius in m +-3.13308835e+06 1.20377491e+07 -1.96893006e+04 ! x y z +-1.80038683e+03 -4.46661696e+02 -1.05229342e+01 ! vx vy vz +1349 5.21822966e+04 7.10639660e+03 ! particle number mass rhill +5.71491865e+03 !particle radius in m +3.61039948e+06 -8.94670524e+06 -6.45909208e+04 ! x y z +1.94572548e+03 7.94221249e+02 2.27282153e+00 ! vx vy vz +1350 2.11854770e+05 1.49949851e+04 ! particle number mass rhill +6.18678578e+03 !particle radius in m +1.23051248e+07 -2.76310551e+06 1.16872533e+05 ! x y z +4.31851334e+02 1.79778427e+03 -3.52355374e+00 ! vx vy vz +1351 4.53712916e+05 2.12325358e+04 ! particle number mass rhill +7.97466982e+03 !particle radius in m +1.37198938e+07 -1.77790003e+06 -1.13538998e+05 ! x y z +2.34248090e+02 1.75094064e+03 -4.43647357e+00 ! vx vy vz +1352 6.12975304e+05 1.54940796e+04 ! particle number mass rhill +8.81590001e+03 !particle radius in m +7.46219447e+06 -5.55061844e+06 3.02223367e+04 ! x y z +1.30415331e+03 1.69020434e+03 -2.84026488e+01 ! vx vy vz +1353 2.51706491e+05 1.19271740e+04 ! particle number mass rhill +9.65607124e+03 !particle radius in m +1.79117779e+06 -9.28064516e+06 2.29081417e+03 ! x y z +2.10478434e+03 3.74607623e+02 2.08339038e+01 ! vx vy vz +1354 1.05226394e+06 1.80004323e+04 ! particle number mass rhill +1.05558666e+04 !particle radius in m +7.62366140e+06 -4.73786634e+06 -3.67690119e+04 ! x y z +1.17730042e+03 1.83367733e+03 -1.18403024e+01 ! vx vy vz +1355 1.53011690e+06 2.33989676e+04 ! particle number mass rhill +1.19589725e+04 !particle radius in m +-1.01261545e+07 2.81055834e+05 -8.19414070e+03 ! x y z +-6.18154480e+01 -2.06712328e+03 -2.24522121e+01 ! vx vy vz +1356 9.08272734e+05 1.83178714e+04 ! particle number mass rhill +1.00505792e+04 !particle radius in m +6.29538118e+06 7.15708897e+06 4.07031267e+04 ! x y z +-1.60705715e+03 1.38487957e+03 -1.00848425e+01 ! vx vy vz +1357 1.23742619e+06 1.91614444e+04 ! particle number mass rhill +1.11418874e+04 !particle radius in m +-8.49609253e+06 2.57253582e+06 -4.04158861e+03 ! x y z +-6.25851824e+02 -2.12221062e+03 -1.18572479e+00 ! vx vy vz +1358 1.94661335e+05 1.30044682e+04 ! particle number mass rhill +6.01467589e+03 !particle radius in m +-1.10898042e+07 -1.78242858e+06 -7.98635316e+03 ! x y z +3.31900537e+02 -1.93252272e+03 -5.54822823e+00 ! vx vy vz +1359 5.76290328e+05 1.90919967e+04 ! particle number mass rhill +1.27267086e+04 !particle radius in m +-9.56599926e+06 -6.50694892e+06 1.36299753e+04 ! x y z +1.08336182e+03 -1.59117844e+03 -6.14843419e+00 ! vx vy vz +1360 1.46712586e+05 9.57263826e+03 ! particle number mass rhill +5.47362181e+03 !particle radius in m +-8.97074514e+06 8.73736202e+05 8.61659651e+03 ! x y z +-2.31036282e+02 -2.18526870e+03 3.84732945e+00 ! vx vy vz +1361 1.04321892e+06 1.88500830e+04 ! particle number mass rhill +1.05255343e+04 !particle radius in m +2.22458775e+06 -9.09183474e+06 6.60915144e+04 ! x y z +2.08331663e+03 4.95850932e+02 -1.01931453e+00 ! vx vy vz +1362 4.75220894e+05 1.68019312e+04 ! particle number mass rhill +1.19344067e+04 !particle radius in m +5.23135757e+06 -9.91357725e+06 4.20848292e+03 ! x y z +1.68969350e+03 9.19667997e+02 7.40595361e+00 ! vx vy vz +1363 7.30092568e+04 1.27115707e+04 ! particle number mass rhill +4.33755478e+03 !particle radius in m +-1.28024389e+07 8.53060405e+06 4.23749438e+04 ! x y z +-9.17577167e+02 -1.39144923e+03 -5.10429471e+00 ! vx vy vz +1364 1.28074679e+06 4.35476221e+04 ! particle number mass rhill +1.12704197e+04 !particle radius in m +-8.46758421e+06 -1.84532581e+07 8.05817267e+04 ! x y z +1.31420508e+03 -6.13047074e+02 -4.80774414e-03 ! vx vy vz +1365 3.15565087e+05 1.24463932e+04 ! particle number mass rhill +7.06559347e+03 !particle radius in m +-5.61587582e+06 7.53072526e+06 -2.26125540e+04 ! x y z +-1.70025928e+03 -1.25935338e+03 1.03927192e+01 ! vx vy vz +1366 1.32749597e+06 3.08557682e+04 ! particle number mass rhill +1.14059133e+04 !particle radius in m +-2.14619149e+06 -1.42066503e+07 1.73542964e+04 ! x y z +1.70134938e+03 -2.12094299e+02 -3.88248921e+00 ! vx vy vz +1367 3.00481034e+05 1.26260123e+04 ! particle number mass rhill +1.02433343e+04 !particle radius in m +-2.01595454e+06 -9.31357942e+06 -4.91526291e+04 ! x y z +2.05875974e+03 -4.99092474e+02 -1.24005530e+01 ! vx vy vz +1368 5.62740643e+05 2.30653210e+04 ! particle number mass rhill +1.26261734e+04 !particle radius in m +-3.35093529e+06 -1.37898898e+07 -7.67867475e+04 ! x y z +1.68266801e+03 -4.09195838e+02 4.84518176e+00 ! vx vy vz +1369 6.60086057e+04 9.53594170e+03 ! particle number mass rhill +4.19423265e+03 !particle radius in m +-5.47614308e+04 1.19582326e+07 -9.89002659e+04 ! x y z +-1.88840184e+03 -2.62651981e+01 7.68950274e+00 ! vx vy vz +1370 1.25293273e+05 1.14207894e+04 ! particle number mass rhill +5.19311868e+03 !particle radius in m +-3.77832466e+06 1.09398130e+07 3.13756637e+04 ! x y z +-1.82483111e+03 -5.94408085e+02 -5.78133740e+00 ! vx vy vz +1371 7.50733289e+04 1.04930646e+04 ! particle number mass rhill +6.45155218e+03 !particle radius in m +4.84011056e+06 -1.18968706e+07 1.84555477e+04 ! x y z +1.67151498e+03 6.81175038e+02 -7.19327483e+00 ! vx vy vz +1372 1.98591196e+05 1.30161400e+04 ! particle number mass rhill +6.05488167e+03 !particle radius in m +5.21483996e+04 -1.14249117e+07 5.55267676e+04 ! x y z +1.92199543e+03 2.89226318e+00 3.62643891e+00 ! vx vy vz +1373 6.85663466e+05 2.04510345e+04 ! particle number mass rhill +9.15143782e+03 !particle radius in m +-1.10411425e+07 -3.92571862e+06 -5.07146026e+04 ! x y z +6.36950570e+02 -1.80153278e+03 2.92128142e+00 ! vx vy vz +1374 1.23065485e+05 1.94250011e+04 ! particle number mass rhill +7.60701744e+03 !particle radius in m +-1.31978898e+07 1.46521426e+07 -3.77196518e+04 ! x y z +-1.09404867e+03 -9.86978912e+02 -1.39684139e+00 ! vx vy vz +1375 9.32976416e+05 2.08746348e+04 ! particle number mass rhill +1.01408856e+04 !particle radius in m +-2.88294831e+06 -1.04031089e+07 2.08513090e+04 ! x y z +1.92072665e+03 -5.23302927e+02 5.19800736e+00 ! vx vy vz +1376 1.08992704e+06 1.83798070e+04 ! particle number mass rhill +1.06803333e+04 !particle radius in m +2.38782775e+06 -8.75851927e+06 4.58765881e+04 ! x y z +2.08778972e+03 5.70538122e+02 1.58463921e+01 ! vx vy vz +1377 3.76825728e+05 2.16154245e+04 ! particle number mass rhill +1.10462747e+04 !particle radius in m +-1.39881250e+07 -5.83335318e+06 -6.16116575e+04 ! x y z +6.22870510e+02 -1.55838806e+03 1.20223983e+00 ! vx vy vz +1378 5.53365914e+05 1.43923959e+04 ! particle number mass rhill +1.25556671e+04 !particle radius in m +4.99865237e+06 7.28764110e+06 -6.86499352e+04 ! x y z +-1.79951538e+03 1.27018155e+03 -3.04997592e+01 ! vx vy vz +1379 6.39199380e+04 9.52618767e+03 ! particle number mass rhill +6.11478378e+03 !particle radius in m +4.99165759e+06 1.10448368e+07 3.69114811e+04 ! x y z +-1.71481010e+03 7.51891478e+02 2.57133594e+00 ! vx vy vz +1380 1.50512007e+04 4.38843070e+03 ! particle number mass rhill +3.77594830e+03 !particle radius in m +-1.38190232e+06 8.92446579e+06 -2.39874601e+01 ! x y z +-2.13999854e+03 -3.62741075e+02 -1.15400248e+01 ! vx vy vz +1381 5.00451986e+04 8.33623035e+03 ! particle number mass rhill +3.82448653e+03 !particle radius in m +-1.11170825e+07 2.94394609e+06 -4.30953134e+04 ! x y z +-5.00071887e+02 -1.85670191e+03 4.27947102e+00 ! vx vy vz +1382 1.37866160e+06 2.24025141e+04 ! particle number mass rhill +1.15506092e+04 !particle radius in m +1.02590139e+07 -2.70501621e+05 1.75890374e+04 ! x y z +8.26113275e+01 2.03083325e+03 -1.20188470e+01 ! vx vy vz +1383 1.52540156e+06 2.36328931e+04 ! particle number mass rhill +1.19466753e+04 !particle radius in m +1.05552207e+06 1.03618993e+07 4.81086872e+04 ! x y z +-2.01112311e+03 2.15384368e+02 -7.43201232e+00 ! vx vy vz +1384 4.98999643e+05 1.49525075e+04 ! particle number mass rhill +1.21302309e+04 !particle radius in m +2.73631070e+06 -9.24970389e+06 5.21198850e+04 ! x y z +2.01203797e+03 5.75113061e+02 -1.08228016e+01 ! vx vy vz +1385 1.22963928e+05 1.15704812e+04 ! particle number mass rhill +7.60492436e+03 !particle radius in m +7.49333106e+06 8.99255805e+06 4.28079932e+04 ! x y z +-1.47027422e+03 1.22861330e+03 -2.29537873e+00 ! vx vy vz +1386 6.29316275e+05 1.65343140e+04 ! particle number mass rhill +8.89355341e+03 !particle radius in m +7.19860353e+06 -6.54495925e+06 4.11431543e+04 ! x y z +1.41373944e+03 1.55175420e+03 1.34717999e+00 ! vx vy vz +1387 6.64261825e+04 8.06796854e+03 ! particle number mass rhill +4.20305844e+03 !particle radius in m +-1.00628201e+07 -1.83741461e+06 -1.98227486e+03 ! x y z +3.70859453e+02 -1.99423409e+03 -1.20280387e+01 ! vx vy vz +1388 1.61162197e+06 2.05540497e+04 ! particle number mass rhill +1.21676504e+04 !particle radius in m +5.77701761e+06 6.58972717e+06 1.74818314e+04 ! x y z +-1.68661617e+03 1.44550446e+03 -1.99467032e+01 ! vx vy vz +1389 2.31008539e+05 1.09300831e+04 ! particle number mass rhill +6.36788201e+03 !particle radius in m +2.92908581e+06 -8.51550871e+06 2.35649421e+04 ! x y z +2.06952805e+03 6.82474350e+02 -1.19878409e+01 ! vx vy vz +1390 8.79756930e+04 1.57795601e+04 ! particle number mass rhill +4.61572468e+03 !particle radius in m +-1.67832510e+07 5.10602561e+06 6.05666574e+04 ! x y z +-4.71529253e+02 -1.50630622e+03 1.54396748e+00 ! vx vy vz +1391 7.86523786e+05 2.26449685e+04 ! particle number mass rhill +9.57979650e+03 !particle radius in m +5.94339422e+06 1.09804417e+07 4.79977238e+04 ! x y z +-1.62390609e+03 8.74411928e+02 6.90172493e+00 ! vx vy vz +1392 7.95689825e+05 2.04444166e+04 ! particle number mass rhill +9.61686674e+03 !particle radius in m +-9.53286463e+05 1.08518193e+07 1.37804570e+04 ! x y z +-1.99765013e+03 -1.63665978e+02 -1.39490183e+00 ! vx vy vz +1393 1.57903814e+05 1.75328316e+04 ! particle number mass rhill +8.26608492e+03 !particle radius in m +-6.92004578e+06 -1.47096496e+07 9.07914526e+04 ! x y z +1.47519584e+03 -6.90837866e+02 6.35058618e+00 ! vx vy vz +1394 1.79760964e+06 3.27447713e+04 ! particle number mass rhill +1.26187826e+04 !particle radius in m +-1.20616278e+07 6.06273134e+06 -6.00296658e+04 ! x y z +-8.01878358e+02 -1.59732664e+03 6.85710223e+00 ! vx vy vz +1395 1.72877299e+06 3.01002806e+04 ! particle number mass rhill +1.24556096e+04 !particle radius in m +1.07241366e+07 6.87028361e+06 9.95384965e+03 ! x y z +-9.77403580e+02 1.54502689e+03 -6.02368193e+00 ! vx vy vz +1396 5.37735425e+05 1.81911004e+04 ! particle number mass rhill +8.43934121e+03 !particle radius in m +-9.89312276e+06 -5.78442642e+06 3.19342091e+03 ! x y z +1.00166999e+03 -1.63649382e+03 -7.28916722e+00 ! vx vy vz +1397 1.12551232e+05 1.00244300e+04 ! particle number mass rhill +7.38389889e+03 !particle radius in m +-1.05072101e+07 8.59747253e+05 -8.51062631e+04 ! x y z +-1.76270864e+02 -2.00169685e+03 -1.88486496e+01 ! vx vy vz +1398 1.93788717e+05 1.07523030e+04 ! particle number mass rhill +6.00567499e+03 !particle radius in m +5.23533805e+06 -8.01402331e+06 2.56229650e+04 ! x y z +1.74936393e+03 1.14948262e+03 1.14944776e+01 ! vx vy vz +1399 3.94151482e+05 1.32927065e+04 ! particle number mass rhill +1.12130402e+04 !particle radius in m +-3.53936356e+06 8.37116745e+06 -5.28989524e+04 ! x y z +-2.00215068e+03 -8.57726431e+02 -1.43522460e+01 ! vx vy vz +1400 9.72092511e+05 1.81538052e+04 ! particle number mass rhill +1.02806726e+04 !particle radius in m +8.06463120e+06 -4.43013823e+06 9.40752267e+04 ! x y z +1.03931497e+03 1.89699386e+03 -9.86578192e+00 ! vx vy vz +1401 5.15220478e+05 1.68308350e+04 ! particle number mass rhill +1.22602698e+04 !particle radius in m +-1.05188937e+07 8.26557998e+05 -2.50244301e+04 ! x y z +-1.75058944e+02 -2.01148735e+03 6.39744454e+00 ! vx vy vz +1402 2.13063868e+05 1.07950104e+04 ! particle number mass rhill +9.13423664e+03 !particle radius in m +9.02166027e+05 -9.17478955e+06 6.28467621e+04 ! x y z +2.13279891e+03 2.18658803e+02 5.09551557e+00 ! vx vy vz +1403 4.71317796e+05 1.46342438e+04 ! particle number mass rhill +8.07650766e+03 !particle radius in m +-3.82128992e+06 8.76150983e+06 -3.66320445e+04 ! x y z +-1.91568216e+03 -8.82768818e+02 -8.66361539e+00 ! vx vy vz +1404 4.64539498e+05 1.97631805e+04 ! particle number mass rhill +8.03760289e+03 !particle radius in m +6.34183157e+06 1.14263259e+07 -3.93771961e+04 ! x y z +-1.57702001e+03 8.61699373e+02 7.37963170e+00 ! vx vy vz +1405 1.22910745e+06 2.88108450e+04 ! particle number mass rhill +1.11168637e+04 !particle radius in m +-1.30405721e+07 -3.97553562e+06 6.86718538e+04 ! x y z +5.08860652e+02 -1.69393029e+03 3.39424464e+00 ! vx vy vz +1406 3.59051292e+05 1.29060626e+04 ! particle number mass rhill +7.37628737e+03 !particle radius in m +1.47724485e+06 8.92877200e+06 -1.05084746e+05 ! x y z +-2.16100073e+03 3.48067255e+02 2.02796618e+01 ! vx vy vz +1407 5.58713149e+05 1.72404097e+04 ! particle number mass rhill +1.25959797e+04 !particle radius in m +6.68480405e+06 8.22694034e+06 5.91279278e+04 ! x y z +-1.56238715e+03 1.25932846e+03 7.35031359e+00 ! vx vy vz +1408 1.49551836e+06 2.70347043e+04 ! particle number mass rhill +1.18681469e+04 !particle radius in m +1.16829878e+07 3.26454849e+06 8.84361419e+04 ! x y z +-5.06154292e+02 1.79320925e+03 1.57229654e+01 ! vx vy vz +1409 1.74614925e+05 1.13819946e+04 ! particle number mass rhill +8.54796582e+03 !particle radius in m +9.47110497e+06 -3.98852153e+06 -3.02153569e+04 ! x y z +8.00176660e+02 1.87835641e+03 1.12222570e+00 ! vx vy vz +1410 4.37419833e+05 1.87404958e+04 ! particle number mass rhill +7.87804554e+03 !particle radius in m +1.46320698e+06 -1.24945211e+07 2.33172915e+04 ! x y z +1.82255294e+03 2.24692006e+02 -5.94227757e+00 ! vx vy vz +1411 9.88194235e+05 2.19599829e+04 ! particle number mass rhill +1.03371250e+04 !particle radius in m +-2.99549263e+06 1.07900890e+07 -3.59480074e+04 ! x y z +-1.87291441e+03 -5.40526156e+02 -2.72086375e+01 ! vx vy vz +1412 8.12416369e+04 8.11359134e+03 ! particle number mass rhill +4.49481566e+03 !particle radius in m +8.92552694e+06 -2.88867045e+06 4.50164736e+04 ! x y z +6.21245683e+02 2.05314318e+03 5.45203724e+00 ! vx vy vz +1413 1.05826275e+06 1.96138959e+04 ! particle number mass rhill +1.05758878e+04 !particle radius in m +5.22399519e+06 8.01692184e+06 -5.68152669e+03 ! x y z +-1.79741529e+03 1.14577258e+03 9.91685440e-01 ! vx vy vz +1414 1.63403319e+05 9.80071456e+03 ! particle number mass rhill +8.36095619e+03 !particle radius in m +8.03570746e+06 -4.11887844e+06 3.48874429e+04 ! x y z +1.00266026e+03 1.93580077e+03 -1.91021104e+01 ! vx vy vz +1415 2.42846073e+04 5.95994238e+03 ! particle number mass rhill +4.42873150e+03 !particle radius in m +9.90649703e+06 3.18003586e+06 1.94516997e+04 ! x y z +-6.33346908e+02 1.92588552e+03 -4.00155121e+00 ! vx vy vz +1416 1.39585476e+06 1.98821424e+04 ! particle number mass rhill +1.15984265e+04 !particle radius in m +-1.09606598e+06 8.80615149e+06 -2.31959292e+04 ! x y z +-2.19928594e+03 -2.15273172e+02 -1.46856638e+00 ! vx vy vz +1417 5.69983191e+05 1.68129906e+04 ! particle number mass rhill +8.60477818e+03 !particle radius in m +1.52623331e+06 -9.87507162e+06 -7.34326606e+04 ! x y z +2.07157812e+03 3.10284089e+02 -1.48877124e+01 ! vx vy vz +1418 4.36632456e+05 1.43212304e+04 ! particle number mass rhill +1.16022173e+04 !particle radius in m +5.60100517e+06 -7.52238732e+06 -7.05544699e+04 ! x y z +1.72239950e+03 1.29297128e+03 -1.52256341e+00 ! vx vy vz +1419 1.67122060e+05 1.16630765e+04 ! particle number mass rhill +5.71650065e+03 !particle radius in m +-3.94522959e+06 -9.97626417e+06 9.25599419e+03 ! x y z +1.86732899e+03 -7.00228008e+02 -6.60836692e+00 ! vx vy vz +1420 1.46864649e+06 2.03402135e+04 ! particle number mass rhill +1.17966335e+04 !particle radius in m +8.23445883e+04 -9.04812768e+06 -1.64851152e+03 ! x y z +2.17359230e+03 -1.27347929e+01 -1.55026516e+01 ! vx vy vz +1421 4.13129899e+05 1.84920921e+04 ! particle number mass rhill +1.13901960e+04 !particle radius in m +-9.27915033e+06 -8.53740765e+06 -1.42390767e+05 ! x y z +1.24138782e+03 -1.35430995e+03 -1.90290768e+01 ! vx vy vz +1422 3.39196625e+05 1.53683400e+04 ! particle number mass rhill +7.23773766e+03 !particle radius in m +6.08369217e+06 -9.30896549e+06 1.20641705e+05 ! x y z +1.63879722e+03 1.07988243e+03 -4.44689941e+00 ! vx vy vz +1423 1.56760316e+05 1.13228643e+04 ! particle number mass rhill +5.59582821e+03 !particle radius in m +9.59849615e+06 4.68470056e+06 3.84316246e+04 ! x y z +-8.55957491e+02 1.80183427e+03 7.74894619e+00 ! vx vy vz +1424 8.72575676e+05 1.94114085e+04 ! particle number mass rhill +9.91714578e+03 !particle radius in m +-1.08060668e+06 -1.00607858e+07 4.94826506e+04 ! x y z +2.05453656e+03 -2.59041316e+02 -1.24750217e+01 ! vx vy vz +1425 1.52610080e+05 1.67317953e+04 ! particle number mass rhill +8.17265933e+03 !particle radius in m +1.47983590e+07 5.41415872e+06 -1.80415422e+04 ! x y z +-5.58693227e+02 1.55361354e+03 1.18553934e+01 ! vx vy vz +1426 1.44994049e+05 1.07202302e+04 ! particle number mass rhill +8.03438024e+03 !particle radius in m +-7.58136593e+06 6.99309921e+06 2.29302110e+04 ! x y z +-1.40627338e+03 -1.47284043e+03 -4.36076043e-01 ! vx vy vz +1427 7.80472321e+05 1.86417464e+04 ! particle number mass rhill +9.55516443e+03 !particle radius in m +-1.00024650e+07 2.57885499e+06 -6.07457902e+03 ! x y z +-5.22539017e+02 -1.95674023e+03 -7.68835058e-01 ! vx vy vz +1428 6.00438958e+05 1.93290671e+04 ! particle number mass rhill +1.29020467e+04 !particle radius in m +-9.01182188e+06 7.17037576e+06 -1.80541014e+04 ! x y z +-1.21356170e+03 -1.50384647e+03 1.80093599e+01 ! vx vy vz +1429 1.75115386e+06 2.43458664e+04 ! particle number mass rhill +1.25091298e+04 !particle radius in m +-5.24887098e+06 8.72732331e+06 8.04218722e+04 ! x y z +-1.74335368e+03 -1.08193759e+03 -5.43249124e+00 ! vx vy vz +1430 3.33981162e+05 2.15867295e+04 ! particle number mass rhill +1.06106742e+04 !particle radius in m +-2.45049686e+06 1.55426920e+07 1.07580343e+05 ! x y z +-1.62197493e+03 -2.92833542e+02 -1.14576459e+01 ! vx vy vz +1431 4.58385695e+05 2.01935560e+04 ! particle number mass rhill +8.00195335e+03 !particle radius in m +-1.22199859e+07 4.38221625e+06 -3.89351024e+04 ! x y z +-6.16349372e+02 -1.72585692e+03 4.89125567e+00 ! vx vy vz +1432 2.23751701e+05 1.21149867e+04 ! particle number mass rhill +6.30049172e+03 !particle radius in m +-2.68787716e+06 -9.60100858e+06 2.64767119e+03 ! x y z +2.00338289e+03 -5.71028998e+02 2.70092626e+00 ! vx vy vz +1433 6.14170089e+05 1.68963871e+04 ! particle number mass rhill +1.29996565e+04 !particle radius in m +-8.95990349e+06 4.52753433e+06 1.16091499e+04 ! x y z +-9.24228536e+02 -1.84658152e+03 6.10613917e+00 ! vx vy vz +1434 4.88383647e+04 1.28185350e+04 ! particle number mass rhill +5.59014012e+03 !particle radius in m +1.71028024e+07 4.97528193e+06 -6.57328228e+04 ! x y z +-4.53167939e+02 1.47788400e+03 4.60344609e+00 ! vx vy vz +1435 3.78131340e+05 3.35514648e+04 ! particle number mass rhill +1.10590176e+04 !particle radius in m +-2.23441151e+07 -5.50686380e+06 3.85003687e+04 ! x y z +3.37072469e+02 -1.33411055e+03 5.11825064e+00 ! vx vy vz +1436 1.12257471e+06 4.29816726e+04 ! particle number mass rhill +1.07859254e+04 !particle radius in m +-1.12784475e+07 1.70585791e+07 -1.32439952e+05 ! x y z +-1.22293182e+03 -8.00872476e+02 4.14711101e+00 ! vx vy vz +1437 6.97796488e+05 1.81514488e+04 ! particle number mass rhill +9.20510168e+03 !particle radius in m +-3.79252235e+06 9.57625977e+06 -9.43032419e+04 ! x y z +-1.90113874e+03 -7.45374550e+02 -2.76613575e+00 ! vx vy vz +1438 6.32170601e+04 7.02909847e+03 ! particle number mass rhill +4.13425343e+03 !particle radius in m +-7.96122660e+06 3.67866986e+06 -9.30226617e+03 ! x y z +-9.42526154e+02 -2.01745780e+03 -1.25281974e+00 ! vx vy vz +1439 1.55582987e+05 1.03484949e+04 ! particle number mass rhill +5.58178407e+03 !particle radius in m +-7.53794950e+06 6.23579413e+06 -2.61014008e+04 ! x y z +-1.34980984e+03 -1.58862900e+03 -1.61372420e+01 ! vx vy vz +1440 4.37297807e+04 6.59045414e+03 ! particle number mass rhill +5.38800623e+03 !particle radius in m +-8.66326774e+06 4.08110980e+06 -3.65358197e+04 ! x y z +-9.22979977e+02 -1.88593300e+03 -1.20742584e+01 ! vx vy vz +1441 1.00764560e+05 1.20451591e+04 ! particle number mass rhill +4.82934540e+03 !particle radius in m +-8.01465112e+06 -1.03186901e+07 -8.69608158e+04 ! x y z +1.40671015e+03 -1.13976841e+03 1.88119518e+00 ! vx vy vz +1442 3.51703554e+05 2.06788915e+04 ! particle number mass rhill +1.07951308e+04 !particle radius in m +-1.49556816e+07 -7.86589247e+05 1.11406498e+05 ! x y z +1.14089906e+02 -1.67632423e+03 -1.08680759e+00 ! vx vy vz +1443 1.92277696e+06 3.28524926e+04 ! particle number mass rhill +1.29051176e+04 !particle radius in m +1.27123539e+07 -2.64461233e+06 -6.18084715e+04 ! x y z +3.74400777e+02 1.80142774e+03 3.83561532e-01 ! vx vy vz +1444 3.45658520e+05 2.43824484e+04 ! particle number mass rhill +1.07329246e+04 !particle radius in m +-4.06927547e+05 -1.75442240e+07 1.00963469e+05 ! x y z +1.56104472e+03 -4.39048470e+01 3.93620680e+00 ! vx vy vz +1445 1.13287340e+05 1.58649945e+04 ! particle number mass rhill +5.02164633e+03 !particle radius in m +8.84368264e+06 1.43003762e+07 5.00874702e+04 ! x y z +-1.35152929e+03 8.24556921e+02 -8.03719400e+00 ! vx vy vz +1446 1.49424265e+06 2.19656703e+04 ! particle number mass rhill +1.18647713e+04 !particle radius in m +-9.54707879e+06 1.77630246e+06 -8.88116065e+03 ! x y z +-3.48826440e+02 -2.06942564e+03 -2.16674061e+01 ! vx vy vz +1447 7.99886482e+05 2.37523761e+04 ! particle number mass rhill +9.63374432e+03 !particle radius in m +1.09242185e+07 6.96934254e+06 -3.27489047e+04 ! x y z +-9.84319971e+02 1.52494369e+03 8.24595564e+00 ! vx vy vz +1448 6.88070041e+04 8.39015369e+03 ! particle number mass rhill +4.25268498e+03 !particle radius in m +5.58576103e+06 8.70672427e+06 -2.15687306e+04 ! x y z +-1.72503313e+03 1.07740968e+03 -3.41426440e+00 ! vx vy vz +1449 3.82536212e+05 1.40133678e+04 ! particle number mass rhill +1.11017942e+04 !particle radius in m +-4.11471227e+06 -8.93287907e+06 -4.36028632e+04 ! x y z +1.89219131e+03 -8.56549006e+02 8.16432689e-01 ! vx vy vz +1450 2.90080057e+05 1.19567122e+04 ! particle number mass rhill +6.87002453e+03 !particle radius in m +8.96616870e+06 -2.05606701e+06 2.01901008e+04 ! x y z +4.73236695e+02 2.09528249e+03 -4.42528671e+00 ! vx vy vz +1451 1.59018668e+05 1.92436459e+04 ! particle number mass rhill +8.28549309e+03 !particle radius in m +1.71268946e+07 4.30766948e+06 2.02642738e+03 ! x y z +-4.07771856e+02 1.51502114e+03 -1.13119700e+00 ! vx vy vz +1452 9.33386750e+04 1.64255317e+04 ! particle number mass rhill +4.70767212e+03 !particle radius in m +-4.68916418e+05 1.79356049e+07 2.73217306e+04 ! x y z +-1.55840072e+03 -4.92017252e+01 -1.97207421e-01 ! vx vy vz +1453 3.61408263e+05 1.25858962e+04 ! particle number mass rhill +1.08935228e+04 !particle radius in m +-8.58951775e+06 -2.49673020e+06 1.50355881e+04 ! x y z +6.03037486e+02 -2.10005557e+03 9.90449926e+00 ! vx vy vz +1454 4.04341391e+05 1.39794979e+04 ! particle number mass rhill +1.13088486e+04 !particle radius in m +-1.24947062e+06 9.39169733e+06 -1.29611502e+03 ! x y z +-2.12088670e+03 -2.33617557e+02 -7.92353291e+00 ! vx vy vz +1455 1.15205467e+05 9.46757023e+03 ! particle number mass rhill +5.04982925e+03 !particle radius in m +9.31255896e+06 3.14623519e+06 -5.69089329e+03 ! x y z +-7.03486722e+02 1.96419139e+03 2.25468152e+01 ! vx vy vz +1456 1.36945908e+05 1.16200120e+04 ! particle number mass rhill +7.88288776e+03 !particle radius in m +-5.85221513e+05 -1.12876036e+07 -5.52028652e+04 ! x y z +1.95064275e+03 -9.81526152e+01 -5.91601856e+00 ! vx vy vz +1457 3.65528213e+05 1.31090663e+04 ! particle number mass rhill +1.09347609e+04 !particle radius in m +-2.96784791e+06 -8.77030784e+06 -6.49349269e+04 ! x y z +2.04523947e+03 -6.63593054e+02 -5.41808592e+00 ! vx vy vz +1458 1.69950901e+04 6.03470815e+03 ! particle number mass rhill +3.93196955e+03 !particle radius in m +8.90265546e+05 1.20291601e+07 -5.41238919e+02 ! x y z +-1.86112508e+03 1.50752240e+02 -5.69806824e-01 ! vx vy vz +1459 1.14279210e+05 1.31227492e+04 ! particle number mass rhill +5.03625919e+03 !particle radius in m +-4.12865927e+06 -1.30370302e+07 2.49268877e+04 ! x y z +1.68286207e+03 -5.42218893e+02 7.09107529e+00 ! vx vy vz +1460 1.32563480e+06 2.20277567e+04 ! particle number mass rhill +1.14005804e+04 !particle radius in m +-8.83659135e+06 4.88772967e+06 3.97374919e+04 ! x y z +-9.96652878e+02 -1.80490383e+03 4.50625373e-01 ! vx vy vz +1461 1.09382671e+05 1.04026284e+04 ! particle number mass rhill +7.31394737e+03 !particle radius in m +7.51899250e+06 8.02238049e+06 4.96372898e+04 ! x y z +-1.45435540e+03 1.33207577e+03 -8.91729858e+00 ! vx vy vz +1462 1.96680548e+05 2.21014105e+04 ! particle number mass rhill +8.89384301e+03 !particle radius in m +1.07692501e+07 -1.58383421e+07 5.11056372e+04 ! x y z +1.24097868e+03 8.36402001e+02 1.17081374e+01 ! vx vy vz +1463 6.31269846e+05 1.55026435e+04 ! particle number mass rhill +8.90274659e+03 !particle radius in m +-7.87110940e+06 4.57199197e+06 -7.32174697e+03 ! x y z +-1.11779702e+03 -1.86164265e+03 1.82306653e+00 ! vx vy vz +1464 1.65148564e+05 1.29292367e+04 ! particle number mass rhill +8.39061750e+03 !particle radius in m +-9.02697440e+06 7.44735568e+06 -6.20239222e+04 ! x y z +-1.22828772e+03 -1.48671915e+03 -3.25023413e+00 ! vx vy vz +1465 2.01259594e+05 1.25893360e+04 ! particle number mass rhill +8.96233529e+03 !particle radius in m +1.03311380e+07 2.97114168e+06 2.75510366e+04 ! x y z +-5.53060286e+02 1.92682584e+03 -7.92293805e+00 ! vx vy vz +1466 3.47358922e+04 5.91061876e+03 ! particle number mass rhill +4.98993792e+03 !particle radius in m +7.02853805e+06 6.05239702e+06 3.87860255e+03 ! x y z +-1.40362427e+03 1.60647543e+03 -1.45016070e+01 ! vx vy vz +1467 6.56492226e+04 7.07440593e+03 ! particle number mass rhill +4.18660697e+03 !particle radius in m +6.55440785e+06 5.85117198e+06 -4.93943511e+04 ! x y z +-1.49384332e+03 1.63681032e+03 -1.39258100e+00 ! vx vy vz +1468 4.49127828e+05 1.61155734e+04 ! particle number mass rhill +1.17118539e+04 !particle radius in m +9.90570829e+06 4.34179796e+06 -2.00530721e+04 ! x y z +-7.94337401e+02 1.80469509e+03 -3.79870453e-01 ! vx vy vz +1469 4.46485515e+05 1.75275373e+04 ! particle number mass rhill +7.93209892e+03 !particle radius in m +-8.25205087e+06 7.98686094e+06 -3.50332951e+04 ! x y z +-1.35816228e+03 -1.38349553e+03 1.34047111e+01 ! vx vy vz +1470 3.40516646e+05 1.47688794e+04 ! particle number mass rhill +7.24711433e+03 !particle radius in m +-9.96135005e+06 3.70457700e+06 -9.07193755e+04 ! x y z +-7.21948720e+02 -1.87787046e+03 -1.05717777e+00 ! vx vy vz +1471 7.95155921e+04 1.33847411e+04 ! particle number mass rhill +6.57637276e+03 !particle radius in m +-1.22268683e+07 1.01474610e+07 -8.42852150e+04 ! x y z +-1.02194217e+03 -1.27298189e+03 -7.67733923e+00 ! vx vy vz +1472 9.54539516e+04 9.68623016e+03 ! particle number mass rhill +6.98929911e+03 !particle radius in m +4.92746951e+06 9.58728854e+06 2.89432610e+04 ! x y z +-1.76304026e+03 9.13627287e+02 6.36664299e+00 ! vx vy vz +1473 1.51141099e+06 2.76245591e+04 ! particle number mass rhill +1.19100391e+04 !particle radius in m +1.23329034e+07 -6.92729902e+05 2.96405314e+04 ! x y z +1.12931575e+02 1.84303874e+03 -9.66021750e+00 ! vx vy vz +1474 2.27824759e+05 2.21950382e+04 ! particle number mass rhill +9.34048218e+03 !particle radius in m +1.63682186e+07 -7.64635682e+06 7.51258389e+04 ! x y z +6.57521797e+02 1.40505156e+03 -1.44981512e-01 ! vx vy vz +1475 2.82996551e+04 5.59807489e+03 ! particle number mass rhill +4.66046628e+03 !particle radius in m +-9.02931313e+06 1.40224619e+06 -7.68912993e+03 ! x y z +-3.55553612e+02 -2.15150134e+03 1.02691019e+01 ! vx vy vz +1476 1.08035073e+05 8.74419607e+03 ! particle number mass rhill +7.28378715e+03 !particle radius in m +-2.13040703e+06 9.05085932e+06 2.75232896e+04 ! x y z +-2.09375359e+03 -4.54923992e+02 -6.60791548e+00 ! vx vy vz +1477 6.82388851e+04 9.03381717e+03 ! particle number mass rhill +4.24094823e+03 !particle radius in m +2.12770208e+06 -1.09362652e+07 6.56462507e+04 ! x y z +1.92901319e+03 3.58659857e+02 1.88568450e+01 ! vx vy vz +1478 1.71725563e+06 3.27614334e+04 ! particle number mass rhill +1.24278875e+04 !particle radius in m +4.49722640e+06 1.29879609e+07 6.17022585e+04 ! x y z +-1.66361829e+03 6.02542134e+02 -3.15731575e-01 ! vx vy vz +1479 4.31736407e+05 1.33145899e+04 ! particle number mass rhill +1.15586882e+04 !particle radius in m +-2.46270150e+05 -8.94568869e+06 -6.37006664e+04 ! x y z +2.17872017e+03 -8.88856930e+01 -1.82962039e+01 ! vx vy vz +1480 4.69987554e+05 1.50577774e+04 ! particle number mass rhill +8.06890215e+03 !particle radius in m +-7.68511313e+06 -6.12228878e+06 -9.32586560e+03 ! x y z +1.29882576e+03 -1.62777018e+03 -1.19293575e+01 ! vx vy vz +1481 1.17648820e+05 8.85436283e+03 ! particle number mass rhill +7.49373241e+03 !particle radius in m +-8.92478393e+06 1.31107857e+06 -7.25655485e+04 ! x y z +-2.98094429e+02 -2.17047563e+03 -1.53783344e+01 ! vx vy vz +1482 1.06595743e+05 1.08697806e+04 ! particle number mass rhill +7.25129561e+03 !particle radius in m +-6.57681719e+06 -9.45888345e+06 -3.72144545e+04 ! x y z +1.58522928e+03 -1.10501157e+03 1.05113370e-01 ! vx vy vz +1483 2.40181521e+05 2.05658561e+04 ! particle number mass rhill +9.50638765e+03 !particle radius in m +1.34071651e+07 1.03792566e+07 -4.53441732e+04 ! x y z +-9.71553194e+02 1.24234337e+03 9.20294843e+00 ! vx vy vz +1484 2.30979462e+05 1.61646706e+04 ! particle number mass rhill +6.36761483e+03 !particle radius in m +-3.51077302e+06 -1.26567098e+07 2.57715830e+04 ! x y z +1.74422450e+03 -5.08580589e+02 2.03158207e-01 ! vx vy vz +1485 1.30379505e+05 1.26014074e+04 ! particle number mass rhill +5.26245957e+03 !particle radius in m +2.88059988e+06 -1.21489772e+07 1.66531109e+03 ! x y z +1.80288747e+03 4.42317052e+02 -1.19583569e+01 ! vx vy vz +1486 5.14863696e+05 1.57196952e+04 ! particle number mass rhill +8.31795219e+03 !particle radius in m +-5.79801378e+06 7.81844110e+06 7.21651425e+04 ! x y z +-1.66669076e+03 -1.30229321e+03 -2.20360225e+00 ! vx vy vz +1487 1.26463086e+06 1.90076383e+04 ! particle number mass rhill +1.12229473e+04 !particle radius in m +1.79079043e+06 8.72935614e+06 7.66173175e+03 ! x y z +-2.14494592e+03 4.29349753e+02 -3.05321261e+00 ! vx vy vz +1488 1.10279394e+06 2.94811703e+04 ! particle number mass rhill +1.07221971e+04 !particle radius in m +-1.31449667e+07 5.65642590e+06 -1.35348879e+04 ! x y z +-6.99474388e+02 -1.58839301e+03 5.07187025e+00 ! vx vy vz +1489 9.64986931e+05 2.60335138e+04 ! particle number mass rhill +1.02555622e+04 !particle radius in m +-1.28107010e+07 3.64301270e+06 -4.79094708e+04 ! x y z +-4.96849501e+02 -1.72146269e+03 1.99970261e+01 ! vx vy vz +1490 3.85017463e+05 1.31518104e+04 ! particle number mass rhill +7.54998008e+03 !particle radius in m +-8.81052520e+06 1.96363775e+06 -7.03542162e+04 ! x y z +-4.55600237e+02 -2.14195252e+03 -1.54510587e+01 ! vx vy vz +1491 7.12464696e+04 7.27507090e+03 ! particle number mass rhill +4.30236032e+03 !particle radius in m +6.76054921e+06 5.69153857e+06 -8.32813680e+04 ! x y z +-1.43863210e+03 1.66962801e+03 -3.05680786e+00 ! vx vy vz +1492 2.30337841e+05 1.99962209e+04 ! particle number mass rhill +9.37470089e+03 !particle radius in m +-1.58533753e+07 -4.64141565e+06 -1.37616342e+05 ! x y z +4.71661565e+02 -1.53679456e+03 4.54920894e+00 ! vx vy vz +1493 1.54078080e+05 1.40811002e+04 ! particle number mass rhill +5.56372876e+03 !particle radius in m +-5.05912024e+06 1.20461614e+07 -1.00213774e+05 ! x y z +-1.67920042e+03 -7.11202226e+02 4.13175962e+00 ! vx vy vz +1494 8.27228641e+04 9.01203219e+03 ! particle number mass rhill +6.66362952e+03 !particle radius in m +8.41034459e+05 -1.03591089e+07 -4.26263251e+04 ! x y z +2.02679172e+03 1.77245292e+02 -7.59374588e+00 ! vx vy vz +1495 6.59711957e+04 7.21319042e+03 ! particle number mass rhill +4.19344015e+03 !particle radius in m +-8.72674150e+06 -1.84604826e+06 -9.49439666e+03 ! x y z +5.06255038e+02 -2.14329601e+03 8.35004981e+00 ! vx vy vz +1496 4.76016816e+05 1.56977540e+04 ! particle number mass rhill +1.19410657e+04 !particle radius in m +8.32975138e+06 5.59994962e+06 1.36490477e+04 ! x y z +-1.14500563e+03 1.73284125e+03 2.21368330e+00 ! vx vy vz +1497 8.74132422e+05 1.84842648e+04 ! particle number mass rhill +9.92303995e+03 !particle radius in m +5.20187427e+06 8.26928364e+06 7.79156795e+04 ! x y z +-1.78869520e+03 1.08594628e+03 -2.89543422e+00 ! vx vy vz +1498 1.05100593e+06 1.88653392e+04 ! particle number mass rhill +1.05516583e+04 !particle radius in m +-3.97296892e+06 -8.38171851e+06 1.59358464e+04 ! x y z +1.95617296e+03 -9.13960827e+02 -3.62965884e-01 ! vx vy vz +1499 4.64374943e+05 2.44967912e+04 ! particle number mass rhill +8.03665372e+03 !particle radius in m +8.20764080e+05 -1.58893023e+07 7.87114038e+04 ! x y z +1.64101205e+03 9.20364252e+01 9.68548448e+00 ! vx vy vz +1500 7.98550448e+05 3.23468692e+04 ! particle number mass rhill +9.62837764e+03 !particle radius in m +-9.69224879e+06 1.49532038e+07 7.33593405e+04 ! x y z +-1.29931651e+03 -8.27698792e+02 -3.16602237e+00 ! vx vy vz +1501 7.54058320e+04 8.18405513e+03 ! particle number mass rhill +4.38450573e+03 !particle radius in m +-5.62663613e+06 7.91766436e+06 2.60207243e+04 ! x y z +-1.74178290e+03 -1.18522553e+03 2.27430689e+00 ! vx vy vz diff --git a/examples/symba_swifter_comparison/mars_disk/pl.swiftest.in b/examples/symba_swifter_comparison/mars_disk/pl.swiftest.in new file mode 100644 index 000000000..72a58d839 --- /dev/null +++ b/examples/symba_swifter_comparison/mars_disk/pl.swiftest.in @@ -0,0 +1,9001 @@ +1500 ! Mars System in SI units +727 1.71022032e+06 2.13948145e+04 ! particle number mass rhill +1.24108926e+04 !particle radius in m +-8.12608230e+06 -4.37306608e+06 -9.62736144e+03 ! x y z +9.87984575e+02 -1.88769371e+03 1.06882012e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +231 6.25152932e+05 1.58916481e+04 ! particle number mass rhill +8.87389776e+03 !particle radius in m +-8.21586374e+06 -4.28792953e+06 2.41010139e+04 ! x y z +1.01581225e+03 -1.90933511e+03 -2.60449634e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +2 9.90685589e+04 8.35558297e+03 ! particle number mass rhill +7.07643092e+03 !particle radius in m +-2.35807426e+06 8.60445552e+06 1.25224401e+04 ! x y z +-2.13373621e+03 -5.91159549e+02 -1.46482980e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +3 3.17438752e+04 6.69500494e+03 ! particle number mass rhill +4.84234399e+03 !particle radius in m +-8.01160007e+06 -6.93642997e+06 1.51456130e+04 ! x y z +1.31205897e+03 -1.53256580e+03 -1.41252951e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +4 3.98556011e+05 1.56022902e+04 ! particle number mass rhill +1.12546530e+04 !particle radius in m +8.10802666e+05 1.07743901e+07 2.02908991e+04 ! x y z +-1.97583939e+03 1.47020293e+02 2.81847341e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +5 1.44988335e+05 1.52187807e+04 ! particle number mass rhill +5.45209420e+03 !particle radius in m +1.19634122e+07 -8.10716246e+06 -5.95532256e+04 ! x y z +9.82512278e+02 1.42576317e+03 8.88854207e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +6 3.78500932e+05 1.43710361e+04 ! particle number mass rhill +7.50714229e+03 !particle radius in m +-9.39611249e+06 3.86341011e+06 4.12677461e+04 ! x y z +-8.05714130e+02 -1.87378063e+03 1.44571432e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +7 4.22792487e+05 1.91833939e+04 ! particle number mass rhill +7.78923399e+03 !particle radius in m +-4.75251420e+06 -1.21243281e+07 -4.63584868e+04 ! x y z +1.67483168e+03 -6.72935315e+02 -2.51894419e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +8 7.71745838e+05 2.46689817e+04 ! particle number mass rhill +9.51941869e+03 !particle radius in m +-1.85450966e+06 -1.34716389e+07 8.25492639e+04 ! x y z +1.75187299e+03 -2.73602528e+02 -3.13786565e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +9 9.61893115e+05 2.40394481e+04 ! particle number mass rhill +1.02445905e+04 !particle radius in m +1.23514674e+07 2.68920661e+05 1.39262437e+04 ! x y z +-5.46299990e+01 1.85637492e+03 8.88156878e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +10 9.05777402e+05 1.85084324e+04 ! particle number mass rhill +1.00413666e+04 !particle radius in m +-3.23931710e+06 -9.01689172e+06 -4.12799209e+04 ! x y z +2.01018172e+03 -6.80970287e+02 7.47887585e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +11 7.45490873e+05 1.85936744e+04 ! particle number mass rhill +9.41021993e+03 !particle radius in m +-8.22383274e+06 6.53912283e+06 -4.14927827e+04 ! x y z +-1.24361728e+03 -1.57101590e+03 1.15408315e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +12 1.62561944e+05 1.74719338e+04 ! particle number mass rhill +5.66402670e+03 !particle radius in m +1.08162501e+06 1.60434368e+07 -1.90513596e+05 ! x y z +-1.63320995e+03 9.41371249e+01 -1.08583324e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +13 2.53914705e+05 1.18629878e+04 ! particle number mass rhill +9.68422654e+03 !particle radius in m +8.87638562e+06 -3.42494393e+06 3.77051239e+04 ! x y z +7.17031490e+02 1.98991002e+03 1.65715407e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +14 4.49497062e+05 1.80709533e+04 ! particle number mass rhill +1.17150625e+04 !particle radius in m +8.43240423e+06 -8.47557599e+06 9.53685695e+04 ! x y z +1.37244856e+03 1.29766742e+03 6.52389482e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +15 1.26801801e+06 2.59747860e+04 ! particle number mass rhill +1.12329581e+04 !particle radius in m +9.22664947e+06 8.30989011e+06 -5.74831096e+04 ! x y z +-1.25111883e+03 1.34059241e+03 8.55955292e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +16 9.75352347e+05 2.91597894e+04 ! particle number mass rhill +1.02921516e+04 !particle radius in m +-4.08982641e+06 1.42813091e+07 2.62466604e+04 ! x y z +-1.63050329e+03 -4.70983328e+02 5.42658810e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +17 5.40910752e+04 7.00056187e+03 ! particle number mass rhill +3.92489041e+03 !particle radius in m +8.28836769e+06 -4.56966319e+06 -1.00925184e+04 ! x y z +1.01075458e+03 1.85603564e+03 9.12767608e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +18 1.99689612e+06 3.23933078e+04 ! particle number mass rhill +1.30688534e+04 !particle radius in m +-7.36104027e+06 -1.05891946e+07 7.75267384e+04 ! x y z +1.50650168e+03 -1.03626339e+03 6.92830281e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +19 1.15056094e+06 2.84099265e+04 ! particle number mass rhill +1.08748232e+04 !particle radius in m +-1.16432549e+07 7.04896042e+06 1.31826777e+04 ! x y z +-9.22639859e+02 -1.52066967e+03 -1.15982407e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +20 9.02282771e+04 1.44052969e+04 ! particle number mass rhill +4.65478777e+03 !particle radius in m +1.54278872e+07 -4.66477914e+06 2.89150511e+04 ! x y z +4.74802657e+02 1.56436208e+03 1.16558658e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +21 2.52706341e+05 1.13089015e+04 ! particle number mass rhill +6.56131734e+03 !particle radius in m +8.25405514e+06 -3.99894087e+06 -1.03017471e+05 ! x y z +9.55530709e+02 1.91876743e+03 -2.12478228e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +22 3.44014800e+05 1.39895248e+04 ! particle number mass rhill +7.27184654e+03 !particle radius in m +-1.01048660e+07 -7.25267430e+05 3.72763878e+04 ! x y z +1.50338830e+02 -2.04513843e+03 -6.64737882e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +23 2.72301402e+04 6.52734935e+03 ! particle number mass rhill +4.60100051e+03 !particle radius in m +1.08085981e+07 8.91343848e+05 -8.59837690e+04 ! x y z +-1.73598988e+02 1.98921090e+03 7.39675166e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +24 1.88387060e+06 4.79739567e+04 ! particle number mass rhill +1.28174811e+04 !particle radius in m +-1.95760874e+07 2.13874411e+06 9.87141675e+04 ! x y z +-1.78019032e+02 -1.46067517e+03 7.47552271e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +25 1.99552106e+06 3.51994254e+04 ! particle number mass rhill +1.30658530e+04 !particle radius in m +-5.15587895e+06 1.31093030e+07 2.34999443e+04 ! x y z +-1.60915655e+03 -6.75665775e+02 -1.41401807e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +26 9.80460627e+05 2.82973543e+04 ! particle number mass rhill +1.03100883e+04 !particle radius in m +-1.04206598e+07 1.04694469e+07 3.71773715e+04 ! x y z +-1.22193412e+03 -1.15184993e+03 -7.42970615e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +27 2.99657072e+05 1.52153060e+04 ! particle number mass rhill +1.02339628e+04 !particle radius in m +-8.37104048e+06 -7.31013791e+06 1.37822827e+05 ! x y z +1.31083458e+03 -1.50225202e+03 1.24188931e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +28 5.82137831e+05 2.49711445e+04 ! particle number mass rhill +8.66551286e+03 !particle radius in m +-1.37026179e+07 6.52187486e+06 4.74483726e+04 ! x y z +-7.21171063e+02 -1.51233609e+03 4.06777653e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +29 1.10612525e+06 1.96262714e+04 ! particle number mass rhill +1.07329828e+04 !particle radius in m +7.27063487e+05 9.63835599e+06 7.97365647e+04 ! x y z +-2.09031891e+03 1.45245810e+02 -8.30488647e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +30 7.84395275e+05 1.87003585e+04 ! particle number mass rhill +9.57114700e+03 !particle radius in m +7.25596696e+06 -7.23053656e+06 1.87472853e+03 ! x y z +1.43916819e+03 1.45132061e+03 9.58485615e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +31 6.50793385e+04 1.12167591e+04 ! particle number mass rhill +6.15153311e+03 !particle radius in m +-7.29036745e+06 1.20321492e+07 2.47342157e+04 ! x y z +-1.50263763e+03 -8.87670849e+02 -4.72544240e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +32 1.21978955e+06 2.36695934e+04 ! particle number mass rhill +1.10887000e+04 !particle radius in m +-4.85214384e+06 9.94913086e+06 -1.36593449e+05 ! x y z +-1.77462439e+03 -8.70796881e+02 -4.04772339e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +33 6.39027490e+04 8.29271375e+03 ! particle number mass rhill +6.11423561e+03 !particle radius in m +-8.57362843e+06 -5.69257679e+06 -1.86992418e+04 ! x y z +1.16808481e+03 -1.69357760e+03 1.48289207e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +34 1.08790745e+05 9.99433624e+03 ! particle number mass rhill +4.95430775e+03 !particle radius in m +-1.19543227e+04 1.04662309e+07 -2.75529146e+04 ! x y z +-2.03252516e+03 -1.02408335e+01 -9.64298816e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +35 8.08651729e+05 1.70555918e+04 ! particle number mass rhill +9.66880578e+03 !particle radius in m +-1.68361528e+06 9.15840339e+06 -9.34661786e+04 ! x y z +-2.10432868e+03 -3.67110160e+02 2.17992849e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +36 5.50682707e+05 1.64680955e+04 ! particle number mass rhill +8.50653728e+03 !particle radius in m +7.61819019e+06 6.79194080e+06 -4.97100639e+04 ! x y z +-1.37259731e+03 1.51157244e+03 2.28319862e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +37 1.31696234e+06 2.34161781e+04 ! particle number mass rhill +1.13756647e+04 !particle radius in m +-8.27002578e+05 -1.07584936e+07 -8.18905340e+04 ! x y z +1.98624835e+03 -1.45613526e+02 -2.22634090e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +38 1.67567536e+06 4.67762262e+04 ! particle number mass rhill +1.23267605e+04 !particle radius in m +8.40661307e+06 -1.79965632e+07 -1.83341147e+05 ! x y z +1.32267980e+03 6.38873327e+02 -4.32228630e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +39 7.50288390e+05 1.88489715e+04 ! particle number mass rhill +9.43036290e+03 !particle radius in m +7.47325276e+06 7.65731082e+06 2.72651622e+04 ! x y z +-1.39038210e+03 1.40779235e+03 -7.40097961e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +40 4.23539126e+05 1.37958364e+04 ! particle number mass rhill +7.79381648e+03 !particle radius in m +-9.14822275e+06 5.65579867e+05 1.54779239e+04 ! x y z +-1.53215921e+02 -2.16863876e+03 -1.41098203e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +41 4.39861439e+05 1.66151277e+04 ! particle number mass rhill +1.16307473e+04 !particle radius in m +-5.60611609e+06 9.45764489e+06 -1.08254759e+05 ! x y z +-1.70147881e+03 -1.00583116e+03 -1.54758662e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +42 9.44211643e+05 3.38129666e+04 ! particle number mass rhill +1.01814300e+04 !particle radius in m +-1.66612775e+07 5.22172921e+06 -2.86187005e+04 ! x y z +-4.30163112e+02 -1.50298858e+03 1.29664314e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +43 5.37130817e+05 1.63663901e+04 ! particle number mass rhill +1.24316568e+04 !particle radius in m +3.27505920e+06 -9.55860249e+06 -5.64452508e+04 ! x y z +1.95132421e+03 6.74732817e+02 -1.39202732e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +44 5.34406540e+04 6.72719292e+03 ! particle number mass rhill +3.90909524e+03 !particle radius in m +1.52951536e+06 -8.90157648e+06 -8.46439916e+04 ! x y z +2.14907459e+03 3.37495875e+02 -8.51148141e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +45 2.61985808e+04 5.30869821e+03 ! particle number mass rhill +4.54215111e+03 !particle radius in m +8.06820634e+06 -4.23727397e+06 -3.35114261e+04 ! x y z +1.02022988e+03 1.90034431e+03 -4.99905529e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +46 1.73774454e+05 1.01624840e+04 ! particle number mass rhill +8.53422917e+03 !particle radius in m +-8.77755612e+06 2.67256349e+06 2.67913370e+04 ! x y z +-6.14674972e+02 -2.07327300e+03 8.52604410e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +47 3.73597392e+05 1.46814986e+04 ! particle number mass rhill +1.10146390e+04 !particle radius in m +2.70600522e+06 -9.90290693e+06 3.76996678e+04 ! x y z +1.96230063e+03 5.74973963e+02 -1.26240524e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +48 8.11545355e+04 7.79257078e+03 ! particle number mass rhill +6.62124902e+03 !particle radius in m +-6.67312956e+06 6.21207172e+06 -4.02351915e+03 ! x y z +-1.48608180e+03 -1.57249051e+03 1.60424143e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +49 4.45404571e+04 7.26261410e+03 ! particle number mass rhill +5.42109743e+03 !particle radius in m +-6.18076768e+06 8.34028857e+06 6.32429656e+04 ! x y z +-1.63237248e+03 -1.20222734e+03 4.88968977e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +50 1.31861988e+06 3.91995883e+04 ! particle number mass rhill +1.13804352e+04 !particle radius in m +5.85188296e+06 1.72848338e+07 9.71123353e+04 ! x y z +-1.44962394e+03 4.67717479e+02 -1.00039018e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +51 1.12893377e+05 1.01290663e+04 ! particle number mass rhill +5.01581856e+03 !particle radius in m +7.64956565e+06 7.07155375e+06 1.22619349e+05 ! x y z +-1.38177043e+03 1.50469594e+03 5.48084097e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +52 1.68334006e+04 5.06310814e+03 ! particle number mass rhill +3.91946036e+03 !particle radius in m +8.19731246e+06 5.46984950e+06 3.09134904e+04 ! x y z +-1.14400536e+03 1.75729614e+03 -1.68472307e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +53 1.54365101e+05 1.04942587e+04 ! particle number mass rhill +5.56718137e+03 !particle radius in m +-7.08694323e+06 6.97654393e+06 1.57444613e+04 ! x y z +-1.43699629e+03 -1.48696944e+03 1.09569025e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +54 9.06762984e+05 1.88988951e+04 ! particle number mass rhill +1.00450073e+04 !particle radius in m +8.33364079e+06 -4.88517773e+06 7.16288059e+04 ! x y z +1.11170923e+03 1.81264092e+03 6.00546346e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +55 2.55655491e+05 1.62270080e+04 ! particle number mass rhill +6.58674280e+03 !particle radius in m +-9.33769960e+06 9.14931622e+06 -1.61970964e+04 ! x y z +-1.24590275e+03 -1.29664452e+03 6.60457748e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +56 1.99590731e+05 1.09981608e+04 ! particle number mass rhill +8.93749433e+03 !particle radius in m +-9.38351744e+06 2.21172448e+06 -6.82548828e+04 ! x y z +-4.82800182e+02 -2.03545597e+03 -5.73581498e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +57 7.37782104e+04 7.34813900e+03 ! particle number mass rhill +4.35272973e+03 !particle radius in m +1.87895940e+06 -8.56248718e+06 -3.00496615e+04 ! x y z +2.17444079e+03 4.47176832e+02 -1.19261276e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +58 1.25041873e+06 2.28348345e+04 ! particle number mass rhill +1.11807470e+04 !particle radius in m +8.32914883e+06 6.99509139e+06 3.96475596e+03 ! x y z +-1.25015649e+03 1.51958279e+03 -4.03731794e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +59 1.37171779e+05 1.41766211e+04 ! particle number mass rhill +5.35230171e+03 !particle radius in m +1.40169380e+07 1.14833336e+06 8.97154952e+04 ! x y z +-1.67134532e+02 1.72504621e+03 -4.99628204e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +60 8.80288489e+05 1.70052916e+04 ! particle number mass rhill +9.94627977e+03 !particle radius in m +6.25929466e+06 6.41436879e+06 2.03611835e+04 ! x y z +-1.56963361e+03 1.52043093e+03 1.04032604e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +61 1.96125392e+06 2.29947859e+04 ! particle number mass rhill +1.29906317e+04 !particle radius in m +6.59380692e+06 6.26136699e+06 5.26920752e+02 ! x y z +-1.52860150e+03 1.56995044e+03 -5.04992194e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +62 1.49347785e+05 9.80816768e+03 ! particle number mass rhill +5.50619929e+03 !particle radius in m +-3.18458810e+06 8.95887994e+06 6.14079574e+04 ! x y z +-1.98254651e+03 -6.98894893e+02 -6.28253660e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +63 8.45892929e+05 1.77429946e+04 ! particle number mass rhill +9.81501110e+03 !particle radius in m +3.21556801e+06 8.85736420e+06 1.68758030e+04 ! x y z +-2.01862696e+03 7.01940495e+02 -7.77962553e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +64 3.38627248e+05 2.06919676e+04 ! particle number mass rhill +7.23368562e+03 !particle radius in m +6.87944610e+06 1.31239767e+07 8.47895296e+04 ! x y z +-1.52033935e+03 7.81668854e+02 8.53929151e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +65 7.52641233e+04 8.62006715e+03 ! particle number mass rhill +4.38175744e+03 !particle radius in m +-7.12317437e+06 7.79679451e+06 1.14295538e+05 ! x y z +-1.45772671e+03 -1.35257658e+03 -8.92909999e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +66 7.51283556e+04 7.45534608e+03 ! particle number mass rhill +6.45312806e+03 !particle radius in m +-7.50346488e+06 4.59614758e+06 -1.78561776e+04 ! x y z +-1.17484683e+03 -1.88471092e+03 2.06051741e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +67 3.58863940e+04 7.06699862e+03 ! particle number mass rhill +5.04443190e+03 !particle radius in m +-9.72849273e+06 -4.49090647e+06 9.42367849e+04 ! x y z +8.55743475e+02 -1.81695360e+03 -2.08602456e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +68 5.39050973e+05 1.89939454e+04 ! particle number mass rhill +1.24464529e+04 !particle radius in m +-9.38461254e+06 6.94991468e+06 -5.96507119e+04 ! x y z +-1.15295098e+03 -1.53950357e+03 3.51558529e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +69 5.55731862e+05 1.63025647e+04 ! particle number mass rhill +1.25735358e+04 !particle radius in m +-7.41691843e+05 -1.00833740e+07 -5.60539800e+04 ! x y z +2.04132497e+03 -1.60740204e+02 -2.66722707e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +70 1.85893859e+05 1.93787863e+04 ! particle number mass rhill +8.72818623e+03 !particle radius in m +-1.55585013e+07 -7.11561291e+06 3.93194543e+03 ! x y z +6.65437196e+02 -1.43702009e+03 -7.23293961e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +71 4.73221481e+05 1.37788592e+04 ! particle number mass rhill +8.08736691e+03 !particle radius in m +-3.34597213e+06 -8.19414991e+06 6.06177774e+04 ! x y z +2.03861032e+03 -8.50240184e+02 5.81078899e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +72 4.28389242e+05 1.47467226e+04 ! particle number mass rhill +1.15287399e+04 !particle radius in m +1.97016279e+06 -9.71556312e+06 -9.30987397e+03 ! x y z +2.03815672e+03 3.86141142e+02 -6.70148607e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +73 8.19004993e+05 3.14203696e+04 ! particle number mass rhill +9.70989454e+03 !particle radius in m +-1.23610305e+07 -1.14674155e+07 1.26044785e+04 ! x y z +1.08318223e+03 -1.17487397e+03 -3.70767753e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +74 3.22247799e+04 9.40603276e+03 ! particle number mass rhill +4.86667460e+03 !particle radius in m +6.60995348e+06 1.33054967e+07 -1.05591305e+03 ! x y z +-1.53012251e+03 7.44076876e+02 -1.33826451e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +75 9.47076576e+05 1.85861891e+04 ! particle number mass rhill +1.01917171e+04 !particle radius in m +7.08025559e+06 6.63712140e+06 8.28590703e+04 ! x y z +-1.43411418e+03 1.51197736e+03 -1.05467488e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +76 2.03239039e+05 1.20174065e+04 ! particle number mass rhill +8.99162185e+03 !particle radius in m +-7.28273678e+06 -7.57343022e+06 -3.32239292e+04 ! x y z +1.43763945e+03 -1.39069870e+03 1.98407302e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +77 9.88331069e+05 1.79814862e+04 ! particle number mass rhill +1.03376021e+04 !particle radius in m +9.90338765e+05 -9.02823668e+06 -1.20306983e+04 ! x y z +2.16293198e+03 2.29403632e+02 1.02563280e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +78 1.34673785e+06 2.07165732e+04 ! particle number mass rhill +1.14607582e+04 !particle radius in m +7.24980777e+06 6.13973485e+06 4.31080507e+04 ! x y z +-1.36304394e+03 1.62331327e+03 -1.35525280e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +79 1.57656876e+05 1.82922097e+04 ! particle number mass rhill +5.60647602e+03 !particle radius in m +1.67269227e+07 2.38546079e+06 3.97527319e+04 ! x y z +-2.22376967e+02 1.58567381e+03 -8.67277559e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +80 1.28010472e+05 1.07789892e+04 ! particle number mass rhill +5.23039108e+03 !particle radius in m +1.04063991e+07 -2.47414364e+06 2.55875518e+04 ! x y z +4.41751921e+02 1.96103152e+03 -4.73452379e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +81 8.50795985e+05 2.19859152e+04 ! particle number mass rhill +9.83393818e+03 !particle radius in m +6.53964743e+06 -9.91913737e+06 9.96407478e+04 ! x y z +1.55366935e+03 1.06687009e+03 -2.02851694e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +82 8.53308237e+04 7.87999685e+03 ! particle number mass rhill +6.73293314e+03 !particle radius in m +7.88901212e+06 4.39968813e+06 4.59555939e+04 ! x y z +-1.07086350e+03 1.89616918e+03 7.27266270e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +83 1.65011172e+06 2.23190317e+04 ! particle number mass rhill +1.22637545e+04 !particle radius in m +-3.20114591e+05 9.47888835e+06 9.88766449e+03 ! x y z +-2.12931637e+03 -7.10990071e+01 1.07017003e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +84 9.21412796e+04 1.13373705e+04 ! particle number mass rhill +6.90749219e+03 !particle radius in m +9.14219160e+06 8.75278019e+06 -4.92172540e+04 ! x y z +-1.29548970e+03 1.30726587e+03 -1.50278883e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +85 5.44801725e+05 2.52683195e+04 ! particle number mass rhill +8.47614716e+03 !particle radius in m +-1.38612397e+07 6.86502447e+06 -1.61982632e+04 ! x y z +-7.48338598e+02 -1.49504839e+03 1.44565317e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +86 1.69208498e+05 1.34853045e+04 ! particle number mass rhill +5.74019158e+03 !particle radius in m +1.25478256e+07 -2.77052958e+05 1.12717341e+03 ! x y z +4.85806635e+01 1.82811230e+03 -1.79057921e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +87 4.14083301e+04 7.99285727e+03 ! particle number mass rhill +5.29092447e+03 !particle radius in m +1.40993545e+06 1.16245820e+07 -3.61782966e+04 ! x y z +-1.89457813e+03 2.30174579e+02 1.28253693e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +88 2.73242366e+05 1.69259201e+04 ! particle number mass rhill +9.92395993e+03 !particle radius in m +1.00651315e+07 -8.63755855e+06 -2.94583233e+04 ! x y z +1.16408014e+03 1.36020820e+03 -5.13543123e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +89 1.56636842e+06 2.89028940e+04 ! particle number mass rhill +1.20526803e+04 !particle radius in m +2.98890445e+06 1.22541433e+07 2.56056735e+04 ! x y z +-1.78538758e+03 4.40494099e+02 -2.21749367e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +90 7.41360614e+04 8.74086990e+03 ! particle number mass rhill +4.35975582e+03 !particle radius in m +5.19540663e+06 -9.11850659e+06 6.55061213e+04 ! x y z +1.75856318e+03 9.95618038e+02 1.03697665e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +91 1.42161293e+05 1.27069754e+04 ! particle number mass rhill +5.41642563e+03 !particle radius in m +4.97139511e+06 -1.11941305e+07 -1.40627719e+05 ! x y z +1.71256583e+03 7.58315920e+02 -4.27199322e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +92 9.13995149e+04 1.13361519e+04 ! particle number mass rhill +6.88890644e+03 !particle radius in m +1.25156536e+07 -1.83009831e+06 -1.83401376e+04 ! x y z +2.71538728e+02 1.82389745e+03 -1.16128548e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +93 1.07044868e+05 1.17021442e+04 ! particle number mass rhill +4.92766241e+03 !particle radius in m +-4.24848440e+06 -1.14141124e+07 -3.56440379e+04 ! x y z +1.77145707e+03 -6.72445172e+02 -1.27477365e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +94 3.76989280e+04 5.87655474e+03 ! particle number mass rhill +5.12796820e+03 !particle radius in m +-2.67257221e+06 8.24864699e+06 -3.60351703e+04 ! x y z +-2.13740103e+03 -6.84795253e+02 -6.19432137e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +95 5.61798767e+04 1.27352327e+04 ! particle number mass rhill +3.97477538e+03 !particle radius in m +3.38794467e+06 -1.65102444e+07 1.31352407e+05 ! x y z +1.55800648e+03 3.20903339e+02 1.95779030e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +96 1.57775071e+05 1.10562884e+04 ! particle number mass rhill +5.60787672e+03 !particle radius in m +3.25966423e+06 9.75900867e+06 3.76712868e+04 ! x y z +-1.92824453e+03 6.78004645e+02 2.13894611e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +97 1.13795601e+05 8.57940062e+03 ! particle number mass rhill +5.02914497e+03 !particle radius in m +-8.82496169e+06 1.17570086e+06 -2.77994253e+03 ! x y z +-3.06986654e+02 -2.17589269e+03 -3.00417185e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +98 1.79190724e+06 2.82629939e+04 ! particle number mass rhill +1.26054254e+04 !particle radius in m +-8.96181392e+06 -8.08537511e+06 -9.49567974e+03 ! x y z +1.24755669e+03 -1.37614946e+03 4.00147116e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +99 5.03967422e+04 7.85179385e+03 ! particle number mass rhill +3.83342071e+03 !particle radius in m +1.05138352e+07 -2.53028835e+06 -2.47118873e+04 ! x y z +4.70010064e+02 1.92569661e+03 -1.14250111e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +100 1.70139143e+06 2.25402503e+04 ! particle number mass rhill +1.23894990e+04 !particle radius in m +-8.86717935e+06 -3.01884801e+06 5.43577921e+03 ! x y z +6.99055272e+02 -2.04010264e+03 8.96596820e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +101 1.45480563e+05 1.54210016e+04 ! particle number mass rhill +8.04335643e+03 !particle radius in m +1.42373839e+07 3.02611132e+06 -1.43164181e+04 ! x y z +-4.03733107e+02 1.68169148e+03 7.10932541e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +102 6.69285233e+05 1.80640179e+04 ! particle number mass rhill +9.07798396e+03 !particle radius in m +-6.09504895e+06 8.50655715e+06 -5.34991934e+04 ! x y z +-1.62687481e+03 -1.19574157e+03 5.21976127e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +103 5.54045810e+04 7.41916597e+03 ! particle number mass rhill +3.95640633e+03 !particle radius in m +3.72306724e+06 9.02743458e+06 4.19786502e+04 ! x y z +-1.94834474e+03 7.84745897e+02 -7.86691937e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +104 3.37361939e+05 1.43866451e+04 ! particle number mass rhill +1.06463568e+04 !particle radius in m +5.64202715e+06 -8.82003156e+06 9.37432782e+03 ! x y z +1.69914027e+03 1.09005087e+03 8.81006839e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +105 5.14662528e+04 8.81661114e+03 ! particle number mass rhill +5.68865819e+03 !particle radius in m +-1.08304546e+07 -5.16566260e+06 -4.58380354e+04 ! x y z +8.08725156e+02 -1.70426515e+03 -1.40809084e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +106 3.39041970e+05 1.37464490e+04 ! particle number mass rhill +1.06640002e+04 !particle radius in m +9.97312286e+06 -1.70160094e+06 4.10359397e+04 ! x y z +3.34859938e+02 2.01251950e+03 -1.05202781e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +107 1.35309181e+05 1.06647393e+04 ! particle number mass rhill +7.85135736e+03 !particle radius in m +7.03958663e+06 7.71716479e+06 -8.94733922e+03 ! x y z +-1.49839830e+03 1.36772144e+03 -1.09915777e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +108 1.53942820e+04 6.17971607e+03 ! particle number mass rhill +3.80442303e+03 !particle radius in m +1.15617458e+07 -4.37264141e+06 4.98550747e+04 ! x y z +6.45606485e+02 1.75989881e+03 1.00504151e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +109 1.20359498e+05 1.03531982e+04 ! particle number mass rhill +7.55084889e+03 !particle radius in m +6.33009492e+06 8.26456632e+06 4.39267321e+04 ! x y z +-1.63555236e+03 1.22749817e+03 -2.79591207e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +110 4.02306238e+04 1.19594172e+04 ! particle number mass rhill +5.24028103e+03 !particle radius in m +-1.23116789e+06 -1.76328069e+07 4.15688915e+04 ! x y z +1.54978172e+03 -1.14789962e+02 3.52623567e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +111 1.16809933e+06 1.85947433e+04 ! particle number mass rhill +1.09298010e+04 !particle radius in m +5.03800785e+06 7.38464714e+06 6.56936601e+04 ! x y z +-1.79789878e+03 1.24241563e+03 -1.87814487e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +112 2.13493317e+04 6.39192868e+03 ! particle number mass rhill +4.24258369e+03 !particle radius in m +-1.16819556e+07 2.21702225e+06 -1.76770966e+03 ! x y z +-3.36108070e+02 -1.84613620e+03 1.27905806e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +113 3.22629364e+05 1.43521784e+04 ! particle number mass rhill +1.04890693e+04 !particle radius in m +1.00037167e+07 3.61161669e+06 -5.98746596e+04 ! x y z +-7.04121449e+02 1.87165808e+03 1.87226479e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +114 8.52184752e+04 7.73707972e+03 ! particle number mass rhill +6.72997694e+03 !particle radius in m +-8.02245740e+06 -4.15017483e+06 1.94427373e+04 ! x y z +9.95701473e+02 -1.91465293e+03 9.55414968e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +115 7.51189622e+04 7.51337067e+03 ! particle number mass rhill +4.37893861e+03 !particle radius in m +-4.99256633e+06 7.35143538e+06 -6.25201967e+04 ! x y z +-1.82686822e+03 -1.23953720e+03 -3.37208923e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +116 8.34114020e+05 1.81150613e+04 ! particle number mass rhill +9.76924055e+03 !particle radius in m +-2.12824530e+06 9.48297181e+06 4.56720468e+03 ! x y z +-2.04325211e+03 -4.78944866e+02 1.39609484e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +117 1.95998225e+04 8.19893214e+03 ! particle number mass rhill +4.12337692e+03 !particle radius in m +-1.42745447e+07 -5.79867689e+06 -1.70313904e+04 ! x y z +6.32626042e+02 -1.53908540e+03 1.67461109e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +118 6.08576822e+05 1.79320915e+04 ! particle number mass rhill +8.79476284e+03 !particle radius in m +3.38987773e+06 1.01890371e+07 3.97150856e+04 ! x y z +-1.89204657e+03 6.21657437e+02 -2.83215087e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +119 1.01047065e+05 1.52544192e+04 ! particle number mass rhill +4.83385440e+03 !particle radius in m +1.36440026e+07 -9.23862046e+06 -5.31108803e+04 ! x y z +9.02323684e+02 1.33920162e+03 1.66233464e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +120 4.81434848e+05 2.46431320e+04 ! particle number mass rhill +8.13388768e+03 !particle radius in m +-3.69977113e+06 -1.52467920e+07 -1.34829610e+05 ! x y z +1.61925599e+03 -3.72623284e+02 7.50289619e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +121 2.29549348e+05 2.35874873e+04 ! particle number mass rhill +9.36399150e+03 !particle radius in m +1.82794011e+07 6.84958710e+06 1.41781869e+04 ! x y z +-5.47821288e+02 1.37308430e+03 -7.00506636e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +122 8.52767653e+04 1.58219602e+04 ! particle number mass rhill +4.56803304e+03 !particle radius in m +1.18968647e+07 1.33707826e+07 -1.11221176e+05 ! x y z +-1.16553280e+03 1.03288779e+03 1.42253495e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +123 2.86399056e+04 1.20730103e+04 ! particle number mass rhill +4.67906973e+03 !particle radius in m +-1.96455999e+07 -2.60429318e+06 -9.25749294e+04 ! x y z +1.97567654e+02 -1.46047680e+03 3.96763228e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +124 3.14094760e+05 1.35352736e+04 ! particle number mass rhill +7.05460271e+03 !particle radius in m +-2.68241356e+06 9.67860718e+06 -3.52723705e+04 ! x y z +-1.98385491e+03 -5.75973374e+02 4.82531781e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +125 3.55357461e+05 1.52795593e+04 ! particle number mass rhill +7.35090499e+03 !particle radius in m +-1.66338998e+06 1.06654130e+07 -1.15436526e+05 ! x y z +-1.97394994e+03 -3.24337570e+02 1.49148403e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +126 1.38842935e+06 1.99818510e+04 ! particle number mass rhill +1.15778235e+04 !particle radius in m +5.73133232e+06 -6.88742280e+06 -9.91791004e+03 ! x y z +1.69108314e+03 1.40100447e+03 8.39576992e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +127 8.28665485e+05 3.13608293e+04 ! particle number mass rhill +9.74792278e+03 !particle radius in m +1.16505540e+07 1.24190497e+07 3.29845083e+04 ! x y z +-1.14848373e+03 1.08164128e+03 1.94732937e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +128 1.54764054e+05 1.01037906e+04 ! particle number mass rhill +5.57197333e+03 !particle radius in m +-9.45920013e+06 -1.21129886e+06 4.53752885e+04 ! x y z +2.60756743e+02 -2.09880469e+03 -1.84679906e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +129 6.02399124e+05 1.62531984e+04 ! particle number mass rhill +1.29160713e+04 !particle radius in m +8.30827394e+06 4.94291767e+06 9.57082698e+03 ! x y z +-1.06905700e+03 1.81887550e+03 -1.59783959e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +130 2.22342896e+05 1.18675483e+04 ! particle number mass rhill +6.28724063e+03 !particle radius in m +9.92654375e+06 -1.39802998e+06 4.49817877e+02 ! x y z +2.59014431e+02 2.03619473e+03 -1.49038139e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +131 1.76284582e+04 5.29944629e+03 ! particle number mass rhill +3.98022020e+03 !particle radius in m +2.81061041e+06 9.89835484e+06 -9.78582159e+04 ! x y z +-1.95518409e+03 5.78271402e+02 1.18622238e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +132 5.38538955e+04 8.44113186e+03 ! particle number mass rhill +5.77530198e+03 !particle radius in m +-5.58547024e+06 -9.86469957e+06 6.83294173e+04 ! x y z +1.69539459e+03 -9.41024851e+02 -1.14165406e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +133 2.20314045e+05 1.27238656e+04 ! particle number mass rhill +6.26805874e+03 !particle radius in m +8.08999866e+06 6.84273025e+06 1.04867849e+03 ! x y z +-1.27946500e+03 1.55545684e+03 8.91891880e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +134 8.27723183e+05 1.98929693e+04 ! particle number mass rhill +9.74422649e+03 !particle radius in m +9.18575665e+06 -5.49644544e+06 -5.52894905e+03 ! x y z +1.01968981e+03 1.71970787e+03 -3.39617822e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +135 2.27994929e+04 5.23645068e+03 ! particle number mass rhill +4.33654694e+03 !particle radius in m +1.80833036e+06 -9.23065450e+06 4.90226701e+04 ! x y z +2.08275022e+03 4.17014758e+02 6.63087350e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +136 2.58206907e+05 1.51042021e+04 ! particle number mass rhill +6.60858198e+03 !particle radius in m +1.18507627e+07 2.26553726e+06 2.21133096e+03 ! x y z +-3.50610095e+02 1.84373395e+03 -2.60885445e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +137 1.01432201e+05 2.15204041e+04 ! particle number mass rhill +7.13226721e+03 !particle radius in m +2.21659927e+07 -6.92493598e+06 -4.28421451e+04 ! x y z +4.19436458e+02 1.29376942e+03 -6.14053149e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +138 1.48483324e+05 1.01288412e+04 ! particle number mass rhill +8.09831906e+03 !particle radius in m +-6.92437867e+06 -6.69629009e+06 -5.72228921e+04 ! x y z +1.49689718e+03 -1.48846576e+03 -1.37808252e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +139 9.42427088e+05 1.92839992e+04 ! particle number mass rhill +1.01750117e+04 !particle radius in m +-6.66985595e+06 -7.23797041e+06 -1.53286702e+04 ! x y z +1.53320998e+03 -1.42766264e+03 2.90451170e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +140 5.54442544e+05 1.45796646e+04 ! particle number mass rhill +1.25638046e+04 !particle radius in m +-8.86868024e+06 7.20105731e+05 -2.22950048e+03 ! x y z +-1.95841451e+02 -2.19258513e+03 -3.67523850e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +141 1.55124183e+06 2.70665333e+04 ! particle number mass rhill +1.20137567e+04 !particle radius in m +5.67690574e+06 -1.03162373e+07 -9.41350622e+04 ! x y z +1.67246075e+03 9.20785969e+02 -1.99251255e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +142 1.28173318e+05 1.54093909e+04 ! particle number mass rhill +5.23260806e+03 !particle radius in m +5.50551593e+06 -1.45584653e+07 5.27718687e+04 ! x y z +1.54616130e+03 5.79954533e+02 7.51811204e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +143 1.57882645e+06 2.19970603e+04 ! particle number mass rhill +1.20845494e+04 !particle radius in m +-3.47796098e+06 -8.90927004e+06 9.65028764e+03 ! x y z +1.97386652e+03 -7.53987246e+02 -3.28779531e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +144 1.29809111e+05 9.78824459e+03 ! particle number mass rhill +7.74350141e+03 !particle radius in m +7.74574172e+06 5.95714791e+06 -1.05471596e+04 ! x y z +-1.25035431e+03 1.67733844e+03 -1.65757527e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +145 6.10792333e+04 1.61950813e+04 ! particle number mass rhill +4.08711498e+03 !particle radius in m +-1.98199827e+07 7.29300766e+06 -1.29061581e+05 ! x y z +-4.89201522e+02 -1.32406236e+03 8.40261667e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +146 8.14321833e+05 3.15390616e+04 ! particle number mass rhill +9.69135174e+03 !particle radius in m +1.13588614e+07 1.27104515e+07 1.21608339e+05 ! x y z +-1.17212059e+03 1.06703576e+03 1.25962854e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +147 1.12573910e+06 1.92039195e+04 ! particle number mass rhill +1.07960507e+04 !particle radius in m +-6.88558621e+06 6.34193128e+06 -5.71723545e+04 ! x y z +-1.41834644e+03 -1.59442296e+03 3.00905420e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +148 5.89994915e+04 1.23743739e+04 ! particle number mass rhill +5.95367439e+03 !particle radius in m +2.58947797e+06 1.59613455e+07 1.59042158e+05 ! x y z +-1.60287570e+03 2.41814174e+02 -1.67580989e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +149 1.61092891e+05 1.43346162e+04 ! particle number mass rhill +5.64691333e+03 !particle radius in m +1.27274825e+07 3.00655471e+06 8.98397391e+03 ! x y z +-4.31699175e+02 1.77274933e+03 -1.26354778e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +150 3.67253358e+04 6.76660973e+03 ! particle number mass rhill +5.08343859e+03 !particle radius in m +-7.10630600e+06 -7.28840877e+06 -2.23411110e+03 ! x y z +1.47897945e+03 -1.43505611e+03 -2.71839174e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +151 2.79688721e+04 5.63429227e+03 ! particle number mass rhill +4.64223699e+03 !particle radius in m +6.38222762e+06 -6.74069777e+06 8.75842881e+04 ! x y z +1.60375261e+03 1.44358800e+03 -9.05519600e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +152 1.49726912e+05 1.72153700e+04 ! particle number mass rhill +8.12086478e+03 !particle radius in m +-1.56702566e+07 4.26618807e+06 5.21823445e+04 ! x y z +-4.05029139e+02 -1.57894139e+03 2.53582968e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +153 2.25272127e+05 1.26178768e+04 ! particle number mass rhill +9.30546634e+03 !particle radius in m +-8.73094270e+06 5.67791265e+06 2.17614432e+04 ! x y z +-1.10821669e+03 -1.70422433e+03 2.11567045e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +154 1.52669889e+05 1.08283241e+04 ! particle number mass rhill +5.54672703e+03 !particle radius in m +-1.01683371e+07 1.10819821e+06 1.64139763e+04 ! x y z +-2.62188936e+02 -2.02918021e+03 8.77276633e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +155 5.79689563e+04 8.97148278e+03 ! particle number mass rhill +4.01652823e+03 !particle radius in m +4.35525820e+06 1.08005096e+07 7.15657051e+04 ! x y z +-1.78452573e+03 7.14211418e+02 1.85217607e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +156 4.99028875e+05 2.13357770e+04 ! particle number mass rhill +8.23178885e+03 !particle radius in m +1.33640503e+06 -1.35991318e+07 1.26981224e+05 ! x y z +1.75325272e+03 1.99801637e+02 9.12185103e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +157 3.21480613e+05 1.20647069e+04 ! particle number mass rhill +7.10947055e+03 !particle radius in m +-6.82381137e+06 5.53567185e+06 7.84751624e+03 ! x y z +-1.38395700e+03 -1.73645326e+03 7.57405795e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +158 9.91529953e+04 1.07918343e+04 ! particle number mass rhill +4.80346108e+03 !particle radius in m +3.89840794e+06 1.10854924e+07 3.76242516e+03 ! x y z +-1.80675419e+03 6.21051875e+02 -1.71817477e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +159 2.52237740e+05 1.14363942e+04 ! particle number mass rhill +6.55725922e+03 !particle radius in m +-1.97874775e+06 -8.77567582e+06 -2.75052193e+03 ! x y z +2.14929146e+03 -4.63042632e+02 1.42528242e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +160 1.01739958e+06 1.88523697e+04 ! particle number mass rhill +1.04379733e+04 !particle radius in m +-3.69568353e+06 8.70958011e+06 1.23991773e+02 ! x y z +-1.95889951e+03 -8.30413409e+02 3.23324109e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +161 6.26561099e+04 9.13946042e+03 ! particle number mass rhill +4.12198879e+03 !particle radius in m +-7.46635757e+06 8.75996756e+06 -3.38546703e+04 ! x y z +-1.47538097e+03 -1.25605788e+03 1.14970804e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +162 4.03320233e+05 1.69943586e+04 ! particle number mass rhill +7.66776863e+03 !particle radius in m +5.08163706e+06 1.05043562e+07 -2.49011889e+04 ! x y z +-1.73355443e+03 8.04079694e+02 -1.88007028e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +163 2.79645719e+04 5.40884610e+03 ! particle number mass rhill +4.64199906e+03 !particle radius in m +4.39449717e+06 -7.93852417e+06 4.36583437e+04 ! x y z +1.88869963e+03 1.05420912e+03 5.50586344e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +164 1.10906394e+06 2.35480158e+04 ! particle number mass rhill +1.07424793e+04 !particle radius in m +8.63623502e+06 -7.74644884e+06 1.85384542e+04 ! x y z +1.26494539e+03 1.43300151e+03 7.04221650e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +165 8.56685180e+05 2.78909446e+04 ! particle number mass rhill +9.85657615e+03 !particle radius in m +-6.15368525e+05 1.49121598e+07 -4.67932565e+04 ! x y z +-1.68745762e+03 -4.92212694e+01 -1.94039771e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +166 3.06525474e+05 1.36922172e+04 ! particle number mass rhill +6.99747229e+03 !particle radius in m +8.64904319e+06 5.91192747e+06 -6.14206652e+04 ! x y z +-1.13126693e+03 1.64851790e+03 -1.89192778e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +167 5.93049281e+05 1.52051655e+04 ! particle number mass rhill +8.71931949e+03 !particle radius in m +-7.78414392e+06 4.96208659e+06 -1.63838108e+04 ! x y z +-1.12672930e+03 -1.82241793e+03 -5.96425105e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +168 2.12666894e+04 5.40531233e+03 ! particle number mass rhill +4.23710232e+03 !particle radius in m +9.85857087e+06 -4.25461587e+05 -7.76455058e+04 ! x y z +8.06687493e+01 2.07960003e+03 3.28242575e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +169 2.85652780e+05 2.95720311e+04 ! particle number mass rhill +1.00719866e+04 !particle radius in m +-3.92871528e+06 -2.24319020e+07 2.77551401e+04 ! x y z +1.34770576e+03 -2.35192176e+02 -6.19147736e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +170 3.39019670e+05 1.79553101e+04 ! particle number mass rhill +7.23647883e+03 !particle radius in m +-9.85059665e+06 -8.52205655e+06 -5.48573039e+04 ! x y z +1.18464366e+03 -1.37030272e+03 9.99031014e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +171 8.89113305e+05 2.71542359e+04 ! particle number mass rhill +9.97940619e+03 !particle radius in m +-1.95744716e+06 -1.40658438e+07 -8.96628033e+04 ! x y z +1.72553028e+03 -2.22255484e+02 -2.68715792e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +172 8.29370571e+05 3.54463172e+04 ! particle number mass rhill +9.75068673e+03 !particle radius in m +-1.83887109e+07 -4.94937710e+06 4.13740137e+04 ! x y z +4.02207087e+02 -1.44472494e+03 7.82771281e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +173 1.48238892e+06 2.27550464e+04 ! particle number mass rhill +1.18333139e+04 !particle radius in m +6.28107583e+06 -7.96489519e+06 1.00181104e+05 ! x y z +1.61474462e+03 1.25899281e+03 3.25360113e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +174 8.27798949e+04 7.81570962e+03 ! particle number mass rhill +6.66516052e+03 !particle radius in m +8.57815199e+06 2.93408991e+06 1.00482256e+04 ! x y z +-7.00269987e+02 2.05582007e+03 1.47496098e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +175 3.84709230e+05 1.86262292e+04 ! particle number mass rhill +7.54796479e+03 !particle radius in m +3.89386447e+06 -1.18916453e+07 4.75801024e+03 ! x y z +1.79017897e+03 5.72333272e+02 1.35429336e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +176 5.66577675e+04 1.78767974e+04 ! particle number mass rhill +5.87384040e+03 !particle radius in m +-1.12819097e+07 -2.03828249e+07 -4.17849171e+04 ! x y z +1.20129982e+03 -6.40831904e+02 -7.21062138e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +177 2.07013798e+05 1.69695724e+04 ! particle number mass rhill +9.04694786e+03 !particle radius in m +-3.48844270e+06 -1.39807096e+07 -9.80376409e+04 ! x y z +1.67545999e+03 -4.23493775e+02 9.57144799e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +178 1.75307559e+05 1.09646651e+04 ! particle number mass rhill +5.80834687e+03 !particle radius in m +-6.99241637e+06 -6.97891492e+06 1.17078416e+04 ! x y z +1.45466387e+03 -1.49110516e+03 -7.97644872e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +179 1.07781085e+05 2.17561846e+04 ! particle number mass rhill +7.27807466e+03 !particle radius in m +2.29671869e+07 -4.77992661e+06 -2.29056888e+05 ! x y z +2.66633595e+02 1.31300250e+03 8.11268595e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +180 3.59388467e+05 1.77616131e+04 ! particle number mass rhill +7.37859561e+03 !particle radius in m +1.12799199e+07 -5.64371881e+06 -4.86158248e+04 ! x y z +8.25574521e+02 1.64707498e+03 1.79426055e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +181 8.43345605e+04 7.88595165e+03 ! particle number mass rhill +4.55114695e+03 !particle radius in m +-8.97901930e+06 1.40018499e+06 -1.17315967e+04 ! x y z +-3.50813576e+02 -2.14111191e+03 1.58430709e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +182 2.54722186e+05 1.61693513e+04 ! particle number mass rhill +9.69448137e+03 !particle radius in m +-1.27934972e+07 5.80764481e+05 -6.60656959e+04 ! x y z +-8.73661010e+01 -1.83147573e+03 9.29252102e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +183 5.21033114e+05 3.12442397e+04 ! particle number mass rhill +1.23062037e+04 !particle radius in m +-6.51355993e+06 -1.80095300e+07 -1.28499713e+05 ! x y z +1.42185635e+03 -5.15444029e+02 4.71976246e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +184 5.21637824e+05 1.66907755e+04 ! particle number mass rhill +1.23109627e+04 !particle radius in m +-1.35063597e+06 1.04263703e+07 -1.65523047e+04 ! x y z +-1.99638943e+03 -2.63418025e+02 -1.41194780e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +185 4.58205528e+04 6.92591943e+03 ! particle number mass rhill +3.71369106e+03 !particle radius in m +-9.22486496e+06 2.96866634e+06 -1.89865927e+03 ! x y z +-6.64441635e+02 -2.00340641e+03 -1.17076646e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +186 2.23433612e+05 1.26670941e+04 ! particle number mass rhill +6.29750468e+03 !particle radius in m +7.10721350e+06 7.67585026e+06 -3.24513481e+03 ! x y z +-1.50133478e+03 1.36725034e+03 -1.87929113e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +187 1.79931401e+05 1.04373831e+04 ! particle number mass rhill +8.63385286e+03 !particle radius in m +-3.50855266e+06 -8.47958104e+06 5.43121964e+04 ! x y z +2.01378047e+03 -8.30225015e+02 -6.42928682e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +188 5.90097791e+04 1.34524769e+04 ! particle number mass rhill +5.95402041e+03 !particle radius in m +-1.71845688e+07 2.92835680e+06 1.80160654e+04 ! x y z +-2.68908847e+02 -1.54460993e+03 5.60740384e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +189 7.79086515e+05 1.85386656e+04 ! particle number mass rhill +9.54950570e+03 !particle radius in m +-9.06623165e+06 -4.20136967e+06 -2.06364196e+04 ! x y z +8.54458713e+02 -1.90544528e+03 6.22285906e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +190 1.53125034e+06 2.34513451e+04 ! particle number mass rhill +1.19619247e+04 !particle radius in m +5.25849667e+06 8.80426419e+06 1.08815572e+04 ! x y z +-1.77864099e+03 1.00939651e+03 -2.77090468e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +191 8.59567645e+04 1.28327108e+04 ! particle number mass rhill +6.74935610e+03 !particle radius in m +4.62808704e+06 1.40254648e+07 2.62029474e+04 ! x y z +-1.61136420e+03 5.34010697e+02 -6.77858294e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +192 1.26242051e+05 1.99101289e+04 ! particle number mass rhill +5.20619396e+03 !particle radius in m +2.01424278e+07 3.41792942e+05 1.94882104e+05 ! x y z +-2.93420884e+01 1.45364435e+03 -7.07412419e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +193 1.08024301e+06 4.02623073e+04 ! particle number mass rhill +1.06486075e+04 !particle radius in m +8.37083337e+06 -1.79540915e+07 -5.91009347e+04 ! x y z +1.33428010e+03 6.17563374e+02 2.42512024e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +194 3.59813883e+04 6.03118811e+03 ! particle number mass rhill +5.04887899e+03 !particle radius in m +9.18834937e+06 4.09046541e+05 5.54581813e+03 ! x y z +-7.23751549e+01 2.15950913e+03 6.85354866e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +195 7.21130805e+04 1.15218555e+04 ! particle number mass rhill +6.36561457e+03 !particle radius in m +2.40599869e+06 -1.36259877e+07 7.24745280e+03 ! x y z +1.74094787e+03 3.07239990e+02 8.10516402e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +196 5.22433041e+04 8.56706323e+03 ! particle number mass rhill +3.87967973e+03 !particle radius in m +-1.16034100e+07 -1.77480486e+06 -1.62127720e+04 ! x y z +2.83834839e+02 -1.87461386e+03 5.96638672e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +197 2.88195987e+05 1.92280928e+04 ! particle number mass rhill +6.85511860e+03 !particle radius in m +1.47515573e+07 -2.57581761e+05 -5.23662055e+04 ! x y z +1.10532093e+01 1.70024862e+03 8.28609927e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +198 5.20744357e+05 2.19617843e+04 ! particle number mass rhill +1.23039299e+04 !particle radius in m +1.13163190e+07 -7.84357347e+06 1.03407930e+04 ! x y z +1.01120595e+03 1.44577732e+03 -5.19143023e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +199 1.70548241e+05 1.09436379e+04 ! particle number mass rhill +5.75530148e+03 !particle radius in m +-3.32812125e+06 -9.44533791e+06 -4.90376566e+04 ! x y z +1.95676637e+03 -6.51606826e+02 -5.70434278e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +200 5.42504766e+05 1.91588733e+04 ! particle number mass rhill +1.24729785e+04 !particle radius in m +1.06811374e+07 -4.93512180e+06 -2.54549899e+04 ! x y z +7.94618978e+02 1.74255873e+03 -9.79841366e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +201 1.45214473e+06 2.51148062e+04 ! particle number mass rhill +1.17522845e+04 !particle radius in m +1.08275316e+07 3.16975354e+06 -1.83616872e+04 ! x y z +-5.71210349e+02 1.85480914e+03 -5.53165520e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +202 4.79031773e+05 1.39791861e+04 ! particle number mass rhill +1.19662231e+04 !particle radius in m +-8.93938095e+06 -1.07672320e+06 2.20211931e+02 ! x y z +2.21513596e+02 -2.17140814e+03 -5.31579057e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +203 9.35672463e+04 1.18188273e+04 ! particle number mass rhill +6.94294309e+03 !particle radius in m +-1.11274091e+07 6.99042019e+06 4.20463158e+03 ! x y z +-9.73175474e+02 -1.52053333e+03 -7.28310775e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +204 2.35662743e+05 1.60773575e+04 ! particle number mass rhill +9.44639204e+03 !particle radius in m +4.40522655e+06 -1.23917208e+07 -1.61713907e+04 ! x y z +1.70009079e+03 6.02493125e+02 -3.82502681e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +205 2.38678835e+05 1.29738033e+04 ! particle number mass rhill +6.43759473e+03 !particle radius in m +8.84972010e+06 5.65746303e+06 4.89598915e+04 ! x y z +-1.07695732e+03 1.71417278e+03 -2.68488868e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +206 5.70545769e+04 8.09831867e+03 ! particle number mass rhill +5.88752122e+03 !particle radius in m +-5.79952078e+06 8.88645462e+06 -2.44580541e+04 ! x y z +-1.68074658e+03 -1.10169885e+03 -6.29194406e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +207 5.51731540e+05 1.45509165e+04 ! particle number mass rhill +1.25432938e+04 !particle radius in m +-8.14410389e+06 -3.97016042e+06 -9.88813618e+04 ! x y z +9.01368103e+02 -1.96430805e+03 -4.40735560e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +208 1.01063925e+06 1.76831218e+04 ! particle number mass rhill +1.04148028e+04 !particle radius in m +7.46448044e+06 -4.58544507e+06 1.76340315e+04 ! x y z +1.15401750e+03 1.90545254e+03 -7.27693077e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +209 4.01306668e+05 1.56153596e+04 ! particle number mass rhill +1.12804852e+04 !particle radius in m +-2.08884933e+06 -1.02835429e+07 6.42079933e+03 ! x y z +1.99534972e+03 -4.16589585e+02 -4.18338876e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +210 1.16893367e+05 9.97596895e+03 ! particle number mass rhill +7.47765824e+03 !particle radius in m +3.36937988e+06 -9.91809680e+06 5.89060808e+04 ! x y z +1.88421155e+03 6.84396854e+02 -2.08220150e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +211 6.63716790e+05 2.02872172e+04 ! particle number mass rhill +9.05273758e+03 !particle radius in m +-7.24117471e+06 -9.21469921e+06 -3.61410851e+04 ! x y z +1.49902224e+03 -1.18897591e+03 9.80133706e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +212 5.54059774e+05 1.44580726e+04 ! particle number mass rhill +1.25609127e+04 !particle radius in m +-3.74450435e+06 -8.15891931e+06 2.77691948e+04 ! x y z +1.97501199e+03 -9.06036575e+02 -2.45381289e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +213 1.69304746e+05 1.85389651e+04 ! particle number mass rhill +8.46042215e+03 !particle radius in m +7.14052519e+06 1.53102112e+07 1.62981971e+05 ! x y z +-1.44016584e+03 6.81333291e+02 -1.60906032e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +214 1.99811184e+06 2.54044580e+04 ! particle number mass rhill +1.30715050e+04 !particle radius in m +-1.03399269e+07 2.85213950e+05 -3.22137865e+04 ! x y z +-5.00043408e+01 -2.01781826e+03 1.16086899e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +215 1.89676101e+06 2.19318980e+04 ! particle number mass rhill +1.28466493e+04 !particle radius in m +4.61126913e+06 7.68167619e+06 3.21015460e+03 ! x y z +-1.87745924e+03 1.11654918e+03 8.74586750e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +216 9.08573084e+05 1.81400916e+04 ! particle number mass rhill +1.00516869e+04 !particle radius in m +-7.63901209e+05 9.38473527e+06 2.09296480e+04 ! x y z +-2.13149182e+03 -1.53874003e+02 1.07619871e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +217 8.11071077e+04 1.14592741e+04 ! particle number mass rhill +4.49233328e+03 !particle radius in m +-3.50142507e+06 1.29584846e+07 4.99036110e+03 ! x y z +-1.71988301e+03 -4.67120020e+02 -1.52874482e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +218 5.45414263e+04 7.39602861e+03 ! particle number mass rhill +3.93575293e+03 !particle radius in m +2.89549121e+05 9.73817170e+06 7.30475924e+03 ! x y z +-2.10637979e+03 6.28009545e+01 2.73575242e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +219 1.53455069e+05 9.67803209e+03 ! particle number mass rhill +5.55621969e+03 !particle radius in m +-8.69236370e+06 2.60571730e+06 1.87543471e+04 ! x y z +-6.41047725e+02 -2.08196126e+03 -9.78180600e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +220 1.44525955e+06 2.58764089e+04 ! particle number mass rhill +1.17336811e+04 !particle radius in m +1.16999055e+07 -8.45214750e+05 -1.23088793e+04 ! x y z +1.51868140e+02 1.88990987e+03 5.91582506e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +221 1.68319374e+06 2.90907579e+04 ! particle number mass rhill +1.23451688e+04 !particle radius in m +1.04932440e+07 6.34593749e+06 -5.14735307e+04 ! x y z +-9.55788059e+02 1.61305183e+03 7.38311147e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +222 6.64548027e+05 2.09776961e+04 ! particle number mass rhill +9.05651521e+03 !particle radius in m +-1.00872411e+07 -7.19383413e+06 1.02683109e+05 ! x y z +1.09632503e+03 -1.47708699e+03 2.53571970e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +223 5.28873267e+05 2.56064519e+04 ! particle number mass rhill +8.39272259e+03 !particle radius in m +-1.29868607e+07 9.20702284e+06 -1.02202794e+05 ! x y z +-9.58764873e+02 -1.33478274e+03 7.40636311e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +224 9.96994641e+05 1.92471528e+04 ! particle number mass rhill +1.03677203e+04 !particle radius in m +2.69271095e+06 9.12085234e+06 -6.31280178e+04 ! x y z +-2.04468399e+03 6.49763127e+02 -6.41633267e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +225 2.38653594e+05 1.32999920e+04 ! particle number mass rhill +9.48618629e+03 !particle radius in m +-1.04843536e+07 -2.82530322e+06 -6.63351271e+03 ! x y z +5.35179489e+02 -1.90917831e+03 -8.89095603e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +226 1.40349329e+06 2.00598103e+04 ! particle number mass rhill +1.16195447e+04 !particle radius in m +8.55294018e+06 -2.42617769e+06 2.52020611e+04 ! x y z +6.43758212e+02 2.11770030e+03 -2.00995235e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +227 1.68803614e+06 2.29017916e+04 ! particle number mass rhill +1.23569961e+04 !particle radius in m +9.56160063e+06 2.03876951e+05 -1.15187717e+04 ! x y z +-2.08727307e+01 2.13182274e+03 -6.37368295e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +228 4.94409683e+04 7.07324355e+03 ! particle number mass rhill +3.80903228e+03 !particle radius in m +8.39735110e+06 -4.64919497e+06 -4.03636604e+04 ! x y z +1.02402689e+03 1.86350550e+03 3.48961376e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +229 1.23732338e+05 1.15801183e+04 ! particle number mass rhill +7.62073270e+03 !particle radius in m +1.14766676e+07 -2.46673442e+06 -6.18541161e+03 ! x y z +3.81520272e+02 1.87089502e+03 -6.28495237e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +230 3.07739150e+04 5.83154047e+03 ! particle number mass rhill +4.79251234e+03 !particle radius in m +7.65927810e+06 5.58691775e+06 6.38708550e+04 ! x y z +-1.24261883e+03 1.71209694e+03 -6.95777672e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +232 1.02687634e+05 1.54462392e+04 ! particle number mass rhill +4.85987440e+03 !particle radius in m +1.62736579e+07 2.82256969e+06 3.66384128e+04 ! x y z +-2.71027694e+02 1.59383670e+03 4.71948132e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +233 1.09055822e+05 8.97093718e+03 ! particle number mass rhill +7.30665510e+03 !particle radius in m +-2.08216759e+06 -9.23350326e+06 -8.76611629e+04 ! x y z +2.08240223e+03 -4.40249465e+02 -1.27767388e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +234 4.21950076e+04 6.13798078e+03 ! particle number mass rhill +5.32422025e+03 !particle radius in m +8.73066827e+06 -2.21328634e+05 -3.34004359e+04 ! x y z +4.79166308e+01 2.23450529e+03 -9.11532147e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +235 1.49350824e+06 3.81141945e+04 ! particle number mass rhill +1.18628272e+04 !particle radius in m +1.62631471e+07 4.67259161e+06 2.64032894e+04 ! x y z +-4.50841052e+02 1.52122597e+03 1.13312253e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +236 3.07566841e+05 2.10233787e+04 ! particle number mass rhill +7.00538757e+03 !particle radius in m +5.98003979e+05 -1.57345854e+07 -2.89481346e+04 ! x y z +1.64606847e+03 7.79210619e+01 -6.19029962e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +237 3.73535334e+05 1.38613380e+04 ! particle number mass rhill +7.47416865e+03 !particle radius in m +-8.48106759e+06 4.91431093e+06 -8.66403288e+04 ! x y z +-1.03310578e+03 -1.80626108e+03 1.07091841e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +238 1.60082213e+06 4.30874135e+04 ! particle number mass rhill +1.21404101e+04 !particle radius in m +-1.84578837e+07 9.47798697e+05 -1.11240327e+05 ! x y z +-8.38856040e+01 -1.52441650e+03 -4.87143776e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +239 1.46188745e+06 2.54964357e+04 ! particle number mass rhill +1.17785087e+04 !particle radius in m +-5.76687798e+06 9.89435129e+06 4.39168015e+04 ! x y z +-1.66547278e+03 -9.63693666e+02 4.18572107e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +240 1.57915313e+05 9.48646514e+03 ! particle number mass rhill +5.60953779e+03 !particle radius in m +-1.82862969e+06 8.61926907e+06 -1.75357465e+04 ! x y z +-2.15498233e+03 -4.93004829e+02 7.64196538e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +241 1.28341909e+05 1.09511933e+04 ! particle number mass rhill +7.71421647e+03 !particle radius in m +3.76525777e+06 -1.03931378e+07 -7.52318459e+04 ! x y z +1.83850823e+03 6.78500036e+02 -6.89947122e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +242 5.79588811e+05 1.46154362e+04 ! particle number mass rhill +8.65284640e+03 !particle radius in m +-6.33335198e+06 -5.98167685e+06 -3.08011537e+04 ! x y z +1.53763163e+03 -1.62109001e+03 -2.47037358e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +243 2.16869732e+05 1.24291427e+04 ! particle number mass rhill +6.23522281e+03 !particle radius in m +9.90333087e+06 -4.01192277e+06 6.04079611e+04 ! x y z +7.43355257e+02 1.83366572e+03 -1.58715640e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +244 6.18926402e+05 2.04985663e+04 ! particle number mass rhill +1.30331280e+04 !particle radius in m +-5.98502411e+06 1.07946936e+07 4.97027123e+03 ! x y z +-1.61657634e+03 -8.93801164e+02 -1.07876442e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +245 7.99727184e+05 2.41966314e+04 ! particle number mass rhill +9.63310475e+03 !particle radius in m +-6.59615203e+06 -1.12304386e+07 9.72528165e+04 ! x y z +1.57957874e+03 -9.09183472e+02 3.54133115e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +246 2.80300938e+05 1.19230190e+04 ! particle number mass rhill +6.79194010e+03 !particle radius in m +8.96651461e+06 1.05824022e+06 -2.00386304e+04 ! x y z +-2.80453416e+02 2.17973889e+03 1.20973693e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +247 6.93860397e+05 2.71014582e+04 ! particle number mass rhill +9.18776116e+03 !particle radius in m +1.47368687e+06 1.52540290e+07 1.91344142e+05 ! x y z +-1.67085873e+03 1.59690705e+02 -2.30924434e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +248 2.21045128e+05 1.62927419e+04 ! particle number mass rhill +9.24689597e+03 !particle radius in m +-1.31122397e+06 1.35322324e+07 5.51107975e+04 ! x y z +-1.76733822e+03 -1.66895030e+02 1.40149353e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +249 1.57513562e+05 9.70901785e+03 ! particle number mass rhill +8.25926956e+03 !particle radius in m +6.67718106e+06 -6.31157792e+06 2.26609344e+04 ! x y z +1.50456951e+03 1.52943679e+03 8.18042830e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +250 3.40949521e+05 1.56136944e+04 ! particle number mass rhill +1.06839624e+04 !particle radius in m +-9.16360265e+06 6.32922451e+06 2.58199480e+03 ! x y z +-1.14874981e+03 -1.60466496e+03 1.97944632e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +251 2.67400890e+05 1.60281390e+04 ! particle number mass rhill +6.68610634e+03 !particle radius in m +-1.15940056e+07 4.46540148e+06 -5.91615241e+04 ! x y z +-6.61054922e+02 -1.74552414e+03 3.85473780e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +252 1.90980773e+05 1.02400192e+04 ! particle number mass rhill +5.97652691e+03 !particle radius in m +7.27954173e+05 8.98873006e+06 3.22170920e+04 ! x y z +-2.16869199e+03 1.52559195e+02 -7.62441611e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +253 8.81577356e+05 2.66619325e+04 ! particle number mass rhill +9.95113166e+03 !particle radius in m +-7.91834556e+06 1.12541780e+07 -7.01445845e+04 ! x y z +-1.45888232e+03 -1.02209811e+03 -1.64204126e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +254 1.74268386e+05 1.73117817e+04 ! particle number mass rhill +5.79684738e+03 !particle radius in m +-1.33826547e+07 -7.97098248e+06 5.10482753e+03 ! x y z +8.38898161e+02 -1.43447217e+03 1.26393376e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +255 7.87919903e+04 9.41855233e+03 ! particle number mass rhill +6.55636334e+03 !particle radius in m +1.00439607e+07 -4.85348750e+06 1.01261466e+05 ! x y z +8.20741840e+02 1.77276708e+03 -5.85913488e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +256 2.69480282e+05 1.23931951e+04 ! particle number mass rhill +6.70339268e+03 !particle radius in m +2.04930949e+06 -9.32239452e+06 -2.24373576e+04 ! x y z +2.07456592e+03 4.98065963e+02 1.20751769e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +257 2.46903228e+05 2.89142381e+04 ! particle number mass rhill +6.51070352e+03 !particle radius in m +-2.17215478e+07 -8.78835015e+06 -4.01495560e+04 ! x y z +5.14278406e+02 -1.24501793e+03 7.48973214e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +258 1.23878170e+06 2.56018645e+04 ! particle number mass rhill +1.11459543e+04 !particle radius in m +1.20260148e+07 1.50890452e+06 -8.61170776e+04 ! x y z +-2.28727670e+02 1.85884268e+03 1.03561533e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +259 2.00656446e+05 1.10598095e+04 ! particle number mass rhill +8.95337335e+03 !particle radius in m +6.77964628e+06 6.80088173e+06 3.59640048e+04 ! x y z +-1.51037716e+03 1.46534327e+03 4.36610744e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +260 1.07191143e+05 1.87922625e+04 ! particle number mass rhill +7.26477146e+03 !particle radius in m +1.93741347e+07 4.35856951e+06 -7.05507935e+02 ! x y z +-2.95958141e+02 1.44257652e+03 3.98161720e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +261 4.58808583e+05 2.25128613e+04 ! particle number mass rhill +1.17954044e+04 !particle radius in m +-1.36515521e+07 5.47808328e+06 2.30862197e+04 ! x y z +-6.21116352e+02 -1.59076755e+03 -4.14797264e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +262 2.90655410e+05 1.74532512e+04 ! particle number mass rhill +1.01304435e+04 !particle radius in m +1.29557484e+07 -3.33144253e+06 5.90527945e+04 ! x y z +4.53468556e+02 1.72544679e+03 8.55651480e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +263 7.08997716e+04 1.09670527e+04 ! particle number mass rhill +4.29537029e+03 !particle radius in m +1.22881970e+07 4.73181161e+06 8.31929270e+04 ! x y z +-6.58468588e+02 1.69384960e+03 -1.28940832e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +264 1.34411988e+05 1.57738727e+04 ! particle number mass rhill +5.31616352e+03 !particle radius in m +1.42705581e+07 -5.59919890e+06 -1.20173006e+04 ! x y z +6.15518752e+02 1.56633732e+03 -3.00095341e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +265 6.21292858e+05 2.92546564e+04 ! particle number mass rhill +1.30497175e+04 !particle radius in m +1.22157187e+07 1.21158385e+07 -1.89187958e+04 ! x y z +-1.13185306e+03 1.10567360e+03 -1.20248978e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +266 4.37332958e+04 6.44253036e+03 ! particle number mass rhill +5.38815059e+03 !particle radius in m +3.95878049e+06 -8.23148660e+06 5.75314545e+04 ! x y z +1.96980210e+03 9.25868395e+02 1.73432582e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +267 1.43659648e+06 2.53518437e+04 ! particle number mass rhill +1.17101897e+04 !particle radius in m +-3.77919432e+06 1.07609723e+07 -5.23499337e+04 ! x y z +-1.82204789e+03 -6.43288095e+02 1.18800083e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +268 8.39702253e+04 1.22379070e+04 ! particle number mass rhill +6.69695574e+03 !particle radius in m +-1.05319563e+07 9.02628865e+06 7.76373874e+04 ! x y z +-1.14418489e+03 -1.35282145e+03 -8.67554957e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +269 6.87209763e+04 9.36137706e+03 ! particle number mass rhill +4.25091189e+03 !particle radius in m +1.11472461e+07 3.88496928e+06 2.24744875e+04 ! x y z +-6.24929449e+02 1.77558367e+03 1.82397206e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +270 8.93056834e+05 2.02090263e+04 ! particle number mass rhill +9.99413848e+03 !particle radius in m +7.13225296e+06 7.84741088e+06 7.08528372e+04 ! x y z +-1.47773160e+03 1.36033625e+03 -6.05338364e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +271 7.72395853e+04 1.53049462e+04 ! particle number mass rhill +4.41976293e+03 !particle radius in m +1.57340361e+07 -9.25306632e+06 1.05005348e+05 ! x y z +7.63951994e+02 1.32212390e+03 -5.72592279e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +272 1.17326453e+05 1.78660442e+04 ! particle number mass rhill +7.48688169e+03 !particle radius in m +1.78996895e+07 -3.23122702e+06 -8.50474408e+04 ! x y z +2.79448983e+02 1.51858349e+03 1.07776473e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +273 2.64759082e+05 1.14529225e+04 ! particle number mass rhill +9.82017615e+03 !particle radius in m +-1.25291109e+06 8.92261901e+06 6.19393261e+04 ! x y z +-2.15215968e+03 -3.42916287e+02 5.69467556e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +274 9.28436033e+04 1.03254647e+04 ! particle number mass rhill +6.92499799e+03 !particle radius in m +3.17829891e+06 -1.10142305e+07 -2.69804501e+04 ! x y z +1.85575994e+03 5.54347759e+02 -8.57029148e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +275 1.28358389e+05 1.04813501e+04 ! particle number mass rhill +7.71454664e+03 !particle radius in m +-1.52137099e+06 1.03039110e+07 -2.28129443e+04 ! x y z +-2.01239392e+03 -3.00583105e+02 1.82997128e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +276 1.71849481e+06 2.43554180e+04 ! particle number mass rhill +1.24308761e+04 !particle radius in m +7.58255782e+06 -6.89244058e+06 -4.22200409e+04 ! x y z +1.36574672e+03 1.52351062e+03 -3.42663337e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +277 1.76580097e+06 2.81722435e+04 ! particle number mass rhill +1.25439096e+04 !particle radius in m +-8.20564828e+06 8.24671241e+06 -1.78987991e+05 ! x y z +-1.37211179e+03 -1.35613094e+03 5.81977986e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +278 2.66657642e+05 1.86850925e+04 ! particle number mass rhill +9.84359343e+03 !particle radius in m +8.14883976e+06 -1.20311130e+07 2.81646262e+04 ! x y z +1.42418230e+03 9.71290645e+02 -1.65557105e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +279 1.67849030e+06 2.16729264e+04 ! particle number mass rhill +1.23336592e+04 !particle radius in m +2.74582126e+06 -8.71763630e+06 6.44092995e+04 ! x y z +2.06453659e+03 6.75538119e+02 -1.84554482e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +280 3.33306167e+05 1.37489654e+04 ! particle number mass rhill +1.06035211e+04 !particle radius in m +7.67980194e+06 -6.41178879e+06 9.39794316e+04 ! x y z +1.32508200e+03 1.58960541e+03 -1.68646923e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +281 2.90036427e+05 1.42298817e+04 ! particle number mass rhill +1.01232471e+04 !particle radius in m +1.08862914e+07 -1.69171267e+06 1.06890002e+04 ! x y z +2.66940523e+02 1.93825037e+03 -3.17829482e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +282 2.08854812e+05 2.58329628e+04 ! particle number mass rhill +9.07368751e+03 !particle radius in m +-2.12855771e+07 -6.22047593e+06 4.09709267e+04 ! x y z +3.86441604e+02 -1.32836590e+03 2.12243761e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +283 1.09299260e+06 1.84417787e+04 ! particle number mass rhill +1.06903372e+04 !particle radius in m +1.19425206e+06 -8.91233794e+06 3.55973631e+04 ! x y z +2.17359618e+03 2.49148190e+02 5.23202275e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +284 1.46324679e+04 4.71419267e+03 ! particle number mass rhill +3.74060212e+03 !particle radius in m +9.56786350e+06 4.49949446e+05 3.82232625e+04 ! x y z +-9.15404876e+01 2.12884256e+03 -8.93875847e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +285 1.40182455e+05 9.14605142e+03 ! particle number mass rhill +7.94450563e+03 !particle radius in m +2.52449139e+06 -8.63435263e+06 3.47588448e+03 ! x y z +2.08621300e+03 5.91911411e+02 -3.57309299e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +286 1.06034598e+05 1.24338277e+04 ! particle number mass rhill +4.91211126e+03 !particle radius in m +1.30335501e+07 -9.18110749e+05 -5.93800312e+04 ! x y z +1.10189733e+02 1.82033941e+03 -1.02966654e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +287 3.46450949e+05 1.43804817e+04 ! particle number mass rhill +1.07411202e+04 !particle radius in m +-8.43406318e+06 -5.93404434e+06 2.36715133e+04 ! x y z +1.16500133e+03 -1.67478526e+03 9.48734166e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +288 1.56983400e+05 1.31094123e+04 ! particle number mass rhill +5.59848141e+03 !particle radius in m +1.45797657e+06 -1.20421345e+07 -3.75037404e+04 ! x y z +1.87575411e+03 2.26832585e+02 1.21113356e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +289 2.48666520e+05 1.14701907e+04 ! particle number mass rhill +9.61704013e+03 !particle radius in m +7.82736208e+06 -4.81216442e+06 6.09982286e+04 ! x y z +1.09482209e+03 1.86309298e+03 2.82110626e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +290 5.65388384e+05 2.38333682e+04 ! particle number mass rhill +1.26459448e+04 !particle radius in m +-1.04983951e+07 -9.78210039e+06 4.04999757e+04 ! x y z +1.16976801e+03 -1.28733444e+03 3.36107675e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +291 4.58299747e+05 1.37934417e+04 ! particle number mass rhill +8.00145320e+03 !particle radius in m +-8.88059070e+06 -1.48350388e+06 -3.65798996e+04 ! x y z +3.63914783e+02 -2.15370844e+03 -4.03870858e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +292 2.30030563e+04 6.14927674e+03 ! particle number mass rhill +4.34941489e+03 !particle radius in m +1.71799482e+06 -1.11150786e+07 -1.11600323e+04 ! x y z +1.89156931e+03 3.37161187e+02 -5.00763335e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +293 7.08749007e+04 1.18059055e+04 ! particle number mass rhill +4.29486797e+03 !particle radius in m +1.22676746e+07 -7.93082840e+06 -7.55901444e+04 ! x y z +9.10780310e+02 1.43519257e+03 -9.59182854e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +294 1.21450320e+06 2.13409537e+04 ! particle number mass rhill +1.10726580e+04 !particle radius in m +6.08378238e+06 -7.87148142e+06 -2.39812665e+04 ! x y z +1.65441655e+03 1.27707568e+03 -1.18584893e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +295 4.34793722e+05 1.91206475e+04 ! particle number mass rhill +1.15859081e+04 !particle radius in m +5.05198031e+06 1.16964703e+07 1.98330665e+04 ! x y z +-1.69333923e+03 7.02450436e+02 2.04857518e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +296 5.88218517e+05 2.95301840e+04 ! particle number mass rhill +8.69558011e+03 !particle radius in m +-2.23024582e+06 1.75885326e+07 3.84168836e+04 ! x y z +-1.54534740e+03 -1.88777263e+02 1.39357869e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +297 8.46851500e+04 1.21295826e+04 ! particle number mass rhill +6.71590808e+03 !particle radius in m +1.11164532e+07 8.01001814e+06 1.06625699e+05 ! x y z +-1.04365443e+03 1.44565605e+03 2.11662748e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +298 1.24155519e+06 2.60986227e+04 ! particle number mass rhill +1.11542662e+04 !particle radius in m +-1.17258082e+06 -1.22657889e+07 4.54924052e+04 ! x y z +1.84907037e+03 -1.95731556e+02 1.04424396e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +299 5.36470228e+04 6.78707710e+03 ! particle number mass rhill +5.76789746e+03 !particle radius in m +8.87472318e+06 -1.41477847e+06 9.96850714e+03 ! x y z +3.48170496e+02 2.16686116e+03 6.86996341e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +300 2.28532347e+05 1.30656897e+04 ! particle number mass rhill +9.35014220e+03 !particle radius in m +-1.06755868e+07 -2.26215221e+06 -1.03098190e+04 ! x y z +4.22938170e+02 -1.92356457e+03 -6.44322506e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +301 7.16670668e+04 9.43142814e+03 ! particle number mass rhill +6.35246381e+03 !particle radius in m +-1.15286614e+07 6.85922305e+05 -2.50421030e+03 ! x y z +-1.47622259e+02 -1.91263388e+03 -2.66811177e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +302 3.41791273e+05 1.66815993e+04 ! particle number mass rhill +7.25614557e+03 !particle radius in m +-1.14907610e+07 3.12025122e+06 -5.05043492e+04 ! x y z +-4.96419350e+02 -1.84148364e+03 1.23574710e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +303 3.02600957e+05 1.57068129e+04 ! particle number mass rhill +1.02673671e+04 !particle radius in m +3.52540674e+06 1.12335432e+07 5.00575123e+04 ! x y z +-1.81448873e+03 5.96787301e+02 1.05390435e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +304 1.24634953e+05 1.85683375e+04 ! particle number mass rhill +7.63921866e+03 !particle radius in m +-1.63903863e+07 9.01968445e+06 -1.03768934e+05 ! x y z +-7.30657688e+02 -1.32744569e+03 -3.28089387e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +305 1.06580756e+06 2.24671215e+04 ! particle number mass rhill +1.06009616e+04 !particle radius in m +1.01396523e+07 -4.81960415e+06 4.30193977e+03 ! x y z +8.23199841e+02 1.75908251e+03 4.33811421e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +306 1.05002762e+06 2.40980448e+04 ! particle number mass rhill +1.05483834e+04 !particle radius in m +1.06454895e+07 5.05879867e+06 5.08283132e+04 ! x y z +-8.22304047e+02 1.73567086e+03 1.93532669e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +307 4.27056844e+05 2.36784291e+04 ! particle number mass rhill +7.81533428e+03 !particle radius in m +-1.60755914e+07 -7.66558706e+05 1.42941147e+04 ! x y z +6.22982075e+01 -1.61863536e+03 -1.60725073e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +308 1.39222251e+06 1.99143819e+04 ! particle number mass rhill +1.15883574e+04 !particle radius in m +-1.46060477e+06 -8.99385191e+06 -3.08209444e+04 ! x y z +2.13011898e+03 -3.25298595e+02 2.80216541e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +309 1.27802909e+06 1.93841179e+04 ! particle number mass rhill +1.12624422e+04 !particle radius in m +-1.41660966e+06 8.99035717e+06 1.40528615e+04 ! x y z +-2.12617696e+03 -3.75024767e+02 -9.07028597e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +310 1.60563896e+06 2.27299762e+04 ! particle number mass rhill +1.21525746e+04 !particle radius in m +8.84712919e+06 3.96421798e+06 1.13803740e+04 ! x y z +-8.83218100e+02 1.91945493e+03 3.31259998e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +311 1.63391111e+05 1.36375912e+04 ! particle number mass rhill +5.67364039e+03 !particle radius in m +6.88657663e+06 -1.05966202e+07 1.71451160e+03 ! x y z +1.56481452e+03 9.63079720e+02 1.94534764e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +312 3.67336673e+05 1.47597955e+04 ! particle number mass rhill +7.43259427e+03 !particle radius in m +-8.85269678e+06 5.44905716e+06 -5.60825695e+04 ! x y z +-1.07596431e+03 -1.72186966e+03 1.77805310e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +313 4.77242503e+05 2.18809563e+04 ! particle number mass rhill +1.19513059e+04 !particle radius in m +3.11450797e+06 -1.37495078e+07 -3.57099214e+04 ! x y z +1.70202965e+03 3.85543507e+02 -4.49001111e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +314 3.74348891e+05 1.43810422e+04 ! particle number mass rhill +1.10220195e+04 !particle radius in m +-9.00924085e+06 4.66367866e+06 1.26574464e+04 ! x y z +-9.50214730e+02 -1.81339232e+03 -1.20100516e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +315 1.15108819e+05 1.05231234e+04 ! particle number mass rhill +5.04841672e+03 !particle radius in m +-1.08865724e+07 1.89436312e+06 -5.35372336e+04 ! x y z +-3.54360414e+02 -1.92451382e+03 8.24540973e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +316 2.00402722e+04 9.01916105e+03 ! particle number mass rhill +4.15403541e+03 !particle radius in m +1.55751438e+07 6.03420204e+06 -2.57378814e+04 ! x y z +-5.81737732e+02 1.49479237e+03 -7.62983212e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +317 1.36478455e+06 2.35917682e+04 ! particle number mass rhill +1.15117238e+04 !particle radius in m +1.06056911e+07 8.74976261e+04 -1.72290821e+03 ! x y z +-1.77150357e+01 2.02140459e+03 -2.31012980e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +318 1.25503882e+06 2.69799096e+04 ! particle number mass rhill +1.11945004e+04 !particle radius in m +-6.72042968e+06 -1.07531738e+07 5.09281015e+04 ! x y z +1.56397473e+03 -9.57368328e+02 -1.25364327e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +319 3.83212506e+05 1.74228564e+04 ! particle number mass rhill +7.53816353e+03 !particle radius in m +4.10458407e+06 -1.13623664e+07 -9.48469623e+04 ! x y z +1.78215300e+03 6.13680096e+02 -7.93502985e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +320 1.19861178e+05 1.06361705e+04 ! particle number mass rhill +7.54041364e+03 !particle radius in m +8.42747503e+06 -6.97349936e+06 -2.15671129e+04 ! x y z +1.26552336e+03 1.51523836e+03 2.12892191e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +321 2.76964902e+05 1.82031961e+04 ! particle number mass rhill +6.76488745e+03 !particle radius in m +-1.31213742e+07 -4.58561120e+06 1.53600301e+04 ! x y z +5.82359194e+02 -1.66882713e+03 1.14079207e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +322 7.97652582e+04 8.90232552e+03 ! particle number mass rhill +6.58324849e+03 !particle radius in m +-7.56393159e+06 7.09659926e+06 -4.65315976e+04 ! x y z +-1.36862256e+03 -1.51081343e+03 1.13488899e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +323 1.71360917e+05 1.02338425e+04 ! particle number mass rhill +8.49453445e+03 !particle radius in m +4.46247777e+06 -8.10645059e+06 1.43618351e+04 ! x y z +1.90934802e+03 1.00293881e+03 8.21819949e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +324 8.86224252e+04 9.60497307e+03 ! particle number mass rhill +6.81841660e+03 !particle radius in m +-9.96034566e+06 4.35537723e+06 -1.20286093e+04 ! x y z +-7.67471215e+02 -1.83079175e+03 -1.31980560e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +325 3.61520873e+05 1.66400018e+04 ! particle number mass rhill +1.08946542e+04 !particle radius in m +-1.14760721e+07 3.70943531e+06 -9.49844421e+04 ! x y z +-5.95286906e+02 -1.76496467e+03 3.00728950e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +326 1.75021180e+06 3.81751240e+04 ! particle number mass rhill +1.25068862e+04 !particle radius in m +-1.57425262e+07 -1.71485068e+06 5.83418789e+04 ! x y z +1.83396886e+02 -1.64215306e+03 1.76834645e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +327 1.32994897e+06 2.00857686e+04 ! particle number mass rhill +1.14129344e+04 !particle radius in m +-5.50533612e+06 -7.29539312e+06 -4.19582765e+04 ! x y z +1.70576164e+03 -1.34793657e+03 3.36918899e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +328 1.21855656e+05 9.07633350e+03 ! particle number mass rhill +7.58200769e+03 !particle radius in m +-1.84334893e+06 9.13437442e+06 -6.98626074e+03 ! x y z +-2.09435634e+03 -4.13549777e+02 1.31091798e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +329 1.40955037e+06 2.89016258e+04 ! particle number mass rhill +1.16362363e+04 !particle radius in m +-8.24556722e+05 1.30406598e+07 9.22800110e+04 ! x y z +-1.80291385e+03 -1.14208577e+02 5.06777815e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +330 1.58828247e+05 1.37321216e+04 ! particle number mass rhill +8.28218455e+03 !particle radius in m +-9.92787386e+06 7.89436638e+06 5.47155159e+04 ! x y z +-1.15186100e+03 -1.44221325e+03 -1.43299470e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +331 1.65396738e+05 2.50325908e+04 ! particle number mass rhill +5.69676070e+03 !particle radius in m +-1.72820033e+07 -1.54859445e+07 -1.76600870e+05 ! x y z +9.00952544e+02 -1.00938815e+03 5.52976287e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +332 4.50908324e+05 1.60135274e+04 ! particle number mass rhill +1.17273100e+04 !particle radius in m +7.54874149e+06 -7.34865635e+06 1.58691383e+04 ! x y z +1.40447688e+03 1.44745232e+03 -1.19902506e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +333 3.88265588e+05 1.76282129e+04 ! particle number mass rhill +7.57115197e+03 !particle radius in m +6.70925482e+06 1.02233476e+07 -8.94168570e+04 ! x y z +-1.57673538e+03 1.00346927e+03 -1.54449677e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +334 3.44291979e+05 1.32450561e+04 ! particle number mass rhill +1.07187619e+04 !particle radius in m +-9.38875782e+06 -1.03278172e+06 4.07424683e+04 ! x y z +2.57699240e+02 -2.12423408e+03 -1.75552004e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +335 1.35334256e+05 1.01627003e+04 ! particle number mass rhill +7.85184231e+03 !particle radius in m +9.27514180e+06 3.60605892e+06 -8.97298126e+03 ! x y z +-7.45316219e+02 1.94032830e+03 2.50725751e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +336 5.49037875e+04 6.70694447e+03 ! particle number mass rhill +5.81259090e+03 !particle radius in m +2.84715606e+05 -8.96387040e+06 -7.61793089e+04 ! x y z +2.17642987e+03 7.44775849e+01 5.43474351e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +337 1.06085076e+06 1.97907369e+04 ! particle number mass rhill +1.05845019e+04 !particle radius in m +4.23618089e+06 8.82455069e+06 -3.58009197e+04 ! x y z +-1.88592236e+03 9.06205367e+02 -1.32060735e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +338 2.06072803e+05 1.29338641e+04 ! particle number mass rhill +9.03321920e+03 !particle radius in m +8.99412766e+06 -6.25093595e+06 5.78854309e+04 ! x y z +1.13268666e+03 1.63171487e+03 -3.80887879e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +339 1.09138269e+06 2.10029891e+04 ! particle number mass rhill +1.06850859e+04 !particle radius in m +8.95756676e+06 -5.04120234e+06 4.46604404e+04 ! x y z +9.97476295e+02 1.78291720e+03 1.83929026e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +340 1.18742709e+06 2.48211822e+04 ! particle number mass rhill +1.09897543e+04 !particle radius in m +-6.88398435e+06 -9.59185877e+06 5.44110030e+04 ! x y z +1.53704986e+03 -1.12804795e+03 1.33934445e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +341 8.61407126e+04 8.77159648e+03 ! particle number mass rhill +6.75416723e+03 !particle radius in m +4.06115845e+06 9.20664592e+06 1.44995295e+04 ! x y z +-1.87321421e+03 8.55264917e+02 4.54558328e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +342 6.83606027e+04 1.06731784e+04 ! particle number mass rhill +4.24346826e+03 !particle radius in m +5.83709056e+06 1.18773019e+07 -1.78313453e+04 ! x y z +-1.60438748e+03 8.04911839e+02 7.87147192e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +343 5.80242151e+05 1.62202808e+04 ! particle number mass rhill +1.27557328e+04 !particle radius in m +-9.82331264e+06 -1.72475014e+06 -4.50474397e+04 ! x y z +3.80035552e+02 -2.02006276e+03 1.41607704e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +344 8.02642827e+04 8.37530219e+03 ! particle number mass rhill +6.59694858e+03 !particle radius in m +-9.75150606e+06 1.14173962e+06 1.90738112e+04 ! x y z +-2.44986733e+02 -2.07228361e+03 4.28819137e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +345 1.76055567e+06 2.24567768e+04 ! particle number mass rhill +1.25314767e+04 !particle radius in m +8.89271698e+06 -2.80889036e+06 -9.05088712e+04 ! x y z +6.43083392e+02 2.05152117e+03 5.84263642e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +346 1.47293265e+05 9.27562637e+03 ! particle number mass rhill +5.48083372e+03 !particle radius in m +5.55138431e+05 8.96699891e+06 -2.02907914e+03 ! x y z +-2.16543193e+03 1.17824020e+02 1.89028293e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +347 9.25475148e+05 2.45394415e+04 ! particle number mass rhill +1.01136344e+04 !particle radius in m +1.08689498e+07 6.77891019e+06 -1.57957399e+05 ! x y z +-9.58257682e+02 1.54874788e+03 -4.38996175e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +348 1.53116579e+06 2.57152347e+04 ! particle number mass rhill +1.19617045e+04 !particle radius in m +-3.46641057e+06 1.06366697e+07 -4.89091419e+04 ! x y z +-1.87369781e+03 -5.85557096e+02 2.64347289e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +349 6.04551146e+05 1.51365545e+04 ! particle number mass rhill +1.29314335e+04 !particle radius in m +7.28383532e+06 5.25991927e+06 -2.74032882e+04 ! x y z +-1.28268765e+03 1.77447224e+03 6.54106986e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +350 1.48886859e+05 1.63747204e+04 ! particle number mass rhill +5.50052892e+03 !particle radius in m +-4.06177152e+06 -1.52948510e+07 1.69121808e+05 ! x y z +1.57226331e+03 -4.40552105e+02 -4.07139830e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +351 9.88917517e+04 8.68942842e+03 ! particle number mass rhill +4.79923872e+03 !particle radius in m +-9.47543528e+06 -9.79695598e+05 -1.53056931e+04 ! x y z +2.01324530e+02 -2.10617058e+03 -1.48150840e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +352 5.31761522e+05 2.89128345e+04 ! particle number mass rhill +8.40797283e+03 !particle radius in m +-1.79473215e+07 9.78097521e+05 5.91571461e+04 ! x y z +-1.10933113e+02 -1.54125298e+03 1.80243489e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +353 5.93800400e+05 3.46771236e+04 ! particle number mass rhill +8.72299905e+03 !particle radius in m +-4.10705239e+06 2.02615072e+07 8.49438827e+04 ! x y z +-1.41774938e+03 -2.76831824e+02 -8.09634112e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +354 2.16009390e+04 6.17472898e+03 ! particle number mass rhill +4.25918528e+03 !particle radius in m +9.20347813e+05 1.11635810e+07 4.32283845e+04 ! x y z +-1.94746867e+03 1.65365528e+02 5.45495799e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +355 1.24618540e+06 2.22772636e+04 ! particle number mass rhill +1.11681152e+04 !particle radius in m +1.02476212e+07 1.57307556e+06 1.24769819e+04 ! x y z +-3.20593926e+02 2.01506970e+03 6.12888669e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +356 2.53529332e+05 1.20865993e+04 ! particle number mass rhill +9.67932473e+03 !particle radius in m +-9.41529174e+06 -1.45196651e+06 -3.72716178e+03 ! x y z +3.30034223e+02 -2.10697891e+03 -9.10557070e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +357 3.29029712e+05 1.83883747e+04 ! particle number mass rhill +7.16468942e+03 !particle radius in m +9.63405331e+06 9.48657460e+06 -1.16765431e+05 ! x y z +-1.25212013e+03 1.25762974e+03 -8.79471164e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +358 2.17221291e+05 1.52159954e+04 ! particle number mass rhill +6.23859022e+03 !particle radius in m +1.28395429e+07 1.67358191e+05 3.52526511e+04 ! x y z +-4.79000239e+01 1.82109236e+03 -7.08024284e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +359 3.25443529e+05 1.78234223e+04 ! particle number mass rhill +1.05194783e+04 !particle radius in m +1.69906243e+05 1.31567065e+07 -2.83802597e+04 ! x y z +-1.79852464e+03 -2.60855891e+01 1.09479469e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +360 6.21375843e+05 1.72987397e+04 ! particle number mass rhill +1.30502985e+04 !particle radius in m +-8.71409354e+06 -5.07378044e+06 -2.89973508e+04 ! x y z +1.01955016e+03 -1.80816198e+03 1.72703995e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +361 1.19625108e+06 3.45202092e+04 ! particle number mass rhill +1.10169094e+04 !particle radius in m +-1.32773676e+07 9.58326159e+06 1.68929446e+04 ! x y z +-9.40100121e+02 -1.31837280e+03 -1.11767857e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +362 7.85243061e+05 1.82848577e+04 ! particle number mass rhill +9.57459397e+03 !particle radius in m +-8.40811158e+06 5.08930784e+06 5.82263133e+04 ! x y z +-1.10041478e+03 -1.79532449e+03 1.45771724e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +363 5.65328014e+04 9.14731336e+03 ! particle number mass rhill +3.98308125e+03 !particle radius in m +1.04113372e+07 -6.20697428e+06 -4.84867208e+03 ! x y z +9.45840262e+02 1.61620978e+03 2.47832189e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +364 6.87138794e+05 1.67675123e+04 ! particle number mass rhill +9.15799677e+03 !particle radius in m +-8.01518815e+06 -5.01852324e+06 5.17503273e+04 ! x y z +1.12426091e+03 -1.82440187e+03 2.07206048e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +365 3.35461131e+05 1.25266942e+04 ! particle number mass rhill +7.21107035e+03 !particle radius in m +2.07944449e+06 8.94904149e+06 4.13797547e+04 ! x y z +-2.09851241e+03 4.60858305e+02 2.54918811e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +366 1.00962284e+05 9.73161122e+03 ! particle number mass rhill +7.12123600e+03 !particle radius in m +9.71543544e+06 -3.75196256e+06 7.97368753e+04 ! x y z +7.42718545e+02 1.90076456e+03 1.83014984e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +367 1.83317034e+05 2.12530285e+04 ! particle number mass rhill +8.68766895e+03 !particle radius in m +1.76238307e+07 7.35273671e+06 8.70758386e+04 ! x y z +-5.77591306e+02 1.37259271e+03 3.08504041e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +368 4.69470359e+05 2.23837382e+04 ! particle number mass rhill +1.18860727e+04 !particle radius in m +1.05252406e+07 1.01023349e+07 1.18854193e+04 ! x y z +-1.19069656e+03 1.22779101e+03 7.21918511e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +369 1.04756800e+06 2.13183481e+04 ! particle number mass rhill +1.05401406e+04 !particle radius in m +-2.44589262e+06 9.98155585e+06 -7.16098465e+04 ! x y z +-2.01199959e+03 -4.94158200e+02 1.76332595e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +370 4.18223358e+05 2.54418848e+04 ! particle number mass rhill +1.14368147e+04 !particle radius in m +-1.71313810e+07 1.65684524e+05 7.09374774e+04 ! x y z +-1.73247831e+01 -1.58285349e+03 5.23281867e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +371 1.20015465e+06 2.17095629e+04 ! particle number mass rhill +1.10288797e+04 !particle radius in m +5.96055313e+06 8.26822848e+06 -6.95116782e+04 ! x y z +-1.67280349e+03 1.20494456e+03 -5.49043884e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +372 2.26102763e+04 5.41804252e+03 ! particle number mass rhill +4.32451704e+03 !particle radius in m +-4.58351543e+06 8.68653626e+06 -2.19181580e+04 ! x y z +-1.82145003e+03 -9.87506692e+02 -1.02913863e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +373 5.78093803e+04 1.24595443e+04 ! particle number mass rhill +5.91337055e+03 !particle radius in m +1.46092641e+06 1.62085257e+07 9.35785200e+04 ! x y z +-1.61693894e+03 1.23715914e+02 1.88035614e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +374 2.95683963e+05 1.17235659e+04 ! particle number mass rhill +6.91398214e+03 !particle radius in m +8.37967759e+06 2.86987872e+06 4.97540416e+02 ! x y z +-6.79497178e+02 2.09457077e+03 -7.48586459e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +375 4.12889379e+05 1.59172907e+04 ! particle number mass rhill +7.72793689e+03 !particle radius in m +1.00544998e+07 -4.23649556e+06 1.69842871e+04 ! x y z +7.79559289e+02 1.80935311e+03 -9.45690780e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +376 1.50756339e+05 9.79244978e+03 ! particle number mass rhill +5.52345548e+03 !particle radius in m +4.97012699e+06 7.77763306e+06 -1.08049137e+05 ! x y z +-1.81754065e+03 1.16817211e+03 7.93709072e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +377 4.43444272e+05 1.35175167e+04 ! particle number mass rhill +1.16622408e+04 !particle radius in m +-8.56556120e+06 -3.00745478e+06 2.68959103e+04 ! x y z +7.41957227e+02 -2.02442760e+03 5.97293652e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +378 5.12222480e+04 7.36091792e+03 ! particle number mass rhill +3.85423811e+03 !particle radius in m +-9.89914954e+06 1.64381375e+06 1.86441037e+04 ! x y z +-3.29902217e+02 -2.03621690e+03 -1.49125925e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +379 2.56717090e+05 2.83997991e+04 ! particle number mass rhill +9.71972363e+03 !particle radius in m +-1.33296527e+07 -1.79984260e+07 -6.91244815e+03 ! x y z +1.12052368e+03 -8.18620884e+02 -1.17030012e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +380 4.75536554e+05 1.67281272e+04 ! particle number mass rhill +8.10053368e+03 !particle radius in m +2.47744290e+05 1.08515872e+07 8.05332988e+04 ! x y z +-1.98242921e+03 4.60702324e+01 -8.10883988e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +381 2.04638999e+05 1.26959685e+04 ! particle number mass rhill +9.01222011e+03 !particle radius in m +-1.04485761e+07 -3.19315171e+06 -6.87163868e+04 ! x y z +5.84305730e+02 -1.88680612e+03 1.24994521e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +382 3.60539072e+05 1.69503875e+04 ! particle number mass rhill +7.38646156e+03 !particle radius in m +-4.30915405e+06 1.13988191e+07 -1.87898899e+03 ! x y z +-1.74153886e+03 -6.58302615e+02 5.64269794e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +383 1.79551829e+04 9.04731795e+03 ! particle number mass rhill +4.00465955e+03 !particle radius in m +1.07629692e+07 1.37789153e+07 5.87066489e+04 ! x y z +-1.23476438e+03 9.58354279e+02 -1.51457433e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +384 4.98876102e+05 3.47845056e+04 ! particle number mass rhill +8.23094873e+03 !particle radius in m +-2.26919155e+06 -2.23065641e+07 1.71429522e+05 ! x y z +1.36729685e+03 -1.26785143e+02 1.53512073e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +385 3.30264323e+04 5.95784944e+03 ! particle number mass rhill +4.90670043e+03 !particle radius in m +-8.76057602e+06 -2.98488729e+06 3.16441575e+04 ! x y z +7.01564230e+02 -2.04784374e+03 6.54428080e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +386 4.63310633e+05 2.64600689e+04 ! particle number mass rhill +1.18338596e+04 !particle radius in m +7.33432561e+06 1.58195231e+07 -1.25526941e+05 ! x y z +-1.41716350e+03 6.50084435e+02 1.99363998e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +387 4.19368635e+04 6.95684327e+03 ! particle number mass rhill +5.31334038e+03 !particle radius in m +9.67909368e+06 -3.14679172e+06 1.01149877e+04 ! x y z +6.30534017e+02 1.94451859e+03 1.40841719e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +388 2.57496102e+05 1.15319903e+04 ! particle number mass rhill +6.60251226e+03 !particle radius in m +3.58575623e+06 -8.28340933e+06 2.06786831e+04 ! x y z +2.01251169e+03 8.71048387e+02 4.13835680e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +389 4.88910847e+05 2.92163767e+04 ! particle number mass rhill +8.17577418e+03 !particle radius in m +-1.59444867e+07 -9.43202143e+06 -1.03432964e+05 ! x y z +7.76368044e+02 -1.31648260e+03 -1.97011404e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +390 5.40974116e+04 7.11908202e+03 ! particle number mass rhill +3.92504366e+03 !particle radius in m +8.15294773e+06 -4.83168922e+06 -2.23196035e+04 ! x y z +1.12438877e+03 1.80730928e+03 -9.96110137e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +391 1.52957016e+05 1.22293609e+04 ! particle number mass rhill +5.55020210e+03 !particle radius in m +1.15608807e+07 -1.72289132e+06 8.78681619e+04 ! x y z +2.64558251e+02 1.88351104e+03 -1.22676546e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +392 1.16028835e+05 1.00480378e+04 ! particle number mass rhill +7.45917792e+03 !particle radius in m +5.94153104e+05 1.04675287e+07 -7.76838952e+04 ! x y z +-2.01022149e+03 1.00791259e+02 2.73869669e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +393 2.82021040e+05 1.40688004e+04 ! particle number mass rhill +6.80580498e+03 !particle radius in m +9.10704389e+06 5.66556444e+06 -1.21395685e+05 ! x y z +-1.06310456e+03 1.70305461e+03 1.52195271e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +394 3.98007972e+05 2.07887076e+04 ! particle number mass rhill +7.63395485e+03 !particle radius in m +-6.14994249e+06 -1.27900562e+07 -1.88907757e+04 ! x y z +1.55814359e+03 -7.78224426e+02 2.73440877e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +395 9.71117259e+04 8.84618676e+03 ! particle number mass rhill +7.02952878e+03 !particle radius in m +-8.80385560e+06 3.77151207e+06 -1.21818940e+05 ! x y z +-8.47944944e+02 -1.95313347e+03 -1.70763192e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +396 4.85180076e+05 1.88181431e+04 ! particle number mass rhill +1.20172005e+04 !particle radius in m +1.08664166e+07 5.36923937e+06 -8.13196573e+04 ! x y z +-8.16624638e+02 1.69027839e+03 8.34673628e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +397 2.32920343e+05 1.16940572e+04 ! particle number mass rhill +6.38540043e+03 !particle radius in m +-5.47268707e+06 7.90131264e+06 3.38529547e+04 ! x y z +-1.73122732e+03 -1.20437649e+03 1.62011748e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +398 1.41454261e+06 2.84156620e+04 ! particle number mass rhill +1.16499575e+04 !particle radius in m +1.10121047e+07 -6.14561995e+06 5.51425169e+04 ! x y z +8.91208138e+02 1.62668641e+03 -4.00812310e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +399 1.73697324e+05 1.64478571e+04 ! particle number mass rhill +5.79050854e+03 !particle radius in m +-3.82515764e+06 1.42902315e+07 -2.47878060e+04 ! x y z +-1.63598310e+03 -4.85341065e+02 -2.82331478e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +400 1.55709181e+06 2.18057129e+04 ! particle number mass rhill +1.20288397e+04 !particle radius in m +-1.84053839e+06 9.22666914e+06 -1.87382012e+04 ! x y z +-2.10070573e+03 -4.25824187e+02 -2.45200413e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +401 2.07330430e+05 1.42389392e+04 ! particle number mass rhill +6.14242713e+03 !particle radius in m +-7.35737221e+06 -9.68920345e+06 5.93390680e+04 ! x y z +1.50053722e+03 -1.12338599e+03 -1.30933156e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +402 2.66341603e+05 1.31577788e+04 ! particle number mass rhill +9.83970306e+03 !particle radius in m +-8.70682368e+06 5.56356570e+06 -6.56478138e+04 ! x y z +-1.11346390e+03 -1.70326053e+03 1.28466204e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +403 1.90092636e+05 1.78825398e+04 ! particle number mass rhill +5.96724810e+03 !particle radius in m +7.02500514e+06 -1.38238984e+07 6.74566304e+04 ! x y z +1.48675948e+03 7.65020748e+02 8.19788003e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +404 4.48638932e+05 1.53496689e+04 ! particle number mass rhill +1.17076027e+04 !particle radius in m +-9.79856030e+06 2.12372760e+06 1.89480336e+04 ! x y z +-4.48830087e+02 -2.02736841e+03 -1.23694959e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +405 1.73398341e+05 2.54379577e+04 ! particle number mass rhill +8.52806763e+03 !particle radius in m +-1.01558817e+07 -2.10873547e+07 -2.03636345e+05 ! x y z +1.20616652e+03 -5.87121724e+02 -4.30533916e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +406 5.83945240e+05 2.67498480e+04 ! particle number mass rhill +8.67447176e+03 !particle radius in m +1.10980559e+07 1.19228306e+07 -2.89204661e+04 ! x y z +-1.18553044e+03 1.09632262e+03 8.12769922e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +407 2.44311266e+05 1.21893974e+04 ! particle number mass rhill +6.48784045e+03 !particle radius in m +1.00683282e+07 -1.06678967e+05 -7.08192900e+04 ! x y z +7.59653606e-01 2.03836538e+03 -2.00978691e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +408 2.68758985e+05 1.15689067e+04 ! particle number mass rhill +9.86938263e+03 !particle radius in m +8.35393830e+06 3.60269502e+06 -6.29338444e+04 ! x y z +-8.43508227e+02 1.99248181e+03 2.35695291e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +409 2.09880806e+05 2.76842944e+04 ! particle number mass rhill +9.08852133e+03 !particle radius in m +7.15716844e+06 2.23969109e+07 -2.43128655e+05 ! x y z +-1.28744111e+03 4.04784490e+02 -9.98522887e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +410 4.53834965e+05 1.88574756e+04 ! particle number mass rhill +7.97538482e+03 !particle radius in m +9.79101038e+06 -7.57582171e+06 -6.16544234e+03 ! x y z +1.14324704e+03 1.46779509e+03 -4.09524183e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +411 4.95608775e+05 3.36478551e+04 ! particle number mass rhill +1.21026921e+04 !particle radius in m +1.92900217e+07 -9.92716086e+06 -8.71066703e+04 ! x y z +6.46615886e+02 1.23877023e+03 -8.06944804e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +412 4.02159459e+05 1.51756172e+04 ! particle number mass rhill +1.12884701e+04 !particle radius in m +7.63578761e+05 -1.05163176e+07 -1.40125740e+03 ! x y z +1.99506811e+03 1.28492643e+02 -1.21964426e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +413 1.16363900e+06 2.46877619e+04 ! particle number mass rhill +1.09158716e+04 !particle radius in m +6.16240208e+05 1.16898273e+07 -2.31871163e+03 ! x y z +-1.92072024e+03 1.14544858e+02 -1.24842975e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +414 1.07497381e+05 1.07118523e+04 ! particle number mass rhill +4.93459624e+03 !particle radius in m +1.03595473e+07 -4.35809471e+06 -5.55598025e+04 ! x y z +7.59957188e+02 1.81039627e+03 -9.27171494e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +415 7.20978833e+05 2.10625708e+04 ! particle number mass rhill +9.30593115e+03 !particle radius in m +-8.58951099e+05 1.20741593e+07 8.58096722e+03 ! x y z +-1.85656009e+03 -1.31659982e+02 -7.07088670e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +416 1.28427470e+05 1.34925228e+04 ! particle number mass rhill +7.71593034e+03 !particle radius in m +1.34936412e+07 9.22411406e+05 -1.28097766e+05 ! x y z +-1.21347788e+02 1.77352752e+03 6.09816980e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +417 1.87301701e+04 5.21024920e+03 ! particle number mass rhill +4.06146670e+03 !particle radius in m +8.93667242e+06 -4.37387871e+06 4.75249766e+04 ! x y z +9.07116732e+02 1.86034352e+03 -2.16160032e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +418 1.18868346e+05 1.13624133e+04 ! particle number mass rhill +5.10279049e+03 !particle radius in m +2.97443729e+06 1.12987732e+07 -7.15478904e+04 ! x y z +-1.84937662e+03 4.88975049e+02 -1.62129744e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +419 8.52470325e+05 2.51851270e+04 ! particle number mass rhill +9.84038492e+03 !particle radius in m +-1.20782110e+07 5.42799080e+06 -2.14298463e+04 ! x y z +-7.60124760e+02 -1.64210069e+03 1.17910321e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +420 4.92630611e+05 2.65246208e+04 ! particle number mass rhill +8.19645631e+03 !particle radius in m +-1.66687778e+07 3.40131310e+06 -8.13780785e+04 ! x y z +-3.27574668e+02 -1.54958699e+03 7.60005752e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +421 1.21279031e+06 2.36838042e+04 ! particle number mass rhill +1.10674500e+04 !particle radius in m +8.04465463e+06 7.94262975e+06 3.50880055e+04 ! x y z +-1.38047284e+03 1.36038061e+03 9.60840796e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +422 2.26966144e+05 1.07078719e+04 ! particle number mass rhill +9.32873342e+03 !particle radius in m +8.72948534e+06 2.25552201e+06 -6.67651980e+03 ! x y z +-5.17110071e+02 2.09745799e+03 -1.26305103e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +423 5.60894834e+04 1.28408323e+04 ! particle number mass rhill +3.97264243e+03 !particle radius in m +1.59911238e+07 -5.78123234e+06 -4.96452199e+04 ! x y z +5.52053054e+02 1.48435519e+03 -7.76218367e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +424 2.74792847e+05 1.16703384e+04 ! particle number mass rhill +9.94269530e+03 !particle radius in m +-7.16058601e+06 5.68697632e+06 2.50735615e+04 ! x y z +-1.32041167e+03 -1.70209713e+03 -5.51776816e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +425 1.03592686e+06 1.97323119e+04 ! particle number mass rhill +1.05009525e+04 !particle radius in m +-1.96591682e+06 -9.56765462e+06 -5.49582524e+04 ! x y z +2.05754068e+03 -4.30221705e+02 -6.52205972e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +426 1.55296659e+05 1.56025405e+04 ! particle number mass rhill +8.22033835e+03 !particle radius in m +-1.32036875e+07 -6.42805082e+06 -2.13137156e+04 ! x y z +7.40576713e+02 -1.53667373e+03 -1.66122663e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +427 1.89421380e+06 3.06783506e+04 ! particle number mass rhill +1.28408960e+04 !particle radius in m +7.26511252e+06 1.02544271e+07 -1.28126970e+04 ! x y z +-1.50567288e+03 1.06151555e+03 -1.91621752e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +428 4.66109388e+04 7.82343589e+03 ! particle number mass rhill +5.50382909e+03 !particle radius in m +-9.70398421e+06 5.43301598e+06 -7.10765156e+04 ! x y z +-9.66770489e+02 -1.69237365e+03 -3.28188506e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +429 1.90146495e+06 2.33121169e+04 ! particle number mass rhill +1.28572603e+04 !particle radius in m +2.96216400e+05 -9.44659905e+06 6.39430618e+04 ! x y z +2.13334160e+03 5.10827881e+01 -3.06567932e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +430 4.61962305e+04 6.63727442e+03 ! particle number mass rhill +3.72381283e+03 !particle radius in m +-7.59639515e+06 5.48032752e+06 -2.40679326e+03 ! x y z +-1.21575451e+03 -1.75481888e+03 -1.69366205e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +431 6.71482788e+04 7.73769019e+03 ! particle number mass rhill +6.21604216e+03 !particle radius in m +4.26014597e+06 8.47244148e+06 -4.52841666e+04 ! x y z +-1.89773381e+03 9.86947142e+02 2.27005651e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +432 3.12766116e+05 1.22096765e+04 ! particle number mass rhill +7.04464148e+03 !particle radius in m +5.86869928e+06 6.95435059e+06 -3.04780435e+04 ! x y z +-1.65434811e+03 1.39969038e+03 3.34387968e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +433 4.30468140e+05 1.48164986e+04 ! particle number mass rhill +1.15473588e+04 !particle radius in m +-8.24315322e+06 -5.69586696e+06 2.20302861e+04 ! x y z +1.15852208e+03 -1.69773981e+03 2.26551767e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +434 2.67293742e+04 5.47730098e+03 ! particle number mass rhill +4.57262149e+03 !particle radius in m +-2.90925512e+06 8.79933915e+06 6.42165783e+04 ! x y z +-2.03971713e+03 -6.70860975e+02 7.91657343e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +435 6.11118104e+05 1.81074363e+04 ! particle number mass rhill +1.29780877e+04 !particle radius in m +9.24506088e+06 5.42020869e+06 3.55011834e+04 ! x y z +-9.90032731e+02 1.74244918e+03 -6.84359361e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +436 4.63405803e+04 1.11333435e+04 ! particle number mass rhill +3.72768740e+03 !particle radius in m +1.49390033e+07 5.03002569e+06 -6.08660675e+04 ! x y z +-5.02338251e+02 1.56332178e+03 -1.67781569e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +437 3.25218696e+05 1.69362297e+04 ! particle number mass rhill +1.05170553e+04 !particle radius in m +1.23161243e+07 1.68843020e+06 2.12877558e+04 ! x y z +-2.39425053e+02 1.84057327e+03 1.32413609e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +438 1.84457438e+06 2.16659606e+04 ! particle number mass rhill +1.27277329e+04 !particle radius in m +8.91889708e+06 -5.54747107e+05 4.66922419e+04 ! x y z +1.62589921e+02 2.18077019e+03 -1.86548050e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +439 6.44421975e+05 1.54647739e+04 ! particle number mass rhill +8.96414991e+03 !particle radius in m +-5.82188250e+06 -6.93015474e+06 8.83731418e+03 ! x y z +1.65500621e+03 -1.40856285e+03 -4.08918572e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +440 1.00366062e+06 2.04312159e+04 ! particle number mass rhill +1.03907754e+04 !particle radius in m +-7.35080590e+06 -7.29055125e+06 -1.20861111e+03 ! x y z +1.39392385e+03 -1.47392682e+03 -1.29937331e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +441 1.07492900e+05 1.20693239e+04 ! particle number mass rhill +4.93452768e+03 !particle radius in m +-1.22300071e+07 4.00505750e+06 -4.82429747e+04 ! x y z +-5.99234873e+02 -1.71878148e+03 -9.59996458e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +442 4.00127188e+04 1.04048251e+04 ! particle number mass rhill +5.23080275e+03 !particle radius in m +1.90445756e+06 1.53190995e+07 1.28393938e+05 ! x y z +-1.65070889e+03 1.86078304e+02 1.21713635e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +443 1.72835996e+04 4.91695733e+03 ! particle number mass rhill +3.95409460e+03 !particle radius in m +1.16512710e+06 9.58806430e+06 6.00184281e+03 ! x y z +-2.08431325e+03 2.50023373e+02 -4.86726355e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +444 3.64491164e+04 6.19302531e+03 ! particle number mass rhill +5.07066194e+03 !particle radius in m +2.90940058e+06 8.85967621e+06 -3.67911262e+04 ! x y z +-2.05184488e+03 6.57972025e+02 3.77722174e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +445 9.66027161e+05 2.03395398e+04 ! particle number mass rhill +1.02592460e+04 !particle radius in m +1.02030674e+07 -2.25656251e+06 -2.42931768e+04 ! x y z +4.02033391e+02 1.97779610e+03 -4.56432654e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +446 2.22544479e+04 4.96458922e+03 ! particle number mass rhill +4.30171134e+03 !particle radius in m +-2.21966207e+06 -8.53462824e+06 5.98951302e+03 ! x y z +2.13957370e+03 -5.72879766e+02 -9.73511724e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +447 8.51272363e+05 1.92265349e+04 ! particle number mass rhill +9.83577325e+03 !particle radius in m +-5.82677409e+06 -8.25640044e+06 -1.85310721e+04 ! x y z +1.68912824e+03 -1.20023426e+03 -1.46688747e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +448 2.32140349e+05 1.29036607e+04 ! particle number mass rhill +9.39909127e+03 !particle radius in m +-4.15446158e+05 -1.04064911e+07 -6.01445752e+04 ! x y z +2.04307655e+03 -9.44888304e+01 -1.29270899e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +449 1.28498831e+05 1.39952129e+04 ! particle number mass rhill +5.23703394e+03 !particle radius in m +1.44949245e+06 -1.38726585e+07 1.28983420e+04 ! x y z +1.74524417e+03 1.89418829e+02 -1.27510818e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +450 8.56861708e+04 1.01449417e+04 ! particle number mass rhill +6.74226629e+03 !particle radius in m +-1.02673257e+07 5.51832525e+06 7.68510549e+04 ! x y z +-9.09826047e+02 -1.68325012e+03 -9.74521738e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +451 1.33577416e+06 3.21447068e+04 ! particle number mass rhill +1.14295731e+04 !particle radius in m +9.99103043e+06 1.06885708e+07 7.94231343e+04 ! x y z +-1.28100100e+03 1.14298665e+03 7.74179187e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +452 1.29793646e+06 2.15081615e+04 ! particle number mass rhill +1.13206181e+04 !particle radius in m +4.41133703e+06 8.86113052e+06 -4.90493478e+04 ! x y z +-1.86573176e+03 9.32322270e+02 -1.20417460e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +453 3.52625005e+05 1.46757322e+04 ! particle number mass rhill +7.33201534e+03 !particle radius in m +-1.05312274e+07 1.06309083e+06 -3.40508748e+04 ! x y z +-2.12025256e+02 -1.99070933e+03 2.76988985e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +454 8.65462312e+04 8.10394938e+03 ! particle number mass rhill +6.76474935e+03 !particle radius in m +-9.13190511e+06 -9.87045448e+05 4.65363249e+04 ! x y z +2.72813658e+02 -2.14939314e+03 -6.89232508e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +455 5.62433674e+05 1.67093031e+04 ! particle number mass rhill +8.56661866e+03 !particle radius in m +-9.55165901e+06 3.32037562e+06 -5.74639097e+04 ! x y z +-7.05014643e+02 -1.94468153e+03 -9.68692941e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +456 5.46940517e+05 2.51399946e+04 ! particle number mass rhill +8.48722461e+03 !particle radius in m +-2.79080237e+06 -1.49534280e+07 6.61250908e+04 ! x y z +1.66874204e+03 -2.93565278e+02 -6.04868304e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +457 8.86959726e+04 8.09465350e+03 ! particle number mass rhill +6.82030227e+03 !particle radius in m +1.76076614e+06 -8.89107995e+06 4.77043786e+04 ! x y z +2.14748256e+03 4.04932388e+02 -1.26152318e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +458 9.68803238e+05 1.76061812e+04 ! particle number mass rhill +1.02690639e+04 !particle radius in m +8.52637393e+06 2.63618253e+06 -5.22911736e+04 ! x y z +-6.60976767e+02 2.09577153e+03 3.42675226e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +459 1.37575237e+05 1.11544680e+04 ! particle number mass rhill +5.35754408e+03 !particle radius in m +1.08528417e+07 5.02794391e+05 -2.76918530e+04 ! x y z +-1.27726381e+02 1.98516729e+03 -1.12360782e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +460 1.48998220e+06 2.18747787e+04 ! particle number mass rhill +1.18534842e+04 !particle radius in m +-7.11955030e+06 6.48411163e+06 -1.64876744e+04 ! x y z +-1.43123341e+03 -1.55444238e+03 -1.21086898e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +461 6.74728805e+05 1.62968820e+04 ! particle number mass rhill +9.10252919e+03 !particle radius in m +7.73539416e+06 4.91837100e+06 3.79759434e+04 ! x y z +-1.16029500e+03 1.85248711e+03 2.31086993e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +462 2.99651592e+05 1.21722314e+04 ! particle number mass rhill +1.02339004e+04 !particle radius in m +8.76407090e+06 -2.02266717e+06 -1.17355053e+04 ! x y z +4.87045225e+02 2.14976445e+03 -1.12592644e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +463 4.45840740e+05 1.45174622e+04 ! particle number mass rhill +1.16832115e+04 !particle radius in m +-5.85624077e+06 -7.65100688e+06 -6.81073848e+04 ! x y z +1.69101430e+03 -1.25110313e+03 -1.69620610e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +464 2.77600737e+04 7.85191483e+03 ! particle number mass rhill +4.63065609e+03 !particle radius in m +-4.73064294e+06 1.23174391e+07 -1.15616945e+05 ! x y z +-1.67622870e+03 -6.40214154e+02 -2.40259531e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +465 2.75389964e+05 1.70205112e+04 ! particle number mass rhill +6.75204041e+03 !particle radius in m +1.21865621e+07 4.96824670e+06 1.38201935e+04 ! x y z +-6.90512507e+02 1.66991832e+03 1.81886433e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +466 2.75903056e+05 1.73578977e+04 ! particle number mass rhill +9.95606737e+03 !particle radius in m +1.16681691e+07 6.27755146e+06 -9.89757611e+04 ! x y z +-8.82483897e+02 1.58231102e+03 -7.45315405e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +467 6.02190482e+04 9.10996020e+03 ! particle number mass rhill +5.99441701e+03 !particle radius in m +-9.82574233e+06 -6.12952303e+06 1.96949177e+04 ! x y z +1.01952580e+03 -1.64506613e+03 1.17311172e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +468 4.42759837e+05 1.56527672e+04 ! particle number mass rhill +1.16562377e+04 !particle radius in m +-7.66867450e+06 -6.71467472e+06 1.82936899e+04 ! x y z +1.37697709e+03 -1.54141508e+03 -1.04916179e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +469 3.36720172e+05 1.96306197e+04 ! particle number mass rhill +7.22008053e+03 !particle radius in m +6.68731996e+06 1.21566043e+07 -5.02348380e+04 ! x y z +-1.55626881e+03 8.62955881e+02 7.13319505e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +470 2.58940449e+04 7.82575799e+03 ! particle number mass rhill +4.52448294e+03 !particle radius in m +5.58226973e+05 -1.33893338e+07 3.23944444e+04 ! x y z +1.78341617e+03 5.70175526e+01 2.01164673e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +471 1.45256608e+05 9.66608592e+03 ! particle number mass rhill +8.03922694e+03 !particle radius in m +2.69184570e+06 8.96128856e+06 -1.43912663e+04 ! x y z +-2.03943626e+03 6.16982327e+02 1.53458951e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +472 1.15877026e+06 3.68429014e+04 ! particle number mass rhill +1.09006261e+04 !particle radius in m +-1.76847286e+07 -6.05601018e+05 1.06870104e+04 ! x y z +8.13556990e+01 -1.55405464e+03 1.07736989e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +473 1.89629066e+05 1.08509311e+04 ! particle number mass rhill +5.96239346e+03 !particle radius in m +-4.46692197e+06 -8.22773588e+06 -3.36712950e+04 ! x y z +1.90929541e+03 -1.00567083e+03 1.30091738e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +474 5.15337334e+04 1.59115247e+04 ! particle number mass rhill +3.86203494e+03 !particle radius in m +1.09873618e+07 1.89353789e+07 1.37058307e+05 ! x y z +-1.20089709e+03 6.97166990e+02 -1.15971142e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +475 1.57230937e+06 2.05829163e+04 ! particle number mass rhill +1.20678989e+04 !particle radius in m +8.92466133e+06 -1.21792450e+06 3.61100410e+04 ! x y z +3.10051974e+02 2.14937296e+03 -1.41043166e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +476 6.33227061e+05 1.83648511e+04 ! particle number mass rhill +8.91193791e+03 !particle radius in m +-5.85289838e+05 1.08674619e+07 3.13865857e+04 ! x y z +-1.97212405e+03 -1.17677554e+02 -3.37938196e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +477 7.35347415e+04 7.85278044e+03 ! particle number mass rhill +6.40717392e+03 !particle radius in m +2.71862051e+06 -9.05514497e+06 -5.54339403e+02 ! x y z +2.04451063e+03 5.93924832e+02 -2.26401878e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +478 2.95966865e+05 1.22630751e+04 ! particle number mass rhill +1.01917795e+04 !particle radius in m +-4.06364003e+06 8.41274452e+06 3.61206264e+04 ! x y z +-1.92276154e+03 -9.27433732e+02 1.11784546e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +479 9.71859875e+04 1.13295872e+04 ! particle number mass rhill +7.03132016e+03 !particle radius in m +-1.19933178e+07 -3.73131347e+06 1.49826992e+03 ! x y z +5.46200488e+02 -1.75445228e+03 -4.43292318e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +480 1.81399777e+04 1.22864947e+04 ! particle number mass rhill +4.01835133e+03 !particle radius in m +-2.24454214e+07 -7.37433557e+06 5.58803594e+04 ! x y z +4.48331646e+02 -1.26886747e+03 -5.97172099e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +481 8.06531544e+04 8.77644669e+03 ! particle number mass rhill +4.48393645e+03 !particle radius in m +-1.00569236e+07 1.52027585e+06 5.50467478e+04 ! x y z +-2.73653938e+02 -2.04195337e+03 2.77105641e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +482 2.97181135e+04 5.68599691e+03 ! particle number mass rhill +4.73706563e+03 !particle radius in m +1.42492815e+06 -9.15917062e+06 -2.25858696e+04 ! x y z +2.12298306e+03 3.34049377e+02 1.00298878e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +483 4.23222409e+04 7.28278576e+03 ! particle number mass rhill +5.32956636e+03 !particle radius in m +-7.74886856e+06 6.98419572e+06 4.81094824e+02 ! x y z +-1.36287826e+03 -1.51437942e+03 -1.68752883e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +484 2.03031340e+05 1.37443509e+04 ! particle number mass rhill +8.98855782e+03 !particle radius in m +-9.13222067e+06 7.31343022e+06 -3.08093425e+04 ! x y z +-1.21046156e+03 -1.49256909e+03 -3.15355485e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +485 6.08047440e+04 8.91637215e+03 ! particle number mass rhill +6.01378842e+03 !particle radius in m +6.06087158e+06 -9.69417839e+06 6.23119551e+04 ! x y z +1.63826093e+03 1.03252872e+03 -8.91138112e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +486 8.86921034e+04 1.25973681e+04 ! particle number mass rhill +4.62821986e+03 !particle radius in m +1.42036863e+07 3.21005959e+05 -1.52147935e+05 ! x y z +-2.29346938e+01 1.73911536e+03 2.41934076e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +487 9.52577096e+05 1.72967606e+04 ! particle number mass rhill +1.02114099e+04 !particle radius in m +2.47060933e+06 -8.49038937e+06 -1.64092125e+04 ! x y z +2.11333925e+03 6.27764025e+02 3.26978709e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +488 5.18391704e+05 2.71580514e+04 ! particle number mass rhill +1.22853727e+04 !particle radius in m +-1.70653039e+07 2.72173559e+06 1.07972032e+05 ! x y z +-2.36876536e+02 -1.54619144e+03 -7.91920171e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +489 4.36645660e+05 1.45363957e+04 ! particle number mass rhill +7.87339511e+03 !particle radius in m +9.29964742e+06 2.61866241e+06 1.18151327e+04 ! x y z +-6.01432781e+02 2.01893065e+03 -9.18340859e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +490 3.24205564e+05 1.34006277e+04 ! particle number mass rhill +1.05061229e+04 !particle radius in m +5.46329309e+06 -8.17615351e+06 3.23278517e+03 ! x y z +1.73194521e+03 1.16682128e+03 -2.32849453e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +491 6.63821774e+04 1.05636781e+04 ! particle number mass rhill +4.20213010e+03 !particle radius in m +-9.38612532e+06 8.96174000e+06 1.24251608e+04 ! x y z +-1.26134064e+03 -1.32562137e+03 -9.16926524e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +492 1.48737769e+05 1.42832047e+04 ! particle number mass rhill +5.49869230e+03 !particle radius in m +1.34404207e+06 -1.34982267e+07 -9.98145158e+04 ! x y z +1.77251874e+03 1.58186229e+02 -1.18233653e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +493 4.27953152e+04 1.09683126e+04 ! particle number mass rhill +5.34935064e+03 !particle radius in m +1.59657590e+07 -1.84107184e+06 7.91634963e+04 ! x y z +1.77740752e+02 1.61004155e+03 -8.76452331e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +494 1.55605997e+04 9.97417601e+03 ! particle number mass rhill +3.81807480e+03 !particle radius in m +-1.95422324e+07 4.27225532e+06 -1.15437134e+04 ! x y z +-3.47390066e+02 -1.42742043e+03 -9.37392480e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +495 1.07612435e+05 9.82215943e+03 ! particle number mass rhill +7.27427657e+03 !particle radius in m +-8.32827018e+06 6.50246828e+06 1.07863935e+04 ! x y z +-1.19572995e+03 -1.60254308e+03 1.23423582e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +496 5.96462922e+05 1.86294653e+04 ! particle number mass rhill +8.73601721e+03 !particle radius in m +-1.07074688e+07 2.34621575e+06 5.93641138e+04 ! x y z +-4.22982902e+02 -1.94965020e+03 -1.96471998e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +497 4.30903278e+05 2.02800538e+04 ! particle number mass rhill +1.15512484e+04 !particle radius in m +4.51979494e+06 1.22520862e+07 -1.38847489e+04 ! x y z +-1.72593078e+03 6.48260700e+02 -7.40684356e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +498 2.62273130e+05 1.74445137e+04 ! particle number mass rhill +6.64309194e+03 !particle radius in m +2.92552013e+06 -1.35219163e+07 -7.24169872e+04 ! x y z +1.71212479e+03 3.82693746e+02 1.13508153e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +499 9.47984404e+05 2.08482098e+04 ! particle number mass rhill +1.01949726e+04 !particle radius in m +8.44057923e+05 -1.07213279e+07 5.42825433e+04 ! x y z +1.98524585e+03 1.59641509e+02 -2.17308444e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +500 1.71702832e+06 3.33526891e+04 ! particle number mass rhill +1.24273391e+04 !particle radius in m +-5.70564751e+06 -1.28061077e+07 7.89815585e+04 ! x y z +1.59615438e+03 -7.17950030e+02 -1.60355758e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +501 2.72234422e+05 1.15106750e+04 ! particle number mass rhill +9.91174230e+03 !particle radius in m +6.42542385e+06 -6.26831304e+06 -8.52096344e+03 ! x y z +1.51047048e+03 1.57585291e+03 1.26849618e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +502 1.23522546e+05 1.28533789e+04 ! particle number mass rhill +7.61642321e+03 !particle radius in m +-1.26986567e+07 2.05439645e+06 4.23816010e+04 ! x y z +-3.17593598e+02 -1.80836332e+03 1.37317505e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +503 1.79476667e+05 1.06554012e+04 ! particle number mass rhill +5.85403069e+03 !particle radius in m +3.89723404e+06 -8.71939773e+06 -1.59555101e+04 ! x y z +1.92484978e+03 8.78585634e+02 3.76576757e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +504 8.12308648e+05 1.77510996e+04 ! particle number mass rhill +9.68335876e+03 !particle radius in m +9.58403819e+06 -1.00242938e+06 4.12991678e+04 ! x y z +2.21630062e+02 2.09275016e+03 1.75085392e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +505 9.52125066e+05 2.49408408e+04 ! particle number mass rhill +1.02097944e+04 !particle radius in m +-2.44297176e+05 1.26729604e+07 2.03607439e+04 ! x y z +-1.84680295e+03 -1.82730822e+01 -2.91252739e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +506 4.64738988e+04 6.53761969e+03 ! particle number mass rhill +5.49842989e+03 !particle radius in m +-8.96004039e+06 4.09560494e+05 -3.60456167e+04 ! x y z +-1.02191608e+02 -2.20756190e+03 -2.24493109e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +507 5.74538635e+05 1.72816119e+04 ! particle number mass rhill +1.27138008e+04 !particle radius in m +-6.81541514e+06 -7.94063477e+06 -7.18748605e+04 ! x y z +1.54316120e+03 -1.31237150e+03 -1.15079245e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +508 6.06350829e+05 2.46184244e+04 ! particle number mass rhill +8.78402686e+03 !particle radius in m +-9.08822325e+06 1.13954530e+07 -2.08875223e+04 ! x y z +-1.34302030e+03 -1.07504367e+03 -1.24686872e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +509 1.36687504e+06 2.39325427e+04 ! particle number mass rhill +1.15175985e+04 !particle radius in m +-1.06157252e+07 1.57779393e+06 -6.65867787e+03 ! x y z +-2.87369206e+02 -1.99101003e+03 7.20690801e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +510 6.62491872e+05 1.93909693e+04 ! particle number mass rhill +9.04716508e+03 !particle radius in m +7.17906044e+06 8.87425909e+06 -3.25181785e+04 ! x y z +-1.49406264e+03 1.20724214e+03 6.21002078e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +511 1.47316882e+05 1.36578017e+04 ! particle number mass rhill +5.48112664e+03 !particle radius in m +-1.21003843e+06 -1.29422942e+07 -7.40239219e+04 ! x y z +1.81002624e+03 -1.79331834e+02 1.25932266e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +512 1.70937828e+05 1.02401788e+04 ! particle number mass rhill +8.48753771e+03 !particle radius in m +-6.99463389e+06 -6.47905900e+06 9.60433255e+04 ! x y z +1.43760545e+03 -1.52260892e+03 -8.56316812e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +513 1.81406130e+06 3.13505650e+04 ! particle number mass rhill +1.26571613e+04 !particle radius in m +6.31211278e+06 1.15740500e+07 2.93359231e+04 ! x y z +-1.56035950e+03 8.72608400e+02 2.02164700e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +514 2.10541334e+04 8.90662069e+03 ! particle number mass rhill +4.22293872e+03 !particle radius in m +-1.14209193e+07 -1.19005899e+07 4.72825184e+04 ! x y z +1.16096797e+03 -1.10215252e+03 -1.73463799e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +515 2.17159803e+05 1.07749747e+04 ! particle number mass rhill +9.19239764e+03 !particle radius in m +-1.91436849e+06 -8.75500915e+06 -5.63789360e+04 ! x y z +2.13513923e+03 -5.15505302e+02 8.14672797e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +516 7.30928133e+04 7.84250334e+03 ! particle number mass rhill +6.39431287e+03 !particle radius in m +-7.76033426e+06 5.83903373e+06 1.45914082e+04 ! x y z +-1.24659220e+03 -1.65602207e+03 2.58792993e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +517 9.83999051e+04 1.16580527e+04 ! particle number mass rhill +7.06047440e+03 !particle radius in m +6.04175168e+06 -1.13300829e+07 -2.21833258e+04 ! x y z +1.60126812e+03 8.64183750e+02 2.07897641e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +518 5.97934335e+04 7.15900578e+03 ! particle number mass rhill +5.98026121e+03 !particle radius in m +7.56777600e+06 -5.38164192e+06 4.82260182e+04 ! x y z +1.23384783e+03 1.75131178e+03 1.39050720e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +519 5.71894876e+04 8.55975767e+03 ! particle number mass rhill +5.89215810e+03 !particle radius in m +2.24109885e+06 -1.09795024e+07 -3.90720695e+03 ! x y z +1.91472479e+03 3.97948512e+02 1.96668988e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +520 1.48754762e+06 2.05963996e+04 ! particle number mass rhill +1.18470246e+04 !particle radius in m +-1.60346956e+06 8.94982575e+06 -4.55491048e+04 ! x y z +-2.13610180e+03 -3.93853083e+02 6.45999458e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +521 3.51821464e+05 2.32804021e+04 ! particle number mass rhill +1.07963370e+04 !particle radius in m +1.33407792e+07 -9.60353157e+06 -4.36975900e+04 ! x y z +9.42437149e+02 1.32281900e+03 -2.80741977e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +522 7.65767425e+05 1.68127024e+04 ! particle number mass rhill +9.49477387e+03 !particle radius in m +5.43228414e+06 -7.41736135e+06 -2.66812088e+04 ! x y z +1.72722717e+03 1.31007512e+03 -7.34912008e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +523 4.89668862e+04 9.49351088e+03 ! particle number mass rhill +3.79681841e+03 !particle radius in m +1.54005009e+06 1.28774959e+07 5.16246471e+04 ! x y z +-1.81371335e+03 2.12824688e+02 -9.20646953e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +524 1.25229074e+06 2.76881585e+04 ! particle number mass rhill +1.11863238e+04 !particle radius in m +1.67931493e+06 1.31306619e+07 -2.70431013e+03 ! x y z +-1.76941688e+03 1.91845464e+02 5.05532665e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +525 3.32931200e+05 1.90744628e+04 ! particle number mass rhill +1.05995433e+04 !particle radius in m +-1.32214307e+07 4.59727104e+06 -3.96485583e+04 ! x y z +-5.86090985e+02 -1.64093893e+03 -8.60481037e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +526 1.39271951e+05 1.22980473e+04 ! particle number mass rhill +7.92726804e+03 !particle radius in m +-1.18927692e+07 -9.15865717e+05 -4.39369369e+04 ! x y z +1.82263225e+02 -1.88987287e+03 9.03561914e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +527 2.99878480e+05 1.71185236e+04 ! particle number mass rhill +1.02364827e+04 !particle radius in m +-9.62033211e+06 8.56620033e+06 -2.00428889e+04 ! x y z +-1.21101074e+03 -1.36584173e+03 3.97879960e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +528 6.64110630e+04 1.57261442e+04 ! particle number mass rhill +4.20273952e+03 !particle radius in m +9.89301751e+06 1.68175777e+07 -1.13308431e+05 ! x y z +-1.27501202e+03 7.61202373e+02 3.42051019e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +529 5.96535091e+04 8.89858147e+03 ! particle number mass rhill +5.97559270e+03 !particle radius in m +5.37606728e+06 1.01483084e+07 -2.42832542e+04 ! x y z +-1.69155568e+03 9.33567602e+02 8.03539638e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +530 1.99075266e+05 1.02852963e+04 ! particle number mass rhill +8.92979367e+03 !particle radius in m +1.14205826e+06 -8.87516936e+06 2.93174632e+04 ! x y z +2.16370189e+03 2.71790476e+02 -6.44072560e-04 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +531 1.87862294e+06 4.29417274e+04 ! particle number mass rhill +1.28055687e+04 !particle radius in m +1.43504952e+07 -1.05282252e+07 1.08842756e+04 ! x y z +8.96217918e+02 1.25350160e+03 -1.10361539e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +532 2.46464658e+04 7.69853715e+03 ! particle number mass rhill +4.45062026e+03 !particle radius in m +-1.23862731e+07 -4.56645846e+06 6.19786286e+04 ! x y z +6.35830463e+02 -1.69613094e+03 6.10556298e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +533 1.21726161e+06 1.98509313e+04 ! particle number mass rhill +1.10810345e+04 !particle radius in m +-9.06340320e+06 2.47989940e+06 5.29566882e+03 ! x y z +-6.09939224e+02 -2.04449772e+03 -8.32106226e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +534 1.71375734e+06 2.36594524e+04 ! particle number mass rhill +1.24194426e+04 !particle radius in m +4.49134220e+06 -8.88004412e+06 6.17280318e+04 ! x y z +1.84761935e+03 9.49659970e+02 -1.91054187e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +535 1.17792587e+05 8.88177891e+03 ! particle number mass rhill +7.49678363e+03 !particle radius in m +-8.88023220e+06 1.94417194e+06 -7.43854396e+03 ! x y z +-4.59587086e+02 -2.12797895e+03 1.62261707e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +536 1.47383712e+06 2.67711289e+04 ! particle number mass rhill +1.18105148e+04 !particle radius in m +-6.23830061e+06 1.01163011e+07 8.19444776e+04 ! x y z +-1.60793851e+03 -1.00726817e+03 7.79908055e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +537 6.43756917e+05 3.31715734e+04 ! particle number mass rhill +8.96106511e+03 !particle radius in m +1.33415164e+07 1.42367071e+07 9.29022826e+04 ! x y z +-1.09778034e+03 9.88101471e+02 9.22779390e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +538 6.99959191e+04 7.79605421e+03 ! particle number mass rhill +6.30269894e+03 !particle radius in m +6.77890172e+06 -6.80689243e+06 -5.36873514e+04 ! x y z +1.47893463e+03 1.49784044e+03 1.58118524e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +539 9.63466589e+05 1.73728715e+04 ! particle number mass rhill +1.02501735e+04 !particle radius in m +8.06725141e+06 -3.62262126e+06 -3.66507377e+04 ! x y z +8.67780530e+02 2.02709545e+03 1.28504792e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +540 1.06796090e+06 2.10987598e+04 ! particle number mass rhill +1.06080961e+04 !particle radius in m +-1.02130792e+07 -1.98178118e+06 -1.09127341e+03 ! x y z +3.87020460e+02 -1.99318523e+03 -1.70944891e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +541 1.69193115e+05 1.74469576e+04 ! particle number mass rhill +8.45856229e+03 !particle radius in m +-2.71890650e+06 -1.56230331e+07 9.11371828e+04 ! x y z +1.62029295e+03 -2.93846410e+02 -2.71565573e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +542 4.08448966e+05 1.69427746e+04 ! particle number mass rhill +7.70013366e+03 !particle radius in m +4.47583128e+06 -1.06559052e+07 4.54196507e+04 ! x y z +1.76732893e+03 7.56289214e+02 -9.51753793e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +543 4.21097966e+04 8.34723114e+03 ! particle number mass rhill +5.32063382e+03 !particle radius in m +-2.17375021e+06 -1.18877181e+07 -8.95951928e+04 ! x y z +1.85620755e+03 -3.25350325e+02 -7.40810642e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +544 4.35969753e+05 1.55004244e+04 ! particle number mass rhill +7.86933046e+03 !particle radius in m +-1.01016093e+07 1.38884267e+06 9.80998719e+04 ! x y z +-2.82476358e+02 -2.04196683e+03 -1.00530560e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +545 1.74468920e+06 3.91496158e+04 ! particle number mass rhill +1.24937177e+04 !particle radius in m +1.39598489e+07 -8.85744354e+06 2.03839682e+05 ! x y z +8.43657382e+02 1.36375070e+03 -3.55497456e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +546 1.53945922e+05 1.61343327e+04 ! particle number mass rhill +5.56213757e+03 !particle radius in m +-1.43847009e+07 -4.33966476e+06 1.92096630e+04 ! x y z +4.81764822e+02 -1.62800637e+03 4.41101277e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +547 2.88269639e+05 1.83429356e+04 ! particle number mass rhill +6.85570252e+03 !particle radius in m +1.40885725e+06 -1.39890777e+07 -6.21160422e+04 ! x y z +1.73532137e+03 1.58882387e+02 -4.19228752e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +548 2.40639954e+05 1.17835112e+04 ! particle number mass rhill +6.45517829e+03 !particle radius in m +-6.30237830e+06 -7.45548810e+06 1.19792411e+04 ! x y z +1.58465709e+03 -1.33550387e+03 2.64893502e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +549 2.81080705e+05 2.68807908e+04 ! particle number mass rhill +6.79823242e+03 !particle radius in m +1.78118521e+07 -1.09119093e+07 2.70244768e+04 ! x y z +7.41554271e+02 1.21779793e+03 9.15237602e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +550 7.67656205e+05 1.68827066e+04 ! particle number mass rhill +9.50257381e+03 !particle radius in m +-2.89743663e+06 8.86128251e+06 -6.58120111e+04 ! x y z +-2.02979747e+03 -6.82073189e+02 -2.28176534e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +551 1.84065446e+05 1.04243205e+04 ! particle number mass rhill +8.69947568e+03 !particle radius in m +8.83702217e+06 -2.90376077e+06 7.27788768e+04 ! x y z +6.85075467e+02 2.02703778e+03 7.97245500e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +552 4.34671660e+05 1.94276836e+04 ! particle number mass rhill +7.86151243e+03 !particle radius in m +-1.21931564e+07 4.86524046e+06 -2.08324531e+04 ! x y z +-6.82318390e+02 -1.65856508e+03 -6.74090912e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +553 1.46171434e+05 1.10945190e+04 ! particle number mass rhill +5.46688367e+03 !particle radius in m +-1.05680658e+07 -7.72400524e+05 -4.19566380e+03 ! x y z +1.61680595e+02 -2.00721546e+03 9.15915016e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +554 6.46892370e+05 1.81986063e+04 ! particle number mass rhill +8.97559000e+03 !particle radius in m +4.91698619e+06 9.43759555e+06 8.61311530e+04 ! x y z +-1.79363820e+03 8.94192612e+02 3.28487627e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +555 8.66972170e+05 2.98836776e+04 ! particle number mass rhill +9.89587154e+03 !particle radius in m +5.50899609e+06 1.48985993e+07 2.75915152e+04 ! x y z +-1.53604421e+03 5.70661142e+02 -8.63285634e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +556 1.94853540e+06 2.93655044e+04 ! particle number mass rhill +1.29624899e+04 !particle radius in m +3.19801044e+06 -1.13772802e+07 7.80535196e+04 ! x y z +1.85228574e+03 4.55890151e+02 8.36932683e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +557 3.43146591e+05 1.41106093e+04 ! particle number mass rhill +1.07068623e+04 !particle radius in m +-2.15573271e+06 -1.00993578e+07 2.69595119e+04 ! x y z +1.97403251e+03 -4.33189618e+02 1.83241184e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +558 6.08262401e+04 7.76105781e+03 ! particle number mass rhill +6.01449701e+03 !particle radius in m +-9.90249159e+06 1.50849384e+06 7.56908853e+04 ! x y z +-3.34511747e+02 -2.03461346e+03 1.09006280e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +559 5.33911205e+05 1.50688239e+04 ! particle number mass rhill +8.41928754e+03 !particle radius in m +-8.12226421e+06 -4.86915559e+06 1.48785398e+04 ! x y z +1.08601808e+03 -1.81594814e+03 -1.05069846e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +560 3.36343620e+04 8.37603659e+03 ! particle number mass rhill +4.93662404e+03 !particle radius in m +1.04182881e+07 7.90957341e+06 -2.69933355e+04 ! x y z +-1.12996754e+03 1.41480511e+03 -6.50919824e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +561 5.78392305e+05 1.80846634e+04 ! particle number mass rhill +8.64688797e+03 !particle radius in m +-8.48425655e+06 7.30611767e+06 -2.97358583e+04 ! x y z +-1.27983291e+03 -1.45019242e+03 -1.41707765e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +562 4.38625267e+05 1.60791218e+04 ! particle number mass rhill +1.16198415e+04 !particle radius in m +-8.65184164e+06 6.24864145e+06 -3.92875079e+04 ! x y z +-1.16032314e+03 -1.63406999e+03 1.01313500e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +563 2.74034207e+05 1.29317245e+04 ! particle number mass rhill +9.93353704e+03 !particle radius in m +8.34883939e+06 5.63589901e+06 -3.07212153e+04 ! x y z +-1.13165810e+03 1.72056724e+03 2.87270046e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +564 1.14992402e+05 2.05068778e+04 ! particle number mass rhill +7.43690165e+03 !particle radius in m +9.21633433e+06 -1.93093666e+07 -2.54318164e+04 ! x y z +1.26419057e+03 6.27050448e+02 3.30035390e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +565 4.05431060e+05 1.30553285e+04 ! particle number mass rhill +7.68112210e+03 !particle radius in m +3.80685718e+06 -7.94695887e+06 -6.90041243e+04 ! x y z +2.01235665e+03 9.27723235e+02 1.23111874e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +566 4.60325019e+05 2.56439114e+04 ! particle number mass rhill +1.18083853e+04 !particle radius in m +-1.32805505e+07 -9.89987589e+06 1.89561964e+05 ! x y z +9.51950860e+02 -1.30762258e+03 -3.09155476e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +567 1.87989321e+05 1.07137061e+04 ! particle number mass rhill +5.94515785e+03 !particle radius in m +7.49508147e+05 9.39060182e+06 -2.98793685e+03 ! x y z +-2.12842500e+03 1.60409656e+02 -2.35936034e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +568 2.16431915e+05 1.10103187e+04 ! particle number mass rhill +9.18211562e+03 !particle radius in m +1.66945874e+06 -9.11271704e+06 -1.05228493e+04 ! x y z +2.11017159e+03 4.07672310e+02 4.86502364e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +569 1.49318229e+05 1.04005379e+04 ! particle number mass rhill +5.50583603e+03 !particle radius in m +-4.36738498e+06 -8.73103534e+06 3.44651531e+03 ! x y z +1.86828307e+03 -9.77585967e+02 3.81224965e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +570 6.11004170e+04 1.82167732e+04 ! particle number mass rhill +4.08758743e+03 !particle radius in m +-1.94040314e+07 1.29480928e+07 -6.30516410e+04 ! x y z +-7.60734575e+02 -1.12192654e+03 2.15504297e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +571 1.74760567e+06 2.27605806e+04 ! particle number mass rhill +1.25006754e+04 !particle radius in m +-2.30041587e+06 -9.09389672e+06 2.95714152e+04 ! x y z +2.09036388e+03 -5.21147635e+02 -8.12618749e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +572 2.53385422e+05 1.12224764e+04 ! particle number mass rhill +6.56718935e+03 !particle radius in m +-8.45167174e+06 3.53866282e+06 8.15293748e+03 ! x y z +-8.17977533e+02 -1.97338441e+03 3.10707851e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +573 3.56711320e+05 1.72654191e+04 ! particle number mass rhill +1.08461254e+04 !particle radius in m +-1.10837839e+05 -1.22760495e+07 9.98243029e+04 ! x y z +1.86849744e+03 1.94461008e+01 1.19094336e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +574 1.71714492e+06 3.11539445e+04 ! particle number mass rhill +1.24276204e+04 !particle radius in m +-2.16572849e+06 -1.29271292e+07 8.07671116e+04 ! x y z +1.79349978e+03 -2.38674951e+02 -1.98965270e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +575 6.02542390e+05 1.49657344e+04 ! particle number mass rhill +1.29170951e+04 !particle radius in m +-2.12394299e+06 8.55999084e+06 1.53741130e+04 ! x y z +-2.16066071e+03 -5.04790442e+02 1.96131475e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +576 1.94414111e+05 1.17556573e+04 ! particle number mass rhill +8.85954838e+03 !particle radius in m +1.01810115e+07 -3.37487969e+05 -2.68884911e+04 ! x y z +8.19073631e+01 2.05446062e+03 -7.35333556e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +577 7.08349066e+05 1.99157790e+04 ! particle number mass rhill +9.25127176e+03 !particle radius in m +-4.23808016e+06 1.06041798e+07 1.34318994e+05 ! x y z +-1.79220969e+03 -7.00369186e+02 1.28815476e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +578 1.81168126e+05 1.06805439e+04 ! particle number mass rhill +5.87236346e+03 !particle radius in m +-7.46862356e+06 5.99931350e+06 -2.30141523e+03 ! x y z +-1.36280521e+03 -1.60905358e+03 6.63931385e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +579 3.61584621e+04 8.02944821e+03 ! particle number mass rhill +5.05714772e+03 !particle radius in m +-1.11448733e+07 5.00947275e+06 -4.68801561e+04 ! x y z +-7.74415285e+02 -1.70766691e+03 -3.61919201e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +580 2.03415997e+05 1.20229466e+04 ! particle number mass rhill +6.10352459e+03 !particle radius in m +-3.19024158e+06 9.81483389e+06 5.84486975e+04 ! x y z +-1.93912156e+03 -6.23690422e+02 1.23117054e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +581 1.40326198e+06 5.19405721e+04 ! particle number mass rhill +1.16189063e+04 !particle radius in m +-2.24603747e+07 6.26030145e+06 -3.01506892e+04 ! x y z +-3.65393394e+02 -1.30811994e+03 1.11405519e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +582 1.03623455e+06 2.78342563e+04 ! particle number mass rhill +1.05019921e+04 !particle radius in m +-1.12701774e+07 -7.80948644e+06 -6.84666678e+04 ! x y z +9.99713905e+02 -1.47048211e+03 2.44750306e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +583 7.92234060e+04 8.27125360e+03 ! particle number mass rhill +6.56830775e+03 !particle radius in m +-1.36712830e+06 9.67813820e+06 -6.74480903e+04 ! x y z +-2.06604712e+03 -2.98384524e+02 -5.50167062e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +584 1.51550857e+06 3.51961262e+04 ! particle number mass rhill +1.19207925e+04 !particle radius in m +7.73867408e+06 1.33759604e+07 3.56063208e+04 ! x y z +-1.44506269e+03 8.28074701e+02 1.84054191e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +585 5.49400267e+05 1.52237938e+04 ! particle number mass rhill +8.49992876e+03 !particle radius in m +-7.77453358e+06 -5.02677399e+06 3.78389790e+04 ! x y z +1.16536090e+03 -1.82463232e+03 -7.04505898e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +586 1.12395540e+05 9.88134833e+03 ! particle number mass rhill +7.38049260e+03 !particle radius in m +7.38262528e+06 7.34984552e+06 -2.24885801e+04 ! x y z +-1.42099662e+03 1.43499436e+03 1.07378124e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +587 1.14927250e+06 2.54087794e+04 ! particle number mass rhill +1.08707623e+04 !particle radius in m +-1.19920742e+07 -2.80217215e+06 -5.59313271e+04 ! x y z +4.17941960e+02 -1.81181182e+03 1.45497492e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +588 1.94869968e+05 1.38427149e+04 ! particle number mass rhill +6.01682391e+03 !particle radius in m +-9.55988426e+06 -7.31862699e+06 -2.64957060e+04 ! x y z +1.16610080e+03 -1.48362062e+03 -6.94255903e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +589 1.38090127e+05 1.95791379e+04 ! particle number mass rhill +5.36421948e+03 !particle radius in m +1.02276231e+07 -1.62862349e+07 -9.70147988e+04 ! x y z +1.26937242e+03 7.76347306e+02 4.03225256e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +590 5.23014408e+04 6.86509893e+03 ! particle number mass rhill +5.71926483e+03 !particle radius in m +-5.16420660e+06 -7.78596130e+06 4.36962776e+04 ! x y z +1.78489031e+03 -1.16625555e+03 -2.90708635e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +591 1.97559266e+05 1.25161752e+04 ! particle number mass rhill +8.90706847e+03 !particle radius in m +-7.45989489e+06 7.86823113e+06 2.30718801e+04 ! x y z +-1.45305114e+03 -1.35662728e+03 1.14450554e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +592 1.32884443e+06 2.77085745e+04 ! particle number mass rhill +1.14097740e+04 !particle radius in m +-7.21533013e+06 1.04550999e+07 5.75058243e+04 ! x y z +-1.49719620e+03 -1.06522065e+03 9.45819576e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +593 9.09171415e+04 9.17387085e+03 ! particle number mass rhill +6.87676601e+03 !particle radius in m +6.25358173e+06 -8.48267668e+06 1.86642486e+04 ! x y z +1.59879201e+03 1.18862345e+03 -8.19507037e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +594 3.68814962e+04 7.83261170e+03 ! particle number mass rhill +5.09063352e+03 !particle radius in m +-7.19321718e+06 -9.25718484e+06 1.26289010e+05 ! x y z +1.51012765e+03 -1.19137905e+03 -2.08075301e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +595 4.29012281e+05 1.53363892e+04 ! particle number mass rhill +1.15343262e+04 !particle radius in m +9.77355514e+06 -3.06014377e+06 -1.91679922e+04 ! x y z +6.16624498e+02 1.95214553e+03 8.76866120e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +596 1.67151812e+06 2.61804288e+04 ! particle number mass rhill +1.23165581e+04 !particle radius in m +9.85520768e+06 5.11039151e+06 2.67592384e+04 ! x y z +-9.36821649e+02 1.72971850e+03 9.58489099e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +597 2.96497244e+05 2.95918505e+04 ! particle number mass rhill +1.01978639e+04 !particle radius in m +2.25000304e+07 2.97587658e+06 1.11207983e+05 ! x y z +-2.07470373e+02 1.34869606e+03 9.35124053e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +598 4.99711716e+04 8.09133863e+03 ! particle number mass rhill +3.82259987e+03 !particle radius in m +9.72912370e+06 4.89272799e+06 4.72049901e+04 ! x y z +-8.59138858e+02 1.80693327e+03 1.59854908e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +599 6.13445666e+05 3.80459797e+04 ! particle number mass rhill +1.29945434e+04 !particle radius in m +8.58212362e+06 2.09155798e+07 -8.24274997e+04 ! x y z +-1.27328941e+03 5.22122914e+02 2.97251817e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +600 3.65124112e+04 8.18474194e+03 ! particle number mass rhill +5.07359536e+03 !particle radius in m +1.25914809e+07 -1.54064226e+06 -2.42309046e+04 ! x y z +2.41941616e+02 1.80407714e+03 -4.95095821e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +601 2.49679566e+05 1.13272687e+04 ! particle number mass rhill +9.63008210e+03 !particle radius in m +-9.08598960e+06 5.01876430e+05 -5.56896042e+04 ! x y z +-1.04300102e+02 -2.16453693e+03 -3.87670808e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +602 2.98598310e+04 5.98525472e+03 ! particle number mass rhill +4.74458362e+03 !particle radius in m +8.60778725e+06 4.52935761e+06 2.36936302e+04 ! x y z +-9.88264993e+02 1.85248346e+03 -3.75174148e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +603 3.14009599e+04 5.61935630e+03 ! particle number mass rhill +4.82484424e+03 !particle radius in m +-8.51705861e+06 -3.00987013e+06 -6.10335808e+04 ! x y z +7.24297619e+02 -2.04790563e+03 -9.17975560e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +604 1.50689193e+06 4.63163678e+04 ! particle number mass rhill +1.18981571e+04 !particle radius in m +-2.02348638e+07 -1.68672863e+06 -1.06729108e+05 ! x y z +1.27546784e+02 -1.44981480e+03 -2.13046543e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +605 3.08427266e+04 8.13697460e+03 ! particle number mass rhill +4.79608176e+03 !particle radius in m +9.64800303e+06 8.51584872e+06 1.81571159e+04 ! x y z +-1.21061246e+03 1.38578498e+03 -1.32836513e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +606 1.05761949e+05 1.13464200e+04 ! particle number mass rhill +4.90789744e+03 !particle radius in m +9.13818695e+06 -7.70452976e+06 2.69452399e+04 ! x y z +1.22812984e+03 1.45658692e+03 -6.73843496e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +607 6.83351496e+05 1.64381768e+04 ! particle number mass rhill +9.14114041e+03 !particle radius in m +-1.09145671e+06 9.34973420e+06 5.18642883e+03 ! x y z +-2.11998407e+03 -2.42766889e+02 -9.89092405e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +608 1.58743711e+05 2.35809946e+04 ! particle number mass rhill +8.28071491e+03 !particle radius in m +1.92010196e+07 1.03149047e+07 5.09869779e+04 ! x y z +-6.74338417e+02 1.23568504e+03 -2.88434162e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +609 4.85097547e+05 1.47521599e+04 ! particle number mass rhill +8.15446281e+03 !particle radius in m +9.58051429e+06 -4.62318632e+05 6.35849025e+04 ! x y z +9.06335255e+01 2.09825906e+03 -7.35742647e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +610 1.16601211e+06 2.73042222e+04 ! particle number mass rhill +1.09232871e+04 !particle radius in m +-1.30847754e+07 -1.20838009e+05 2.79768532e+04 ! x y z +3.82034000e+01 -1.80937386e+03 2.83422576e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +611 2.36220533e+05 1.51727636e+04 ! particle number mass rhill +9.45383905e+03 !particle radius in m +-5.32926260e+06 1.08809045e+07 2.85451712e+04 ! x y z +-1.71920333e+03 -8.10618635e+02 -1.48118539e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +612 1.53212486e+05 1.16720318e+04 ! particle number mass rhill +8.18339867e+03 !particle radius in m +1.07932378e+07 -2.40071483e+06 1.38428017e+04 ! x y z +4.19588126e+02 1.91854962e+03 1.35266288e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +613 2.15032649e+05 1.38289963e+04 ! particle number mass rhill +9.16228488e+03 !particle radius in m +-6.86193518e+06 -9.36770363e+06 8.70674895e+04 ! x y z +1.55612467e+03 -1.13081122e+03 -1.76373653e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +614 3.57192885e+05 1.39240117e+04 ! particle number mass rhill +7.36353909e+03 !particle radius in m +5.38169569e+06 -8.48107525e+06 -8.38982677e+03 ! x y z +1.73578647e+03 1.09143169e+03 9.09587252e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +615 1.51298142e+05 9.39126242e+03 ! particle number mass rhill +8.14917269e+03 !particle radius in m +7.81574277e+06 4.66176951e+06 -2.35259182e+04 ! x y z +-1.08169242e+03 1.85148012e+03 8.40529015e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +616 1.65258517e+06 2.26178964e+04 ! particle number mass rhill +1.22698790e+04 !particle radius in m +6.77476212e+06 6.99394577e+06 -8.71906448e+03 ! x y z +-1.48799386e+03 1.46547457e+03 -6.43335853e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +617 9.43780075e+04 8.08500600e+03 ! particle number mass rhill +4.72508108e+03 !particle radius in m +-2.14192792e+06 -8.68107380e+06 -3.97684760e+04 ! x y z +2.13766548e+03 -4.81639501e+02 9.54765001e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +618 5.20613559e+04 7.11254070e+03 ! particle number mass rhill +5.71050016e+03 !particle radius in m +9.36808365e+06 1.90217107e+06 2.99198598e+04 ! x y z +-4.46020774e+02 2.07539296e+03 -7.66300380e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +619 3.53322004e+05 1.27856154e+04 ! particle number mass rhill +7.33684298e+03 !particle radius in m +7.27614119e+06 5.72024594e+06 2.49831464e+04 ! x y z +-1.34304944e+03 1.66116310e+03 2.15485187e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +620 3.01485598e+04 9.63815331e+03 ! particle number mass rhill +4.75982712e+03 !particle radius in m +9.58921336e+06 -1.24222677e+07 -1.97472656e+05 ! x y z +1.32022081e+03 9.87424842e+02 4.32249357e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +621 1.15454217e+06 2.88150349e+04 ! particle number mass rhill +1.08873520e+04 !particle radius in m +-7.88989019e+06 -1.13885470e+07 -2.56937402e+04 ! x y z +1.46586529e+03 -9.71985942e+02 -3.51396551e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +622 1.78730679e+04 5.13980334e+03 ! particle number mass rhill +3.99854533e+03 !particle radius in m +3.87292376e+06 9.21006941e+06 -6.39624708e+04 ! x y z +-1.89793804e+03 8.09142969e+02 -6.59781953e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +623 1.77312636e+05 9.87874797e+03 ! particle number mass rhill +5.83040726e+03 !particle radius in m +7.50695786e+06 -4.65362052e+06 -7.10126403e+03 ! x y z +1.18139098e+03 1.86471888e+03 -3.95167658e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +624 8.05498659e+04 1.29509945e+04 ! particle number mass rhill +4.48202152e+03 !particle radius in m +-1.39144844e+07 5.81363011e+06 3.85998049e+04 ! x y z +-6.70071502e+02 -1.54974548e+03 4.74922131e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +625 1.59716194e+06 2.34638970e+04 ! particle number mass rhill +1.21311502e+04 !particle radius in m +9.87837438e+06 2.55551323e+06 -1.36596041e+03 ! x y z +-4.90308025e+02 1.98176510e+03 -1.01037674e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +626 6.72346518e+05 2.60337621e+04 ! particle number mass rhill +9.09180370e+03 !particle radius in m +1.45341700e+07 -4.27619608e+06 5.93941868e+04 ! x y z +4.77328962e+02 1.60335894e+03 -4.97370028e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +627 1.41726204e+06 2.54448913e+04 ! particle number mass rhill +1.16574183e+04 !particle radius in m +2.05268573e+06 -1.13741606e+07 4.03903250e+04 ! x y z +1.88573928e+03 3.30474062e+02 -1.50298053e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +628 1.10954319e+05 1.02376716e+04 ! particle number mass rhill +7.34881070e+03 !particle radius in m +-1.02805752e+07 -3.59154998e+06 7.79568952e+04 ! x y z +6.27919253e+02 -1.86780226e+03 9.15877947e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +629 8.01558993e+05 1.82236275e+04 ! particle number mass rhill +9.64045416e+03 !particle radius in m +1.00209373e+07 1.06957570e+06 -9.24601092e+04 ! x y z +-1.95870916e+02 2.03366838e+03 -1.10087708e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +630 1.75219955e+04 8.28328926e+03 ! particle number mass rhill +3.97219150e+03 !particle radius in m +-1.39517485e+07 8.21883388e+06 7.67623281e+03 ! x y z +-8.12327248e+02 -1.40338294e+03 4.18222867e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +631 2.70985262e+05 1.55395340e+04 ! particle number mass rhill +6.71584845e+03 !particle radius in m +1.02605370e+07 -6.40538450e+06 2.46021664e+04 ! x y z +9.77968382e+02 1.60990669e+03 -4.31601474e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +632 1.87758694e+05 1.26002769e+04 ! particle number mass rhill +8.75727541e+03 !particle radius in m +1.06053206e+07 3.44385915e+06 5.77152912e+04 ! x y z +-5.52774107e+02 1.87621696e+03 -1.29609706e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +633 1.91365423e+05 1.35546510e+04 ! particle number mass rhill +5.98053661e+03 !particle radius in m +-9.64301945e+06 6.86746863e+06 -1.42533659e+05 ! x y z +-1.09942559e+03 -1.55528445e+03 -9.72595405e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +634 1.92615451e+06 3.61432544e+04 ! particle number mass rhill +1.29126696e+04 !particle radius in m +1.05754125e+06 -1.47420174e+07 -1.54880877e+04 ! x y z +1.69143054e+03 1.16386287e+02 -1.26829716e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +635 1.14971495e+05 9.60186487e+03 ! particle number mass rhill +5.04640834e+03 !particle radius in m +-3.03537890e+06 9.53552265e+06 9.73685659e+03 ! x y z +-1.96823062e+03 -6.23463481e+02 -1.63952204e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +636 8.70999495e+04 8.89007814e+03 ! particle number mass rhill +4.60035801e+03 !particle radius in m +-9.98694456e+06 -1.23492362e+06 -1.80480653e+04 ! x y z +2.38207036e+02 -2.05532674e+03 1.79734911e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +637 4.81902061e+05 1.55239091e+04 ! particle number mass rhill +1.19900755e+04 !particle radius in m +-3.74835489e+06 9.22336598e+06 -1.11560816e+05 ! x y z +-1.91843216e+03 -7.98271594e+02 2.02049490e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +638 1.73811384e+06 2.38459745e+04 ! particle number mass rhill +1.24780025e+04 !particle radius in m +-6.68794780e+06 -7.54430362e+06 8.73782978e+03 ! x y z +1.55324620e+03 -1.34364314e+03 -6.31744671e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +639 1.76428878e+06 2.49234046e+04 ! particle number mass rhill +1.25403278e+04 !particle radius in m +-1.03958383e+07 8.06724680e+05 2.41594570e+04 ! x y z +-1.55899964e+02 -2.01914147e+03 9.33842265e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +640 6.25956859e+04 8.38753569e+03 ! particle number mass rhill +4.12066331e+03 !particle radius in m +9.33960040e+06 5.20047646e+06 3.07184995e+03 ! x y z +-9.59952400e+02 1.75350496e+03 -9.51510094e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +641 1.32721741e+06 2.44443564e+04 ! particle number mass rhill +1.14051155e+04 !particle radius in m +-4.55852771e+05 1.12982302e+07 1.97139798e+04 ! x y z +-1.93821973e+03 -6.36299001e+01 1.52707202e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +642 2.04032003e+05 1.11593688e+04 ! particle number mass rhill +9.00330067e+03 !particle radius in m +-9.39243710e+06 -4.13852649e+05 -1.20016794e+05 ! x y z +7.29189904e+01 -2.15146169e+03 7.46416116e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +643 8.59933873e+04 1.92500751e+04 ! particle number mass rhill +6.75031451e+03 !particle radius in m +1.55420118e+07 -1.56324574e+07 1.17450688e+05 ! x y z +9.80482478e+02 9.89380982e+02 -2.43164132e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +644 4.18672946e+05 1.53732676e+04 ! particle number mass rhill +1.14409114e+04 !particle radius in m +1.02533186e+07 8.01360601e+05 -1.49055635e+04 ! x y z +-1.71963144e+02 2.04211236e+03 -5.41798226e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +645 3.97979113e+05 1.45162835e+04 ! particle number mass rhill +7.63377033e+03 !particle radius in m +1.42914142e+06 9.84981684e+06 2.93564167e+04 ! x y z +-2.05268655e+03 3.05405042e+02 3.66863343e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +646 3.58897606e+05 1.28959174e+04 ! particle number mass rhill +7.37523479e+03 !particle radius in m +8.46677243e+06 -3.56936745e+06 -1.01092855e+05 ! x y z +8.46329328e+02 1.98233396e+03 -1.20626919e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +647 1.87305363e+05 1.22408175e+04 ! particle number mass rhill +8.75022177e+03 !particle radius in m +-5.51541812e+06 -9.33328186e+06 -7.53076104e+04 ! x y z +1.69850130e+03 -1.02466912e+03 -1.16108091e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +648 8.78353527e+05 1.98218840e+04 ! particle number mass rhill +9.93898678e+03 !particle radius in m +7.91261034e+06 6.82977302e+06 4.78744592e+04 ! x y z +-1.31937664e+03 1.53446068e+03 9.71586209e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +649 1.08320847e+06 2.42668498e+04 ! particle number mass rhill +1.06583427e+04 !particle radius in m +9.51054870e+06 7.22147752e+06 -1.16155344e+05 ! x y z +-1.13247642e+03 1.51634128e+03 7.95619932e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +650 1.35270154e+05 1.12325034e+04 ! particle number mass rhill +7.85060242e+03 !particle radius in m +7.56958002e+06 8.18907830e+06 2.90934189e+04 ! x y z +-1.41713137e+03 1.33985142e+03 -1.12168107e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +651 2.09089114e+05 1.17143131e+04 ! particle number mass rhill +6.15974600e+03 !particle radius in m +-6.13341164e+06 7.98589804e+06 -2.27618169e+04 ! x y z +-1.62649363e+03 -1.24985675e+03 2.06508812e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +652 1.29236474e+05 1.13728325e+04 ! particle number mass rhill +5.24703584e+03 !particle radius in m +6.47073981e+06 -9.41271204e+06 -2.22310124e+04 ! x y z +1.59958848e+03 1.08093374e+03 -3.51035905e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +653 4.13756669e+04 7.58921833e+03 ! particle number mass rhill +5.28953293e+03 !particle radius in m +7.87952728e+06 -7.74021482e+06 2.62244560e+04 ! x y z +1.39190993e+03 1.39669667e+03 7.19439783e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +654 5.94352115e+05 1.68404426e+04 ! particle number mass rhill +8.72569980e+03 !particle radius in m +-7.78608816e+06 6.02791398e+06 3.71436614e+04 ! x y z +-1.25856718e+03 -1.69668386e+03 -1.29605210e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +655 1.52103203e+05 1.25614339e+04 ! particle number mass rhill +5.53985567e+03 !particle radius in m +-6.32210122e+06 -1.01415155e+07 4.88655736e+04 ! x y z +1.63018229e+03 -9.50923090e+02 9.77870783e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +656 2.64701944e+04 5.32014088e+03 ! particle number mass rhill +4.55779408e+03 !particle radius in m +-6.23576444e+06 6.51367852e+06 -3.41989237e+04 ! x y z +-1.58628947e+03 -1.49318367e+03 1.23405417e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +657 1.19869986e+06 2.89826147e+04 ! particle number mass rhill +1.10244216e+04 !particle radius in m +-1.35500086e+07 -2.26040006e+06 1.32350391e+05 ! x y z +2.64719358e+02 -1.74789986e+03 -5.31947479e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +658 5.10809049e+05 2.07577403e+04 ! particle number mass rhill +1.22251778e+04 !particle radius in m +5.77929553e+06 -1.19535178e+07 -7.82666736e+04 ! x y z +1.59619208e+03 7.97360418e+02 -1.29583152e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +659 1.04888884e+05 1.56381634e+04 ! particle number mass rhill +4.89435521e+03 !particle radius in m +-8.33458476e+06 1.42735479e+07 -3.35627654e+04 ! x y z +-1.40045628e+03 -8.13740040e+02 1.03574303e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +660 4.01644782e+05 1.36548342e+04 ! particle number mass rhill +1.12836524e+04 !particle radius in m +-1.47864055e+06 -9.12632464e+06 1.03294618e+05 ! x y z +2.12785802e+03 -3.89541043e+02 1.51865579e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +661 4.19477357e+05 1.59792919e+04 ! particle number mass rhill +1.14482340e+04 !particle radius in m +5.45407329e+06 9.28416293e+06 -1.51509372e+04 ! x y z +-1.71334604e+03 1.02205340e+03 -7.65932607e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +662 1.36644703e+06 3.38563695e+04 ! particle number mass rhill +1.15163962e+04 !particle radius in m +-1.39013045e+07 6.50213463e+06 -1.39734670e+05 ! x y z +-7.22290359e+02 -1.50945570e+03 -8.90498950e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +663 1.87180624e+06 3.65317510e+04 ! particle number mass rhill +1.27900613e+04 !particle radius in m +-9.89641528e+06 -1.11416999e+07 3.81985165e+04 ! x y z +1.26154170e+03 -1.13757778e+03 1.92574173e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +664 4.70045782e+04 8.19622142e+03 ! particle number mass rhill +3.74540728e+03 !particle radius in m +-3.16815028e+06 1.11329600e+07 6.51690516e+03 ! x y z +-1.85087911e+03 -4.88202334e+02 -1.01794725e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +665 4.61420620e+04 7.68428347e+03 ! particle number mass rhill +3.72235677e+03 !particle radius in m +1.00049376e+07 4.66630545e+06 -9.44413909e+04 ! x y z +-7.94024833e+02 1.77983677e+03 -9.21818189e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +666 4.97025493e+04 1.27990672e+04 ! particle number mass rhill +3.81573804e+03 !particle radius in m +-1.63493537e+07 6.57692006e+06 6.46813001e+04 ! x y z +-5.79515939e+02 -1.44477767e+03 3.27352582e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +667 3.58378458e+05 2.51948596e+04 ! particle number mass rhill +7.37167696e+03 !particle radius in m +1.18807783e+07 1.34251951e+07 1.86898768e+05 ! x y z +-1.17463975e+03 1.00294171e+03 -4.22564791e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +668 6.54992501e+05 1.99174163e+04 ! particle number mass rhill +9.01289765e+03 !particle radius in m +1.11171931e+07 2.90403753e+06 -9.01017188e+04 ! x y z +-4.88090453e+02 1.87530119e+03 -9.57682232e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +669 2.59291252e+04 5.76238650e+03 ! particle number mass rhill +4.52652522e+03 !particle radius in m +9.73106602e+06 3.61005057e+04 5.94605185e+04 ! x y z +-7.45471281e+01 2.10678631e+03 -2.14191842e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +670 4.44029167e+05 1.60304187e+04 ! particle number mass rhill +1.16673660e+04 !particle radius in m +-2.74202504e+06 -1.01140650e+07 -7.39918641e+04 ! x y z +1.96547738e+03 -5.21963358e+02 1.77687487e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +671 1.56229802e+06 2.17388544e+04 ! particle number mass rhill +1.20422311e+04 !particle radius in m +8.00394990e+06 5.03858815e+06 -4.02327990e+04 ! x y z +-1.10710067e+03 1.81715883e+03 -6.62734475e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +672 3.13410612e+04 6.63457360e+03 ! particle number mass rhill +4.82177442e+03 !particle radius in m +5.34986811e+06 9.22950468e+06 4.90186732e+04 ! x y z +-1.74088881e+03 9.82932786e+02 -1.91216218e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +673 1.14711656e+06 2.11708889e+04 ! particle number mass rhill +1.08639605e+04 !particle radius in m +-8.64795237e+06 5.41831010e+06 1.55017414e+04 ! x y z +-1.07745389e+03 -1.74276883e+03 -5.97570489e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +674 1.33569056e+06 2.47878891e+04 ! particle number mass rhill +1.14293347e+04 !particle radius in m +-1.11663224e+07 -4.36971602e+05 9.93397534e+04 ! x y z +6.60642469e+01 -1.97245979e+03 1.63719711e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +675 5.22768408e+05 1.76798501e+04 ! particle number mass rhill +1.23198504e+04 !particle radius in m +-8.94315217e+06 -6.59985744e+06 1.41574538e+04 ! x y z +1.12488382e+03 -1.60471763e+03 9.42200485e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +676 9.22658485e+05 3.79266184e+04 ! particle number mass rhill +1.01033638e+04 !particle radius in m +1.92430034e+07 -3.89888242e+06 -5.57809830e+04 ! x y z +2.98708757e+02 1.44758503e+03 -4.72165311e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +677 5.75996691e+05 1.70233269e+04 ! particle number mass rhill +1.27245467e+04 !particle radius in m +8.73120403e+06 5.22305398e+06 7.59670115e+04 ! x y z +-1.07719201e+03 1.76393373e+03 -6.61792923e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +678 5.71947858e+05 1.96600395e+04 ! particle number mass rhill +1.26946618e+04 !particle radius in m +1.09108942e+07 -4.65832942e+06 -4.02366251e+03 ! x y z +7.47562985e+02 1.75464824e+03 8.16488922e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +679 5.28161894e+05 1.94274851e+04 ! particle number mass rhill +8.38895796e+03 !particle radius in m +5.82034293e+06 1.07112512e+07 7.55785697e+03 ! x y z +-1.63892001e+03 9.00112405e+02 -1.94858021e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +680 8.20834071e+05 2.14712890e+04 ! particle number mass rhill +9.71711751e+03 !particle radius in m +6.68559809e+06 9.37557356e+06 -1.92332279e+03 ! x y z +-1.58295492e+03 1.11037420e+03 1.83307218e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +681 1.08447117e+06 2.11115029e+04 ! particle number mass rhill +1.06624826e+04 !particle radius in m +-3.28943607e+06 9.87837716e+06 6.05814516e+04 ! x y z +-1.92629942e+03 -6.22180329e+02 4.50728559e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +682 2.23235040e+05 1.56024415e+04 ! particle number mass rhill +9.27733226e+03 !particle radius in m +-6.01449513e+06 1.14226051e+07 3.09092202e+04 ! x y z +-1.62789379e+03 -8.28450934e+02 6.54251208e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +683 1.30254310e+06 3.24724800e+04 ! particle number mass rhill +1.13339954e+04 !particle radius in m +1.46501935e+07 3.52597046e+06 -1.53479325e+05 ! x y z +-3.94464542e+02 1.63555361e+03 -6.95224479e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +684 1.95412793e+06 2.31733397e+04 ! particle number mass rhill +1.29748793e+04 !particle radius in m +7.30587232e+06 5.82342150e+06 -1.66262680e+04 ! x y z +-1.33758368e+03 1.67374780e+03 1.03808342e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +685 1.68178718e+05 1.50274136e+04 ! particle number mass rhill +5.72852320e+03 !particle radius in m +-8.28665070e+06 -1.08630233e+07 1.59771667e+04 ! x y z +1.42279548e+03 -1.06221837e+03 -1.00287654e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +686 1.56736892e+06 2.06563247e+04 ! particle number mass rhill +1.20552459e+04 !particle radius in m +-8.85367709e+06 1.92824073e+06 -5.71899980e+04 ! x y z +-4.56904898e+02 -2.11490226e+03 1.50573635e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +687 1.67530420e+06 4.40637058e+04 ! particle number mass rhill +1.23258503e+04 !particle radius in m +-6.98192323e+06 -1.72685946e+07 7.38110386e+04 ! x y z +1.40350544e+03 -5.84590529e+02 -9.01131651e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +688 6.48230629e+04 1.15040206e+04 ! particle number mass rhill +6.14344779e+03 !particle radius in m +1.43686835e+07 2.23609646e+06 2.55670087e+04 ! x y z +-2.46269150e+02 1.69322706e+03 -3.07491540e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +689 1.18006420e+05 1.31163742e+04 ! particle number mass rhill +7.50131728e+03 !particle radius in m +7.08335501e+06 1.12432588e+07 -7.04507229e+04 ! x y z +-1.52929946e+03 9.66536263e+02 -2.79918979e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +690 5.89726347e+05 1.92317821e+04 ! particle number mass rhill +8.70300381e+03 !particle radius in m +-4.60069395e+06 1.05653500e+07 1.04296802e+05 ! x y z +-1.76684768e+03 -7.81938520e+02 -2.29915803e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +691 1.66067349e+05 9.76086023e+03 ! particle number mass rhill +8.40614880e+03 !particle radius in m +8.19262513e+06 -3.58191579e+06 -3.30652024e+04 ! x y z +8.70670545e+02 2.01088754e+03 -5.27792880e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +692 1.66578274e+06 2.28512672e+04 ! particle number mass rhill +1.23024549e+04 !particle radius in m +3.89494213e+06 9.08725205e+06 -2.39743102e+04 ! x y z +-1.90805368e+03 7.88330663e+02 -9.72060594e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +693 2.75553436e+05 1.29675108e+04 ! particle number mass rhill +6.75337616e+03 !particle radius in m +2.21339346e+06 9.86538825e+06 -8.87149741e+04 ! x y z +-2.00534067e+03 4.38594263e+02 1.01837964e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +694 1.58042369e+06 2.97786830e+04 ! particle number mass rhill +1.20886232e+04 !particle radius in m +4.10968486e+06 1.23907663e+07 5.33325146e+04 ! x y z +-1.71807002e+03 5.39202987e+02 -6.19076268e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +695 1.17439408e+06 2.25449191e+04 ! particle number mass rhill +1.09493990e+04 !particle radius in m +1.04073429e+07 2.67129136e+06 9.54333931e+04 ! x y z +-5.09495924e+02 1.93427487e+03 8.54877840e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +696 1.75679624e+04 5.32794441e+03 ! particle number mass rhill +3.97566200e+03 !particle radius in m +-4.09255175e+06 -9.53753075e+06 -7.50959611e+04 ! x y z +1.86269642e+03 -8.02231358e+02 -1.43161769e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +697 8.69972966e+04 9.34087903e+03 ! particle number mass rhill +4.59855003e+03 !particle radius in m +4.36723976e+06 -9.66553779e+06 -1.64558916e+04 ! x y z +1.84776304e+03 7.98021641e+02 5.78355557e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +698 7.00972644e+05 1.56666319e+04 ! particle number mass rhill +9.21904680e+03 !particle radius in m +8.53951718e+06 -2.54525107e+06 -7.04047773e+04 ! x y z +6.28921216e+02 2.09901050e+03 1.15726955e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +699 1.85068625e+05 1.06514155e+04 ! particle number mass rhill +8.71525146e+03 !particle radius in m +7.32788955e+06 -5.94137181e+06 -9.04304047e+04 ! x y z +1.34115379e+03 1.65561581e+03 7.08036612e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +700 1.64555559e+06 2.75816878e+04 ! particle number mass rhill +1.22524569e+04 !particle radius in m +6.71737923e+06 9.71600170e+06 5.06660922e+04 ! x y z +-1.56559808e+03 1.08107605e+03 -6.49532539e-03 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +701 4.44681643e+04 6.91447687e+03 ! particle number mass rhill +5.41816288e+03 !particle radius in m +-7.03605741e+06 6.85389332e+06 -2.57563829e+04 ! x y z +-1.44734013e+03 -1.50933987e+03 1.28526631e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +702 2.37900687e+05 2.57634462e+04 ! particle number mass rhill +6.43059110e+03 !particle radius in m +1.83405474e+07 1.00792626e+07 -9.20229382e+04 ! x y z +-7.18799940e+02 1.23921438e+03 2.48945179e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +703 4.03986391e+05 2.67988920e+04 ! particle number mass rhill +7.67198789e+03 !particle radius in m +5.23940562e+06 1.75022888e+07 -5.98430417e+04 ! x y z +-1.46565915e+03 4.46482377e+02 2.11785409e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +704 2.27436221e+05 2.00836512e+04 ! particle number mass rhill +9.33516932e+03 !particle radius in m +1.19175118e+07 -1.16543017e+07 5.30530426e+04 ! x y z +1.10958275e+03 1.15270442e+03 5.72450113e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +705 1.34616193e+05 9.58458254e+03 ! particle number mass rhill +7.83793078e+03 !particle radius in m +-8.96838687e+06 2.63897043e+06 -2.17897557e+04 ! x y z +-6.07622874e+02 -2.06310065e+03 -4.59651947e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +706 8.29093112e+04 7.90970502e+03 ! particle number mass rhill +6.66863210e+03 !particle radius in m +-6.04898231e+06 -6.86358884e+06 5.57406610e+04 ! x y z +1.61956515e+03 -1.43598669e+03 -4.59300568e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +707 4.94658353e+05 2.13714758e+04 ! particle number mass rhill +1.20949508e+04 !particle radius in m +7.90216623e+06 -1.09814809e+07 5.19189450e+04 ! x y z +1.45343692e+03 1.03872925e+03 -2.28298311e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +708 5.59751529e+05 2.13961827e+04 ! particle number mass rhill +1.26037782e+04 !particle radius in m +9.57669296e+05 -1.30387879e+07 7.61951879e+04 ! x y z +1.80738232e+03 1.29379874e+02 -1.14266147e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +709 2.32161522e+05 1.09798583e+04 ! particle number mass rhill +9.39937703e+03 !particle radius in m +-2.70230310e+06 8.62076168e+06 -2.22406079e+04 ! x y z +-2.07446913e+03 -6.54424485e+02 -1.11116533e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +710 8.51578135e+05 3.19875457e+04 ! particle number mass rhill +9.83695076e+03 !particle radius in m +-3.80463073e+06 -1.65753622e+07 1.47762416e+04 ! x y z +1.54780534e+03 -3.56129540e+02 4.67798248e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +711 5.54965655e+05 3.39543973e+04 ! particle number mass rhill +1.25677546e+04 !particle radius in m +1.97818140e+07 7.24503831e+06 4.34973562e+04 ! x y z +-5.06413028e+02 1.32512350e+03 5.73956860e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +712 8.92177097e+04 1.22056341e+04 ! particle number mass rhill +4.63734443e+03 !particle radius in m +-2.79050068e+06 -1.34910639e+07 4.33089266e+04 ! x y z +1.72889764e+03 -3.49089932e+02 -1.94775120e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +713 3.32358618e+05 2.30395556e+04 ! particle number mass rhill +1.05934634e+04 !particle radius in m +1.07844804e+07 1.29386712e+07 2.64893081e+04 ! x y z +-1.21296556e+03 1.03104861e+03 -8.93637679e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +714 4.15254441e+05 2.22015490e+04 ! particle number mass rhill +7.74266422e+03 !particle radius in m +-1.47784670e+07 -2.60738447e+06 1.11630430e+05 ! x y z +3.23911460e+02 -1.65880207e+03 4.54571842e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +715 1.73496502e+04 6.81252754e+03 ! particle number mass rhill +3.95912515e+03 !particle radius in m +5.07682372e+05 -1.30372405e+07 -1.85229557e+04 ! x y z +1.82615720e+03 7.82099311e+01 -4.18927265e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +716 3.20070305e+05 1.71800786e+04 ! particle number mass rhill +7.09905909e+03 !particle radius in m +-1.18244362e+07 -4.31687046e+06 -7.18542331e+04 ! x y z +6.12658121e+02 -1.74672302e+03 1.21397025e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +717 2.16371552e+04 4.94621352e+03 ! particle number mass rhill +4.26156427e+03 !particle radius in m +-3.54824820e+06 -8.30536307e+06 -8.90981624e+03 ! x y z +1.97998336e+03 -8.85057403e+02 -2.11344381e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +718 3.59986321e+05 1.29702906e+04 ! particle number mass rhill +1.08792174e+04 !particle radius in m +1.62346436e+06 -8.92811589e+06 -3.60195557e+03 ! x y z +2.15086991e+03 3.98636159e+02 2.48432648e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +719 1.81690903e+05 1.91798357e+04 ! particle number mass rhill +5.87800644e+03 !particle radius in m +-1.15733556e+07 -1.25115260e+07 1.46624511e+04 ! x y z +1.15579598e+03 -1.08828537e+03 -2.12261933e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +720 6.36173833e+04 8.62559658e+03 ! particle number mass rhill +4.14296182e+03 !particle radius in m +-1.08417724e+07 1.69081263e+06 7.24119490e+04 ! x y z +-3.09034576e+02 -1.94519167e+03 -3.85658993e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +721 9.85820129e+04 1.07326421e+04 ! particle number mass rhill +4.79422292e+03 !particle radius in m +3.49544878e+05 1.19517692e+07 2.11344945e+04 ! x y z +-1.87363529e+03 3.53402969e+01 5.71853498e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +722 8.86166379e+05 1.88205307e+04 ! particle number mass rhill +9.96836855e+03 !particle radius in m +-6.32504194e+06 7.74988563e+06 -3.04663654e+04 ! x y z +-1.60640404e+03 -1.28494821e+03 3.03961828e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +723 5.42657230e+05 3.02219608e+04 ! particle number mass rhill +8.46501102e+03 !particle radius in m +-1.24177769e+07 -1.38486640e+07 -1.01520582e+04 ! x y z +1.15690921e+03 -9.88251041e+02 4.69156127e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +724 1.59565082e+06 2.53217734e+04 ! particle number mass rhill +1.21273232e+04 !particle radius in m +1.03771542e+07 -3.70291911e+06 1.08877147e+04 ! x y z +6.25781397e+02 1.86199758e+03 -8.89718339e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +725 3.81576526e+04 6.36454510e+03 ! particle number mass rhill +5.14868362e+03 !particle radius in m +-4.66823976e+06 -8.26435407e+06 2.26583539e+04 ! x y z +1.84983887e+03 -1.05552707e+03 1.56706480e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +726 2.64710080e+04 5.28483057e+03 ! particle number mass rhill +4.55784078e+03 !particle radius in m +4.62468583e+06 7.54223542e+06 -1.61944374e+04 ! x y z +-1.87648989e+03 1.17295601e+03 -5.20044045e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +728 7.56089690e+05 4.18623276e+04 ! particle number mass rhill +9.45460600e+03 !particle radius in m +-2.34951111e+05 2.32053308e+07 -5.22036528e+04 ! x y z +-1.35813181e+03 9.03958337e+00 -3.15567273e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +729 2.60550722e+05 1.37320616e+04 ! particle number mass rhill +9.76786728e+03 !particle radius in m +-6.52967648e+06 8.82305239e+06 -1.26732573e+04 ! x y z +-1.57282686e+03 -1.17622288e+03 1.39580799e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +730 3.33261162e+05 1.31329711e+04 ! particle number mass rhill +1.06030438e+04 !particle radius in m +1.77913234e+06 9.53045041e+06 3.10075017e+04 ! x y z +-2.05302630e+03 3.75004563e+02 1.58931971e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +731 5.49460357e+05 1.66040779e+04 ! particle number mass rhill +1.25260587e+04 !particle radius in m +3.58717818e+06 9.36647195e+06 -1.97615013e+04 ! x y z +-1.96178925e+03 7.11373199e+02 -1.26706515e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +732 4.50004217e+05 2.30855383e+04 ! particle number mass rhill +7.95288174e+03 !particle radius in m +-2.59234296e+06 -1.50157233e+07 4.00646737e+04 ! x y z +1.65438833e+03 -2.60173941e+02 1.23164306e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +733 3.30247748e+05 1.24337133e+04 ! particle number mass rhill +7.17351953e+03 !particle radius in m +9.06239327e+06 9.91334627e+05 -4.75445475e+03 ! x y z +-2.74588769e+02 2.14560267e+03 -4.58665348e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +734 6.14206894e+05 1.88121660e+04 ! particle number mass rhill +1.29999162e+04 !particle radius in m +-1.32275910e+06 1.11815578e+07 -3.52932928e+04 ! x y z +-1.92926562e+03 -2.26736828e+02 1.12692641e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +735 9.59808281e+05 2.28332821e+04 ! particle number mass rhill +1.02371836e+04 !particle radius in m +-1.18507495e+07 5.08791326e+05 -4.16400253e+03 ! x y z +-1.21704217e+02 -1.88175671e+03 1.06233149e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +736 1.34519144e+06 2.13695367e+04 ! particle number mass rhill +1.14563699e+04 !particle radius in m +9.66851157e+06 -1.73226908e+06 -1.69082214e+04 ! x y z +3.88627413e+02 2.04608590e+03 -8.98008156e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +737 5.80790318e+05 1.56482626e+04 ! particle number mass rhill +8.65882148e+03 !particle radius in m +-2.00783480e+06 -9.30718645e+06 -7.65374580e+04 ! x y z +2.06366212e+03 -4.61769702e+02 1.50556810e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +738 6.02079310e+05 2.30422564e+04 ! particle number mass rhill +1.29137852e+04 !particle radius in m +5.63016627e+05 1.37971202e+07 -5.96323274e+04 ! x y z +-1.75809500e+03 5.38503245e+01 5.31257797e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +739 5.42061151e+05 1.48525518e+04 ! particle number mass rhill +1.24695778e+04 !particle radius in m +9.16922325e+06 -9.63000174e+05 -3.41255650e+02 ! x y z +2.26283177e+02 2.14046849e+03 -4.83048073e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +740 2.78318107e+04 5.46611848e+03 ! particle number mass rhill +4.63464147e+03 !particle radius in m +-8.86805151e+06 1.17556708e+06 5.29953219e+04 ! x y z +-2.96347767e+02 -2.18707052e+03 -3.03941376e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +741 6.59733293e+05 1.67907799e+04 ! particle number mass rhill +9.03459031e+03 !particle radius in m +9.02199722e+06 -3.39632005e+06 -7.08544393e+04 ! x y z +7.55874214e+02 1.97860482e+03 5.10133054e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +742 2.80747909e+05 1.40507857e+04 ! particle number mass rhill +6.79554835e+03 !particle radius in m +-3.33406678e+06 -1.03746123e+07 -4.13492713e+04 ! x y z +1.88884845e+03 -5.81374899e+02 2.44002419e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +743 2.28483670e+04 5.06103373e+03 ! particle number mass rhill +4.33964341e+03 !particle radius in m +8.47272017e+06 -3.29574857e+06 4.59089313e+04 ! x y z +8.07908043e+02 2.00285924e+03 2.30278431e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +744 9.46503858e+04 1.78360446e+04 ! particle number mass rhill +6.96963100e+03 !particle radius in m +-1.10174017e+07 -1.65843431e+07 -7.81778692e+04 ! x y z +1.22711770e+03 -7.92668746e+02 1.28964786e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +745 3.24229460e+04 1.28254788e+04 ! particle number mass rhill +4.87663009e+03 !particle radius in m +-6.99704994e+06 -1.88546711e+07 -8.81519961e+04 ! x y z +1.37622550e+03 -5.05609550e+02 1.32065962e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +746 6.21305241e+05 1.84865539e+04 ! particle number mass rhill +8.85565460e+03 !particle radius in m +3.37171440e+06 -1.03724491e+07 -2.05908462e+04 ! x y z +1.89249257e+03 5.96290076e+02 -1.16901986e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +747 8.17269222e+05 1.75757835e+04 ! particle number mass rhill +9.70303009e+03 !particle radius in m +8.68817648e+05 -9.37137391e+06 -9.78603362e+04 ! x y z +2.13443213e+03 1.77136355e+02 -1.05898656e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +748 2.98673667e+05 1.25389375e+04 ! particle number mass rhill +1.02227553e+04 !particle radius in m +-8.20639456e+06 4.88393438e+06 3.93769452e+04 ! x y z +-1.09602043e+03 -1.80139112e+03 -5.09189684e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +749 4.77953094e+05 2.64495594e+04 ! particle number mass rhill +1.19572346e+04 !particle radius in m +-2.98729202e+06 -1.69982812e+07 -1.00361471e+02 ! x y z +1.54074333e+03 -2.84642833e+02 -7.12483576e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +750 1.21345497e+06 4.02215962e+04 ! particle number mass rhill +1.10694715e+04 !particle radius in m +-1.87997669e+07 -2.87235850e+06 6.06981762e+04 ! x y z +2.30253048e+02 -1.48355775e+03 -3.20628055e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +751 1.43803514e+06 3.52381307e+04 ! particle number mass rhill +1.17140974e+04 !particle radius in m +-1.67195966e+06 1.53840879e+07 1.17823799e+05 ! x y z +-1.66924292e+03 -1.76106009e+02 2.19585908e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +752 1.81470570e+06 2.16051568e+04 ! particle number mass rhill +1.26586599e+04 !particle radius in m +7.45254418e+06 4.82823148e+06 -5.06675552e+03 ! x y z +-1.22839592e+03 1.82946634e+03 -1.27029622e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +753 3.06193303e+05 1.20424743e+04 ! particle number mass rhill +6.99494374e+03 !particle radius in m +5.13959627e+06 7.44700588e+06 5.03758086e+04 ! x y z +-1.79330931e+03 1.22535892e+03 -1.02427731e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +754 3.35631376e+05 1.54633731e+04 ! particle number mass rhill +7.21229000e+03 !particle radius in m +9.58649389e+06 5.81253530e+06 -4.39352546e+04 ! x y z +-9.88086375e+02 1.68843459e+03 -9.34405959e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +755 3.34952432e+05 1.22268510e+04 ! particle number mass rhill +1.06209501e+04 !particle radius in m +5.07070035e+06 7.32312120e+06 7.18562589e+04 ! x y z +-1.79677644e+03 1.25238618e+03 1.64235819e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +756 3.94174646e+05 1.59516652e+04 ! particle number mass rhill +7.60936749e+03 !particle radius in m +1.19404056e+06 1.08877947e+07 5.88658821e+03 ! x y z +-1.96662575e+03 2.29281553e+02 -1.48568063e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +757 1.59693575e+06 2.44927303e+04 ! particle number mass rhill +1.21305775e+04 !particle radius in m +-9.84021278e+06 -3.40002026e+06 -6.17065432e+04 ! x y z +7.02356760e+02 -1.91960378e+03 8.28806476e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +758 1.60650171e+05 1.45895772e+04 ! particle number mass rhill +5.64173558e+03 !particle radius in m +8.38364229e+06 -1.08052974e+07 -1.14971163e+05 ! x y z +1.41362762e+03 1.05030477e+03 1.33062848e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +759 6.68743952e+04 7.54209796e+03 ! particle number mass rhill +4.21249068e+03 !particle radius in m +4.30913199e+06 8.44003978e+06 1.98375727e+04 ! x y z +-1.87920775e+03 9.70144357e+02 7.68922870e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +760 1.63778812e+05 1.25082506e+04 ! particle number mass rhill +8.36735565e+03 !particle radius in m +9.34254133e+06 -6.72471094e+06 3.04479801e+03 ! x y z +1.13048626e+03 1.56587434e+03 1.26328276e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +761 8.89219951e+04 7.98740603e+03 ! particle number mass rhill +6.82609072e+03 !particle radius in m +-3.94216440e+06 -8.13811187e+06 -2.32415480e+03 ! x y z +1.94483188e+03 -9.74054123e+02 6.56681455e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +762 8.18294712e+05 1.67752433e+04 ! particle number mass rhill +9.70708677e+03 !particle radius in m +5.41429391e+06 -7.20522578e+06 5.41382285e+04 ! x y z +1.73021941e+03 1.33390146e+03 1.43673569e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +763 1.13372094e+06 2.57587973e+04 ! particle number mass rhill +1.08215064e+04 !particle radius in m +-3.58069142e+06 -1.18639900e+07 -2.98112201e+04 ! x y z +1.80063833e+03 -4.84660340e+02 -1.10025267e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +764 9.88108923e+04 9.31725739e+03 ! particle number mass rhill +7.07029058e+03 !particle radius in m +5.06214806e+06 -8.79684921e+06 -6.69408163e+03 ! x y z +1.77899792e+03 1.03185242e+03 -6.99222338e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +765 2.18552963e+05 1.38592334e+04 ! particle number mass rhill +6.25131279e+03 !particle radius in m +2.20528884e+06 -1.13497157e+07 1.23709451e+05 ! x y z +1.88518956e+03 4.07847130e+02 -1.21144069e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +766 3.09768312e+05 1.34561528e+04 ! particle number mass rhill +7.02206200e+03 !particle radius in m +5.73341973e+06 -8.10327163e+06 -2.40301967e+04 ! x y z +1.67706223e+03 1.24499901e+03 -1.26631178e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +767 2.37144880e+05 1.11764593e+04 ! particle number mass rhill +9.46615418e+03 !particle radius in m +-4.07741467e+06 -8.18369428e+06 -3.25211280e+04 ! x y z +1.94858682e+03 -9.33976298e+02 3.19344234e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +768 1.14893098e+06 1.92849652e+04 ! particle number mass rhill +1.08696854e+04 !particle radius in m +6.06888001e+06 6.98255626e+06 -6.90089903e+03 ! x y z +-1.60191111e+03 1.44385639e+03 1.12490936e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +769 3.63529512e+05 1.26225183e+04 ! particle number mass rhill +7.40682734e+03 !particle radius in m +-1.97618366e+06 8.86960314e+06 4.14824140e+04 ! x y z +-2.09949361e+03 -4.69720145e+02 1.43384661e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +770 9.51810604e+05 2.27574150e+04 ! particle number mass rhill +1.02086703e+04 !particle radius in m +-6.96997724e+05 1.14525501e+07 -2.14282591e+04 ! x y z +-1.94508975e+03 -1.20495540e+02 -1.27425570e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +771 1.13010262e+06 1.89504819e+04 ! particle number mass rhill +1.08099817e+04 !particle radius in m +9.38021683e+06 3.42327658e+04 2.00501873e+04 ! x y z +-3.65841924e+01 2.11334523e+03 -1.86694989e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +772 7.04130996e+04 8.31952330e+03 ! particle number mass rhill +6.31519566e+03 !particle radius in m +9.77614427e+06 2.18126141e+06 4.93063169e+04 ! x y z +-4.63942946e+02 2.03097699e+03 3.68237367e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +773 7.20195884e+04 7.30450671e+03 ! particle number mass rhill +6.36286244e+03 !particle radius in m +1.03665232e+06 8.86346829e+06 1.05688800e+05 ! x y z +-2.16165047e+03 3.02954637e+02 -2.55519521e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +774 9.64762143e+04 1.02616868e+04 ! particle number mass rhill +7.01416117e+03 !particle radius in m +1.03495591e+07 -4.25164616e+06 3.58740907e+04 ! x y z +7.33662495e+02 1.82348291e+03 -6.28887722e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +775 2.05974940e+05 1.14271818e+04 ! particle number mass rhill +9.03178903e+03 !particle radius in m +-2.38406558e+06 9.62250108e+06 1.02937972e+05 ! x y z +-2.01173579e+03 -4.55947194e+02 5.72154417e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +776 1.80872057e+05 1.20866729e+04 ! particle number mass rhill +8.64887224e+03 !particle radius in m +-1.07734704e+07 -1.45075387e+06 -2.66041480e+04 ! x y z +2.65092409e+02 -1.95941508e+03 3.83593904e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +777 2.70682972e+04 7.76123367e+03 ! particle number mass rhill +4.59186701e+03 !particle radius in m +4.74101076e+06 -1.21984912e+07 3.79772198e+04 ! x y z +1.69258599e+03 6.30621386e+02 2.06381502e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +778 1.10059808e+06 1.92916524e+04 ! particle number mass rhill +1.07150758e+04 !particle radius in m +7.43989020e+06 -5.63873599e+06 -5.85929699e+04 ! x y z +1.31667387e+03 1.70317955e+03 9.52560643e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +779 5.98060539e+05 2.60997499e+04 ! particle number mass rhill +1.28849886e+04 !particle radius in m +-5.38823915e+06 1.48268009e+07 -2.14296811e+04 ! x y z +-1.54283155e+03 -5.57159624e+02 5.54783358e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +780 4.78664397e+05 1.40463790e+04 ! particle number mass rhill +8.11825531e+03 !particle radius in m +2.66724929e+06 -8.66471427e+06 1.00760731e+04 ! x y z +2.07447879e+03 6.47409518e+02 2.06301461e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +781 2.26409120e+05 1.13645899e+04 ! particle number mass rhill +6.32533652e+03 !particle radius in m +-9.34887042e+06 -7.71203345e+05 -2.80106217e+04 ! x y z +1.56382920e+02 -2.13449580e+03 1.77972684e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +782 2.42808802e+05 2.65285810e+04 ! particle number mass rhill +6.47451347e+03 !particle radius in m +2.11853462e+06 2.14346842e+07 -1.31619878e+05 ! x y z +-1.40220812e+03 1.23003628e+02 1.01803056e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +783 8.24349063e+05 1.69001386e+04 ! particle number mass rhill +9.73096804e+03 !particle radius in m +8.93418422e+06 -1.26163769e+06 -6.14650218e+03 ! x y z +2.70831749e+02 2.17084302e+03 -6.49066157e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +784 1.62394568e+06 2.16415199e+04 ! particle number mass rhill +1.21985861e+04 !particle radius in m +-3.36304606e+06 -8.68475569e+06 4.22905473e+04 ! x y z +2.01382441e+03 -7.30247568e+02 -1.59257408e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +785 4.69991607e+05 1.42566569e+04 ! particle number mass rhill +1.18904701e+04 !particle radius in m +8.81465687e+06 -2.36248215e+06 6.67259873e+04 ! x y z +5.93111329e+02 2.09930862e+03 3.04112228e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +786 1.36960578e+06 2.05419684e+04 ! particle number mass rhill +1.15252633e+04 !particle radius in m +-4.21295680e+06 -8.25900507e+06 -3.19234838e+03 ! x y z +1.92170180e+03 -9.79177619e+02 -8.10728388e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +787 5.69750598e+05 2.14044316e+04 ! particle number mass rhill +8.60360757e+03 !particle radius in m +9.93364443e+06 8.45966410e+06 -7.67940035e+04 ! x y z +-1.17931717e+03 1.37394453e+03 -8.05856772e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +788 1.41313744e+06 2.40709892e+04 ! particle number mass rhill +1.16460986e+04 !particle radius in m +1.04612906e+06 1.07823989e+07 -7.20248309e+04 ! x y z +-1.97918359e+03 1.84768969e+02 3.98691690e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +789 9.83280524e+04 1.63480170e+04 ! particle number mass rhill +7.05875544e+03 !particle radius in m +-1.20383776e+07 -1.30487787e+07 -1.17822971e+05 ! x y z +1.15323425e+03 -1.04821079e+03 -2.09214306e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +790 5.14220791e+05 1.55882368e+04 ! particle number mass rhill +1.22523351e+04 !particle radius in m +-6.25721631e+06 -7.48338074e+06 6.58872777e+04 ! x y z +1.60724089e+03 -1.35523949e+03 1.79073191e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +791 2.71366282e+05 1.50608481e+04 ! particle number mass rhill +9.90119508e+03 !particle radius in m +-1.98852887e+06 -1.16234208e+07 3.45760659e+04 ! x y z +1.87230049e+03 -3.33072319e+02 1.96763510e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +792 2.34275345e+05 1.24361617e+04 ! particle number mass rhill +6.39775874e+03 !particle radius in m +-1.83445389e+06 -1.01663777e+07 -2.16218566e+04 ! x y z +1.99731190e+03 -3.10283279e+02 -1.07270295e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +793 5.94051154e+05 2.02359843e+04 ! particle number mass rhill +1.28561305e+04 !particle radius in m +-6.68458169e+06 -1.03038987e+07 1.06554338e+05 ! x y z +1.55802844e+03 -1.01074571e+03 -1.53515092e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +794 2.62427397e+05 1.23130985e+04 ! particle number mass rhill +6.64439416e+03 !particle radius in m +-9.54428205e+06 -1.77688297e+06 -2.10926647e+04 ! x y z +3.75374809e+02 -2.06650760e+03 -1.22766897e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +795 2.46729383e+04 7.83698469e+03 ! particle number mass rhill +4.45221314e+03 !particle radius in m +3.13901663e+06 1.32731582e+07 -8.32687929e+04 ! x y z +-1.71730983e+03 4.23145043e+02 4.63891808e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +796 1.99969482e+05 1.08806055e+04 ! particle number mass rhill +8.94314414e+03 !particle radius in m +-2.33540859e+06 9.13065765e+06 7.06589924e+03 ! x y z +-2.06497311e+03 -5.14043891e+02 1.51818535e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +797 2.62755853e+05 1.84176232e+04 ! particle number mass rhill +9.79534618e+03 !particle radius in m +1.36994576e+07 -4.67366094e+06 7.44829731e+04 ! x y z +5.44944889e+02 1.63399910e+03 -4.32898441e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +798 1.49407504e+04 4.39640938e+03 ! particle number mass rhill +3.76668925e+03 !particle radius in m +-7.37395287e+06 5.09151414e+06 2.55133554e+04 ! x y z +-1.23099773e+03 -1.81388400e+03 -6.90022105e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +799 3.37131645e+05 1.41467237e+04 ! particle number mass rhill +1.06439337e+04 !particle radius in m +-4.36095303e+06 9.17263674e+06 5.77572160e+04 ! x y z +-1.86099387e+03 -8.92089911e+02 1.33050454e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +800 9.30504002e+05 1.74198697e+04 ! particle number mass rhill +1.01319198e+04 !particle radius in m +6.09028041e+05 -9.05678858e+06 -3.59192636e+04 ! x y z +2.16064013e+03 1.12524119e+02 -1.28041635e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +801 6.21406053e+04 6.95048318e+03 ! particle number mass rhill +4.11065306e+03 !particle radius in m +8.74913197e+06 -1.47341693e+06 -9.62438055e+04 ! x y z +3.78746478e+02 2.16207809e+03 -2.44021093e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +802 1.98751717e+06 2.23872797e+04 ! particle number mass rhill +1.30483609e+04 !particle radius in m +-8.58911286e+06 2.87403478e+06 1.58823639e+02 ! x y z +-7.16776888e+02 -2.04412274e+03 5.09362192e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +803 1.10143987e+06 2.58396269e+04 ! particle number mass rhill +1.07178069e+04 !particle radius in m +8.48527058e+06 -9.20798638e+06 -1.02188880e+05 ! x y z +1.36994712e+03 1.25405390e+03 1.06840389e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +804 1.26088799e+06 1.92135468e+04 ! particle number mass rhill +1.12118643e+04 !particle radius in m +-5.30902937e+06 7.21606500e+06 6.02327354e+04 ! x y z +-1.77499753e+03 -1.28053606e+03 -3.40605365e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +805 1.09184787e+05 1.76365565e+04 ! particle number mass rhill +4.96028208e+03 !particle radius in m +-1.77739170e+07 5.38979777e+06 1.55930024e+05 ! x y z +-4.43393580e+02 -1.45455644e+03 -2.70314341e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +806 4.13158924e+04 7.88380749e+03 ! particle number mass rhill +5.28698448e+03 !particle radius in m +-8.43967863e+06 -7.92404795e+06 -2.34275469e+04 ! x y z +1.33453164e+03 -1.37751924e+03 -2.53751841e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +807 9.05745195e+05 1.69381188e+04 ! particle number mass rhill +1.00412476e+04 !particle radius in m +4.71451819e+06 -7.46352121e+06 1.62287314e+03 ! x y z +1.84921224e+03 1.19850662e+03 1.99232615e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +808 1.43529731e+05 1.19160672e+04 ! particle number mass rhill +5.43374958e+03 !particle radius in m +1.87652013e+06 -1.11420807e+07 1.38944441e+05 ! x y z +1.93560918e+03 3.25150073e+02 2.51765258e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +809 5.54106512e+05 1.54471739e+04 ! particle number mass rhill +1.25612659e+04 !particle radius in m +-9.29220692e+06 2.16599787e+06 -4.38900389e+04 ! x y z +-4.87620074e+02 -2.05624014e+03 4.85721843e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +810 5.10481873e+05 1.62613830e+04 ! particle number mass rhill +8.29428788e+03 !particle radius in m +1.39531950e+06 1.01422470e+07 -9.71755919e+04 ! x y z +-2.02592294e+03 3.03255899e+02 5.57961818e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +811 3.32058372e+05 1.63243972e+04 ! particle number mass rhill +7.18660555e+03 !particle radius in m +1.17947013e+07 7.40001699e+05 2.51672426e+04 ! x y z +-1.17060805e+02 1.90660700e+03 5.44656130e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +812 3.98927657e+05 1.51211505e+04 ! particle number mass rhill +1.12581502e+04 !particle radius in m +-7.90433536e+06 6.73266024e+06 -3.50969312e+04 ! x y z +-1.30204874e+03 -1.55681461e+03 5.35229797e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +813 1.60520468e+05 1.50790564e+04 ! particle number mass rhill +5.64021687e+03 !particle radius in m +1.20372535e+07 -7.49092702e+06 6.74822230e+04 ! x y z +8.91458581e+02 1.47943776e+03 -9.74770857e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +814 9.51624011e+04 8.20610116e+03 ! particle number mass rhill +6.98217592e+03 !particle radius in m +6.85752801e+06 6.02181411e+06 3.38939759e+03 ! x y z +-1.45444163e+03 1.59683746e+03 2.15463449e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +815 8.02969339e+05 3.23806232e+04 ! particle number mass rhill +9.64610498e+03 !particle radius in m +1.65844804e+07 4.81034890e+06 4.61229376e+04 ! x y z +-4.20560106e+02 1.53234812e+03 -2.07164443e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +816 2.77573627e+05 1.52717801e+04 ! particle number mass rhill +9.97612135e+03 !particle radius in m +-1.11130797e+07 -3.78359570e+06 -1.84960756e+03 ! x y z +5.85052492e+02 -1.82483094e+03 -5.22659903e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +817 1.29735147e+05 1.12854771e+04 ! particle number mass rhill +7.74203039e+03 !particle radius in m +4.58513442e+06 1.02699278e+07 -3.18341648e+04 ! x y z +-1.77353935e+03 8.15172006e+02 -3.48615440e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +818 7.78047386e+05 1.63408344e+04 ! particle number mass rhill +9.54525817e+03 !particle radius in m +7.69154925e+06 -4.52108417e+06 1.90521640e+04 ! x y z +1.13843297e+03 1.87858469e+03 1.37511342e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +819 2.90221524e+05 1.58401533e+04 ! particle number mass rhill +6.87114114e+03 !particle radius in m +-1.15969434e+07 3.52559239e+06 5.16907637e+04 ! x y z +-5.69477663e+02 -1.78769915e+03 -1.33023745e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +820 9.19380223e+05 1.83471630e+04 ! particle number mass rhill +1.00913836e+04 !particle radius in m +5.95447776e+06 -7.82496208e+06 3.09991808e+04 ! x y z +1.65084498e+03 1.22028250e+03 -2.33382836e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +821 6.22104092e+04 9.73713866e+03 ! particle number mass rhill +6.05977746e+03 !particle radius in m +-3.93089529e+06 1.17766068e+07 -6.72321552e+03 ! x y z +-1.75059713e+03 -6.17947765e+02 -1.16753307e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +822 5.76697161e+05 1.55455865e+04 ! particle number mass rhill +1.27297027e+04 !particle radius in m +-9.38145643e+06 5.61032393e+05 -2.62604457e+04 ! x y z +-1.66051140e+02 -2.13147141e+03 -1.91808715e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +823 1.12193121e+06 2.15413897e+04 ! particle number mass rhill +1.07838641e+04 !particle radius in m +-3.46243172e+06 -9.75229088e+06 -6.99128436e+04 ! x y z +1.92977079e+03 -6.78308349e+02 -2.04030914e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +824 3.77345686e+05 1.48917020e+04 ! particle number mass rhill +7.49949684e+03 !particle radius in m +2.14173079e+06 -1.00855853e+07 1.33615118e+04 ! x y z +2.00549502e+03 4.10286548e+02 1.33463171e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +825 2.84103902e+04 5.41642288e+03 ! particle number mass rhill +4.66653709e+03 !particle radius in m +2.97083227e+06 8.61004661e+06 -5.77896258e+04 ! x y z +-2.03526397e+03 6.94270314e+02 -2.15105297e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +826 5.90646827e+04 1.08492229e+04 ! particle number mass rhill +5.95586641e+03 !particle radius in m +-1.12041316e+07 8.43574386e+06 6.88522376e+04 ! x y z +-1.04307644e+03 -1.40491020e+03 6.49036289e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +827 1.00753667e+05 9.63045427e+03 ! particle number mass rhill +7.11632779e+03 !particle radius in m +-4.35495075e+06 9.47025259e+06 -5.09915025e+04 ! x y z +-1.85819690e+03 -8.15466077e+02 4.09008068e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +828 1.54771456e+05 1.76232067e+04 ! particle number mass rhill +5.57206216e+03 !particle radius in m +4.78116976e+06 -1.59784331e+07 -5.36968327e+04 ! x y z +1.53329565e+03 4.46997350e+02 4.63714714e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +829 5.51349999e+05 1.59967890e+04 ! particle number mass rhill +8.50997184e+03 !particle radius in m +8.23993793e+06 -5.31139465e+06 6.29574603e+04 ! x y z +1.13278257e+03 1.76205209e+03 -8.47937534e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +830 5.59737681e+05 1.68391578e+04 ! particle number mass rhill +1.26036743e+04 !particle radius in m +-9.63212471e+06 3.36590765e+06 -1.07062454e+04 ! x y z +-6.84552644e+02 -1.94265665e+03 2.94400282e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +831 3.21463203e+04 7.65511916e+03 ! particle number mass rhill +4.86272166e+03 !particle radius in m +9.83116842e+06 6.61447762e+06 -5.12468956e+04 ! x y z +-1.03243293e+03 1.62443233e+03 2.38757589e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +832 1.70396503e+05 1.11460376e+04 ! particle number mass rhill +5.75359413e+03 !particle radius in m +9.79171021e+06 -2.73890246e+06 8.20795285e+04 ! x y z +5.70999291e+02 1.96925843e+03 2.38407769e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +833 5.15198597e+05 1.63024335e+04 ! particle number mass rhill +8.31975532e+03 !particle radius in m +-3.31575865e+06 9.74773076e+06 -6.68906771e+04 ! x y z +-1.91945157e+03 -6.80055572e+02 7.05071034e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +834 3.88181682e+05 2.05972013e+04 ! particle number mass rhill +1.11561412e+04 !particle radius in m +2.59402712e+06 1.41195960e+07 7.65317352e+04 ! x y z +-1.69390135e+03 3.03445651e+02 1.51567072e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +835 3.14976817e+05 1.81483086e+04 ! particle number mass rhill +7.06120023e+03 !particle radius in m +-2.50324523e+06 1.33583355e+07 -1.06069614e+05 ! x y z +-1.73502096e+03 -3.33244830e+02 -4.27813580e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +836 1.15397098e+06 2.54597499e+04 ! particle number mass rhill +1.08855562e+04 !particle radius in m +-4.06673848e+06 -1.16023946e+07 4.08896853e+04 ! x y z +1.75606757e+03 -6.22462152e+02 1.70339271e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +837 5.52965161e+05 1.61939690e+04 ! particle number mass rhill +8.51827363e+03 !particle radius in m +4.61087222e+06 -8.97079451e+06 -2.30678380e+04 ! x y z +1.81563298e+03 9.45814603e+02 2.66915276e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +838 2.78212386e+05 1.51006367e+04 ! particle number mass rhill +9.98376791e+03 !particle radius in m +9.96934676e+06 5.38891014e+06 9.88781435e+04 ! x y z +-9.81582718e+02 1.71074828e+03 -3.99838208e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +839 7.54969273e+04 7.54781766e+03 ! particle number mass rhill +6.46366364e+03 !particle radius in m +4.99758772e+06 -7.50759705e+06 -5.25299733e+04 ! x y z +1.80703397e+03 1.21678053e+03 1.90540898e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +840 1.70430363e+05 1.20590966e+04 ! particle number mass rhill +8.47913036e+03 !particle radius in m +-6.69441800e+06 -8.86176278e+06 2.53388174e+04 ! x y z +1.56709902e+03 -1.16434302e+03 -9.30903825e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +841 7.11720571e+04 7.78997309e+03 ! particle number mass rhill +6.33780436e+03 !particle radius in m +-4.38549443e+06 -8.30442031e+06 2.47931467e+04 ! x y z +1.89780640e+03 -1.00273544e+03 3.24648282e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +842 8.59823501e+04 1.41107806e+04 ! particle number mass rhill +4.58059717e+03 !particle radius in m +9.52295494e+06 -1.31453589e+07 -2.84882159e+04 ! x y z +1.32429236e+03 9.32305231e+02 -7.78758641e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +843 1.09544894e+05 8.49893572e+03 ! particle number mass rhill +4.96572933e+03 !particle radius in m +8.16032081e+06 -3.83914183e+06 -4.53668688e+04 ! x y z +9.48405336e+02 1.95482944e+03 -1.90024465e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +844 4.60029935e+05 1.51122850e+04 ! particle number mass rhill +1.18058616e+04 !particle radius in m +8.84185924e+06 4.91012210e+06 -4.89421191e+04 ! x y z +-9.91478880e+02 1.77538667e+03 -7.79856416e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +845 8.45559558e+04 1.19563910e+04 ! particle number mass rhill +4.55512603e+03 !particle radius in m +1.32256008e+07 4.60711564e+06 3.20195320e+04 ! x y z +-5.72824835e+02 1.63498483e+03 -8.94623266e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +846 7.22405721e+05 3.33574192e+04 ! particle number mass rhill +9.31206622e+03 !particle radius in m +1.83600084e+07 -3.67172737e+06 -1.03387529e+05 ! x y z +2.82478801e+02 1.48749998e+03 -3.61587063e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +847 1.13076745e+06 1.88034270e+04 ! particle number mass rhill +1.08121011e+04 !particle radius in m +5.50505051e+06 7.32332854e+06 3.97380095e+04 ! x y z +-1.73540458e+03 1.27934877e+03 1.31767249e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +848 1.53792461e+06 3.36534328e+04 ! particle number mass rhill +1.19792790e+04 !particle radius in m +-7.13326386e+06 1.32178302e+07 5.30241465e+04 ! x y z +-1.47659146e+03 -7.82263656e+02 -2.09914908e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +849 2.18245755e+04 6.44870790e+03 ! particle number mass rhill +4.27383343e+03 !particle radius in m +-4.61218845e+06 1.05730170e+07 -6.60200193e+04 ! x y z +-1.78205321e+03 -7.56922993e+02 8.78119173e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +850 1.34790722e+06 2.73293396e+04 ! particle number mass rhill +1.14640744e+04 !particle radius in m +-4.56090890e+06 1.14927598e+07 1.08391052e+05 ! x y z +-1.73824893e+03 -6.90093039e+02 -9.72090948e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +851 1.63258167e+05 1.62209865e+04 ! particle number mass rhill +5.67210117e+03 !particle radius in m +-1.26164008e+07 8.37507124e+06 -9.30825805e+04 ! x y z +-9.25052993e+02 -1.39347287e+03 7.98354596e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +852 3.03238131e+05 1.22437010e+04 ! particle number mass rhill +6.97236746e+03 !particle radius in m +6.53000802e+05 -9.25877071e+06 7.96919181e+03 ! x y z +2.13254376e+03 1.58194267e+02 -3.04691883e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +853 2.86850115e+05 1.16833407e+04 ! particle number mass rhill +1.00860395e+04 !particle radius in m +7.29493071e+06 -5.15859210e+06 -4.34667082e+04 ! x y z +1.28346456e+03 1.77485302e+03 1.13165377e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +854 4.89303744e+04 6.65852454e+03 ! particle number mass rhill +3.79587448e+03 !particle radius in m +-3.19192697e+06 -8.59789141e+06 9.38867695e+04 ! x y z +2.03734470e+03 -7.26452634e+02 -1.17305762e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +855 7.78837017e+05 1.74911407e+04 ! particle number mass rhill +9.54848620e+03 !particle radius in m +9.47082398e+06 -1.09607932e+06 4.83920593e+04 ! x y z +2.14821600e+02 2.11542107e+03 1.20322954e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +856 8.09963405e+05 1.65414086e+04 ! particle number mass rhill +9.67403073e+03 !particle radius in m +-6.95192799e+06 -5.46206006e+06 2.82885807e+04 ! x y z +1.36201469e+03 -1.74685442e+03 2.47593903e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +857 2.42701981e+05 1.25706853e+04 ! particle number mass rhill +6.47356387e+03 !particle radius in m +-3.08185810e+06 9.58349756e+06 6.94451226e+03 ! x y z +-1.96338979e+03 -6.65837368e+02 -2.04503843e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +858 1.70493509e+06 4.29022384e+04 ! particle number mass rhill +1.23980946e+04 !particle radius in m +1.65978586e+07 7.58110647e+06 -7.73180642e+04 ! x y z +-6.28856477e+02 1.39136938e+03 1.44879781e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +859 1.24913615e+06 2.04262263e+04 ! particle number mass rhill +1.11769229e+04 !particle radius in m +-6.68285720e+06 6.69572721e+06 -2.14964381e+03 ! x y z +-1.53479675e+03 -1.49178194e+03 -5.71100381e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +860 1.41825071e+05 1.34951826e+04 ! particle number mass rhill +5.41215219e+03 !particle radius in m +-4.42591408e+06 -1.21925806e+07 -3.63637070e+04 ! x y z +1.69944504e+03 -6.60923085e+02 -1.17185754e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +861 2.32941748e+05 1.18357603e+04 ! particle number mass rhill +9.40989476e+03 !particle radius in m +9.48116594e+06 -3.86455243e+05 -1.03947327e+05 ! x y z +6.54406678e+01 2.14729925e+03 -2.03989342e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +862 8.31892099e+05 1.90259127e+04 ! particle number mass rhill +9.76055838e+03 !particle radius in m +9.75283383e+06 -3.26934404e+06 -6.67089834e+03 ! x y z +6.55184968e+02 1.92454684e+03 -2.06876177e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +863 2.65389001e+05 1.25607462e+04 ! particle number mass rhill +9.82795810e+03 !particle radius in m +7.92293154e+06 -5.92949642e+06 8.08421712e+04 ! x y z +1.22209539e+03 1.67954941e+03 6.77640716e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +864 1.19440089e+06 2.02897833e+04 ! particle number mass rhill +1.10112267e+04 !particle radius in m +-9.44726757e+06 -1.72479642e+06 -5.06771776e+04 ! x y z +3.57081323e+02 -2.08684682e+03 -1.01697089e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +865 1.94180301e+05 1.09977241e+04 ! particle number mass rhill +8.85599534e+03 !particle radius in m +-6.23129670e+06 7.19526623e+06 1.83941420e+04 ! x y z +-1.59813509e+03 -1.40609078e+03 1.94595479e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +866 1.32317590e+06 2.00141699e+04 ! particle number mass rhill +1.13935271e+04 !particle radius in m +-5.60132388e+06 -7.32299736e+06 -1.77571471e+04 ! x y z +1.71338179e+03 -1.30416800e+03 7.07200448e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +867 7.00538607e+05 3.57062222e+04 ! particle number mass rhill +9.21714362e+03 !particle radius in m +1.94866969e+07 6.41556967e+06 -8.78618223e+04 ! x y z +-4.47022162e+02 1.36561417e+03 1.23555791e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +868 6.96093005e+05 2.84504578e+04 ! particle number mass rhill +9.19760498e+03 !particle radius in m +1.24313845e+07 -1.03009928e+07 2.91007895e+04 ! x y z +1.03299438e+03 1.26303931e+03 1.43272483e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +869 6.51350069e+04 1.52760208e+04 ! particle number mass rhill +6.15328661e+03 !particle radius in m +-1.88463700e+07 3.02324922e+06 -1.45896688e+05 ! x y z +-2.31662436e+02 -1.48292769e+03 2.63168505e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +870 1.30747026e+05 1.45819265e+04 ! particle number mass rhill +7.76210648e+03 !particle radius in m +1.40546567e+07 -3.88347486e+06 6.81896661e+04 ! x y z +4.43567006e+02 1.65056081e+03 4.01577354e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +871 6.71076966e+04 8.61160442e+03 ! particle number mass rhill +4.21738363e+03 !particle radius in m +1.78412490e+06 -1.05393977e+07 -1.79940495e+04 ! x y z +1.97327292e+03 3.39702264e+02 -1.56396341e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +872 1.71085269e+06 3.01722059e+04 ! particle number mass rhill +1.24124221e+04 !particle radius in m +3.48276485e+06 1.24683799e+07 5.71803206e+04 ! x y z +-1.74011773e+03 4.74503606e+02 9.70062988e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +873 2.12621273e+05 1.22535537e+04 ! particle number mass rhill +6.19423818e+03 !particle radius in m +9.54521899e+06 -4.27421825e+06 -7.89921579e+04 ! x y z +8.34463883e+02 1.83314396e+03 -1.96687832e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +874 1.11434552e+06 2.11782232e+04 ! particle number mass rhill +1.07595049e+04 !particle radius in m +-2.90897541e+06 -9.97345628e+06 4.60433948e+04 ! x y z +1.93634809e+03 -5.84664071e+02 -6.64958448e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +875 1.63374203e+06 2.84663610e+04 ! particle number mass rhill +1.22230660e+04 !particle radius in m +4.25415099e+06 -1.14325644e+07 5.00958816e+04 ! x y z +1.75951768e+03 6.44587122e+02 6.30692655e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +876 3.21448512e+05 2.38193850e+04 ! particle number mass rhill +7.10923390e+03 !particle radius in m +-1.58007262e+07 -7.45105168e+06 -3.06690137e+04 ! x y z +6.82944765e+02 -1.41301363e+03 1.04453850e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +877 7.95360887e+04 7.85656320e+03 ! particle number mass rhill +6.57693777e+03 !particle radius in m +8.25741284e+06 4.39411348e+06 3.78949633e+04 ! x y z +-9.99781284e+02 1.87441904e+03 -3.21699586e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +878 7.92129839e+04 1.88783439e+04 ! particle number mass rhill +6.56801971e+03 !particle radius in m +2.42332014e+06 2.17054415e+07 -5.36680055e+04 ! x y z +-1.40455533e+03 1.37752686e+02 -3.67471579e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +879 1.02921195e+05 1.05249947e+04 ! particle number mass rhill +7.16699767e+03 !particle radius in m +-1.11338384e+07 -2.20174819e+06 -5.08310388e+04 ! x y z +3.88427106e+02 -1.90213725e+03 -1.60447088e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +880 1.15170895e+06 3.80457220e+04 ! particle number mass rhill +1.08784389e+04 !particle radius in m +-1.83729146e+07 1.19076985e+06 -1.72335144e+04 ! x y z +-9.88243619e+01 -1.51803622e+03 2.27806536e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +881 1.02079633e+06 2.51296581e+04 ! particle number mass rhill +1.04495767e+04 !particle radius in m +-6.50873442e+06 -1.07127054e+07 -3.34128129e+03 ! x y z +1.57607258e+03 -9.74525706e+02 1.08233475e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +882 1.10724006e+06 2.27598022e+04 ! particle number mass rhill +1.07365873e+04 !particle radius in m +-2.66932388e+06 -1.08052729e+07 -7.29995052e+04 ! x y z +1.89275637e+03 -5.06517897e+02 -3.33939112e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +883 1.23514533e+06 2.71870351e+04 ! particle number mass rhill +1.11350375e+04 !particle radius in m +-8.68309984e+06 8.73295385e+06 2.12890448e+04 ! x y z +-1.33510513e+03 -1.35075217e+03 2.94732064e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +884 6.42357183e+04 8.63381056e+03 ! particle number mass rhill +4.15634119e+03 !particle radius in m +-9.01680783e+06 -6.03891596e+06 -1.83491289e+04 ! x y z +1.08610553e+03 -1.66661637e+03 5.40990322e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +885 5.31967805e+05 1.46197870e+04 ! particle number mass rhill +8.40905991e+03 !particle radius in m +8.73703169e+06 -2.34962014e+06 8.87466208e+03 ! x y z +5.81838269e+02 2.10387535e+03 1.59910498e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +886 1.06591901e+06 1.91036572e+04 ! particle number mass rhill +1.06013311e+04 !particle radius in m +-5.56657026e+06 -7.79387621e+06 -2.42457443e+04 ! x y z +1.72811494e+03 -1.19163725e+03 7.49315478e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +887 2.02044303e+05 1.75518766e+04 ! particle number mass rhill +8.97396819e+03 !particle radius in m +-1.39814291e+07 5.67086599e+06 7.10670472e+04 ! x y z +-6.38825478e+02 -1.55959492e+03 1.37992185e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +888 2.20300503e+05 1.26487217e+04 ! particle number mass rhill +9.23650109e+03 !particle radius in m +-6.68069155e+05 -1.06256314e+07 1.03366197e+04 ! x y z +1.99524677e+03 -1.14341573e+02 7.10647594e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +889 1.81697506e+06 2.78836882e+04 ! particle number mass rhill +1.26639344e+04 !particle radius in m +4.44131372e+06 1.05243943e+07 -4.93210722e+04 ! x y z +-1.78877447e+03 7.65306939e+02 -2.91348510e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +890 4.62182800e+04 8.76540290e+03 ! particle number mass rhill +3.72440519e+03 !particle radius in m +4.74513540e+06 -1.11521571e+07 1.99020178e+04 ! x y z +1.74857282e+03 7.32287072e+02 8.22196426e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +891 2.64052549e+05 1.12203260e+04 ! particle number mass rhill +6.65808168e+03 !particle radius in m +3.69231178e+06 8.07781861e+06 -4.84025537e+04 ! x y z +-1.99534439e+03 9.00711444e+02 -7.96406279e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +892 2.59999466e+05 1.21745079e+04 ! particle number mass rhill +9.76097367e+03 !particle radius in m +7.96779900e+06 5.28681997e+06 4.51459562e+04 ! x y z +-1.15797841e+03 1.77999708e+03 -1.86173466e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +893 1.67737402e+06 2.38355698e+04 ! particle number mass rhill +1.23309244e+04 !particle radius in m +-4.76453798e+06 -8.80906879e+06 -7.02042625e+03 ! x y z +1.84339352e+03 -9.61915676e+02 -9.22717545e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +894 1.37575479e+05 1.06778411e+04 ! particle number mass rhill +7.89494909e+03 !particle radius in m +-1.01354200e+07 1.79029021e+06 5.81214752e+04 ! x y z +-3.69721169e+02 -2.02078532e+03 -1.89093419e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +895 2.61034648e+05 1.11860226e+04 ! particle number mass rhill +9.77391088e+03 !particle radius in m +6.33480475e+06 -5.91857236e+06 -4.57999278e+04 ! x y z +1.55086475e+03 1.62084415e+03 -1.77397628e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +896 3.60957274e+05 1.87338359e+04 ! particle number mass rhill +7.38931640e+03 !particle radius in m +-1.06493767e+07 7.82814577e+06 2.86358415e+04 ! x y z +-1.05832791e+03 -1.46150005e+03 -5.49731072e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +897 5.62899921e+05 3.09693578e+04 ! particle number mass rhill +1.26273646e+04 !particle radius in m +7.65076109e+06 -1.70352283e+07 1.51301396e+04 ! x y z +1.39901314e+03 6.06223441e+02 4.14064364e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +898 4.46032399e+05 1.56971861e+04 ! particle number mass rhill +1.16848854e+04 !particle radius in m +-6.95564135e+06 7.65404475e+06 -2.72421907e+04 ! x y z +-1.52099853e+03 -1.35598646e+03 -9.21577263e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +899 1.52575316e+05 1.62545462e+04 ! particle number mass rhill +5.54558146e+03 !particle radius in m +-5.49140677e+04 1.54446317e+07 -1.73043597e+04 ! x y z +-1.66030895e+03 -1.12967723e+01 -2.73734027e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +900 2.78977890e+04 8.65543048e+03 ! particle number mass rhill +4.63830089e+03 !particle radius in m +5.28463967e+06 -1.36432294e+07 1.50949984e+05 ! x y z +1.58056809e+03 6.18784193e+02 2.19476691e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +901 1.42775206e+06 2.43769191e+04 ! particle number mass rhill +1.16861089e+04 !particle radius in m +-6.87024799e+06 -8.49204530e+06 6.90721153e+04 ! x y z +1.52959279e+03 -1.25803812e+03 2.67976166e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +902 4.69852863e+05 1.45463044e+04 ! particle number mass rhill +8.06813127e+03 !particle radius in m +-5.81437057e+06 -7.46625959e+06 3.98273573e+04 ! x y z +1.67686329e+03 -1.30572183e+03 -1.17212431e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +903 7.51681526e+04 1.28937189e+04 ! particle number mass rhill +4.37989422e+03 !particle radius in m +-2.38298847e+06 -1.53195500e+07 2.60001847e+03 ! x y z +1.63293505e+03 -2.84649559e+02 -1.48524125e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +904 9.91305679e+05 2.50606865e+04 ! particle number mass rhill +1.03479629e+04 !particle radius in m +8.39690801e+06 9.44600671e+06 -3.53959311e+04 ! x y z +-1.39463544e+03 1.20681438e+03 -1.20628234e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +905 1.77161305e+05 1.92271736e+04 ! particle number mass rhill +5.82874810e+03 !particle radius in m +1.01396678e+07 -1.41312986e+07 5.56406543e+04 ! x y z +1.26355281e+03 9.21806042e+02 1.06940044e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +906 1.43204042e+05 9.46035229e+03 ! particle number mass rhill +5.42963650e+03 !particle radius in m +-5.21396669e+05 9.14782087e+06 -7.71915905e+03 ! x y z +-2.15141308e+03 -1.66257020e+02 2.07412147e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +907 5.82582248e+05 1.59774603e+04 ! particle number mass rhill +1.27728576e+04 !particle radius in m +-3.61884147e+05 9.58012066e+06 -6.32163221e+04 ! x y z +-2.11988696e+03 -7.34599885e+01 -6.66237019e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +908 1.77222758e+06 3.99642317e+04 ! particle number mass rhill +1.25591089e+04 !particle radius in m +-1.53596824e+07 6.40708086e+06 -1.04989342e+05 ! x y z +-6.14876376e+02 -1.48301382e+03 1.26290046e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +909 3.69937337e+05 1.80154389e+04 ! particle number mass rhill +1.09785515e+04 !particle radius in m +-6.50197885e+06 -1.10181249e+07 -6.62877770e+04 ! x y z +1.58080387e+03 -9.02970180e+02 -1.68313909e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +910 1.91277530e+05 1.12680358e+04 ! particle number mass rhill +8.81164464e+03 !particle radius in m +9.75396219e+06 -9.13807405e+05 -7.87078491e+04 ! x y z +2.02298152e+02 2.08890085e+03 -1.56193445e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +911 7.14924966e+04 1.06182194e+04 ! particle number mass rhill +6.34730173e+03 !particle radius in m +1.22059111e+07 -4.11569584e+06 4.51136993e+04 ! x y z +6.18155979e+02 1.71784899e+03 -1.45608490e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +912 1.55563555e+05 1.54568240e+04 ! particle number mass rhill +8.22504486e+03 !particle radius in m +-1.39589249e+07 4.22706952e+06 1.42629172e+04 ! x y z +-4.79490807e+02 -1.64034272e+03 -9.80150049e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +913 1.82993785e+05 1.31378262e+04 ! particle number mass rhill +8.68255953e+03 !particle radius in m +-8.72337367e+06 7.89855612e+06 -1.46432428e+04 ! x y z +-1.27359213e+03 -1.41072675e+03 -9.09643338e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +914 7.86241766e+04 1.03655056e+04 ! particle number mass rhill +6.55170538e+03 !particle radius in m +-5.98689124e+06 -1.08278571e+07 -7.13966053e+04 ! x y z +1.61204187e+03 -9.04138146e+02 6.38760222e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +915 8.65375593e+04 1.02314925e+04 ! particle number mass rhill +6.76452340e+03 !particle radius in m +-1.07210273e+07 4.87007409e+06 5.61861647e+04 ! x y z +-7.65098099e+02 -1.73800332e+03 -1.14385352e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +916 5.51731603e+05 2.32611955e+04 ! particle number mass rhill +8.51193471e+03 !particle radius in m +2.68858721e+06 -1.40830147e+07 -6.98869515e+04 ! x y z +1.69547510e+03 3.28640998e+02 9.31981924e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +917 6.08037372e+05 2.25179870e+04 ! particle number mass rhill +1.29562429e+04 !particle radius in m +-1.30260417e+07 3.41761257e+06 -7.30560375e+04 ! x y z +-4.58021484e+02 -1.72002575e+03 5.01502204e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +918 4.79734805e+05 1.48772500e+04 ! particle number mass rhill +1.19720742e+04 !particle radius in m +-4.79303948e+06 8.20836672e+06 6.12546656e+03 ! x y z +-1.84411142e+03 -1.07059828e+03 4.85115120e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +919 3.74633489e+05 1.27654921e+04 ! particle number mass rhill +1.10248119e+04 !particle radius in m +7.16020189e+06 -5.20913143e+06 7.41222240e+04 ! x y z +1.31083472e+03 1.77863703e+03 -1.14709109e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +920 5.48029178e+04 7.03991663e+03 ! particle number mass rhill +5.80902907e+03 !particle radius in m +8.99285148e+05 9.31741571e+06 -4.43761911e+04 ! x y z +-2.12986907e+03 1.90203427e+02 1.15661198e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +921 4.87827229e+05 1.74774715e+04 ! particle number mass rhill +1.20390163e+04 !particle radius in m +1.03624859e+07 4.00217371e+06 -3.33921276e+04 ! x y z +-7.29889411e+02 1.83209523e+03 -3.12704990e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +922 1.05756885e+06 2.06748257e+04 ! particle number mass rhill +1.05735757e+04 !particle radius in m +9.54531799e+06 -3.82777787e+06 -3.08506232e+03 ! x y z +7.65760228e+02 1.88710727e+03 1.54248284e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +923 6.63813995e+04 1.09433671e+04 ! particle number mass rhill +6.19228768e+03 !particle radius in m +-1.26508821e+07 -4.96817255e+06 -7.46581466e+04 ! x y z +6.38137580e+02 -1.65998064e+03 -1.05229703e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +924 1.00406632e+05 9.99833989e+03 ! particle number mass rhill +7.10814791e+03 !particle radius in m +6.65714202e+06 8.41817806e+06 5.11373555e+04 ! x y z +-1.58896209e+03 1.22956179e+03 -1.67191084e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +925 5.87747010e+05 2.18911763e+04 ! particle number mass rhill +8.69325608e+03 !particle radius in m +-1.30432977e+07 2.41169295e+06 9.46191119e+04 ! x y z +-3.33638402e+02 -1.76051970e+03 1.16209842e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +926 4.75462803e+04 1.18644248e+04 ! particle number mass rhill +3.75974028e+03 !particle radius in m +1.62111278e+07 2.59399704e+06 1.61282577e+05 ! x y z +-2.71405873e+02 1.59773598e+03 -5.81005218e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +927 3.60899345e+05 1.33896338e+04 ! particle number mass rhill +7.38892108e+03 !particle radius in m +2.06345127e+06 9.22023526e+06 -7.22571528e+03 ! x y z +-2.09005362e+03 4.30799852e+02 -1.90823955e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +928 6.94986732e+05 2.84409336e+04 ! particle number mass rhill +9.19272993e+03 !particle radius in m +-1.13721993e+07 -1.13987875e+07 8.83921800e+04 ! x y z +1.16224359e+03 -1.15160239e+03 -1.45306478e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +929 1.42004128e+06 2.12356496e+04 ! particle number mass rhill +1.16650334e+04 !particle radius in m +2.77942362e+06 -9.01437717e+06 -5.67717467e+04 ! x y z +2.03984238e+03 6.54242641e+02 1.85000009e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +930 2.24733888e+05 1.45872492e+04 ! particle number mass rhill +9.29804930e+03 !particle radius in m +-1.18629177e+07 -4.45829589e+05 7.85442143e+04 ! x y z +1.01652144e+02 -1.91537773e+03 4.05611152e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +931 1.47976471e+06 2.49169315e+04 ! particle number mass rhill +1.18263271e+04 !particle radius in m +8.95238380e+06 6.51302794e+06 3.45161345e+04 ! x y z +-1.14800130e+03 1.59335172e+03 -7.03295250e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +932 1.70114086e+05 1.29084720e+04 ! particle number mass rhill +5.75041368e+03 !particle radius in m +6.69475580e+06 -9.28551107e+06 -4.91541805e+04 ! x y z +1.59233658e+03 1.14243210e+03 1.78210731e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +933 1.56606121e+06 2.62055008e+04 ! particle number mass rhill +1.20518923e+04 !particle radius in m +1.12760016e+07 1.84611316e+06 -7.48490699e+04 ! x y z +-2.79591330e+02 1.91267253e+03 -1.78025369e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +934 8.12648144e+05 1.75896750e+04 ! particle number mass rhill +9.68470759e+03 !particle radius in m +-6.71328804e+03 9.68278345e+06 -5.52334404e+04 ! x y z +-2.08432418e+03 -8.54871802e+00 1.66064441e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +935 9.32242815e+04 1.03934151e+04 ! particle number mass rhill +4.70574813e+03 !particle radius in m +-6.96627774e+06 9.23026738e+06 -2.87240918e+04 ! x y z +-1.52286258e+03 -1.17748048e+03 -3.95814303e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +936 9.15923643e+04 9.93071034e+03 ! particle number mass rhill +4.67812785e+03 !particle radius in m +1.23905483e+05 -1.09739869e+07 1.36396267e+04 ! x y z +1.98817193e+03 2.04705438e+01 -2.01972620e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +937 7.73209091e+04 8.79356723e+03 ! particle number mass rhill +6.51530333e+03 !particle radius in m +-6.63943360e+06 7.91940404e+06 6.09014325e+04 ! x y z +-1.56332740e+03 -1.31647658e+03 2.73931815e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +938 1.15431944e+06 2.13451050e+04 ! particle number mass rhill +1.08866518e+04 !particle radius in m +5.51288052e+06 -8.48543006e+06 3.44011201e+04 ! x y z +1.72675322e+03 1.14606699e+03 -1.64108886e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +939 1.21706761e+05 1.16464966e+04 ! particle number mass rhill +7.57891828e+03 !particle radius in m +-6.54081328e+06 -9.90968551e+06 -8.75124119e+02 ! x y z +1.59735811e+03 -1.02533687e+03 2.87435690e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +940 1.44471560e+05 9.79699996e+03 ! particle number mass rhill +5.44560895e+03 !particle radius in m +-6.45935547e+06 -6.74639603e+06 -1.43260248e+04 ! x y z +1.55668948e+03 -1.48434496e+03 1.71287847e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +941 3.71977165e+04 6.32336532e+03 ! particle number mass rhill +5.10514110e+03 !particle radius in m +6.10089271e+06 -7.18245737e+06 -1.54248190e+04 ! x y z +1.63416125e+03 1.39276630e+03 2.48510957e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +942 1.37980847e+05 9.55947495e+03 ! particle number mass rhill +5.36280409e+03 !particle radius in m +4.82602306e+06 -8.03439545e+06 -7.67679872e+02 ! x y z +1.85073484e+03 1.06188550e+03 8.12750484e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +943 4.27857629e+05 1.62853799e+04 ! particle number mass rhill +1.15239690e+04 !particle radius in m +4.44437862e+06 -9.91763988e+06 4.31307866e+04 ! x y z +1.80875755e+03 8.27020553e+02 -1.01329362e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +944 1.74965082e+06 3.10582259e+04 ! particle number mass rhill +1.25055498e+04 !particle radius in m +-1.14222033e+07 -6.06408313e+06 4.03399165e+03 ! x y z +8.56095542e+02 -1.61207885e+03 -3.63239850e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +945 6.72561666e+04 7.87507156e+03 ! particle number mass rhill +6.21936950e+03 !particle radius in m +7.76499151e+06 5.91861320e+06 3.34591110e+04 ! x y z +-1.26430519e+03 1.67125233e+03 9.81409163e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +946 8.64373959e+04 8.05199233e+03 ! particle number mass rhill +6.76191251e+03 !particle radius in m +6.41969262e+05 9.07081567e+06 -7.35294633e+03 ! x y z +-2.17769789e+03 1.33895254e+02 1.52672754e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +947 5.36332278e+04 1.03602264e+04 ! particle number mass rhill +3.91378509e+03 !particle radius in m +-1.06528591e+07 8.93880305e+06 -5.72463584e+04 ! x y z +-1.12548728e+03 -1.34323474e+03 6.06469294e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +948 1.17211860e+05 2.10405973e+04 ! particle number mass rhill +7.48444340e+03 !particle radius in m +-3.19955637e+06 2.16099834e+07 -4.14759774e+03 ! x y z +-1.38306232e+03 -1.85981613e+02 8.81754791e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +949 9.11608285e+04 1.21936686e+04 ! particle number mass rhill +6.88290450e+03 !particle radius in m +-1.10508713e+07 7.71301153e+06 -1.18282672e+05 ! x y z +-1.00552378e+03 -1.48763887e+03 9.37513940e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +950 4.59859255e+05 1.50029271e+04 ! particle number mass rhill +8.01051874e+03 !particle radius in m +-6.84568402e+06 6.93126559e+06 -8.44628949e+04 ! x y z +-1.48797188e+03 -1.48762515e+03 1.55236862e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +951 1.26288065e+06 2.47709011e+04 ! particle number mass rhill +1.12177675e+04 !particle radius in m +-4.99810043e+06 1.03574496e+07 4.97035769e+03 ! x y z +-1.74218913e+03 -8.42934517e+02 -8.95086256e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +952 1.67008034e+06 2.22513268e+04 ! particle number mass rhill +1.23130257e+04 !particle radius in m +-5.22893040e+06 -8.08300727e+06 -6.54096012e+04 ! x y z +1.73636332e+03 -1.16550147e+03 -7.26670162e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +953 7.95372577e+05 1.86967687e+04 ! particle number mass rhill +9.61558846e+03 !particle radius in m +8.48788962e+06 5.61313541e+06 -3.97847978e+04 ! x y z +-1.16430859e+03 1.69033461e+03 -1.63966122e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +954 8.47395554e+04 1.00079467e+04 ! particle number mass rhill +6.71734597e+03 !particle radius in m +-8.10346206e+06 8.11251976e+06 -2.39530194e+04 ! x y z +-1.39528138e+03 -1.34141849e+03 -1.46583663e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +955 6.93438909e+05 2.84903753e+04 ! particle number mass rhill +9.18590040e+03 !particle radius in m +1.01379295e+07 1.27148009e+07 1.28683748e+05 ! x y z +-1.25755832e+03 1.02459820e+03 2.79221586e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +956 7.31942427e+04 1.24518277e+04 ! particle number mass rhill +4.34121509e+03 !particle radius in m +-3.34906408e+06 -1.45007656e+07 3.06724892e+04 ! x y z +1.65986723e+03 -3.87189481e+02 -1.20093781e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +957 3.55587603e+05 1.37341596e+04 ! particle number mass rhill +7.35249155e+03 !particle radius in m +9.72284422e+06 5.24694587e+05 -2.03401805e+04 ! x y z +-1.64711568e+02 2.09599540e+03 2.03343245e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +958 1.71213733e+06 2.28612972e+04 ! particle number mass rhill +1.24155280e+04 !particle radius in m +8.48073237e+06 4.51058486e+06 2.53523368e+04 ! x y z +-9.87084405e+02 1.87149600e+03 2.30788388e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +959 1.49068065e+05 1.05743641e+04 ! particle number mass rhill +5.50275953e+03 !particle radius in m +6.45455163e+06 -7.63351792e+06 -1.42285814e+05 ! x y z +1.59381455e+03 1.33155701e+03 -4.40247600e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +960 2.47891004e+05 1.32144407e+04 ! particle number mass rhill +6.51937434e+03 !particle radius in m +-8.78159278e+06 5.76426176e+06 9.09624378e+04 ! x y z +-1.08134022e+03 -1.71795196e+03 -8.73857909e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +961 2.14835918e+05 1.35103323e+04 ! particle number mass rhill +6.21567016e+03 !particle radius in m +9.52925894e+06 6.10621713e+06 8.38784066e+04 ! x y z +-1.05186401e+03 1.64327133e+03 8.87777455e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +962 6.29065831e+05 1.73269791e+04 ! particle number mass rhill +8.89237350e+03 !particle radius in m +1.01892854e+07 -1.36265120e+06 -1.12357324e+04 ! x y z +2.44094973e+02 2.01912416e+03 -1.23871747e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +963 5.16147317e+05 1.50575212e+04 ! particle number mass rhill +1.22676172e+04 !particle radius in m +-9.44952303e+06 6.64794032e+05 2.66575883e+04 ! x y z +-1.65527486e+02 -2.12001832e+03 -2.00449290e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +964 1.85821608e+05 1.40472593e+04 ! particle number mass rhill +5.92221816e+03 !particle radius in m +1.83154773e+05 -1.22553647e+07 8.81712635e+04 ! x y z +1.88138741e+03 4.37026901e+01 -1.09775010e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +965 1.06343938e+06 2.54408850e+04 ! particle number mass rhill +1.05931042e+04 !particle radius in m +-7.97487196e+06 -9.77747428e+06 2.72278643e+04 ! x y z +1.43311159e+03 -1.15357841e+03 -9.89419786e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +966 1.58002425e+06 2.58710114e+04 ! particle number mass rhill +1.20876047e+04 !particle radius in m +1.94057310e+06 1.10640858e+07 -6.67098464e+04 ! x y z +-1.92090005e+03 3.39961177e+02 9.93411747e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +967 8.58401235e+05 2.07572427e+04 ! particle number mass rhill +9.86315310e+03 !particle radius in m +-4.65532155e+06 1.00459520e+07 1.92148265e+04 ! x y z +-1.79352379e+03 -7.96705869e+02 7.04140623e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +968 1.57528626e+05 1.22389329e+04 ! particle number mass rhill +5.60495536e+03 !particle radius in m +-7.15394211e+06 8.89862789e+06 -1.32380207e+04 ! x y z +-1.51757568e+03 -1.20615223e+03 1.35463888e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +969 2.12134735e+04 6.51263393e+03 ! particle number mass rhill +4.23356519e+03 !particle radius in m +-9.43261369e+06 7.11601450e+06 5.44346690e+03 ! x y z +-1.15890933e+03 -1.51651908e+03 -4.86353449e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +970 3.29578174e+05 1.21204951e+04 ! particle number mass rhill +7.16866817e+03 !particle radius in m +4.46987922e+06 -7.54136153e+06 -1.75706858e+03 ! x y z +1.91337212e+03 1.12893149e+03 -4.46774330e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +971 1.05411151e+05 1.11684890e+04 ! particle number mass rhill +4.90246515e+03 !particle radius in m +-1.19950136e+07 8.16218853e+05 1.95819347e+04 ! x y z +-1.42817655e+02 -1.87495301e+03 1.71449405e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +972 2.55344298e+05 1.76418586e+04 ! particle number mass rhill +9.70236728e+03 !particle radius in m +-7.49210830e+06 -1.17675041e+07 3.09999690e+03 ! x y z +1.49945194e+03 -9.16839153e+02 1.04827746e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +973 1.37703494e+05 1.12425461e+04 ! particle number mass rhill +7.89739710e+03 !particle radius in m +1.05050579e+07 -3.74118158e+06 2.63300605e+04 ! x y z +6.73610054e+02 1.82488852e+03 9.07423039e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +974 9.84103923e+05 2.00432924e+04 ! particle number mass rhill +1.03228429e+04 !particle radius in m +4.89752221e+06 -8.85494139e+06 -6.75229080e+04 ! x y z +1.83164749e+03 9.48103081e+02 -1.57990456e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +975 1.00252238e+05 9.22748863e+03 ! particle number mass rhill +4.82114680e+03 !particle radius in m +-4.94662921e+06 -8.78447645e+06 -1.52590989e+04 ! x y z +1.78359269e+03 -1.02161338e+03 3.01217587e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +976 5.53135509e+05 1.68123246e+04 ! particle number mass rhill +8.51914826e+03 !particle radius in m +-2.76648508e+06 1.00209975e+07 1.12220539e+04 ! x y z +-1.94324711e+03 -5.66151040e+02 8.07071042e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +977 5.41267890e+05 1.56970657e+04 ! particle number mass rhill +1.24634921e+04 !particle radius in m +8.29729830e+05 -9.56636031e+06 7.03935010e+04 ! x y z +2.11653601e+03 1.88209489e+02 4.94852919e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +978 4.92634995e+04 7.32653208e+03 ! particle number mass rhill +3.80446929e+03 !particle radius in m +-9.93606780e+06 -1.91150532e+06 -4.47495052e+04 ! x y z +3.80453971e+02 -2.01867650e+03 -1.85403349e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +979 1.65274417e+04 7.83114800e+03 ! particle number mass rhill +3.89556870e+03 !particle radius in m +-8.01896356e+06 1.37141963e+07 -5.15166167e+03 ! x y z +-1.39036186e+03 -8.35965747e+02 -1.59320152e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +980 5.24214865e+04 6.69045772e+03 ! particle number mass rhill +5.72363723e+03 !particle radius in m +-1.85002148e+06 -8.80679540e+06 1.35544509e+04 ! x y z +2.13508260e+03 -4.62001715e+02 -1.42665412e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +981 9.63241215e+04 2.06858686e+04 ! particle number mass rhill +4.75733808e+03 !particle radius in m +4.27594078e+06 -2.26843001e+07 -1.55793996e+05 ! x y z +1.32907578e+03 2.52657022e+02 -1.02801831e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +982 1.49951567e+05 1.33263763e+04 ! particle number mass rhill +8.12492435e+03 !particle radius in m +-5.68991814e+06 -1.12264560e+07 -5.21915423e+04 ! x y z +1.65234255e+03 -8.32199277e+02 -1.84232859e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +983 7.13391753e+05 2.49266565e+04 ! particle number mass rhill +9.27317292e+03 !particle radius in m +5.57078844e+06 -1.29122392e+07 2.98061387e+04 ! x y z +1.60978124e+03 6.76666256e+02 -1.81556760e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +984 4.91078407e+05 1.52853655e+04 ! particle number mass rhill +1.20657022e+04 !particle radius in m +-9.23646620e+06 -3.48333300e+06 -5.66153126e+04 ! x y z +7.62840282e+02 -1.92758119e+03 -1.42885719e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +985 3.03747127e+04 9.37667012e+03 ! particle number mass rhill +4.77169909e+03 !particle radius in m +-1.33386904e+07 -7.03492878e+06 5.22429887e+04 ! x y z +7.86090473e+02 -1.49627525e+03 -5.64598667e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +986 7.62789305e+04 7.49209491e+03 ! particle number mass rhill +4.40136307e+03 !particle radius in m +-4.47610210e+06 -7.77281547e+06 -5.58878589e+04 ! x y z +1.89664270e+03 -1.07211196e+03 -5.72288054e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +987 5.38217351e+05 1.59161032e+04 ! particle number mass rhill +8.44186160e+03 !particle radius in m +-9.07004249e+06 -3.73002016e+06 4.79325609e+04 ! x y z +7.83046085e+02 -1.94541887e+03 -4.25596103e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +988 1.46677051e+06 5.27296565e+04 ! particle number mass rhill +1.17916085e+04 !particle radius in m +4.77535808e+06 2.28272957e+07 -1.30485185e+05 ! x y z +-1.33059311e+03 2.72226813e+02 1.17199136e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +989 7.83810354e+05 1.63919096e+04 ! particle number mass rhill +9.56876735e+03 !particle radius in m +-6.57222396e+06 -6.18414714e+06 5.03770860e+03 ! x y z +1.49882331e+03 -1.57253167e+03 6.35917239e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +990 9.04479666e+05 2.77109755e+04 ! particle number mass rhill +1.00365688e+04 !particle radius in m +1.29779524e+07 -6.46401216e+06 3.48941370e+04 ! x y z +7.80281531e+02 1.52896125e+03 1.61899666e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +991 1.14972347e+06 2.99375373e+04 ! particle number mass rhill +1.08721841e+04 !particle radius in m +8.92019709e+06 1.13125647e+07 2.46536424e+04 ! x y z +-1.35073430e+03 1.07341543e+03 -2.21311295e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +992 6.67357642e+04 1.09002272e+04 ! particle number mass rhill +6.20328692e+03 !particle radius in m +1.07245478e+07 -8.18329560e+06 2.13161879e+04 ! x y z +1.05166921e+03 1.44439805e+03 3.54109421e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +993 6.11370558e+05 1.56023100e+04 ! particle number mass rhill +1.29798746e+04 !particle radius in m +-9.30550358e+06 8.66046042e+05 5.81017139e+04 ! x y z +-2.29894248e+02 -2.12058022e+03 1.24228458e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +994 4.45237521e+05 1.77384318e+04 ! particle number mass rhill +1.16779401e+04 !particle radius in m +7.60186730e+06 8.86968517e+06 -2.74017031e+04 ! x y z +-1.43991356e+03 1.26760065e+03 4.33685357e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +995 4.53014340e+05 2.01907210e+04 ! particle number mass rhill +1.17455396e+04 !particle radius in m +7.15301504e+06 -1.14025302e+07 6.70488022e+04 ! x y z +1.51419253e+03 9.18252451e+02 1.10269853e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +996 3.76622166e+05 1.36635044e+04 ! particle number mass rhill +7.49470061e+03 !particle radius in m +1.23698701e+06 9.47565448e+06 3.23875154e+04 ! x y z +-2.10148424e+03 2.50074394e+02 -1.91619258e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +997 1.45808293e+06 2.77686048e+04 ! particle number mass rhill +1.17682821e+04 !particle radius in m +-2.19991014e+06 -1.20488900e+07 1.28489104e+05 ! x y z +1.85062965e+03 -3.21678958e+02 -6.16390717e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +998 6.44391266e+05 1.73102080e+04 ! particle number mass rhill +8.96400751e+03 !particle radius in m +-9.49865812e+06 -3.70460583e+06 1.09215654e+05 ! x y z +7.34938455e+02 -1.90450100e+03 -1.30332251e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +999 3.65175986e+05 1.64023546e+04 ! particle number mass rhill +1.09312475e+04 !particle radius in m +1.16226476e+07 1.38150369e+06 -1.92583058e+04 ! x y z +-2.26381104e+02 1.88932307e+03 9.55895676e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1000 9.88081458e+05 1.83194505e+04 ! particle number mass rhill +1.03367318e+04 !particle radius in m +2.15229887e+06 9.00160460e+06 -1.92923892e+04 ! x y z +-2.09656754e+03 4.96075668e+02 -1.16719539e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1001 6.62894303e+05 1.89591067e+04 ! particle number mass rhill +9.04899661e+03 !particle radius in m +1.06770435e+06 1.09358139e+07 4.20062155e+03 ! x y z +-1.96462815e+03 1.83747788e+02 1.48559298e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1002 2.36132593e+05 1.08091204e+04 ! particle number mass rhill +6.41462061e+03 !particle radius in m +-6.42789916e+06 -5.88137546e+06 5.96791682e+04 ! x y z +1.50006484e+03 -1.65201659e+03 -1.22137321e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1003 4.16392913e+05 1.52456984e+04 ! particle number mass rhill +7.74973359e+03 !particle radius in m +-6.05164524e+06 -8.28607289e+06 -1.65389595e+03 ! x y z +1.67689384e+03 -1.17484360e+03 -6.18688546e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1004 7.30911687e+05 2.22864831e+04 ! particle number mass rhill +9.34847201e+03 !particle radius in m +1.21489394e+07 1.95514302e+06 1.23709104e+05 ! x y z +-3.04295890e+02 1.85437159e+03 3.05804994e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1005 7.04656544e+05 1.96594388e+04 ! particle number mass rhill +9.23516856e+03 !particle radius in m +7.58308846e+06 8.14384020e+06 6.98191668e+04 ! x y z +-1.44939292e+03 1.32522723e+03 3.40820153e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1006 5.25571133e+05 1.46176750e+04 ! particle number mass rhill +8.37521886e+03 !particle radius in m +2.35699353e+06 8.90977821e+06 -1.38321436e+04 ! x y z +-2.07425100e+03 5.54407039e+02 3.21999470e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1007 7.82045501e+05 2.08763285e+04 ! particle number mass rhill +9.56158017e+03 !particle radius in m +-6.64360612e+06 -9.33976004e+06 -1.15941594e+05 ! x y z +1.59144044e+03 -1.09353179e+03 -2.96304740e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1008 8.70025224e+04 1.07141500e+04 ! particle number mass rhill +4.59864210e+03 !particle radius in m +1.19168220e+07 -3.45563255e+06 1.11394399e+04 ! x y z +5.17861579e+02 1.76812064e+03 1.39033798e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1009 5.64137560e+04 9.27247783e+03 ! particle number mass rhill +3.98028346e+03 !particle radius in m +-9.71007247e+06 7.35807090e+06 -1.31989891e+05 ! x y z +-1.16325288e+03 -1.47233955e+03 8.07759554e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1010 1.58980135e+06 2.10225293e+04 ! particle number mass rhill +1.21124859e+04 !particle radius in m +1.41799542e+06 -9.13902699e+06 4.24742676e+04 ! x y z +2.10898023e+03 3.21322532e+02 -1.26636042e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1011 6.48898466e+05 3.47604826e+04 ! particle number mass rhill +8.98485858e+03 !particle radius in m +-1.08957227e+07 -1.70176619e+07 1.40648070e+05 ! x y z +1.21605254e+03 -8.04289078e+02 5.08636985e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1012 1.42919802e+06 2.30069491e+04 ! particle number mass rhill +1.16900526e+04 !particle radius in m +-5.98329541e+06 8.30801044e+06 9.09812707e+03 ! x y z +-1.64846384e+03 -1.22236838e+03 2.54695878e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1013 5.40040880e+05 1.47476030e+04 ! particle number mass rhill +8.45138479e+03 !particle radius in m +-4.65472167e+06 -7.85395586e+06 -5.30698954e+03 ! x y z +1.85738188e+03 -1.11675155e+03 9.77147330e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1014 3.15876640e+05 2.57826803e+04 ! particle number mass rhill +1.04153730e+04 !particle radius in m +1.69188525e+07 8.47840581e+06 -4.67327616e+04 ! x y z +-6.66379185e+02 1.35677843e+03 1.32594121e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1015 1.28437998e+06 2.18214380e+04 ! particle number mass rhill +1.12810669e+04 !particle radius in m +-7.04671066e+06 7.15586671e+06 -3.56479637e+04 ! x y z +-1.47400909e+03 -1.45932821e+03 -9.67794404e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1016 8.51014432e+04 1.07189121e+04 ! particle number mass rhill +6.72689473e+03 !particle radius in m +7.33791533e+06 -9.58517692e+06 3.03846079e+04 ! x y z +1.49051721e+03 1.17984608e+03 -1.97955637e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1017 7.73322783e+04 1.01200226e+04 ! particle number mass rhill +4.42153023e+03 !particle radius in m +1.21152578e+07 2.07326034e+05 4.57151931e+03 ! x y z +-2.18290977e+01 1.86989325e+03 -1.30418260e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1018 9.71965028e+05 1.81983837e+04 ! particle number mass rhill +1.02802232e+04 !particle radius in m +-1.78690734e+06 9.20811486e+06 6.52613267e+03 ! x y z +-2.08865445e+03 -3.88689300e+02 7.21544338e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1019 1.49585486e+05 1.14358236e+04 ! particle number mass rhill +5.50911894e+03 !particle radius in m +-6.29895686e+06 8.71900726e+06 -7.33711540e+03 ! x y z +-1.63469757e+03 -1.16304985e+03 4.84189753e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1020 1.78577195e+06 2.71175230e+04 ! particle number mass rhill +1.25910224e+04 !particle radius in m +9.10086700e+06 -7.03219894e+06 -7.28785098e+04 ! x y z +1.17345937e+03 1.50811083e+03 -6.68343594e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1021 1.34502113e+05 9.24659035e+03 ! particle number mass rhill +7.83571609e+03 !particle radius in m +-4.28807654e+06 -7.85915508e+06 2.65183664e+04 ! x y z +1.92700749e+03 -1.07363344e+03 6.86417879e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1022 2.01917888e+05 1.22758301e+04 ! particle number mass rhill +6.08850399e+03 !particle radius in m +6.47343353e+06 8.23566063e+06 3.01013545e+04 ! x y z +-1.59000120e+03 1.26250583e+03 -1.25792680e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1023 1.71637754e+06 2.20305062e+04 ! particle number mass rhill +1.24257689e+04 !particle radius in m +-8.70674127e+06 -2.94645030e+06 -2.92623754e+04 ! x y z +7.11914106e+02 -2.04951615e+03 1.66637378e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1024 1.12639788e+06 4.33869282e+04 ! particle number mass rhill +1.07981562e+04 !particle radius in m +-1.75476786e+07 -1.12768402e+07 1.80639637e+05 ! x y z +7.59106783e+02 -1.22286396e+03 1.20937631e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1025 5.83604478e+05 2.16754875e+04 ! particle number mass rhill +1.27803239e+04 !particle radius in m +7.04696388e+06 -1.10885823e+07 -6.17953039e+04 ! x y z +1.50498521e+03 9.91641405e+02 -4.14259212e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1026 2.20352204e+05 1.09859692e+04 ! particle number mass rhill +6.26842061e+03 !particle radius in m +9.08053413e+06 1.73092917e+06 9.84209268e+03 ! x y z +-4.33130368e+02 2.10086011e+03 -1.06621334e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1027 1.56061006e+06 3.08692906e+04 ! particle number mass rhill +1.20378926e+04 !particle radius in m +-3.00902975e+06 -1.32946373e+07 -5.90702502e+03 ! x y z +1.71319262e+03 -4.00878759e+02 -9.96066412e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1028 3.75033223e+05 1.31801704e+04 ! particle number mass rhill +7.48414588e+03 !particle radius in m +-4.04201967e+06 -8.29248316e+06 -4.12753129e+03 ! x y z +1.92318448e+03 -9.71522928e+02 1.76717922e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1029 4.12899419e+05 2.61767083e+04 ! particle number mass rhill +7.72799953e+03 !particle radius in m +1.75193620e+07 -2.65169374e+06 1.13236551e+05 ! x y z +2.30440171e+02 1.53861792e+03 6.99701915e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1030 8.89682523e+05 1.86122096e+04 ! particle number mass rhill +9.98153536e+03 !particle radius in m +3.43641275e+06 -8.93033322e+06 -2.09644587e+04 ! x y z +1.99449709e+03 7.67681042e+02 -1.69978122e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1031 2.48040793e+05 1.35267215e+04 ! particle number mass rhill +6.52068720e+03 !particle radius in m +-8.94110733e+06 -6.35904272e+06 -5.39789507e+04 ! x y z +1.10919784e+03 -1.62340625e+03 -3.28674782e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1032 5.49793186e+04 1.17511732e+04 ! particle number mass rhill +5.81525514e+03 !particle radius in m +-1.30741810e+07 8.57418735e+06 -1.19905050e+03 ! x y z +-9.25024677e+02 -1.37017223e+03 4.97519787e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1033 6.00472566e+05 1.75807128e+04 ! particle number mass rhill +1.29022874e+04 !particle radius in m +-2.54473466e+06 1.02641366e+07 -6.03109093e+04 ! x y z +-1.94287173e+03 -5.03549968e+02 -1.40714774e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1034 4.73743959e+04 7.85601650e+03 ! particle number mass rhill +3.75520420e+03 !particle radius in m +-2.05229123e+06 1.07524321e+07 -3.91281600e+04 ! x y z +-1.94369561e+03 -3.72923016e+02 -4.66840760e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1035 1.71364118e+05 1.29921200e+04 ! particle number mass rhill +8.49458734e+03 !particle radius in m +9.81310678e+06 -6.45686284e+06 -8.14126007e+04 ! x y z +1.04337462e+03 1.60488987e+03 -6.74659876e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1036 1.51256186e+06 2.01685135e+04 ! particle number mass rhill +1.19130613e+04 !particle radius in m +6.87800371e+06 5.51073017e+06 -5.46411638e+04 ! x y z +-1.36034802e+03 1.74332100e+03 4.94690697e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1037 2.00124444e+05 1.24535014e+04 ! particle number mass rhill +6.07042423e+03 !particle radius in m +-1.07553881e+07 -9.12112446e+05 -4.34386235e+04 ! x y z +1.54461489e+02 -1.98147483e+03 -1.70607618e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1038 2.74425239e+04 7.69344388e+03 ! particle number mass rhill +4.61293151e+03 !particle radius in m +1.27377380e+07 -1.09778054e+05 -6.19904167e+04 ! x y z +-1.25732694e+00 1.84331966e+03 -2.21143255e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1039 1.03073034e+06 3.34851913e+04 ! particle number mass rhill +1.04833644e+04 !particle radius in m +-5.13284511e+05 -1.67637883e+07 -2.82433912e+03 ! x y z +1.59521599e+03 -5.35780376e+01 1.00615428e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1040 8.09310632e+04 1.08186380e+04 ! particle number mass rhill +4.48908069e+03 !particle radius in m +-1.26602775e+07 4.02918646e+05 1.71412707e+04 ! x y z +-5.95275114e+01 -1.83478145e+03 -6.71275300e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1041 2.07976707e+05 1.40611818e+04 ! particle number mass rhill +6.14880277e+03 !particle radius in m +6.61475732e+05 1.19251089e+07 4.99716805e+03 ! x y z +-1.89472956e+03 8.25618952e+01 -1.61809802e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1042 1.56927251e+04 4.40631103e+03 ! particle number mass rhill +3.82885081e+03 !particle radius in m +8.80868758e+06 9.32656348e+05 -4.18862348e+04 ! x y z +-2.17867324e+02 2.19123384e+03 -1.17898705e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1043 1.25482841e+05 9.88544728e+03 ! particle number mass rhill +5.19573642e+03 !particle radius in m +1.00480766e+07 1.10334466e+05 4.24190753e+04 ! x y z +-1.56774101e+01 2.05584808e+03 1.80904032e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1044 5.76644423e+04 6.79383115e+03 ! particle number mass rhill +5.90842447e+03 !particle radius in m +-2.68410660e+06 -8.45093049e+06 -2.25369168e+04 ! x y z +2.08071561e+03 -7.11201230e+02 1.07896227e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1045 1.27910959e+05 1.05238625e+04 ! particle number mass rhill +7.70557245e+03 !particle radius in m +-2.49395661e+06 -1.01785537e+07 4.67622537e+04 ! x y z +1.97783372e+03 -4.46467141e+02 1.43639227e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1046 1.34350101e+06 2.00599763e+04 ! particle number mass rhill +1.14515690e+04 !particle radius in m +-5.37771504e+06 7.44714074e+06 -6.06003060e+03 ! x y z +-1.75372901e+03 -1.25777673e+03 1.33051245e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1047 1.39800754e+05 1.50279289e+04 ! particle number mass rhill +7.93728841e+03 !particle radius in m +1.43736621e+07 3.27074646e+06 -1.17711231e+05 ! x y z +-3.95229369e+02 1.65048180e+03 -2.09427051e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1048 7.35813542e+05 1.62870205e+04 ! particle number mass rhill +9.36932395e+03 !particle radius in m +-8.93375487e+06 -9.23297021e+05 -5.56404103e+04 ! x y z +2.58345498e+02 -2.18331951e+03 -1.86368551e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1049 2.08700220e+05 1.87560451e+04 ! particle number mass rhill +9.07144821e+03 !particle radius in m +-1.28280097e+07 8.91411489e+06 -1.59387089e+04 ! x y z +-9.55988990e+02 -1.37339914e+03 -9.51566283e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1050 8.72300988e+05 2.84455766e+04 ! particle number mass rhill +9.91610503e+03 !particle radius in m +-1.22031914e+07 8.75617467e+06 1.35904643e+05 ! x y z +-1.01713019e+03 -1.34842008e+03 -1.53941683e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1051 3.94208789e+05 1.58087172e+04 ! particle number mass rhill +7.60958719e+03 !particle radius in m +-1.81887078e+05 1.09247030e+07 -4.35726533e+04 ! x y z +-1.97588122e+03 -8.11807516e+00 -3.92064501e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1052 2.98029754e+04 8.88054529e+03 ! particle number mass rhill +4.74157034e+03 !particle radius in m +2.83878155e+06 1.44744864e+07 5.43842125e+04 ! x y z +-1.65421841e+03 3.29251794e+02 -6.23680908e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1053 1.69212978e+05 1.16478963e+04 ! particle number mass rhill +8.45889329e+03 !particle radius in m +1.06135506e+07 -4.48083559e+05 1.72504569e+04 ! x y z +9.44982902e+01 2.00633631e+03 9.90801265e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1054 1.11476324e+06 4.68292988e+04 ! particle number mass rhill +1.07608492e+04 !particle radius in m +8.75139394e+06 -2.04107097e+07 -1.06034326e+05 ! x y z +1.29371288e+03 5.52007802e+02 5.05180489e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1055 3.02270985e+05 1.91780468e+04 ! particle number mass rhill +6.96494702e+03 !particle radius in m +1.42098400e+07 1.83559068e+06 -6.61680518e+04 ! x y z +-2.13356829e+02 1.72148688e+03 1.01500659e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1056 1.74016041e+05 1.86889261e+04 ! particle number mass rhill +8.53818219e+03 !particle radius in m +1.55907651e+07 5.91768331e+06 -8.22551540e+04 ! x y z +-5.54998648e+02 1.51448714e+03 -1.24785663e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1057 2.50703722e+05 2.27112105e+04 ! particle number mass rhill +9.64323129e+03 !particle radius in m +7.38866883e+06 1.67469371e+07 -5.52080317e+04 ! x y z +-1.39370270e+03 6.17614086e+02 4.21088917e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1058 8.14993090e+05 1.77743579e+04 ! particle number mass rhill +9.69401392e+03 !particle radius in m +-5.32551208e+06 -7.90474847e+06 -3.86152280e+04 ! x y z +1.76379265e+03 -1.19032254e+03 1.04687204e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1059 5.77311143e+05 2.14072614e+04 ! particle number mass rhill +8.64149686e+03 !particle radius in m +1.09164841e+07 -7.03739746e+06 2.56807871e+04 ! x y z +9.98839941e+02 1.51559226e+03 -2.93169292e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1060 1.13703075e+06 1.86906120e+04 ! particle number mass rhill +1.08320270e+04 !particle radius in m +-6.83243259e+06 -5.66828831e+06 -1.72900877e+04 ! x y z +1.43365173e+03 -1.68974702e+03 2.09850405e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1061 1.33820642e+05 8.98629492e+03 ! particle number mass rhill +7.82246015e+03 !particle radius in m +6.82803774e+06 -5.76411607e+06 5.47258325e+04 ! x y z +1.40722674e+03 1.66603602e+03 1.74552894e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1062 2.64155254e+05 1.31901008e+04 ! particle number mass rhill +6.65894479e+03 !particle radius in m +9.35446321e+06 4.27959887e+06 1.44633990e+04 ! x y z +-8.44145057e+02 1.86728709e+03 8.45220846e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1063 6.62937093e+05 1.93477118e+04 ! particle number mass rhill +9.04919131e+03 !particle radius in m +-8.81635825e+06 6.95372208e+06 5.99171831e+04 ! x y z +-1.18658772e+03 -1.54806956e+03 -4.34306118e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1064 7.34315131e+05 2.50109591e+04 ! particle number mass rhill +9.36295974e+03 !particle radius in m +3.76533406e+06 -1.36831259e+07 -4.52559471e+04 ! x y z +1.65006231e+03 5.02310012e+02 -7.82371716e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1065 1.67651593e+05 9.98045881e+03 ! particle number mass rhill +8.43279516e+03 !particle radius in m +8.66363031e+06 -3.01551364e+06 1.87644792e+04 ! x y z +6.94997160e+02 2.04127247e+03 4.50266436e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1066 1.80360416e+06 2.85821499e+04 ! particle number mass rhill +1.26327938e+04 !particle radius in m +-1.81171981e+06 1.18614317e+07 -9.45077050e+04 ! x y z +-1.85854649e+03 -2.65883958e+02 1.03797168e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1067 5.82344163e+05 1.77046313e+04 ! particle number mass rhill +1.27711174e+04 !particle radius in m +-5.75108647e+06 -9.00212328e+06 2.40243267e+04 ! x y z +1.69440892e+03 -1.07016945e+03 -1.54605015e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1068 4.19804355e+05 1.33943636e+04 ! particle number mass rhill +7.77084017e+03 !particle radius in m +1.89490021e+06 8.84022962e+06 2.80656936e+04 ! x y z +-2.12712367e+03 4.54322162e+02 -6.09085901e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1069 3.77849576e+05 1.26870716e+04 ! particle number mass rhill +7.50283352e+03 !particle radius in m +-2.84338801e+06 -8.43577004e+06 -3.58252007e+04 ! x y z +2.07616764e+03 -6.90414631e+02 7.86561001e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1070 3.08880512e+05 1.47299271e+04 ! particle number mass rhill +1.03379039e+04 !particle radius in m +7.23228604e+06 8.21987628e+06 -1.12362711e+05 ! x y z +-1.50075767e+03 1.29503859e+03 -4.22019044e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1071 1.59870183e+06 2.28294398e+04 ! particle number mass rhill +1.21350477e+04 !particle radius in m +9.59011374e+06 -1.47240572e+06 -1.17481033e+04 ! x y z +3.06970553e+02 2.09485379e+03 2.11775305e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1072 8.35009848e+04 1.53899607e+04 ! particle number mass rhill +4.53610253e+03 !particle radius in m +1.68353028e+07 -5.98357187e+06 1.37705248e+04 ! x y z +4.97655007e+02 1.46172367e+03 -1.17361347e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1073 7.99379007e+05 3.33138646e+04 ! particle number mass rhill +9.63170656e+03 !particle radius in m +-1.80713745e+07 3.81143072e+06 1.47991860e+05 ! x y z +-3.34463620e+02 -1.47042095e+03 -2.39441838e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1074 1.97672601e+06 2.81308084e+04 ! particle number mass rhill +1.30247028e+04 !particle radius in m +8.12437675e+06 -7.89692091e+06 8.58861149e+04 ! x y z +1.36700546e+03 1.38057019e+03 -5.74921289e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1075 4.49688061e+04 6.25101773e+03 ! particle number mass rhill +5.43842039e+03 !particle radius in m +6.94978876e+06 -5.59183335e+06 2.41251511e+04 ! x y z +1.34132445e+03 1.72532099e+03 1.12041963e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1076 2.56818687e+05 1.81510251e+04 ! particle number mass rhill +6.59671726e+03 !particle radius in m +-1.18687337e+07 -8.19186254e+06 -8.44898067e+04 ! x y z +9.75684146e+02 -1.41995661e+03 -1.13753956e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1077 5.24592418e+05 1.57872425e+04 ! particle number mass rhill +1.23341623e+04 !particle radius in m +-1.89628928e+06 -9.50227023e+06 -4.05755726e+04 ! x y z +2.07857991e+03 -4.30149853e+02 -4.45053647e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1078 2.82198763e+05 1.31237392e+04 ! particle number mass rhill +6.80723430e+03 !particle radius in m +1.01428084e+07 1.53976563e+06 -1.56033963e+05 ! x y z +-3.05629291e+02 2.00359721e+03 3.06409701e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1079 3.13497820e+05 1.18814338e+04 ! particle number mass rhill +7.05013076e+03 !particle radius in m +3.99603404e+06 7.86593577e+06 5.11268274e+04 ! x y z +-1.97467205e+03 9.78734350e+02 8.42153677e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1080 1.79001590e+05 1.04708242e+04 ! particle number mass rhill +8.61895511e+03 !particle radius in m +6.54388805e+06 -6.77023287e+06 -4.59748352e+03 ! x y z +1.54444266e+03 1.46455300e+03 -1.04095061e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1081 9.85458768e+04 9.85910416e+03 ! particle number mass rhill +7.06396397e+03 !particle radius in m +6.04468294e+06 8.82617315e+06 -1.42181890e+05 ! x y z +-1.63233809e+03 1.16910466e+03 -1.88213215e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1082 2.55906276e+05 1.59131597e+04 ! particle number mass rhill +9.70947993e+03 !particle radius in m +-1.11170150e+07 6.16749342e+06 -3.82809291e+04 ! x y z +-8.98686306e+02 -1.59525493e+03 2.55769594e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1083 5.55510829e+05 2.72516797e+04 ! particle number mass rhill +1.25718686e+04 !particle radius in m +1.25437094e+06 -1.67969561e+07 -1.36312584e+04 ! x y z +1.58470452e+03 1.21111055e+02 3.59330822e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1084 4.68048454e+05 1.54091926e+04 ! particle number mass rhill +8.05778982e+03 !particle radius in m +8.43800086e+06 5.71987949e+06 -3.20922412e+04 ! x y z +-1.14330692e+03 1.67937737e+03 -4.35374922e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1085 2.15219454e+05 1.10871568e+04 ! particle number mass rhill +6.21936681e+03 !particle radius in m +-8.36235204e+06 -4.06735446e+06 1.77837069e+04 ! x y z +9.27393629e+02 -1.94041308e+03 2.61389295e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1086 2.99950641e+05 2.10812869e+04 ! particle number mass rhill +1.02373037e+04 !particle radius in m +-2.57151201e+06 -1.54968676e+07 -9.11168853e+04 ! x y z +1.63776183e+03 -2.76257315e+02 2.80266971e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1087 1.59864352e+05 9.50617153e+03 ! particle number mass rhill +8.30015495e+03 !particle radius in m +8.66211969e+06 2.20644842e+06 5.69512514e+03 ! x y z +-5.34166852e+02 2.11025355e+03 7.04563819e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1088 1.71165091e+06 2.20651978e+04 ! particle number mass rhill +1.24143522e+04 !particle radius in m +2.50735051e+06 -9.08802531e+06 1.47619891e+03 ! x y z +2.03247718e+03 5.95768658e+02 -1.11711400e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1089 3.74682990e+05 1.39092702e+04 ! particle number mass rhill +1.10252975e+04 !particle radius in m +-5.08664524e+06 8.37497108e+06 -9.90101269e+04 ! x y z +-1.78382195e+03 -1.07772723e+03 -8.86422219e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1090 2.04861379e+05 1.92942698e+04 ! particle number mass rhill +6.11794676e+03 !particle radius in m +-1.16840844e+07 -1.15084512e+07 8.57597825e+04 ! x y z +1.14349612e+03 -1.15014615e+03 -1.13350767e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1091 2.70294042e+05 1.21706227e+04 ! particle number mass rhill +9.88813712e+03 !particle radius in m +1.06943121e+06 -9.45008765e+06 3.56309722e+04 ! x y z +2.11041887e+03 2.12664792e+02 3.02388980e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1092 1.15804931e+06 2.21787218e+04 ! particle number mass rhill +1.08983650e+04 !particle radius in m +5.08433832e+06 -9.29067904e+06 4.27842439e+04 ! x y z +1.77269334e+03 9.63287806e+02 7.20636543e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1093 1.85153486e+06 2.27742481e+04 ! particle number mass rhill +1.27437222e+04 !particle radius in m +2.28470278e+06 -8.96024162e+06 4.66696872e+04 ! x y z +2.09182568e+03 5.58957357e+02 -1.60064381e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1094 3.82760289e+04 5.93478404e+03 ! particle number mass rhill +5.15400237e+03 !particle radius in m +5.02334401e+06 7.15122722e+06 -2.56747414e+04 ! x y z +-1.82437670e+03 1.28647622e+03 -2.33583185e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1095 3.80438079e+05 1.41130336e+04 ! particle number mass rhill +7.51992756e+03 !particle radius in m +8.03755250e+06 -5.51691122e+06 -2.97535232e+04 ! x y z +1.18216983e+03 1.74141617e+03 -1.17374833e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1096 1.81396845e+06 2.21520841e+04 ! particle number mass rhill +1.26569454e+04 !particle radius in m +-3.07464536e+06 -8.53282891e+06 -1.60914047e+04 ! x y z +2.04872286e+03 -7.58617715e+02 -1.15594518e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1097 2.08849843e+05 1.09999150e+04 ! particle number mass rhill +6.15739547e+03 !particle radius in m +-5.04841460e+06 7.90245442e+06 -3.74769403e+03 ! x y z +-1.79658551e+03 -1.15333901e+03 -1.03989828e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1098 7.44137462e+05 1.61537051e+04 ! particle number mass rhill +9.40452184e+03 !particle radius in m +-4.42483219e+06 7.92889737e+06 4.84429526e+03 ! x y z +-1.90157556e+03 -1.02851509e+03 3.04297458e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1099 3.12842595e+05 1.29972766e+04 ! particle number mass rhill +1.03819185e+04 !particle radius in m +-8.11772737e+06 5.17820457e+06 6.33191218e+04 ! x y z +-1.16398577e+03 -1.76329084e+03 -1.46526563e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1100 5.00463370e+05 1.96095736e+04 ! particle number mass rhill +1.21420799e+04 !particle radius in m +-2.42335217e+06 -1.21748818e+07 5.34958561e+04 ! x y z +1.82657196e+03 -3.58482164e+02 2.17635181e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1101 2.58863272e+05 1.24587177e+04 ! particle number mass rhill +9.74673448e+03 !particle radius in m +-8.93954505e+06 -4.45366726e+06 9.09497729e+03 ! x y z +9.19578118e+02 -1.84128399e+03 1.10716364e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1102 3.92218511e+05 2.38002424e+04 ! particle number mass rhill +7.59675917e+03 !particle radius in m +-1.18899005e+07 -1.11121035e+07 7.33607503e+03 ! x y z +1.10060063e+03 -1.20094721e+03 -1.56817575e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1103 1.50461478e+05 1.87935494e+04 ! particle number mass rhill +8.13412353e+03 !particle radius in m +-1.65295735e+07 6.07637672e+06 3.45373521e+04 ! x y z +-5.42846771e+02 -1.47237923e+03 2.24703732e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1104 3.40704575e+05 2.13916493e+04 ! particle number mass rhill +7.24844729e+03 !particle radius in m +8.55996783e+06 -1.26469693e+07 -1.46558216e+05 ! x y z +1.40714271e+03 9.26431770e+02 -1.15490272e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1105 1.22078004e+06 4.53053513e+04 ! particle number mass rhill +1.10917006e+04 !particle radius in m +5.19156391e+06 -2.05131401e+07 3.01682271e+04 ! x y z +1.38483992e+03 3.58833296e+02 7.82967392e-02 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1106 5.74059007e+05 1.75254745e+04 ! particle number mass rhill +8.62523974e+03 !particle radius in m +-1.04637869e+07 -1.51846657e+06 -3.27030757e+04 ! x y z +3.09759590e+02 -1.99538112e+03 5.67233805e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1107 1.10233704e+05 9.77367852e+03 ! particle number mass rhill +4.97611563e+03 !particle radius in m +1.03065892e+07 -6.00329704e+05 -2.32121119e+04 ! x y z +1.34736424e+02 2.02883986e+03 3.23964316e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1108 4.92926514e+04 8.35869672e+03 ! particle number mass rhill +5.60741952e+03 !particle radius in m +-1.14276246e+07 -1.75001038e+06 -9.86471787e+04 ! x y z +2.92929450e+02 -1.89771028e+03 5.40774568e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1109 2.28123366e+05 2.46002721e+04 ! particle number mass rhill +6.34126039e+03 !particle radius in m +1.88192745e+07 7.35750851e+06 -3.59880986e+04 ! x y z +-5.35957066e+02 1.35808817e+03 -5.10111289e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1110 9.38291323e+05 2.39057714e+04 ! particle number mass rhill +1.01601058e+04 !particle radius in m +1.11584259e+07 -4.47796771e+06 1.03803467e+04 ! x y z +7.28310338e+02 1.76604469e+03 1.45396412e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1111 6.38487235e+04 8.35289367e+03 ! particle number mass rhill +6.11251206e+03 !particle radius in m +3.38442251e+06 -9.82784424e+06 -1.36230396e+05 ! x y z +1.90939863e+03 7.30865853e+02 1.53565819e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1112 4.72613591e+04 9.03956075e+03 ! particle number mass rhill +5.52931152e+03 !particle radius in m +-1.26252231e+07 -6.33455275e+05 -1.30864139e+05 ! x y z +9.33992929e+01 -1.83668276e+03 1.68626587e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1113 5.54246342e+04 9.10616654e+03 ! particle number mass rhill +3.95688360e+03 !particle radius in m +-1.20379515e+07 7.22168436e+05 8.94591753e+04 ! x y z +-1.09103316e+02 -1.88101208e+03 -4.79548889e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1114 5.97374849e+04 7.60664387e+03 ! particle number mass rhill +5.97839539e+03 !particle radius in m +9.86523103e+06 -1.83199282e+06 -1.01434913e+05 ! x y z +3.62371838e+02 2.01111356e+03 -2.79275007e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1115 2.85730185e+05 1.40237450e+04 ! particle number mass rhill +6.83551180e+03 !particle radius in m +-6.51672994e+06 8.58292997e+06 -5.02195539e+04 ! x y z +-1.57720017e+03 -1.21482386e+03 -6.46438464e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1116 3.39840736e+05 1.28616339e+04 ! particle number mass rhill +1.06723682e+04 !particle radius in m +-6.45748170e+06 -6.60771754e+06 -2.88111990e+04 ! x y z +1.51807464e+03 -1.53717383e+03 -6.96952587e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1117 5.80221698e+04 8.94269756e+03 ! particle number mass rhill +4.01775686e+03 !particle radius in m +-1.05725448e+07 -5.16101098e+06 -7.22185112e+04 ! x y z +8.09611157e+02 -1.71812375e+03 -2.92698073e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1118 3.05076450e+04 9.39000602e+03 ! particle number mass rhill +4.77864994e+03 !particle radius in m +1.47903230e+07 -3.70476681e+06 8.67755187e+04 ! x y z +3.95094726e+02 1.62426955e+03 3.16826057e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1119 1.47140776e+05 9.85483510e+03 ! particle number mass rhill +8.07383748e+03 !particle radius in m +-4.36058679e+05 -9.44156206e+06 -4.16955929e+04 ! x y z +2.12091782e+03 -1.37012120e+02 1.39491466e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1120 1.47165298e+06 4.94297791e+04 ! particle number mass rhill +1.18046777e+04 !particle radius in m +-1.46392393e+07 1.63813686e+07 8.12078291e+03 ! x y z +-1.02836410e+03 -9.42723860e+02 -1.38765972e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1121 2.23276517e+05 1.11786883e+04 ! particle number mass rhill +9.27790681e+03 !particle radius in m +9.24634424e+06 -1.31047137e+06 -7.09194003e+04 ! x y z +3.02062155e+02 2.11565604e+03 -9.58265694e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1122 1.82717804e+06 2.32239948e+04 ! particle number mass rhill +1.26875944e+04 !particle radius in m +-7.40684320e+06 6.13173465e+06 -3.12795630e+04 ! x y z +-1.33749169e+03 -1.62866413e+03 1.56290098e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1123 2.51827609e+05 1.22793899e+04 ! particle number mass rhill +9.65761978e+03 !particle radius in m +9.78515626e+06 -5.26138525e+05 -7.59982349e+03 ! x y z +1.11181620e+02 2.08934488e+03 -1.89984631e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1124 1.90339114e+05 1.21036723e+04 ! particle number mass rhill +8.79721090e+03 !particle radius in m +-2.42960077e+06 1.02657010e+07 6.86680195e+04 ! x y z +-1.96613992e+03 -4.70552640e+02 -5.76191698e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1125 1.94434786e+06 2.40654720e+04 ! particle number mass rhill +1.29531974e+04 !particle radius in m +-2.99090493e+06 -9.38394150e+06 1.22754087e+04 ! x y z +1.96346362e+03 -6.64206351e+02 -1.04286573e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1126 3.54738618e+05 1.37755783e+04 ! particle number mass rhill +7.34663539e+03 !particle radius in m +-9.16858859e+06 3.17229706e+06 4.94776739e+02 ! x y z +-6.65048356e+02 -2.00655681e+03 -1.69698250e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1127 8.13466838e+04 1.11519361e+04 ! particle number mass rhill +4.49675212e+03 !particle radius in m +1.02698965e+07 8.30732914e+06 1.14137300e+05 ! x y z +-1.13322876e+03 1.37969911e+03 -4.16855749e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1128 8.84633718e+04 9.48965294e+03 ! particle number mass rhill +4.62423780e+03 !particle radius in m +-6.04360154e+06 -8.98719524e+06 -6.31025271e+04 ! x y z +1.63921724e+03 -1.11262949e+03 4.86167037e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1129 3.06815484e+05 1.87036822e+04 ! particle number mass rhill +1.03148143e+04 !particle radius in m +-9.35912101e+06 -1.03642068e+07 -2.18384299e+03 ! x y z +1.30072422e+03 -1.17573948e+03 1.88668155e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1130 2.00267871e+06 2.75110942e+04 ! particle number mass rhill +1.30814562e+04 !particle radius in m +1.04675718e+07 3.39520028e+06 2.70864639e+04 ! x y z +-5.97065438e+02 1.88145152e+03 -6.95974089e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1131 3.21995723e+04 5.75242135e+03 ! particle number mass rhill +4.86540530e+03 !particle radius in m +-6.73236505e+06 6.13242839e+06 -2.94703322e+04 ! x y z +-1.45294617e+03 -1.61318512e+03 -5.68499388e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1132 1.22510716e+05 1.18263490e+04 ! particle number mass rhill +7.59556962e+03 !particle radius in m +4.89468690e+06 -1.07083932e+07 7.90151606e+04 ! x y z +1.76528528e+03 7.71676536e+02 -3.89405176e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1133 1.28112608e+06 3.44843562e+04 ! particle number mass rhill +1.12715321e+04 !particle radius in m +-1.37917712e+07 -7.88960798e+06 -6.85787993e+04 ! x y z +8.27177105e+02 -1.42633285e+03 -6.22498397e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1134 4.68678766e+05 2.48731080e+04 ! particle number mass rhill +1.18793884e+04 !particle radius in m +-7.34584547e+06 1.44613839e+07 -9.00207198e+04 ! x y z +-1.43737968e+03 -7.51623709e+02 1.07613671e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1135 1.44600429e+06 2.06107186e+04 ! particle number mass rhill +1.17356962e+04 !particle radius in m +-2.70350276e+05 -9.01638261e+06 4.48528244e+04 ! x y z +2.19935586e+03 -5.92167058e+01 -1.37345562e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1136 1.55894367e+06 3.07191480e+04 ! particle number mass rhill +1.20336065e+04 !particle radius in m +-7.93634451e+06 -1.07127629e+07 7.42071719e+04 ! x y z +1.44011604e+03 -1.07152360e+03 -9.74704513e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1137 1.51661612e+05 1.00295649e+04 ! particle number mass rhill +5.53448930e+03 !particle radius in m +-3.42691664e+06 -9.05425003e+06 -2.11677870e+04 ! x y z +1.93479037e+03 -7.69981245e+02 1.10419971e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1138 8.20662008e+04 8.63404579e+03 ! particle number mass rhill +6.64595045e+03 !particle radius in m +-9.89233738e+06 -6.27568084e+05 6.18194671e+03 ! x y z +1.37071969e+02 -2.08621493e+03 4.72062753e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1139 5.83373853e+04 9.33904930e+03 ! particle number mass rhill +5.93131938e+03 !particle radius in m +7.46340614e+06 9.67912332e+06 1.17459472e+04 ! x y z +-1.47885193e+03 1.13911499e+03 4.40806749e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1140 5.11208949e+05 2.15674116e+04 ! particle number mass rhill +1.22283672e+04 !particle radius in m +6.85478382e+06 1.15701707e+07 7.95650274e+04 ! x y z +-1.53423752e+03 9.32610677e+02 -3.67365305e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1141 2.48995873e+04 6.96323506e+03 ! particle number mass rhill +4.46580449e+03 !particle radius in m +-4.56370068e+06 1.10908559e+07 1.08265365e+04 ! x y z +-1.75802463e+03 -7.02357275e+02 1.04220113e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1142 1.18025613e+05 1.14053748e+04 ! particle number mass rhill +5.09070290e+03 !particle radius in m +-1.13385925e+07 2.97597054e+06 -4.72391617e+04 ! x y z +-5.04596574e+02 -1.84477964e+03 1.31785708e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1143 1.20005427e+06 1.94048403e+04 ! particle number mass rhill +1.10285723e+04 !particle radius in m +-9.23261955e+06 -2.89252814e+05 -5.44687237e+04 ! x y z +6.51671796e+01 -2.14992673e+03 -1.81624856e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1144 6.44690750e+04 8.35064291e+03 ! particle number mass rhill +6.13224460e+03 !particle radius in m +1.09075289e+06 1.05119561e+07 -3.25858255e+04 ! x y z +-1.99773044e+03 1.99785681e+02 4.03938771e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1145 1.40498208e+05 1.01388504e+04 ! particle number mass rhill +5.39522124e+03 !particle radius in m +5.52516207e+06 8.11277010e+06 -1.90841913e+04 ! x y z +-1.72426706e+03 1.18446430e+03 1.21936026e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1146 7.72238320e+05 1.87680643e+04 ! particle number mass rhill +9.52144317e+03 !particle radius in m +-4.65951061e+05 1.02295404e+07 5.94558150e+04 ! x y z +-2.05121750e+03 -9.71822097e+01 -1.16001667e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1147 1.89858572e+06 2.93947660e+04 ! particle number mass rhill +1.28507675e+04 !particle radius in m +1.19722664e+07 -1.64049398e+06 8.58821045e+04 ! x y z +2.34549789e+02 1.85980680e+03 1.09499792e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1148 9.08539477e+04 1.04020032e+04 ! particle number mass rhill +6.87517236e+03 !particle radius in m +-1.08162591e+06 1.14927584e+07 -9.76059282e+04 ! x y z +-1.93051044e+03 -1.62077695e+02 -7.14665732e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1149 1.34471989e+06 2.27670592e+04 ! particle number mass rhill +1.14550311e+04 !particle radius in m +-1.95233176e+06 1.02927697e+07 -2.00724108e+04 ! x y z +-1.97843014e+03 -3.85350221e+02 1.08497627e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1150 9.50016532e+05 2.24812571e+04 ! particle number mass rhill +1.02022521e+04 !particle radius in m +6.15222182e+06 -9.75312655e+06 1.28837233e+04 ! x y z +1.61895964e+03 1.04728187e+03 -1.26702028e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1151 4.98259579e+04 1.25780817e+04 ! particle number mass rhill +3.81889352e+03 !particle radius in m +1.70431842e+07 -2.72492428e+06 -3.86028806e+04 ! x y z +2.83672553e+02 1.54910187e+03 2.07904021e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1152 6.79776779e+04 9.03177957e+03 ! particle number mass rhill +6.24153051e+03 !particle radius in m +8.01774299e+06 8.09902023e+06 -2.62747132e+04 ! x y z +-1.35353621e+03 1.36013542e+03 7.64569924e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1153 2.13947474e+05 1.11361089e+04 ! particle number mass rhill +9.14684621e+03 !particle radius in m +3.29923819e+06 8.68923966e+06 -8.36350791e+03 ! x y z +-2.01828563e+03 7.65043187e+02 -1.46373885e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1154 1.61918295e+06 3.85312414e+04 ! particle number mass rhill +1.21866490e+04 !particle radius in m +9.48630114e+06 1.31203942e+07 7.51325437e+04 ! x y z +-1.33995755e+03 9.53539277e+02 6.46323587e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1155 1.43971018e+05 9.40169492e+03 ! particle number mass rhill +5.43931264e+03 !particle radius in m +9.01020062e+06 -9.02772630e+05 1.38704984e+04 ! x y z +2.41367313e+02 2.16126190e+03 7.68455544e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1156 5.27865615e+05 1.79382428e+04 ! particle number mass rhill +1.23597622e+04 !particle radius in m +-8.09665807e+06 -7.58547860e+06 3.14674691e+04 ! x y z +1.35669172e+03 -1.43426598e+03 7.37210686e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1157 2.61259252e+05 2.15300521e+04 ! particle number mass rhill +6.63452075e+03 !particle radius in m +4.28160432e+06 -1.65281080e+07 -8.26509117e+03 ! x y z +1.53190957e+03 3.88184614e+02 1.24754943e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1158 6.27042315e+05 1.61291145e+04 ! particle number mass rhill +8.88282855e+03 !particle radius in m +6.49256441e+05 9.31973535e+06 4.08167273e+04 ! x y z +-2.15470427e+03 1.51716056e+02 1.89189290e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1159 1.52946375e+06 2.19072342e+04 ! particle number mass rhill +1.19572707e+04 !particle radius in m +-9.20065102e+05 -9.43874908e+06 -2.04752392e+04 ! x y z +2.12475295e+03 -2.35100552e+02 7.76090899e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1160 1.11460317e+05 9.66356252e+03 ! particle number mass rhill +4.99450465e+03 !particle radius in m +4.31072822e+06 9.13284291e+06 4.14102022e+04 ! x y z +-1.85476950e+03 9.03328979e+02 -1.46829604e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1161 2.86789697e+04 6.28431067e+03 ! particle number mass rhill +4.68119614e+03 !particle radius in m +-6.79093976e+06 8.03119054e+06 -7.05744289e+04 ! x y z +-1.52734163e+03 -1.29554248e+03 1.30181520e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1162 9.65732528e+05 2.08012047e+04 ! particle number mass rhill +1.02582029e+04 !particle radius in m +-1.04804105e+07 -1.20577935e+06 3.31638534e+04 ! x y z +2.13664871e+02 -2.01046058e+03 -7.98031732e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1163 3.79954335e+05 1.38084178e+04 ! particle number mass rhill +1.10767611e+04 !particle radius in m +-7.18067628e+06 -6.29465669e+06 -5.18935266e+04 ! x y z +1.39765048e+03 -1.60192161e+03 7.92302858e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1164 5.13864272e+05 1.86014350e+04 ! particle number mass rhill +1.22495029e+04 !particle radius in m +-8.66772744e+06 -7.93918786e+06 3.66255031e+04 ! x y z +1.28753321e+03 -1.40570993e+03 1.04442422e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1165 5.37835639e+04 1.57088864e+04 ! particle number mass rhill +5.77278675e+03 !particle radius in m +-4.13157626e+06 -2.06445199e+07 1.15039089e+05 ! x y z +1.39928757e+03 -2.67584358e+02 -6.80453610e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1166 1.74187119e+06 3.12839499e+04 ! particle number mass rhill +1.24869874e+04 !particle radius in m +2.86527664e+04 -1.30135384e+07 9.46703562e+04 ! x y z +1.82137923e+03 3.52269823e+01 6.17347097e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1167 1.58246923e+05 1.05774006e+04 ! particle number mass rhill +8.27206772e+03 !particle radius in m +9.61204633e+06 2.11550317e+06 -1.01612254e+05 ! x y z +-4.54369173e+02 2.03897871e+03 -3.85711771e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1168 3.04701159e+04 5.83960283e+03 ! particle number mass rhill +4.77668965e+03 !particle radius in m +8.56305753e+06 3.83573915e+06 2.26223304e+04 ! x y z +-8.87660780e+02 1.95010957e+03 -6.47697797e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1169 1.28475493e+05 1.68563266e+04 ! particle number mass rhill +7.71689197e+03 !particle radius in m +7.06863637e+05 1.69810271e+07 1.26105980e+05 ! x y z +-1.58048060e+03 4.41879800e+01 4.04119984e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1170 5.67329859e+04 7.91737704e+03 ! particle number mass rhill +5.87643861e+03 !particle radius in m +-5.44027365e+06 8.90923003e+06 -1.91872642e+02 ! x y z +-1.72578284e+03 -1.05328021e+03 2.75794079e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1171 4.29332911e+05 1.41021700e+04 ! particle number mass rhill +7.82919405e+03 !particle radius in m +-3.84222450e+06 8.52500722e+06 5.13399679e+04 ! x y z +-1.95749070e+03 -8.88579162e+02 4.05131851e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1172 2.41133271e+05 1.89734864e+04 ! particle number mass rhill +6.45958637e+03 !particle radius in m +-1.04764717e+07 1.11206338e+07 -1.83995722e+05 ! x y z +-1.21578555e+03 -1.15954535e+03 1.26396174e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1173 1.02998708e+06 2.48616557e+04 ! particle number mass rhill +1.04808440e+04 !particle radius in m +9.91080561e+06 7.33219213e+06 -1.96182672e+04 ! x y z +-1.10289136e+03 1.51166868e+03 8.55255590e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1174 8.89416212e+04 1.13520798e+04 ! particle number mass rhill +4.63255599e+03 !particle radius in m +-6.34641421e+06 1.11675051e+07 -1.12534756e+05 ! x y z +-1.58363204e+03 -9.07829510e+02 -3.73545248e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1175 5.14885465e+05 3.14248507e+04 ! particle number mass rhill +8.31806943e+03 !particle radius in m +-9.60844812e+06 -1.70444496e+07 1.09767306e+04 ! x y z +1.30061497e+03 -7.22601223e+02 5.04626944e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1176 2.69318662e+05 1.15494702e+04 ! particle number mass rhill +6.70205230e+03 !particle radius in m +3.30176954e+06 8.21216858e+06 2.33957768e+04 ! x y z +-2.06647672e+03 8.14303416e+02 -3.27813568e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1177 3.05068788e+05 1.47559128e+04 ! particle number mass rhill +6.98637011e+03 !particle radius in m +-3.56455427e+06 1.04513814e+07 9.13561134e+04 ! x y z +-1.86227880e+03 -6.46156347e+02 -1.84370397e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1178 5.19675697e+05 1.60513381e+04 ! particle number mass rhill +1.22955075e+04 !particle radius in m +1.01719252e+07 6.26688339e+05 3.49609062e+04 ! x y z +-1.13334526e+02 2.03525342e+03 3.73100714e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1179 1.39224144e+06 2.01859103e+04 ! particle number mass rhill +1.15884099e+04 !particle radius in m +6.79475129e+06 -6.15725925e+06 -4.34005132e+04 ! x y z +1.43607392e+03 1.60794893e+03 9.89854216e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1180 4.05538875e+05 1.93162514e+04 ! particle number mass rhill +1.13200016e+04 !particle radius in m +3.31203426e+06 1.26977181e+07 1.61925621e+04 ! x y z +-1.75290457e+03 4.51047834e+02 -6.90112778e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1181 3.20579085e+04 6.70574528e+03 ! particle number mass rhill +4.85825960e+03 !particle radius in m +-5.28465980e+06 9.08656562e+06 5.60870045e+04 ! x y z +-1.73422854e+03 -1.05901334e+03 1.51078632e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1182 9.82029002e+05 2.71517490e+04 ! particle number mass rhill +1.03155828e+04 !particle radius in m +-4.41381530e+06 -1.31465095e+07 1.23851466e+05 ! x y z +1.64911245e+03 -5.92288633e+02 -5.00592030e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1183 9.36064907e+04 1.42989922e+04 ! particle number mass rhill +4.71217038e+03 !particle radius in m +1.58308263e+07 -4.73628624e+05 -2.19545030e+04 ! x y z +5.84709400e+01 1.64641342e+03 -6.62703110e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1184 1.54283486e+06 2.12065020e+04 ! particle number mass rhill +1.19920145e+04 !particle radius in m +9.12968341e+06 9.11733516e+04 1.78969232e+04 ! x y z +-5.65016782e+01 2.18069451e+03 -3.98571279e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1185 2.73946957e+05 1.19011985e+04 ! particle number mass rhill +9.93248268e+03 !particle radius in m +8.78149411e+06 -3.19216182e+06 -1.60141388e+04 ! x y z +7.37216338e+02 1.99835772e+03 -1.41820401e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1186 3.20723125e+04 9.43296932e+03 ! particle number mass rhill +4.85898712e+03 !particle radius in m +1.29860619e+07 -8.19871711e+06 9.27457802e+04 ! x y z +8.67118976e+02 1.40272209e+03 6.07478118e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1187 5.63661707e+05 1.72291545e+04 ! particle number mass rhill +8.57284899e+03 !particle radius in m +6.74596853e+06 7.83340922e+06 1.66421965e+04 ! x y z +-1.53458492e+03 1.36487940e+03 -3.08963768e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1188 9.77483308e+05 2.12062991e+04 ! particle number mass rhill +1.02996416e+04 !particle radius in m +9.97004957e+06 -4.03326891e+06 1.22229820e+04 ! x y z +7.36970819e+02 1.85756062e+03 1.86046036e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1189 1.11997160e+06 3.12831472e+04 ! particle number mass rhill +1.07775819e+04 !particle radius in m +1.48289776e+07 -3.18422896e+06 -1.95106854e+04 ! x y z +3.65562411e+02 1.64235740e+03 -1.78622262e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1190 4.21697204e+05 2.76052200e+04 ! particle number mass rhill +7.78250193e+03 !particle radius in m +-1.82004676e+07 -4.58264120e+06 -8.80114368e+04 ! x y z +3.67043849e+02 -1.45746561e+03 3.81482960e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1191 1.27924892e+05 1.00707109e+04 ! particle number mass rhill +7.70585221e+03 !particle radius in m +9.71830285e+06 -2.79239080e+06 -1.21765919e+05 ! x y z +5.86439180e+02 1.97016309e+03 1.41983570e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1192 2.18484788e+05 2.11984156e+04 ! particle number mass rhill +9.21105533e+03 !particle radius in m +-6.87422066e+06 -1.61812284e+07 3.33849657e+04 ! x y z +1.44453834e+03 -6.12213456e+02 5.14798988e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1193 4.42881353e+05 1.37597985e+04 ! particle number mass rhill +7.91069782e+03 !particle radius in m +-4.40453318e+05 -9.00359396e+06 2.55701381e+04 ! x y z +2.18504558e+03 -1.66090270e+02 -5.38264979e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1194 3.29981187e+05 3.15651668e+04 ! particle number mass rhill +7.17158897e+03 !particle radius in m +2.19604188e+07 6.04779191e+06 -2.54791200e+04 ! x y z +-3.65663685e+02 1.33014017e+03 -8.36197344e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1195 2.00582226e+05 1.14105456e+04 ! particle number mass rhill +8.95226931e+03 !particle radius in m +6.76787299e+06 -6.88896584e+06 -7.92738002e+04 ! x y z +1.51846448e+03 1.48693289e+03 -8.03074046e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1196 2.41709605e+04 6.44082984e+03 ! particle number mass rhill +4.42181219e+03 !particle radius in m +-6.18157795e+06 9.50909765e+06 -6.31347661e+04 ! x y z +-1.61918243e+03 -1.05906497e+03 6.51625165e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1197 4.00640371e+05 2.08913635e+04 ! particle number mass rhill +7.65074804e+03 !particle radius in m +1.22370591e+07 -7.52313059e+06 -3.37590788e+04 ! x y z +9.11513184e+02 1.46224236e+03 1.38515615e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1198 1.61635239e+06 2.60284499e+04 ! particle number mass rhill +1.21795436e+04 !particle radius in m +7.05236290e+06 -8.64870991e+06 -6.91330978e+04 ! x y z +1.52616946e+03 1.23310907e+03 1.29403411e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1199 5.36110948e+05 1.44063126e+04 ! particle number mass rhill +8.43083433e+03 !particle radius in m +7.80864005e+06 -4.26482545e+06 -2.18013868e+04 ! x y z +1.03496940e+03 1.94204946e+03 1.21677642e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1200 4.28449000e+05 1.32968335e+04 ! particle number mass rhill +7.82381744e+03 !particle radius in m +5.75136921e+06 -6.66165297e+06 -1.60013139e+04 ! x y z +1.66229394e+03 1.46936203e+03 -7.73684722e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1201 9.10224446e+04 8.11138177e+03 ! particle number mass rhill +6.87941995e+03 !particle radius in m +-1.22562478e+06 9.13823949e+06 -4.37327451e+04 ! x y z +-2.12169150e+03 -2.88517939e+02 -1.49392473e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1202 1.98612171e+06 2.96000814e+04 ! particle number mass rhill +1.30453064e+04 !particle radius in m +7.69914612e+06 -9.13021219e+06 -4.57648993e+04 ! x y z +1.43992781e+03 1.22291153e+03 -3.96856343e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1203 4.53993230e+04 7.49997775e+03 ! particle number mass rhill +5.45572052e+03 !particle radius in m +-1.04553344e+07 2.52527420e+06 -1.08628658e+05 ! x y z +-4.86679714e+02 -1.92107394e+03 9.45357951e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1204 6.54079550e+05 2.35625462e+04 ! particle number mass rhill +9.00870821e+03 !particle radius in m +1.39140966e+07 -6.41849608e+05 1.71228409e+05 ! x y z +6.24928406e+01 1.73760043e+03 1.32646652e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1205 7.94478183e+05 1.80563097e+04 ! particle number mass rhill +9.61198288e+03 !particle radius in m +-4.68891691e+06 -8.65727522e+06 1.38785454e+05 ! x y z +1.83563800e+03 -9.88706825e+02 -2.51608816e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1206 1.99428214e+06 2.23251883e+04 ! particle number mass rhill +1.30631485e+04 !particle radius in m +2.13007974e+05 9.18824852e+06 -3.80121317e+04 ! x y z +-2.12834457e+03 7.70592587e+01 -1.61308426e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1207 5.76675515e+04 7.93652829e+03 ! particle number mass rhill +5.90853066e+03 !particle radius in m +-1.00652683e+07 -2.07792286e+06 6.26672177e+04 ! x y z +4.27478087e+02 -2.00526834e+03 1.11714666e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1208 7.68189982e+05 1.70994829e+04 ! particle number mass rhill +9.50477579e+03 !particle radius in m +-9.25272310e+06 4.61553055e+05 2.28064653e+03 ! x y z +-1.21224875e+02 -2.16490532e+03 1.16467209e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1209 7.17469390e+04 7.67800796e+03 ! particle number mass rhill +4.31241077e+03 !particle radius in m +5.99768112e+06 7.18836176e+06 1.30862988e+04 ! x y z +-1.63913963e+03 1.36776567e+03 -1.13032580e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1210 8.36379167e+04 1.86325541e+04 ! particle number mass rhill +4.53858074e+03 !particle radius in m +2.69549465e+06 -2.13775506e+07 -2.70977944e+04 ! x y z +1.39480467e+03 1.95781010e+02 -1.22454588e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1211 2.44077886e+04 5.84483951e+03 ! particle number mass rhill +4.43620698e+03 !particle radius in m +-3.14237843e+06 -9.60218811e+06 -6.89227352e+04 ! x y z +1.95665546e+03 -6.62178945e+02 -9.36372693e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1212 1.44764486e+05 9.84771730e+03 ! particle number mass rhill +5.44928691e+03 !particle radius in m +3.78692528e+06 8.59540985e+06 -3.20061356e+04 ! x y z +-1.96752618e+03 8.51121277e+02 -1.51485463e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1213 2.27221346e+04 6.08153019e+03 ! particle number mass rhill +4.33163678e+03 !particle radius in m +-9.00146283e+06 -6.41911956e+06 6.65091457e+04 ! x y z +1.12404780e+03 -1.59135698e+03 -9.77302741e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1214 2.71535887e+04 5.59499408e+03 ! particle number mass rhill +4.59668490e+03 !particle radius in m +8.54824866e+06 -3.66634423e+06 -4.89483929e+04 ! x y z +8.47956516e+02 1.98291118e+03 3.60869553e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1215 1.83930380e+06 4.81996691e+04 ! particle number mass rhill +1.27155989e+04 !particle radius in m +1.95697614e+07 6.28199416e+06 9.65119660e+04 ! x y z +-4.43211708e+02 1.34690163e+03 -9.62234736e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1216 1.59080558e+04 1.03572285e+04 ! particle number mass rhill +3.84628408e+03 !particle radius in m +-1.58193926e+07 -1.35536390e+07 8.45439846e+04 ! x y z +9.33923428e+02 -1.08590633e+03 1.18308309e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1217 1.66392524e+06 3.70165505e+04 ! particle number mass rhill +1.22978804e+04 !particle radius in m +1.57128973e+07 -6.39323202e+05 1.78188715e+04 ! x y z +6.88318620e+01 1.65105864e+03 3.96550811e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1218 3.66179316e+05 1.41594102e+04 ! particle number mass rhill +7.42478017e+03 !particle radius in m +4.15871481e+06 9.23348984e+06 -2.00218047e+04 ! x y z +-1.86711988e+03 8.27796037e+02 -1.71003540e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1219 1.54561493e+05 1.00684785e+04 ! particle number mass rhill +8.20734629e+03 !particle radius in m +1.01202151e+06 -9.34669057e+06 -3.05255233e+04 ! x y z +2.12896558e+03 2.37084406e+02 2.06490854e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1220 1.96961109e+06 2.97634995e+04 ! particle number mass rhill +1.30090572e+04 !particle radius in m +-1.21933337e+07 -1.85215644e+04 -9.08532291e+04 ! x y z +3.99379627e+00 -1.85775511e+03 -5.11110124e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1221 1.52307934e+06 2.08671874e+04 ! particle number mass rhill +1.19406098e+04 !particle radius in m +-3.43283359e+06 -8.55413032e+06 1.39837760e+04 ! x y z +2.01077915e+03 -7.56017909e+02 1.02863591e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1222 4.68434436e+05 2.00080803e+04 ! particle number mass rhill +1.18773237e+04 !particle radius in m +-1.54011563e+06 -1.27126780e+07 7.48528448e+04 ! x y z +1.83173381e+03 -2.00582211e+02 -5.46653115e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1223 2.90685914e+05 1.99495647e+04 ! particle number mass rhill +6.87480407e+03 !particle radius in m +1.51139781e+07 1.12076930e+06 -2.10697882e+04 ! x y z +-1.50737141e+02 1.67679110e+03 1.30972258e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1224 1.38602808e+05 1.24338676e+04 ! particle number mass rhill +7.91455193e+03 !particle radius in m +4.75991835e+06 1.10017280e+07 2.88714064e+04 ! x y z +-1.75624695e+03 7.27843788e+02 7.23217325e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1225 2.95749638e+04 5.42872052e+03 ! particle number mass rhill +4.72944737e+03 !particle radius in m +-7.70162983e+06 -4.41409406e+06 2.58165729e+04 ! x y z +1.05981797e+03 -1.92161597e+03 -1.53504172e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1226 4.32072593e+05 1.78081985e+04 ! particle number mass rhill +7.84581210e+03 !particle radius in m +8.79063205e+06 8.04366554e+06 -1.54947665e+04 ! x y z +-1.27701177e+03 1.39840130e+03 -2.40220571e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1227 6.41589266e+04 9.67981886e+03 ! particle number mass rhill +6.12239510e+03 !particle radius in m +8.04074117e+06 9.64104753e+06 -4.45617960e+04 ! x y z +-1.39128132e+03 1.17398843e+03 -6.62327287e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1228 3.20284500e+05 1.26827896e+04 ! particle number mass rhill +7.10064233e+03 !particle radius in m +-6.66261606e+06 6.71220967e+06 -3.99553759e+04 ! x y z +-1.50278601e+03 -1.49037570e+03 1.28507761e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1229 1.51846639e+05 1.45701862e+04 ! particle number mass rhill +5.53673908e+03 !particle radius in m +7.85675354e+06 -1.09086703e+07 6.52437187e+03 ! x y z +1.47253647e+03 1.04716710e+03 -2.78745894e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1230 1.23586335e+05 1.11194308e+04 ! particle number mass rhill +7.61773407e+03 !particle radius in m +1.20372202e+06 -1.12995198e+07 -7.66376724e+04 ! x y z +1.92159252e+03 2.10022167e+02 1.77035004e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1231 2.25142465e+05 1.38893155e+04 ! particle number mass rhill +6.31351866e+03 !particle radius in m +1.34520987e+06 -1.14199869e+07 -1.06162090e+05 ! x y z +1.91854210e+03 2.27440517e+02 -2.86612981e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1232 2.50526229e+04 5.93289297e+03 ! particle number mass rhill +4.47493492e+03 !particle radius in m +-7.81637690e+06 6.77408689e+06 -7.41358369e+04 ! x y z +-1.33330305e+03 -1.52276964e+03 -6.38372634e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1233 1.90834790e+06 2.35258485e+04 ! particle number mass rhill +1.28727553e+04 !particle radius in m +-9.27394458e+06 2.25024078e+06 5.28422677e+04 ! x y z +-5.05715454e+02 -2.06066723e+03 1.34558284e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1234 4.91248539e+04 7.28485384e+03 ! particle number mass rhill +3.80089688e+03 !particle radius in m +7.39246396e+06 7.02828616e+06 -5.45617263e+04 ! x y z +-1.39190312e+03 1.48134140e+03 -3.43671966e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1235 1.41719231e+05 1.93293155e+04 ! particle number mass rhill +7.97343121e+03 !particle radius in m +1.36549158e+07 -1.27792544e+07 5.75773322e+03 ! x y z +1.01857297e+03 1.11983894e+03 2.42317366e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1236 2.00882370e+05 1.08894510e+04 ! particle number mass rhill +6.07807803e+03 !particle radius in m +8.51250762e+06 3.74715124e+06 -3.66793926e+04 ! x y z +-9.06822201e+02 1.95546956e+03 -1.35124063e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1237 1.20287590e+05 1.23845440e+04 ! particle number mass rhill +7.54934486e+03 !particle radius in m +1.11622021e+07 6.11280266e+06 1.12048087e+05 ! x y z +-8.90669182e+02 1.59847160e+03 8.83220737e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1238 4.77986782e+05 1.49760594e+04 ! particle number mass rhill +8.11442267e+03 !particle radius in m +-3.59837711e+06 8.94095859e+06 9.64175823e+04 ! x y z +-1.96856779e+03 -7.62947641e+02 3.79489804e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1239 2.65771158e+05 1.18757587e+04 ! particle number mass rhill +9.83267321e+03 !particle radius in m +1.29422873e+06 -9.18423777e+06 1.13052561e+04 ! x y z +2.13217255e+03 3.09173468e+02 -6.46064530e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1240 9.09935528e+05 1.77629488e+04 ! particle number mass rhill +1.00567087e+04 !particle radius in m +7.55024995e+06 5.55902389e+06 2.47186332e+04 ! x y z +-1.28842830e+03 1.68728817e+03 -8.10804757e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1241 6.99841166e+05 3.29812546e+04 ! particle number mass rhill +9.21408381e+03 !particle radius in m +1.88151667e+07 3.33001002e+06 3.73324839e+04 ! x y z +-2.30107887e+02 1.46487898e+03 2.65739699e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1242 3.90005908e+05 1.34816243e+04 ! particle number mass rhill +1.11735897e+04 !particle radius in m +5.44170973e+06 -7.58711950e+06 -1.68342575e+04 ! x y z +1.71954001e+03 1.27240084e+03 9.88806581e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1243 1.08664322e+06 2.28428386e+04 ! particle number mass rhill +1.06695963e+04 !particle radius in m +-8.65530733e+06 -7.08569033e+06 -2.23265845e+04 ! x y z +1.25758504e+03 -1.50248441e+03 -3.62008173e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1244 1.52765224e+06 2.10792686e+04 ! particle number mass rhill +1.19525480e+04 !particle radius in m +-5.77529746e+06 -7.17376952e+06 -5.18219866e+04 ! x y z +1.69375434e+03 -1.34010802e+03 -1.50223596e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1245 6.16725526e+04 8.80160618e+03 ! particle number mass rhill +6.04226309e+03 !particle radius in m +-1.06219205e+07 -3.45583164e+06 7.57878163e+04 ! x y z +6.00669506e+02 -1.87043192e+03 1.96458906e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1246 2.90774616e+05 1.23816662e+04 ! particle number mass rhill +6.87550328e+03 !particle radius in m +6.08800715e+06 7.31025693e+06 2.11892900e+04 ! x y z +-1.62733880e+03 1.34749417e+03 4.48661776e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1247 2.91111310e+05 1.70046080e+04 ! particle number mass rhill +6.87815602e+03 !particle radius in m +1.11973713e+07 -6.89047737e+06 8.77501535e+04 ! x y z +9.27451132e+02 1.53222806e+03 7.89688850e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1248 1.92146673e+04 5.02220470e+03 ! particle number mass rhill +4.09618861e+03 !particle radius in m +-7.43211722e+06 -5.81999467e+06 -9.65323707e+03 ! x y z +1.33310134e+03 -1.66490648e+03 -3.67453264e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1249 1.12236575e+06 2.53698511e+04 ! particle number mass rhill +1.07852562e+04 !particle radius in m +-1.08902550e+07 -5.66422797e+06 1.03662075e+04 ! x y z +8.63087680e+02 -1.66058015e+03 -2.16763143e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1250 1.97375621e+05 1.34147884e+04 ! particle number mass rhill +8.90430770e+03 !particle radius in m +5.12124924e+06 1.04057141e+07 -2.37917852e+04 ! x y z +-1.74067826e+03 8.20317248e+02 -1.61468664e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1251 6.18834861e+04 1.06379610e+04 ! particle number mass rhill +6.04914386e+03 !particle radius in m +-1.68906115e+06 -1.36100786e+07 1.12141407e+05 ! x y z +1.74322371e+03 -2.27430898e+02 1.33662045e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1252 1.48860804e+05 1.71420231e+04 ! particle number mass rhill +8.10517587e+03 !particle radius in m +1.55662567e+07 4.00286637e+06 -1.79247131e+05 ! x y z +-4.13259864e+02 1.59216194e+03 8.36151351e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1253 9.89512707e+05 4.29095693e+04 ! particle number mass rhill +1.03417203e+04 !particle radius in m +-1.88242941e+07 1.06236844e+07 -6.10248603e+04 ! x y z +-7.07744890e+02 -1.22126213e+03 4.18101860e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1254 3.12504250e+05 1.56490359e+04 ! particle number mass rhill +1.03781744e+04 !particle radius in m +6.54563477e+06 9.67513797e+06 -6.81578535e+04 ! x y z +-1.58341801e+03 1.07058771e+03 -6.04814628e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1255 1.91935878e+05 1.27404816e+04 ! particle number mass rhill +8.82174250e+03 !particle radius in m +1.04054207e+07 -4.16069278e+06 2.73610807e+04 ! x y z +7.03766909e+02 1.81842161e+03 8.81427302e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1256 1.11002558e+05 1.15265444e+04 ! particle number mass rhill +4.98765792e+03 !particle radius in m +3.08072328e+06 -1.16153087e+07 4.07709281e+04 ! x y z +1.83456791e+03 4.73999302e+02 7.43116200e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1257 1.46365124e+05 1.07472865e+04 ! particle number mass rhill +5.46929730e+03 !particle radius in m +6.34509950e+06 -8.39632633e+06 3.00680333e+04 ! x y z +1.60571507e+03 1.18326876e+03 -2.08403941e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1258 3.58622633e+04 7.27385097e+03 ! particle number mass rhill +5.04330099e+03 !particle radius in m +1.11214656e+07 1.24533693e+06 -1.06574136e+05 ! x y z +-2.16829963e+02 1.93905765e+03 1.21579926e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1259 4.04109068e+05 1.42195375e+04 ! particle number mass rhill +1.13066823e+04 !particle radius in m +-8.88143306e+06 -3.59836181e+06 5.33136699e+04 ! x y z +8.14785566e+02 -1.96550951e+03 6.43084310e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1260 3.08027204e+05 1.50707848e+04 ! particle number mass rhill +7.00888103e+03 !particle radius in m +-8.26948189e+06 -7.55777650e+06 1.90589282e+04 ! x y z +1.31251337e+03 -1.45641325e+03 -2.75253497e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1261 5.68308086e+04 7.77187750e+03 ! particle number mass rhill +3.99006780e+03 !particle radius in m +-8.76369433e+06 5.12820302e+06 4.83723083e+04 ! x y z +-1.02986001e+03 -1.78262989e+03 -1.16887378e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1262 3.44231334e+05 1.47159604e+04 ! particle number mass rhill +1.07181325e+04 !particle radius in m +8.77351236e+06 5.86805867e+06 7.03132721e+04 ! x y z +-1.14557695e+03 1.66192575e+03 2.25245099e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1263 2.40295629e+05 1.18592176e+04 ! particle number mass rhill +6.45209798e+03 !particle radius in m +2.81170524e+06 9.19584888e+06 4.45600518e+04 ! x y z +-2.01744512e+03 6.24046260e+02 -9.89046691e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1264 6.80068207e+04 8.07363373e+03 ! particle number mass rhill +6.24242232e+03 !particle radius in m +-9.87293199e+06 -1.42461669e+06 -2.08948330e+04 ! x y z +2.77302880e+02 -2.05434640e+03 1.23835967e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1265 4.03465047e+05 1.96297243e+04 ! particle number mass rhill +1.13006727e+04 !particle radius in m +-3.58991165e+06 -1.30771532e+07 4.60336444e+04 ! x y z +1.69912089e+03 -4.85176809e+02 -8.42271300e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1266 1.12924923e+06 1.97340059e+04 ! particle number mass rhill +1.08072599e+04 !particle radius in m +-9.30543267e+06 -1.69593678e+06 7.96573126e+04 ! x y z +3.79186148e+02 -2.10571304e+03 -2.17512876e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1267 2.12462415e+05 1.13846036e+04 ! particle number mass rhill +6.19269515e+03 !particle radius in m +-3.38260922e+06 8.95675600e+06 -9.15710109e+04 ! x y z +-1.98063128e+03 -7.58924908e+02 1.62762983e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1268 1.22284830e+05 9.48762297e+03 ! particle number mass rhill +7.59089850e+03 !particle radius in m +9.06470291e+06 3.39698455e+06 -1.93072359e+04 ! x y z +-7.42646003e+02 1.96423004e+03 3.04319746e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1269 3.20826960e+05 1.28228485e+04 ! particle number mass rhill +7.10464881e+03 !particle radius in m +-8.28344816e+06 -4.56542130e+06 -3.98741155e+04 ! x y z +9.81538136e+02 -1.88759078e+03 8.61570104e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1270 1.68765847e+05 1.17429653e+04 ! particle number mass rhill +8.45143607e+03 !particle radius in m +9.83373151e+06 4.43940145e+06 2.01558777e+04 ! x y z +-8.55397447e+02 1.79285028e+03 -1.01803709e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1271 5.60563834e+05 1.63043729e+04 ! particle number mass rhill +1.26098721e+04 !particle radius in m +6.20736435e+06 7.70565657e+06 2.01353242e+04 ! x y z +-1.62930967e+03 1.30802298e+03 1.80300563e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1272 2.23640540e+05 2.16768752e+04 ! particle number mass rhill +9.28294621e+03 !particle radius in m +-1.21242621e+07 -1.29944427e+07 9.45840193e+03 ! x y z +1.14488121e+03 -1.06447129e+03 8.51817054e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1273 3.24484331e+05 1.23517614e+04 ! particle number mass rhill +1.05091333e+04 !particle radius in m +-9.34416446e+04 9.14288304e+06 8.29702341e+03 ! x y z +-2.15581546e+03 -1.85313701e+01 1.24100830e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1274 4.20796538e+05 1.46309941e+04 ! particle number mass rhill +1.14602223e+04 !particle radius in m +-8.56201175e+06 -4.77007031e+06 6.27239711e+04 ! x y z +1.04809893e+03 -1.81527422e+03 -2.35300971e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1275 5.97784859e+05 1.68704229e+04 ! particle number mass rhill +8.74246630e+03 !particle radius in m +9.33774261e+06 -3.80575834e+06 3.61612768e+04 ! x y z +7.89084549e+02 1.90660726e+03 1.55750455e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1276 7.71866509e+05 1.63632082e+04 ! particle number mass rhill +9.51991482e+03 !particle radius in m +1.44814086e+05 -9.02785011e+06 -7.62099316e+03 ! x y z +2.17482769e+03 2.31217788e+01 4.51562127e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1277 2.09762369e+04 6.28274160e+03 ! particle number mass rhill +4.21772425e+03 !particle radius in m +2.68337698e+06 1.12799171e+07 -1.92110080e+04 ! x y z +-1.86815076e+03 4.16102947e+02 -8.29271140e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1278 3.46246737e+05 1.25842743e+04 ! particle number mass rhill +1.07390093e+04 !particle radius in m +-8.56711815e+06 -3.15713404e+06 3.97972006e+03 ! x y z +7.43604689e+02 -2.02339459e+03 6.66994916e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1279 4.20281553e+05 1.36364340e+04 ! particle number mass rhill +7.77378347e+03 !particle radius in m +2.18747509e+06 8.65395918e+06 -2.06536040e+04 ! x y z +-2.15725804e+03 5.30856591e+02 2.37348618e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1280 1.24686009e+06 3.01782349e+04 ! particle number mass rhill +1.11701303e+04 !particle radius in m +7.66628600e+06 -1.17727557e+07 -1.47420679e+04 ! x y z +1.47098208e+03 9.52353449e+02 1.59639874e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1281 1.23652829e+06 2.28978896e+04 ! particle number mass rhill +1.11391918e+04 !particle radius in m +1.04264792e+07 -2.74372425e+06 3.12865429e+04 ! x y z +5.41650708e+02 1.91683777e+03 -8.25764712e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1282 5.71090410e+05 1.53591732e+04 ! particle number mass rhill +8.61034631e+03 !particle radius in m +-3.55923980e+06 -8.64968069e+06 1.79106442e+03 ! x y z +1.99649530e+03 -7.67245271e+02 -5.93442801e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1283 5.19767258e+05 1.51351192e+04 ! particle number mass rhill +8.34427553e+03 !particle radius in m +9.42893053e+06 2.45878278e+05 -4.57214896e+04 ! x y z +-6.01176022e+01 2.13776727e+03 1.81291767e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1284 4.43010149e+04 6.43778074e+03 ! particle number mass rhill +5.41136566e+03 !particle radius in m +9.07031967e+06 -2.25767487e+06 5.83955838e+03 ! x y z +5.13475058e+02 2.05838222e+03 2.17889632e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1285 1.89897561e+05 1.41973974e+04 ! particle number mass rhill +5.96520618e+03 !particle radius in m +-7.87040592e+06 9.69728016e+06 -1.66849672e+03 ! x y z +-1.42992939e+03 -1.17418658e+03 -3.60129869e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1286 1.97476197e+05 1.67504404e+04 ! particle number mass rhill +6.04352860e+03 !particle radius in m +1.32660339e+07 5.77686809e+06 1.35800303e+05 ! x y z +-6.62231218e+02 1.59103506e+03 -3.43945323e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1287 6.78506127e+05 1.94924484e+04 ! particle number mass rhill +9.11948377e+03 !particle radius in m +-1.01101796e+07 -4.73633978e+06 1.92223885e+04 ! x y z +8.16987783e+02 -1.78318056e+03 8.86814927e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1288 3.31102311e+05 2.06337640e+04 ! particle number mass rhill +7.17970170e+03 !particle radius in m +-1.00157479e+07 1.12142854e+07 -2.29871580e+04 ! x y z +-1.26146743e+03 -1.12281660e+03 -9.84657732e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1289 5.85238829e+05 1.87103235e+04 ! particle number mass rhill +1.27922430e+04 !particle radius in m +-8.01070020e+06 -7.68441073e+06 -7.44586443e+03 ! x y z +1.37227167e+03 -1.42837223e+03 -3.04293724e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1290 2.57089994e+05 1.14604204e+04 ! particle number mass rhill +6.59903940e+03 !particle radius in m +5.94423414e+06 -6.60015867e+06 3.79489917e+04 ! x y z +1.64871713e+03 1.48917509e+03 4.06312752e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1291 5.62761960e+05 1.46125539e+04 ! particle number mass rhill +1.26263329e+04 !particle radius in m +-3.52967631e+06 8.16512241e+06 -2.51085986e+04 ! x y z +-2.00672046e+03 -8.99089812e+02 1.47195859e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1292 1.22606951e+05 1.04784482e+04 ! particle number mass rhill +5.15573627e+03 !particle radius in m +8.67857522e+06 6.03654833e+06 6.58011140e+03 ! x y z +-1.13872966e+03 1.66817442e+03 2.18662162e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1293 2.63411927e+05 1.40199277e+04 ! particle number mass rhill +9.80349206e+03 !particle radius in m +-4.55569332e+06 1.00472663e+07 8.70354064e+03 ! x y z +-1.80149559e+03 -7.99810234e+02 3.42249675e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1294 2.73475123e+05 1.57989125e+04 ! particle number mass rhill +9.92677698e+03 !particle radius in m +9.14438839e+06 8.39253082e+06 -8.86556588e+04 ! x y z +-1.26689180e+03 1.34538142e+03 -8.40350285e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1295 2.86580523e+05 1.51966222e+04 ! particle number mass rhill +6.84228595e+03 !particle radius in m +7.97751328e+06 8.67584783e+06 5.30436727e+04 ! x y z +-1.38366127e+03 1.29303381e+03 -8.41467876e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1296 4.12299552e+05 1.34934085e+04 ! particle number mass rhill +7.72425527e+03 !particle radius in m +-5.79048975e+06 6.93664576e+06 1.29124985e+04 ! x y z +-1.68001209e+03 -1.40612278e+03 -3.61171376e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1297 5.59645883e+05 1.70426121e+04 ! particle number mass rhill +1.26029852e+04 !particle radius in m +-5.16609529e+06 9.03539760e+06 5.58960613e+04 ! x y z +-1.76517041e+03 -1.00560177e+03 -5.00965832e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1298 6.33916014e+04 1.50366592e+04 ! particle number mass rhill +6.09788969e+03 !particle radius in m +1.46424048e+07 -1.15689038e+07 3.27414078e+04 ! x y z +9.47675088e+02 1.20085208e+03 1.06976469e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1299 8.52433630e+04 8.93705997e+03 ! particle number mass rhill +6.73063203e+03 !particle radius in m +1.01236173e+07 1.45579667e+06 5.15839678e+04 ! x y z +-2.87224826e+02 2.02832432e+03 -4.14184381e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1300 5.14081123e+04 6.53080242e+03 ! particle number mass rhill +3.85889430e+03 !particle radius in m +7.23258453e+06 4.97813060e+06 -4.38592192e+03 ! x y z +-1.24479041e+03 1.83714641e+03 -1.95822638e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1301 6.77217199e+04 7.14700851e+03 ! particle number mass rhill +4.23020736e+03 !particle radius in m +8.93601994e+06 -6.94569357e+05 -6.12210199e+02 ! x y z +2.19917996e+02 2.16082384e+03 -1.54527155e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1302 6.11703776e+05 2.00034005e+04 ! particle number mass rhill +1.29822323e+04 !particle radius in m +8.82738308e+06 -7.76404080e+06 8.11338370e+04 ! x y z +1.26378234e+03 1.44510358e+03 2.18294651e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1303 1.65801844e+05 1.55733762e+04 ! particle number mass rhill +8.40166656e+03 !particle radius in m +-1.07812933e+07 -9.62734933e+06 -5.03390757e+03 ! x y z +1.12256505e+03 -1.29339213e+03 -5.66212341e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1304 4.62987998e+05 1.42062076e+04 ! particle number mass rhill +8.02864474e+03 !particle radius in m +-6.42251747e+06 -6.74488620e+06 7.04602772e+04 ! x y z +1.54144883e+03 -1.48324937e+03 1.60342159e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1305 2.60642975e+05 1.22939187e+04 ! particle number mass rhill +6.62929998e+03 !particle radius in m +9.47929213e+06 -2.19579661e+06 -3.25100566e+04 ! x y z +4.68213030e+02 2.04336200e+03 2.65890903e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1306 1.40715229e+06 2.33795274e+04 ! particle number mass rhill +1.16296336e+04 !particle radius in m +-1.05077611e+07 -1.31085244e+06 7.30464724e+04 ! x y z +2.82650675e+02 -1.98548135e+03 -1.05658937e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1307 7.13061331e+04 7.85310031e+03 ! particle number mass rhill +4.30356095e+03 !particle radius in m +-9.66162364e+06 4.23926500e+05 -1.22905037e+04 ! x y z +-9.71624638e+01 -2.08984070e+03 2.75014649e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1308 4.89601650e+05 2.17422005e+04 ! particle number mass rhill +8.17962300e+03 !particle radius in m +9.30519559e+06 1.02777991e+07 -1.35151955e+04 ! x y z +-1.30832060e+03 1.17931837e+03 4.96678180e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1309 1.78067654e+05 1.20379239e+04 ! particle number mass rhill +8.60393924e+03 !particle radius in m +-5.38712062e+06 -9.43582755e+06 -1.42962613e+04 ! x y z +1.72402431e+03 -9.72573668e+02 -5.35637349e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1310 4.80906653e+04 1.22640544e+04 ! particle number mass rhill +3.77403501e+03 !particle radius in m +-7.15437615e+06 -1.57030040e+07 1.86249551e+05 ! x y z +1.42003546e+03 -6.56667148e+02 -3.41426138e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1311 8.59903706e+04 7.89944042e+03 ! particle number mass rhill +6.75023558e+03 !particle radius in m +5.41844043e+06 -7.25472299e+06 -9.37968266e+03 ! x y z +1.74397758e+03 1.29517496e+03 1.90126636e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1312 1.63891142e+06 3.26516084e+04 ! particle number mass rhill +1.22359443e+04 !particle radius in m +1.22229448e+07 -6.93664382e+06 -3.73566212e+04 ! x y z +8.86957021e+02 1.49812000e+03 2.93544144e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1313 1.65548000e+05 1.22081060e+04 ! particle number mass rhill +5.69849680e+03 !particle radius in m +4.97534313e+05 1.12973925e+07 -2.47714549e+04 ! x y z +-1.93747095e+03 6.82256092e+01 4.50885373e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1314 8.18131400e+04 1.04556815e+04 ! particle number mass rhill +6.63911222e+03 !particle radius in m +6.27007593e+06 1.03894624e+07 -7.16417007e+03 ! x y z +-1.60760769e+03 9.75456582e+02 -4.84946763e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1315 1.03590462e+06 1.78980493e+04 ! particle number mass rhill +1.05008774e+04 !particle radius in m +4.20395564e+06 7.76433301e+06 8.41688618e+04 ! x y z +-1.94265714e+03 1.06320178e+03 6.22424610e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1316 7.67868642e+04 7.82041161e+03 ! particle number mass rhill +4.41111088e+03 !particle radius in m +6.37276437e+06 -6.42184183e+06 6.41580563e+04 ! x y z +1.58319090e+03 1.53287002e+03 -1.33788595e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1317 5.89194336e+05 1.47666686e+04 ! particle number mass rhill +1.28209983e+04 !particle radius in m +-7.71353791e+06 4.23425293e+06 1.25697535e+04 ! x y z +-1.04844519e+03 -1.95403749e+03 -9.90990915e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1318 5.31112427e+04 7.05725430e+03 ! particle number mass rhill +3.90104672e+03 !particle radius in m +-7.40633695e+06 5.93955618e+06 -5.19978226e+04 ! x y z +-1.31908110e+03 -1.66222684e+03 -1.03799917e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1319 1.71842148e+06 2.82333324e+04 ! particle number mass rhill +1.24306993e+04 !particle radius in m +1.85739893e+06 -1.16268582e+07 -8.21342836e+03 ! x y z +1.89473415e+03 2.92048965e+02 -8.56627398e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1320 6.17278582e+05 1.48891277e+04 ! particle number mass rhill +8.83648205e+03 !particle radius in m +3.72582096e+06 7.91120697e+06 -5.23905881e+04 ! x y z +-2.02715857e+03 9.13111080e+02 2.50053811e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1321 1.14474067e+06 2.18093377e+04 ! particle number mass rhill +1.08564549e+04 !particle radius in m +5.09385670e+05 -1.04637690e+07 -6.20563116e+04 ! x y z +2.02501696e+03 7.65309669e+01 -1.01351101e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1322 8.26533157e+04 7.68124990e+03 ! particle number mass rhill +6.66176154e+03 !particle radius in m +-3.29144876e+06 8.15112104e+06 8.11267893e+04 ! x y z +-2.05815351e+03 -8.34364146e+02 -5.14984629e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1323 1.46998004e+05 1.13133262e+04 ! particle number mass rhill +5.47716901e+03 !particle radius in m +-1.05633758e+07 -2.07935484e+06 1.56201239e+04 ! x y z +3.80416672e+02 -1.96300156e+03 -6.47463330e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1324 1.56081831e+04 4.62254860e+03 ! particle number mass rhill +3.82196266e+03 !particle radius in m +-8.96632975e+06 -4.86195335e+05 -1.06964367e+05 ! x y z +1.34820268e+02 -2.22107483e+03 1.19634049e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1325 6.88345306e+05 1.57488065e+04 ! particle number mass rhill +9.16335366e+03 !particle radius in m +-7.48232762e+06 4.92380808e+06 2.29127905e+04 ! x y z +-1.22302901e+03 -1.81943768e+03 2.38496332e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1326 1.99767409e+06 2.30772351e+04 ! particle number mass rhill +1.30705504e+04 !particle radius in m +-5.03707716e+05 -9.29849125e+06 -1.11404007e+04 ! x y z +2.13355604e+03 -1.25957885e+02 3.59182325e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1327 1.47237759e+04 1.04619691e+04 ! particle number mass rhill +3.74836657e+03 !particle radius in m +2.17225066e+07 1.26121705e+06 -8.44855246e+04 ! x y z +-9.80183609e+01 1.39255713e+03 -2.45394775e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1328 1.03148280e+05 1.18766934e+04 ! particle number mass rhill +7.17226488e+03 !particle radius in m +-3.31559823e+06 1.24035988e+07 -2.07947532e+04 ! x y z +-1.76007958e+03 -4.72548604e+02 9.49057096e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1329 7.89194790e+05 2.30906258e+04 ! particle number mass rhill +9.59062845e+03 !particle radius in m +1.21445680e+07 2.59228119e+06 -3.02162959e+04 ! x y z +-3.98075492e+02 1.82853529e+03 6.91989022e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1330 1.23249402e+05 1.28550711e+04 ! particle number mass rhill +7.61080504e+03 !particle radius in m +-1.13326598e+06 -1.29825734e+07 6.69579485e+03 ! x y z +1.80475746e+03 -1.76133915e+02 -5.83190587e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1331 1.22964994e+05 1.16605265e+04 ! particle number mass rhill +7.60494634e+03 !particle radius in m +-4.79738768e+06 1.05660072e+07 -1.20703674e+04 ! x y z +-1.76872416e+03 -7.96773745e+02 -7.48094782e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1332 4.01797998e+05 3.24133753e+04 ! particle number mass rhill +1.12850870e+04 !particle radius in m +2.19019020e+07 2.63899527e+06 3.37827752e+04 ! x y z +-1.61269975e+02 1.38753575e+03 3.39443977e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1333 1.00770997e+06 2.34834210e+04 ! particle number mass rhill +1.04047308e+04 !particle radius in m +-1.21105762e+07 -5.24541367e+05 -2.70555025e+04 ! x y z +6.19806533e+01 -1.85471109e+03 -1.08022259e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1334 3.90007197e+04 7.82329415e+03 ! particle number mass rhill +5.18632661e+03 !particle radius in m +6.24492290e+06 9.69571067e+06 -1.68199218e+04 ! x y z +-1.63521643e+03 1.03697361e+03 9.03169661e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1335 2.52614269e+05 1.19155037e+04 ! particle number mass rhill +6.56052039e+03 !particle radius in m +-9.25769957e+06 2.29292734e+06 -1.14919079e+04 ! x y z +-5.12974483e+02 -2.05331332e+03 2.34930072e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1336 5.74783862e+05 1.77378872e+04 ! particle number mass rhill +8.62886853e+03 !particle radius in m +-7.09412869e+06 -8.06275271e+06 -7.38498407e+04 ! x y z +1.50307169e+03 -1.31876348e+03 -1.74679708e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1337 1.20042329e+06 4.16689932e+04 ! particle number mass rhill +1.10297026e+04 !particle radius in m +-1.83827850e+07 6.94620255e+06 -2.99390580e+04 ! x y z +-5.38167682e+02 -1.38025174e+03 8.14592781e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1338 5.43654965e+04 1.07517216e+04 ! particle number mass rhill +3.93151662e+03 !particle radius in m +1.28440178e+07 6.15520582e+06 5.37944446e+04 ! x y z +-7.49642103e+02 1.56926042e+03 -4.14121777e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1339 1.01511663e+05 1.53639766e+04 ! particle number mass rhill +4.84125149e+03 !particle radius in m +-1.37958464e+07 -9.01984290e+06 9.37503357e+03 ! x y z +8.63514338e+02 -1.36928306e+03 -4.92726033e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1340 7.26811398e+04 1.23143345e+04 ! particle number mass rhill +6.38228557e+03 !particle radius in m +5.94552238e+06 -1.37356259e+07 -3.12464640e+04 ! x y z +1.54132538e+03 6.86924077e+02 4.95166504e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1341 1.79156251e+06 2.30318870e+04 ! particle number mass rhill +1.26046169e+04 !particle radius in m +-8.47051395e+06 -4.33049723e+06 8.99388095e+03 ! x y z +1.01895175e+03 -1.86853627e+03 6.25752144e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1342 1.03732725e+06 4.12058066e+04 ! particle number mass rhill +1.05056822e+04 !particle radius in m +-7.25230880e+06 -1.91074290e+07 -8.70931708e+04 ! x y z +1.36155621e+03 -5.02831587e+02 -8.24983528e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1343 1.06908158e+06 1.94954238e+04 ! particle number mass rhill +1.06118054e+04 !particle radius in m +4.25302051e+06 -8.61174101e+06 -1.08068198e+04 ! x y z +1.88839849e+03 9.49718679e+02 1.00715649e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1344 7.82894787e+04 1.38148136e+04 ! particle number mass rhill +6.54239543e+03 !particle radius in m +2.64852472e+06 1.60749418e+07 5.58768351e+04 ! x y z +-1.60049117e+03 2.61947391e+02 -1.05513072e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1345 7.95878743e+04 7.78168116e+03 ! particle number mass rhill +4.46410737e+03 !particle radius in m +6.85901436e+06 5.92668091e+06 5.88024522e+03 ! x y z +-1.42967304e+03 1.64782988e+03 3.76673216e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1346 3.00157124e+05 3.10642558e+04 ! particle number mass rhill +1.02396523e+04 !particle radius in m +1.65616231e+07 1.66028360e+07 -5.29304371e+04 ! x y z +-9.28645255e+02 9.80527992e+02 5.80916438e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1347 9.96861900e+05 1.88907368e+04 ! particle number mass rhill +1.03672601e+04 !particle radius in m +-7.26003067e+05 9.56806531e+06 9.83311273e+04 ! x y z +-2.10111468e+03 -1.57355588e+02 7.65120270e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1348 1.71021140e+05 1.36698293e+04 ! particle number mass rhill +8.48891637e+03 !particle radius in m +-3.13308835e+06 1.20377491e+07 -1.96893006e+04 ! x y z +-1.80038683e+03 -4.46661696e+02 -1.05229342e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1349 5.21822966e+04 7.10639660e+03 ! particle number mass rhill +5.71491865e+03 !particle radius in m +3.61039948e+06 -8.94670524e+06 -6.45909208e+04 ! x y z +1.94572548e+03 7.94221249e+02 2.27282153e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1350 2.11854770e+05 1.49949851e+04 ! particle number mass rhill +6.18678578e+03 !particle radius in m +1.23051248e+07 -2.76310551e+06 1.16872533e+05 ! x y z +4.31851334e+02 1.79778427e+03 -3.52355374e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1351 4.53712916e+05 2.12325358e+04 ! particle number mass rhill +7.97466982e+03 !particle radius in m +1.37198938e+07 -1.77790003e+06 -1.13538998e+05 ! x y z +2.34248090e+02 1.75094064e+03 -4.43647357e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1352 6.12975304e+05 1.54940796e+04 ! particle number mass rhill +8.81590001e+03 !particle radius in m +7.46219447e+06 -5.55061844e+06 3.02223367e+04 ! x y z +1.30415331e+03 1.69020434e+03 -2.84026488e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1353 2.51706491e+05 1.19271740e+04 ! particle number mass rhill +9.65607124e+03 !particle radius in m +1.79117779e+06 -9.28064516e+06 2.29081417e+03 ! x y z +2.10478434e+03 3.74607623e+02 2.08339038e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1354 1.05226394e+06 1.80004323e+04 ! particle number mass rhill +1.05558666e+04 !particle radius in m +7.62366140e+06 -4.73786634e+06 -3.67690119e+04 ! x y z +1.17730042e+03 1.83367733e+03 -1.18403024e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1355 1.53011690e+06 2.33989676e+04 ! particle number mass rhill +1.19589725e+04 !particle radius in m +-1.01261545e+07 2.81055834e+05 -8.19414070e+03 ! x y z +-6.18154480e+01 -2.06712328e+03 -2.24522121e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1356 9.08272734e+05 1.83178714e+04 ! particle number mass rhill +1.00505792e+04 !particle radius in m +6.29538118e+06 7.15708897e+06 4.07031267e+04 ! x y z +-1.60705715e+03 1.38487957e+03 -1.00848425e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1357 1.23742619e+06 1.91614444e+04 ! particle number mass rhill +1.11418874e+04 !particle radius in m +-8.49609253e+06 2.57253582e+06 -4.04158861e+03 ! x y z +-6.25851824e+02 -2.12221062e+03 -1.18572479e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1358 1.94661335e+05 1.30044682e+04 ! particle number mass rhill +6.01467589e+03 !particle radius in m +-1.10898042e+07 -1.78242858e+06 -7.98635316e+03 ! x y z +3.31900537e+02 -1.93252272e+03 -5.54822823e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1359 5.76290328e+05 1.90919967e+04 ! particle number mass rhill +1.27267086e+04 !particle radius in m +-9.56599926e+06 -6.50694892e+06 1.36299753e+04 ! x y z +1.08336182e+03 -1.59117844e+03 -6.14843419e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1360 1.46712586e+05 9.57263826e+03 ! particle number mass rhill +5.47362181e+03 !particle radius in m +-8.97074514e+06 8.73736202e+05 8.61659651e+03 ! x y z +-2.31036282e+02 -2.18526870e+03 3.84732945e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1361 1.04321892e+06 1.88500830e+04 ! particle number mass rhill +1.05255343e+04 !particle radius in m +2.22458775e+06 -9.09183474e+06 6.60915144e+04 ! x y z +2.08331663e+03 4.95850932e+02 -1.01931453e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1362 4.75220894e+05 1.68019312e+04 ! particle number mass rhill +1.19344067e+04 !particle radius in m +5.23135757e+06 -9.91357725e+06 4.20848292e+03 ! x y z +1.68969350e+03 9.19667997e+02 7.40595361e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1363 7.30092568e+04 1.27115707e+04 ! particle number mass rhill +4.33755478e+03 !particle radius in m +-1.28024389e+07 8.53060405e+06 4.23749438e+04 ! x y z +-9.17577167e+02 -1.39144923e+03 -5.10429471e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1364 1.28074679e+06 4.35476221e+04 ! particle number mass rhill +1.12704197e+04 !particle radius in m +-8.46758421e+06 -1.84532581e+07 8.05817267e+04 ! x y z +1.31420508e+03 -6.13047074e+02 -4.80774414e-03 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1365 3.15565087e+05 1.24463932e+04 ! particle number mass rhill +7.06559347e+03 !particle radius in m +-5.61587582e+06 7.53072526e+06 -2.26125540e+04 ! x y z +-1.70025928e+03 -1.25935338e+03 1.03927192e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1366 1.32749597e+06 3.08557682e+04 ! particle number mass rhill +1.14059133e+04 !particle radius in m +-2.14619149e+06 -1.42066503e+07 1.73542964e+04 ! x y z +1.70134938e+03 -2.12094299e+02 -3.88248921e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1367 3.00481034e+05 1.26260123e+04 ! particle number mass rhill +1.02433343e+04 !particle radius in m +-2.01595454e+06 -9.31357942e+06 -4.91526291e+04 ! x y z +2.05875974e+03 -4.99092474e+02 -1.24005530e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1368 5.62740643e+05 2.30653210e+04 ! particle number mass rhill +1.26261734e+04 !particle radius in m +-3.35093529e+06 -1.37898898e+07 -7.67867475e+04 ! x y z +1.68266801e+03 -4.09195838e+02 4.84518176e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1369 6.60086057e+04 9.53594170e+03 ! particle number mass rhill +4.19423265e+03 !particle radius in m +-5.47614308e+04 1.19582326e+07 -9.89002659e+04 ! x y z +-1.88840184e+03 -2.62651981e+01 7.68950274e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1370 1.25293273e+05 1.14207894e+04 ! particle number mass rhill +5.19311868e+03 !particle radius in m +-3.77832466e+06 1.09398130e+07 3.13756637e+04 ! x y z +-1.82483111e+03 -5.94408085e+02 -5.78133740e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1371 7.50733289e+04 1.04930646e+04 ! particle number mass rhill +6.45155218e+03 !particle radius in m +4.84011056e+06 -1.18968706e+07 1.84555477e+04 ! x y z +1.67151498e+03 6.81175038e+02 -7.19327483e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1372 1.98591196e+05 1.30161400e+04 ! particle number mass rhill +6.05488167e+03 !particle radius in m +5.21483996e+04 -1.14249117e+07 5.55267676e+04 ! x y z +1.92199543e+03 2.89226318e+00 3.62643891e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1373 6.85663466e+05 2.04510345e+04 ! particle number mass rhill +9.15143782e+03 !particle radius in m +-1.10411425e+07 -3.92571862e+06 -5.07146026e+04 ! x y z +6.36950570e+02 -1.80153278e+03 2.92128142e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1374 1.23065485e+05 1.94250011e+04 ! particle number mass rhill +7.60701744e+03 !particle radius in m +-1.31978898e+07 1.46521426e+07 -3.77196518e+04 ! x y z +-1.09404867e+03 -9.86978912e+02 -1.39684139e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1375 9.32976416e+05 2.08746348e+04 ! particle number mass rhill +1.01408856e+04 !particle radius in m +-2.88294831e+06 -1.04031089e+07 2.08513090e+04 ! x y z +1.92072665e+03 -5.23302927e+02 5.19800736e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1376 1.08992704e+06 1.83798070e+04 ! particle number mass rhill +1.06803333e+04 !particle radius in m +2.38782775e+06 -8.75851927e+06 4.58765881e+04 ! x y z +2.08778972e+03 5.70538122e+02 1.58463921e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1377 3.76825728e+05 2.16154245e+04 ! particle number mass rhill +1.10462747e+04 !particle radius in m +-1.39881250e+07 -5.83335318e+06 -6.16116575e+04 ! x y z +6.22870510e+02 -1.55838806e+03 1.20223983e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1378 5.53365914e+05 1.43923959e+04 ! particle number mass rhill +1.25556671e+04 !particle radius in m +4.99865237e+06 7.28764110e+06 -6.86499352e+04 ! x y z +-1.79951538e+03 1.27018155e+03 -3.04997592e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1379 6.39199380e+04 9.52618767e+03 ! particle number mass rhill +6.11478378e+03 !particle radius in m +4.99165759e+06 1.10448368e+07 3.69114811e+04 ! x y z +-1.71481010e+03 7.51891478e+02 2.57133594e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1380 1.50512007e+04 4.38843070e+03 ! particle number mass rhill +3.77594830e+03 !particle radius in m +-1.38190232e+06 8.92446579e+06 -2.39874601e+01 ! x y z +-2.13999854e+03 -3.62741075e+02 -1.15400248e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1381 5.00451986e+04 8.33623035e+03 ! particle number mass rhill +3.82448653e+03 !particle radius in m +-1.11170825e+07 2.94394609e+06 -4.30953134e+04 ! x y z +-5.00071887e+02 -1.85670191e+03 4.27947102e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1382 1.37866160e+06 2.24025141e+04 ! particle number mass rhill +1.15506092e+04 !particle radius in m +1.02590139e+07 -2.70501621e+05 1.75890374e+04 ! x y z +8.26113275e+01 2.03083325e+03 -1.20188470e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1383 1.52540156e+06 2.36328931e+04 ! particle number mass rhill +1.19466753e+04 !particle radius in m +1.05552207e+06 1.03618993e+07 4.81086872e+04 ! x y z +-2.01112311e+03 2.15384368e+02 -7.43201232e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1384 4.98999643e+05 1.49525075e+04 ! particle number mass rhill +1.21302309e+04 !particle radius in m +2.73631070e+06 -9.24970389e+06 5.21198850e+04 ! x y z +2.01203797e+03 5.75113061e+02 -1.08228016e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1385 1.22963928e+05 1.15704812e+04 ! particle number mass rhill +7.60492436e+03 !particle radius in m +7.49333106e+06 8.99255805e+06 4.28079932e+04 ! x y z +-1.47027422e+03 1.22861330e+03 -2.29537873e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1386 6.29316275e+05 1.65343140e+04 ! particle number mass rhill +8.89355341e+03 !particle radius in m +7.19860353e+06 -6.54495925e+06 4.11431543e+04 ! x y z +1.41373944e+03 1.55175420e+03 1.34717999e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1387 6.64261825e+04 8.06796854e+03 ! particle number mass rhill +4.20305844e+03 !particle radius in m +-1.00628201e+07 -1.83741461e+06 -1.98227486e+03 ! x y z +3.70859453e+02 -1.99423409e+03 -1.20280387e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1388 1.61162197e+06 2.05540497e+04 ! particle number mass rhill +1.21676504e+04 !particle radius in m +5.77701761e+06 6.58972717e+06 1.74818314e+04 ! x y z +-1.68661617e+03 1.44550446e+03 -1.99467032e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1389 2.31008539e+05 1.09300831e+04 ! particle number mass rhill +6.36788201e+03 !particle radius in m +2.92908581e+06 -8.51550871e+06 2.35649421e+04 ! x y z +2.06952805e+03 6.82474350e+02 -1.19878409e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1390 8.79756930e+04 1.57795601e+04 ! particle number mass rhill +4.61572468e+03 !particle radius in m +-1.67832510e+07 5.10602561e+06 6.05666574e+04 ! x y z +-4.71529253e+02 -1.50630622e+03 1.54396748e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1391 7.86523786e+05 2.26449685e+04 ! particle number mass rhill +9.57979650e+03 !particle radius in m +5.94339422e+06 1.09804417e+07 4.79977238e+04 ! x y z +-1.62390609e+03 8.74411928e+02 6.90172493e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1392 7.95689825e+05 2.04444166e+04 ! particle number mass rhill +9.61686674e+03 !particle radius in m +-9.53286463e+05 1.08518193e+07 1.37804570e+04 ! x y z +-1.99765013e+03 -1.63665978e+02 -1.39490183e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1393 1.57903814e+05 1.75328316e+04 ! particle number mass rhill +8.26608492e+03 !particle radius in m +-6.92004578e+06 -1.47096496e+07 9.07914526e+04 ! x y z +1.47519584e+03 -6.90837866e+02 6.35058618e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1394 1.79760964e+06 3.27447713e+04 ! particle number mass rhill +1.26187826e+04 !particle radius in m +-1.20616278e+07 6.06273134e+06 -6.00296658e+04 ! x y z +-8.01878358e+02 -1.59732664e+03 6.85710223e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1395 1.72877299e+06 3.01002806e+04 ! particle number mass rhill +1.24556096e+04 !particle radius in m +1.07241366e+07 6.87028361e+06 9.95384965e+03 ! x y z +-9.77403580e+02 1.54502689e+03 -6.02368193e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1396 5.37735425e+05 1.81911004e+04 ! particle number mass rhill +8.43934121e+03 !particle radius in m +-9.89312276e+06 -5.78442642e+06 3.19342091e+03 ! x y z +1.00166999e+03 -1.63649382e+03 -7.28916722e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1397 1.12551232e+05 1.00244300e+04 ! particle number mass rhill +7.38389889e+03 !particle radius in m +-1.05072101e+07 8.59747253e+05 -8.51062631e+04 ! x y z +-1.76270864e+02 -2.00169685e+03 -1.88486496e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1398 1.93788717e+05 1.07523030e+04 ! particle number mass rhill +6.00567499e+03 !particle radius in m +5.23533805e+06 -8.01402331e+06 2.56229650e+04 ! x y z +1.74936393e+03 1.14948262e+03 1.14944776e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1399 3.94151482e+05 1.32927065e+04 ! particle number mass rhill +1.12130402e+04 !particle radius in m +-3.53936356e+06 8.37116745e+06 -5.28989524e+04 ! x y z +-2.00215068e+03 -8.57726431e+02 -1.43522460e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1400 9.72092511e+05 1.81538052e+04 ! particle number mass rhill +1.02806726e+04 !particle radius in m +8.06463120e+06 -4.43013823e+06 9.40752267e+04 ! x y z +1.03931497e+03 1.89699386e+03 -9.86578192e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1401 5.15220478e+05 1.68308350e+04 ! particle number mass rhill +1.22602698e+04 !particle radius in m +-1.05188937e+07 8.26557998e+05 -2.50244301e+04 ! x y z +-1.75058944e+02 -2.01148735e+03 6.39744454e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1402 2.13063868e+05 1.07950104e+04 ! particle number mass rhill +9.13423664e+03 !particle radius in m +9.02166027e+05 -9.17478955e+06 6.28467621e+04 ! x y z +2.13279891e+03 2.18658803e+02 5.09551557e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1403 4.71317796e+05 1.46342438e+04 ! particle number mass rhill +8.07650766e+03 !particle radius in m +-3.82128992e+06 8.76150983e+06 -3.66320445e+04 ! x y z +-1.91568216e+03 -8.82768818e+02 -8.66361539e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1404 4.64539498e+05 1.97631805e+04 ! particle number mass rhill +8.03760289e+03 !particle radius in m +6.34183157e+06 1.14263259e+07 -3.93771961e+04 ! x y z +-1.57702001e+03 8.61699373e+02 7.37963170e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1405 1.22910745e+06 2.88108450e+04 ! particle number mass rhill +1.11168637e+04 !particle radius in m +-1.30405721e+07 -3.97553562e+06 6.86718538e+04 ! x y z +5.08860652e+02 -1.69393029e+03 3.39424464e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1406 3.59051292e+05 1.29060626e+04 ! particle number mass rhill +7.37628737e+03 !particle radius in m +1.47724485e+06 8.92877200e+06 -1.05084746e+05 ! x y z +-2.16100073e+03 3.48067255e+02 2.02796618e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1407 5.58713149e+05 1.72404097e+04 ! particle number mass rhill +1.25959797e+04 !particle radius in m +6.68480405e+06 8.22694034e+06 5.91279278e+04 ! x y z +-1.56238715e+03 1.25932846e+03 7.35031359e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1408 1.49551836e+06 2.70347043e+04 ! particle number mass rhill +1.18681469e+04 !particle radius in m +1.16829878e+07 3.26454849e+06 8.84361419e+04 ! x y z +-5.06154292e+02 1.79320925e+03 1.57229654e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1409 1.74614925e+05 1.13819946e+04 ! particle number mass rhill +8.54796582e+03 !particle radius in m +9.47110497e+06 -3.98852153e+06 -3.02153569e+04 ! x y z +8.00176660e+02 1.87835641e+03 1.12222570e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1410 4.37419833e+05 1.87404958e+04 ! particle number mass rhill +7.87804554e+03 !particle radius in m +1.46320698e+06 -1.24945211e+07 2.33172915e+04 ! x y z +1.82255294e+03 2.24692006e+02 -5.94227757e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1411 9.88194235e+05 2.19599829e+04 ! particle number mass rhill +1.03371250e+04 !particle radius in m +-2.99549263e+06 1.07900890e+07 -3.59480074e+04 ! x y z +-1.87291441e+03 -5.40526156e+02 -2.72086375e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1412 8.12416369e+04 8.11359134e+03 ! particle number mass rhill +4.49481566e+03 !particle radius in m +8.92552694e+06 -2.88867045e+06 4.50164736e+04 ! x y z +6.21245683e+02 2.05314318e+03 5.45203724e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1413 1.05826275e+06 1.96138959e+04 ! particle number mass rhill +1.05758878e+04 !particle radius in m +5.22399519e+06 8.01692184e+06 -5.68152669e+03 ! x y z +-1.79741529e+03 1.14577258e+03 9.91685440e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1414 1.63403319e+05 9.80071456e+03 ! particle number mass rhill +8.36095619e+03 !particle radius in m +8.03570746e+06 -4.11887844e+06 3.48874429e+04 ! x y z +1.00266026e+03 1.93580077e+03 -1.91021104e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1415 2.42846073e+04 5.95994238e+03 ! particle number mass rhill +4.42873150e+03 !particle radius in m +9.90649703e+06 3.18003586e+06 1.94516997e+04 ! x y z +-6.33346908e+02 1.92588552e+03 -4.00155121e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1416 1.39585476e+06 1.98821424e+04 ! particle number mass rhill +1.15984265e+04 !particle radius in m +-1.09606598e+06 8.80615149e+06 -2.31959292e+04 ! x y z +-2.19928594e+03 -2.15273172e+02 -1.46856638e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1417 5.69983191e+05 1.68129906e+04 ! particle number mass rhill +8.60477818e+03 !particle radius in m +1.52623331e+06 -9.87507162e+06 -7.34326606e+04 ! x y z +2.07157812e+03 3.10284089e+02 -1.48877124e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1418 4.36632456e+05 1.43212304e+04 ! particle number mass rhill +1.16022173e+04 !particle radius in m +5.60100517e+06 -7.52238732e+06 -7.05544699e+04 ! x y z +1.72239950e+03 1.29297128e+03 -1.52256341e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1419 1.67122060e+05 1.16630765e+04 ! particle number mass rhill +5.71650065e+03 !particle radius in m +-3.94522959e+06 -9.97626417e+06 9.25599419e+03 ! x y z +1.86732899e+03 -7.00228008e+02 -6.60836692e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1420 1.46864649e+06 2.03402135e+04 ! particle number mass rhill +1.17966335e+04 !particle radius in m +8.23445883e+04 -9.04812768e+06 -1.64851152e+03 ! x y z +2.17359230e+03 -1.27347929e+01 -1.55026516e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1421 4.13129899e+05 1.84920921e+04 ! particle number mass rhill +1.13901960e+04 !particle radius in m +-9.27915033e+06 -8.53740765e+06 -1.42390767e+05 ! x y z +1.24138782e+03 -1.35430995e+03 -1.90290768e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1422 3.39196625e+05 1.53683400e+04 ! particle number mass rhill +7.23773766e+03 !particle radius in m +6.08369217e+06 -9.30896549e+06 1.20641705e+05 ! x y z +1.63879722e+03 1.07988243e+03 -4.44689941e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1423 1.56760316e+05 1.13228643e+04 ! particle number mass rhill +5.59582821e+03 !particle radius in m +9.59849615e+06 4.68470056e+06 3.84316246e+04 ! x y z +-8.55957491e+02 1.80183427e+03 7.74894619e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1424 8.72575676e+05 1.94114085e+04 ! particle number mass rhill +9.91714578e+03 !particle radius in m +-1.08060668e+06 -1.00607858e+07 4.94826506e+04 ! x y z +2.05453656e+03 -2.59041316e+02 -1.24750217e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1425 1.52610080e+05 1.67317953e+04 ! particle number mass rhill +8.17265933e+03 !particle radius in m +1.47983590e+07 5.41415872e+06 -1.80415422e+04 ! x y z +-5.58693227e+02 1.55361354e+03 1.18553934e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1426 1.44994049e+05 1.07202302e+04 ! particle number mass rhill +8.03438024e+03 !particle radius in m +-7.58136593e+06 6.99309921e+06 2.29302110e+04 ! x y z +-1.40627338e+03 -1.47284043e+03 -4.36076043e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1427 7.80472321e+05 1.86417464e+04 ! particle number mass rhill +9.55516443e+03 !particle radius in m +-1.00024650e+07 2.57885499e+06 -6.07457902e+03 ! x y z +-5.22539017e+02 -1.95674023e+03 -7.68835058e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1428 6.00438958e+05 1.93290671e+04 ! particle number mass rhill +1.29020467e+04 !particle radius in m +-9.01182188e+06 7.17037576e+06 -1.80541014e+04 ! x y z +-1.21356170e+03 -1.50384647e+03 1.80093599e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1429 1.75115386e+06 2.43458664e+04 ! particle number mass rhill +1.25091298e+04 !particle radius in m +-5.24887098e+06 8.72732331e+06 8.04218722e+04 ! x y z +-1.74335368e+03 -1.08193759e+03 -5.43249124e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1430 3.33981162e+05 2.15867295e+04 ! particle number mass rhill +1.06106742e+04 !particle radius in m +-2.45049686e+06 1.55426920e+07 1.07580343e+05 ! x y z +-1.62197493e+03 -2.92833542e+02 -1.14576459e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1431 4.58385695e+05 2.01935560e+04 ! particle number mass rhill +8.00195335e+03 !particle radius in m +-1.22199859e+07 4.38221625e+06 -3.89351024e+04 ! x y z +-6.16349372e+02 -1.72585692e+03 4.89125567e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1432 2.23751701e+05 1.21149867e+04 ! particle number mass rhill +6.30049172e+03 !particle radius in m +-2.68787716e+06 -9.60100858e+06 2.64767119e+03 ! x y z +2.00338289e+03 -5.71028998e+02 2.70092626e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1433 6.14170089e+05 1.68963871e+04 ! particle number mass rhill +1.29996565e+04 !particle radius in m +-8.95990349e+06 4.52753433e+06 1.16091499e+04 ! x y z +-9.24228536e+02 -1.84658152e+03 6.10613917e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1434 4.88383647e+04 1.28185350e+04 ! particle number mass rhill +5.59014012e+03 !particle radius in m +1.71028024e+07 4.97528193e+06 -6.57328228e+04 ! x y z +-4.53167939e+02 1.47788400e+03 4.60344609e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1435 3.78131340e+05 3.35514648e+04 ! particle number mass rhill +1.10590176e+04 !particle radius in m +-2.23441151e+07 -5.50686380e+06 3.85003687e+04 ! x y z +3.37072469e+02 -1.33411055e+03 5.11825064e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1436 1.12257471e+06 4.29816726e+04 ! particle number mass rhill +1.07859254e+04 !particle radius in m +-1.12784475e+07 1.70585791e+07 -1.32439952e+05 ! x y z +-1.22293182e+03 -8.00872476e+02 4.14711101e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1437 6.97796488e+05 1.81514488e+04 ! particle number mass rhill +9.20510168e+03 !particle radius in m +-3.79252235e+06 9.57625977e+06 -9.43032419e+04 ! x y z +-1.90113874e+03 -7.45374550e+02 -2.76613575e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1438 6.32170601e+04 7.02909847e+03 ! particle number mass rhill +4.13425343e+03 !particle radius in m +-7.96122660e+06 3.67866986e+06 -9.30226617e+03 ! x y z +-9.42526154e+02 -2.01745780e+03 -1.25281974e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1439 1.55582987e+05 1.03484949e+04 ! particle number mass rhill +5.58178407e+03 !particle radius in m +-7.53794950e+06 6.23579413e+06 -2.61014008e+04 ! x y z +-1.34980984e+03 -1.58862900e+03 -1.61372420e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1440 4.37297807e+04 6.59045414e+03 ! particle number mass rhill +5.38800623e+03 !particle radius in m +-8.66326774e+06 4.08110980e+06 -3.65358197e+04 ! x y z +-9.22979977e+02 -1.88593300e+03 -1.20742584e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1441 1.00764560e+05 1.20451591e+04 ! particle number mass rhill +4.82934540e+03 !particle radius in m +-8.01465112e+06 -1.03186901e+07 -8.69608158e+04 ! x y z +1.40671015e+03 -1.13976841e+03 1.88119518e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1442 3.51703554e+05 2.06788915e+04 ! particle number mass rhill +1.07951308e+04 !particle radius in m +-1.49556816e+07 -7.86589247e+05 1.11406498e+05 ! x y z +1.14089906e+02 -1.67632423e+03 -1.08680759e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1443 1.92277696e+06 3.28524926e+04 ! particle number mass rhill +1.29051176e+04 !particle radius in m +1.27123539e+07 -2.64461233e+06 -6.18084715e+04 ! x y z +3.74400777e+02 1.80142774e+03 3.83561532e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1444 3.45658520e+05 2.43824484e+04 ! particle number mass rhill +1.07329246e+04 !particle radius in m +-4.06927547e+05 -1.75442240e+07 1.00963469e+05 ! x y z +1.56104472e+03 -4.39048470e+01 3.93620680e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1445 1.13287340e+05 1.58649945e+04 ! particle number mass rhill +5.02164633e+03 !particle radius in m +8.84368264e+06 1.43003762e+07 5.00874702e+04 ! x y z +-1.35152929e+03 8.24556921e+02 -8.03719400e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1446 1.49424265e+06 2.19656703e+04 ! particle number mass rhill +1.18647713e+04 !particle radius in m +-9.54707879e+06 1.77630246e+06 -8.88116065e+03 ! x y z +-3.48826440e+02 -2.06942564e+03 -2.16674061e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1447 7.99886482e+05 2.37523761e+04 ! particle number mass rhill +9.63374432e+03 !particle radius in m +1.09242185e+07 6.96934254e+06 -3.27489047e+04 ! x y z +-9.84319971e+02 1.52494369e+03 8.24595564e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1448 6.88070041e+04 8.39015369e+03 ! particle number mass rhill +4.25268498e+03 !particle radius in m +5.58576103e+06 8.70672427e+06 -2.15687306e+04 ! x y z +-1.72503313e+03 1.07740968e+03 -3.41426440e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1449 3.82536212e+05 1.40133678e+04 ! particle number mass rhill +1.11017942e+04 !particle radius in m +-4.11471227e+06 -8.93287907e+06 -4.36028632e+04 ! x y z +1.89219131e+03 -8.56549006e+02 8.16432689e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1450 2.90080057e+05 1.19567122e+04 ! particle number mass rhill +6.87002453e+03 !particle radius in m +8.96616870e+06 -2.05606701e+06 2.01901008e+04 ! x y z +4.73236695e+02 2.09528249e+03 -4.42528671e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1451 1.59018668e+05 1.92436459e+04 ! particle number mass rhill +8.28549309e+03 !particle radius in m +1.71268946e+07 4.30766948e+06 2.02642738e+03 ! x y z +-4.07771856e+02 1.51502114e+03 -1.13119700e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1452 9.33386750e+04 1.64255317e+04 ! particle number mass rhill +4.70767212e+03 !particle radius in m +-4.68916418e+05 1.79356049e+07 2.73217306e+04 ! x y z +-1.55840072e+03 -4.92017252e+01 -1.97207421e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1453 3.61408263e+05 1.25858962e+04 ! particle number mass rhill +1.08935228e+04 !particle radius in m +-8.58951775e+06 -2.49673020e+06 1.50355881e+04 ! x y z +6.03037486e+02 -2.10005557e+03 9.90449926e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1454 4.04341391e+05 1.39794979e+04 ! particle number mass rhill +1.13088486e+04 !particle radius in m +-1.24947062e+06 9.39169733e+06 -1.29611502e+03 ! x y z +-2.12088670e+03 -2.33617557e+02 -7.92353291e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1455 1.15205467e+05 9.46757023e+03 ! particle number mass rhill +5.04982925e+03 !particle radius in m +9.31255896e+06 3.14623519e+06 -5.69089329e+03 ! x y z +-7.03486722e+02 1.96419139e+03 2.25468152e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1456 1.36945908e+05 1.16200120e+04 ! particle number mass rhill +7.88288776e+03 !particle radius in m +-5.85221513e+05 -1.12876036e+07 -5.52028652e+04 ! x y z +1.95064275e+03 -9.81526152e+01 -5.91601856e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1457 3.65528213e+05 1.31090663e+04 ! particle number mass rhill +1.09347609e+04 !particle radius in m +-2.96784791e+06 -8.77030784e+06 -6.49349269e+04 ! x y z +2.04523947e+03 -6.63593054e+02 -5.41808592e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1458 1.69950901e+04 6.03470815e+03 ! particle number mass rhill +3.93196955e+03 !particle radius in m +8.90265546e+05 1.20291601e+07 -5.41238919e+02 ! x y z +-1.86112508e+03 1.50752240e+02 -5.69806824e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1459 1.14279210e+05 1.31227492e+04 ! particle number mass rhill +5.03625919e+03 !particle radius in m +-4.12865927e+06 -1.30370302e+07 2.49268877e+04 ! x y z +1.68286207e+03 -5.42218893e+02 7.09107529e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1460 1.32563480e+06 2.20277567e+04 ! particle number mass rhill +1.14005804e+04 !particle radius in m +-8.83659135e+06 4.88772967e+06 3.97374919e+04 ! x y z +-9.96652878e+02 -1.80490383e+03 4.50625373e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1461 1.09382671e+05 1.04026284e+04 ! particle number mass rhill +7.31394737e+03 !particle radius in m +7.51899250e+06 8.02238049e+06 4.96372898e+04 ! x y z +-1.45435540e+03 1.33207577e+03 -8.91729858e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1462 1.96680548e+05 2.21014105e+04 ! particle number mass rhill +8.89384301e+03 !particle radius in m +1.07692501e+07 -1.58383421e+07 5.11056372e+04 ! x y z +1.24097868e+03 8.36402001e+02 1.17081374e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1463 6.31269846e+05 1.55026435e+04 ! particle number mass rhill +8.90274659e+03 !particle radius in m +-7.87110940e+06 4.57199197e+06 -7.32174697e+03 ! x y z +-1.11779702e+03 -1.86164265e+03 1.82306653e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1464 1.65148564e+05 1.29292367e+04 ! particle number mass rhill +8.39061750e+03 !particle radius in m +-9.02697440e+06 7.44735568e+06 -6.20239222e+04 ! x y z +-1.22828772e+03 -1.48671915e+03 -3.25023413e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1465 2.01259594e+05 1.25893360e+04 ! particle number mass rhill +8.96233529e+03 !particle radius in m +1.03311380e+07 2.97114168e+06 2.75510366e+04 ! x y z +-5.53060286e+02 1.92682584e+03 -7.92293805e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1466 3.47358922e+04 5.91061876e+03 ! particle number mass rhill +4.98993792e+03 !particle radius in m +7.02853805e+06 6.05239702e+06 3.87860255e+03 ! x y z +-1.40362427e+03 1.60647543e+03 -1.45016070e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1467 6.56492226e+04 7.07440593e+03 ! particle number mass rhill +4.18660697e+03 !particle radius in m +6.55440785e+06 5.85117198e+06 -4.93943511e+04 ! x y z +-1.49384332e+03 1.63681032e+03 -1.39258100e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1468 4.49127828e+05 1.61155734e+04 ! particle number mass rhill +1.17118539e+04 !particle radius in m +9.90570829e+06 4.34179796e+06 -2.00530721e+04 ! x y z +-7.94337401e+02 1.80469509e+03 -3.79870453e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1469 4.46485515e+05 1.75275373e+04 ! particle number mass rhill +7.93209892e+03 !particle radius in m +-8.25205087e+06 7.98686094e+06 -3.50332951e+04 ! x y z +-1.35816228e+03 -1.38349553e+03 1.34047111e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1470 3.40516646e+05 1.47688794e+04 ! particle number mass rhill +7.24711433e+03 !particle radius in m +-9.96135005e+06 3.70457700e+06 -9.07193755e+04 ! x y z +-7.21948720e+02 -1.87787046e+03 -1.05717777e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1471 7.95155921e+04 1.33847411e+04 ! particle number mass rhill +6.57637276e+03 !particle radius in m +-1.22268683e+07 1.01474610e+07 -8.42852150e+04 ! x y z +-1.02194217e+03 -1.27298189e+03 -7.67733923e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1472 9.54539516e+04 9.68623016e+03 ! particle number mass rhill +6.98929911e+03 !particle radius in m +4.92746951e+06 9.58728854e+06 2.89432610e+04 ! x y z +-1.76304026e+03 9.13627287e+02 6.36664299e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1473 1.51141099e+06 2.76245591e+04 ! particle number mass rhill +1.19100391e+04 !particle radius in m +1.23329034e+07 -6.92729902e+05 2.96405314e+04 ! x y z +1.12931575e+02 1.84303874e+03 -9.66021750e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1474 2.27824759e+05 2.21950382e+04 ! particle number mass rhill +9.34048218e+03 !particle radius in m +1.63682186e+07 -7.64635682e+06 7.51258389e+04 ! x y z +6.57521797e+02 1.40505156e+03 -1.44981512e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1475 2.82996551e+04 5.59807489e+03 ! particle number mass rhill +4.66046628e+03 !particle radius in m +-9.02931313e+06 1.40224619e+06 -7.68912993e+03 ! x y z +-3.55553612e+02 -2.15150134e+03 1.02691019e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1476 1.08035073e+05 8.74419607e+03 ! particle number mass rhill +7.28378715e+03 !particle radius in m +-2.13040703e+06 9.05085932e+06 2.75232896e+04 ! x y z +-2.09375359e+03 -4.54923992e+02 -6.60791548e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1477 6.82388851e+04 9.03381717e+03 ! particle number mass rhill +4.24094823e+03 !particle radius in m +2.12770208e+06 -1.09362652e+07 6.56462507e+04 ! x y z +1.92901319e+03 3.58659857e+02 1.88568450e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1478 1.71725563e+06 3.27614334e+04 ! particle number mass rhill +1.24278875e+04 !particle radius in m +4.49722640e+06 1.29879609e+07 6.17022585e+04 ! x y z +-1.66361829e+03 6.02542134e+02 -3.15731575e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1479 4.31736407e+05 1.33145899e+04 ! particle number mass rhill +1.15586882e+04 !particle radius in m +-2.46270150e+05 -8.94568869e+06 -6.37006664e+04 ! x y z +2.17872017e+03 -8.88856930e+01 -1.82962039e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1480 4.69987554e+05 1.50577774e+04 ! particle number mass rhill +8.06890215e+03 !particle radius in m +-7.68511313e+06 -6.12228878e+06 -9.32586560e+03 ! x y z +1.29882576e+03 -1.62777018e+03 -1.19293575e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1481 1.17648820e+05 8.85436283e+03 ! particle number mass rhill +7.49373241e+03 !particle radius in m +-8.92478393e+06 1.31107857e+06 -7.25655485e+04 ! x y z +-2.98094429e+02 -2.17047563e+03 -1.53783344e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1482 1.06595743e+05 1.08697806e+04 ! particle number mass rhill +7.25129561e+03 !particle radius in m +-6.57681719e+06 -9.45888345e+06 -3.72144545e+04 ! x y z +1.58522928e+03 -1.10501157e+03 1.05113370e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1483 2.40181521e+05 2.05658561e+04 ! particle number mass rhill +9.50638765e+03 !particle radius in m +1.34071651e+07 1.03792566e+07 -4.53441732e+04 ! x y z +-9.71553194e+02 1.24234337e+03 9.20294843e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1484 2.30979462e+05 1.61646706e+04 ! particle number mass rhill +6.36761483e+03 !particle radius in m +-3.51077302e+06 -1.26567098e+07 2.57715830e+04 ! x y z +1.74422450e+03 -5.08580589e+02 2.03158207e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1485 1.30379505e+05 1.26014074e+04 ! particle number mass rhill +5.26245957e+03 !particle radius in m +2.88059988e+06 -1.21489772e+07 1.66531109e+03 ! x y z +1.80288747e+03 4.42317052e+02 -1.19583569e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1486 5.14863696e+05 1.57196952e+04 ! particle number mass rhill +8.31795219e+03 !particle radius in m +-5.79801378e+06 7.81844110e+06 7.21651425e+04 ! x y z +-1.66669076e+03 -1.30229321e+03 -2.20360225e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1487 1.26463086e+06 1.90076383e+04 ! particle number mass rhill +1.12229473e+04 !particle radius in m +1.79079043e+06 8.72935614e+06 7.66173175e+03 ! x y z +-2.14494592e+03 4.29349753e+02 -3.05321261e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1488 1.10279394e+06 2.94811703e+04 ! particle number mass rhill +1.07221971e+04 !particle radius in m +-1.31449667e+07 5.65642590e+06 -1.35348879e+04 ! x y z +-6.99474388e+02 -1.58839301e+03 5.07187025e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1489 9.64986931e+05 2.60335138e+04 ! particle number mass rhill +1.02555622e+04 !particle radius in m +-1.28107010e+07 3.64301270e+06 -4.79094708e+04 ! x y z +-4.96849501e+02 -1.72146269e+03 1.99970261e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1490 3.85017463e+05 1.31518104e+04 ! particle number mass rhill +7.54998008e+03 !particle radius in m +-8.81052520e+06 1.96363775e+06 -7.03542162e+04 ! x y z +-4.55600237e+02 -2.14195252e+03 -1.54510587e+01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1491 7.12464696e+04 7.27507090e+03 ! particle number mass rhill +4.30236032e+03 !particle radius in m +6.76054921e+06 5.69153857e+06 -8.32813680e+04 ! x y z +-1.43863210e+03 1.66962801e+03 -3.05680786e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1492 2.30337841e+05 1.99962209e+04 ! particle number mass rhill +9.37470089e+03 !particle radius in m +-1.58533753e+07 -4.64141565e+06 -1.37616342e+05 ! x y z +4.71661565e+02 -1.53679456e+03 4.54920894e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1493 1.54078080e+05 1.40811002e+04 ! particle number mass rhill +5.56372876e+03 !particle radius in m +-5.05912024e+06 1.20461614e+07 -1.00213774e+05 ! x y z +-1.67920042e+03 -7.11202226e+02 4.13175962e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1494 8.27228641e+04 9.01203219e+03 ! particle number mass rhill +6.66362952e+03 !particle radius in m +8.41034459e+05 -1.03591089e+07 -4.26263251e+04 ! x y z +2.02679172e+03 1.77245292e+02 -7.59374588e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1495 6.59711957e+04 7.21319042e+03 ! particle number mass rhill +4.19344015e+03 !particle radius in m +-8.72674150e+06 -1.84604826e+06 -9.49439666e+03 ! x y z +5.06255038e+02 -2.14329601e+03 8.35004981e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1496 4.76016816e+05 1.56977540e+04 ! particle number mass rhill +1.19410657e+04 !particle radius in m +8.32975138e+06 5.59994962e+06 1.36490477e+04 ! x y z +-1.14500563e+03 1.73284125e+03 2.21368330e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1497 8.74132422e+05 1.84842648e+04 ! particle number mass rhill +9.92303995e+03 !particle radius in m +5.20187427e+06 8.26928364e+06 7.79156795e+04 ! x y z +-1.78869520e+03 1.08594628e+03 -2.89543422e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1498 1.05100593e+06 1.88653392e+04 ! particle number mass rhill +1.05516583e+04 !particle radius in m +-3.97296892e+06 -8.38171851e+06 1.59358464e+04 ! x y z +1.95617296e+03 -9.13960827e+02 -3.62965884e-01 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1499 4.64374943e+05 2.44967912e+04 ! particle number mass rhill +8.03665372e+03 !particle radius in m +8.20764080e+05 -1.58893023e+07 7.87114038e+04 ! x y z +1.64101205e+03 9.20364252e+01 9.68548448e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1500 7.98550448e+05 3.23468692e+04 ! particle number mass rhill +9.62837764e+03 !particle radius in m +-9.69224879e+06 1.49532038e+07 7.33593405e+04 ! x y z +-1.29931651e+03 -8.27698792e+02 -3.16602237e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot +1501 7.54058320e+04 8.18405513e+03 ! particle number mass rhill +4.38450573e+03 !particle radius in m +-5.62663613e+06 7.91766436e+06 2.60207243e+04 ! x y z +-1.74178290e+03 -1.18522553e+03 2.27430689e+00 ! vx vy vz +0.4 0.4 0.4 ! Ip +0.0 0.0 0.0 ! rot diff --git a/examples/symba_swifter_comparison/mars_disk/swiftest_vs_swifter.ipynb b/examples/symba_swifter_comparison/mars_disk/swiftest_vs_swifter.ipynb new file mode 100644 index 000000000..1dca7f7e8 --- /dev/null +++ b/examples/symba_swifter_comparison/mars_disk/swiftest_vs_swifter.ipynb @@ -0,0 +1,516 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import swiftest\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swifter file param.swifter.in\n", + "Reading in time 4.200e+03\n", + "Creating Dataset\n", + "Successfully converted 8 output frames.\n", + "Swifter simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "swiftersim = swiftest.Simulation(param_file=\"param.swifter.in\", codename=\"Swifter\")\n", + "swiftersim.bin2xr()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swiftest file param.swiftest.in\n", + "Reading in time 0.000e+00\n", + "Creating Dataset\n", + "Successfully converted 1 output frames.\n", + "\n", + "Adding particle info to Dataset\n", + "Swiftest simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "swiftestsim = swiftest.Simulation(param_file=\"param.swiftest.in\")\n", + "swiftestsim.bin2xr()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:      (id: 1501, time: 1)\n",
+       "Coordinates:\n",
+       "  * id           (id) float64 0.0 2.0 3.0 4.0 ... 1.499e+03 1.5e+03 1.501e+03\n",
+       "  * time         (time) float64 0.0\n",
+       "Data variables: (12/25)\n",
+       "    Gmass        (time, id) float64 4.284e+13 9.907e+04 ... 7.986e+05 7.541e+04\n",
+       "    radius       (time, id) float64 3.39e+06 7.076e+03 ... 9.628e+03 4.385e+03\n",
+       "    J_2          (time, id) float64 0.0 nan nan nan nan ... nan nan nan nan nan\n",
+       "    J_4          (time, id) float64 0.0 nan nan nan nan ... nan nan nan nan nan\n",
+       "    Ip1          (time, id) float64 0.4 0.4 0.4 0.4 0.4 ... 0.4 0.4 0.4 0.4 0.4\n",
+       "    Ip2          (time, id) float64 0.4 0.4 0.4 0.4 0.4 ... 0.4 0.4 0.4 0.4 0.4\n",
+       "    ...           ...\n",
+       "    py_origin    (id) float64 0.0 8.604e+06 -6.936e+06 ... 1.495e+07 7.918e+06\n",
+       "    pz_origin    (id) float64 0.0 1.252e+04 1.515e+04 ... 7.336e+04 2.602e+04\n",
+       "    vhx_origin   (id) float64 0.0 -2.134e+03 1.312e+03 ... -1.299e+03 -1.742e+03\n",
+       "    vhy_origin   (id) float64 0.0 -591.2 -1.533e+03 ... 92.04 -827.7 -1.185e+03\n",
+       "    vhz_origin   (id) float64 0.0 -1.465 -0.1413 0.2818 ... 9.685 -3.166 2.274\n",
+       "    origin_type  (id) <U32 'Central body' ... 'Initial conditions'
" + ], + "text/plain": [ + "\n", + "Dimensions: (id: 1501, time: 1)\n", + "Coordinates:\n", + " * id (id) float64 0.0 2.0 3.0 4.0 ... 1.499e+03 1.5e+03 1.501e+03\n", + " * time (time) float64 0.0\n", + "Data variables: (12/25)\n", + " Gmass (time, id) float64 4.284e+13 9.907e+04 ... 7.986e+05 7.541e+04\n", + " radius (time, id) float64 3.39e+06 7.076e+03 ... 9.628e+03 4.385e+03\n", + " J_2 (time, id) float64 0.0 nan nan nan nan ... nan nan nan nan nan\n", + " J_4 (time, id) float64 0.0 nan nan nan nan ... nan nan nan nan nan\n", + " Ip1 (time, id) float64 0.4 0.4 0.4 0.4 0.4 ... 0.4 0.4 0.4 0.4 0.4\n", + " Ip2 (time, id) float64 0.4 0.4 0.4 0.4 0.4 ... 0.4 0.4 0.4 0.4 0.4\n", + " ... ...\n", + " py_origin (id) float64 0.0 8.604e+06 -6.936e+06 ... 1.495e+07 7.918e+06\n", + " pz_origin (id) float64 0.0 1.252e+04 1.515e+04 ... 7.336e+04 2.602e+04\n", + " vhx_origin (id) float64 0.0 -2.134e+03 1.312e+03 ... -1.299e+03 -1.742e+03\n", + " vhy_origin (id) float64 0.0 -591.2 -1.533e+03 ... 92.04 -827.7 -1.185e+03\n", + " vhz_origin (id) float64 0.0 -1.465 -0.1413 0.2818 ... 9.685 -3.166 2.274\n", + " origin_type (id) " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "swiftdiff['vx'].plot.line(ax=ax, x=\"time\")\n", + "legend = ax.legend()\n", + "legend.remove()\n", + "plt.show()\n", + "print(\"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'vx' (id: 1500)>\n",
+       "array([-0.,  0., -0., ...,  0., -0., -0.])\n",
+       "Coordinates:\n",
+       "  * id       (id) float64 2.0 3.0 4.0 5.0 ... 1.499e+03 1.5e+03 1.501e+03\n",
+       "    time     float64 3e+03
" + ], + "text/plain": [ + "\n", + "array([-0., 0., -0., ..., 0., -0., -0.])\n", + "Coordinates:\n", + " * id (id) float64 2.0 3.0 4.0 5.0 ... 1.499e+03 1.5e+03 1.501e+03\n", + " time float64 3e+03" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "swiftdiff.isel(time=5)['vx']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "swiftestOOF", + "language": "python", + "name": "swiftestoof" + }, + "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.7.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/symba_swifter_comparison/mtiny_test/tp.in b/examples/symba_swifter_comparison/mtiny_test/tp.in new file mode 100644 index 000000000..c22708346 --- /dev/null +++ b/examples/symba_swifter_comparison/mtiny_test/tp.in @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/examples/whm_gr_test/Untitled.ipynb b/examples/whm_gr_test/Untitled.ipynb new file mode 100644 index 000000000..d10f8b471 --- /dev/null +++ b/examples/whm_gr_test/Untitled.ipynb @@ -0,0 +1,966 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import swiftest\n", + "import numpy as np\n", + "import xarray as xr" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swiftest file param.swiftest.in\n" + ] + } + ], + "source": [ + "sim = swiftest.Simulation(param_file=\"param.swiftest.in\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Creating Dataset\n", + "Successfully converted 3 output frames.\n", + "Swiftest simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "sim.bin2xr()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "ds = sim.ds" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'name' (id: 9)>\n",
+       "array(['Sun', 'Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn',\n",
+       "       'Uranus', 'Neptune'], dtype='<U7')\n",
+       "Coordinates:\n",
+       "  * id       (id) int32 0 1 2 3 4 5 6 7 8
" + ], + "text/plain": [ + "\n", + "array(['Sun', 'Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn',\n", + " 'Uranus', 'Neptune'], dtype='\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.Dataset>\n",
+       "Dimensions:        (id: 9, time: 3)\n",
+       "Coordinates:\n",
+       "  * time           (time) float64 0.0 0.0006845 0.001369\n",
+       "  * id             (id) int32 0 1 2 3 4 5 6 7 8\n",
+       "Data variables: (12/19)\n",
+       "    npl            (time) int32 8 8 8\n",
+       "    ntp            (time) int32 0 0 0\n",
+       "    name           (id) <U7 'Sun' 'Mercury' 'Venus' ... 'Uranus' 'Neptune'\n",
+       "    particle_type  (id) <U12 'Central Body' 'Massive Body' ... 'Massive Body'\n",
+       "    xhx            (time, id) float64 0.0 -0.2951 -0.211 ... 6.48 14.74 29.58\n",
+       "    xhy            (time, id) float64 0.0 -0.3435 -0.6945 ... 13.13 -4.487\n",
+       "    ...             ...\n",
+       "    capom          (time, id) float64 0.0 0.8431 1.337 ... 1.983 1.293 2.299\n",
+       "    omega          (time, id) float64 0.0 0.5094 0.9619 ... 5.859 1.673 4.29\n",
+       "    capm           (time, id) float64 0.0 2.426 2.107 ... 3.935 4.116 5.838\n",
+       "    Gmass          (time, id) float64 39.48 6.554e-06 ... 0.001724 0.002034\n",
+       "    rhill          (time, id) float64 0.0 0.001475 0.006759 ... 0.4697 0.7814\n",
+       "    radius         (time, id) float64 0.00465 1.631e-05 ... 0.0001695 0.0001646
" + ], + "text/plain": [ + "\n", + "Dimensions: (id: 9, time: 3)\n", + "Coordinates:\n", + " * time (time) float64 0.0 0.0006845 0.001369\n", + " * id (id) int32 0 1 2 3 4 5 6 7 8\n", + "Data variables: (12/19)\n", + " npl (time) int32 ...\n", + " ntp (time) int32 ...\n", + " name (id) " + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ - "fig, ax = plt.subplots()\n", - "\n", - "ax.plot(t, varpi_obs, label=\"JPL Horizons\")\n", - "ax.plot(tsim, varpiswifter, label=\"Swifter GR\")\n", - "ax.plot(tsim, varpiswiftest, label=\"Swiftest GR\")\n", - "ax.set_xlabel('Time (y)')\n", - "ax.set_ylabel('Mercury $\\\\varpi$ (deg)')\n", - "ax.legend()\n", + "axes_fontsize = 32\n", + "legend_fontsize = 24\n", + "CB_color_cycle = ['#377eb8', '#ff7f00', '#4daf4a',\n", + " '#f781bf', '#a65628', '#984ea3',\n", + " '#999999', '#e41a1c', '#dede00']\n", + "fig = plt.figure(1, figsize=(14,10), facecolor=\"white\")\n", + "ax = fig.add_subplot(111)\n", + "plt.setp(ax.get_xticklabels(), fontsize=axes_fontsize)\n", + "plt.setp(ax.get_yticklabels(), fontsize=axes_fontsize)\n", + "ax.plot(t, varpi_obs, label=\"JPL Horizons\", linestyle='-',linewidth=6,c=CB_color_cycle[1])\n", + "ax.plot(tsim, varpinogr, label=\"Swiftest WHM No GR\", linestyle='--', linewidth=6, c=CB_color_cycle[0])\n", + "ax.plot(tsim, varpiswiftest, label=\"Swiftest WHM GR\", linestyle=':', linewidth=6,c=CB_color_cycle[2])\n", + "ax.set_xlabel(\"Time (y)\", fontsize=axes_fontsize)\n", + "ax.set_ylabel(\"Mercury $\\\\varpi$ (deg)\", fontsize=axes_fontsize)\n", + "ax.legend(loc=\"upper left\", fontsize=legend_fontsize, markerscale=1)\n", "print('Mean precession rate for Mercury long. peri. (arcsec/100 y)')\n", - "print(f'JPL Horizons : {np.mean(dvarpi_obs)}')\n", - "print(f'Swifter GR : {np.mean(dvarpi_swifter)}')\n", - "print(f'Swiftest GR : {np.mean(dvarpi_swiftest)}')\n", - "print(f'Obs - Swifter : {np.mean(dvarpi_obs - dvarpi_swifter)}')\n", - "print(f'Obs - Swiftest : {np.mean(dvarpi_obs - dvarpi_swiftest)}')\n", - "print(f'Swiftest - Swifter: {np.mean(dvarpi_swiftest - dvarpi_swifter)}')" + "print(f'Swiftest WHM No GR : {np.mean(dvarpi_nogr)}')\n", + "print(f'Swiftest WHM GR : {np.mean(dvarpi_swiftest)}')\n", + "print(f'JPL Horizons : {np.mean(dvarpi_obs)}')\n", + "print(f'Obs - Swiftest No GR : {np.mean(dvarpi_obs - dvarpi_nogr)}')\n", + "print(f'Obs - Swiftest GR : {np.mean(dvarpi_obs - dvarpi_swiftest)}')\n" ] }, { @@ -160,6 +189,13 @@ "outputs": [], "source": [] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, diff --git a/python/swiftest/swiftest/constants.py b/python/swiftest/swiftest/constants.py index 7b031b4b7..caf8f8fe7 100644 --- a/python/swiftest/swiftest/constants.py +++ b/python/swiftest/swiftest/constants.py @@ -13,3 +13,4 @@ # Solar oblatenes values: From Mecheri et al. (2004), using Corbard (b) 2002 values (Table II) J2Sun = np.longdouble(2.198e-7) J4Sun = np.longdouble(-4.805e-9) + diff --git a/python/swiftest/swiftest/init_cond.py b/python/swiftest/swiftest/init_cond.py index f9a7378c0..12f0ef6ed 100644 --- a/python/swiftest/swiftest/init_cond.py +++ b/python/swiftest/swiftest/init_cond.py @@ -1,6 +1,8 @@ import swiftest import numpy as np from astroquery.jplhorizons import Horizons +import astropy.units as u +from astropy.coordinates import SkyCoord import datetime from datetime import date import xarray as xr @@ -74,6 +76,32 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): 'Pluto': np.longdouble(1188.3e3 / swiftest.AU2M) } + planetrot = { + 'Sun' : np.longdouble(2*np.pi / 25.05) / swiftest.JD2S, # Approximate + 'Mercury': np.longdouble(2*np.pi / 58.646) / swiftest.JD2S, + 'Venus': np.longdouble(2*np.pi / 243.0226 ) / swiftest.JD2S, + 'Earth': np.longdouble(2*np.pi / 0.99726968) / swiftest.JD2S, + 'Mars': np.longdouble(2*np.pi / 1.025957) / swiftest.JD2S, + 'Jupiter': np.longdouble(2*np.pi / (9.9250 / 24.0) ) / swiftest.JD2S, + 'Saturn': np.longdouble(2*np.pi / (10.656 / 24.0) ) / swiftest.JD2S, + 'Uranus': np.longdouble(2*np.pi / 0.71833) / swiftest.JD2S, + 'Neptune': np.longdouble(2*np.pi / 0.6713) / swiftest.JD2S, + 'Pluto': np.longdouble(2*np.pi / 6.387230) / swiftest.JD2S + } + + planetIpz = { # Only the polar moments of inertia are used currently. Where the quantity is unkown, we just use the value of a sphere = 0.4 + 'Sun' : np.longdouble(0.070), + 'Mercury' : np.longdouble(0.346), + 'Venus': np.longdouble(0.4), + 'Earth': np.longdouble(0.3307), + 'Mars': np.longdouble(0.3644), + 'Jupiter': np.longdouble(0.2756), + 'Saturn': np.longdouble(0.22), + 'Uranus': np.longdouble(0.23), + 'Neptune': np.longdouble(0.23), + 'Pluto': np.longdouble(0.4) + } + # Unit conversion factors DCONV = swiftest.AU2M / param['DU2M'] VCONV = (swiftest.AU2M / swiftest.JD2S) / (param['DU2M'] / param['TU2S']) @@ -84,8 +112,16 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): Rcb = np.array([swiftest.RSun / param['DU2M']]) J2RP2 = np.array([swiftest.J2Sun * (swiftest.RSun / param['DU2M']) ** 2]) J4RP4 = np.array([swiftest.J4Sun * (swiftest.RSun / param['DU2M']) ** 4]) + + solarpole = SkyCoord(ra=286.13 * u.degree, dec=63.87 * u.degree) + solarrot = planetrot['Sun'] * param['TU2S'] + rotcb = solarpole.cartesian * solarrot + Ipsun = np.array([0.0, 0.0, planetIpz['Sun']]) + cbid = np.array([0]) cvec = np.vstack([GMcb, Rcb, J2RP2, J4RP4]) + if param['ROTATION'] == 'YES': + cvec = np.vstack([cvec, Ipsun[0], Ipsun[1], Ipsun[2], rotcb.x, rotcb.y, rotcb.z]) # Horizons date time internal variables tstart = datetime.date.fromisoformat(ephemerides_start_date) @@ -95,6 +131,7 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): ephemerides_step = '1d' clab, plab, tlab = swiftest.io.make_swiftest_labels(param) + # Add the missing labels if param['OUT_FORM'] == 'XV': plab.append('a') plab.append('e') @@ -109,18 +146,18 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): tlab.append('omega') tlab.append('capm') elif param['OUT_FORM'] == 'EL': - plab.append('px') - plab.append('py') - plab.append('pz') - plab.append('vx') - plab.append('vy') - plab.append('vz') - tlab.append('px') - tlab.append('py') - tlab.append('pz') - tlab.append('vx') - tlab.append('vy') - tlab.append('vz') + plab.append('xhx') + plab.append('xhy') + plab.append('xhz') + plab.append('vhx') + plab.append('vhy') + plab.append('vhz') + tlab.append('xhx') + tlab.append('xhy') + tlab.append('xhz') + tlab.append('vhx') + tlab.append('vhy') + tlab.append('vhz') dims = ['time', 'id', 'vec'] t = np.array([0.0]) @@ -132,14 +169,14 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): val = -1 if key == "Sun" : # Create central body print("Creating the Sun as a central body") - cb = [] cbframe = np.expand_dims(cvec.T, axis=0) cbxr = xr.DataArray(cbframe, dims=dims, coords={'time': t, 'id': cbid, 'vec': clab}) + cbxr = cbxr.assign_coords(name=('id', [key])) cbds = cbxr.to_dataset(dim='vec') ds = xr.combine_by_coords([ds, cbds]) else: # Fetch solar system ephemerides from Horizons print(f"Fetching ephemerides data for {key} from JPL/Horizons") - pl = [] + p1 = [] p2 = [] p3 = [] @@ -152,9 +189,15 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): p10 = [] p11 = [] p12 = [] - Rhill = [] + rhill = [] Rpl = [] GMpl = [] + Ip1 = [] + Ip2 = [] + Ip3 = [] + rotx = [] + roty = [] + rotz = [] pldata = {} if ispl: @@ -165,7 +208,7 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): pldata[key] = Horizons(id=key, id_type='smallbody', location='@sun', epochs={'start': ephemerides_start_date, 'stop': ephemerides_end_date, 'step': ephemerides_step}) - if param['OUT_FORM'] == 'XV': + if (param['OUT_FORM'] == 'XV' or param['OUT_FORM'] == 'XVEL'): p1.append(pldata[key].vectors()['x'][0] * DCONV) p2.append(pldata[key].vectors()['y'][0] * DCONV) p3.append(pldata[key].vectors()['z'][0] * DCONV) @@ -174,36 +217,52 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): p6.append(pldata[key].vectors()['vz'][0] * VCONV) p7.append(pldata[key].elements()['a'][0] * DCONV) p8.append(pldata[key].elements()['e'][0]) - p9.append(pldata[key].elements()['incl'][0] * np.pi / 180.0) - p10.append(pldata[key].elements()['Omega'][0] * np.pi / 180.0) - p11.append(pldata[key].elements()['w'][0] * np.pi / 180.0) - p12.append(pldata[key].elements()['M'][0] * np.pi / 180.0) + p9.append(pldata[key].elements()['incl'][0]) + p10.append(pldata[key].elements()['Omega'][0]) + p11.append(pldata[key].elements()['w'][0]) + p12.append(pldata[key].elements()['M'][0]) elif param['OUT_FORM'] == 'EL': p1.append(pldata[key].elements()['a'][0] * DCONV) p2.append(pldata[key].elements()['e'][0]) - p3.append(pldata[key].elements()['incl'][0] * np.pi / 180.0) - p4.append(pldata[key].elements()['Omega'][0] * np.pi / 180.0) - p5.append(pldata[key].elements()['w'][0] * np.pi / 180.0) - p6.append(pldata[key].elements()['M'][0] * np.pi / 180.0) + p3.append(pldata[key].elements()['incl'][0]) + p4.append(pldata[key].elements()['Omega'][0]) + p5.append(pldata[key].elements()['w'][0]) + p6.append(pldata[key].elements()['M'][0]) p7.append(pldata[key].vectors()['x'][0] * DCONV) p8.append(pldata[key].vectors()['y'][0] * DCONV) p9.append(pldata[key].vectors()['z'][0] * DCONV) p10.append(pldata[key].vectors()['vx'][0] * VCONV) p11.append(pldata[key].vectors()['vy'][0] * VCONV) p12.append(pldata[key].vectors()['vz'][0] * VCONV) + pvec = np.vstack([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12]) + if ispl: Rpl.append(planetradius[key] * DCONV) GMpl.append(GMcb[0] / MSun_over_Mpl[key]) + pvec = np.vstack([pvec, GMpl, Rpl]) + # Generate planet value vectors if (param['RHILL_PRESENT'] == 'YES'): - Rhill.append(pldata[key].elements()['a'][0] * DCONV * (3 * MSun_over_Mpl[key]) ** (-THIRDLONG)) - pvec = np.vstack([p1, p2, p3, p4, p5, p6, GMpl, Rpl, Rhill, p7, p8, p9, p10, p11, p12]) - else: - pvec = np.vstack([p1, p2, p3, p4, p5, p6, GMpl, Rpl, p7, p8, p9, p10, p11, p12]) + rhill.append(pldata[key].elements()['a'][0] * DCONV * (3 * MSun_over_Mpl[key]) ** (-THIRDLONG)) + pvec = np.vstack([pvec, rhill]) + if (param['ROTATION'] == 'YES'): + RA = pldata[key].ephemerides()['NPole_RA'][0] + DEC = pldata[key].ephemerides()['NPole_DEC'][0] + + rotpole = SkyCoord(ra=RA * u.degree, dec=DEC * u.degree) + rotrate = planetrot[key] * param['TU2S'] + rot = rotpole.cartesian * rotrate + Ip = np.array([0.0, 0.0, planetIpz[key]]) + Ip1.append(Ip[0]) + Ip2.append(Ip[1]) + Ip3.append(Ip[2]) + rotx.append(rot.x) + roty.append(rot.y) + rotz.append(rot.z) + pvec = np.vstack([pvec, Ip1, Ip2, Ip3, rotx, roty, rotz]) else: - pvec = np.vstack([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12]) plab = tlab.copy() - + if idval is None: plid = np.array([planetid[key]], dtype=int) else: @@ -212,7 +271,60 @@ def solar_system_horizons(plname, idval, param, ephemerides_start_date, ds): # Prepare frames by adding an extra axis for the time coordinate plframe = np.expand_dims(pvec.T, axis=0) plxr = xr.DataArray(plframe, dims=dims, coords={'time': t, 'id': plid, 'vec': plab}) + plxr = plxr.assign_coords(name=('id', [plname])) plds = plxr.to_dataset(dim='vec') ds = xr.combine_by_coords([ds, plds]) + return ds + +def vec2xr(param, idvals, namevals, v1, v2, v3, v4, v5, v6, GMpl=None, Rpl=None, rhill=None, Ip1=None, Ip2=None, Ip3=None, rotx=None, roty=None, rotz=None, t=0.0): + + if param['ROTATION'] == 'YES': + if Ip1 is None: + Ip1 = np.full_like(v1, 0.4) + if Ip2 is None: + Ip2 = np.full_like(v1, 0.4) + if Ip3 is None: + Ip3 = np.full_like(v1, 0.4) + if rotx is None: + rotx = np.full_like(v1, 0.0) + if roty is None: + roty = np.full_like(v1, 0.0) + if rotz is None: + rotz = np.full_like(v1, 0.0) + + dims = ['time', 'id', 'vec'] + if GMpl is not None: + ispl = True + else: + ispl = False + + if ispl and Rpl is None: + print("Massive bodies need a radius value.") + return None + if ispl and rhill is None and param['RHILL_PRESENT'] == 'YES': + print("rhill is required.") + return None + + # Be sure we use the correct input format + old_out_form = param['OUT_FORM'] + param['OUT_FORM'] = param['IN_FORM'] + clab, plab, tlab = swiftest.io.make_swiftest_labels(param) + param['OUT_FORM'] = old_out_form + vec = np.vstack([v1, v2, v3, v4, v5, v6]) + if ispl: + vec = np.vstack([vec, GMpl, Rpl]) + if param['RHILL_PRESENT'] == 'YES': + vec = np.vstack([vec, rhill]) + if param['ROTATION'] == 'YES': + vec = np.vstack([vec, Ip1, Ip2, Ip3, rotx, roty, rotz]) + bodyframe = np.expand_dims(vec.T, axis=0) + if ispl: + bodyxr = xr.DataArray(bodyframe, dims=dims, coords={'time': [t], 'id': idvals, 'vec': plab}) + else: + bodyxr = xr.DataArray(bodyframe, dims=dims, coords={'time': [t], 'id': idvals, 'vec': tlab}) + + bodyxr = bodyxr.assign_coords(name=('id', namevals)) + + ds = bodyxr.to_dataset(dim='vec') return ds \ No newline at end of file diff --git a/python/swiftest/swiftest/io.py b/python/swiftest/swiftest/io.py index 0492a05f8..da1c49f17 100644 --- a/python/swiftest/swiftest/io.py +++ b/python/swiftest/swiftest/io.py @@ -5,7 +5,7 @@ import sys import tempfile -newfeaturelist = ("FRAGMENTATION", "ROTATION", "TIDES", "ENERGY", "GR", "YARKOVSKY", "YORP") +newfeaturelist = ("FRAGMENTATION", "ROTATION", "TIDES", "ENERGY", "GR", "YARKOVSKY", "YORP", "IN_FORM") def real2float(realstr): """ @@ -285,8 +285,6 @@ def write_labeled_param(param, param_file_name): 'TP_IN', 'CB_IN', 'BIN_OUT', - 'ENC_OUT', - 'DISCARD_OUT', 'CHK_QMIN', 'CHK_RMIN', 'CHK_RMAX', @@ -303,7 +301,7 @@ def write_labeled_param(param, param_file_name): if val is not None: print(f"{key:<16} {val}", file=outfile) # Print the remaining key/value pairs in whatever order for key, val in ptmp.items(): - print(f"{key:<16} {val}", file=outfile) + if val != "": print(f"{key:<16} {val}", file=outfile) outfile.close() return @@ -326,7 +324,7 @@ def swifter_stream(f, param): plid : int array IDs of massive bodies pvec : float array - (npl,N) - vector of N quantities or each particle (6 of XV/EL + GMass, Radius, etc) + (npl,N) - vector of N quantities or each particle (6 of XV/EL + Gmass, radius, etc) plab : string list Labels for the pvec data ntp : int @@ -353,13 +351,13 @@ def swifter_stream(f, param): tvec = np.empty((6, ntp)) tpid = np.empty(ntp, dtype='int') if npl > 0: - Mpl = np.empty(npl) + GMpl = np.empty(npl) Rpl = np.empty(npl) for i in range(npl): # Read single-line pl frame for record = f.read_record(' 0: @@ -369,14 +367,14 @@ def swifter_stream(f, param): tvec[:, i] = record[1] tlab = [] - if param['OUT_FORM'] == 'XV': - tlab.append('px') - tlab.append('py') - tlab.append('pz') - tlab.append('vx') - tlab.append('vy') - tlab.append('vz') - elif param['OUT_FORM'] == 'EL': + if param['OUT_FORM'] == 'XV' or param['OUT_FORM'] == 'XVEL': + tlab.append('xhx') + tlab.append('xhy') + tlab.append('xhz') + tlab.append('vhx') + tlab.append('vhy') + tlab.append('vhz') + if param['OUT_FORM'] == 'EL' or param['OUT_FORM'] == 'XVEL': tlab.append('a') tlab.append('e') tlab.append('inc') @@ -384,9 +382,9 @@ def swifter_stream(f, param): tlab.append('omega') tlab.append('capm') plab = tlab.copy() - plab.append('GMass') - plab.append('Radius') - pvec = np.vstack([pvec, Mpl, Rpl]) + plab.append('Gmass') + plab.append('radius') + pvec = np.vstack([pvec, GMpl, Rpl]) yield t, npl, plid, pvec.T, plab, \ ntp, tpid, tvec.T, tlab @@ -394,14 +392,15 @@ def swifter_stream(f, param): def make_swiftest_labels(param): tlab = [] - if param['OUT_FORM'] == 'XV': - tlab.append('px') - tlab.append('py') - tlab.append('pz') - tlab.append('vx') - tlab.append('vy') - tlab.append('vz') - elif param['OUT_FORM'] == 'EL': + if param['OUT_FORM'] == 'XV' or param['OUT_FORM'] == 'XVEL': + tlab.append('xhx') + tlab.append('xhy') + tlab.append('xhz') + tlab.append('vhx') + tlab.append('vhy') + tlab.append('vhz') + + if param['OUT_FORM'] == 'EL' or param['OUT_FORM'] == 'XVEL': tlab.append('a') tlab.append('e') tlab.append('inc') @@ -409,24 +408,24 @@ def make_swiftest_labels(param): tlab.append('omega') tlab.append('capm') plab = tlab.copy() - plab.append('GMass') - plab.append('Radius') + plab.append('Gmass') + plab.append('radius') if param['RHILL_PRESENT'] == 'YES': - plab.append('Rhill') - clab = ['GMass', 'Radius', 'J_2', 'J_4'] + plab.append('rhill') + clab = ['Gmass', 'radius', 'J_2', 'J_4'] if param['ROTATION'] == 'YES': - clab.append('Ip_x') - clab.append('Ip_y') - clab.append('Ip_z') - clab.append('rot_x') - clab.append('rot_y') - clab.append('rot_z') - plab.append('Ip_x') - plab.append('Ip_y') - plab.append('Ip_z') - plab.append('rot_x') - plab.append('rot_y') - plab.append('rot_z') + clab.append('Ip1') + clab.append('Ip2') + clab.append('Ip3') + clab.append('rotx') + clab.append('roty') + clab.append('rotz') + plab.append('Ip1') + plab.append('Ip2') + plab.append('Ip3') + plab.append('rotx') + plab.append('roty') + plab.append('rotz') if param['TIDES'] == 'YES': clab.append('k2') clab.append('Q') @@ -451,13 +450,13 @@ def swiftest_stream(f, param): cbid : int array ID of central body (always returns 0) cvec : float array - (npl,1) - vector of quantities for the massive body (GMass, Radius, J2, J4, etc) + (npl,1) - vector of quantities for the massive body (Gmass, radius, J2, J4, etc) npl : int Number of massive bodies plid : int array IDs of massive bodies pvec : float array - (npl,N) - vector of N quantities or each particle (6 of XV/EL + GMass, Radius, etc) + (npl,N) - vector of N quantities or each particle (6 of XV/EL + Gmass, radius, etc) plab : string list Labels for the pvec data ntp : int @@ -469,6 +468,7 @@ def swiftest_stream(f, param): tlab : string list Labels for the tvec data """ + NAMELEN = 32 while True: # Loop until you read the end of file try: # Read multi-line header @@ -479,6 +479,9 @@ def swiftest_stream(f, param): ntp = f.read_ints() iout_form = f.read_reals('c') cbid = f.read_ints() + dtstr = f'a{NAMELEN}' + cbnames = f.read_record(dtstr) + cbnames = [np.char.strip(str(cbnames[0], encoding='utf-8'))] Mcb = f.read_reals(np.float64) Rcb = f.read_reals(np.float64) J2cb = f.read_reals(np.float64) @@ -495,15 +498,27 @@ def swiftest_stream(f, param): Qcb = f.read_reals(np.float64) if npl[0] > 0: plid = f.read_ints() + dtstr = f'({npl[0]},)a{NAMELEN}' + names = f.read_record(np.dtype(dtstr)) + plnames = [] + for i in range(npl[0]): + plnames.append(np.char.strip(str(names[i], encoding='utf-8'))) p1 = f.read_reals(np.float64) p2 = f.read_reals(np.float64) p3 = f.read_reals(np.float64) p4 = f.read_reals(np.float64) p5 = f.read_reals(np.float64) p6 = f.read_reals(np.float64) - Mpl = f.read_reals(np.float64) + if param['OUT_FORM'] == 'XVEL': + p7 = f.read_reals(np.float64) + p8 = f.read_reals(np.float64) + p9 = f.read_reals(np.float64) + p10 = f.read_reals(np.float64) + p11 = f.read_reals(np.float64) + p12 = f.read_reals(np.float64) + GMpl = f.read_reals(np.float64) if param['RHILL_PRESENT'] == 'YES': - Rhill = f.read_reals(np.float64) + rhill = f.read_reals(np.float64) Rpl = f.read_reals(np.float64) if param['ROTATION'] == 'YES': Ipplx = f.read_reals(np.float64) @@ -517,29 +532,54 @@ def swiftest_stream(f, param): Qpl = f.read_reals(np.float64) if ntp[0] > 0: tpid = f.read_ints() + dtstr = f'({ntp[0]},)a{NAMELEN}' + names = f.read_record(np.dtype(dtstr)) + tpnames = [] + for i in range(npl[0]): + tpnames.append(np.char.strip(str(names[i], encoding='utf-8'))) t1 = f.read_reals(np.float64) t2 = f.read_reals(np.float64) t3 = f.read_reals(np.float64) t4 = f.read_reals(np.float64) t5 = f.read_reals(np.float64) t6 = f.read_reals(np.float64) + if param['OUT_FORM'] == 'XVEL': + t7 = f.read_reals(np.float64) + t8 = f.read_reals(np.float64) + t9 = f.read_reals(np.float64) + t10 = f.read_reals(np.float64) + t11 = f.read_reals(np.float64) + t12 = f.read_reals(np.float64) clab, plab, tlab = make_swiftest_labels(param) - + if npl > 0: - pvec = np.vstack([p1, p2, p3, p4, p5, p6, Mpl, Rpl]) + pvec = np.vstack([p1, p2, p3, p4, p5, p6]) + if param['OUT_FORM'] == 'XVEL': + pvec = np.vstack([pvec, p7, p8, p9, p10, p11, p12]) + pvec = np.vstack([pvec, GMpl, Rpl]) else: - pvec = np.empty((8, 0)) + if param['OUT_FORM'] == 'XVEL': + pvec = np.empty((14, 0)) + else: + pvec = np.empty((8, 0)) plid = np.empty(0) + plnames = np.empty(0) if ntp > 0: tvec = np.vstack([t1, t2, t3, t4, t5, t6]) + if param['OUT_FORM'] == 'XVEL': + tvec = np.vstack([tvec, t7, t8, t9, t10, t11, t12]) else: - tvec = np.empty((6, 0)) + if param['OUT_FORM'] == 'XVEL': + tvec = np.empty((12, 0)) + else: + tvec = np.empty((6, 0)) tpid = np.empty(0) + tpnames = np.empty(0) cvec = np.array([Mcb, Rcb, J2cb, J4cb]) if param['RHILL_PRESENT'] == 'YES': if npl > 0: - pvec = np.vstack([pvec, Rhill]) + pvec = np.vstack([pvec, rhill]) if param['ROTATION'] == 'YES': cvec = np.vstack([cvec, Ipcbx, Ipcby, Ipcbz, rotcbx, rotcby, rotcbz]) if npl > 0: @@ -548,9 +588,9 @@ def swiftest_stream(f, param): cvec = np.vstack([cvec, k2cb, Qcb]) if npl > 0: pvec = np.vstack([pvec, k2pl, Qpl]) - yield t, cbid, cvec.T, clab, \ - npl, plid, pvec.T, plab, \ - ntp, tpid, tvec.T, tlab + yield t, cbid, cbnames, cvec.T, clab, \ + npl, plid, plnames, pvec.T, plab, \ + ntp, tpid, tpnames, tvec.T, tlab def swifter2xr(param): @@ -609,47 +649,86 @@ def swiftest2xr(param): ------- xarray dataset """ + if ((param['OUT_TYPE'] == 'REAL8') or (param['OUT_TYPE'] == 'REAL4')): + dims = ['time', 'id', 'vec'] + cb = [] + pl = [] + tp = [] + cbn = None + try: + with FortranFile(param['BIN_OUT'], 'r') as f: + for t, cbid, cbnames, cvec, clab, \ + npl, plid, plnames, pvec, plab, \ + ntp, tpid, tpnames, tvec, tlab in swiftest_stream(f, param): + # Prepare frames by adding an extra axis for the time coordinate + cbframe = np.expand_dims(cvec, axis=0) + plframe = np.expand_dims(pvec, axis=0) + tpframe = np.expand_dims(tvec, axis=0) + + + # Create xarray DataArrays out of each body type + cbxr = xr.DataArray(cbframe, dims=dims, coords={'time': t, 'id': cbid, 'vec': clab}) + cbxr = cbxr.assign_coords(name=("id", cbnames)) + plxr = xr.DataArray(plframe, dims=dims, coords={'time': t, 'id': plid, 'vec': plab}) + plxr = plxr.assign_coords(name=("id", plnames)) + tpxr = xr.DataArray(tpframe, dims=dims, coords={'time': t, 'id': tpid, 'vec': tlab}) + tpxr = tpxr.assign_coords(name=("id", tpnames)) + + cb.append(cbxr) + pl.append(plxr) + tp.append(tpxr) + + sys.stdout.write('\r' + f"Reading in time {t[0]:.3e}") + sys.stdout.flush() + except IOError: + print(f"Error encountered reading in {param['BIN_OUT']}") + + cbda = xr.concat(cb, dim='time') + plda = xr.concat(pl, dim='time') + tpda = xr.concat(tp, dim='time') - dims = ['time', 'id', 'vec'] - cb = [] - pl = [] - tp = [] - try: - with FortranFile(param['BIN_OUT'], 'r') as f: - for t, cbid, cvec, clab, \ - npl, plid, pvec, plab, \ - ntp, tpid, tvec, tlab in swiftest_stream(f, param): - # Prepare frames by adding an extra axis for the time coordinate - cbframe = np.expand_dims(cvec, axis=0) - plframe = np.expand_dims(pvec, axis=0) - tpframe = np.expand_dims(tvec, axis=0) - - # Create xarray DataArrays out of each body type - cbxr = xr.DataArray(cbframe, dims=dims, coords={'time': t, 'id': cbid, 'vec': clab}) - plxr = xr.DataArray(plframe, dims=dims, coords={'time': t, 'id': plid, 'vec': plab}) - tpxr = xr.DataArray(tpframe, dims=dims, coords={'time': t, 'id': tpid, 'vec': tlab}) - - cb.append(cbxr) - pl.append(plxr) - tp.append(tpxr) - sys.stdout.write('\r' + f"Reading in time {t[0]:.3e}") - sys.stdout.flush() - except IOError: - print(f"Error encountered reading in {param['BIN_OUT']}") + cbds = cbda.to_dataset(dim='vec') + plds = plda.to_dataset(dim='vec') + tpds = tpda.to_dataset(dim='vec') + print('\nCreating Dataset') + ds = xr.combine_by_coords([cbds, plds, tpds]) - cbda = xr.concat(cb, dim='time') - plda = xr.concat(pl, dim='time') - tpda = xr.concat(tp, dim='time') - - cbds = cbda.to_dataset(dim='vec') - plds = plda.to_dataset(dim='vec') - tpds = tpda.to_dataset(dim='vec') - print('\nCreating Dataset') - ds = xr.combine_by_coords([cbds, plds, tpds]) + elif ((param['OUT_TYPE'] == 'NETCDF_DOUBLE') or (param['OUT_TYPE'] == 'NETCDF_FLOAT')): + print('\nCreating Dataset') + ds = xr.open_dataset(param['BIN_OUT']) + ds = clean_string_values(param, ds) + else: + print(f"Error encountered. OUT_TYPE {param['OUT_TYPE']} not recognized.") + return None print(f"Successfully converted {ds.sizes['time']} output frames.") - if param['PARTICLE_OUT'] != "": - ds = swiftest_particle_2xr(ds, param) - + + return ds + +def xstrip(a): + func = lambda x: np.char.strip(x) + return xr.apply_ufunc(func, a.str.decode(encoding='utf-8')) + +def clean_string_values(param, ds): + """ + Cleans up the string values in the DataSet that have artifacts as a result of coming from NetCDF Fortran + + Parameters + ---------- + param : dict + ds : xarray dataset + + Returns + ------- + ds : xarray dataset with the strings cleaned up + """ + if 'name' in ds: + ds['name'] = xstrip(ds['name']) + if 'particle_type' in ds: + ds['particle_type'] = xstrip(ds['particle_type']) + if 'status' in ds: + ds['status'] = xstrip(ds['status']) + if 'origin_type' in ds: + ds['origin_type'] = xstrip(ds['origin_type']) return ds @@ -685,9 +764,9 @@ def swiftest_particle_stream(f): yield plid, origin_type, origin_vec -def swiftest_particle_2xr(ds, param): +def swiftest_particle_2xr(param): """Reads in the Swiftest SyMBA-generated PARTICLE_OUT and converts it to an xarray Dataset""" - veclab = ['time_origin', 'px_origin', 'py_origin', 'pz_origin', 'vx_origin', 'vy_origin', 'vz_origin'] + veclab = ['time_origin', 'xhx_origin', 'py_origin', 'pz_origin', 'vhx_origin', 'vhy_origin', 'vhz_origin'] id_list = [] origin_type_list = [] origin_vec_list = [] @@ -711,9 +790,7 @@ def swiftest_particle_2xr(ds, param): infoxr = vecda.to_dataset(dim='vec') infoxr['origin_type'] = typeda - print('\nAdding particle info to Dataset') - ds = xr.merge([ds, infoxr]) - return ds + return infoxr def swiftest_xr2infile(ds, param, framenum=-1): @@ -736,23 +813,34 @@ def swiftest_xr2infile(ds, param, framenum=-1): frame = ds.isel(time=framenum) cb = frame.where(frame.id == 0, drop=True) pl = frame.where(frame.id > 0, drop=True) - pl = pl.where(np.invert(np.isnan(pl['GMass'])), drop=True).drop_vars(['J_2', 'J_4']) - tp = frame.where(np.isnan(frame['GMass']), drop=True).drop_vars(['GMass', 'Radius', 'J_2', 'J_4']) + pl = pl.where(np.invert(np.isnan(pl['Gmass'])), drop=True).drop_vars(['J_2', 'J_4']) + tp = frame.where(np.isnan(frame['Gmass']), drop=True).drop_vars(['Gmass', 'radius', 'J_2', 'J_4']) - GMSun = np.double(cb['GMass']) - RSun = np.double(cb['Radius']) + GMSun = np.double(cb['Gmass']) + RSun = np.double(cb['radius']) J2 = np.double(cb['J_2']) J4 = np.double(cb['J_4']) + cbname = cb['name'].values[0] + if param['ROTATION'] == 'YES': + Ip1cb = np.double(cb['Ip1']) + Ip2cb = np.double(cb['Ip2']) + Ip3cb = np.double(cb['Ip3']) + rotxcb = np.double(cb['rotx']) + rotycb = np.double(cb['roty']) + rotzcb = np.double(cb['rotz']) cbid = int(0) if param['IN_TYPE'] == 'ASCII': # Swiftest Central body file cbfile = open(param['CB_IN'], 'w') - print(0, file=cbfile) + print(cbname, file=cbfile) print(GMSun, file=cbfile) print(RSun, file=cbfile) print(J2, file=cbfile) print(J4, file=cbfile) + if param['ROTATION'] == 'YES': + print(Ip1cb, Ip2cb, Ip3cb, file=cbfile) + print(rotxcb, rotycb, rotzcb, file=cbfile) cbfile.close() plfile = open(param['PL_IN'], 'w') @@ -760,12 +848,21 @@ def swiftest_xr2infile(ds, param, framenum=-1): for i in pl.id: pli = pl.sel(id=i) if param['RHILL_PRESENT'] == 'YES': - print(i.values, pli['GMass'].values, pli['Rhill'].values, file=plfile) + print(pli['name'].values, pli['Gmass'].values, pli['rhill'].values, file=plfile) + else: + print(pli['name'].values, pli['Gmass'].values, file=plfile) + print(pli['radius'].values, file=plfile) + if param['IN_FORM'] == 'XV': + print(pli['xhx'].values, pli['xhy'].values, pli['xhz'].values, file=plfile) + print(pli['vhx'].values, pli['vhy'].values, pli['vhz'].values, file=plfile) + elif param['IN_FORM'] == 'EL': + print(pli['a'].values, pli['e'].values, pli['inc'].values, file=plfile) + print(pli['capom'].values, pli['omega'].values, pli['capm'].values, file=plfile) else: - print(i.values, pli['GMass'].values, file=plfile) - print(pli['Radius'].values, file=plfile) - print(pli['px'].values, pli['py'].values, pli['pz'].values, file=plfile) - print(pli['vx'].values, pli['vy'].values, pli['vz'].values, file=plfile) + print(f"{param['IN_FORM']} is not a valid input format type.") + if param['ROTATION'] == 'YES': + print(pli['Ip1'].values, pli['Ip2'].values, pli['Ip3'].values, file=plfile) + print(pli['rotx'].values, pli['roty'].values, pli['rotz'].values, file=plfile) plfile.close() # TP file @@ -773,9 +870,15 @@ def swiftest_xr2infile(ds, param, framenum=-1): print(tp.id.count().values, file=tpfile) for i in tp.id: tpi = tp.sel(id=i) - print(i.values, file=tpfile) - print(tpi['px'].values, tpi['py'].values, tpi['pz'].values, file=tpfile) - print(tpi['vx'].values, tpi['vy'].values, tpi['vz'].values, file=tpfile) + print(tpi['name'].values, file=tpfile) + if param['IN_FORM'] == 'XV': + print(tpi['xhx'].values, tpi['xhy'].values, tpi['xhz'].values, file=tpfile) + print(tpi['vhx'].values, tpi['vhy'].values, tpi['vhz'].values, file=tpfile) + elif param['IN_FORM'] == 'EL': + print(tpi['a'].values, tpi['e'].values, tpi['inc'].values, file=tpfile) + print(tpi['capom'].values, tpi['omega'].values, tpi['capm'].values, file=tpfile) + else: + print(f"{param['IN_FORM']} is not a valid input format type.") tpfile.close() elif param['IN_TYPE'] == 'REAL8': # Now make Swiftest files @@ -785,51 +888,85 @@ def swiftest_xr2infile(ds, param, framenum=-1): cbfile.write_record(np.double(RSun)) cbfile.write_record(np.double(J2)) cbfile.write_record(np.double(J4)) + if param['ROTATION'] == 'YES': + cbfile.write_record(np.double(Ip1cb)) + cbfile.write_record(np.double(Ip2cb)) + cbfile.write_record(np.double(Ip3cb)) + cbfile.write_record(np.double(rotxcb)) + cbfile.write_record(np.double(rotycb)) + cbfile.write_record(np.double(rotzcb)) + cbfile.close() plfile = FortranFile(param['PL_IN'], 'w') npl = pl.id.count().values plid = pl.id.values - px = pl['px'].values - py = pl['py'].values - pz = pl['pz'].values - vx = pl['vx'].values - vy = pl['vy'].values - vz = pl['vz'].values - Gmass = pl['GMass'].values - radius = pl['Radius'].values + if param['IN_FORM'] == 'XV': + v1 = pl['xhx'].values + v2 = pl['xhy'].values + v3 = pl['xhz'].values + v4 = pl['vhx'].values + v5 = pl['vhy'].values + v6 = pl['vhz'].values + elif param['IN_FORM'] == 'EL': + v1 = pl['a'].values + v2 = pl['e'].values + v3 = pl['inc'].values + v4 = pl['capom'].values + v5 = pl['omega'].values + v6 = pl['capm'].values + else: + print(f"{param['IN_FORM']} is not a valid input format type.") + Gmass = pl['Gmass'].values + radius = pl['radius'].values plfile.write_record(npl) plfile.write_record(plid) - plfile.write_record(px) - plfile.write_record(py) - plfile.write_record(pz) - plfile.write_record(vx) - plfile.write_record(vy) - plfile.write_record(vz) + plfile.write_record(v1) + plfile.write_record(v2) + plfile.write_record(v3) + plfile.write_record(v4) + plfile.write_record(v5) + plfile.write_record(v6) plfile.write_record(Gmass) if param['RHILL_PRESENT'] == 'YES': - rhill = pl['Rhill'].values - plfile.write_record(rhill) + plfile.write_record(pl['rhill'].values) plfile.write_record(radius) + if param['ROTATION'] == 'YES': + plfile.write_record(pl['Ip1'].values) + plfile.write_record(pl['Ip2'].values) + plfile.write_record(pl['Ip3'].values) + plfile.write_record(pl['rotx'].values) + plfile.write_record(pl['roty'].values) + plfile.write_record(pl['rotz'].values) plfile.close() tpfile = FortranFile(param['TP_IN'], 'w') ntp = tp.id.count().values tpid = tp.id.values - px = tp['px'].values - py = tp['py'].values - pz = tp['pz'].values - vx = tp['vx'].values - vy = tp['vy'].values - vz = tp['vz'].values + if param['IN_FORM'] == 'XV': + v1 = tp['xhx'].values + v2 = tp['xhy'].values + v3 = tp['xhz'].values + v4 = tp['vhx'].values + v5 = tp['vhy'].values + v6 = tp['vhz'].values + elif param['IN_FORM'] == 'EL': + v1 = tp['a'].values + v2 = tp['e'].values + v3 = tp['inc'].values + v4 = tp['capom'].values + v5 = tp['omega'].values + v6 = tp['capm'].values + else: + print(f"{param['IN_FORM']} is not a valid input format type.") tpfile.write_record(ntp) tpfile.write_record(tpid) - tpfile.write_record(px) - tpfile.write_record(py) - tpfile.write_record(pz) - tpfile.write_record(vx) - tpfile.write_record(vy) - tpfile.write_record(vz) + tpfile.write_record(v1) + tpfile.write_record(v2) + tpfile.write_record(v3) + tpfile.write_record(v4) + tpfile.write_record(v5) + tpfile.write_record(v6) else: print(f"{param['IN_TYPE']} is an unknown file type") @@ -854,11 +991,11 @@ def swifter_xr2infile(ds, param, framenum=-1): frame = ds.isel(time=framenum) cb = frame.where(frame.id == 0, drop=True) pl = frame.where(frame.id > 0, drop=True) - pl = pl.where(np.invert(np.isnan(pl['GMass'])), drop=True).drop_vars(['J_2', 'J_4']) - tp = frame.where(np.isnan(frame['GMass']), drop=True).drop_vars(['GMass', 'Radius', 'J_2', 'J_4']) + pl = pl.where(np.invert(np.isnan(pl['Gmass'])), drop=True).drop_vars(['J_2', 'J_4']) + tp = frame.where(np.isnan(frame['Gmass']), drop=True).drop_vars(['Gmass', 'radius', 'J_2', 'J_4']) - GMSun = np.double(cb['GMass']) - RSun = np.double(cb['Radius']) + GMSun = np.double(cb['Gmass']) + RSun = np.double(cb['radius']) param['J2'] = np.double(cb['J_2']) param['J4'] = np.double(cb['J_4']) @@ -866,19 +1003,19 @@ def swifter_xr2infile(ds, param, framenum=-1): # Swiftest Central body file plfile = open(param['PL_IN'], 'w') print(pl.id.count().values + 1, file=plfile) - print(cb.id.values[0], cb['GMass'].values[0], file=plfile) + print(cb.id.values[0], GMSun, file=plfile) print('0.0 0.0 0.0', file=plfile) print('0.0 0.0 0.0', file=plfile) for i in pl.id: pli = pl.sel(id=i) if param['RHILL_PRESENT'] == "YES": - print(i.values, pli['GMass'].values, pli['Rhill'].values, file=plfile) + print(i.values, pli['Gmass'].values, pli['rhill'].values, file=plfile) else: - print(i.values, pli['GMass'].values, file=plfile) + print(i.values, pli['Gmass'].values, file=plfile) if param['CHK_CLOSE'] == "YES": - print(pli['Radius'].values, file=plfile) - print(pli['px'].values, pli['py'].values, pli['pz'].values, file=plfile) - print(pli['vx'].values, pli['vy'].values, pli['vz'].values, file=plfile) + print(pli['radius'].values, file=plfile) + print(pli['xhx'].values, pli['xhy'].values, pli['xhz'].values, file=plfile) + print(pli['vhx'].values, pli['vhy'].values, pli['vhz'].values, file=plfile) plfile.close() # TP file @@ -887,8 +1024,8 @@ def swifter_xr2infile(ds, param, framenum=-1): for i in tp.id: tpi = tp.sel(id=i) print(i.values, file=tpfile) - print(tpi['px'].values, tpi['py'].values, tpi['pz'].values, file=tpfile) - print(tpi['vx'].values, tpi['vy'].values, tpi['vz'].values, file=tpfile) + print(tpi['xhx'].values, tpi['xhy'].values, tpi['xhz'].values, file=tpfile) + print(tpi['vhx'].values, tpi['vhy'].values, tpi['vhz'].values, file=tpfile) tpfile.close() else: # Now make Swiftest files @@ -1024,14 +1161,14 @@ def swift2swifter(swift_param, plname="", tpname="", conversion_questions={}): i_list = [i for i in line.split(" ") if i.strip()] GMpl = real2float(i_list[0]) if isSyMBA: - Rhill = real2float(i_list[1]) + rhill = real2float(i_list[1]) if swift_param['LCLOSE'] == "T": plrad = real2float(i_list[2]) else: if swift_param['LCLOSE'] == "T": plrad = real2float(i_list[1]) if swifter_param['RHILL_PRESENT'] == 'YES': - print(n + 1, GMpl, Rhill, file=plnew) + print(n + 1, GMpl, rhill, file=plnew) else: print(n + 1, GMpl, file=plnew) if swifter_param['CHK_CLOSE'] == 'YES': @@ -1044,10 +1181,10 @@ def swift2swifter(swift_param, plname="", tpname="", conversion_questions={}): print(xh, yh, zh, file=plnew) line = plold.readline() i_list = [i for i in line.split(" ") if i.strip()] - vx = real2float(i_list[0]) - vy = real2float(i_list[1]) - vz = real2float(i_list[2]) - print(vx, vy, vz, file=plnew) + vhx = real2float(i_list[0]) + vhy = real2float(i_list[1]) + vhz = real2float(i_list[2]) + print(vhx, vhy, vhz, file=plnew) plnew.close() plold.close() except IOError: @@ -1083,10 +1220,10 @@ def swift2swifter(swift_param, plname="", tpname="", conversion_questions={}): print(xh, yh, zh, file=tpnew) line = tpold.readline() i_list = [i for i in line.split(" ") if i.strip()] - vx = real2float(i_list[0]) - vy = real2float(i_list[1]) - vz = real2float(i_list[2]) - print(vx, vy, vz, file=tpnew) + vhx = real2float(i_list[0]) + vhy = real2float(i_list[1]) + vhz = real2float(i_list[2]) + print(vhx, vhy, vhz, file=tpnew) # Ignore STAT lines line = tpold.readline() line = tpold.readline() @@ -1134,8 +1271,8 @@ def swifter2swiftest(swifter_param, plname="", tpname="", cbname="", conversion_ idnum = int(i_list[0]) GMpl = real2float(i_list[1]) if swifter_param['RHILL_PRESENT'] == 'YES': - Rhill = real2float(i_list[2]) - print(idnum, GMpl, Rhill, file=plnew) + rhill = real2float(i_list[2]) + print(idnum, GMpl, rhill, file=plnew) else: print(idnum, GMpl, file=plnew) if swifter_param['CHK_CLOSE'] == 'YES': @@ -1151,10 +1288,10 @@ def swifter2swiftest(swifter_param, plname="", tpname="", cbname="", conversion_ print(xh, yh, zh, file=plnew) line = plold.readline() i_list = [i for i in line.split(" ") if i.strip()] - vx = real2float(i_list[0]) - vy = real2float(i_list[1]) - vz = real2float(i_list[2]) - print(vx, vy, vz, file=plnew) + vhx = real2float(i_list[0]) + vhy = real2float(i_list[1]) + vhz = real2float(i_list[2]) + print(vhx, vhy, vhz, file=plnew) plnew.close() plold.close() except IOError: @@ -1195,10 +1332,10 @@ def swifter2swiftest(swifter_param, plname="", tpname="", cbname="", conversion_ print(xh, yh, zh, file=tpnew) line = tpold.readline() i_list = [i for i in line.split(" ") if i.strip()] - vx = real2float(i_list[0]) - vy = real2float(i_list[1]) - vz = real2float(i_list[2]) - print(vx, vy, vz, file=tpnew) + vhx = real2float(i_list[0]) + vhy = real2float(i_list[1]) + vhz = real2float(i_list[2]) + print(vhx, vhy, vhz, file=tpnew) tpold.close() tpnew.close() @@ -1366,4 +1503,53 @@ def swiftest2swifter_param(swiftest_param, J2=0.0, J4=0.0): swifter_param['OUT_STAT'] = "UNKNOWN" swifter_param['! VERSION'] = "Swifter parameter file converted from Swiftest" - return swifter_param \ No newline at end of file + return swifter_param + + +def swifter2swift_param(swifter_param, J2=0.0, J4=0.0): + swift_param = { + '! VERSION': f"Swift parameter input file converted from Swifter", + 'T0': 0.0, + 'TSTOP': 0.0, + 'DT': 0.0, + 'DTOUT': 0.0, + 'DTDUMP': 0.0, + 'L1': "F", + 'L1': "F", + 'L2': "F", + 'L3': "F", + 'L4': "F", + 'L5': "T", + 'L6': "F", + 'RMIN': -1, + 'RMAX': -1, + 'RMAXU': -1, + 'QMIN': -1, + 'LCLOSE': "F", + 'BINARY_OUTPUTFILE': "bin.dat", + 'STATUS_FLAG_FOR_OPEN_STATEMENTS': "NEW", + } + + swift_param['T0'] = swifter_param['T0'] + swift_param['TSTOP'] = swifter_param['TSTOP'] + swift_param['DT'] = swifter_param['DT'] + # Convert the parameter file values + swift_param['DTOUT'] = swifter_param['ISTEP_OUT'] * swifter_param['DT'] + swift_param['DTDUMP'] = swifter_param['ISTEP_DUMP'] * swifter_param['DT'] + swift_param['BINARY_OUTPUTFILE'] = swifter_param['BIN_OUT'] + swift_param['STATUS_FLAG_FOR_OPEN_STATEMENTS'] = swifter_param['OUT_STAT'] + + if swifter_param['CHK_CLOSE'] == "YES": + swift_param['LCLOSE'] = "T" + else: + swift_param['LCLOSE'] = "F" + + swift_param['RMIN'] = swifter_param['CHK_RMIN'] + swift_param['RMAX'] = swifter_param['CHK_RMAX'] + swift_param['QMIN'] = swifter_param['CHK_QMIN'] + + if swift_param['RMIN'] > 0 or swift_param['RMAX'] > 0 or swift_param['QMIN'] > 0: + swift_param['L2'] = 'T' + + + return swift_param \ No newline at end of file diff --git a/python/swiftest/swiftest/simulation_class.py b/python/swiftest/swiftest/simulation_class.py index fc5075ab9..b2736c96d 100644 --- a/python/swiftest/swiftest/simulation_class.py +++ b/python/swiftest/swiftest/simulation_class.py @@ -4,6 +4,7 @@ from swiftest import constants from datetime import date import xarray as xr +import numpy as np class Simulation: """ @@ -20,18 +21,19 @@ def __init__(self, codename="Swiftest", param_file=""): 'TP_IN': "tp.in", 'CB_IN': "cb.in", 'IN_TYPE': "ASCII", + 'IN_FORM': "EL", 'ISTEP_OUT': "1", 'ISTEP_DUMP': "1", - 'BIN_OUT': "bin.dat", - 'OUT_TYPE': 'REAL8', - 'OUT_FORM': "EL", + 'BIN_OUT': "bin.nc", + 'OUT_TYPE': 'NETCDF_DOUBLE', + 'OUT_FORM': "XVEL", 'OUT_STAT': "REPLACE", - 'CHK_RMAX': "1000.0", - 'CHK_EJECT': "1000.0", - 'CHK_RMIN': constants.RSun / constants.AU2M, - 'CHK_QMIN': constants.RSun / constants.AU2M, + 'CHK_RMAX': "-1.0", + 'CHK_EJECT': "-1.0", + 'CHK_RMIN': "-1.0", + 'CHK_QMIN': "-1.0", 'CHK_QMIN_COORD': "HELIO", - 'CHK_QMIN_RANGE': f"{constants.RSun / constants.AU2M} 1000.0", + 'CHK_QMIN_RANGE': "-1.0 -1.0", 'ENC_OUT': "enc.dat", 'MU2KG': constants.MSun, 'TU2S': constants.JD2S, @@ -72,6 +74,37 @@ def add(self, plname, date=date.today().isoformat(), idval=None): return + def addp(self, idvals, namevals, t1, t2, t3, t4, t5, t6, GMpl=None, Rpl=None, rhill=None, Ip1=None, Ip2=None, Ip3=None, rotx=None, roty=None, rotz=None): + """ + Adds a body (test particle or massive body) to the internal DataSet given a set up 6 vectors (orbital elements + or cartesian state vectors, depending on the value of self.param). Input all angles in degress + + Parameters + ---------- + idvals : Integer array of body index values. + t1 : xh for param['IN_FORM'] == "XV"; a for param['IN_FORM'] == "EL" + t2 : yh for param['IN_FORM'] == "XV"; e for param['IN_FORM'] == "EL" + t3 : zh for param['IN_FORM'] == "XV"; inc for param['IN_FORM'] == "EL" + t4 : vhxh for param['IN_FORM'] == "XV"; capom for param['IN_FORM'] == "EL" + t5 : vhyh for param['IN_FORM'] == "XV"; omega for param['IN_FORM'] == "EL" + t6 : vhzh for param['IN_FORM'] == "XV"; capm for param['IN_FORM'] == "EL" + Gmass : Optional: Array of G*mass values if these are massive bodies + radius : Optional: Array radius values if these are massive bodies + rhill : Optional: Array rhill values if these are massive bodies + Ip1,y,z : Optional: Principal axes moments of inertia + rotx,y,z: Optional: Rotation rate vector components + Returns + ------- + self.ds : xarray dataset + """ + t = self.param['T0'] + + dsnew = init_cond.vec2xr(self.param, idvals, namevals, t1, t2, t3, t4, t5, t6, GMpl, Rpl, rhill, Ip1, Ip2, Ip3, rotx, roty, rotz, t) + if dsnew is not None: + self.ds = xr.combine_by_coords([self.ds, dsnew]) + return + + def read_param(self, param_file, codename="Swiftest"): if codename == "Swiftest": self.param = io.read_swiftest_param(param_file, self.param) diff --git a/python/swiftest/swiftest/tool.py b/python/swiftest/swiftest/tool.py index a96610bc2..efdc82a8b 100644 --- a/python/swiftest/swiftest/tool.py +++ b/python/swiftest/swiftest/tool.py @@ -8,10 +8,10 @@ """ def wrap_angle(angle): - while np.any(angle >= 2 * np.pi): - angle[angle >= 2 * np.pi] -= 2 * np.pi + while np.any(angle >= 360.0 ): + angle[angle >= 360.0] -= 360.0 while np.any(angle < 0.0): - angle[angle < 0.0] += 2 * np.pi + angle[angle < 0.0] += 360.0 return angle def follow_swift(ds, ifol=None, nskp=None): @@ -38,11 +38,11 @@ def follow_swift(ds, ifol=None, nskp=None): ifol = int(intxt) print(f"Following particle {ifol}") if ifol < 0: # Negative numbers are planets - fol = ds.where(np.invert(np.isnan(ds['GMass'])), drop=True) + fol = ds.where(np.invert(np.isnan(ds['Gmass'])), drop=True) fol = fol.where(np.invert(np.isnan(fol['a'])), drop=True) # Remove times where this body doesn't exist (but this also gets rid of the central body) fol = fol.isel(id = -ifol - 2) # Take 1 off for 0-indexed arrays in Python, and take 1 more off because the central body is gone elif ifol > 0: # Positive numbers are test particles - fol = ds.where(np.isnan(ds['GMass']), drop=True).drop_vars(['GMass', 'Radius']) + fol = ds.where(np.isnan(ds['Gmass']), drop=True).drop_vars(['Gmass', 'radius']) fol = fol.where(np.invert(np.isnan(fol['a'])), drop=True) fol = fol.isel(id = ifol - 1) # Take 1 off for 0-indexed arrays in Python @@ -50,15 +50,9 @@ def follow_swift(ds, ifol=None, nskp=None): intxt = input('Input the print frequency\n') nskp = int(intxt) - dr = 180.0 / np.pi fol['obar'] = fol['capom'] + fol['omega'] fol['obar'] = fol['obar'].fillna(0) fol['obar'] = wrap_angle(fol['obar']) - fol['obar'] = fol['obar'] * dr - fol['inc'] = fol['inc'] * dr - fol['capom'] = fol['capom'] * dr - fol['omega'] = fol['omega'] * dr - fol['capm'] = fol['capm'] * dr fol['peri'] = fol['a'] * (1.0 - fol['e']) fol['apo'] = fol['a'] * (1.0 + fol['e']) diff --git a/src/discard/discard.f90 b/src/discard/discard.f90 index 9c8044c61..2ee3dafec 100644 --- a/src/discard/discard.f90 +++ b/src/discard/discard.f90 @@ -31,7 +31,7 @@ module subroutine discard_system(self, param) end if if (lpl_discards .or. ltp_discards) call system%write_discard(param) - if (lpl_discards .and. param%lenergy) call self%conservation_report(param, lterminal=.true.) + if (lpl_discards .and. param%lenergy) call self%conservation_report(param, lterminal=.false.) if (lpl_check) call pl_discards%setup(0,param) if (ltp_check) call tp_discards%setup(0,param) @@ -53,7 +53,7 @@ module subroutine discard_pl(self, system, param) class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameter if (self%nbody == 0) return - self%ldiscard(:) = .false. + self%ldiscard(1:self%nbody) = .false. return end subroutine discard_pl @@ -73,9 +73,12 @@ module subroutine discard_tp(self, system, param) class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameter ! Internals logical, dimension(:), allocatable :: ldiscard + integer(I4B) :: npl, ntp - associate(tp => self, ntp => self%nbody, cb => system%cb, pl => system%pl, npl => system%pl%nbody) + associate(tp => self, cb => system%cb, pl => system%pl) if ((ntp == 0) .or. (npl ==0)) return + ntp = tp%nbody + npl = pl%nbody if ((param%rmin >= 0.0_DP) .or. (param%rmax >= 0.0_DP) .or. & (param%rmaxu >= 0.0_DP) .or. ((param%qmin >= 0.0_DP) .and. (param%qmin_coord == "BARY"))) then @@ -86,9 +89,9 @@ module subroutine discard_tp(self, system, param) if ((param%rmin >= 0.0_DP) .or. (param%rmax >= 0.0_DP) .or. (param%rmaxu >= 0.0_DP)) call discard_cb_tp(tp, system, param) if (param%qmin >= 0.0_DP) call discard_peri_tp(tp, system, param) if (param%lclose) call discard_pl_tp(tp, system, param) - if (any(tp%ldiscard)) then + if (any(tp%ldiscard(1:ntp))) then allocate(ldiscard, source=tp%ldiscard) - call tp%spill(system%tp_discards, ldiscard, ldestructive=.true.) + call tp%spill(system%tp_discards, ldiscard(1:ntp), ldestructive=.true.) end if end associate @@ -112,8 +115,9 @@ subroutine discard_cb_tp(tp, system, param) ! Internals integer(I4B) :: i real(DP) :: energy, vb2, rb2, rh2, rmin2, rmax2, rmaxu2 + character(len=STRMAX) :: idstr, timestr - associate(ntp => tp%nbody, cb => system%cb, t => param%t, Gmtot => system%Gmtot) + associate(ntp => tp%nbody, cb => system%cb, Gmtot => system%Gmtot) rmin2 = max(param%rmin * param%rmin, cb%radius * cb%radius) rmax2 = param%rmax**2 rmaxu2 = param%rmaxu**2 @@ -122,23 +126,32 @@ subroutine discard_cb_tp(tp, system, param) rh2 = dot_product(tp%xh(:, i), tp%xh(:, i)) if ((param%rmax >= 0.0_DP) .and. (rh2 > rmax2)) then tp%status(i) = DISCARDED_RMAX - write(*, *) "Particle ", tp%id(i), " too far from sun at t = ", t + write(idstr, *) tp%id(i) + write(timestr, *) param%t + write(*, *) "Particle " // trim(adjustl(tp%info(i)%name)) // " (" // trim(adjustl(idstr)) // ")" // " too far from the central body at t = " // trim(adjustl(timestr)) tp%ldiscard(i) = .true. tp%lmask(i) = .false. + call tp%info(i)%set_value(status="DISCARDED_RMAX", discard_time=param%t, discard_xh=tp%xh(:,i), discard_vh=tp%vh(:,i)) else if ((param%rmin >= 0.0_DP) .and. (rh2 < rmin2)) then tp%status(i) = DISCARDED_RMIN - write(*, *) "Particle ", tp%id(i), " too close to sun at t = ", t + write(idstr, *) tp%id(i) + write(timestr, *) param%t + write(*, *) "Particle " // trim(adjustl(tp%info(i)%name)) // " (" // trim(adjustl(idstr)) // ")" // " too close to the central body at t = " // trim(adjustl(timestr)) tp%ldiscard(i) = .true. tp%lmask(i) = .false. + call tp%info(i)%set_value(status="DISCARDED_RMIN", discard_time=param%t, discard_xh=tp%xh(:,i), discard_vh=tp%vh(:,i), discard_body_id=cb%id) else if (param%rmaxu >= 0.0_DP) then rb2 = dot_product(tp%xb(:, i), tp%xb(:, i)) vb2 = dot_product(tp%vb(:, i), tp%vb(:, i)) energy = 0.5_DP * vb2 - Gmtot / sqrt(rb2) if ((energy > 0.0_DP) .and. (rb2 > rmaxu2)) then tp%status(i) = DISCARDED_RMAXU - write(*, *) "Particle ", tp%id(i), " is unbound and too far from barycenter at t = ", t + write(idstr, *) tp%id(i) + write(timestr, *) param%t + write(*, *) "Particle " // trim(adjustl(tp%info(i)%name)) // " (" // trim(adjustl(idstr)) // ")" // " is unbound and too far from barycenter at t = " // trim(adjustl(timestr)) tp%ldiscard(i) = .true. tp%lmask(i) = .false. + call tp%info(i)%set_value(status="DISCARDED_RMAXU", discard_time=param%t, discard_xh=tp%xh(:,i), discard_vh=tp%vh(:,i)) end if end if end if @@ -166,6 +179,7 @@ subroutine discard_peri_tp(tp, system, param) integer(I4B) :: i, j, ih real(DP) :: r2 real(DP), dimension(NDIM) :: dx + character(len=STRMAX) :: idstr, timestr associate(cb => system%cb, ntp => tp%nbody, pl => system%pl, npl => system%pl%nbody, t => param%t) call tp%get_peri(system, param) @@ -183,8 +197,11 @@ subroutine discard_peri_tp(tp, system, param) (tp%atp(i) <= param%qmin_ahi) .and. & (tp%peri(i) <= param%qmin)) then tp%status(i) = DISCARDED_PERI - write(*, *) "Particle ", tp%id(i), " perihelion distance too small at t = ", t + write(idstr, *) tp%id(i) + write(timestr, *) param%t + write(*, *) "Particle " // trim(adjustl(tp%info(i)%name)) // " (" // trim(adjustl(idstr)) // ")" // " perihelion distance too small at t = " // trim(adjustl(timestr)) tp%ldiscard(i) = .true. + call tp%info(i)%set_value(status="DISCARDED_PERI", discard_time=param%t, discard_xh=tp%xh(:,i), discard_vh=tp%vh(:,i), discard_body_id=pl%id(j)) end if end if end if @@ -212,6 +229,7 @@ subroutine discard_pl_tp(tp, system, param) integer(I4B) :: i, j, isp real(DP) :: r2min, radius real(DP), dimension(NDIM) :: dx, dv + character(len=STRMAX) :: idstri, idstrj, timestr associate(ntp => tp%nbody, pl => system%pl, npl => system%pl%nbody, t => param%t, dt => param%dt) do i = 1, ntp @@ -225,8 +243,14 @@ subroutine discard_pl_tp(tp, system, param) tp%status(i) = DISCARDED_PLR tp%lmask(i) = .false. pl%ldiscard(j) = .true. - write(*, *) "Particle ", tp%id(i), " too close to massive body ", pl%id(j), " at t = ", t + write(idstri, *) tp%id(i) + write(idstrj, *) pl%id(j) + write(timestr, *) param%t + write(*, *) "Test particle " // trim(adjustl(tp%info(i)%name)) // " (" // trim(adjustl(idstri)) // ")" & + // " too close to massive body " // trim(adjustl(pl%info(i)%name)) // " (" // trim(adjustl(idstrj)) & + // " at t = " // trim(adjustl(timestr)) tp%ldiscard(i) = .true. + call tp%info(i)%set_value(status="DISCARDED_PLR", discard_time=param%t, discard_xh=tp%xh(:,i), discard_vh=tp%vh(:,i), discard_body_id=pl%id(j)) exit end if end do diff --git a/src/eucl/eucl.f90 b/src/eucl/eucl.f90 deleted file mode 100644 index af1646e4c..000000000 --- a/src/eucl/eucl.f90 +++ /dev/null @@ -1,38 +0,0 @@ -submodule (swiftest_classes) s_eucl - use swiftest -contains - - module subroutine eucl_dist_index_plpl(self) - !! author: Jacob R. Elliott and David A. Minton - !! - !! Turns i,j indices into k index for use in the Euclidean distance matrix - !! - !! Reference: - !! - !! Mélodie Angeletti, Jean-Marie Bonny, Jonas Koko. Parallel Euclidean distance matrix computation on big datasets *. - !! 2019. hal-0204751 - implicit none - ! Arguments - class(swiftest_pl), intent(inout) :: self !! Swiftest massive body objec - ! Internals - integer(I8B) :: i, j, counter, npl - - npl = int(self%nbody, kind=I8B) - associate(nplpl => self%nplpl) - nplpl = (npl * (npl - 1) / 2) ! number of entries in a strict lower triangle, nplm x npl, minus first column - if (allocated(self%k_plpl)) deallocate(self%k_plpl) ! Reset the index array if it's been set previously - allocate(self%k_plpl(2, nplpl)) - do i = 1, npl - counter = (i - 1_I8B) * npl - i * (i - 1_I8B) / 2_I8B + 1_I8B - do j = i + 1_I8B, npl - self%k_plpl(1, counter) = i - self%k_plpl(2, counter) = j - counter = counter + 1_I8B - end do - end do - end associate - - return - end subroutine eucl_dist_index_plpl - - end submodule s_eucl diff --git a/src/fraggle/fraggle_generate.f90 b/src/fraggle/fraggle_generate.f90 new file mode 100644 index 000000000..6f7ccb7a3 --- /dev/null +++ b/src/fraggle/fraggle_generate.f90 @@ -0,0 +1,567 @@ +submodule(fraggle_classes) s_fraggle_generate + use swiftest + + integer(I4B), parameter :: NFRAG_MIN = 7 !! The minimum allowable number of fragments (set to 6 because that's how many unknowns are needed in the tangential velocity calculation) + real(DP), parameter :: F_SPIN_FIRST = 0.05_DP !! The initial try value of the fraction of energy or momenum in spin (whichever has the lowest kinetic energy) + real(DP), parameter :: FRAGGLE_LTOL = 10 * epsilon(1.0_DP) + real(DP), parameter :: FRAGGLE_ETOL = 1e-8_DP + +contains + + module subroutine fraggle_generate_fragments(self, colliders, system, param, lfailure) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Generates a system of fragments in barycentric coordinates that conserves energy and momentum. + use, intrinsic :: ieee_exceptions + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle system object the outputs will be the fragmentation + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle colliders object containing the two-body equivalent values of the colliding bodies + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + logical, intent(out) :: lfailure !! Answers the question: Should this have been a merger instead? + ! Internals + integer(I4B) :: i + integer(I4B) :: try + real(DP) :: r_max_start, f_spin, dEtot, dLmag + integer(I4B), parameter :: MAXTRY = 100 + logical :: lk_plpl + logical, dimension(size(IEEE_ALL)) :: fpe_halting_modes, fpe_quiet_modes + logical, dimension(size(IEEE_USUAL)) :: fpe_flag + character(len=STRMAX) :: message + + ! The minimization and linear solvers can sometimes lead to floating point exceptions. Rather than halting the code entirely if this occurs, we + ! can simply fail the attempt and try again. So we need to turn off any floating point exception halting modes temporarily + call ieee_get_halting_mode(IEEE_ALL,fpe_halting_modes) ! Save the current halting modes so we can turn them off temporarily + fpe_quiet_modes(:) = .false. + call ieee_set_halting_mode(IEEE_ALL,fpe_quiet_modes) + + associate(frag => self, nfrag => self%nbody, pl => system%pl) + + write(message,*) nfrag + call fraggle_io_log_one_message("Fraggle generating " // trim(adjustl(message)) // " fragments.") + if (nfrag < NFRAG_MIN) then + write(message,*) "Fraggle needs at least ",NFRAG_MIN," fragments, but only ",nfrag," were given." + call fraggle_io_log_one_message(message) + lfailure = .true. + return + end if + f_spin = F_SPIN_FIRST + + lk_plpl = allocated(pl%k_plpl) + if (lk_plpl) deallocate(pl%k_plpl) + + call frag%set_natural_scale(colliders) + + call frag%reset() + + ! Calculate the initial energy of the system without the collisional family + call frag%get_energy_and_momentum(colliders, system, param, lbefore=.true.) + + ! Start out the fragments close to the initial separation distance. This will be increased if there is any overlap or we fail to find a solution + r_max_start = 1 * norm2(colliders%xb(:,2) - colliders%xb(:,1)) + lfailure = .false. + try = 1 + do while (try < MAXTRY) + write(message,*) try + call fraggle_io_log_one_message("Fraggle try " // trim(adjustl(message))) + if (lfailure) then + call frag%restructure(colliders, try, f_spin, r_max_start) + call frag%reset() + try = try + 1 + end if + + lfailure = .false. + call ieee_set_flag(ieee_all, .false.) ! Set all fpe flags to quiet + + call fraggle_generate_pos_vec(frag, colliders, r_max_start) + call frag%set_coordinate_system(colliders) + + ! Initial velocity guess will be the barycentric velocity of the colliding system so that the budgets are based on the much smaller collisional-frame velocities + do concurrent (i = 1:nfrag) + frag%vb(:, i) = frag%vbcom(:) + end do + + call frag%get_energy_and_momentum(colliders, system, param, lbefore=.false.) + call frag%set_budgets(colliders) + + call fraggle_generate_spins(frag, colliders, f_spin, lfailure) + if (lfailure) then + call fraggle_io_log_one_message("Fraggle failed to find spins") + cycle + end if + + call fraggle_generate_tan_vel(frag, colliders, lfailure) + if (lfailure) then + call fraggle_io_log_one_message("Fraggle failed to find tangential velocities") + cycle + end if + + call fraggle_generate_rad_vel(frag, colliders, lfailure) + if (lfailure) then + call fraggle_io_log_one_message("Fraggle failed to find radial velocities") + cycle + end if + + call frag%get_energy_and_momentum(colliders, system, param, lbefore=.false.) + dEtot = frag%Etot_after - frag%Etot_before + dLmag = .mag. (frag%Ltot_after(:) - frag%Ltot_before(:)) + + lfailure = ((abs(dEtot + frag%Qloss) > FRAGGLE_ETOL) .or. (dEtot > 0.0_DP)) + if (lfailure) then + write(message, *) dEtot, abs(dEtot + frag%Qloss) / FRAGGLE_ETOL + call fraggle_io_log_one_message("Fraggle failed due to high energy error: " // trim(adjustl(message))) + cycle + end if + + lfailure = ((abs(dLmag) / (.mag.frag%Ltot_before)) > FRAGGLE_LTOL) + if (lfailure) then + write(message,*) dLmag / (.mag.frag%Ltot_before(:)) + call fraggle_io_log_one_message("Fraggle failed due to high angular momentum error: " // trim(adjustl(message))) + cycle + end if + + ! Check if any of the usual floating point exceptions happened, and fail the try if so + call ieee_get_flag(ieee_usual, fpe_flag) + lfailure = any(fpe_flag) + if (.not.lfailure) exit + write(message,*) "Fraggle failed due to a floating point exception: ", fpe_flag + call fraggle_io_log_one_message(message) + end do + + write(message,*) try + if (lfailure) then + call fraggle_io_log_one_message("Fraggle fragment generation failed after " // trim(adjustl(message)) // " tries") + else + call fraggle_io_log_one_message("Fraggle fragment generation succeeded after " // trim(adjustl(message)) // " tries") + call fraggle_io_log_generate(frag) + end if + + call frag%set_original_scale(colliders) + + ! Restore the big array + if (lk_plpl) call pl%index(param) + end associate + call ieee_set_halting_mode(IEEE_ALL,fpe_halting_modes) ! Save the current halting modes so we can turn them off temporarily + + return + end subroutine fraggle_generate_fragments + + + subroutine fraggle_generate_pos_vec(frag, colliders, r_max_start) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Initializes the orbits of the fragments around the center of mass. The fragments are initially placed on a plane defined by the + !! pre-impact angular momentum. They are distributed on an ellipse surrounding the center of mass. + !! The initial positions do not conserve energy or momentum, so these need to be adjusted later. + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + real(DP), intent(in) :: r_max_start !! Initial guess for the starting maximum radial distance of fragments + ! Internals + real(DP) :: dis, rad, r_max + logical, dimension(:), allocatable :: loverlap + integer(I4B) :: i, j + + associate(nfrag => frag%nbody) + allocate(loverlap(nfrag)) + + ! Place the fragments into a region that is big enough that we should usually not have overlapping bodies + ! An overlapping bodies will collide in the next time step, so it's not a major problem if they do (it just slows the run down) + r_max = r_max_start + rad = sum(colliders%radius(:)) + + ! We will treat the first two fragments of the list as special cases. They get initialized the maximum distances apart along the original impactor distance vector. + ! This is done because in a regular disruption, the first body is the largest, the second the second largest, and the rest are smaller equal-mass fragments. + + call random_number(frag%x_coll(:,3:nfrag)) + loverlap(:) = .true. + do while (any(loverlap(3:nfrag))) + frag%x_coll(:, 1) = colliders%xb(:, 1) - frag%xbcom(:) + frag%x_coll(:, 2) = colliders%xb(:, 2) - frag%xbcom(:) + r_max = r_max + 0.1_DP * rad + do i = 3, nfrag + if (loverlap(i)) then + call random_number(frag%x_coll(:,i)) + frag%x_coll(:, i) = 2 * (frag%x_coll(:, i) - 0.5_DP) * r_max + end if + end do + loverlap(:) = .false. + do j = 1, nfrag + do i = j + 1, nfrag + dis = norm2(frag%x_coll(:,j) - frag%x_coll(:,i)) + loverlap(i) = loverlap(i) .or. (dis <= (frag%radius(i) + frag%radius(j))) + end do + end do + end do + call fraggle_util_shift_vector_to_origin(frag%mass, frag%x_coll) + call frag%set_coordinate_system(colliders) + + do i = 1, nfrag + frag%xb(:,i) = frag%x_coll(:,i) + frag%xbcom(:) + end do + + frag%xbcom(:) = 0.0_DP + do i = 1, nfrag + frag%xbcom(:) = frag%xbcom(:) + frag%mass(i) * frag%xb(:,i) + end do + frag%xbcom(:) = frag%xbcom(:) / frag%mtot + end associate + + return + end subroutine fraggle_generate_pos_vec + + + subroutine fraggle_generate_spins(frag, colliders, f_spin, lfailure) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Calculates the spins of a collection of fragments such that they conserve angular momentum without blowing the fragment kinetic energy budget. + !! + !! A failure will trigger a restructuring of the fragments so we will try new values of the radial position distribution. + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragment system object + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + real(DP), intent(in) :: f_spin !! Fraction of energy or momentum that goes into spin (whichever gives the lowest kinetic energy) + logical, intent(out) :: lfailure !! Logical flag indicating whether this step fails or succeeds! + ! Internals + real(DP), dimension(NDIM) :: L_remainder, rot_L, rot_ke + integer(I4B) :: i + character(len=STRMAX) :: message + + associate(nfrag => frag%nbody) + lfailure = .false. + + ! Start the first two bodies with the same rotation as the original two impactors, then distribute the remaining angular momentum among the rest + L_remainder(:) = frag%L_budget(:) + frag%rot(:,:) = 0.0_DP + + frag%ke_spin = 0.0_DP + do i = 1, nfrag + ! Convert a fraction (f_spin) of either the remaining angular momentum or kinetic energy budget into spin, whichever gives the smaller rotation so as not to blow any budgets + rot_ke(:) = sqrt(2 * f_spin * frag%ke_budget / (nfrag * frag%mass(i) * frag%radius(i)**2 * frag%Ip(3, i))) * L_remainder(:) / norm2(L_remainder(:)) + rot_L(:) = f_spin * L_remainder(:) / (nfrag * frag%mass(i) * frag%radius(i)**2 * frag%Ip(3, i)) + if (norm2(rot_ke) < norm2(rot_L)) then + frag%rot(:,i) = rot_ke(:) + else + frag%rot(:, i) = rot_L(:) + end if + frag%ke_spin = frag%ke_spin + frag%mass(i) * frag%Ip(3, i) * frag%radius(i)**2 * dot_product(frag%rot(:, i), frag%rot(:, i)) + end do + frag%ke_spin = 0.5_DP * frag%ke_spin + + lfailure = ((frag%ke_budget - frag%ke_spin - frag%ke_orbit) < 0.0_DP) + + if (lfailure) then + call fraggle_io_log_one_message(" ") + call fraggle_io_log_one_message("Spin failure diagnostics") + write(message, *) frag%ke_budget + call fraggle_io_log_one_message("ke_budget : " // trim(adjustl(message))) + write(message, *) frag%ke_spin + call fraggle_io_log_one_message("ke_spin : " // trim(adjustl(message))) + write(message, *) frag%ke_orbit + call fraggle_io_log_one_message("ke_orbit : " // trim(adjustl(message))) + write(message, *) frag%ke_budget - frag%ke_spin - frag%ke_orbit + call fraggle_io_log_one_message("ke_remainder : " // trim(adjustl(message))) + end if + + end associate + + return + end subroutine fraggle_generate_spins + + + subroutine fraggle_generate_tan_vel(frag, colliders, lfailure) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Adjusts the tangential velocities and spins of a collection of fragments such that they conserve angular momentum without blowing the fragment kinetic energy budget. + !! This procedure works in several stages, with a goal to solve the angular and linear momentum constraints on the fragments, while still leaving a positive balance of + !! our fragment kinetic energy (frag%ke_budget) that we can put into the radial velocity distribution. + !! + !! The first thing we'll try to do is solve for the tangential velocities of the first 6 fragments, using angular and linear momentum as constraints and an initial + !! tangential velocity distribution for the remaining bodies (if there are any) that distributes their angular momentum equally between them. + !! If that doesn't work and we blow our kinetic energy budget, we will attempt to find a tangential velocity distribution that minimizes the kinetic energy while + !! conserving momentum. + !! + !! A failure will trigger a restructuring of the fragments so we will try new values of the radial position distribution. + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragment system object + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + logical, intent(out) :: lfailure !! Logical flag indicating whether this step fails or succeeds + ! Internals + integer(I4B) :: i + real(DP), parameter :: TOL_MIN = 1e-1_DP ! This doesn't have to be very accurate, as we really just want a tangential velocity distribution with less kinetic energy than our initial guess. + real(DP), parameter :: TOL_INIT = 1e-14_DP + real(DP), parameter :: VNOISE_MAG = 1e-3_DP !! Magnitude of the noise to apply to initial conditions to help minimizer find a solution in case of failure + integer(I4B), parameter :: MAXLOOP = 10 + real(DP) :: tol, ke_remainder + real(DP), dimension(:), allocatable :: v_t_initial + real(DP), dimension(frag%nbody) :: kefrag, vnoise + type(lambda_obj) :: spinfunc + type(lambda_obj_err) :: objective_function + real(DP), dimension(NDIM) :: Li, L_remainder, L_frag_tot + character(len=STRMAX) :: message + + associate(nfrag => frag%nbody) + lfailure = .false. + + allocate(v_t_initial, mold=frag%v_t_mag) + v_t_initial(:) = 0.0_DP + frag%v_coll(:,:) = 0.0_DP + + ! Next we will solve for the tangential component of the velocities that both conserves linear momentum and uses the remaining angular momentum not used in spin. + ! This will be done using a linear solver that solves for the tangential velocities of the first 6 fragments, constrained by the linear and angular momentum vectors, + ! which is embedded in a non-linear minimizer that will adjust the tangential velocities of the remaining i>6 fragments to minimize kinetic energy for a given momentum solution + ! The initial conditions fed to the minimizer for the fragments will be the remaining angular momentum distributed between the fragments. + call frag%get_ang_mtm() + L_remainder(:) = frag%L_budget(:) - frag%L_spin(:) + do i = 1, nfrag + v_t_initial(i) = norm2(L_remainder(:)) / ((nfrag - i + 1) * frag%mass(i) * norm2(frag%x_coll(:,i))) + Li(:) = frag%mass(i) * (frag%x_coll(:,i) .cross. (v_t_initial(i) * frag%v_t_unit(:, i))) + L_remainder(:) = L_remainder(:) - Li(:) + end do + + ! Find the local kinetic energy minimum for the system that conserves linear and angular momentum + objective_function = lambda_obj(tangential_objective_function, lfailure) + + tol = TOL_INIT + do while(tol < TOL_MIN) + frag%v_t_mag(7:nfrag) = util_minimize_bfgs(objective_function, nfrag-6, v_t_initial(7:nfrag), tol, MAXLOOP, lfailure) + ! Now that the KE-minimized values of the i>6 fragments are found, calculate the momentum-conserving solution for tangential velociteis + v_t_initial(7:nfrag) = frag%v_t_mag(7:nfrag) + if (.not.lfailure) exit + tol = tol * 2_DP ! Keep increasing the tolerance until we converge on a solution + call random_number(vnoise(1:nfrag)) ! Adding a bit of noise to the initial conditions helps it find a solution more often + vnoise(:) = 1.0_DP + VNOISE_MAG * (2 * vnoise(:) - 1._DP) + v_t_initial(:) = v_t_initial(:) * vnoise(:) + end do + frag%v_t_mag(1:nfrag) = solve_fragment_tan_vel(v_t_mag_input=v_t_initial(7:nfrag), lfailure=lfailure) + + ! Perform one final shift of the radial velocity vectors to align with the center of mass of the collisional system (the origin) + frag%vb(:,1:nfrag) = fraggle_util_vmag_to_vb(frag%v_r_mag(1:nfrag), frag%v_r_unit(:,1:nfrag), frag%v_t_mag(1:nfrag), frag%v_t_unit(:,1:nfrag), frag%mass(1:nfrag), frag%vbcom(:)) + do concurrent (i = 1:nfrag) + frag%v_coll(:,i) = frag%vb(:,i) - frag%vbcom(:) + end do + + ! Now do a kinetic energy budget check to make sure we are still within the budget. + kefrag = 0.0_DP + do concurrent(i = 1:nfrag) + kefrag(i) = frag%mass(i) * dot_product(frag%vb(:, i), frag%vb(:, i)) + end do + frag%ke_orbit = 0.5_DP * sum(kefrag(:)) + + ! If we are over the energy budget, flag this as a failure so we can try again + lfailure = ((frag%ke_budget - frag%ke_spin - frag%ke_orbit) < 0.0_DP) + if (lfailure) then + call fraggle_io_log_one_message(" ") + call fraggle_io_log_one_message("Tangential velocity failure diagnostics") + call frag%get_ang_mtm() + L_frag_tot = frag%L_spin(:) + frag%L_orbit(:) + write(message, *) .mag.(frag%L_budget(:) - L_frag_tot(:)) / (.mag.frag%Ltot_before(:)) + call fraggle_io_log_one_message("|L_remainder| : " // trim(adjustl(message))) + write(message, *) frag%ke_budget + call fraggle_io_log_one_message("ke_budget : " // trim(adjustl(message))) + write(message, *) frag%ke_spin + call fraggle_io_log_one_message("ke_spin : " // trim(adjustl(message))) + write(message, *) frag%ke_orbit + call fraggle_io_log_one_message("ke_tangential : " // trim(adjustl(message))) + write(message, *) frag%ke_budget - frag%ke_spin - frag%ke_orbit + call fraggle_io_log_one_message("ke_radial : " // trim(adjustl(message))) + end if + end associate + + return + + contains + function solve_fragment_tan_vel(lfailure, v_t_mag_input) result(v_t_mag_output) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Adjusts the positions, velocities, and spins of a collection of fragments such that they conserve angular momentum + implicit none + ! Arguments + logical, intent(out) :: lfailure !! Error flag + real(DP), dimension(:), optional, intent(in) :: v_t_mag_input !! Unknown tangential velocities for fragments 7:nfrag + ! Internals + integer(I4B) :: i + ! Result + real(DP), dimension(:), allocatable :: v_t_mag_output + + real(DP), dimension(2 * NDIM, 2 * NDIM) :: A ! LHS of linear equation used to solve for momentum constraint in Gauss elimination code + real(DP), dimension(2 * NDIM) :: b ! RHS of linear equation used to solve for momentum constraint in Gauss elimination code + real(DP), dimension(NDIM) :: L_lin_others, L_orb_others, L, vtmp + + associate(nfrag => frag%nbody) + lfailure = .false. + ! We have 6 constraint equations (2 vector constraints in 3 dimensions each) + ! The first 3 are that the linear momentum of the fragments is zero with respect to the collisional barycenter + ! The second 3 are that the sum of the angular momentum of the fragments is conserved from the pre-impact state + L_lin_others(:) = 0.0_DP + L_orb_others(:) = 0.0_DP + do i = 1, nfrag + if (i <= 2 * NDIM) then ! The tangential velocities of the first set of bodies will be the unknowns we will solve for to satisfy the constraints + A(1:3, i) = frag%mass(i) * frag%v_t_unit(:, i) + A(4:6, i) = frag%mass(i) * frag%rmag(i) * (frag%v_r_unit(:, i) .cross. frag%v_t_unit(:, i)) + else if (present(v_t_mag_input)) then + vtmp(:) = v_t_mag_input(i - 6) * frag%v_t_unit(:, i) + L_lin_others(:) = L_lin_others(:) + frag%mass(i) * vtmp(:) + L(:) = frag%mass(i) * (frag%x_coll(:, i) .cross. vtmp(:)) + L_orb_others(:) = L_orb_others(:) + L(:) + end if + end do + b(1:3) = -L_lin_others(:) + b(4:6) = frag%L_budget(:) - frag%L_spin(:) - L_orb_others(:) + allocate(v_t_mag_output(nfrag)) + v_t_mag_output(1:6) = util_solve_linear_system(A, b, 6, lfailure) + if (present(v_t_mag_input)) v_t_mag_output(7:nfrag) = v_t_mag_input(:) + end associate + return + end function solve_fragment_tan_vel + + + function tangential_objective_function(v_t_mag_input, lfailure) result(fval) + !! Author: David A. Minton + !! + !! Objective function for evaluating how close our fragment velocities get to minimizing KE error from our required value + implicit none + ! Arguments + real(DP), dimension(:), intent(in) :: v_t_mag_input !! Unknown tangential component of velocity vector set previously by angular momentum constraint + logical, intent(out) :: lfailure !! Error flag + ! Result + real(DP) :: fval + ! Internals + integer(I4B) :: i + real(DP), dimension(NDIM,frag%nbody) :: v_shift + real(DP), dimension(frag%nbody) :: v_t_new, kearr + real(DP) :: keo + + associate(nfrag => frag%nbody) + lfailure = .false. + + v_t_new(:) = solve_fragment_tan_vel(v_t_mag_input=v_t_mag_input(:), lfailure=lfailure) + v_shift(:,:) = fraggle_util_vmag_to_vb(frag%v_r_mag, frag%v_r_unit, v_t_new, frag%v_t_unit, frag%mass, frag%vbcom) + + kearr = 0.0_DP + do concurrent(i = 1:nfrag) + kearr(i) = frag%mass(i) * dot_product(v_shift(:, i), v_shift(:, i)) + end do + keo = 0.5_DP * sum(kearr(:)) + fval = keo + lfailure = .false. + end associate + + return + end function tangential_objective_function + + end subroutine fraggle_generate_tan_vel + + + subroutine fraggle_generate_rad_vel(frag, colliders, lfailure) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! + !! Adjust the fragment velocities to set the fragment orbital kinetic energy. This will minimize the difference between the fragment kinetic energy and the energy budget + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragment system object + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + logical, intent(out) :: lfailure !! Logical flag indicating whether this step fails or succeeds! + ! Internals + real(DP), parameter :: TOL_MIN = FRAGGLE_ETOL ! This needs to be more accurate than the tangential step, as we are trying to minimize the total residual energy + real(DP), parameter :: TOL_INIT = 1e-14_DP + real(DP), parameter :: VNOISE_MAG = 1e-10_DP !! Magnitude of the noise to apply to initial conditions to help minimizer find a solution in case of failure + integer(I4B), parameter :: MAXLOOP = 100 + real(DP) :: ke_radial, tol + integer(I4B) :: i, j + real(DP), dimension(:), allocatable :: v_r_initial + real(DP), dimension(:,:), allocatable :: v_r + real(DP), dimension(frag%nbody) :: vnoise + type(lambda_obj) :: objective_function + character(len=STRMAX) :: message + + associate(nfrag => frag%nbody) + ! Set the "target" ke for the radial component + ke_radial = frag%ke_budget - frag%ke_spin - frag%ke_orbit + + allocate(v_r_initial, source=frag%v_r_mag) + ! Initialize radial velocity magnitudes with a random value that related to equipartition of kinetic energy with some noise + call random_number(vnoise(1:nfrag)) + vnoise(:) = 1.0_DP + VNOISE_MAG * (2 * vnoise(:) - 1.0_DP) + v_r_initial(1:nfrag) = sqrt(abs(2 * ke_radial) / (frag%mass(1:nfrag) * nfrag)) * vnoise(1:nfrag) + + ! Initialize the lambda function using a structure constructor that calls the init method + ! Minimize the ke objective function using the BFGS optimizer + objective_function = lambda_obj(radial_objective_function) + tol = TOL_INIT + do while(tol < TOL_MIN) + frag%v_r_mag = util_minimize_bfgs(objective_function, nfrag, v_r_initial, tol, MAXLOOP, lfailure) + if (.not.lfailure) exit + tol = tol * 2 ! Keep increasing the tolerance until we converge on a solution + v_r_initial(:) = frag%v_r_mag(:) + call random_number(vnoise(1:nfrag)) ! Adding a bit of noise to the initial conditions helps it find a solution more often + vnoise(:) = 1.0_DP + VNOISE_MAG * (2 * vnoise(:) - 1._DP) + v_r_initial(:) = v_r_initial(:) * vnoise(:) + end do + + ! Shift the radial velocity vectors to align with the center of mass of the collisional system (the origin) + frag%ke_orbit = 0.0_DP + frag%vb(:,1:nfrag) = fraggle_util_vmag_to_vb(frag%v_r_mag(1:nfrag), frag%v_r_unit(:,1:nfrag), frag%v_t_mag(1:nfrag), frag%v_t_unit(:,1:nfrag), frag%mass(1:nfrag), frag%vbcom(:)) + do i = 1, nfrag + frag%v_coll(:, i) = frag%vb(:, i) - frag%vbcom(:) + frag%ke_orbit = frag%ke_orbit + frag%mass(i) * dot_product(frag%vb(:, i), frag%vb(:, i)) + end do + frag%ke_orbit = 0.5_DP * frag%ke_orbit + + lfailure = abs((frag%ke_budget - (frag%ke_orbit + frag%ke_spin)) / frag%ke_budget) > FRAGGLE_ETOL + if (lfailure) then + call fraggle_io_log_one_message(" ") + call fraggle_io_log_one_message("Radial velocity failure diagnostics") + write(message, *) frag%ke_budget + call fraggle_io_log_one_message("ke_budget : " // trim(adjustl(message))) + write(message, *) frag%ke_spin + call fraggle_io_log_one_message("ke_spin : " // trim(adjustl(message))) + write(message, *) frag%ke_orbit + call fraggle_io_log_one_message("ke_orbit : " // trim(adjustl(message))) + write(message, *) frag%ke_budget - (frag%ke_orbit + frag%ke_spin) + call fraggle_io_log_one_message("ke_remainder : " // trim(adjustl(message))) + end if + + end associate + return + + contains + function radial_objective_function(v_r_mag_input) result(fval) + !! Author: David A. Minton + !! + !! Objective function for evaluating how close our fragment velocities get to minimizing KE error from our required value + implicit none + ! Arguments + real(DP), dimension(:), intent(in) :: v_r_mag_input !! Unknown radial component of fragment velocity vector + ! Result + real(DP) :: fval !! The objective function result, which is the square of the difference between the calculated fragment kinetic energy and our target + !! Minimizing this brings us closer to our objective + ! Internals + integer(I4B) :: i + real(DP), dimension(:,:), allocatable :: v_shift + real(DP), dimension(frag%nbody) :: kearr + real(DP) :: keo, ke_radial + + associate(nfrag => frag%nbody) + allocate(v_shift, mold=frag%vb) + v_shift(:,:) = fraggle_util_vmag_to_vb(v_r_mag_input, frag%v_r_unit, frag%v_t_mag, frag%v_t_unit, frag%mass, frag%vbcom) + do concurrent(i = 1:nfrag) + kearr(i) = frag%mass(i) * (frag%Ip(3, i) * frag%radius(i)**2 * dot_product(frag%rot(:, i), frag%rot(:, i)) + dot_product(v_shift(:, i), v_shift(:, i))) + end do + keo = 2 * frag%ke_budget - sum(kearr(:)) + ke_radial = frag%ke_budget - frag%ke_orbit - frag%ke_spin + ! The following ensures that fval = 0 is a local minimum, which is what the BFGS method is searching for + fval = (keo / (2 * ke_radial))**2 + end associate + + return + end function radial_objective_function + + end subroutine fraggle_generate_rad_vel + +end submodule s_fraggle_generate diff --git a/src/fraggle/fraggle_io.f90 b/src/fraggle/fraggle_io.f90 new file mode 100644 index 000000000..dbd721216 --- /dev/null +++ b/src/fraggle/fraggle_io.f90 @@ -0,0 +1,255 @@ +submodule(fraggle_classes) s_fraggle_io + use swiftest + +contains + + module subroutine fraggle_io_log_generate(frag) + !! author: David A. Minton + !! + !! Writes a log of the results of the fragment generation + implicit none + ! Arguments + class(fraggle_fragments), intent(in) :: frag + ! Internals + integer(I4B) :: i + character(STRMAX) :: errmsg + character(len=*), parameter :: fmtlabel = "(A14,10(ES11.4,1X,:))" + + open(unit=FRAGGLE_LOG_UNIT, file=FRAGGLE_LOG_OUT, status = 'OLD', position = 'APPEND', form = 'FORMATTED', err = 667, iomsg = errmsg) + write(FRAGGLE_LOG_UNIT, *, err = 667, iomsg = errmsg) + write(FRAGGLE_LOG_UNIT, *) "--------------------------------------------------------------------" + write(FRAGGLE_LOG_UNIT, *) " Fraggle fragment generation results" + write(FRAGGLE_LOG_UNIT, *) "--------------------------------------------------------------------" + write(FRAGGLE_LOG_UNIT, "(' dL_tot should be very small' )") + write(FRAGGLE_LOG_UNIT,fmtlabel) ' dL_tot |', (.mag.(frag%Ltot_after(:) - frag%Ltot_before(:))) / (.mag.frag%Ltot_before(:)) + write(FRAGGLE_LOG_UNIT, "(' dE_tot should be negative and equal to Qloss' )") + write(FRAGGLE_LOG_UNIT,fmtlabel) ' dE_tot |', (frag%Etot_after - frag%Etot_before) / abs(frag%Etot_before) + write(FRAGGLE_LOG_UNIT,fmtlabel) ' Qloss |', -frag%Qloss / abs(frag%Etot_before) + write(FRAGGLE_LOG_UNIT,fmtlabel) ' dE - Qloss |', (frag%Etot_after - frag%Etot_before + frag%Qloss) / abs(frag%Etot_before) + write(FRAGGLE_LOG_UNIT, "(' -------------------------------------------------------------------------------------')") + write(FRAGGLE_LOG_UNIT, *) "Individual fragment values (collisional system natural units)" + write(FRAGGLE_LOG_UNIT, *) "mass" + do i = 1, frag%nbody + write(FRAGGLE_LOG_UNIT, *) i, frag%mass(i) + end do + write(FRAGGLE_LOG_UNIT, *) "x_coll" + do i = 1, frag%nbody + write(FRAGGLE_LOG_UNIT, *) i, frag%x_coll(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "v_coll" + do i = 1, frag%nbody + write(FRAGGLE_LOG_UNIT, *) i, frag%v_coll(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "xb" + do i = 1, frag%nbody + write(FRAGGLE_LOG_UNIT, *) i, frag%xb(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "vb" + do i = 1, frag%nbody + write(FRAGGLE_LOG_UNIT, *) i, frag%vb(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "rot" + do i = 1, frag%nbody + write(FRAGGLE_LOG_UNIT, *) i, frag%rot(:,i) + end do + + close(FRAGGLE_LOG_UNIT) + + return + 667 continue + write(*,*) "Error writing Fraggle message to log file: " // trim(adjustl(errmsg)) + end subroutine fraggle_io_log_generate + + + module subroutine fraggle_io_log_one_message(message) + !! author: David A. Minton + !! + !! Writes a single message to the fraggle log file + implicit none + ! Arguments + character(len=*), intent(in) :: message + ! Internals + character(STRMAX) :: errmsg + + open(unit=FRAGGLE_LOG_UNIT, file=FRAGGLE_LOG_OUT, status = 'OLD', position = 'APPEND', form = 'FORMATTED', err = 667, iomsg = errmsg) + write(FRAGGLE_LOG_UNIT, *) trim(adjustl(message)) + close(FRAGGLE_LOG_UNIT) + + return + 667 continue + write(*,*) "Error writing Fraggle message to log file: " // trim(adjustl(errmsg)) + end subroutine fraggle_io_log_one_message + + + module subroutine fraggle_io_log_pl(pl, param) + !! author: David A. Minton + !! + !! Writes a single message to the fraggle log file + implicit none + ! Arguments + class(swiftest_pl), intent(in) :: pl !! Swiftest massive body object (only the new bodies generated in a collision) + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + ! Internals + integer(I4B) :: i + character(STRMAX) :: errmsg + + open(unit=FRAGGLE_LOG_UNIT, file=FRAGGLE_LOG_OUT, status = 'OLD', position = 'APPEND', form = 'FORMATTED', err = 667, iomsg = errmsg) + write(FRAGGLE_LOG_UNIT, *, err = 667, iomsg = errmsg) + + write(FRAGGLE_LOG_UNIT, *) "--------------------------------------------------------------------" + write(FRAGGLE_LOG_UNIT, *) " Fraggle fragment final body properties" + write(FRAGGLE_LOG_UNIT, *) "--------------------------------------------------------------------" + write(FRAGGLE_LOG_UNIT, *) "id, name" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%id(i), pl%info(i)%name + end do + write(FRAGGLE_LOG_UNIT, *) "mass, Gmass" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%mass(i), pl%Gmass(i) + end do + write(FRAGGLE_LOG_UNIT, *) "radius" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%radius(i) + end do + write(FRAGGLE_LOG_UNIT, *) "xb" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%xb(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "vb" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%vb(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "xh" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%xh(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "vh" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%vh(:,i) + end do + + if (param%lrotation) then + write(FRAGGLE_LOG_UNIT, *) "rot" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%rot(:,i) + end do + write(FRAGGLE_LOG_UNIT, *) "Ip" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%Ip(:,i) + end do + end if + + if (param%ltides) then + write(FRAGGLE_LOG_UNIT, *) "Q" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%Q(i) + end do + write(FRAGGLE_LOG_UNIT, *) "k2" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%k2(i) + end do + write(FRAGGLE_LOG_UNIT, *) "tlag" + do i = 1, pl%nbody + write(FRAGGLE_LOG_UNIT, *) i, pl%tlag(i) + end do + end if + + close(FRAGGLE_LOG_UNIT) + + return + 667 continue + write(*,*) "Error writing Fraggle message to log file: " // trim(adjustl(errmsg)) + end subroutine fraggle_io_log_pl + + + module subroutine fraggle_io_log_regime(colliders, frag) + !! author: David A. Minton + !! + !! Writes a log of the results of the collisional regime determination + implicit none + ! Arguments + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + class(fraggle_fragments), intent(in) :: frag !! Fraggle fragment object + ! Internals + character(STRMAX) :: errmsg + + open(unit=FRAGGLE_LOG_UNIT, file=FRAGGLE_LOG_OUT, status = 'OLD', position = 'APPEND', form = 'FORMATTED', err = 667, iomsg = errmsg) + write(FRAGGLE_LOG_UNIT, *, err = 667, iomsg = errmsg) + write(FRAGGLE_LOG_UNIT, *) "--------------------------------------------------------------------" + write(FRAGGLE_LOG_UNIT, *) " Fraggle collisional regime determination results" + write(FRAGGLE_LOG_UNIT, *) "--------------------------------------------------------------------" + write(FRAGGLE_LOG_UNIT, *) "----------------------- Collider information -----------------------" + write(FRAGGLE_LOG_UNIT, *) "True number of colliders : ",colliders%ncoll + write(FRAGGLE_LOG_UNIT, *) "Index list of true colliders : ",colliders%idx(1:colliders%ncoll) + write(FRAGGLE_LOG_UNIT, *) "-------------------- Two-body equialent values ---------------------" + write(FRAGGLE_LOG_UNIT, *) "mass1 : ",colliders%mass(1) + write(FRAGGLE_LOG_UNIT, *) "radius1 : ",colliders%radius(1) + write(FRAGGLE_LOG_UNIT, *) "xb1 : ",colliders%xb(:,1) + write(FRAGGLE_LOG_UNIT, *) "vb1 : ",colliders%vb(:,1) + write(FRAGGLE_LOG_UNIT, *) "rot1 : ",colliders%rot(:,1) + write(FRAGGLE_LOG_UNIT, *) "Ip1 : ",colliders%Ip(:,1) + write(FRAGGLE_LOG_UNIT, *) "L_spin1 : ",colliders%L_spin(:,1) + write(FRAGGLE_LOG_UNIT, *) "L_orbit1 : ",colliders%L_orbit(:,1) + write(FRAGGLE_LOG_UNIT, *) "mass2 : ",colliders%mass(2) + write(FRAGGLE_LOG_UNIT, *) "radius2 : ",colliders%radius(2) + write(FRAGGLE_LOG_UNIT, *) "xb2 : ",colliders%xb(:,2) + write(FRAGGLE_LOG_UNIT, *) "vb2 : ",colliders%vb(:,2) + write(FRAGGLE_LOG_UNIT, *) "rot2 : ",colliders%rot(:,2) + write(FRAGGLE_LOG_UNIT, *) "Ip2 : ",colliders%Ip(:,2) + write(FRAGGLE_LOG_UNIT, *) "L_spin2 : ",colliders%L_spin(:,2) + write(FRAGGLE_LOG_UNIT, *) "L_orbit2 : ",colliders%L_orbit(:,2) + write(FRAGGLE_LOG_UNIT, *) "------------------------------ Regime -----------------------------" + select case(frag%regime) + case(COLLRESOLVE_REGIME_MERGE) + write(FRAGGLE_LOG_UNIT, *) "Merge" + case(COLLRESOLVE_REGIME_DISRUPTION) + write(FRAGGLE_LOG_UNIT, *) "Disruption" + case(COLLRESOLVE_REGIME_SUPERCATASTROPHIC) + write(FRAGGLE_LOG_UNIT, *) "Supercatastrophic disruption" + case(COLLRESOLVE_REGIME_GRAZE_AND_MERGE) + write(FRAGGLE_LOG_UNIT, *) "Graze and merge" + case(COLLRESOLVE_REGIME_HIT_AND_RUN) + write(FRAGGLE_LOG_UNIT, *) "Hit and run" + end select + write(FRAGGLE_LOG_UNIT, *) "----------------------- Fragment information ----------------------" + write(FRAGGLE_LOG_UNIT, *) "Total mass of fragments : ", frag%mtot + write(FRAGGLE_LOG_UNIT, *) "Largest fragment mass : ", frag%mass_dist(1) + write(FRAGGLE_LOG_UNIT, *) "Second-largest fragment mass : ", frag%mass_dist(2) + write(FRAGGLE_LOG_UNIT, *) "Remaining fragment mass : ", frag%mass_dist(3) + write(FRAGGLE_LOG_UNIT, *) "Center of mass position : ", frag%xbcom(:) + write(FRAGGLE_LOG_UNIT, *) "Center of mass velocity : ", frag%vbcom(:) + write(FRAGGLE_LOG_UNIT, *) "Energy loss : ", frag%Qloss + write(FRAGGLE_LOG_UNIT, *) "--------------------------------------------------------------------" + close(FRAGGLE_LOG_UNIT) + + return + 667 continue + write(*,*) "Error writing Fraggle regime information to log file: " // trim(adjustl(errmsg)) + end subroutine fraggle_io_log_regime + + + module subroutine fraggle_io_log_start(param) + !! author: David A. Minton + !! + !! Checks to see if the Fraggle log file needs to be replaced if this is a new run, or appended if this is a restarted run + implicit none + ! Arguments + class(swiftest_parameters), intent(in) :: param + ! Internals + character(STRMAX) :: errmsg + logical :: fileExists + + inquire(file=FRAGGLE_LOG_OUT, exist=fileExists) + if (.not.param%lrestart .or. .not.fileExists) then + open(unit=FRAGGLE_LOG_UNIT, file=FRAGGLE_LOG_OUT, status="REPLACE", err = 667, iomsg = errmsg) + write(FRAGGLE_LOG_UNIT, *, err = 667, iomsg = errmsg) "Fraggle logfile" + end if + close(FRAGGLE_LOG_UNIT) + + return + + 667 continue + write(*,*) "Error writing Fraggle log file: " // trim(adjustl(errmsg)) + end subroutine fraggle_io_log_start + +end submodule s_fraggle_io \ No newline at end of file diff --git a/src/fraggle/fraggle_placeholder.f90 b/src/fraggle/fraggle_placeholder.f90 new file mode 100644 index 000000000..bbf08bb04 --- /dev/null +++ b/src/fraggle/fraggle_placeholder.f90 @@ -0,0 +1,44 @@ +submodule(fraggle_classes) s_fraggle_placeholder + use swiftest + +contains + + !> The following interfaces are placeholders intended to satisfy the required abstract methods given by the parent class + module subroutine fraggle_placeholder_accel(self, system, param, t, lbeg) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current simulation time + logical, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + write(*,*) "The type-bound procedure 'accel' is not defined for type fraggle_fragments" + return + end subroutine fraggle_placeholder_accel + + module subroutine fraggle_placeholder_kick(self, system, param, t, dt, lbeg) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system objec + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. + + write(*,*) "The type-bound procedure 'kick' is not defined for type fraggle_fragments" + return + end subroutine fraggle_placeholder_kick + + module subroutine fraggle_placeholder_step(self, system, param, t, dt) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Swiftest body object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Simulation time + real(DP), intent(in) :: dt !! Current stepsize + + write(*,*) "The type-bound procedure 'step' is not defined for type fraggle_fragments" + return + end subroutine fraggle_placeholder_step + + +end submodule s_fraggle_placeholder \ No newline at end of file diff --git a/src/fraggle/fraggle_regime.f90 b/src/fraggle/fraggle_regime.f90 new file mode 100644 index 000000000..df9265ae7 --- /dev/null +++ b/src/fraggle/fraggle_regime.f90 @@ -0,0 +1,368 @@ +submodule(fraggle_classes) s_fraggle_regime + use swiftest + +contains + + module subroutine fraggle_regime_colliders(self, frag, system, param) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Determine which fragmentation regime the set of colliders will be. This subroutine is a wrapper for the non-polymorphic raggle_regime_collresolve subroutine. + !! It converts to SI units prior to calling + implicit none + ! Arguments + class(fraggle_colliders), intent(inout) :: self !! Fraggle colliders object + class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragment system object + class(swiftest_nbody_system), intent(in) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current Swiftest run configuration parameters + ! Internals + integer(I4B) :: jtarg, jproj, regime + real(DP), dimension(2) :: radius_si, mass_si, density_si + real(DP) :: min_mfrag_si, Mcb_si + real(DP), dimension(NDIM) :: x1_si, v1_si, x2_si, v2_si + real(DP) :: mlr, mslr, mtot, dentot, msys, msys_new, Qloss, impact_parameter + logical :: fileExists + + associate(colliders => self) + ! Convert all quantities to SI units and determine which of the pair is the projectile vs. target before sending them to the regime determination subroutine + if (colliders%mass(1) > colliders%mass(2)) then + jtarg = 1 + jproj = 2 + else + jtarg = 2 + jproj = 1 + end if + mass_si(:) = colliders%mass([jtarg, jproj]) * param%MU2KG !! The two-body equivalent masses of the collider system + radius_si(:) = colliders%radius([jtarg, jproj]) * param%DU2M !! The two-body equivalent radii of the collider system + density_si(:) = mass_si(:) / (4.0_DP / 3._DP * PI * radius_si(:)**3) !! The two-body equivalent density of the collider system + x1_si(:) = colliders%xb(:,jtarg) * param%DU2M !! The first body of the two-body equivalent position vector the collider system + v1_si(:) = colliders%vb(:,jtarg) * param%DU2M / param%TU2S !! The first body of the two-body equivalent velocity vector the collider system + x2_si(:) = colliders%xb(:,jproj) * param%DU2M !! The second body of the two-body equivalent position vector the collider system + v2_si(:) = colliders%vb(:,jproj) * param%DU2M / param%TU2S !! The second body of the two-body equivalent velocity vector the collider system + Mcb_si = system%cb%mass * param%MU2KG !! The central body mass of the system + select type(param) + class is (symba_parameters) + min_mfrag_si = (param%min_GMfrag / param%GU) * param%MU2KG !! The minimum fragment mass to generate. Collider systems that would otherwise generate less massive fragments than this value will be forced to merge instead + class default + min_mfrag_si = 0.0_DP + end select + + mtot = sum(mass_si(:)) + dentot = sum(mass_si(:) * density_si(:)) / mtot + + !! Use the positions and velocities of the parents from indside the step (at collision) to calculate the collisional regime + call fraggle_regime_collresolve(Mcb_si, mass_si(jtarg), mass_si(jproj), radius_si(jtarg), radius_si(jproj), x1_si(:), x2_si(:),& + v1_si(:), v2_si(:), density_si(jtarg), density_si(jproj), min_mfrag_si, frag%regime, mlr, mslr, frag%Qloss) + + frag%mass_dist(1) = min(max(mlr, 0.0_DP), mtot) + frag%mass_dist(2) = min(max(mslr, 0.0_DP), mtot) + frag%mass_dist(3) = min(max(mtot - mlr - mslr, 0.0_DP), mtot) + + ! Find the center of mass of the collisional system + frag%mtot = sum(colliders%mass(:)) + 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 + + ! Convert quantities back to the system units and save them into the fragment system + frag%mass_dist(:) = (frag%mass_dist(:) / param%MU2KG) + frag%Qloss = frag%Qloss * (param%TU2S / param%DU2M)**2 / param%MU2KG + + call fraggle_io_log_regime(colliders, frag) + end associate + + return + end subroutine fraggle_regime_colliders + + + subroutine fraggle_regime_collresolve(Mcb, m1, m2, rad1, rad2, xh1, xh2, vb1, vb2, den1, den2, min_mfrag, regime, Mlr, Mslr, Qloss) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Determine the collisional regime of two colliding bodies. + !! Current version requires all values to be converted to SI units prior to calling the function + !! References: + !! Kokubo, E., Genda, H., 2010. Formation of Terrestrial Planets from Protoplanets Under a Realistic Accretion + !! Condition. ApJL 714, L21. https://doi.org/10.1088/2041-8205/714/1/L21 + !! Leinhardt, Z.M., Stewart, S.T., 2012. Collisions between Gravity-dominated Bodies. I. Outcome Regimes and Scaling + !! Laws 745, 79. https://doi.org/10.1088/0004-637X/745/1/79 + !! Mustill, A.J., Davies, M.B., Johansen, A., 2018. The dynamical evolution of transiting planetary systems including + !! a realistic collision prescription. Mon Not R Astron Soc 478, 2896–2908. https://doi.org/10.1093/mnras/sty1273 + !! Rufu, R., Aharonson, O., 2019. Impact Dynamics of Moons Within a Planetary Potential. J. Geophys. Res. Planets 124, + !! 1008–1019. https://doi.org/10.1029/2018JE005798 + !! Stewart, S.T., Leinhardt, Z.M., 2012. Collisions between Gravity-dominated Bodies. II. The Diversity of Impact + !! Outcomes during the End Stage of Planet Formation. ApJ 751, 32. https://doi.org/10.1088/0004-637X/751/1/32 + !! + implicit none + ! Arguments + real(DP), intent(in) :: Mcb, m1, m2, rad1, rad2, den1, den2, min_mfrag + real(DP), dimension(:), intent(in) :: xh1, xh2, vb1, vb2 + integer(I4B), intent(out) :: regime + real(DP), intent(out) :: Mlr, Mslr + real(DP), intent(out) :: Qloss !! The residual energy after the collision + ! Constants + integer(I4B), parameter :: N1 = 1 !number of objects with mass equal to the largest remnant from LS12 + integer(I4B), parameter :: N2 = 2 !number of objects with mass larger than second largest remnant from LS12 + real(DP), parameter :: DENSITY1 = 1000.0_DP !standard density parameter from LS12 [kg/m3] + real(DP), parameter :: MU_BAR = 0.37_DP !0.385#0.37#0.3333# 3.978 # 1/3 material parameter for hydrodynamic planet-size bodies (LS12) + real(DP), parameter :: BETA = 2.85_DP !slope of sfd for remnants from LS12 2.85 + real(DP), parameter :: ETA = -1.50_DP !! LS12 eq. (44) + real(DP), parameter :: C1 = 2.43_DP !! Kokubo & Genda (2010) eq. (3) + real(DP), parameter :: C2 = -0.0408_DP !! Kokubo & Genda (2010) eq. (3) + real(DP), parameter :: C3 = 1.86_DP !! Kokubo & Genda (2010) eq. (3) + real(DP), parameter :: C4 = 1.08_DP !! Kokubo & Genda (2010) eq. (3) + real(DP), parameter :: CRUFU = 2.0_DP - 3 * MU_BAR ! central potential variable from Rufu and Aharonson (2019) + real(DP), parameter :: SUPERCAT_QRATIO = 1.8_DP ! See Section 4.1 of LS12 + ! Internals + real(DP) :: a1, alpha, aint, b, bcrit, c_star, egy, zeta, l, lint, mu, phi, theta + real(DP) :: Qr, Qrd_pstar, Qr_erosion, Qr_supercat + real(DP) :: Vhr, Verosion, Vescp, Vhill, Vimp, Vsupercat + real(DP) :: Mint, Mtot, Mtmp + real(DP) :: Rp, rhill + real(DP) :: Mresidual + real(DP) :: U_binding + + Vimp = norm2(vb2(:) - vb1(:)) + b = calc_b(xh2, vb2, xh1, vb1) + l = (rad1 + rad2) * (1 - b) + egy = 0.5_DP * dot_product(vb1, vb1) - GC * Mcb / norm2(xh1) + a1 = - GC * Mcb / 2.0_DP / egy + Mtot = m1 + m2 + mu = (m1 * m2) / Mtot + if (l < 2 * rad2) then + !calculate Mint + phi = 2 * acos((l - rad2) / rad2) + aint = rad2**2 * (PI - (phi - sin(phi)) / 2.0_DP) + lint = 2 * sqrt(rad2**2 - (rad2 - l / 2.0_DP) ** 2) + Mint = aint * lint ![kg] + alpha = (l**2) * (3 * rad2 - l) / (4 * (rad2**3)) + else + alpha = 1.0_DP + Mint = m2 + end if + Rp = (3 * (m1 / den1 + alpha * m2 / den2) / (4 * PI))**(1.0_DP/3.0_DP) ! (Mustill et al. 2018) + c_star = calc_c_star(Rp) + + !calculate Vescp + Vescp = sqrt(2 * GC * Mtot / Rp) !Mustill et al. 2018 eq 6 + + !calculate rhill + rhill = a1 * (m1 / 3.0_DP / (Mcb + m1))**(1.0_DP/3.0_DP) + + !calculate Vhill + if ((rad2 + rad1) < rhill) then + Vhill = sqrt(2 * GC * m1 * ((rhill**2 - rhill * (rad1 + rad2)) / & + (rhill**2 - 0.5_DP * (rad1 + rad2)**2)) / (rad1 + rad2)) + else + Vhill = Vescp + end if + + !calculate Qr_pstar + Qrd_pstar = calc_Qrd_pstar(m1, m2, alpha, c_star) * (Vhill / Vescp)**CRUFU !Rufu and Aharaonson eq (3) + + !calculate Verosion + Qr_erosion = 2 * (1.0_DP - m1 / Mtot) * Qrd_pstar + Verosion = (2 * Qr_erosion * Mtot / mu)** (1.0_DP / 2.0_DP) + Qr = mu*(Vimp**2) / Mtot / 2.0_DP + + !calculate mass largest remnant Mlr + Mlr = max((1.0_DP - Qr / Qrd_pstar / 2.0_DP) * Mtot, min_mfrag) ! [kg] # LS12 eq (5) + + !calculate Vsupercat + Qr_supercat = SUPERCAT_QRATIO * Qrd_pstar ! See LS12 Section 4.1 + Vsupercat = sqrt(2 * Qr_supercat * Mtot / mu) + + !calculate Vhr + zeta = (m1 - m2) / Mtot + theta = 1.0_DP - b + Vhr = Vescp * (C1 * zeta**2 * theta**(2.5_DP) + C2 * zeta**2 + C3 * theta**(2.5_DP) + C4) ! Kokubo & Genda (2010) eq. (3) + bcrit = rad1 / (rad1 + rad2) + Qloss = 0.0_DP + U_binding = (3.0_DP * Mtot) / (5.0_DP * Rp) ! LS12 eq. 27 + + if ((m1 < min_mfrag).or.(m2 < min_mfrag)) then + regime = COLLRESOLVE_REGIME_MERGE !perfect merging regime + Mlr = Mtot + Mslr = 0.0_DP + Qloss = 0.0_DP + call fraggle_io_log_one_message("Fragments would have mass below the minimum. Converting this collision into a merger.") + else + if( Vimp < Vescp) then + regime = COLLRESOLVE_REGIME_MERGE !perfect merging regime + Mlr = Mtot + Mslr = 0.0_DP + Qloss = 0.0_DP + else if (Vimp < Verosion) then + if (b < bcrit) then + regime = COLLRESOLVE_REGIME_MERGE !partial accretion regime" + Mlr = Mtot + Mslr = 0.0_DP + Qloss = 0.0_DP + else if ((b > bcrit) .and. (Vimp < Vhr)) then + regime = COLLRESOLVE_REGIME_MERGE ! graze and merge + Mlr = Mtot + Mslr = 0.0_DP + Qloss = 0.0_DP + else + Mlr = m1 + Mslr = max(calc_Qrd_rev(m2, m1, Mint, den1, den2, Vimp, c_star), min_mfrag) + regime = COLLRESOLVE_REGIME_HIT_AND_RUN !hit and run + Qloss = (c_star + 1.0_DP) * U_binding ! Qr + end if + else if (Vimp > Verosion .and. Vimp < Vsupercat) then + if (m2 < 0.001_DP * m1) then + regime = COLLRESOLVE_REGIME_MERGE !cratering regime" + Mlr = Mtot + Mslr = 0.0_DP + Qloss = 0.0_DP + else + Mslr = max(Mtot * (3.0_DP - BETA) * (1.0_DP - N1 * Mlr / Mtot) / (N2 * BETA), min_mfrag) ! LS12 eq (37) + regime = COLLRESOLVE_REGIME_DISRUPTION !disruption + Qloss = (c_star + 1.0_DP) * U_binding ! Qr - Qr_erosion + end if + else if (Vimp > Vsupercat) then + Mlr = max(Mtot * 0.1_DP * (Qr / (Qrd_pstar * SUPERCAT_QRATIO))**(ETA), min_mfrag) !LS12 eq (44) + Mslr = max(Mtot * (3.0_DP - BETA) * (1.0_DP - N1 * Mlr / Mtot) / (N2 * BETA), min_mfrag) !LS12 eq (37) + regime = COLLRESOLVE_REGIME_SUPERCATASTROPHIC ! supercatastrophic + Qloss = (c_star + 1.0_DP) * U_binding ! Qr - Qr_supercat + else + write(*,*) "Error no regime found in symba_regime" + end if + end if + + if (Mslr > Mlr) then ! The second-largest fragment is actually larger than the largest, so we will swap them + Mtmp = Mlr + Mlr = Mslr + Mslr = Mtmp + end if + + Mresidual = Mtot - Mlr - Mslr + if (Mresidual < 0.0_DP) then ! prevents final masses from going negative + Mlr = Mlr + Mresidual + end if + + return + + ! Internal functions + contains + function calc_Qrd_pstar(Mtarg, Mp, alpha, c_star) result(Qrd_pstar) + !! author: Jennifer L.L. Pouplin and Carlisle A. Wishard + !! + !! Calculates the corrected Q* for oblique impacts. See Eq. (15) of LS12. + !! Reference: + !! Leinhardt, Z.M., Stewart, S.T., 2012. Collisions between Gravity-dominated Bodies. I. Outcome Regimes and Scaling + !! Laws 745, 79. https://doi.org/10.1088/0004-637X/745/1/79 + !! + implicit none + ! Arguments + real(DP),intent(in) :: Mtarg, Mp, alpha, c_star + ! Result + real(DP) :: Qrd_pstar + ! Internals + real(DP) :: Qrd_star1, mu_alpha, mu, Qrd_star + + ! calc mu, mu_alpha + mu = (Mtarg * Mp) / (Mtarg + Mp) ! [kg] + mu_alpha = (Mtarg * alpha * Mp) / (Mtarg + alpha * Mp) ! [kg] + ! calc Qrd_star1 + Qrd_star1 = (c_star * 4 * PI * DENSITY1 * GC * Rp**2) / 5.0_DP + ! calc Qrd_star + Qrd_star = Qrd_star1 * (((Mp / Mtarg + 1.0_DP)**2) / (4 * Mp / Mtarg))**(2.0_DP / (3.0_DP * MU_BAR) - 1.0_DP) !(eq 23) + ! calc Qrd_pstar, v_pstar + Qrd_pstar = ((mu / mu_alpha)**(2.0_DP - 3.0_DP * MU_BAR / 2.0_DP)) * Qrd_star ! (eq 15) + + return + end function calc_Qrd_pstar + + function calc_Qrd_rev(Mp, Mtarg, Mint, den1, den2, Vimp, c_star) result(Mslr) + !! author: Jennifer L.L. Pouplin and Carlisle A. Wishard + !! + !! Calculates mass of second largest fragment. + !! + implicit none + ! Arguments + real(DP),intent(in) :: Mp, Mtarg, Mint, den1, den2, Vimp, c_star + ! Result + real(DP) :: Mslr + ! Internals + real(DP) :: mtot_rev, mu_rev, gamma_rev, Qrd_star1, Qrd_star, mu_alpha_rev + real(DP) :: Qrd_pstar, Rc1, Qr_rev, Qrd_pstar_rev, Qr_supercat_rev + + ! calc Mslr, Rc1, mu, gammalr + mtot_rev = Mint + Mp + Rc1 = (3 * (Mint / den1 + Mp / den2) / (4 * PI))**(1.0_DP/3.0_DP) ! [m] Mustill et al 2018 + mu_rev = (Mint * Mp) / mtot_rev ! [kg] eq 49 LS12 + mu_alpha_rev = (Mtarg * alpha * Mp) / (Mtarg + alpha * Mp) + gamma_rev = Mint / Mp ! eq 50 LS12 + !calc Qr_rev + Qr_rev = mu_rev * (Vimp**2) / (2 * mtot_rev) + ! calc Qrd_star1, v_star1 + Qrd_star1 = (c_star * 4 * PI * mtot_rev * GC ) / Rc1 / 5.0_DP + ! calc Qrd_pstar_rev + Qrd_star = Qrd_star1 * (((gamma_rev + 1.0_DP)**2) / (4 * gamma_rev)) ** (2.0_DP / (3.0_DP * MU_BAR) - 1.0_DP) !(eq 52) + Qrd_pstar = Qrd_star * ((mu_rev / mu_alpha_rev)**(2.0_DP - 3.0_DP * MU_BAR / 2.0_DP)) + Qrd_pstar_rev = Qrd_pstar * (Vhill / Vescp)**CRUFU !Rufu and Aharaonson eq (3) + !calc Qr_supercat_rev + Qr_supercat_rev = 1.8_DP * Qrd_pstar_rev + if (Qr_rev > Qr_supercat_rev ) then + Mslr = mtot_rev * (0.1_DP * ((Qr_rev / (Qrd_pstar_rev * 1.8_DP))**(-1.5_DP))) !eq (44) + else if ( Qr_rev < Qrd_pstar_rev ) then + Mslr = Mp + else + Mslr = (1.0_DP - Qr_rev / Qrd_pstar_rev / 2.0_DP) * (mtot_rev) ! [kg] #(eq 5) + end if + + if ( Mslr > Mp ) Mslr = Mp !check conservation of mass + + return + end function calc_Qrd_rev + + function calc_b(proj_pos, proj_vel, targ_pos, targ_vel) result(sintheta) + !! author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Calculates the impact factor b = sin(theta), where theta is the angle between the relative velocity + !! and distance vectors of the target and projectile bodies. See Fig. 2 of Leinhardt and Stewart (2012) + !! + implicit none + !! Arguments + real(DP), dimension(:), intent(in) :: proj_pos, proj_vel, targ_pos, targ_vel + !! Result + real(DP) :: sintheta + !! Internals + real(DP), dimension(NDIM) :: imp_vel, distance, x_cross_v + + imp_vel(:) = proj_vel(:) - targ_vel(:) + distance(:) = proj_pos(:) - targ_pos(:) + x_cross_v(:) = distance(:) .cross. imp_vel(:) + sintheta = norm2(x_cross_v(:)) / norm2(distance(:)) / norm2(imp_vel(:)) + return + end function calc_b + + + function calc_c_star(Rc1) result(c_star) + !! author: David A. Minton + !! + !! Calculates c_star as a function of impact equivalent radius. It inteRpolates between 5 for ~1 km sized bodies to + !! 1.8 for ~10000 km sized bodies. See LS12 Fig. 4 for details. + !! + implicit none + !! Arguments + real(DP), intent(in) :: Rc1 + !! Result + real(DP) :: c_star + !! Internals + real(DP), parameter :: loR = 1.0e3_DP ! Lower bound of inteRpolation size (m) + real(DP), parameter :: hiR = 1.0e7_DP ! Upper bound of inteRpolation size (m) + real(DP), parameter :: loval = 5.0_DP ! Value of C* at lower bound + real(DP), parameter :: hival = 1.9_DP ! Value of C* at upper bound + + if (Rc1 < loR) then + c_star = loval + else if (Rc1 < hiR) then + c_star = loval + (hival - loval) * log(Rc1 / loR) / log(hiR /loR) + else + c_star = hival + end if + return + end function calc_c_star + + end subroutine fraggle_regime_collresolve + +end submodule s_fraggle_regime \ No newline at end of file diff --git a/src/fraggle/fraggle_set.f90 b/src/fraggle/fraggle_set.f90 new file mode 100644 index 000000000..d520b2c5d --- /dev/null +++ b/src/fraggle/fraggle_set.f90 @@ -0,0 +1,333 @@ +submodule(fraggle_classes) s_fraggle_set + use swiftest +contains + + module subroutine fraggle_set_budgets_fragments(self, colliders) + !! author: David A. Minton + !! + !! Sets the energy and momentum budgets of the fragments based on the collider values and the before/after values of energy and momentum + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + ! Internals + real(DP) :: dEtot + real(DP), dimension(NDIM) :: dL + + associate(frag => self) + + dEtot = frag%Etot_after - frag%Etot_before + dL(:) = frag%Ltot_after(:) - frag%Ltot_before(:) + + frag%L_budget(:) = -dL(:) + frag%ke_budget = -(dEtot - 0.5_DP * frag%mtot * dot_product(frag%vbcom(:), frag%vbcom(:))) - frag%Qloss + + end associate + return + end subroutine fraggle_set_budgets_fragments + + + module subroutine fraggle_set_mass_dist_fragments(self, colliders, param) + !! author: David A. Minton + !! + !! Sets the mass of fragments based on the mass distribution returned by the regime calculation. + !! This subroutine must be run after the the setup rourtine has been run on the fragments + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + class(swiftest_parameters), intent(in) :: param !! Current Swiftest run configuration parameters + ! Internals + integer(I4B) :: i, jproj, jtarg, nfrag, istart + real(DP), dimension(2) :: volume + real(DP), dimension(NDIM) :: Ip_avg + real(DP) :: mfrag, mremaining, min_mfrag + real(DP), parameter :: BETA = 2.85_DP + integer(I4B), parameter :: NFRAGMAX = 100 !! Maximum number of fragments that can be generated + integer(I4B), parameter :: NFRAGMIN = 7 !! Minimum number of fragments that can be generated (set by the fraggle_generate algorithm for constraining momentum and energy) + integer(I4B), parameter :: NFRAG_SIZE_MULTIPLIER = 3 !! Log-space scale factor that scales the number of fragments by the collisional system mass + integer(I4B), parameter :: iMlr = 1 + integer(I4B), parameter :: iMslr = 2 + integer(I4B), parameter :: iMrem = 3 + + associate(frag => self) + ! Get mass weighted mean of Ip and density + volume(1:2) = 4._DP / 3._DP * PI * colliders%radius(1:2)**3 + Ip_avg(:) = (colliders%mass(1) * colliders%Ip(:,1) + colliders%mass(2) * colliders%Ip(:,2)) / frag%mtot + if (colliders%mass(1) > colliders%mass(2)) then + jtarg = 1 + jproj = 2 + else + jtarg = 2 + jproj = 1 + end if + + select type(param) + class is (symba_parameters) + min_mfrag = (param%min_GMfrag / param%GU) + ! The number of fragments we generate is bracked by the minimum required by fraggle_generate (7) and the + ! maximum set by the NFRAG_SIZE_MULTIPLIER which limits the total number of fragments to prevent the nbody + ! code from getting an overwhelmingly large number of fragments + nfrag = ceiling(NFRAG_SIZE_MULTIPLIER * log(frag%mtot / min_mfrag)) + nfrag = max(min(nfrag, NFRAGMAX), NFRAGMIN) + class default + min_mfrag = 0.0_DP + nfrag = NFRAGMAX + end select + + select case(frag%regime) + case(COLLRESOLVE_REGIME_DISRUPTION, COLLRESOLVE_REGIME_SUPERCATASTROPHIC, COLLRESOLVE_REGIME_HIT_AND_RUN) + ! The first two bins of the mass_dist are the largest and second-largest fragments that came out of fraggle_regime. + ! The remainder from the third bin will be distributed among nfrag-2 bodies. The following code will determine nfrag based on + ! the limits bracketed above and the model size distribution of fragments. + ! Check to see if our size distribution would give us a smaller number of fragments than the maximum number + i = iMrem + mremaining = frag%mass_dist(iMrem) + do while (i <= nfrag) + mfrag = (1 + i - iMslr)**(-3._DP / BETA) * frag%mass_dist(iMslr) + if (mremaining - mfrag < 0.0_DP) exit + mremaining = mremaining - mfrag + i = i + 1 + end do + if (i < nfrag) nfrag = max(i, NFRAGMIN) ! The sfd would actually give us fewer fragments than our maximum + + call frag%setup(nfrag, param) + case (COLLRESOLVE_REGIME_MERGE, COLLRESOLVE_REGIME_GRAZE_AND_MERGE) + call frag%setup(1, param) + frag%mass(1) = frag%mass_dist(1) + frag%radius(1) = colliders%radius(jtarg) + frag%density(1) = frag%mass_dist(1) / volume(jtarg) + frag%Ip(:, 1) = colliders%Ip(:,1) + return + case default + write(*,*) "fraggle_set_mass_dist_fragments error: Unrecognized regime code",frag%regime + end select + + ! Make the first two bins the same as the Mlr and Mslr values that came from fraggle_regime + frag%mass(1) = frag%mass_dist(iMlr) + frag%mass(2) = frag%mass_dist(iMslr) + + ! Distribute the remaining mass the 3:nfrag bodies following the model SFD given by slope BETA + mremaining = frag%mass_dist(iMrem) + do i = iMrem, nfrag + mfrag = (1 + i - iMslr)**(-3._DP / BETA) * frag%mass_dist(iMslr) + frag%mass(i) = mfrag + mremaining = mremaining - mfrag + end do + + ! If there is any residual mass (either positive or negative) we will distribute remaining mass proportionally among the the fragments + if (mremaining < 0.0_DP) then ! If the remainder is negative, this means that that the number of fragments required by the SFD is smaller than our lower limit set by fraggle_generate. + istart = iMrem ! We will reduce the mass of the 3:nfrag bodies to prevent the second-largest fragment from going smaller + else ! If the remainder is postiive, this means that the number of fragments required by the SFD is larger than our upper limit set by computational expediency. + istart = iMslr ! We will increase the mass of the 2:nfrag bodies to compensate, which ensures that the second largest fragment remains the second largest + end if + mfrag = 1._DP + mremaining / sum(frag%mass(istart:nfrag)) + frag%mass(istart:nfrag) = frag%mass(istart:nfrag) * mfrag + + ! There may still be some small residual due to round-off error. If so, simply add it to the last bin of the mass distribution. + mremaining = frag%mtot - sum(frag%mass(1:nfrag)) + frag%mass(nfrag) = frag%mass(nfrag) + mremaining + + ! Compute physical properties of the new fragments + select case(frag%regime) + case(COLLRESOLVE_REGIME_HIT_AND_RUN) ! The hit and run case always preserves the largest body intact, so there is no need to recompute the physical properties of the first fragment + frag%radius(1) = colliders%radius(jtarg) + frag%density(1) = frag%mass_dist(iMlr) / volume(jtarg) + frag%Ip(:, 1) = colliders%Ip(:,1) + istart = 2 + case default + istart = 1 + end select + frag%density(istart:nfrag) = frag%mtot / sum(volume(:)) + frag%radius(istart:nfrag) = (3 * frag%mass(istart:nfrag) / (4 * PI * frag%density(istart:nfrag)))**(1.0_DP / 3.0_DP) + do i = istart, nfrag + frag%Ip(:, i) = Ip_avg(:) + end do + + end associate + + return + end subroutine fraggle_set_mass_dist_fragments + + + module subroutine fraggle_set_coordinate_system(self, colliders) + !! author: David A. Minton + !! + !! Defines the collisional coordinate system, including the unit vectors of both the system and individual fragments. + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + ! Internals + integer(I4B) :: i + real(DP), dimension(NDIM) :: x_cross_v, delta_r, delta_v, Ltot + real(DP) :: r_col_norm, v_col_norm + real(DP), dimension(NDIM, self%nbody) :: L_sigma + + associate(frag => self, nfrag => self%nbody) + delta_v(:) = colliders%vb(:, 2) - colliders%vb(:, 1) + v_col_norm = .mag. delta_v(:) + delta_r(:) = colliders%xb(:, 2) - colliders%xb(:, 1) + r_col_norm = .mag. delta_r(:) + + ! We will initialize fragments on a plane defined by the pre-impact system, with the z-axis aligned with the angular momentum vector + ! and the y-axis aligned with the pre-impact distance vector. + Ltot = colliders%L_orbit(:,1) + colliders%L_orbit(:,2) + colliders%L_spin(:,1) + colliders%L_spin(:,2) + frag%y_coll_unit(:) = delta_r(:) / r_col_norm + frag%z_coll_unit(:) = Ltot(:) / (.mag. Ltot(:)) + ! The cross product of the y- by z-axis will give us the x-axis + frag%x_coll_unit(:) = frag%y_coll_unit(:) .cross. frag%z_coll_unit(:) + + if (.not.any(frag%x_coll(:,:) > 0.0_DP)) return + frag%rmag(:) = .mag. frag%x_coll(:,:) + + call random_number(L_sigma(:,:)) ! Randomize the tangential velocity direction. This helps to ensure that the tangential velocity doesn't completely line up with the angular momentum vector, + ! otherwise we can get an ill-conditioned system + do concurrent(i = 1:nfrag, frag%rmag(i) > 0.0_DP) + frag%v_r_unit(:, i) = frag%x_coll(:, i) / frag%rmag(i) + frag%v_n_unit(:, i) = frag%z_coll_unit(:) + 2e-1_DP * (L_sigma(:,i) - 0.5_DP) + frag%v_n_unit(:, i) = frag%v_n_unit(:, i) / (.mag. frag%v_n_unit(:, i)) + frag%v_t_unit(:, i) = frag%v_n_unit(:, i) .cross. frag%v_r_unit(:, i) + frag%v_t_unit(:, i) = frag%v_t_unit(:, i) / (.mag. frag%v_t_unit(:, i)) + end do + end associate + + return + end subroutine fraggle_set_coordinate_system + + + ! module subroutine symba_set_collresolve_colliders(self, cb, pl, idx) + ! !! author: David A. Minton + ! !! + ! !! Calculate the two-body equivalent values given a set of input collider indices + ! use swiftest_classes, only : swiftest_nbody_system + ! implicit none + ! ! Arguments + ! class(fraggle_colliders), intent(inout) :: self !! Fraggle collider object + ! class(symba_cb), intent(in) :: cb !! Swiftest central body object system object + ! class(symba_pl), intent(in) :: pl !! Swiftest central body object system object + ! integer(I4B), dimension(:), intent(in) :: idx !! Index array of bodies from the pl object to use to calculate a "two-body equivalent" collisional pair + ! ! Internals + ! real(DP), dimension(NDIM, 2) :: mxc, vc + ! real(DP), dimension(NDIM) :: vcom, xcom + + ! associate(colliders => self) + + ! ! Compute orbital angular momentum of pre-impact system + ! 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(:)) + ! vc(:, 1) = colliders%vb(:, 1) - vcom(:) + ! vc(:, 2) = colliders%vb(:, 2) - vcom(:) + + ! colliders%L_orbit(:,:) = mxc(:,:) .cross. vc(:,:) + + ! end associate + + ! return + ! end subroutine symbe_set_collresolve_colliders + + + module subroutine fraggle_set_natural_scale_factors(self, colliders) + !! author: David A. Minton + !! + !! Scales dimenional quantities to ~O(1) with respect to the collisional system. + !! This scaling makes it easier for the non-linear minimization to converge on a solution + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + ! Internals + integer(I4B) :: i + + associate(frag => self) + ! Set scale factors + frag%Escale = 0.5_DP * (colliders%mass(1) * dot_product(colliders%vb(:,1), colliders%vb(:,1)) + colliders%mass(2) * dot_product(colliders%vb(:,2), colliders%vb(:,2))) + frag%dscale = sum(colliders%radius(:)) + frag%mscale = frag%mtot + frag%vscale = sqrt(frag%Escale / frag%mscale) + frag%tscale = frag%dscale / frag%vscale + frag%Lscale = frag%mscale * frag%dscale * frag%vscale + + ! Scale all dimensioned quantities of colliders and fragments + frag%xbcom(:) = frag%xbcom(:) / frag%dscale + frag%vbcom(:) = frag%vbcom(:) / frag%vscale + colliders%xb(:,:) = colliders%xb(:,:) / frag%dscale + colliders%vb(:,:) = colliders%vb(:,:) / frag%vscale + colliders%mass(:) = colliders%mass(:) / frag%mscale + colliders%radius(:) = colliders%radius(:) / frag%dscale + colliders%L_spin(:,:) = colliders%L_spin(:,:) / frag%Lscale + + do i = 1, 2 + colliders%rot(:,i) = colliders%L_spin(:,i) / (colliders%mass(i) * colliders%radius(i)**2 * colliders%Ip(3, i)) + end do + + frag%mtot = frag%mtot / frag%mscale + frag%mass = frag%mass / frag%mscale + frag%radius = frag%radius / frag%dscale + frag%Qloss = frag%Qloss / frag%Escale + end associate + + return + end subroutine fraggle_set_natural_scale_factors + + + module subroutine fraggle_set_original_scale_factors(self, colliders) + !! author: David A. Minton + !! + !! Restores dimenional quantities back to the system units + use, intrinsic :: ieee_exceptions + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + ! Internals + integer(I4B) :: i + logical, dimension(size(IEEE_ALL)) :: fpe_halting_modes + + call ieee_get_halting_mode(IEEE_ALL,fpe_halting_modes) ! Save the current halting modes so we can turn them off temporarily + call ieee_set_halting_mode(IEEE_ALL,.false.) + + associate(frag => self) + + ! Restore scale factors + frag%xbcom(:) = frag%xbcom(:) * frag%dscale + frag%vbcom(:) = frag%vbcom(:) * frag%vscale + + colliders%mass = colliders%mass * frag%mscale + colliders%radius = colliders%radius * frag%dscale + colliders%xb = colliders%xb * frag%dscale + colliders%vb = colliders%vb * frag%vscale + colliders%L_spin = colliders%L_spin * frag%Lscale + do i = 1, 2 + colliders%rot(:,i) = colliders%L_spin(:,i) * (colliders%mass(i) * colliders%radius(i)**2 * colliders%Ip(3, i)) + end do + frag%Qloss = frag%Qloss * frag%Escale + + frag%mtot = frag%mtot * frag%mscale + frag%mass = frag%mass * frag%mscale + frag%radius = frag%radius * frag%dscale + frag%rot = frag%rot / frag%tscale + frag%x_coll = frag%x_coll * frag%dscale + frag%v_coll = frag%v_coll * frag%vscale + + do i = 1, frag%nbody + frag%xb(:, i) = frag%x_coll(:, i) + frag%xbcom(:) + frag%vb(:, i) = frag%v_coll(:, i) + frag%vbcom(:) + end do + + frag%mscale = 1.0_DP + frag%dscale = 1.0_DP + frag%vscale = 1.0_DP + frag%tscale = 1.0_DP + frag%Lscale = 1.0_DP + frag%Escale = 1.0_DP + end associate + call ieee_set_halting_mode(IEEE_ALL,fpe_halting_modes) + + return + end subroutine fraggle_set_original_scale_factors + + +end submodule s_fraggle_set \ No newline at end of file diff --git a/src/fraggle/fraggle_setup.f90 b/src/fraggle/fraggle_setup.f90 new file mode 100644 index 000000000..65e107b03 --- /dev/null +++ b/src/fraggle/fraggle_setup.f90 @@ -0,0 +1,78 @@ +submodule (fraggle_classes) s_fraggle_setup + use swiftest +contains + + module subroutine fraggle_setup_reset_fragments(self) + !! author: David A. Minton + !! + !! Resets all position and velocity-dependent fragment quantities in order to do a fresh calculation (does not reset mass, radius, or other values that get set prior to the call to fraggle_generate) + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self + + self%xb(:,:) = 0.0_DP + self%vb(:,:) = 0.0_DP + self%rot(:,:) = 0.0_DP + self%x_coll(:,:) = 0.0_DP + self%v_coll(:,:) = 0.0_DP + self%v_r_unit(:,:) = 0.0_DP + self%v_t_unit(:,:) = 0.0_DP + self%v_n_unit(:,:) = 0.0_DP + + self%rmag(:) = 0.0_DP + self%rotmag(:) = 0.0_DP + self%v_r_mag(:) = 0.0_DP + self%v_t_mag(:) = 0.0_DP + + self%ke_orbit = 0.0_DP + self%ke_spin = 0.0_DP + self%L_orbit(:) = 0.0_DP + self%L_spin(:) = 0.0_DP + + return + end subroutine fraggle_setup_reset_fragments + + + module subroutine fraggle_setup_fragments(self, n, param) + !! author: David A. Minton + !! + !! Allocates arrays for n fragments in a Fraggle system. Passing n = 0 deallocates all arrays. + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self + integer(I4B), intent(in) :: n + class(swiftest_parameters), intent(in) :: param + + call setup_pl(self, n, param) + if (n < 0) return + + if (allocated(self%x_coll)) deallocate(self%x_coll) + if (allocated(self%v_coll)) deallocate(self%v_coll) + if (allocated(self%v_r_unit)) deallocate(self%v_r_unit) + if (allocated(self%v_t_unit)) deallocate(self%v_t_unit) + if (allocated(self%v_n_unit)) deallocate(self%v_n_unit) + if (allocated(self%rmag)) deallocate(self%rmag) + if (allocated(self%rotmag)) deallocate(self%rotmag) + if (allocated(self%v_r_mag)) deallocate(self%v_r_mag) + if (allocated(self%v_t_mag)) deallocate(self%v_t_mag) + + if (n == 0) return + + allocate(self%x_coll(NDIM,n)) + allocate(self%v_coll(NDIM,n)) + allocate(self%v_r_unit(NDIM,n)) + allocate(self%v_t_unit(NDIM,n)) + allocate(self%v_n_unit(NDIM,n)) + allocate(self%rmag(n)) + allocate(self%rotmag(n)) + allocate(self%v_r_mag(n)) + allocate(self%v_t_mag(n)) + + call self%reset() + + return + end subroutine fraggle_setup_fragments + + + +end submodule s_fraggle_setup \ No newline at end of file diff --git a/src/fraggle/fraggle_util.f90 b/src/fraggle/fraggle_util.f90 new file mode 100644 index 000000000..df8b89c41 --- /dev/null +++ b/src/fraggle/fraggle_util.f90 @@ -0,0 +1,316 @@ +submodule(fraggle_classes) s_fraggle_util + use swiftest +contains + + module subroutine fraggle_util_add_fragments_to_system(frag, colliders, system, param) + !! Author: David A. Minton + !! + !! Adds fragments to the temporary system pl object + implicit none + ! Arguments + class(fraggle_fragments), intent(in) :: frag !! Fraggle fragment system object + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + ! Internals + integer(I4B) :: i, npl_before, npl_after + logical, dimension(:), allocatable :: lexclude + + associate(nfrag => frag%nbody, pl => system%pl, cb => system%cb) + npl_after = pl%nbody + npl_before = npl_after - nfrag + allocate(lexclude(npl_after)) + + pl%status(npl_before+1:npl_after) = ACTIVE + pl%mass(npl_before+1:npl_after) = frag%mass(1:nfrag) + pl%Gmass(npl_before+1:npl_after) = frag%mass(1:nfrag) * param%GU + pl%radius(npl_before+1:npl_after) = frag%radius(1:nfrag) + do concurrent (i = 1:nfrag) + pl%xb(:,npl_before+i) = frag%xb(:,i) + pl%vb(:,npl_before+i) = frag%vb(:,i) + pl%xh(:,npl_before+i) = frag%xb(:,i) - cb%xb(:) + pl%vh(:,npl_before+i) = frag%vb(:,i) - cb%vb(:) + end do + if (param%lrotation) then + pl%Ip(:,npl_before+1:npl_after) = frag%Ip(:,1:nfrag) + pl%rot(:,npl_before+1:npl_after) = frag%rot(:,1:nfrag) + end if + ! This will remove the colliders from the system since we've replaced them with fragments + lexclude(1:npl_after) = .false. + lexclude(colliders%idx(1:colliders%ncoll)) = .true. + where(lexclude(1:npl_after)) + pl%status(1:npl_after) = INACTIVE + elsewhere + pl%status(1:npl_after) = ACTIVE + endwhere + + end associate + + return + end subroutine fraggle_util_add_fragments_to_system + + + module subroutine fraggle_util_ang_mtm(self) + !! Author: David A. Minton + !! + !! Calcualtes the current angular momentum of the fragments + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + ! Internals + integer(I4B) :: i + + associate(frag => self, nfrag => self%nbody) + frag%L_orbit(:) = 0.0_DP + frag%L_spin(:) = 0.0_DP + + do i = 1, nfrag + frag%L_orbit(:) = frag%L_orbit(:) + frag%mass(i) * (frag%x_coll(:, i) .cross. frag%v_coll(:, i)) + frag%L_spin(:) = frag%L_spin(:) + frag%mass(i) * frag%radius(i)**2 * frag%Ip(:, i) * frag%rot(:, i) + end do + end associate + + return + end subroutine fraggle_util_ang_mtm + + + module subroutine fraggle_util_construct_temporary_system(frag, system, param, tmpsys, tmpparam) + !! Author: David A. Minton + !! + !! Constructs a temporary internal system consisting of active bodies and additional fragments. This internal temporary system is used to calculate system energy with and without fragments + !! and optionally including fragments. + implicit none + ! Arguments + class(fraggle_fragments), intent(in) :: frag !! Fraggle fragment system object + class(swiftest_nbody_system), intent(in) :: system !! Original swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + class(swiftest_nbody_system), allocatable, intent(out) :: tmpsys !! Output temporary swiftest nbody system object + class(swiftest_parameters), allocatable, intent(out) :: tmpparam !! Output temporary configuration run parameters + ! Internals + logical, dimension(:), allocatable :: linclude + integer(I4B) :: npl_tot + + associate(nfrag => frag%nbody, pl => system%pl, npl => system%pl%nbody, cb => system%cb) + ! Set up a new system based on the original + if (allocated(tmpparam)) deallocate(tmpparam) + if (allocated(tmpsys)) deallocate(tmpsys) + allocate(tmpparam, source=param) + call setup_construct_system(tmpsys, tmpparam) + + ! No test particles necessary for energy/momentum calcs + call tmpsys%tp%setup(0, param) + + ! Replace the empty central body object with a copy of the original + deallocate(tmpsys%cb) + allocate(tmpsys%cb, source=cb) + + ! Make space for the fragments + npl_tot = npl + nfrag + call tmpsys%pl%setup(npl_tot, tmpparam) + allocate(linclude(npl_tot)) + + ! Fill up the temporary system with all of the original bodies, leaving the spaces for fragments empty until we add them in later + linclude(1:npl) = .true. + linclude(npl+1:npl_tot) = .false. + call tmpsys%pl%fill(pl, linclude) + + ! Scale the temporary system to the natural units of the current Fraggle calculation + call tmpsys%rescale(tmpparam, frag%mscale, frag%dscale, frag%tscale) + + end associate + + return + end subroutine fraggle_util_construct_temporary_system + + + module subroutine fraggle_util_get_energy_momentum(self, colliders, system, param, lbefore) + !! Author: David A. Minton + !! + !! Calculates total system energy in either the pre-collision outcome state (lbefore = .true.) or the post-collision outcome state (lbefore = .false.) + !! This subrourtine works by building a temporary internal massive body object out of the non-excluded bodies and optionally with fragments appended. + !! This will get passed to the energy calculation subroutine so that energy is computed exactly the same way is it is in the main program. + !! This will temporarily expand the massive body object in a temporary system object called tmpsys to feed it into symba_energy + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + logical, intent(in) :: lbefore !! Flag indicating that this the "before" state of the system, with colliders included and fragments excluded or vice versa + ! Internals + integer(I4B) :: i, nplm + logical, dimension(:), allocatable :: lexclude + logical :: lk_plpl + logical, save :: ladd_frags + class(swiftest_nbody_system), allocatable, save :: tmpsys + class(swiftest_parameters), allocatable, save :: tmpparam + integer(I4B) :: npl_before, npl_after + + associate(frag => self, nfrag => self%nbody, pl => system%pl, cb => system%cb) + + ! Because we're making a copy of the massive body object with the excludes/fragments appended, we need to deallocate the + ! big k_plpl array and recreate it when we're done, otherwise we run the risk of blowing up the memory by + ! allocating two of these ginormous arrays simulteouously. This is not particularly efficient, but as this + ! subroutine should be called relatively infrequently, it shouldn't matter too much. + + npl_before = pl%nbody + npl_after = npl_before + nfrag + + ! Build the exluded body logical mask + allocate(lexclude(npl_after)) + if (lbefore) then + lexclude(1:npl_before) = .false. + lexclude(npl_before+1:npl_after) = .true. + call fraggle_util_construct_temporary_system(frag, system, param, tmpsys, tmpparam) + else + lexclude(1:npl_after) = .false. + lexclude(colliders%idx(1:colliders%ncoll)) = .true. + if (.not.allocated(tmpsys)) then + write(*,*) "Error in fraggle_util_get_energy_momentum. This must be called with lbefore=.true. at least once before calling it with lbefore=.false." + call util_exit(FAILURE) + end if + call fraggle_util_add_fragments_to_system(frag, colliders, tmpsys, tmpparam) + end if + + call tmpsys%pl%index(param) + + call tmpsys%get_energy_and_momentum(param) + + + ! Calculate the current fragment energy and momentum balances + if (lbefore) then + frag%Lorbit_before(:) = tmpsys%Lorbit(:) + frag%Lspin_before(:) = tmpsys%Lspin(:) + frag%Ltot_before(:) = tmpsys%Ltot(:) + frag%ke_orbit_before = tmpsys%ke_orbit + frag%ke_spin_before = tmpsys%ke_spin + frag%pe_before = tmpsys%pe + frag%Etot_before = tmpsys%te + else + frag%Lorbit_after(:) = tmpsys%Lorbit(:) + frag%Lspin_after(:) = tmpsys%Lspin(:) + frag%Ltot_after(:) = tmpsys%Ltot(:) + frag%ke_orbit_after = tmpsys%ke_orbit + frag%ke_spin_after = tmpsys%ke_spin + frag%pe_after = tmpsys%pe + frag%Etot_after = tmpsys%te + end if + end associate + + return + end subroutine fraggle_util_get_energy_momentum + + + module subroutine fraggle_util_restructure(self, colliders, try, f_spin, r_max_start) + !! Author: David A. Minton + !! + !! Restructure the inputs after a failed attempt failed to find a set of positions and velocities that satisfy the energy and momentum constraints + implicit none + ! Arguments + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + integer(I4B), intent(in) :: try !! The current number of times Fraggle has tried to find a solution + real(DP), intent(inout) :: f_spin !! Fraction of energy/momentum that goes into spin. This decreases ater a failed attempt + real(DP), intent(inout) :: r_max_start !! The maximum radial distance that the position calculation starts with. This increases after a failed attempt + ! Internals + integer(I4B) :: i + real(DP), save :: ke_tot_deficit, r_max_start_old, ke_avg_deficit_old + real(DP), dimension(:), allocatable :: m_frag_new, rad_frag_new + real(DP), dimension(:,:), allocatable :: xb_frag_new, vb_frag_new, Ip_frag_new, rot_frag_new + real(DP) :: delta_r, delta_r_max, ke_avg_deficit + real(DP), parameter :: ke_avg_deficit_target = 0.0_DP + + ! Introduce a bit of noise in the radius determination so we don't just flip flop between similar failed positions + associate(frag => self) + call random_number(delta_r_max) + delta_r_max = sum(colliders%radius(:)) * (1.0_DP + 2e-1_DP * (delta_r_max - 0.5_DP)) + if (try == 1) then + ke_tot_deficit = - (frag%ke_budget - frag%ke_orbit - frag%ke_spin) + ke_avg_deficit = ke_tot_deficit + delta_r = delta_r_max + else + ! Linearly interpolate the last two failed solution ke deficits to find a new distance value to try + ke_tot_deficit = ke_tot_deficit - (frag%ke_budget - frag%ke_orbit - frag%ke_spin) + ke_avg_deficit = ke_tot_deficit / try + delta_r = (r_max_start - r_max_start_old) * (ke_avg_deficit_target - ke_avg_deficit_old) / (ke_avg_deficit - ke_avg_deficit_old) + if (abs(delta_r) > delta_r_max) delta_r = sign(delta_r_max, delta_r) + end if + r_max_start_old = r_max_start + r_max_start = r_max_start + delta_r ! The larger lever arm can help if the problem is in the angular momentum step + ke_avg_deficit_old = ke_avg_deficit + + if (f_spin > epsilon(1.0_DP)) then ! Try reducing the fraction in spin + f_spin = f_spin / 2 + else + f_spin = 0.0_DP + end if + end associate + + return + end subroutine fraggle_util_restructure + + + module subroutine fraggle_util_shift_vector_to_origin(m_frag, vec_frag) + !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton + !! + !! Adjusts the position or velocity of the fragments as needed to align them with the origin + implicit none + ! Arguments + real(DP), dimension(:), intent(in) :: m_frag !! Fragment masses + real(DP), dimension(:,:), intent(inout) :: vec_frag !! Fragment positions or velocities in the center of mass frame + + ! Internals + real(DP), dimension(NDIM) :: mvec_frag, COM_offset + integer(I4B) :: i, nfrag + real(DP) :: mtot + + mvec_frag(:) = 0.0_DP + mtot = sum(m_frag) + nfrag = size(m_frag) + + do i = 1, nfrag + mvec_frag = mvec_frag(:) + vec_frag(:,i) * m_frag(i) + end do + COM_offset(:) = -mvec_frag(:) / mtot + do i = 1, nfrag + vec_frag(:, i) = vec_frag(:, i) + COM_offset(:) + end do + + return + end subroutine fraggle_util_shift_vector_to_origin + + + module function fraggle_util_vmag_to_vb(v_r_mag, v_r_unit, v_t_mag, v_t_unit, m_frag, vcom) result(vb) + !! Author: David A. Minton + !! + !! Converts radial and tangential velocity magnitudes into barycentric velocity + implicit none + ! Arguments + real(DP), dimension(:), intent(in) :: v_r_mag !! Unknown radial component of fragment velocity vector + real(DP), dimension(:), intent(in) :: v_t_mag !! Tangential component of velocity vector set previously by angular momentum constraint + real(DP), dimension(:,:), intent(in) :: v_r_unit, v_t_unit !! Radial and tangential unit vectors for each fragment + real(DP), dimension(:), intent(in) :: m_frag !! Fragment masses + real(DP), dimension(:), intent(in) :: vcom !! Barycentric velocity of collisional system center of mass + ! Result + real(DP), dimension(:,:), allocatable :: vb + ! Internals + integer(I4B) :: i, nfrag + + allocate(vb, mold=v_r_unit) + ! Make sure the velocity magnitude stays positive + nfrag = size(m_frag) + do i = 1, nfrag + vb(:,i) = abs(v_r_mag(i)) * v_r_unit(:, i) + end do + ! In order to keep satisfying the kinetic energy constraint, we must shift the origin of the radial component of the velocities to the center of mass + call fraggle_util_shift_vector_to_origin(m_frag, vb) + + do i = 1, nfrag + vb(:, i) = vb(:, i) + v_t_mag(i) * v_t_unit(:, i) + vcom(:) + end do + + return + end function fraggle_util_vmag_to_vb + + +end submodule s_fraggle_util diff --git a/src/fragmentation/fragmentation.f90 b/src/fragmentation/fragmentation.f90 deleted file mode 100644 index 73cef6240..000000000 --- a/src/fragmentation/fragmentation.f90 +++ /dev/null @@ -1,1178 +0,0 @@ -submodule(swiftest_classes) s_fragmentation - use swiftest -contains - - module subroutine fragmentation_initialize(system, param, family, x, v, L_spin, Ip, mass, radius, & - nfrag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, Qloss, lfailure) - !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Initialize the position and velocity of fragments to conserve energy and momentum. - use, intrinsic :: ieee_exceptions - implicit none - ! Arguments - class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - integer(I4B), dimension(:), intent(in) :: family !! Index of bodies involved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Two-body equivalent position, vector, spin momentum, and rotational inertia values for the collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Two-body equivalent mass and radii for the bodies in the collision - integer(I4B), intent(inout) :: nfrag !! Number of fragments to generate - real(DP), dimension(:), allocatable, intent(inout) :: m_frag, rad_frag !! Distribution of fragment mass and radii - real(DP), dimension(:,:), allocatable, intent(inout) :: Ip_frag !! Fragment rotational inertia vectors - real(DP), dimension(:,:), allocatable, intent(inout) :: xb_frag, vb_frag, rot_frag !! Fragment barycentric position, barycentric velocity, and rotation vectors - real(DP), intent(inout) :: Qloss !! Energy lost during the collision - logical, intent(out) :: lfailure !! Answers the question: Should this have been a merger instead? - ! Internals - real(DP) :: mscale, dscale, vscale, tscale, Lscale, Escale ! Scale factors that reduce quantities to O(~1) in the collisional system - real(DP) :: mtot - real(DP), dimension(NDIM) :: xcom, vcom - integer(I4B) :: ii, npl_new - logical, dimension(:), allocatable :: lexclude - real(DP), dimension(NDIM, 2) :: rot, L_orb - real(DP), dimension(:,:), allocatable :: x_frag, v_frag, v_r_unit, v_t_unit, v_h_unit - real(DP), dimension(:), allocatable :: rmag, rotmag, v_r_mag, v_t_mag - real(DP), dimension(NDIM) :: Ltot_before - real(DP), dimension(NDIM) :: Ltot_after - real(DP) :: Etot_before, ke_orbit_before, ke_spin_before, pe_before, Lmag_before - real(DP) :: Etot_after, ke_orbit_after, ke_spin_after, pe_after, Lmag_after, dEtot, dLmag - real(DP), dimension(NDIM) :: L_frag_tot, L_frag_orb - real(DP) :: ke_frag_budget, ke_frag_orbit, ke_radial, ke_frag_spin, ke_avg_deficit, ke_avg_deficit_old - real(DP), dimension(NDIM) :: x_col_unit, y_col_unit, z_col_unit - character(len=*), parameter :: fmtlabel = "(A14,10(ES11.4,1X,:))" - integer(I4B) :: try, subtry - integer(I4B), parameter :: NFRAG_MIN = 7 !! The minimum allowable number of fragments (set to 6 because that's how many unknowns are needed in the tangential velocity calculation) - real(DP) :: r_max_start, r_max_start_old, r_max, f_spin - real(DP), parameter :: Ltol = 10 * epsilon(1.0_DP) - real(DP), parameter :: Etol = 1e-9_DP - integer(I4B), parameter :: MAXTRY = 3000 - integer(I4B), parameter :: TANTRY = 3 - logical, dimension(size(IEEE_ALL)) :: fpe_halting_modes, fpe_quiet_modes - class(swiftest_nbody_system), allocatable :: tmpsys - class(swiftest_parameters), allocatable :: tmpparam - - if (nfrag < NFRAG_MIN) then - write(*,*) "symba_frag_pos needs at least ",NFRAG_MIN," fragments, but only ",nfrag," were given." - lfailure = .true. - return - end if - - call ieee_get_halting_mode(IEEE_ALL,fpe_halting_modes) ! Save the current halting modes so we can turn them off temporarily - fpe_quiet_modes(:) = .false. - call ieee_set_halting_mode(IEEE_ALL,fpe_quiet_modes) - - f_spin = 0.05_DP - - allocate(x_frag, source=xb_frag) - allocate(v_frag, source=vb_frag) - - associate(pl => system%pl, npl => system%pl%nbody) - npl_new = npl + nfrag - allocate(lexclude(npl_new)) - lexclude(1:npl) = pl%status(1:npl) == INACTIVE - lexclude(npl+1:npl_new) = .true. - end associate - - call set_scale_factors() - call define_coordinate_system() - call construct_temporary_system() - - ! Calculate the initial energy of the system without the collisional family - call calculate_system_energy(linclude_fragments=.false.) - - r_max_start = norm2(x(:,2) - x(:,1)) - try = 1 - lfailure = .false. - ke_avg_deficit = 0.0_DP - do while (try < MAXTRY) - lfailure = .false. - ke_avg_deficit_old = ke_avg_deficit - ke_avg_deficit = 0.0_DP - subtry = 1 - do - ! Initialize the fragments with 0 velocity and spin so we can divide up the balance between the tangential, radial, and spin components while conserving momentum - xb_frag(:,:) = 0.0_DP - vb_frag(:,:) = 0.0_DP - rot_frag(:,:) = 0.0_DP - v_t_mag(:) = 0.0_DP - v_r_mag(:) = 0.0_DP - call set_fragment_position_vectors() - call calculate_system_energy(linclude_fragments=.true.) - ke_frag_budget = -dEtot - Qloss - call set_fragment_tan_vel(lfailure) - ke_avg_deficit = ke_avg_deficit - ke_radial - subtry = subtry + 1 - if (.not.lfailure .or. subtry == TANTRY) exit - !write(*,*) 'Trying new arrangement' - end do - ke_avg_deficit = ke_avg_deficit / subtry - !if (lfailure) write(*,*) 'Failed to find tangential velocities' - - if (.not.lfailure) then - call calculate_system_energy(linclude_fragments=.true.) - ke_radial = -dEtot - Qloss - call set_fragment_radial_velocities(lfailure) - ! if (lfailure) write(*,*) 'Failed to find radial velocities' - if (.not.lfailure) then - call calculate_system_energy(linclude_fragments=.true.) - ! write(*,*) 'Qloss : ',Qloss - ! write(*,*) '-dEtot: ',-dEtot - ! write(*,*) 'delta : ',abs((dEtot + Qloss)) - if ((abs(dEtot + Qloss) > Etol) .or. (dEtot > 0.0_DP)) then - !write(*,*) 'Failed due to high energy error: ',dEtot, abs(dEtot + Qloss) / Etol - lfailure = .true. - else if (abs(dLmag) / Lmag_before > Ltol) then - !write(*,*) 'Failed due to high angular momentum error: ', dLmag / Lmag_before - lfailure = .true. - end if - end if - end if - - if (.not.lfailure) exit - call restructure_failed_fragments() - try = try + 1 - end do - call restore_scale_factors() - call calculate_system_energy(linclude_fragments=.true.) - - ! write(*, "(' -------------------------------------------------------------------------------------')") - ! write(*, "(' Final diagnostic')") - ! write(*, "(' -------------------------------------------------------------------------------------')") - ! if (lfailure) then - ! write(*,*) "symba_frag_pos failed after: ",try," tries" - ! do ii = 1, nfrag - ! vb_frag(:, ii) = vcom(:) - ! end do - ! else - ! write(*,*) "symba_frag_pos succeeded after: ",try," tries" - ! write(*, "(' dL_tot should be very small' )") - ! write(*,fmtlabel) ' dL_tot |', dLmag / Lmag_before - ! write(*, "(' dE_tot should be negative and equal to Qloss' )") - ! write(*,fmtlabel) ' dE_tot |', dEtot / abs(Etot_before) - ! write(*,fmtlabel) ' Qloss |', -Qloss / abs(Etot_before) - ! write(*,fmtlabel) ' dE - Qloss |', (Etot_after - Etot_before + Qloss) / abs(Etot_before) - ! end if - ! write(*, "(' -------------------------------------------------------------------------------------')") - - call ieee_set_halting_mode(IEEE_ALL,fpe_halting_modes) ! Save the current halting modes so we can turn them off temporarily - - return - - contains - - ! Because of the complexity of this procedure, we have chosen to break it up into a series of nested subroutines. - subroutine set_scale_factors() - !! author: David A. Minton - !! - !! Scales dimenional quantities to ~O(1) with respect to the collisional system. This scaling makes it easier for the non-linear minimization - !! to converge on a solution - implicit none - integer(I4B) :: i - - ! Find the center of mass of the collisional system - mtot = sum(mass(:)) - xcom(:) = (mass(1) * x(:,1) + mass(2) * x(:,2)) / mtot - vcom(:) = (mass(1) * v(:,1) + mass(2) * v(:,2)) / mtot - - ! Set scale factors - dscale = sum(radius(:)) - mscale = mtot - vscale = (mass(1) * norm2(v(:,1) - vcom(:)) + mass(2) * norm2(v(:,2) - vcom(:))) / mtot - tscale = dscale / vscale - Lscale = mscale * dscale * vscale - Escale = mscale * vscale**2 - - xcom(:) = xcom(:) / dscale - vcom(:) = vcom(:) / vscale - - mtot = mtot / mscale - mass = mass / mscale - radius = radius / dscale - x = x / dscale - v = v / vscale - L_spin = L_spin / Lscale - do i = 1, 2 - rot(:,i) = L_spin(:,i) / (mass(i) * radius(i)**2 * Ip(3, i)) - end do - - m_frag = m_frag / mscale - rad_frag = rad_frag / dscale - Qloss = Qloss / Escale - - return - end subroutine set_scale_factors - - - subroutine restore_scale_factors() - !! author: David A. Minton - !! - !! Restores dimenional quantities back to the system units - implicit none - integer(I4B) :: i - - call ieee_set_halting_mode(IEEE_ALL,.false.) - ! Restore scale factors - xcom(:) = xcom(:) * dscale - vcom(:) = vcom(:) * vscale - - mtot = mtot * mscale - mass = mass * mscale - radius = radius * dscale - x = x * dscale - v = v * vscale - L_spin = L_spin * Lscale - do i = 1, 2 - rot(:,i) = L_spin(:,i) * (mass(i) * radius(i)**2 * Ip(3, i)) - end do - - m_frag = m_frag * mscale - rad_frag = rad_frag * dscale - rot_frag = rot_frag / tscale - x_frag = x_frag * dscale - v_frag = v_frag * vscale - Qloss = Qloss * Escale - - do i = 1, nfrag - xb_frag(:, i) = x_frag(:, i) + xcom(:) - vb_frag(:, i) = v_frag(:, i) + vcom(:) - end do - - Etot_before = Etot_before * Escale - pe_before = pe_before * Escale - ke_spin_before = ke_spin_before * Escale - ke_orbit_before = ke_orbit_before * Escale - Ltot_before = Ltot_before * Lscale - Lmag_before = Lmag_before * Lscale - Etot_after = Etot_after * Escale - pe_after = pe_after * Escale - ke_spin_after = ke_spin_after * Escale - ke_orbit_after = ke_orbit_after * Escale - Ltot_after = Ltot_after * Lscale - Lmag_after = Lmag_after * Lscale - - dLmag = norm2(Ltot_after(:) - Ltot_before(:)) - dEtot = Etot_after - Etot_before - - call tmpsys%rescale(tmpparam, mscale**(-1), dscale**(-1), tscale**(-1)) - - mscale = 1.0_DP - dscale = 1.0_DP - vscale = 1.0_DP - tscale = 1.0_DP - Lscale = 1.0_DP - Escale = 1.0_DP - - return - end subroutine restore_scale_factors - - - subroutine define_coordinate_system() - !! author: David A. Minton - !! - !! Defines the collisional coordinate system, including the unit vectors of both the system and individual fragments. - implicit none - integer(I4B) :: i - real(DP), dimension(NDIM) :: x_cross_v, xc, vc, delta_r, delta_v - real(DP) :: r_col_norm, v_col_norm - - allocate(rmag(nfrag)) - allocate(rotmag(nfrag)) - allocate(v_r_mag(nfrag)) - allocate(v_t_mag(nfrag)) - allocate(v_r_unit(NDIM,nfrag)) - allocate(v_t_unit(NDIM,nfrag)) - allocate(v_h_unit(NDIM,nfrag)) - - rmag(:) = 0.0_DP - rotmag(:) = 0.0_DP - v_r_mag(:) = 0.0_DP - v_t_mag(:) = 0.0_DP - v_r_unit(:,:) = 0.0_DP - v_t_unit(:,:) = 0.0_DP - v_h_unit(:,:) = 0.0_DP - - L_orb(:, :) = 0.0_DP - ! Compute orbital angular momentum of pre-impact system - do i = 1, 2 - xc(:) = x(:, i) - xcom(:) - vc(:) = v(:, i) - vcom(:) - x_cross_v(:) = xc(:) .cross. vc(:) - L_orb(:, i) = mass(i) * x_cross_v(:) - end do - - ! Compute orbital angular momentum of pre-impact system. This will be the normal vector to the collision fragment plane - L_frag_tot(:) = L_spin(:, 1) + L_spin(:, 2) + L_orb(:, 1) + L_orb(:, 2) - - delta_v(:) = v(:, 2) - v(:, 1) - v_col_norm = norm2(delta_v(:)) - delta_r(:) = x(:, 2) - x(:, 1) - r_col_norm = norm2(delta_r(:)) - - ! We will initialize fragments on a plane defined by the pre-impact system, with the z-axis aligned with the angular momentum vector - ! and the y-axis aligned with the pre-impact distance vector. - y_col_unit(:) = delta_r(:) / r_col_norm - z_col_unit(:) = L_frag_tot(:) / norm2(L_frag_tot) - ! The cross product of the y- by z-axis will give us the x-axis - x_col_unit(:) = y_col_unit(:) .cross. z_col_unit(:) - - return - end subroutine define_coordinate_system - - - subroutine construct_temporary_system() - !! Author: David A. Minton - !! - !! Constructs a temporary internal system consisting of active bodies and additional fragments. This internal temporary system is used to calculate system energy with and without fragments - !! and optionally including fragments. - implicit none - ! Internals - logical, dimension(:), allocatable :: lexclude_tmp - - associate(pl => system%pl, npl => system%pl%nbody, cb => system%cb) - if (size(lexclude) /= npl + nfrag) then - allocate(lexclude_tmp(npl_new)) - lexclude_tmp(1:npl) = lexclude(1:npl) - call move_alloc(lexclude_tmp, lexclude) - end if - where (pl%status(1:npl) == INACTIVE) ! Safety check in case one of the included bodies has been previously deactivated - lexclude(1:npl) = .true. - elsewhere - lexclude(1:npl) = .false. - end where - lexclude(npl+1:npl_new) = .true. - if (allocated(tmpparam)) deallocate(tmpparam) - allocate(tmpparam, source=param) - call setup_construct_system(tmpsys, param) - call tmpsys%tp%setup(0, param) - deallocate(tmpsys%cb) - allocate(tmpsys%cb, source=cb) - call tmpsys%pl%setup(npl + nfrag, tmpparam) - call tmpsys%pl%fill(pl, .not.lexclude) - call tmpsys%rescale(tmpparam, mscale, dscale, tscale) - - end associate - - return - end subroutine construct_temporary_system - - - subroutine add_fragments_to_tmpsys() - !! Author: David A. Minton - !! - !! Adds fragments to the temporary system pl object - implicit none - ! Internals - integer(I4B) :: i - - associate(pl => system%pl, npl => system%pl%nbody) - - tmpsys%pl%mass(npl+1:npl_new) = m_frag(1:nfrag) - tmpsys%pl%Gmass(npl+1:npl_new) = m_frag(1:nfrag) * tmpparam%GU - tmpsys%pl%radius(npl+1:npl_new) = rad_frag(1:nfrag) - do concurrent (i = 1:nfrag) - tmpsys%pl%xb(:,npl+i) = xb_frag(:,i) - tmpsys%pl%vb(:,npl+i) = vb_frag(:,i) - tmpsys%pl%xh(:,npl+i) = xb_frag(:,i) - tmpsys%cb%xb(:) - tmpsys%pl%vh(:,npl+i) = vb_frag(:,i) - tmpsys%cb%vb(:) - end do - if (tmpparam%lrotation) then - tmpsys%pl%Ip(:,npl+1:npl_new) = Ip_frag(:,1:nfrag) - tmpsys%pl%rot(:,npl+1:npl_new) = rot_frag(:,1:nfrag) - end if - ! Disable the collisional family for subsequent energy calculations and coordinate shifts - lexclude(family(:)) = .true. - lexclude(npl+1:npl_new) = .false. - where(lexclude(:)) - tmpsys%pl%status(:) = INACTIVE - elsewhere - tmpsys%pl%status(:) = ACTIVE - end where - - end associate - - return - end subroutine add_fragments_to_tmpsys - - - subroutine calculate_system_energy(linclude_fragments) - !! Author: David A. Minton - !! - !! Calculates total system energy, including all bodies in the pl list that do not have a corresponding value of the lexclude array that is true - !! and optionally including fragments. - implicit none - ! Arguments - logical, intent(in) :: linclude_fragments - ! Internals - integer(I4B) :: i, nplm - logical, dimension(:), allocatable :: lexclude_tmp - logical :: lk_plpl - - ! Because we're making a copy of symba_pl with the excludes/fragments appended, we need to deallocate the - ! big k_plpl array and recreate it when we're done, otherwise we run the risk of blowing up the memory by - ! allocating two of these ginormous arrays simulteouously. This is not particularly efficient, but as this - ! subroutine should be called relatively infrequently, it shouldn't matter too much. - - ! Build the internal planet list out of the non-excluded bodies and optionally with fragments appended. This - ! will get passed to the energy calculation subroutine so that energy is computed exactly the same way is it - ! is in the main program. This will temporarily expand the planet list in a temporary system object called tmpsys to feed it into symba_energy - associate(pl => system%pl, npl => system%pl%nbody, cb => system%cb) - - where (lexclude(1:npl_new)) - tmpsys%pl%status(1:npl_new) = INACTIVE - elsewhere - tmpsys%pl%status(1:npl_new) = ACTIVE - end where - - select type(plwksp => tmpsys%pl) - class is (symba_pl) - select type(param) - class is (symba_parameters) - plwksp%nplm = count(plwksp%Gmass > param%Gmtiny / mscale) - end select - end select - - lk_plpl = allocated(pl%k_plpl) - if (lk_plpl) deallocate(pl%k_plpl) - - call tmpsys%pl%eucl_index() - - call tmpsys%get_energy_and_momentum(param) - - ! Restore the big array - deallocate(tmpsys%pl%k_plpl) - select type(pl) - class is (symba_pl) - select type(param) - class is (symba_parameters) - pl%nplm = count(pl%Gmass > param%Gmtiny) - end select - end select - - if (lk_plpl) call pl%eucl_index() - - ! Calculate the current fragment energy and momentum balances - if (linclude_fragments) then - Ltot_after(:) = tmpsys%Lorbit(:) + tmpsys%Lspin(:) - Lmag_after = norm2(Ltot_after(:)) - ke_orbit_after = tmpsys%ke_orbit - ke_spin_after = tmpsys%ke_spin - pe_after = tmpsys%pe - Etot_after = ke_orbit_after + ke_spin_after + pe_after - dEtot = Etot_after - Etot_before - dLmag = norm2(Ltot_after(:) - Ltot_before(:)) - else - Ltot_before(:) = tmpsys%Lorbit(:) + tmpsys%Lspin(:) - Lmag_before = norm2(Ltot_before(:)) - ke_orbit_before = tmpsys%ke_orbit - ke_spin_before = tmpsys%ke_spin - pe_before = tmpsys%pe - Etot_before = ke_orbit_before + ke_spin_before + pe_before - end if - end associate - - return - end subroutine calculate_system_energy - - - subroutine shift_vector_to_origin(m_frag, vec_frag) - !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Adjusts the position or velocity of the fragments as needed to align them with the origin - implicit none - ! Arguments - real(DP), dimension(:), intent(in) :: m_frag !! Fragment masses - real(DP), dimension(:,:), intent(inout) :: vec_frag !! Fragment positions or velocities in the center of mass frame - - ! Internals - real(DP), dimension(NDIM) :: mvec_frag, COM_offset - integer(I4B) :: i - - mvec_frag(:) = 0.0_DP - - do i = 1, nfrag - mvec_frag = mvec_frag(:) + vec_frag(:,i) * m_frag(i) - end do - COM_offset(:) = -mvec_frag(:) / mtot - do i = 1, nfrag - vec_frag(:, i) = vec_frag(:, i) + COM_offset(:) - end do - - return - end subroutine shift_vector_to_origin - - - subroutine set_fragment_position_vectors() - !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Initializes the orbits of the fragments around the center of mass. The fragments are initially placed on a plane defined by the - !! pre-impact angular momentum. They are distributed on an ellipse surrounding the center of mass. - !! The initial positions do not conserve energy or momentum, so these need to be adjusted later. - - implicit none - real(DP) :: dis, rad - real(DP), dimension(NDIM) :: L_sigma - logical, dimension(:), allocatable :: loverlap - integer(I4B) :: i, j - - allocate(loverlap(nfrag)) - - ! Place the fragments into a region that is big enough that we should usually not have overlapping bodies - ! An overlapping bodies will collide in the next time step, so it's not a major problem if they do (it just slows the run down) - r_max = r_max_start - rad = sum(radius(:)) - - ! We will treat the first two fragments of the list as special cases. They get initialized the maximum distances apart along the original impactor distance vector. - ! This is done because in a regular disruption, the first body is the largest, the second the second largest, and the rest are smaller equal-mass fragments. - - call random_number(x_frag(:,3:nfrag)) - loverlap(:) = .true. - do while (any(loverlap(3:nfrag))) - x_frag(:, 1) = x(:, 1) - xcom(:) - x_frag(:, 2) = x(:, 2) - xcom(:) - r_max = r_max + 0.1_DP * rad - do i = 3, nfrag - if (loverlap(i)) then - call random_number(x_frag(:,i)) - x_frag(:, i) = 2 * (x_frag(:, i) - 0.5_DP) * r_max - end if - end do - loverlap(:) = .false. - do j = 1, nfrag - do i = j + 1, nfrag - dis = norm2(x_frag(:,j) - x_frag(:,i)) - loverlap(i) = loverlap(i) .or. (dis <= (rad_frag(i) + rad_frag(j))) - end do - end do - end do - call shift_vector_to_origin(m_frag, x_frag) - - do i = 1, nfrag - rmag(i) = norm2(x_frag(:, i)) - v_r_unit(:, i) = x_frag(:, i) / rmag(i) - call random_number(L_sigma(:)) ! Randomize the tangential velocity direction. This helps to ensure that the tangential velocity doesn't completely line up with the angular momentum vector, - ! otherwise we can get an ill-conditioned system - v_h_unit(:, i) = z_col_unit(:) + 2e-1_DP * (L_sigma(:) - 0.5_DP) - v_h_unit(:, i) = v_h_unit(:, i) / norm2(v_h_unit(:, i)) - v_t_unit(:, i) = v_h_unit(:, i) .cross. v_r_unit(:, i) - xb_frag(:,i) = x_frag(:,i) + xcom(:) - end do - - call add_fragments_to_tmpsys() - - xcom(:) = 0.0_DP - do i = 1, nfrag - xcom(:) = xcom(:) + m_frag(i) * xb_frag(:,i) - end do - xcom(:) = xcom(:) / mtot - - return - end subroutine set_fragment_position_vectors - - - subroutine set_fragment_tan_vel(lerr) - !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Adjusts the tangential velocities and spins of a collection of fragments such that they conserve angular momentum without blowing the fragment kinetic energy budget. - !! This procedure works in several stages, with a goal to solve the angular and linear momentum constraints on the fragments, while still leaving a positive balance of - !! our fragment kinetic energy (ke_frag_budget) that we can put into the radial velocity distribution. - !! - !! The first thing we'll try to do is solve for the tangential velocities of the first 6 fragments, using angular and linear momentum as constraints and an initial - !! tangential velocity distribution for the remaining bodies (if there are any) that distributes their angular momentum equally between them. - !! If that doesn't work and we blow our kinetic energy budget, we will attempt to find a tangential velocity distribution that minimizes the kinetic energy while - !! conserving momentum. - !! - !! A failure will trigger a restructuring of the fragments so we will try new values of the radial position distribution. - implicit none - ! Arguments - logical, intent(out) :: lerr - ! Internals - integer(I4B) :: i - real(DP), parameter :: TOL = 1e-4_DP - real(DP), dimension(:), allocatable :: v_t_initial - real(DP), dimension(nfrag) :: kefrag - type(lambda_obj) :: spinfunc - type(lambda_obj_err) :: objective_function - real(DP), dimension(NDIM) :: L_frag_spin, L_remainder, Li, rot_L, rot_ke - - lerr = .false. - - if (ke_frag_budget < 0.0_DP) then - write(*,*) 'Negative ke_frag_budget: ',ke_frag_budget - r_max_start = r_max_start / 2 - lerr = .true. - return - end if - - allocate(v_t_initial, mold=v_t_mag) - - L_frag_spin(:) = 0.0_DP - ke_frag_spin = 0.0_DP - ! Start the first two bodies with the same rotation as the original two impactors, then distribute the remaining angular momentum among the rest - do i = 1, 2 - rot_frag(:, i) = rot(:, i) - L_frag_spin(:) = L_frag_spin(:) + m_frag(i) * rad_frag(i)**2 * Ip_frag(3, i) * rot_frag(:, i) - end do - L_frag_orb(:) = L_frag_tot(:) - L_frag_spin(:) - L_frag_spin(:) = 0.0_DP - do i = 1, nfrag - ! Convert a fraction (f_spin) of either the remaining angular momentum or kinetic energy budget into spin, whichever gives the smaller rotation so as not to blow any budgets - rot_ke(:) = sqrt(2 * f_spin * ke_frag_budget / (nfrag * m_frag(i) * rad_frag(i)**2 * Ip_frag(3, i))) * L_frag_orb(:) / norm2(L_frag_orb(:)) - rot_L(:) = f_spin * L_frag_orb(:) / (nfrag * m_frag(i) * rad_frag(i)**2 * Ip_frag(3, i)) - if (norm2(rot_ke) < norm2(rot_L)) then - rot_frag(:,i) = rot_frag(:, i) + rot_ke(:) - else - rot_frag(:, i) = rot_frag(:, i) + rot_L(:) - end if - L_frag_spin(:) = L_frag_spin(:) + m_frag(i) * rad_frag(i)**2 * Ip_frag(3, i) * rot_frag(:, i) - ke_frag_spin = ke_frag_spin + m_frag(i) * Ip_frag(3, i) * rad_frag(i)**2 * dot_product(rot_frag(:, i), rot_frag(:, i)) - end do - ke_frag_spin = 0.5_DP * ke_frag_spin - ! Convert a fraction of the pre-impact angular momentum into fragment spin angular momentum - L_frag_orb(:) = L_frag_tot(:) - L_frag_spin(:) - L_remainder(:) = L_frag_orb(:) - ! Next we will solve for the tangential component of the velocities that both conserves linear momentum and uses the remaining angular momentum not used in spin. - ! This will be done using a linear solver that solves for the tangential velocities of the first 6 fragments, constrained by the linear and angular momentum vectors, - ! which is embedded in a non-linear minimizer that will adjust the tangential velocities of the remaining i>6 fragments to minimize kinetic energy for a given momentum solution - ! The initial conditions fed to the minimizer for the fragments will be the remaining angular momentum distributed between the fragments. - do i = 1, nfrag - v_t_initial(i) = norm2(L_remainder(:)) / ((nfrag - i + 1) * m_frag(i) * norm2(x_frag(:,i))) - Li(:) = m_frag(i) * x_frag(:,i) .cross. v_t_initial(i) * v_t_unit(:, i) - L_remainder(:) = L_remainder(:) - Li(:) - end do - - ! Find the local kinetic energy minimum for the system that conserves linear and angular momentum - objective_function = lambda_obj(tangential_objective_function, lerr) - v_t_mag(7:nfrag) = util_minimize_bfgs(objective_function, nfrag-6, v_t_initial(7:nfrag), TOL, lerr) - ! Now that the KE-minimized values of the i>6 fragments are found, calculate the momentum-conserving solution for tangential velociteis - v_t_initial(7:nfrag) = v_t_mag(7:nfrag) - v_t_mag(1:nfrag) = solve_fragment_tan_vel(v_t_mag_input=v_t_initial(7:nfrag), lerr=lerr) - - ! Perform one final shift of the radial velocity vectors to align with the center of mass of the collisional system (the origin) - vb_frag(:,1:nfrag) = vmag_to_vb(v_r_mag(1:nfrag), v_r_unit(:,1:nfrag), v_t_mag(1:nfrag), v_t_unit(:,1:nfrag), m_frag(1:nfrag), vcom(:)) - call add_fragments_to_tmpsys() - - ! Now do a kinetic energy budget check to make sure we are still within the budget. - kefrag = 0.0_DP - do concurrent(i = 1:nfrag) - v_frag(:, i) = vb_frag(:, i) - vcom(:) - kefrag(i) = m_frag(i) * dot_product(vb_frag(:, i), vb_frag(:, i)) - end do - ke_frag_orbit = 0.5_DP * sum(kefrag(:)) - ke_radial = ke_frag_budget - ke_frag_orbit - ke_frag_spin - - ! If we are over the energy budget, flag this as a failure so we can try again - lerr = (ke_radial < 0.0_DP) - ! write(*,*) 'Tangential' - ! write(*,*) 'Failure? ',lerr - ! write(*,*) 'ke_frag_budget: ',ke_frag_budget - ! write(*,*) 'ke_frag_spin : ',ke_frag_spin - ! write(*,*) 'ke_tangential : ',ke_frag_orbit - ! write(*,*) 'ke_remainder : ',ke_radial - - return - end subroutine set_fragment_tan_vel - - - function tangential_objective_function(v_t_mag_input, lerr) result(fval) - !! Author: David A. Minton - !! - !! Objective function for evaluating how close our fragment velocities get to minimizing KE error from our required value - implicit none - ! Arguments - real(DP), dimension(:), intent(in) :: v_t_mag_input !! Unknown tangential component of velocity vector set previously by angular momentum constraint - logical, intent(out) :: lerr !! Error flag - ! Result - real(DP) :: fval - ! Internals - integer(I4B) :: i - real(DP), dimension(NDIM,nfrag) :: v_shift - real(DP), dimension(nfrag) :: v_t_new, kearr - real(DP) :: keo - - lerr = .false. - - v_t_new(:) = solve_fragment_tan_vel(v_t_mag_input=v_t_mag_input(:), lerr=lerr) - v_shift(:,:) = vmag_to_vb(v_r_mag, v_r_unit, v_t_new, v_t_unit, m_frag, vcom) - - kearr = 0.0_DP - do concurrent(i = 1:nfrag) - kearr(i) = m_frag(i) * dot_product(v_shift(:, i), v_shift(:, i)) - end do - keo = 0.5_DP * sum(kearr(:)) - fval = keo - lerr = .false. - - return - end function tangential_objective_function - - - function solve_fragment_tan_vel(lerr, v_t_mag_input) result(v_t_mag_output) - !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Adjusts the positions, velocities, and spins of a collection of fragments such that they conserve angular momentum - implicit none - ! Arguments - logical, intent(out) :: lerr !! Error flag - real(DP), dimension(:), optional, intent(in) :: v_t_mag_input !! Unknown tangential velocities for fragments 7:nfrag - ! Internals - integer(I4B) :: i - ! Result - real(DP), dimension(:), allocatable :: v_t_mag_output - - real(DP), dimension(2 * NDIM, 2 * NDIM) :: A ! LHS of linear equation used to solve for momentum constraint in Gauss elimination code - real(DP), dimension(2 * NDIM) :: b ! RHS of linear equation used to solve for momentum constraint in Gauss elimination code - real(DP), dimension(NDIM) :: L_lin_others, L_orb_others, L, vtmp - - v_frag(:,:) = 0.0_DP - lerr = .false. - - ! We have 6 constraint equations (2 vector constraints in 3 dimensions each) - ! The first 3 are that the linear momentum of the fragments is zero with respect to the collisional barycenter - ! The second 3 are that the sum of the angular momentum of the fragments is conserved from the pre-impact state - L_lin_others(:) = 0.0_DP - L_orb_others(:) = 0.0_DP - do i = 1, nfrag - if (i <= 2 * NDIM) then ! The tangential velocities of the first set of bodies will be the unknowns we will solve for to satisfy the constraints - A(1:3, i) = m_frag(i) * v_t_unit(:, i) - L(:) = v_r_unit(:, i) .cross. v_t_unit(:, i) - A(4:6, i) = m_frag(i) * rmag(i) * L(:) - else if (present(v_t_mag_input)) then - vtmp(:) = v_t_mag_input(i - 6) * v_t_unit(:, i) - L_lin_others(:) = L_lin_others(:) + m_frag(i) * vtmp(:) - L(:) = x_frag(:, i) .cross. vtmp(:) - L_orb_others(:) = L_orb_others(:) + m_frag(i) * L(:) - end if - end do - b(1:3) = -L_lin_others(:) - b(4:6) = L_frag_orb(:) - L_orb_others(:) - allocate(v_t_mag_output(nfrag)) - v_t_mag_output(1:6) = util_solve_linear_system(A, b, 6, lerr) - if (present(v_t_mag_input)) v_t_mag_output(7:nfrag) = v_t_mag_input(:) - - return - end function solve_fragment_tan_vel - - - subroutine set_fragment_radial_velocities(lerr) - !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! - !! Adjust the fragment velocities to set the fragment orbital kinetic energy. This will minimize the difference between the fragment kinetic energy and the energy budget - implicit none - ! Arguments - logical, intent(out) :: lerr - ! Internals - real(DP), parameter :: TOL = 1e-10_DP - integer(I4B) :: i, j - real(DP), dimension(:), allocatable :: v_r_initial, v_r_sigma - real(DP), dimension(:,:), allocatable :: v_r - real(DP), dimension(nfrag) :: kearr, kespinarr - type(lambda_obj) :: objective_function - - ! Set the "target" ke_orbit_after (the value of the orbital kinetic energy that the fragments ought to have) - - allocate(v_r_initial, source=v_r_mag) - ! Initialize radial velocity magnitudes with a random value that is approximately 10% of that found by distributing the kinetic energy equally - allocate(v_r_sigma, source=v_r_mag) - call random_number(v_r_sigma(1:nfrag)) - v_r_sigma(1:nfrag) = sqrt(1.0_DP + 2 * (v_r_sigma(1:nfrag) - 0.5_DP) * 1e-4_DP) - v_r_initial(1:nfrag) = v_r_sigma(1:nfrag) * sqrt(abs(2 * ke_radial) / (m_frag(1:nfrag) * nfrag)) - - ! Initialize the lambda function using a structure constructor that calls the init method - ! Minimize the ke objective function using the BFGS optimizer - objective_function = lambda_obj(radial_objective_function) - v_r_mag = util_minimize_bfgs(objective_function, nfrag, v_r_initial, TOL, lerr) - ! Shift the radial velocity vectors to align with the center of mass of the collisional system (the origin) - vb_frag(:,1:nfrag) = vmag_to_vb(v_r_mag(1:nfrag), v_r_unit(:,1:nfrag), v_t_mag(1:nfrag), v_t_unit(:,1:nfrag), m_frag(1:nfrag), vcom(:)) - do i = 1, nfrag - v_frag(:, i) = vb_frag(:, i) - vcom(:) - end do - call add_fragments_to_tmpsys() - - do concurrent(i = 1:nfrag) - kearr(i) = m_frag(i) * dot_product(vb_frag(:, i), vb_frag(:, i)) - kespinarr(i) = m_frag(i) * Ip_frag(3, i) * rad_frag(i)**2 * dot_product(rot_frag(:,i), rot_frag(:,i)) - end do - ke_frag_orbit = 0.5_DP * sum(kearr(:)) - ke_frag_spin = 0.5_DP * sum(kespinarr(:)) - ! write(*,*) 'Radial' - ! write(*,*) 'Failure? ',lerr - ! write(*,*) 'ke_frag_budget: ',ke_frag_budget - ! write(*,*) 'ke_frag_spin : ',ke_frag_spin - ! write(*,*) 'ke_frag_orbit : ',ke_frag_orbit - ! write(*,*) 'ke_remainder : ',ke_frag_budget - (ke_frag_orbit + ke_frag_spin) - lerr = .false. - - return - end subroutine set_fragment_radial_velocities - - - function radial_objective_function(v_r_mag_input) result(fval) - !! Author: David A. Minton - !! - !! Objective function for evaluating how close our fragment velocities get to minimizing KE error from our required value - implicit none - ! Arguments - real(DP), dimension(:), intent(in) :: v_r_mag_input !! Unknown radial component of fragment velocity vector - ! Result - real(DP) :: fval !! The objective function result, which is the square of the difference between the calculated fragment kinetic energy and our target - !! Minimizing this brings us closer to our objective - ! Internals - integer(I4B) :: i - real(DP), dimension(:,:), allocatable :: v_shift - real(DP), dimension(nfrag) :: kearr - real(DP) :: keo - - allocate(v_shift, mold=vb_frag) - v_shift(:,:) = vmag_to_vb(v_r_mag_input, v_r_unit, v_t_mag, v_t_unit, m_frag, vcom) - do concurrent(i = 1:nfrag) - kearr(i) = m_frag(i) * (Ip_frag(3, i) * rad_frag(i)**2 * dot_product(rot_frag(:, i), rot_frag(:, i)) + dot_product(v_shift(:, i), v_shift(:, i))) - end do - keo = 2 * ke_frag_budget - sum(kearr(:)) - ! The following ensures that fval = 0 is a local minimum, which is what the BFGS method is searching for - fval = (keo / (2 * ke_radial))**2 - - return - end function radial_objective_function - - - function vmag_to_vb(v_r_mag, v_r_unit, v_t_mag, v_t_unit, m_frag, vcom) result(vb) - !! Author: David A. Minton - !! - !! Converts radial and tangential velocity magnitudes into barycentric velocity - implicit none - ! Arguments - real(DP), dimension(:), intent(in) :: v_r_mag !! Unknown radial component of fragment velocity vector - real(DP), dimension(:), intent(in) :: v_t_mag !! Tangential component of velocity vector set previously by angular momentum constraint - real(DP), dimension(:,:), intent(in) :: v_r_unit, v_t_unit !! Radial and tangential unit vectors for each fragment - real(DP), dimension(:), intent(in) :: m_frag !! Fragment masses - real(DP), dimension(:), intent(in) :: vcom !! Barycentric velocity of collisional system center of mass - ! Result - real(DP), dimension(:,:), allocatable :: vb - ! Internals - integer(I4B) :: i - - allocate(vb, mold=v_r_unit) - ! Make sure the velocity magnitude stays positive - do i = 1, nfrag - vb(:,i) = abs(v_r_mag(i)) * v_r_unit(:, i) - end do - ! In order to keep satisfying the kinetic energy constraint, we must shift the origin of the radial component of the velocities to the center of mass - call shift_vector_to_origin(m_frag, vb) - - do i = 1, nfrag - vb(:, i) = vb(:, i) + v_t_mag(i) * v_t_unit(:, i) + vcom(:) - end do - - return - end function vmag_to_vb - - - subroutine restructure_failed_fragments() - !! Author: David A. Minton - !! - !! We failed to find a set of positions and velocities that satisfy all the constraints, and so we will alter the fragments and try again. - implicit none - integer(I4B) :: i - real(DP), dimension(:), allocatable :: m_frag_new, rad_frag_new - real(DP), dimension(:,:), allocatable :: xb_frag_new, vb_frag_new, Ip_frag_new, rot_frag_new - real(DP) :: delta_r, delta_r_max - real(DP), parameter :: ke_avg_deficit_target = 0.0_DP - - ! Introduce a bit of noise in the radius determination so we don't just flip flop between similar failed positions - call random_number(delta_r_max) - delta_r_max = sum(radius(:)) * (1.0_DP + 2e-1_DP * (delta_r_max - 0.5_DP)) - if (try > 2) then - ! Linearly interpolate the last two failed solution ke deficits to find a new distance value to try - delta_r = (r_max_start - r_max_start_old) * (ke_avg_deficit_target - ke_avg_deficit_old) / (ke_avg_deficit - ke_avg_deficit_old) - if (abs(delta_r) > delta_r_max) delta_r = sign(delta_r_max, delta_r) - else - delta_r = delta_r_max - end if - r_max_start_old = r_max_start - r_max_start = r_max_start + delta_r ! The larger lever arm can help if the problem is in the angular momentum step - if (f_spin > epsilon(1.0_DP)) then - f_spin = f_spin / 2 - else - f_spin = 0.0_DP - end if - - return - end subroutine restructure_failed_fragments - end subroutine fragmentation_initialize - - - module subroutine fragmentation_regime(Mcb, m1, m2, rad1, rad2, xh1, xh2, vb1, vb2, den1, den2, regime, Mlr, Mslr, mtiny, Qloss) - !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Determine the collisional regime of two colliding bodies. - !! Current version requires all values to be converted to SI units prior to calling the function - !! References: - !! Kokubo, E., Genda, H., 2010. Formation of Terrestrial Planets from Protoplanets Under a Realistic Accretion - !! Condition. ApJL 714, L21. https://doi.org/10.1088/2041-8205/714/1/L21 - !! Leinhardt, Z.M., Stewart, S.T., 2012. Collisions between Gravity-dominated Bodies. I. Outcome Regimes and Scaling - !! Laws 745, 79. https://doi.org/10.1088/0004-637X/745/1/79 - !! Mustill, A.J., Davies, M.B., Johansen, A., 2018. The dynamical evolution of transiting planetary systems including - !! a realistic collision prescription. Mon Not R Astron Soc 478, 2896–2908. https://doi.org/10.1093/mnras/sty1273 - !! Rufu, R., Aharonson, O., 2019. Impact Dynamics of Moons Within a Planetary Potential. J. Geophys. Res. Planets 124, - !! 1008–1019. https://doi.org/10.1029/2018JE005798 - !! Stewart, S.T., Leinhardt, Z.M., 2012. Collisions between Gravity-dominated Bodies. II. The Diversity of Impact - !! Outcomes during the End Stage of Planet Formation. ApJ 751, 32. https://doi.org/10.1088/0004-637X/751/1/32 - !! - implicit none - ! Arguments - integer(I4B), intent(out) :: regime - real(DP), intent(out) :: Mlr, Mslr - real(DP), intent(in) :: Mcb, m1, m2, rad1, rad2, den1, den2, mtiny - real(DP), dimension(:), intent(in) :: xh1, xh2, vb1, vb2 - real(DP), intent(out) :: Qloss !! The residual energy after the collision - ! Constants - integer(I4B), parameter :: N1 = 1 !number of objects with mass equal to the largest remnant from LS12 - integer(I4B), parameter :: N2 = 2 !number of objects with mass larger than second largest remnant from LS12 - real(DP), parameter :: DENSITY1 = 1000.0_DP !standard density parameter from LS12 [kg/m3] - real(DP), parameter :: MU_BAR = 0.37_DP !0.385#0.37#0.3333# 3.978 # 1/3 material parameter for hydrodynamic planet-size bodies (LS12) - real(DP), parameter :: BETA = 2.85_DP !slope of sfd for remnants from LS12 2.85 - real(DP), parameter :: C1 = 2.43_DP !! Kokubo & Genda (2010) eq. (3) - real(DP), parameter :: C2 = -0.0408_DP !! Kokubo & Genda (2010) eq. (3) - real(DP), parameter :: C3 = 1.86_DP !! Kokubo & Genda (2010) eq. (3) - real(DP), parameter :: C4 = 1.08_DP !! Kokubo & Genda (2010) eq. (3) - real(DP), parameter :: CRUFU = 2.0_DP - 3 * MU_BAR ! central potential variable from Rufu and Aharonson (2019) - real(DP), parameter :: SUPERCAT_QRATIO = 1.8_DP ! See Section 4.1 of LS12 - ! Internals - real(DP) :: a1, alpha, aint, b, bcrit, c_star, egy, zeta, l, lint, mu, phi, theta - real(DP) :: Qr, Qrd_pstar, Qr_erosion, Qr_supercat - real(DP) :: Vhr, Verosion, Vescp, Vhill, Vimp, Vsupercat - real(DP) :: Mint, Mtot - real(DP) :: Rp, rhill - real(DP) :: Mresidual - real(DP) :: U_binding - - Vimp = norm2(vb2(:) - vb1(:)) - b = calc_b(xh2, vb2, xh1, vb1) - l = (rad1 + rad2) * (1 - b) - egy = 0.5_DP * dot_product(vb1, vb1) - GC * Mcb / norm2(xh1) - a1 = - GC * Mcb / 2.0_DP / egy - Mtot = m1 + m2 - mu = (m1 * m2) / Mtot - if (l < 2 * rad2) then - !calculate Mint - phi = 2 * acos((l - rad2) / rad2) - aint = rad2**2 * (PI - (phi - sin(phi)) / 2.0_DP) - lint = 2 * sqrt(rad2**2 - (rad2 - l / 2.0_DP) ** 2) - Mint = aint * lint ![kg] - alpha = (l**2) * (3 * rad2 - l) / (4 * (rad2**3)) - else - alpha = 1.0_DP - Mint = m2 - end if - Rp = (3 * (m1 / den1 + alpha * m2 / den2) / (4 * PI))**(1.0_DP/3.0_DP) ! (Mustill et al. 2018) - c_star = calc_c_star(Rp) - !calculate Vescp - Vescp = sqrt(2 * GC * Mtot / Rp) !Mustill et al. 2018 eq 6 - !calculate rhill - rhill = a1 * (m1 / 3.0_DP / (Mcb + m1))**(1.0_DP/3.0_DP) - !calculate Vhill - if ((rad2 + rad1) < rhill) then - Vhill = sqrt(2 * GC * m1 * ((rhill**2 - rhill * (rad1 + rad2)) / & - (rhill**2 - 0.5_DP * (rad1 + rad2)**2)) / (rad1 + rad2)) - else - Vhill = Vescp - end if - !calculate Qr_pstar - Qrd_pstar = calc_Qrd_pstar(m1, m2, alpha, c_star) * (Vhill / Vescp)**CRUFU !Rufu and Aharaonson eq (3) - !calculate Verosion - Qr_erosion = 2 * (1.0_DP - m1 / Mtot) * Qrd_pstar - Verosion = (2 * Qr_erosion * Mtot / mu)** (1.0_DP / 2.0_DP) - Qr = mu*(Vimp**2) / Mtot / 2.0_DP - !calculate mass largest remnant Mlr - Mlr = (1.0_DP - Qr / Qrd_pstar / 2.0_DP) * Mtot ! [kg] # LS12 eq (5) - !calculate Vsupercat - Qr_supercat = SUPERCAT_QRATIO * Qrd_pstar ! See LS12 Section 4.1 - Vsupercat = sqrt(2 * Qr_supercat * Mtot / mu) - !calculate Vhr - zeta = (m1 - m2) / Mtot - theta = 1.0_DP - b - Vhr = Vescp * (C1 * zeta**2 * theta**(2.5_DP) + C2 * zeta**2 + C3 * theta**(2.5_DP) + C4) ! Kokubo & Genda (2010) eq. (3) - bcrit = rad1 / (rad1 + rad2) - Qloss = 0.0_DP - U_binding = (3.0_DP * Mtot) / (5.0_DP * Rp) ! LS12 eq. 27 - - if ((m1 < mtiny).or.(m2 < mtiny)) then - regime = COLLRESOLVE_REGIME_MERGE !perfect merging regime - Mlr = Mtot - Mslr = 0.0_DP - Qloss = 0.0_DP - write(*,*) "FORCE MERGE" - else - if( Vimp < Vescp) then - regime = COLLRESOLVE_REGIME_MERGE !perfect merging regime - Mlr = Mtot - Mslr = 0.0_DP - Qloss = 0.0_DP - else if (Vimp < Verosion) then - if (b < bcrit) then - regime = COLLRESOLVE_REGIME_MERGE !partial accretion regime" - Mlr = Mtot - Mslr = 0.0_DP - Qloss = 0.0_DP - else if ((b > bcrit) .and. (Vimp < Vhr)) then - regime = COLLRESOLVE_REGIME_MERGE ! graze and merge - Mlr = Mtot - Mslr = 0.0_DP - Qloss = 0.0_DP - else - Mlr = m1 - Mslr = calc_Qrd_rev(m2, m1, Mint, den1, den2, Vimp, c_star) - regime = COLLRESOLVE_REGIME_HIT_AND_RUN !hit and run - Qloss = (c_star + 1.0_DP) * U_binding ! Qr - end if - else if (Vimp > Verosion .and. Vimp < Vsupercat) then - if (m2 < 0.001_DP * m1) then - regime = COLLRESOLVE_REGIME_MERGE !cratering regime" - Mlr = Mtot - Mslr = 0.0_DP - Qloss = 0.0_DP - else - Mslr = Mtot * (3.0_DP - BETA) * (1.0_DP - N1 * Mlr / Mtot) / (N2 * BETA) ! LS12 eq (37) - regime = COLLRESOLVE_REGIME_DISRUPTION !disruption - Qloss = (c_star + 1.0_DP) * U_binding ! Qr - Qr_erosion - end if - else if (Vimp > Vsupercat) then - Mlr = Mtot * 0.1_DP * (Qr / (Qrd_pstar * SUPERCAT_QRATIO))**(-1.5_DP) !LS12 eq (44) - Mslr = Mtot * (3.0_DP - BETA) * (1.0_DP - N1 * Mlr / Mtot) / (N2 * BETA) !LS12 eq (37) - regime = COLLRESOLVE_REGIME_SUPERCATASTROPHIC ! supercatastrophic - Qloss = (c_star + 1.0_DP) * U_binding ! Qr - Qr_supercat - else - write(*,*) "Error no regime found in symba_regime" - end if - end if - Mresidual = Mtot - Mlr - Mslr - if (Mresidual < 0.0_DP) then ! prevents final masses from going negative - Mlr = Mlr + Mresidual - end if - - return - - ! Internal functions - contains - function calc_Qrd_pstar(Mtarg, Mp, alpha, c_star) result(Qrd_pstar) - !! author: Jennifer L.L. Pouplin and Carlisle A. Wishard - !! - !! Calculates the corrected Q* for oblique impacts. See Eq. (15) of LS12. - !! Reference: - !! Leinhardt, Z.M., Stewart, S.T., 2012. Collisions between Gravity-dominated Bodies. I. Outcome Regimes and Scaling - !! Laws 745, 79. https://doi.org/10.1088/0004-637X/745/1/79 - !! - implicit none - ! Arguments - real(DP),intent(in) :: Mtarg, Mp, alpha, c_star - ! Result - real(DP) :: Qrd_pstar - ! Internals - real(DP) :: Qrd_star1, mu_alpha, mu, Qrd_star - - ! calc mu, mu_alpha - mu = (Mtarg * Mp) / (Mtarg + Mp) ! [kg] - mu_alpha = (Mtarg * alpha * Mp) / (Mtarg + alpha * Mp) ! [kg] - ! calc Qrd_star1 - Qrd_star1 = (c_star * 4 * PI * DENSITY1 * GC * Rp**2) / 5.0_DP - ! calc Qrd_star - Qrd_star = Qrd_star1 * (((Mp / Mtarg + 1.0_DP)**2) / (4 * Mp / Mtarg))**(2.0_DP / (3.0_DP * MU_BAR) - 1.0_DP) !(eq 23) - ! calc Qrd_pstar, v_pstar - Qrd_pstar = ((mu / mu_alpha)**(2.0_DP - 3.0_DP * MU_BAR / 2.0_DP)) * Qrd_star ! (eq 15) - - return - end function calc_Qrd_pstar - - function calc_Qrd_rev(Mp, Mtarg, Mint, den1, den2, Vimp, c_star) result(Mslr) - !! author: Jennifer L.L. Pouplin and Carlisle A. Wishard - !! - !! Calculates mass of second largest fragment. - !! - implicit none - ! Arguments - real(DP),intent(in) :: Mp, Mtarg, Mint, den1, den2, Vimp, c_star - ! Result - real(DP) :: Mslr - ! Internals - real(DP) :: mtot_rev, mu_rev, gamma_rev, Qrd_star1, Qrd_star, mu_alpha_rev - real(DP) :: Qrd_pstar, Rc1, Qr_rev, Qrd_pstar_rev, Qr_supercat_rev - - ! calc Mslr, Rc1, mu, gammalr - mtot_rev = Mint + Mp - Rc1 = (3 * (Mint / den1 + Mp / den2) / (4 * PI))**(1.0_DP/3.0_DP) ! [m] Mustill et al 2018 - mu_rev = (Mint * Mp) / mtot_rev ! [kg] eq 49 LS12 - mu_alpha_rev = (Mtarg * alpha * Mp) / (Mtarg + alpha * Mp) - gamma_rev = Mint / Mp ! eq 50 LS12 - !calc Qr_rev - Qr_rev = mu_rev * (Vimp**2) / (2 * mtot_rev) - ! calc Qrd_star1, v_star1 - Qrd_star1 = (c_star * 4 * PI * mtot_rev * GC ) / Rc1 / 5.0_DP - ! calc Qrd_pstar_rev - Qrd_star = Qrd_star1 * (((gamma_rev + 1.0_DP)**2) / (4 * gamma_rev)) ** (2.0_DP / (3.0_DP * MU_BAR) - 1.0_DP) !(eq 52) - Qrd_pstar = Qrd_star * ((mu_rev / mu_alpha_rev)**(2.0_DP - 3.0_DP * MU_BAR / 2.0_DP)) - Qrd_pstar_rev = Qrd_pstar * (Vhill / Vescp)**CRUFU !Rufu and Aharaonson eq (3) - !calc Qr_supercat_rev - Qr_supercat_rev = 1.8_DP * Qrd_pstar_rev - if (Qr_rev > Qr_supercat_rev ) then - Mslr = mtot_rev * (0.1_DP * ((Qr_rev / (Qrd_pstar_rev * 1.8_DP))**(-1.5_DP))) !eq (44) - else if ( Qr_rev < Qrd_pstar_rev ) then - Mslr = Mp - else - Mslr = (1.0_DP - Qr_rev / Qrd_pstar_rev / 2.0_DP) * (mtot_rev) ! [kg] #(eq 5) - end if - - if ( Mslr > Mp ) Mslr = Mp !check conservation of mass - - return - end function calc_Qrd_rev - - function calc_b(proj_pos, proj_vel, targ_pos, targ_vel) result(sintheta) - !! author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Calculates the impact factor b = sin(theta), where theta is the angle between the relative velocity - !! and distance vectors of the target and projectile bodies. See Fig. 2 of Leinhardt and Stewart (2012) - !! - implicit none - !! Arguments - real(DP), dimension(:), intent(in) :: proj_pos, proj_vel, targ_pos, targ_vel - !! Result - real(DP) :: sintheta - !! Internals - real(DP), dimension(NDIM) :: imp_vel, distance, x_cross_v - - imp_vel(:) = proj_vel(:) - targ_vel(:) - distance(:) = proj_pos(:) - targ_pos(:) - x_cross_v(:) = distance(:) .cross. imp_vel(:) - sintheta = norm2(x_cross_v(:)) / norm2(distance(:)) / norm2(imp_vel(:)) - return - end function calc_b - - function calc_c_star(Rc1) result(c_star) - !! author: David A. Minton - !! - !! Calculates c_star as a function of impact equivalent radius. It inteRpolates between 5 for ~1 km sized bodies to - !! 1.8 for ~10000 km sized bodies. See LS12 Fig. 4 for details. - !! - implicit none - !! Arguments - real(DP), intent(in) :: Rc1 - !! Result - real(DP) :: c_star - !! Internals - real(DP), parameter :: loR = 1.0e3_DP ! Lower bound of inteRpolation size (m) - real(DP), parameter :: hiR = 1.0e7_DP ! Upper bound of inteRpolation size (m) - real(DP), parameter :: loval = 5.0_DP ! Value of C* at lower bound - real(DP), parameter :: hival = 1.9_DP ! Value of C* at upper bound - - if (Rc1 < loR) then - c_star = loval - else if (Rc1 < hiR) then - c_star = loval + (hival - loval) * log(Rc1 / loR) / log(hiR /loR) - else - c_star = hival - end if - return - end function calc_c_star - - end subroutine fragmentation_regime - -end submodule s_fragmentation \ No newline at end of file diff --git a/src/helio/helio_coord.f90 b/src/helio/helio_coord.f90 deleted file mode 100644 index f40781810..000000000 --- a/src/helio/helio_coord.f90 +++ /dev/null @@ -1,113 +0,0 @@ -submodule (helio_classes) s_helio_coord - use swiftest -contains - - module subroutine helio_coord_vb2vh_pl(self, cb) - !! author: David A. Minton - !! - !! Convert massive bodies from barycentric to heliocentric coordinates (velocity only) - !! - !! Adapted from David E. Kaufmann's Swifter routine coord_vb2vh.f90 - !! Adapted from Hal Levison's Swift routine coord_vb2vh.f - implicit none - ! Arguments - class(helio_pl), intent(inout) :: self !! Helio massive body object - class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object - ! Internals - integer(I4B) :: i - - if (self%nbody == 0) return - - associate(pl => self, npl => self%nbody) - do i = 1, NDIM - cb%vb(i) = -sum(pl%Gmass(1:npl) * pl%vb(i, 1:npl)) / cb%Gmass - pl%vh(i, 1:npl) = pl%vb(i, 1:npl) - cb%vb(i) - end do - end associate - - return - end subroutine helio_coord_vb2vh_pl - - - module subroutine helio_coord_vb2vh_tp(self, vbcb) - !! author: David A. Minton - !! - !! Convert test particles from barycentric to heliocentric coordinates (velocity only) - !! - !! Adapted from David E. Kaufmann's Swifter routine coord_vb2vh_tp.f90 - !! Adapted from Hal Levison's Swift routine coord_vb2h_tp.f - implicit none - ! Arguments - class(helio_tp), intent(inout) :: self !! Helio massive body object - real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body - - if (self%nbody == 0) return - - associate(tp => self, ntp => self%nbody) - where (tp%lmask(1:ntp)) - tp%vh(1, 1:ntp) = tp%vb(1, 1:ntp) - vbcb(1) - tp%vh(2, 1:ntp) = tp%vb(2, 1:ntp) - vbcb(2) - tp%vh(3, 1:ntp) = tp%vb(3, 1:ntp) - vbcb(3) - end where - end associate - - return - end subroutine helio_coord_vb2vh_tp - - - module subroutine helio_coord_vh2vb_pl(self, cb) - !! author: David A. Minton - !! - !! Convert massive bodies from heliocentric to barycentric coordinates (velocity only) - !! - !! Adapted from David E. Kaufmann's Swifter routine coord_vh2vb.f90 - !! Adapted from Hal Levison's Swift routine coord_vh2b.f - implicit none - ! Arguments - class(helio_pl), intent(inout) :: self !! Helio massive body object - class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object - ! Internals - integer(I4B) :: i - real(DP) :: Gmtot - - if (self%nbody == 0) return - - associate(pl => self, npl => self%nbody) - Gmtot = cb%Gmass + sum(pl%Gmass(1:npl)) - do i = 1, NDIM - cb%vb(i) = -sum(pl%Gmass(1:npl) * pl%vh(i, 1:npl)) / Gmtot - pl%vb(i, 1:npl) = pl%vh(i, 1:npl) + cb%vb(i) - end do - end associate - - return - end subroutine helio_coord_vh2vb_pl - - - module subroutine helio_coord_vh2vb_tp(self, vbcb) - !! author: David A. Minton - !! - !! Convert test particles from heliocentric to barycentric coordinates (velocity only) - !! - !! Adapted from David E. Kaufmann's Swifter routine coord_vh2vb_tp.f90 - !! Adapted from Hal Levison's Swift routine coord_vh2b_tp.f - implicit none - ! Arguments - class(helio_tp), intent(inout) :: self !! Helio massive body object - real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body - - if (self%nbody == 0) return - - associate(tp => self, ntp => self%nbody) - where (tp%lmask(1:ntp)) - tp%vb(1, 1:ntp) = tp%vh(1, 1:ntp) + vbcb(1) - tp%vb(2, 1:ntp) = tp%vh(2, 1:ntp) + vbcb(2) - tp%vb(3, 1:ntp) = tp%vh(3, 1:ntp) + vbcb(3) - end where - end associate - - return - end subroutine helio_coord_vh2vb_tp - -end submodule s_helio_coord - diff --git a/src/helio/helio_kick.f90 b/src/helio/helio_kick.f90 index eebd17f53..8e7571a0b 100644 --- a/src/helio/helio_kick.f90 +++ b/src/helio/helio_kick.f90 @@ -65,9 +65,9 @@ module subroutine helio_kick_getacch_tp(self, system, param, t, lbeg) associate(tp => self, cb => system%cb, pl => system%pl, npl => system%pl%nbody) system%lbeg = lbeg if (system%lbeg) then - call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) + call tp%accel_int(pl%Gmass(1:npl), pl%xbeg(:,1:npl), npl) else - call tp%accel_int(pl%Gmass(:), pl%xend(:,:), npl) + call tp%accel_int(pl%Gmass(1:npl), pl%xend(:,1:npl), npl) end if if (param%loblatecb) call tp%accel_obl(system) if (param%lextra_force) call tp%accel_user(system, param, t, lbeg) @@ -99,7 +99,7 @@ module subroutine helio_kick_vb_pl(self, system, param, t, dt, lbeg) if (self%nbody == 0) return associate(pl => self, npl => self%nbody) - pl%ah(:,:) = 0.0_DP + pl%ah(:, 1:npl) = 0.0_DP call pl%accel(system, param, t, lbeg) if (lbeg) then call pl%set_beg_end(xbeg = pl%xh) @@ -136,7 +136,7 @@ module subroutine helio_kick_vb_tp(self, system, param, t, dt, lbeg) if (self%nbody == 0) return associate(tp => self, ntp => self%nbody) - tp%ah(:,:) = 0.0_DP + tp%ah(:, 1:ntp) = 0.0_DP call tp%accel(system, param, t, lbeg) do concurrent(i = 1:ntp, tp%lmask(i)) tp%vb(:, i) = tp%vb(:, i) + tp%ah(:, i) * dt diff --git a/src/helio/helio_setup.f90 b/src/helio/helio_setup.f90 new file mode 100644 index 000000000..cf5f57d8a --- /dev/null +++ b/src/helio/helio_setup.f90 @@ -0,0 +1,24 @@ +submodule(helio_classes) s_helio_setup + use swiftest +contains + + module subroutine helio_setup_initialize_system(self, param) + !! author: David A. Minton + !! + !! Initialize a Helio nbody system from files, converting all heliocentric quantities to barycentric. + !! + implicit none + ! Arguments + class(helio_nbody_system), intent(inout) :: self !! Helio nbody system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + + call whm_setup_initialize_system(self, param) + call self%pl%h2b(self%cb) + call self%tp%h2b(self%cb) + call self%pl%sort("mass", ascending=.false.) + call self%pl%index(param) + + return + end subroutine helio_setup_initialize_system + +end submodule s_helio_setup \ No newline at end of file diff --git a/src/io/io.f90 b/src/io/io.f90 index 2fa42dcc1..eacaacf48 100644 --- a/src/io/io.f90 +++ b/src/io/io.f90 @@ -13,12 +13,11 @@ module subroutine io_conservation_report(self, param, lterminal) logical, intent(in) :: lterminal !! Indicates whether to output information to the terminal screen ! Internals real(DP), dimension(NDIM) :: Ltot_now, Lorbit_now, Lspin_now - real(DP), dimension(NDIM), save :: Ltot_last, Lorbit_last, Lspin_last - real(DP), save :: ke_orbit_last, ke_spin_last, pe_last, Eorbit_last real(DP) :: ke_orbit_now, ke_spin_now, pe_now, Eorbit_now real(DP) :: Eorbit_error, Etotal_error, Ecoll_error - real(DP) :: Mtot_now, Merror - real(DP) :: Lmag_now, Lerror + real(DP) :: GMtot_now + real(DP) :: Lerror, Merror + character(len=STRMAX) :: errmsg character(len=*), parameter :: EGYFMT = '(ES23.16,10(",",ES23.16,:))' ! Format code for all simulation output character(len=*), parameter :: EGYHEADER = '("t,Eorbit,Ecollisions,Lx,Ly,Lz,Mtot")' integer(I4B), parameter :: EGYIU = 72 @@ -27,68 +26,66 @@ module subroutine io_conservation_report(self, param, lterminal) "; D(Eorbit+Ecollisions)/|E0| = ", ES12.5, & "; DM/M0 = ", ES12.5)' - associate(system => self, pl => self%pl, cb => self%cb, npl => self%pl%nbody, Ecollisions => self%Ecollisions, Lescape => self%Lescape, Mescape => self%Mescape, & - Euntracked => self%Euntracked, Eorbit_orig => param%Eorbit_orig, Mtot_orig => param%Mtot_orig, & - Ltot_orig => param%Ltot_orig(:), Lmag_orig => param%Lmag_orig, Lorbit_orig => param%Lorbit_orig(:), Lspin_orig => param%Lspin_orig(:), & - lfirst => param%lfirstenergy) - if (param%energy_out /= "") then - if (lfirst .and. (param%out_stat /= "OLD")) then - open(unit = EGYIU, file = param%energy_out, form = "formatted", status = "replace", action = "write") + associate(system => self, pl => self%pl, cb => self%cb, npl => self%pl%nbody) + if ((param%out_type == REAL4_TYPE) .or. (param%out_type == REAL8_TYPE) .and. (param%energy_out /= "")) then + if (param%lfirstenergy .and. (param%out_stat /= "OLD")) then + open(unit = EGYIU, file = param%energy_out, form = "formatted", status = "replace", action = "write", err = 667, iomsg = errmsg) + write(EGYIU,EGYHEADER, err = 667, iomsg = errmsg) else - open(unit = EGYIU, file = param%energy_out, form = "formatted", status = "old", action = "write", position = "append") - write(EGYIU,EGYHEADER) + open(unit = EGYIU, file = param%energy_out, form = "formatted", status = "old", action = "write", position = "append", err = 667, iomsg = errmsg) end if end if - call pl%h2b(cb) + call pl%vb2vh(cb) + call pl%xh2xb(cb) call system%get_energy_and_momentum(param) ke_orbit_now = system%ke_orbit ke_spin_now = system%ke_spin pe_now = system%pe - Lorbit_now = system%Lorbit - Lspin_now = system%Lspin + Lorbit_now(:) = system%Lorbit(:) + Lspin_now(:) = system%Lspin(:) Eorbit_now = ke_orbit_now + ke_spin_now + pe_now - Ltot_now(:) = Lorbit_now(:) + Lspin_now(:) + Lescape(:) - Mtot_now = cb%mass + sum(pl%mass(1:npl)) + system%Mescape - if (lfirst) then - Eorbit_orig = Eorbit_now - Mtot_orig = Mtot_now - Lorbit_orig(:) = Lorbit_now(:) - Lspin_orig(:) = Lspin_now(:) - Ltot_orig(:) = Ltot_now(:) - Lmag_orig = norm2(Ltot_orig(:)) - lfirst = .false. + Ltot_now(:) = system%Ltot(:) + param%Lescape(:) + GMtot_now = system%GMtot + param%GMescape + + if (param%lfirstenergy) then + param%Eorbit_orig = Eorbit_now + param%GMtot_orig = GMtot_now + param%Lorbit_orig(:) = Lorbit_now(:) + param%Lspin_orig(:) = Lspin_now(:) + param%Ltot_orig(:) = Ltot_now(:) + param%lfirstenergy = .false. end if - if (param%energy_out /= "") then - write(EGYIU,EGYFMT) param%t, Eorbit_now, Ecollisions, Ltot_now, Mtot_now - close(EGYIU) + if ((param%out_type == REAL4_TYPE) .or. (param%out_type == REAL8_TYPE) .and. (param%energy_out /= "")) then + write(EGYIU,EGYFMT, err = 667, iomsg = errmsg) param%t, Eorbit_now, param%Ecollisions, Ltot_now, GMtot_now + close(EGYIU, err = 667, iomsg = errmsg) end if - if (.not.lfirst .and. lterminal) then - Lmag_now = norm2(Ltot_now) - Lerror = norm2(Ltot_now - Ltot_orig) / Lmag_orig - Eorbit_error = (Eorbit_now - Eorbit_orig) / abs(Eorbit_orig) - Ecoll_error = Ecollisions / abs(Eorbit_orig) - Etotal_error = (Eorbit_now - Ecollisions - Eorbit_orig - Euntracked) / abs(Eorbit_orig) - Merror = (Mtot_now - Mtot_orig) / Mtot_orig - write(*, egytermfmt) Lerror, Ecoll_error, Etotal_error, Merror - if (Ecoll_error > 0.0_DP) then - write(*,*) 'Something has gone wrong! Collisional energy should not be positive!' - write(*,*) 'dke_orbit: ',(ke_orbit_now - ke_orbit_last) / abs(Eorbit_orig) - write(*,*) 'dke_spin : ',(ke_spin_now - ke_spin_last) / abs(Eorbit_orig) - write(*,*) 'dpe : ',(pe_now - pe_last) / abs(Eorbit_orig) - write(*,*) + + if (.not.param%lfirstenergy) then + Lerror = norm2(Ltot_now(:) - param%Ltot_orig(:)) / norm2(param%Ltot_orig(:)) + Eorbit_error = (Eorbit_now - param%Eorbit_orig) / abs(param%Eorbit_orig) + Ecoll_error = param%Ecollisions / abs(param%Eorbit_orig) + Etotal_error = (Eorbit_now - param%Ecollisions - param%Eorbit_orig - param%Euntracked) / abs(param%Eorbit_orig) + Merror = (GMtot_now - param%GMtot_orig) / param%GMtot_orig + if (lterminal) write(*, EGYTERMFMT) Lerror, Ecoll_error, Etotal_error, Merror + if (abs(Merror) > 100 * epsilon(Merror)) then + write(*,*) "Severe error! Mass not conserved! Halting!" + call pl%xv2el(cb) + call param%nciu%open(param) + call self%write_hdr(param%nciu, param) + call cb%write_frame(param%nciu, param) + call pl%write_frame(param%nciu, param) + call param%nciu%close(param) + call util_exit(FAILURE) end if end if - ke_orbit_last = ke_orbit_now - ke_spin_last = ke_spin_now - pe_last = pe_now - Eorbit_last = Eorbit_now - Lorbit_last(:) = Lorbit_now(:) - Lspin_last(:) = Lspin_now(:) - Ltot_last(:) = Ltot_now(:) end associate + return + 667 continue + write(*,*) "Error writing energy and momentum tracking file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine io_conservation_report @@ -105,31 +102,120 @@ module subroutine io_dump_param(self, param_file_name) character(len=*), intent(in) :: param_file_name !! Parameter input file name (i.e. param.in) ! Internals integer(I4B), parameter :: LUN = 7 !! Unit number of output file - integer(I4B) :: ierr !! Error code - character(STRMAX) :: error_message !! Error message in UDIO procedure - - open(unit = LUN, file = param_file_name, status='replace', form = 'FORMATTED', iostat =ierr) - if (ierr /=0) then - write(*,*) 'Swiftest error.' - write(*,*) ' Could not open dump file: ',trim(adjustl(param_file_name)) - call util_exit(FAILURE) - end if - + character(STRMAX) :: errmsg !! Error message in UDIO procedure + integer(I4B) :: ierr + + open(unit = LUN, file = param_file_name, status='replace', form = 'FORMATTED', err = 667, iomsg = errmsg) !! todo: Currently this procedure does not work in user-defined derived-type input mode !! due to compiler incompatabilities !write(LUN,'(DT)') param - call self%writer(LUN, iotype = "none", v_list = [0], iostat = ierr, iomsg = error_message) - if (ierr /= 0) then - write(*,*) trim(adjustl(error_message)) - call util_exit(FAILURE) + call self%writer(LUN, iotype = "none", v_list = [0], iostat = ierr, iomsg = errmsg) + if (ierr == 0) then + close(LUN, err = 667, iomsg = errmsg) + return end if - close(LUN) - return + 667 continue + write(*,*) "Error opening parameter dump file " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine io_dump_param - module subroutine io_dump_swiftest(self, param) + module subroutine io_dump_particle_info(self, iu) + !! author: David A. Minton + !! + !! Reads in particle information object information from an open file unformatted file + implicit none + ! Arguments + class(swiftest_particle_info), intent(in) :: self !! Particle metadata information object + integer(I4B), intent(in) :: iu !! Open file unit number + ! Internals + character(STRMAX) :: errmsg + + write(iu, err = 667, iomsg = errmsg) self%name + write(iu, err = 667, iomsg = errmsg) self%particle_type + write(iu, err = 667, iomsg = errmsg) self%origin_type + write(iu, err = 667, iomsg = errmsg) self%origin_time + write(iu, err = 667, iomsg = errmsg) self%origin_xh(:) + write(iu, err = 667, iomsg = errmsg) self%origin_vh(:) + + return + + 667 continue + write(*,*) "Error writing particle metadata information from file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_dump_particle_info + + + module subroutine io_dump_particle_info_base(self, param, idx) + !! author: David A. Minton + !! + !! Dumps the particle information data to a file. + !! Pass a list of array indices for test particles (tpidx) and/or massive bodies (plidx) to append + implicit none + ! Arguments + class(swiftest_base), intent(inout) :: self !! Swiftest base object (can be cb, pl, or tp) + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + integer(I4B), dimension(:), optional, intent(in) :: idx !! Array of test particle indices to append to the particle file + + ! Internals + logical, save :: lfirst = .true. + integer(I4B), parameter :: LUN = 22 + integer(I4B) :: i + character(STRMAX) :: errmsg + + !if ((param%out_type == REAL4_TYPE) .or. (param%out_type == REAL8_TYPE)) then + if (lfirst) then + select case(param%out_stat) + case('APPEND') + open(unit = LUN, file = param%particle_out, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', err = 667, iomsg = errmsg) + case('NEW', 'UNKNOWN', 'REPLACE') + open(unit = LUN, file = param%particle_out, status = param%out_stat, form = 'UNFORMATTED', err = 667, iomsg = errmsg) + case default + write(*,*) 'Invalid status code',trim(adjustl(param%out_stat)) + call util_exit(FAILURE) + end select + + lfirst = .false. + else + open(unit = LUN, file = param%particle_out, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', err = 667, iomsg = errmsg) + end if + + select type(self) + class is (swiftest_cb) + write(LUN, err = 667, iomsg = errmsg) self%id + call self%info%dump(LUN) + class is (swiftest_body) + if (present(idx)) then + do i = 1, size(idx) + write(LUN, err = 667, iomsg = errmsg) self%id(idx(i)) + call self%info(idx(i))%dump(LUN) + end do + else + do i = 1, self%nbody + write(LUN, err = 667, iomsg = errmsg) self%id(i) + call self%info(i)%dump(LUN) + end do + end if + end select + + close(unit = LUN, err = 667, iomsg = errmsg) + !else if ((param%out_type == NETCDF_FLOAT_TYPE) .or. (param%out_type == NETCDF_DOUBLE_TYPE)) then + if ((param%out_type == NETCDF_FLOAT_TYPE) .or. (param%out_type == NETCDF_DOUBLE_TYPE)) then + call param%nciu%open(param) + call self%write_particle_info(param%nciu) + call param%nciu%close(param) + end if + + return + + 667 continue + write(*,*) "Error reading central body file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_dump_particle_info_base + + + module subroutine io_dump_base(self, param) !! author: David A. Minton !! !! Dump massive body data to files @@ -145,6 +231,7 @@ module subroutine io_dump_swiftest(self, param) integer(I4B),parameter :: LUN = 7 !! Unit number for dump file integer(I4B) :: iu = LUN character(len=:), allocatable :: dump_file_name + character(STRMAX) :: errmsg select type(self) class is(swiftest_cb) @@ -154,17 +241,22 @@ module subroutine io_dump_swiftest(self, param) class is (swiftest_tp) dump_file_name = trim(adjustl(param%intpfile)) end select - open(unit = iu, file = dump_file_name, form = "UNFORMATTED", status = 'replace', iostat = ierr) - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " Unable to open binary dump file " // dump_file_name - call util_exit(FAILURE) - end if - call self%write_frame(iu, param) - close(LUN) + open(unit = iu, file = dump_file_name, form = "UNFORMATTED", status = 'replace', err = 667, iomsg = errmsg) + select type(self) + class is (swiftest_body) + write(iu, err = 667, iomsg = errmsg) self%nbody + call io_write_frame_body(self,iu, param) + class is (swiftest_cb) + call io_write_frame_cb(self,iu, param) + end select + close(iu, err = 667, iomsg = errmsg) return - end subroutine io_dump_swiftest + + 667 continue + write(*,*) "Error dumping body data to file " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_dump_base module subroutine io_dump_system(self, param) @@ -183,48 +275,45 @@ module subroutine io_dump_system(self, param) integer(I4B), save :: idx = 1 !! Index of current dump file. Output flips between 2 files for extra security !! in case the program halts during writing character(len=:), allocatable :: param_file_name - real(DP) :: deltawall, wallperstep, tfrac - integer(I8B) :: clock_count, count_rate, count_max + real(DP) :: tfrac character(*), parameter :: statusfmt = '("Time = ", ES12.5, "; fraction done = ", F6.3, "; Number of active pl, tp = ", I5, ", ", I5)' - character(len=*), parameter :: walltimefmt = '(" Wall time (s): ", es12.5, "; Wall time/step in this interval (s): ", es12.5)' + character(*), parameter :: symbastatfmt = '("Time = ", ES12.5, "; fraction done = ", F6.3, "; Number of active plm, pl, tp = ", I5, ", ", I5, ", ", I5)' logical, save :: lfirst = .true. - real(DP), save :: start, finish if (lfirst) then - call system_clock(clock_count, count_rate, count_max) - start = clock_count / (count_rate * 1.0_DP) - finish = start lfirst = .false. + if (param%lenergy) call self%conservation_report(param, lterminal=.false.) else allocate(dump_param, source=param) param_file_name = trim(adjustl(DUMP_PARAM_FILE(idx))) dump_param%incbfile = trim(adjustl(DUMP_CB_FILE(idx))) dump_param%inplfile = trim(adjustl(DUMP_PL_FILE(idx))) dump_param%intpfile = trim(adjustl(DUMP_TP_FILE(idx))) - dump_param%out_form = XV + dump_param%in_form = XV dump_param%out_stat = 'APPEND' + dump_param%in_type = REAL8_TYPE dump_param%T0 = param%t + call dump_param%dump(param_file_name) + dump_param%out_form = XV call self%cb%dump(dump_param) - if (self%pl%nbody > 0) call self%pl%dump(dump_param) - if (self%tp%nbody > 0) call self%tp%dump(dump_param) + call self%pl%dump(dump_param) + call self%tp%dump(dump_param) idx = idx + 1 if (idx > NDUMPFILES) idx = 1 tfrac = (param%t - param%t0) / (param%tstop - param%t0) - call system_clock(clock_count, count_rate, count_max) - deltawall = clock_count / (count_rate * 1.0_DP) - finish - wallperstep = deltawall / param%istep_dump - finish = clock_count / (count_rate * 1.0_DP) - write(*, statusfmt) param%t, tfrac, self%pl%nbody, self%tp%nbody - write(*, walltimefmt) finish - start, wallperstep - if (param%lenergy) call self%conservation_report(param, lterminal=.true.) + select type(pl => self%pl) + class is (symba_pl) + write(*, symbastatfmt) param%t, tfrac, pl%nplm, pl%nbody, self%tp%nbody + class default + write(*, statusfmt) param%t, tfrac, pl%nbody, self%tp%nbody + end select end if - return end subroutine io_dump_system @@ -292,6 +381,45 @@ module function io_get_args(integrator, param_file_name) result(ierr) end function io_get_args + module function io_get_old_t_final_system(self, param) result(old_t_final) + !! author: David A. Minton + !! + !! Validates the dump file to check whether the dump file initial conditions duplicate the last frame of the binary output. + !! + implicit none + ! Arguments + class(swiftest_nbody_system), intent(in) :: self + class(swiftest_parameters), intent(in) :: param + ! Result + real(DP) :: old_t_final + ! Internals + class(swiftest_nbody_system), allocatable :: tmpsys + class(swiftest_parameters), allocatable :: tmpparam + integer(I4B), parameter :: LUN = 76 + integer(I4B) :: ierr, iu = LUN + character(len=STRMAX) :: errmsg + + old_t_final = 0.0_DP + allocate(tmpsys, source=self) + allocate(tmpparam, source=param) + + ierr = 0 + open(unit = iu, file = param%outfile, status = 'OLD', form = 'UNFORMATTED', err = 667, iomsg = errmsg) + do + ierr = tmpsys%read_frame(iu, tmpparam) + if (ierr /= 0) exit + end do + if (is_iostat_end(ierr)) then + old_t_final = tmpparam%t + return + end if + + 667 continue + write(*,*) "Error reading binary output file. " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end function io_get_old_t_final_system + + module function io_get_token(buffer, ifirst, ilast, ierr) result(token) !! author: David A. Minton !! @@ -368,11 +496,12 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) character(STRMAX) :: line !! Line of the input file character (len=:), allocatable :: line_trim,param_name, param_value !! Strings used to parse the param file character(*),parameter :: linefmt = '(A)' !! Format code for simple text string + ! Parse the file line by line, extracting tokens then matching them up with known parameters if possible associate(param => self) do - read(unit = unit, fmt = linefmt, iostat = iostat, end = 1) line + read(unit = unit, fmt = linefmt, end = 1, err = 667, iomsg = iomsg) line line_trim = trim(adjustl(line)) ilength = len(line_trim) if ((ilength /= 0)) then @@ -385,13 +514,13 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) param_value = io_get_token(line_trim, ifirst, ilast, iostat) select case (param_name) case ("T0") - read(param_value, *) param%t0 + read(param_value, *, err = 667, iomsg = iomsg) param%t0 t0_set = .true. case ("TSTOP") - read(param_value, *) param%tstop + read(param_value, *, err = 667, iomsg = iomsg) param%tstop tstop_set = .true. case ("DT") - read(param_value, *) param%dt + read(param_value, *, err = 667, iomsg = iomsg) param%dt dt_set = .true. case ("CB_IN") param%incbfile = param_value @@ -402,6 +531,9 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) case ("IN_TYPE") call io_toupper(param_value) param%in_type = param_value + case ("IN_FORM") + call io_toupper(param_value) + param%in_form = param_value case ("ISTEP_OUT") read(param_value, *) param%istep_out case ("BIN_OUT") @@ -416,26 +548,26 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) call io_toupper(param_value) param%out_stat = param_value case ("ISTEP_DUMP") - read(param_value, *) param%istep_dump + read(param_value, *, err = 667, iomsg = iomsg) param%istep_dump case ("CHK_CLOSE") call io_toupper(param_value) if (param_value == "YES" .or. param_value == 'T') param%lclose = .true. case ("CHK_RMIN") - read(param_value, *) param%rmin + read(param_value, *, err = 667, iomsg = iomsg) param%rmin case ("CHK_RMAX") - read(param_value, *) param%rmax + read(param_value, *, err = 667, iomsg = iomsg) param%rmax case ("CHK_EJECT") - read(param_value, *) param%rmaxu + read(param_value, *, err = 667, iomsg = iomsg) param%rmaxu case ("CHK_QMIN") - read(param_value, *) param%qmin + read(param_value, *, err = 667, iomsg = iomsg) param%qmin case ("CHK_QMIN_COORD") call io_toupper(param_value) param%qmin_coord = param_value case ("CHK_QMIN_RANGE") - read(param_value, *) param%qmin_alo + read(param_value, *, err = 667, iomsg = iomsg) param%qmin_alo ifirst = ilast + 1 param_value = io_get_token(line, ifirst, ilast, iostat) - read(param_value, *) param%qmin_ahi + read(param_value, *, err = 667, iomsg = iomsg) param%qmin_ahi case ("ENC_OUT") param%enc_out = param_value case ("DISCARD_OUT") @@ -452,11 +584,11 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) call io_toupper(param_value) if (param_value == "YES" .or. param_value == 'T' ) param%lrhill_present = .true. case ("MU2KG") - read(param_value, *) param%MU2KG + read(param_value, *, err = 667, iomsg = iomsg) param%MU2KG case ("TU2S") - read(param_value, *) param%TU2S + read(param_value, *, err = 667, iomsg = iomsg) param%TU2S case ("DU2M") - read(param_value, *) param%DU2M + read(param_value, *, err = 667, iomsg = iomsg) param%DU2M case ("ENERGY") call io_toupper(param_value) if (param_value == "YES" .or. param_value == 'T') param%lenergy = .true. @@ -476,47 +608,50 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) call io_toupper(param_value) if (param_value == "NO" .or. param_value == 'F') param%lfirstenergy = .false. case("EORBIT_ORIG") - read(param_value, *) param%Eorbit_orig - case("MTOT_ORIG") - read(param_value, *) param%Mtot_orig + read(param_value, *, err = 667, iomsg = iomsg) param%Eorbit_orig + case("GMTOT_ORIG") + read(param_value, *, err = 667, iomsg = iomsg) param%GMtot_orig case("LTOT_ORIG") - read(param_value, *) param%Ltot_orig(1) + read(param_value, *, err = 667, iomsg = iomsg) param%Ltot_orig(1) do i = 2, NDIM - ifirst = ilast + 1 + ifirst = ilast + 2 param_value = io_get_token(line, ifirst, ilast, iostat) - read(param_value, *) param%Ltot_orig(i) + read(param_value, *, err = 667, iomsg = iomsg) param%Ltot_orig(i) end do - param%Lmag_orig = norm2(param%Ltot_orig(:)) case("LORBIT_ORIG") - read(param_value, *) param%Lorbit_orig(1) + read(param_value, *, err = 667, iomsg = iomsg) param%Lorbit_orig(1) do i = 2, NDIM - ifirst = ilast + 1 + ifirst = ilast + 2 param_value = io_get_token(line, ifirst, ilast, iostat) - read(param_value, *) param%Lorbit_orig(i) + read(param_value, *, err = 667, iomsg = iomsg) param%Lorbit_orig(i) end do case("LSPIN_ORIG") - read(param_value, *) param%Lspin_orig(1) + read(param_value, *, err = 667, iomsg = iomsg) param%Lspin_orig(1) do i = 2, NDIM - ifirst = ilast + 1 + ifirst = ilast + 2 param_value = io_get_token(line, ifirst, ilast, iostat) - read(param_value, *) param%Lspin_orig(i) + read(param_value, *, err = 667, iomsg = iomsg) param%Lspin_orig(i) end do case("LESCAPE") - read(param_value, *) param%Lescape(1) + read(param_value, *, err = 667, iomsg = iomsg) param%Lescape(1) do i = 2, NDIM - ifirst = ilast + 1 + ifirst = ilast + 2 param_value = io_get_token(line, ifirst, ilast, iostat) - read(param_value, *) param%Lescape(i) + read(param_value, *, err = 667, iomsg = iomsg) param%Lescape(i) end do - case("MESCAPE") - read(param_value, *) param%Mescape + case("GMESCAPE") + read(param_value, *, err = 667, iomsg = iomsg) param%GMescape case("ECOLLISIONS") - read(param_value, *) param%Ecollisions + read(param_value, *, err = 667, iomsg = iomsg) param%Ecollisions case("EUNTRACKED") - read(param_value, *) param%Euntracked - case ("NPLMAX", "NTPMAX", "GMTINY", "PARTICLE_OUT", "FRAGMENTATION", "SEED", "YARKOVSKY", "YORP") ! Ignore SyMBA-specific, not-yet-implemented, or obsolete input parameters + read(param_value, *, err = 667, iomsg = iomsg) param%Euntracked + case ("MAXID") + read(param_value, *, err = 667, iomsg = iomsg) param%maxid + case ("PARTICLE_OUT") + param%particle_out = param_value + case ("NPLMAX", "NTPMAX", "GMTINY", "MIN_GMFRAG", "FRAGMENTATION", "SEED", "YARKOVSKY", "YORP") ! Ignore SyMBA-specific, not-yet-implemented, or obsolete input parameters case default - write(iomsg,*) "Unknown parameter -> ",param_name + write(*,*) "Unknown parameter -> ",param_name iostat = -1 return end select @@ -559,12 +694,12 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) param%lrestart = (param%out_stat == "APPEND") if (param%outfile /= "") then if ((param%out_type /= REAL4_TYPE) .and. (param%out_type /= REAL8_TYPE) .and. & - (param%out_type /= SWIFTER_REAL4_TYPE) .and. (param%out_type /= SWIFTER_REAL8_TYPE)) then + (param%out_type /= NETCDF_FLOAT_TYPE) .and. (param%out_type /= NETCDF_DOUBLE_TYPE)) then write(iomsg,*) 'Invalid out_type: ',trim(adjustl(param%out_type)) iostat = -1 return end if - if ((param%out_form /= "EL") .and. (param%out_form /= "XV")) then + if ((param%out_form /= "EL") .and. (param%out_form /= "XV") .and. (param%out_form /= "XVEL")) then write(iomsg,*) 'Invalid out_form: ',trim(adjustl(param%out_form)) iostat = -1 return @@ -574,7 +709,6 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) iostat = -1 return end if - end if if (param%qmin > 0.0_DP) then if ((param%qmin_coord /= "HELIO") .and. (param%qmin_coord /= "BARY")) then @@ -605,23 +739,32 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) write(*,*) "BIN_OUT = ",trim(adjustl(param%outfile)) write(*,*) "OUT_TYPE = ",trim(adjustl(param%out_type)) write(*,*) "OUT_FORM = ",trim(adjustl(param%out_form)) + write(*,*) "IN_FORM = ",trim(adjustl(param%in_form)) write(*,*) "OUT_STAT = ",trim(adjustl(param%out_stat)) write(*,*) "ISTEP_DUMP = ",param%istep_dump write(*,*) "CHK_CLOSE = ",param%lclose - write(*,*) "CHK_RMIN = ",param%rmin - write(*,*) "CHK_RMAX = ",param%rmax - write(*,*) "CHK_EJECT = ",param%rmaxu - write(*,*) "CHK_QMIN = ",param%qmin - write(*,*) "CHK_QMIN_COORD = ",trim(adjustl(param%qmin_coord)) - write(*,*) "CHK_QMIN_RANGE = ",param%qmin_alo, param%qmin_ahi + if (param%rmin > 0.0) then + write(*,*) "CHK_RMIN = ",param%rmin + else + write(*,*) "! CHK_RMIN value will be the central body radius" + end if + if (param%rmax > 0.0_DP) write(*,*) "CHK_RMAX = ",param%rmax + if (param%rmaxu > 0.0_DP) write(*,*) "CHK_EJECT = ",param%rmaxu + if ((param%qmin > 0.0_DP) .or. (param%qmin_alo > 0.0_DP) .or. (param%qmin_ahi > 0.0_DP)) write(*,*) "CHK_QMIN_COORD = ",trim(adjustl(param%qmin_coord)) + if (param%qmin > 0.0_DP) write(*,*) "CHK_QMIN = ",param%qmin + if ((param%qmin_alo > 0.0_DP) .or. (param%qmin_ahi > 0.0_DP)) write(*,*) "CHK_QMIN_RANGE = ",param%qmin_alo, param%qmin_ahi write(*,*) "EXTRA_FORCE = ",param%lextra_force write(*,*) "RHILL_PRESENT = ",param%lrhill_present write(*,*) "ROTATION = ", param%lrotation write(*,*) "TIDES = ", param%ltides write(*,*) "ENERGY = ",param%lenergy + if (param%lenergy) write(*,*) "ENERGY_OUT = ",trim(adjustl(param%energy_out)) write(*,*) "MU2KG = ",param%MU2KG write(*,*) "TU2S = ",param%TU2S write(*,*) "DU2M = ",param%DU2M + if (trim(adjustl(param%outfile)) == "") then + param%outfile = BIN_OUTFILE + end if if (trim(adjustl(param%enc_out)) /= "") then write(*,*) "ENC_OUT = ",trim(adjustl(param%enc_out)) else @@ -632,6 +775,7 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) write(*,*) "BIG_DISCARD = ",param%lbig_discard else write(*,*) "! DISCARD_OUT not set: Discards will not be recorded to file" + param%lbig_discard = .false. write(*,*) "! BIG_DISCARD = ",param%lbig_discard end if @@ -643,13 +787,14 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) ! Calculate the G for the system units param%GU = GC / (param%DU2M**3 / (param%MU2KG * param%TU2S**2)) - - ! Calculate the inverse speed of light in the system units - param%inv_c2 = einsteinC * param%TU2S / param%DU2M - param%inv_c2 = (param%inv_c2)**(-2) + if (param%lgr) then + ! Calculate the inverse speed of light in the system units + param%inv_c2 = einsteinC * param%TU2S / param%DU2M + param%inv_c2 = (param%inv_c2)**(-2) + end if associate(integrator => v_list(1)) - if (integrator == RMVS) then + if ((integrator == RMVS) .or. (integrator == SYMBA)) then if (.not.param%lclose) then write(iomsg,*) 'This integrator requires CHK_CLOSE to be enabled.' iostat = -1 @@ -670,6 +815,7 @@ module subroutine io_param_reader(self, unit, iotype, v_list, iostat, iomsg) iostat = 0 end associate + 667 continue return end subroutine io_param_reader @@ -693,10 +839,9 @@ module subroutine io_param_writer(self, unit, iotype, v_list, iostat, iomsg) ! Internals character(*),parameter :: Ifmt = '(I0)' !! Format label for integer values character(*),parameter :: Rfmt = '(ES25.17)' !! Format label for real values - character(*),parameter :: Rarrfmt = '(3(ES25.17,1X))' !! Format label for real values character(*),parameter :: Lfmt = '(L1)' !! Format label for logical values - character(len=*), parameter :: Afmt = '(A25,1X,64(:,A25,1X))' - character(256) :: param_name, param_value + character(len=NAMELEN) :: param_name + character(LEN=STRMAX) :: param_value, v1, v2, v3 type character_array character(25) :: value end type character_array @@ -704,72 +849,88 @@ module subroutine io_param_writer(self, unit, iotype, v_list, iostat, iomsg) integer(I4B) :: i associate(param => self) - write(param_name, Afmt) "T0"; write(param_value,Rfmt) param%t0; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "TSTOP"; write(param_value, Rfmt) param%tstop; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "DT"; write(param_value, Rfmt) param%dt; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "PL_IN"; write(param_value, Afmt) trim(adjustl(param%inplfile)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "TP_in"; write(param_value, Afmt) trim(adjustl(param%intpfile)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "IN_TYPE"; write(param_value, Afmt) trim(adjustl(param%in_type)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "T0"; write(param_value,Rfmt) param%t0; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "TSTOP"; write(param_value, Rfmt) param%tstop; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "DT"; write(param_value, Rfmt) param%dt; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "CB_IN"; write(param_value, *) trim(adjustl(param%incbfile)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "PL_IN"; write(param_value, *) trim(adjustl(param%inplfile)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "TP_IN"; write(param_value, *) trim(adjustl(param%intpfile)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "IN_TYPE"; write(param_value, *) trim(adjustl(param%in_type)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "IN_FORM"; write(param_value, *) trim(adjustl(param%in_form)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + if (param%istep_dump > 0) write(param_name, *) "ISTEP_DUMP"; write(param_value, Ifmt) param%istep_dump; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) if (param%istep_out > 0) then - write(param_name, Afmt) "ISTEP_OUT"; write(param_value, Ifmt) param%istep_out; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "BIN_OUT"; write(param_value, Afmt) trim(adjustl(param%outfile)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "OUT_TYPE"; write(param_value, Afmt) trim(adjustl(param%out_type)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "OUT_FORM"; write(param_value, Afmt) trim(adjustl(param%out_form)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "OUT_STAT"; write(param_value, Afmt) "APPEND"; write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "ISTEP_OUT"; write(param_value, Ifmt) param%istep_out; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "BIN_OUT"; write(param_value, *) trim(adjustl(param%outfile)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "OUT_TYPE"; write(param_value, *) trim(adjustl(param%out_type)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "OUT_FORM"; write(param_value, *) trim(adjustl(param%out_form)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "OUT_STAT"; write(param_value, *) "APPEND"; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) end if - write(param_name, Afmt) "ENC_OUT"; write(param_value, Afmt) trim(adjustl(param%enc_out)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) - if (param%istep_dump > 0) then - write(param_name, Afmt) "ISTEP_DUMP"; write(param_value, Ifmt) param%istep_dump; write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "PARTICLE_OUT"; write(param_value, *) trim(adjustl(param%particle_out)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + if (param%enc_out /= "") then + write(param_name, *) "ENC_OUT"; write(param_value, *) trim(adjustl(param%enc_out)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) end if - write(param_name, Afmt) "CHK_RMIN"; write(param_value, Rfmt) param%rmin; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "CHK_RMAX"; write(param_value, Rfmt) param%rmax; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "CHK_EJECT"; write(param_value, Rfmt) param%rmaxu; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "CHK_QMIN"; write(param_value, Rfmt) param%qmin; write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "CHK_RMIN"; write(param_value, Rfmt) param%rmin; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "CHK_RMAX"; write(param_value, Rfmt) param%rmax; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "CHK_EJECT"; write(param_value, Rfmt) param%rmaxu; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "CHK_QMIN"; write(param_value, Rfmt) param%qmin; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) if (param%qmin >= 0.0_DP) then - write(param_name, Afmt) "CHK_QMIN_COORD"; write(param_value, Afmt) trim(adjustl(param%qmin_coord)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "CHK_QMIN_COORD"; write(param_value, *) trim(adjustl(param%qmin_coord)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) allocate(param_array(2)) write(param_array(1)%value, Rfmt) param%qmin_alo write(param_array(2)%value, Rfmt) param%qmin_ahi - write(param_name, Afmt) "CHK_QMIN_RANGE"; write(unit, Afmt) adjustl(param_name), adjustl(param_array(1)%value), adjustl(param_array(2)%value) + write(param_name, *) "CHK_QMIN_RANGE"; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name), adjustl(param_array(1)%value), adjustl(param_array(2)%value) + end if + write(param_name, *) "MU2KG"; write(param_value, Rfmt) param%MU2KG; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "TU2S"; write(param_value, Rfmt) param%TU2S ; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "DU2M"; write(param_value, Rfmt) param%DU2M; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "RHILL_PRESENT"; write(param_value, Lfmt) param%lrhill_present; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "EXTRA_FORCE"; write(param_value, Lfmt) param%lextra_force; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + if (param%discard_out /= "") then + write(param_name, *) "DISCARD_OUT"; write(param_value, *) trim(adjustl(param%discard_out)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + end if + if (param%discard_out /= "") then + write(param_name, *) "BIG_DISCARD"; write(param_value, Lfmt) param%lbig_discard; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) end if - write(param_name, Afmt) "MU2KG"; write(param_value, Rfmt) param%MU2KG; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "TU2S"; write(param_value, Rfmt) param%TU2S ; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "DU2M"; write(param_value, Rfmt) param%DU2M; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "RHILL_PRESENT"; write(param_value, Lfmt) param%lrhill_present; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "EXTRA_FORCE"; write(param_value, Lfmt) param%lextra_force; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "BIG_DISCARD"; write(param_value, Lfmt) param%lbig_discard; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "CHK_CLOSE"; write(param_value, Lfmt) param%lclose; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "ENERGY"; write(param_value, Lfmt) param%lenergy; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "GR"; write(param_value, Lfmt) param%lgr; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "ROTATION"; write(param_value, Lfmt) param%lrotation; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "TIDES"; write(param_value, Lfmt) param%ltides; write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "CHK_CLOSE"; write(param_value, Lfmt) param%lclose; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "ENERGY"; write(param_value, Lfmt) param%lenergy; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + if (param%lenergy .and. (param%energy_out /= "")) then + write(param_name, *) "ENERGY_OUT"; write(param_value, *) trim(adjustl(param%energy_out)); write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + end if + write(param_name, *) "GR"; write(param_value, Lfmt) param%lgr; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "ROTATION"; write(param_value, Lfmt) param%lrotation; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "TIDES"; write(param_value, Lfmt) param%ltides; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) if (param%lenergy) then - write(param_name, Afmt) "FIRSTENERGY"; write(param_value, Lfmt) param%lfirstenergy; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "EORBIT_ORIG"; write(param_value, Rfmt) param%Eorbit_orig; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "MTOT_ORIG"; write(param_value, Rfmt) param%Mtot_orig; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(unit, '("LTOT_ORIG ",3(1X,ES25.17))') param%Ltot_orig(:) - write(unit, '("LORBIT_ORIG",3(1X,ES25.17))') param%Lorbit_orig(:) - write(unit, '("LSPIN_ORIG ",3(1X,ES25.17))') param%Lspin_orig(:) - write(unit, '("LESCAPE ",3(1X,ES25.17))') param%Lescape(:) + write(param_name, *) "FIRSTENERGY"; write(param_value, Lfmt) param%lfirstenergy; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "EORBIT_ORIG"; write(param_value, Rfmt) param%Eorbit_orig; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "GMTOT_ORIG"; write(param_value, Rfmt) param%GMtot_orig; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "LTOT_ORIG"; write(v1, Rfmt) param%Ltot_orig(1); write(v2, Rfmt) param%Ltot_orig(2); write(v3, Rfmt) param%Ltot_orig(3) + write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(v1)) // " " // trim(adjustl(v2)) // " " // trim(adjustl(v3)) + write(param_name, *) "LORBIT_ORIG"; write(v1, Rfmt) param%Lorbit_orig(1); write(v2, Rfmt) param%Lorbit_orig(2); write(v3, Rfmt) param%Lorbit_orig(3) + write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(v1)) // " " // trim(adjustl(v2)) // " " // trim(adjustl(v3)) + write(param_name, *) "LSPIN_ORIG"; write(v1, Rfmt) param%Lspin_orig(1); write(v2, Rfmt) param%Lspin_orig(2); write(v3, Rfmt) param%Lspin_orig(3) + write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(v1)) // " " // trim(adjustl(v2)) // " " // trim(adjustl(v3)) + write(param_name, *) "LESCAPE"; write(v1, Rfmt) param%Lescape(1); write(v2, Rfmt) param%Lescape(2); write(v3, Rfmt) param%Lescape(3) + write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(v1)) // " " // trim(adjustl(v2)) // " " // trim(adjustl(v3)) - write(param_name, Afmt) "MESCAPE"; write(param_value, Rfmt) param%Mescape; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "ECOLLISIONS"; write(param_value, Rfmt) param%Ecollisions; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "EUNTRACKED"; write(param_value, Rfmt) param%Euntracked; write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "GMESCAPE"; write(param_value, Rfmt) param%GMescape; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "ECOLLISIONS"; write(param_value, Rfmt) param%Ecollisions; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "EUNTRACKED"; write(param_value, Rfmt) param%Euntracked; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) end if - write(param_name, Afmt) "FIRSTKICK"; write(param_value, Lfmt) param%lfirstkick; write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "FIRSTKICK"; write(param_value, Lfmt) param%lfirstkick; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "MAXID"; write(param_value, Ifmt) param%maxid; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) - - iostat = 0 iomsg = "UDIO not implemented" end associate + 667 continue + return end subroutine io_param_writer - module subroutine io_read_body_in(self, param) + module subroutine io_read_in_body(self, param) !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott !! !! Read in either test particle or massive body data @@ -783,11 +944,12 @@ module subroutine io_read_body_in(self, param) ! Internals integer(I4B), parameter :: LUN = 7 !! Unit number of input file integer(I4B) :: iu = LUN - integer(I4B) :: i, ierr, nbody + integer(I4B) :: i, nbody logical :: is_ascii, is_pl character(len=:), allocatable :: infile real(DP) :: t - real(QP) :: val + character(STRMAX) :: errmsg + integer(I4B) :: ierr ! Select the appropriate polymorphic class (test particle or massive body) select type(self) @@ -799,70 +961,41 @@ module subroutine io_read_body_in(self, param) is_pl = .false. end select - ierr = 0 is_ascii = (param%in_type == 'ASCII') select case(param%in_type) case(ASCII_TYPE) - open(unit = iu, file = infile, status = 'old', form = 'FORMATTED', iostat = ierr) - read(iu, *, iostat = ierr) nbody - call self%setup(nbody, param) - if (nbody > 0) then - do i = 1, nbody - select type(self) - class is (swiftest_pl) - if (param%lrhill_present) then - read(iu, *, iostat=ierr, err=100) self%id(i), val, self%rhill(i) - else - read(iu, *, iostat=ierr, err=100) self%id(i), val - end if - self%Gmass(i) = real(val, kind=DP) - self%mass(i) = real(val / param%GU, kind=DP) - if (param%lclose) read(iu, *, iostat=ierr, err=100) self%radius(i) - class is (swiftest_tp) - read(iu, *, iostat=ierr, err=100) self%id(i) - end select - read(iu, *, iostat=ierr, err=100) self%xh(1, i), self%xh(2, i), self%xh(3, i) - read(iu, *, iostat=ierr, err=100) self%vh(1, i), self%vh(2, i), self%vh(3, i) - select type (self) - class is (swiftest_pl) - if (param%lrotation) then - read(iu, *, iostat=ierr, err=100) self%Ip(1, i), self%Ip(2, i), self%Ip(3, i) - read(iu, *, iostat=ierr, err=100) self%rot(1, i), self%rot(2, i), self%rot(3, i) - end if - if (param%ltides) then - read(iu, *, iostat=ierr, err=100) self%k2(i) - read(iu, *, iostat=ierr, err=100) self%Q(i) - end if - end select - self%status(i) = ACTIVE - self%lmask(i) = .true. - end do - end if - case (REAL4_TYPE, REAL8_TYPE) !, SWIFTER_REAL4_TYPE, SWIFTER_REAL8_TYPE) - open(unit=iu, file=infile, status='old', form='UNFORMATTED', iostat=ierr) - read(iu, iostat=ierr, err=100) nbody - call self%setup(nbody, param) - if (nbody > 0) then - call self%read_frame(iu, param, XV, ierr) - self%status(:) = ACTIVE - self%lmask(:) = .true. - end if + open(unit = iu, file = infile, status = 'old', form = 'FORMATTED', err = 667, iomsg = errmsg) + read(iu, *, err = 667, iomsg = errmsg) nbody + case (REAL4_TYPE, REAL8_TYPE) + open(unit=iu, file=infile, status='old', form='UNFORMATTED', err = 667, iomsg = errmsg) + read(iu, err = 667, iomsg = errmsg) nbody case default - write(*,*) trim(adjustl(param%in_type)) // ' is an unrecognized file type' - ierr = -1 + write(errmsg,*) trim(adjustl(param%in_type)) // ' is an unrecognized file type' + goto 667 end select - close(iu) - 100 if (ierr /= 0 ) then - write(*,*) 'Error reading in initial conditions from ',trim(adjustl(infile)) - call util_exit(FAILURE) + call self%setup(nbody, param) + ierr = 0 + if (nbody > 0) then + ierr = self%read_frame(iu, param) + self%status(:) = ACTIVE + self%lmask(:) = .true. + do i = 1, nbody + call self%info(i)%set_value(status="ACTIVE") + end do end if + close(iu, err = 667, iomsg = errmsg) + + + if (ierr == 0) return + 667 continue + write(*,*) 'Error reading in initial conditions file: ',trim(adjustl(errmsg)) return - end subroutine io_read_body_in + end subroutine io_read_in_body - module subroutine io_read_cb_in(self, param) + module subroutine io_read_in_cb(self, param) !! author: David A. Minton !! !! Reads in central body data @@ -876,42 +1009,55 @@ module subroutine io_read_cb_in(self, param) ! Internals integer(I4B), parameter :: LUN = 7 !! Unit number of input file integer(I4B) :: iu = LUN - integer(I4B) :: ierr - logical :: is_ascii - real(DP) :: t - real(QP) :: val - - ierr = 0 - is_ascii = (param%in_type == 'ASCII') - if (is_ascii) then - open(unit = iu, file = param%incbfile, status = 'old', form = 'FORMATTED', iostat = ierr) - read(iu, *, iostat = ierr) self%id - read(iu, *, iostat = ierr) val - self%Gmass = real(val, kind=DP) - self%mass = real(val / param%GU, kind=DP) - read(iu, *, iostat = ierr) self%radius - read(iu, *, iostat = ierr) self%j2rp2 - read(iu, *, iostat = ierr) self%j4rp4 + character(len=STRMAX) :: errmsg + integer(I4B) :: ierr, idold + character(len=NAMELEN) :: name + + if (param%in_type == 'ASCII') then + self%id = 0 + param%maxid = 0 + open(unit = iu, file = param%incbfile, status = 'old', form = 'FORMATTED', err = 667, iomsg = errmsg) + read(iu, *, err = 667, iomsg = errmsg) name + call self%info%set_value(name=name) + read(iu, *, err = 667, iomsg = errmsg) self%Gmass + self%mass = real(self%Gmass / param%GU, kind=DP) + read(iu, *, err = 667, iomsg = errmsg) self%radius + read(iu, *, err = 667, iomsg = errmsg) self%j2rp2 + read(iu, *, err = 667, iomsg = errmsg) self%j4rp4 if (param%lrotation) then - read(iu, *, iostat = ierr) self%Ip(1), self%Ip(2), self%Ip(3) - read(iu, *, iostat = ierr) self%rot(1), self%rot(2), self%rot(3) + read(iu, *, err = 667, iomsg = errmsg) self%Ip(1), self%Ip(2), self%Ip(3) + read(iu, *, err = 667, iomsg = errmsg) self%rot(1), self%rot(2), self%rot(3) end if + ierr = 0 else - open(unit = iu, file = param%incbfile, status = 'old', form = 'UNFORMATTED', iostat = ierr) - call self%read_frame(iu, param, XV, ierr) - end if - close(iu) - if (ierr /= 0) then - write(*,*) 'Error opening massive body initial conditions file ',trim(adjustl(param%incbfile)) - call util_exit(FAILURE) + open(unit = iu, file = param%incbfile, status = 'old', form = 'UNFORMATTED', err = 667, iomsg = errmsg) + ierr = self%read_frame(iu, param) end if - if (self%j2rp2 /= 0.0_DP) param%loblatecb = .true. + close(iu, err = 667, iomsg = errmsg) + + if (ierr == 0) then + + if (self%j2rp2 /= 0.0_DP) param%loblatecb = .true. + if (param%rmin < 0.0) param%rmin = self%radius + + select type(cb => self) + class is (symba_cb) + cb%GM0 = cb%Gmass + cb%dGM = 0.0_DP + cb%R0 = cb%radius + cb%L0(:) = cb%Ip(3) * cb%mass * cb%radius**2 * cb%rot(:) + end select + end if return - end subroutine io_read_cb_in + + 667 continue + write(*,*) "Error reading central body file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_read_in_cb - function io_read_encounter(t, name1, name2, mass1, mass2, radius1, radius2, & + function io_read_encounter(t, id1, id2, Gmass1, Gmass2, radius1, radius2, & xh1, xh2, vh1, vh2, enc_out, out_type) result(ierr) !! author: David A. Minton !! @@ -921,8 +1067,8 @@ function io_read_encounter(t, name1, name2, mass1, mass2, radius1, radius2, & !! Adapted from David E. Kaufmann's Swifter routine: io_read_encounter.f90 implicit none ! Arguments - integer(I4B), intent(out) :: name1, name2 - real(DP), intent(out) :: t, mass1, mass2, radius1, radius2 + integer(I4B), intent(out) :: id1, id2 + real(DP), intent(out) :: t, Gmass1, Gmass2, radius1, radius2 real(DP), dimension(:), intent(out) :: xh1, xh2, vh1, vh2 character(*), intent(in) :: enc_out, out_type ! Result @@ -947,12 +1093,12 @@ function io_read_encounter(t, name1, name2, mass1, mass2, radius1, radius2, & return end if - read(iu, iostat = ierr) name1, xh1(1), xh1(2), xh1(3), vh1(1), vh1(2), vh1(3), mass1, radius1 + read(iu, iostat = ierr) id1, xh1(1), xh1(2), xh1(3), vh1(1), vh1(2), vh1(3), Gmass1, radius1 if (ierr /= 0) then close(unit = iu, iostat = ierr) return end if - read(iu, iostat = ierr) name2, xh2(2), xh2(2), xh2(3), vh2(2), vh2(2), vh2(3), mass2, radius2 + read(iu, iostat = ierr) id2, xh2(2), xh2(2), xh2(3), vh2(2), vh2(2), vh2(3), Gmass2, radius2 if (ierr /= 0) then close(unit = iu, iostat = ierr) return @@ -962,7 +1108,7 @@ function io_read_encounter(t, name1, name2, mass1, mass2, radius1, radius2, & end function io_read_encounter - module subroutine io_read_frame_body(self, iu, param, form, ierr) + module function io_read_frame_body(self, iu, param) result(ierr) !! author: David A. Minton !! !! Reads a frame of output of either test particle or massive body data from a binary output file @@ -974,65 +1120,146 @@ module subroutine io_read_frame_body(self, iu, param, form, ierr) class(swiftest_body), intent(inout) :: self !! Swiftest particle object integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - character(*), intent(in) :: form !! Input format code ("XV" or "EL") - integer(I4B), intent(out) :: ierr !! Error code + ! Result + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful + ! Internals + character(len=STRMAX) :: errmsg + character(len=NAMELEN), dimension(self%nbody) :: name + integer(I4B) :: i + real(QP) :: val + + if (self%nbody == 0) return + + if ((param%in_form /= EL) .and. (param%in_form /= XV)) then + write(errmsg, *) trim(adjustl(param%in_form)) // " is not a recognized format code for input files." + goto 667 + end if associate(n => self%nbody) - read(iu, iostat=ierr, err=100) self%id(:) - !read(iu, iostat=ierr, err=100) self%name(1:n) - select case (form) - case (EL) + + if (param%in_form == EL) then if (.not.allocated(self%a)) allocate(self%a(n)) if (.not.allocated(self%e)) allocate(self%e(n)) if (.not.allocated(self%inc)) allocate(self%inc(n)) if (.not.allocated(self%capom)) allocate(self%capom(n)) if (.not.allocated(self%omega)) allocate(self%omega(n)) if (.not.allocated(self%capm)) allocate(self%capm(n)) - read(iu, iostat=ierr, err=100) self%a(:) - read(iu, iostat=ierr, err=100) self%e(:) - read(iu, iostat=ierr, err=100) self%inc(:) - read(iu, iostat=ierr, err=100) self%capom(:) - read(iu, iostat=ierr, err=100) self%omega(:) - read(iu, iostat=ierr, err=100) self%capm(:) - case (XV) - read(iu, iostat=ierr, err=100) self%xh(1, :) - read(iu, iostat=ierr, err=100) self%xh(2, :) - read(iu, iostat=ierr, err=100) self%xh(3, :) - read(iu, iostat=ierr, err=100) self%vh(1, :) - read(iu, iostat=ierr, err=100) self%vh(2, :) - read(iu, iostat=ierr, err=100) self%vh(3, :) - end select - select type(pl => self) - class is (swiftest_pl) ! Additional output if the passed polymorphic object is a massive body - read(iu, iostat=ierr, err=100) pl%Gmass(:) - pl%mass(:) = pl%Gmass(:) / param%GU - if (param%lrhill_present) read(iu, iostat=ierr, err=100) pl%rhill(:) - if (param%lclose) read(iu, iostat=ierr, err=100) pl%radius(:) - if (param%lrotation) then - read(iu, iostat=ierr, err=100) pl%rot(1, :) - read(iu, iostat=ierr, err=100) pl%rot(2, :) - read(iu, iostat=ierr, err=100) pl%rot(3, :) - read(iu, iostat=ierr, err=100) pl%Ip(1, :) - read(iu, iostat=ierr, err=100) pl%Ip(2, :) - read(iu, iostat=ierr, err=100) pl%Ip(3, :) - end if - if (param%ltides) then - read(iu, iostat=ierr, err=100) pl%k2(1:n) - read(iu, iostat=ierr, err=100) pl%Q(1:n) - end if + end if + + select case(param%in_type) + case (REAL4_TYPE, REAL8_TYPE) + read(iu, err = 667, iomsg = errmsg) self%id(:) + read(iu, err = 667, iomsg = errmsg) name(:) + do i = 1, n + call self%info(i)%set_value(name=name(i)) + end do + + select case (param%in_form) + case (XV) + read(iu, err = 667, iomsg = errmsg) self%xh(1, :) + read(iu, err = 667, iomsg = errmsg) self%xh(2, :) + read(iu, err = 667, iomsg = errmsg) self%xh(3, :) + read(iu, err = 667, iomsg = errmsg) self%vh(1, :) + read(iu, err = 667, iomsg = errmsg) self%vh(2, :) + read(iu, err = 667, iomsg = errmsg) self%vh(3, :) + case (EL) + read(iu, err = 667, iomsg = errmsg) self%a(:) + read(iu, err = 667, iomsg = errmsg) self%e(:) + read(iu, err = 667, iomsg = errmsg) self%inc(:) + read(iu, err = 667, iomsg = errmsg) self%capom(:) + read(iu, err = 667, iomsg = errmsg) self%omega(:) + read(iu, err = 667, iomsg = errmsg) self%capm(:) + end select + + select type(pl => self) + class is (swiftest_pl) ! Additional output if the passed polymorphic object is a massive body + read(iu, err = 667, iomsg = errmsg) pl%Gmass(:) + pl%mass(:) = pl%Gmass(:) / param%GU + if (param%lrhill_present) read(iu, err = 667, iomsg = errmsg) pl%rhill(:) + read(iu, err = 667, iomsg = errmsg) pl%radius(:) + if (param%lrotation) then + read(iu, err = 667, iomsg = errmsg) pl%Ip(1, :) + read(iu, err = 667, iomsg = errmsg) pl%Ip(2, :) + read(iu, err = 667, iomsg = errmsg) pl%Ip(3, :) + read(iu, err = 667, iomsg = errmsg) pl%rot(1, :) + read(iu, err = 667, iomsg = errmsg) pl%rot(2, :) + read(iu, err = 667, iomsg = errmsg) pl%rot(3, :) + end if + if (param%ltides) then + read(iu, err = 667, iomsg = errmsg) pl%k2(:) + read(iu, err = 667, iomsg = errmsg) pl%Q(:) + end if + end select + + param%maxid = max(param%maxid, maxval(self%id(1:n))) + + case (ASCII_TYPE) + do i = 1, n + select type(self) + class is (swiftest_pl) + if (param%lrhill_present) then + read(iu, *, err = 667, iomsg = errmsg) name(i), val, self%rhill(i) + else + read(iu, *, err = 667, iomsg = errmsg) name(i), val + end if + call self%info(i)%set_value(name=name(i)) + self%Gmass(i) = real(val, kind=DP) + self%mass(i) = real(val / param%GU, kind=DP) + read(iu, *, err = 667, iomsg = errmsg) self%radius(i) + class is (swiftest_tp) + read(iu, *, err = 667, iomsg = errmsg) self%id(i) + end select + + select case(param%in_form) + case (XV) + read(iu, *, err = 667, iomsg = errmsg) self%xh(1, i), self%xh(2, i), self%xh(3, i) + read(iu, *, err = 667, iomsg = errmsg) self%vh(1, i), self%vh(2, i), self%vh(3, i) + case (EL) + read(iu, *, err = 667, iomsg = errmsg) self%a(i), self%e(i), self%inc(i) + read(iu, *, err = 667, iomsg = errmsg) self%capom(i), self%omega(i), self%capm(i) + end select + + select type (self) + class is (swiftest_pl) + if (param%lrotation) then + read(iu, *, err = 667, iomsg = errmsg) self%Ip(1, i), self%Ip(2, i), self%Ip(3, i) + read(iu, *, err = 667, iomsg = errmsg) self%rot(1, i), self%rot(2, i), self%rot(3, i) + end if + if (param%ltides) then + read(iu, *, err = 667, iomsg = errmsg) self%k2(i) + read(iu, *, err = 667, iomsg = errmsg) self%Q(i) + end if + end select + param%maxid = param%maxid + 1 + self%id(i) = param%maxid + end do end select - end associate - 100 if (ierr /=0) then - write(*,*) 'Error reading Swiftest body data' - call util_exit(FAILURE) - end if + if (param%in_form == EL) then + self%inc(1:n) = self%inc(1:n) * DEG2RAD + self%capom(1:n) = self%capom(1:n) * DEG2RAD + self%omega(1:n) = self%omega(1:n) * DEG2RAD + self%capm(1:n) = self%capm(1:n) * DEG2RAD + end if + end associate + ierr = 0 return - end subroutine io_read_frame_body + + 667 continue + select type (self) + class is (swiftest_pl) + write(*,*) "Error reading massive body file: " // trim(adjustl(errmsg)) + class is (swiftest_tp) + write(*,*) "Error reading test particle file: " // trim(adjustl(errmsg)) + class default + write(*,*) "Error reading body file: " // trim(adjustl(errmsg)) + end select + call util_exit(FAILURE) + end function io_read_frame_body - module subroutine io_read_frame_cb(self, iu, param, form, ierr) + module function io_read_frame_cb(self, iu, param) result(ierr) !! author: David A. Minton !! !! Reads a frame of output of central body data to the binary output file @@ -1044,71 +1271,87 @@ module subroutine io_read_frame_cb(self, iu, param, form, ierr) class(swiftest_cb), intent(inout) :: self !! Swiftest central body object integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - character(*), intent(in) :: form !! Input format code ("XV" or "EL") - integer(I4B), intent(out) :: ierr !! Error cod + ! Result + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful + ! Internals + character(len=STRMAX) :: errmsg + character(len=NAMELEN) :: name - read(iu, iostat=ierr, err=100) self%id - !read(iu, iostat=ierr, err=100) self%name - read(iu, iostat=ierr, err=100) self%Gmass + read(iu, err = 667, iomsg = errmsg) self%id + read(iu, err = 667, iomsg = errmsg) name + call self%info%set_value(name=name) + read(iu, err = 667, iomsg = errmsg) self%Gmass self%mass = self%Gmass / param%GU - read(iu, iostat=ierr, err=100) self%radius - read(iu, iostat=ierr, err=100) self%j2rp2 - read(iu, iostat=ierr, err=100) self%j4rp4 + read(iu, err = 667, iomsg = errmsg) self%radius + read(iu, err = 667, iomsg = errmsg) self%j2rp2 + read(iu, err = 667, iomsg = errmsg) self%j4rp4 if (param%lrotation) then - read(iu, iostat=ierr, err=100) self%Ip(:) - read(iu, iostat=ierr, err=100) self%rot(:) + read(iu, err = 667, iomsg = errmsg) self%Ip(1) + read(iu, err = 667, iomsg = errmsg) self%Ip(2) + read(iu, err = 667, iomsg = errmsg) self%Ip(3) + read(iu, err = 667, iomsg = errmsg) self%rot(1) + read(iu, err = 667, iomsg = errmsg) self%rot(2) + read(iu, err = 667, iomsg = errmsg) self%rot(3) end if if (param%ltides) then - read(iu, iostat=ierr, err=100) self%k2 - read(iu, iostat=ierr, err=100) self%Q - end if - 100 if (ierr /=0) then - write(*,*) 'Error reading central body data' - call util_exit(FAILURE) + read(iu, err = 667, iomsg = errmsg) self%k2 + read(iu, err = 667, iomsg = errmsg) self%Q end if + ierr = 0 return - end subroutine io_read_frame_cb + + 667 continue + write(*,*) "Error reading central body file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end function io_read_frame_cb - module subroutine io_read_frame_system(self, iu, param, form, ierr) + module function io_read_frame_system(self, iu, param) result(ierr) !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott !! !! Read a frame (header plus records for each massive body and active test particle) from a output binary file implicit none ! Arguments - class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object - integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object + integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - character(*), intent(in) :: form !! Input format code ("XV" or "EL") - integer(I4B), intent(out) :: ierr !! Error code + ! Result + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful ! Internals - logical, save :: lfirst = .true. + character(len=STRMAX) :: errmsg + integer(I4B) :: npl, ntp - iu = BINUNIT - if (lfirst) then - open(unit = iu, file = param%outfile, status = 'OLD', form = 'UNFORMATTED', iostat = ierr) - lfirst = .false. - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " Binary output file already exists or cannot be accessed" - return - end if + ierr = io_read_hdr(iu, param%t, npl, ntp, param%out_form, param%out_type) + if (is_iostat_end(ierr)) return ! Reached the end of the frames + call self%pl%setup(npl, param) + call self%tp%setup(ntp, param) + + if (ierr /= 0) then + write(errmsg, *) "Cannot read frame header." + goto 667 end if - ierr = io_read_hdr(iu, param%t, self%pl%nbody, self%tp%nbody, param%out_form, param%out_type) + ierr = self%cb%read_frame(iu, param) if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " Binary output file already exists or cannot be accessed" - return + write(errmsg, *) "Cannot read central body frame." + goto 667 + end if + ierr = self%pl%read_frame(iu, param) + if (ierr /= 0) then + write(errmsg, *) "Cannot read massive body frame." + goto 667 + end if + ierr = self%tp%read_frame(iu, param) + if (ierr /= 0) then + write(errmsg, *) "Cannot read test particle frame." + goto 667 end if - call self%cb%read_frame(iu, param, form, ierr) - if (ierr /= 0) return - call self%pl%read_frame(iu, param, form, ierr) - if (ierr /= 0) return - call self%tp%read_frame(iu, param, form, ierr) return - end subroutine io_read_frame_system + + 667 continue + write(*,*) "Error reading system frame: " // trim(adjustl(errmsg)) + end function io_read_frame_system function io_read_hdr(iu, t, npl, ntp, out_form, out_type) result(ierr) @@ -1122,33 +1365,41 @@ function io_read_hdr(iu, t, npl, ntp, out_form, out_type) result(ierr) ! Arguments integer(I4B), intent(in) :: iu integer(I4B), intent(out) :: npl, ntp - character(*), intent(out) :: out_form + character(*), intent(out) :: out_form real(DP), intent(out) :: t character(*), intent(in) :: out_type ! Result integer(I4B) :: ierr ! Internals - real(SP) :: ttmp + real(SP) :: ttmp + character(len=STRMAX) :: errmsg select case (out_type) - case (REAL4_TYPE, SWIFTER_REAL4_TYPE) - read(iu, iostat = ierr) ttmp, npl, ntp, out_form - if (ierr /= 0) return + case (REAL4_TYPE) + read(iu, iostat = ierr, err = 667, iomsg = errmsg, end = 333) ttmp t = ttmp - case (REAL8_TYPE, SWIFTER_REAL8_TYPE) - read(iu, iostat = ierr) t - read(iu, iostat = ierr) npl - read(iu, iostat = ierr) ntp - read(iu, iostat = ierr) out_form + case (REAL8_TYPE) + read(iu, iostat = ierr, err = 667, iomsg = errmsg, end = 333) t case default - write(*,*) trim(adjustl(out_type)) // ' is an unrecognized file type' + write(errmsg,*) trim(adjustl(out_type)) // ' is an unrecognized file type' ierr = -1 end select + read(iu, iostat = ierr, err = 667, iomsg = errmsg) npl + read(iu, iostat = ierr, err = 667, iomsg = errmsg) ntp + read(iu, iostat = ierr, err = 667, iomsg = errmsg) out_form + + return + + 667 continue + write(*,*) "Error reading header: " // trim(adjustl(errmsg)) + 333 continue + return return end function io_read_hdr - module subroutine io_read_param_in(self, param_file_name) + + module subroutine io_read_in_param(self, param_file_name) !! author: David A. Minton !! !! Read in parameters for the integration @@ -1162,32 +1413,119 @@ module subroutine io_read_param_in(self, param_file_name) ! Internals integer(I4B), parameter :: LUN = 7 !! Unit number of input file integer(I4B) :: ierr = 0 !! Input error code - character(STRMAX) :: error_message !! Error message in UDIO procedure + character(STRMAX) :: errmsg !! Error message in UDIO procedure ! Read in name of parameter file write(*, *) 'Parameter input file is ', trim(adjustl(param_file_name)) write(*, *) ' ' 100 format(A) - open(unit = LUN, file = param_file_name, status = 'old', iostat = ierr) - if (ierr /= 0) then - write(*,*) 'Swiftest error: ', ierr - write(*,*) ' Unable to open file ',trim(adjustl(param_file_name)) - call util_exit(FAILURE) - end if + open(unit = LUN, file = param_file_name, status = 'old', iostat = ierr, err = 667, iomsg = errmsg) !! todo: Currently this procedure does not work in user-defined derived-type input mode !! as the newline characters are ignored in the input file when compiled in ifort. - !read(LUN,'(DT)', iostat= ierr, iomsg = error_message) param - call self%reader(LUN, iotype= "none", v_list = [self%integrator], iostat = ierr, iomsg = error_message) - if (ierr /= 0) then - write(*,*) 'Swiftest error reading ', trim(adjustl(param_file_name)) - write(*,*) ierr,trim(adjustl(error_message)) - call util_exit(FAILURE) - end if + !read(LUN,'(DT)', iostat= ierr, iomsg = errmsg) param + call self%reader(LUN, iotype= "none", v_list = [self%integrator], iostat = ierr, iomsg = errmsg) + if (ierr == 0) return - return - end subroutine io_read_param_in + 667 continue + write(*,*) "Error reading parameter file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_read_in_param + + + module subroutine io_read_in_particle_info(self, iu) + !! author: David A. Minton + !! + !! Reads in particle information object information from an open file unformatted file + implicit none + ! Arguments + class(swiftest_particle_info), intent(inout) :: self !! Particle metadata information object + integer(I4B), intent(in) :: iu !! Open file unit number + ! Internals + character(STRMAX) :: errmsg + + read(iu, err = 667, iomsg = errmsg) self%name + read(iu, err = 667, iomsg = errmsg) self%particle_type + read(iu, err = 667, iomsg = errmsg) self%origin_type + read(iu, err = 667, iomsg = errmsg) self%origin_time + read(iu, err = 667, iomsg = errmsg) self%origin_xh(:) + read(iu, err = 667, iomsg = errmsg) self%origin_vh(:) + + return + + 667 continue + write(*,*) "Error reading particle metadata information from file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_read_in_particle_info + + + module subroutine io_read_particle_info_system(self, param) + !! author: David A. Minton + !! + !! Reads an old particle information file for a restartd run + implicit none + ! Arguments + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + ! Internals + integer(I4B), parameter :: LUN = 22 + integer(I4B) :: i, id, idx + logical :: lmatch + character(STRMAX) :: errmsg + type(swiftest_particle_info), allocatable :: tmpinfo + + open(unit = LUN, file = param%particle_out, status = 'OLD', form = 'UNFORMATTED', err = 667, iomsg = errmsg) + + allocate(tmpinfo, mold=self%cb%info) + + select type(cb => self%cb) + class is (swiftest_cb) + select type(pl => self%pl) + class is (swiftest_pl) + select type(tp => self%tp) + class is (swiftest_tp) + associate(npl => pl%nbody, ntp => tp%nbody) + do + lmatch = .false. + read(LUN, err = 667, iomsg = errmsg, end = 333) id + + if (id == cb%id) then + call cb%info%read_in(LUN) + lmatch = .true. + else + if (npl > 0) then + idx = findloc(pl%id(1:npl), id, dim=1) + if (idx /= 0) then + call pl%info(idx)%read_in(LUN) + lmatch = .true. + end if + end if + if (.not.lmatch .and. ntp > 0) then + idx = findloc(tp%id(1:ntp), id, dim=1) + if (idx /= 0) then + call tp%info(idx)%read_in(LUN) + lmatch = .true. + end if + end if + end if + if (.not.lmatch) then + call tmpinfo%read_in(LUN) + end if + end do + end associate + close(unit = LUN, err = 667, iomsg = errmsg) + end select + end select + end select + + 333 continue + return + + 667 continue + write(*,*) "Error reading particle information file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_read_particle_info_system module subroutine io_toupper(string) @@ -1225,10 +1563,10 @@ module subroutine io_write_discard(self, param) implicit none ! Arguments class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals integer(I4B), parameter :: LUN = 40 - integer(I4B) :: i, ierr + integer(I4B) :: i logical, save :: lfirst = .true. real(DP), dimension(:,:), allocatable :: vh character(*), parameter :: HDRFMT = '(E23.16, 1X, I8, 1X, L1)' @@ -1237,14 +1575,30 @@ module subroutine io_write_discard(self, param) character(*), parameter :: NPLFMT = '(I8)' character(*), parameter :: PLNAMEFMT = '(I8, 2(1X, E23.16))' class(swiftest_body), allocatable :: pltemp + character(len=STRMAX) :: errmsg, out_stat associate(tp_discards => self%tp_discards, nsp => self%tp_discards%nbody, pl => self%pl, npl => self%pl%nbody) + + ! Record the discarded body metadata information to file + if ((param%out_type == NETCDF_FLOAT_TYPE) .or. (param%out_type == NETCDF_DOUBLE_TYPE)) then + call param%nciu%open(param) + call tp_discards%write_particle_info(param%nciu) + call param%nciu%close(param) + end if + + if (param%discard_out == "") return + if (nsp == 0) return - select case(param%out_stat) + if (lfirst) then + out_stat = param%out_stat + else + out_stat = 'APPEND' + end if + select case(out_stat) case('APPEND') - open(unit = LUN, file = param%discard_out, status = 'OLD', position = 'APPEND', form = 'FORMATTED', iostat = ierr) + open(unit = LUN, file = param%discard_out, status = 'OLD', position = 'APPEND', form = 'FORMATTED', err = 667, iomsg = errmsg) case('NEW', 'REPLACE', 'UNKNOWN') - open(unit = LUN, file = param%discard_out, status = param%out_stat, form = 'FORMATTED', iostat = ierr) + open(unit = LUN, file = param%discard_out, status = param%out_stat, form = 'FORMATTED', err = 667, iomsg = errmsg) case default write(*,*) 'Invalid status code for OUT_STAT: ',trim(adjustl(param%out_stat)) call util_exit(FAILURE) @@ -1254,82 +1608,93 @@ module subroutine io_write_discard(self, param) write(LUN, HDRFMT) param%t, nsp, param%lbig_discard do i = 1, nsp - write(LUN, NAMEFMT) SUB, tp_discards%id(i), tp_discards%status(i) - write(LUN, VECFMT) tp_discards%xh(1, i), tp_discards%xh(2, i), tp_discards%xh(3, i) - write(LUN, VECFMT) tp_discards%vh(1, i), tp_discards%vh(2, i), tp_discards%vh(3, i) + write(LUN, NAMEFMT, err = 667, iomsg = errmsg) SUB, tp_discards%id(i), tp_discards%status(i) + write(LUN, VECFMT, err = 667, iomsg = errmsg) tp_discards%xh(1, i), tp_discards%xh(2, i), tp_discards%xh(3, i) + write(LUN, VECFMT, err = 667, iomsg = errmsg) tp_discards%vh(1, i), tp_discards%vh(2, i), tp_discards%vh(3, i) end do if (param%lbig_discard) then - if (param%lgr) then - allocate(pltemp, source = pl) - call pltemp%pv2v(param) - allocate(vh, source = pltemp%vh) - deallocate(pltemp) - else - allocate(vh, source = pl%vh) - end if + if (param%lgr) then + allocate(pltemp, source = pl) + call pltemp%pv2v(param) + allocate(vh, source = pltemp%vh) + deallocate(pltemp) + else + allocate(vh, source = pl%vh) + end if - write(LUN, NPLFMT) npl - do i = 1, npl - write(LUN, PLNAMEFMT) pl%id(i), pl%Gmass(i), pl%radius(i) - write(LUN, VECFMT) pl%xh(1, i), pl%xh(2, i), pl%xh(3, i) - write(LUN, VECFMT) vh(1, i), vh(2, i), vh(3, i) - end do - deallocate(vh) + write(LUN, NPLFMT) npl + do i = 1, npl + write(LUN, PLNAMEFMT, err = 667, iomsg = errmsg) pl%id(i), pl%Gmass(i), pl%radius(i) + write(LUN, VECFMT, err = 667, iomsg = errmsg) pl%xh(1, i), pl%xh(2, i), pl%xh(3, i) + write(LUN, VECFMT, err = 667, iomsg = errmsg) vh(1, i), vh(2, i), vh(3, i) + end do + deallocate(vh) end if close(LUN) end associate return + + 667 continue + write(*,*) "Error writing discard file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine io_write_discard - module subroutine io_write_encounter(t, name1, name2, mass1, mass2, radius1, radius2, & - xh1, xh2, vh1, vh2, enc_out, out_type) - !! author: David A. Minton - !! - !! Write close encounter data to output binary files - !! There is no direct file output from this subroutine - !! - !! Adapted from David E. Kaufmann's Swifter routine: io_write_encounter.f90 - !! Adapted from Hal Levison's Swift routine io_write_encounter.f + module subroutine io_write_encounter(self, pl, encbody, param) implicit none ! Arguments - integer(I4B), intent(in) :: name1, name2 - real(DP), intent(in) :: t, mass1, mass2, radius1, radius2 - real(DP), dimension(:), intent(in) :: xh1, xh2, vh1, vh2 - character(*), intent(in) :: enc_out, out_type + class(swiftest_encounter), intent(in) :: self !! Swiftest encounter list object + class(swiftest_pl), intent(in) :: pl !! Swiftest massive body object + class(swiftest_body), intent(in) :: encbody !! Encountering body - Swiftest generic body object (pl or tp) + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters ! Internals - logical , save :: lfirst = .true. - integer(I4B), parameter :: lun = 30 - integer(I4B) :: ierr - integer(I4B), save :: iu = lun + logical , save :: lfirst = .true. + integer(I4B), parameter :: LUN = 30 + integer(I4B) :: k, ierr + character(len=STRMAX) :: errmsg - open(unit = iu, file = enc_out, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', iostat = ierr) - if ((ierr /= 0) .and. lfirst) then - open(unit = iu, file = enc_out, status = 'NEW', form = 'UNFORMATTED', iostat = ierr) - end if + if (param%enc_out == "" .or. self%nenc == 0) return + + open(unit = LUN, file = param%enc_out, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', iostat = ierr, iomsg = errmsg) if (ierr /= 0) then - write(*, *) "Swiftest Error:" - write(*, *) " Unable to open binary encounter file" - call util_exit(FAILURE) + if (lfirst) then + open(unit = LUN, file = param%enc_out, status = 'NEW', form = 'UNFORMATTED', err = 667, iomsg = errmsg) + else + goto 667 + end if end if lfirst = .false. - write(iu, iostat = ierr) t - if (ierr < 0) then - write(*, *) "Swiftest Error:" - write(*, *) " Unable to write binary file record" - call util_exit(FAILURE) - end if - write(iu) name1, xh1(1), xh1(2), xh1(3), vh1(1), vh1(2), mass1, radius1 - write(iu) name2, xh2(1), xh2(2), xh2(3), vh2(1), vh2(2), mass2, radius2 - close(unit = iu, iostat = ierr) - if (ierr /= 0) then - write(*, *) "Swiftest Error:" - write(*, *) " Unable to close binary encounter file" - call util_exit(FAILURE) - end if + + associate(ind1 => self%index1, ind2 => self%index2) + select type(encbody) + class is (swiftest_pl) + do k = 1, self%nenc + call io_write_frame_encounter(LUN, self%t(k), & + pl%id(ind1(k)), encbody%id(ind2(k)), & + pl%Gmass(ind1(k)), encbody%Gmass(ind2(k)), & + pl%radius(ind1(k)), encbody%radius(ind2(k)), & + self%x1(:,k), self%x2(:,k), & + self%v1(:,k), self%v2(:,k)) + end do + class is (swiftest_tp) + do k = 1, self%nenc + call io_write_frame_encounter(LUN, self%t(k), & + pl%id(ind1(k)), encbody%id(ind2(k)), & + pl%Gmass(ind1(k)), 0.0_DP, & + pl%radius(ind1(k)), 0.0_DP, & + self%x1(:,k), self%x2(:,k), & + self%v1(:,k), self%v2(:,k)) + end do + end select + end associate + + close(unit = LUN, err = 667, iomsg = errmsg) return + 667 continue + write(*,*) "Error writing encounter file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine io_write_encounter @@ -1346,48 +1711,53 @@ module subroutine io_write_frame_body(self, iu, param) class(swiftest_body), intent(in) :: self !! Swiftest particle object integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + character(len=STRMAX) :: errmsg associate(n => self%nbody) if (n == 0) return - write(iu) self%id(1:n) - !write(iu) self%name(1:n) - select case (param%out_form) - case (EL) - write(iu) self%a(1:n) - write(iu) self%e(1:n) - write(iu) self%inc(1:n) - write(iu) self%capom(1:n) - write(iu) self%omega(1:n) - write(iu) self%capm(1:n) - case (XV) - write(iu) self%xh(1, 1:n) - write(iu) self%xh(2, 1:n) - write(iu) self%xh(3, 1:n) - write(iu) self%vh(1, 1:n) - write(iu) self%vh(2, 1:n) - write(iu) self%vh(3, 1:n) - end select + write(iu, err = 667, iomsg = errmsg) self%id(1:n) + write(iu, err = 667, iomsg = errmsg) self%info(1:n)%name + if ((param%out_form == XV) .or. (param%out_form == XVEL)) then + write(iu, err = 667, iomsg = errmsg) self%xh(1, 1:n) + write(iu, err = 667, iomsg = errmsg) self%xh(2, 1:n) + write(iu, err = 667, iomsg = errmsg) self%xh(3, 1:n) + write(iu, err = 667, iomsg = errmsg) self%vh(1, 1:n) + write(iu, err = 667, iomsg = errmsg) self%vh(2, 1:n) + write(iu, err = 667, iomsg = errmsg) self%vh(3, 1:n) + end if + if ((param%out_form == EL) .or. (param%out_form == XVEL)) then + write(iu, err = 667, iomsg = errmsg) self%a(1:n) + write(iu, err = 667, iomsg = errmsg) self%e(1:n) + write(iu, err = 667, iomsg = errmsg) self%inc(1:n) * RAD2DEG + write(iu, err = 667, iomsg = errmsg) self%capom(1:n) * RAD2DEG + write(iu, err = 667, iomsg = errmsg) self%omega(1:n) * RAD2DEG + write(iu, err = 667, iomsg = errmsg) self%capm(1:n) * RAD2DEG + end if select type(pl => self) class is (swiftest_pl) ! Additional output if the passed polymorphic object is a massive body - write(iu) pl%Gmass(1:n) - if (param%lrhill_present) write(iu) pl%rhill(1:n) - if (param%lclose) write(iu) pl%radius(1:n) + write(iu, err = 667, iomsg = errmsg) pl%Gmass(1:n) + if (param%lrhill_present) write(iu, err = 667, iomsg = errmsg) pl%rhill(1:n) + write(iu, err = 667, iomsg = errmsg) pl%radius(1:n) if (param%lrotation) then - write(iu) pl%Ip(1, 1:n) - write(iu) pl%Ip(2, 1:n) - write(iu) pl%Ip(3, 1:n) - write(iu) pl%rot(1, 1:n) - write(iu) pl%rot(2, 1:n) - write(iu) pl%rot(3, 1:n) + write(iu, err = 667, iomsg = errmsg) pl%Ip(1, 1:n) + write(iu, err = 667, iomsg = errmsg) pl%Ip(2, 1:n) + write(iu, err = 667, iomsg = errmsg) pl%Ip(3, 1:n) + write(iu, err = 667, iomsg = errmsg) pl%rot(1, 1:n) + write(iu, err = 667, iomsg = errmsg) pl%rot(2, 1:n) + write(iu, err = 667, iomsg = errmsg) pl%rot(3, 1:n) end if if (param%ltides) then - write(iu) pl%k2(1:n) - write(iu) pl%Q(1:n) + write(iu, err = 667, iomsg = errmsg) pl%k2(1:n) + write(iu, err = 667, iomsg = errmsg) pl%Q(1:n) end if end select end associate return + 667 continue + write(*,*) "Error writing body frame: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine io_write_frame_body @@ -1403,33 +1773,68 @@ module subroutine io_write_frame_cb(self, iu, param) class(swiftest_cb), intent(in) :: self !! Swiftest central body object integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + character(len=STRMAX) :: errmsg associate(cb => self) - !write(iu) cb%name - write(iu) cb%id - write(iu) cb%Gmass - write(iu) cb%radius - write(iu) cb%j2rp2 - write(iu) cb%j4rp4 + write(iu, err = 667, iomsg = errmsg) cb%id + write(iu, err = 667, iomsg = errmsg) cb%info%name + write(iu, err = 667, iomsg = errmsg) cb%Gmass + write(iu, err = 667, iomsg = errmsg) cb%radius + write(iu, err = 667, iomsg = errmsg) cb%j2rp2 + write(iu, err = 667, iomsg = errmsg) cb%j4rp4 if (param%lrotation) then - write(iu) cb%Ip(1) - write(iu) cb%Ip(2) - write(iu) cb%Ip(3) - write(iu) cb%rot(1) - write(iu) cb%rot(2) - write(iu) cb%rot(3) + write(iu, err = 667, iomsg = errmsg) cb%Ip(1) + write(iu, err = 667, iomsg = errmsg) cb%Ip(2) + write(iu, err = 667, iomsg = errmsg) cb%Ip(3) + write(iu, err = 667, iomsg = errmsg) cb%rot(1) + write(iu, err = 667, iomsg = errmsg) cb%rot(2) + write(iu, err = 667, iomsg = errmsg) cb%rot(3) end if if (param%ltides) then - write(iu) cb%k2 - write(iu) cb%Q + write(iu, err = 667, iomsg = errmsg) cb%k2 + write(iu, err = 667, iomsg = errmsg) cb%Q end if end associate return + 667 continue + write(*,*) "Error writing central body frame: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine io_write_frame_cb - module subroutine io_write_frame_system(self, iu, param) + module subroutine io_write_frame_encounter(iu, t, id1, id2, Gmass1, Gmass2, radius1, radius2, xh1, xh2, vh1, vh2) + !! author: David A. Minton + !! + !! Write a single frame of close encounter data to output binary files + !! + !! Adapted from David E. Kaufmann's Swifter routine: io_write_encounter.f90 + !! Adapted from Hal Levison's Swift routine io_write_encounter.f + implicit none + ! Arguments + integer(I4B), intent(in) :: iu !! Open file unit number + real(DP), intent(in) :: t !! Time of encounter + integer(I4B), intent(in) :: id1, id2 !! ids of the two encountering bodies + real(DP), intent(in) :: Gmass1, Gmass2 !! G*mass of the two encountering bodies + real(DP), intent(in) :: radius1, radius2 !! Radii of the two encountering bodies + real(DP), dimension(:), intent(in) :: xh1, xh2 !! Heliocentric position vectors of the two encountering bodies + real(DP), dimension(:), intent(in) :: vh1, vh2 !! Heliocentric velocity vectors of the two encountering bodies + ! Internals + character(len=STRMAX) :: errmsg + + write(iu, err = 667, iomsg = errmsg) t + write(iu, err = 667, iomsg = errmsg) id1, xh1(1), xh1(2), xh1(3), vh1(1), vh1(2), Gmass1, radius1 + write(iu, err = 667, iomsg = errmsg) id2, xh2(1), xh2(2), xh2(3), vh2(1), vh2(2), Gmass2, radius2 + + return + 667 continue + write(*,*) "Error writing encounter file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine + + + module subroutine io_write_frame_system(self, param) !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott !! !! Write a frame (header plus records for each massive body and active test particle) to output binary file @@ -1439,73 +1844,111 @@ module subroutine io_write_frame_system(self, iu, param) !! Adapted from Hal Levison's Swift routine io_write_frame.F implicit none ! Arguments - class(swiftest_nbody_system), intent(in) :: self !! Swiftest system object - integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals logical, save :: lfirst = .true. !! Flag to determine if this is the first call of this method - integer(I4B) :: ierr !! I/O error code - class(swiftest_cb), allocatable :: cb !! Temporary local version of pl structure used for non-destructive conversions class(swiftest_pl), allocatable :: pl !! Temporary local version of pl structure used for non-destructive conversions class(swiftest_tp), allocatable :: tp !! Temporary local version of pl structure used for non-destructive conversions + character(len=STRMAX) :: errmsg + integer(I4B) :: iu = BINUNIT !! Unit number for the output file to write frame to + logical :: fileExists + + if (.not.lfirst .and. param%lenergy) call self%conservation_report(param, lterminal=.true.) allocate(cb, source = self%cb) allocate(pl, source = self%pl) allocate(tp, source = self%tp) iu = BINUNIT - - if (lfirst) then - select case(param%out_stat) - case('APPEND') - open(unit = iu, file = param%outfile, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', iostat = ierr) - case('NEW', 'REPLACE', 'UNKNOWN') - open(unit = iu, file = param%outfile, status = param%out_stat, form = 'UNFORMATTED', iostat = ierr) - case default - write(*,*) 'Invalid status code for OUT_STAT: ',trim(adjustl(param%out_stat)) - call util_exit(FAILURE) - end select - if (ierr /= 0) then - write(*, *) "Swiftest error: io_write_frame_system - first", ierr - write(*, *) " Binary output file " // trim(adjustl(param%outfile)) // " already exists or cannot be accessed" - write(*, *) " OUT_STAT: " // trim(adjustl(param%out_stat)) - call util_exit(FAILURE) + + if ((param%out_type == REAL4_TYPE) .or. (param%out_type == REAL8_TYPE)) then + if (lfirst) then + select case(param%out_stat) + case('APPEND') + open(unit = iu, file = param%outfile, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', err = 667, iomsg = errmsg) + case('NEW', 'REPLACE', 'UNKNOWN') + open(unit = iu, file = param%outfile, status = param%out_stat, form = 'UNFORMATTED', err = 667, iomsg = errmsg) + case default + write(*,*) 'Invalid status code for OUT_STAT: ',trim(adjustl(param%out_stat)) + call util_exit(FAILURE) + end select + + lfirst = .false. + else + open(unit = iu, file = param%outfile, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', err = 667, iomsg = errmsg) end if - lfirst = .false. - else - open(unit = iu, file = param%outfile, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', iostat = ierr) - if (ierr /= 0) then - write(*, *) "Swiftest error: io_write_frame_system" - write(*, *) " Unable to open binary output file for APPEND" - call util_exit(FAILURE) + else if ((param%out_type == NETCDF_FLOAT_TYPE) .or. (param%out_type == NETCDF_DOUBLE_TYPE)) then + + if (lfirst) then + inquire(file=param%outfile, exist=fileExists) + + select case(param%out_stat) + case('APPEND') + if (.not.fileExists) then + errmsg = param%outfile // " not found! You must specify OUT_STAT = NEW, REPLACE, or UNKNOWN" + goto 667 + end if + case('NEW') + if (fileExists) then + errmsg = param%outfile // " Alread Exists! You must specify OUT_STAT = OLD, REPLACE, or UNKNOWN" + goto 667 + end if + case('REPLACE', 'UNKNOWN') + if (fileExists) then + open(file=param%outfile, unit=iu, status='OLD') + close (unit=BINUNIT, status="delete") + end if + end select + + select case(param%out_stat) + case('APPEND') + call param%nciu%open(param) + case('NEW', 'REPLACE', 'UNKNOWN') + call param%nciu%initialize(param) + call param%nciu%close(param) + call param%nciu%open(param) + end select + lfirst = .false. + else + call param%nciu%open(param) end if end if - call io_write_hdr(iu, param%t, pl%nbody, tp%nbody, param%out_form, param%out_type) if (param%lgr) then call pl%pv2v(param) call tp%pv2v(param) end if - if (param%out_form == EL) then ! Do an orbital element conversion prior to writing out the frame, as we have access to the central body here + if ((param%out_form == EL) .or. (param%out_form == XVEL)) then ! Do an orbital element conversion prior to writing out the frame, as we have access to the central body here call pl%xv2el(cb) call tp%xv2el(cb) end if ! Write out each data type frame - call cb%write_frame(iu, param) - call pl%write_frame(iu, param) - call tp%write_frame(iu, param) - - deallocate(cb, pl, tp) - - close(iu) + if ((param%out_type == REAL4_TYPE) .or. (param%out_type == REAL8_TYPE)) then + call self%write_hdr(iu, param) + call cb%write_frame(iu, param) + call pl%write_frame(iu, param) + call tp%write_frame(iu, param) + close(iu, err = 667, iomsg = errmsg) + else if ((param%out_type == NETCDF_FLOAT_TYPE) .or. (param%out_type == NETCDF_DOUBLE_TYPE)) then + call self%write_hdr(param%nciu, param) + call cb%write_frame(param%nciu, param) + call pl%write_frame(param%nciu, param) + call tp%write_frame(param%nciu, param) + call param%nciu%close(param) + end if return + + 667 continue + write(*,*) "Error writing system frame: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine io_write_frame_system - subroutine io_write_hdr(iu, t, npl, ntp, out_form, out_type) + module subroutine io_write_hdr_system(self, iu, param) ! t, npl, ntp, out_form, out_type) !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott !! !! Write frame header to output binary file @@ -1514,36 +1957,27 @@ subroutine io_write_hdr(iu, t, npl, ntp, out_form, out_type) !! Adapted from Hal Levison's Swift routine io_write_hdr.F implicit none ! Arguments - integer(I4B), intent(in) :: iu !! Output file unit number - real(DP), intent(in) :: t !! Current time of simulation - integer(I4B), intent(in) :: npl !! Number of massive bodies - integer(I4B), intent(in) :: ntp !! Number of test particles - character(*), intent(in) :: out_form !! Output format type ("EL" or "XV") - character(*), intent(in) :: out_type !! Output file format type (REAL4, REAL8 - see swiftest module for symbolic name definitions) + class(swiftest_nbody_system), intent(in) :: self !! Swiftest nbody system object + integer(I4B), intent(inout) :: iu !! Output file unit number + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters ! Internals - integer(I4B) :: ierr !! Error code + character(len=STRMAX) :: errmsg - select case (out_type) - case (REAL4_TYPE,SWIFTER_REAL4_TYPE) - write(iu, iostat = ierr) real(t, kind=SP) - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " Unable to write binary file header" - call util_exit(FAILURE) - end if - case (REAL8_TYPE,SWIFTER_REAL8_TYPE) - write(iu, iostat = ierr) t - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " Unable to write binary file header" - call util_exit(FAILURE) - end if + select case (param%out_type) + case (REAL4_TYPE) + write(iu, err = 667, iomsg = errmsg) real(param%t, kind=SP) + case (REAL8_TYPE) + write(iu, err = 667, iomsg = errmsg) param%t end select - write(iu, iostat = ierr) npl - write(iu, iostat = ierr) ntp - write(iu, iostat = ierr) out_form + write(iu, err = 667, iomsg = errmsg) self%pl%nbody + write(iu, err = 667, iomsg = errmsg) self%tp%nbody + write(iu, err = 667, iomsg = errmsg) param%out_form return - end subroutine io_write_hdr + + 667 continue + write(*,*) "Error writing header: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) + end subroutine io_write_hdr_system end submodule s_io diff --git a/src/kick/kick.f90 b/src/kick/kick.f90 index 3945a91d0..5c57918e2 100644 --- a/src/kick/kick.f90 +++ b/src/kick/kick.f90 @@ -2,7 +2,7 @@ use swiftest contains - module pure subroutine kick_getacch_int_pl(self) + module subroutine kick_getacch_int_pl(self) !! author: David A. Minton !! !! Compute direct cross (third) term heliocentric accelerations of massive bodies @@ -12,26 +12,8 @@ module pure subroutine kick_getacch_int_pl(self) implicit none ! Arguments class(swiftest_pl), intent(inout) :: self - ! Internals - integer(I4B) :: k - real(DP) :: rji2, irij3, faci, facj - real(DP), dimension(NDIM) :: dx - - associate(pl => self, npl => self%nbody, nplpl => self%nplpl) - do k = 1, nplpl - associate(i => pl%k_plpl(1, k), j => pl%k_plpl(2, k)) - if (pl%lmask(i) .and. pl%lmask(j)) then - dx(:) = pl%xh(:, j) - pl%xh(:, i) - rji2 = dot_product(dx(:), dx(:)) - irij3 = 1.0_DP / (rji2 * sqrt(rji2)) - faci = pl%Gmass(i) * irij3 - facj = pl%Gmass(j) * irij3 - pl%ah(:, i) = pl%ah(:, i) + facj * dx(:) - pl%ah(:, j) = pl%ah(:, j) - faci * dx(:) - end if - end associate - end do - end associate + + call kick_getacch_int_all_pl(self%nbody, self%nplpl, self%k_plpl, self%xh, self%Gmass, self%radius, self%ah) return end subroutine kick_getacch_int_pl @@ -52,21 +34,127 @@ module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) integer(I4B), intent(in) :: npl !! Number of active massive bodies ! Internals integer(I4B) :: i, j - real(DP) :: rji2, irij3, fac, r2 - real(DP), dimension(NDIM) :: dx + + if ((self%nbody == 0) .or. (npl == 0)) return associate(tp => self, ntp => self%nbody) - do concurrent(i = 1:ntp, tp%lmask(i)) - do j = 1, npl - dx(:) = tp%xh(:,i) - xhp(:, j) - r2 = dot_product(dx(:), dx(:)) - fac = GMpl(j) / (r2 * sqrt(r2)) - tp%ah(:, i) = tp%ah(:, i) - fac * dx(:) - end do + do i = 1, ntp + if (tp%lmask(i)) then + do j = 1, npl + block + real(DP) :: rji2 + real(DP) :: xr, yr, zr + xr = tp%xh(1, i) - xhp(1, j) + yr = tp%xh(2, i) - xhp(1, j) + zr = tp%xh(3, i) - xhp(1, j) + rji2 = xr**2 + yr**2 + zr**2 + call kick_getacch_int_one_tp(rji2, xr, yr, zr, GMpl(i), tp%ah(1,i), tp%ah(2,i), tp%ah(3,i)) + end block + end do + end if end do end associate return end subroutine kick_getacch_int_tp + + module subroutine kick_getacch_int_all_pl(npl, nplpl, k_plpl, x, Gmass, radius, acc) + !! author: David A. Minton + !! + !! Compute direct cross (third) term heliocentric accelerations for massive bodies, with parallelization + !! + !! Adapted from Hal Levison's Swift routine getacch_ah3.f + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_ah3.f90 and helio_kick_getacch_int.f9 + implicit none + integer(I4B), intent(in) :: npl !! Number of massive bodies + integer(I8B), intent(in) :: nplpl !! Number of massive body interactions to compute + integer(I4B), dimension(:,:), intent(in) :: k_plpl !! Array of interaction pair indices (flattened upper triangular matrix) + real(DP), dimension(:,:), intent(in) :: x !! Position vector array + real(DP), dimension(:), intent(in) :: Gmass !! Array of massive body G*mass + real(DP), dimension(:), intent(in) :: radius !! Array of massive body radii + real(DP), dimension(:,:), intent(inout) :: acc !! Acceleration vector array + ! Internals + integer(I8B) :: k + real(DP) :: rji2, rlim2 + real(DP) :: xr, yr, zr + integer(I4B) :: i, j + real(DP), dimension(NDIM,npl) :: ahi, ahj + + ahi(:,:) = 0.0_DP + ahj(:,:) = 0.0_DP + !$omp parallel do default(private)& + !$omp shared(nplpl, k_plpl, x, Gmass, radius) & + !$omp reduction(+:ahi) & + !$omp reduction(-:ahj) + do k = 1_I8B, nplpl + i = k_plpl(1,k) + j = k_plpl(2,k) + xr = x(1, j) - x(1, i) + yr = x(2, j) - x(2, i) + zr = x(3, j) - x(3, i) + rji2 = xr**2 + yr**2 + zr**2 + rlim2 = (radius(i) + radius(j))**2 + if (rji2 > rlim2) call kick_getacch_int_one_pl(rji2, xr, yr, zr, Gmass(i), Gmass(j), ahi(1,i), ahi(2,i), ahi(3,i), ahj(1,j), ahj(2,j), ahj(3,j)) + end do + !$omp end parallel do + + acc(:,1:npl) = acc(:,1:npl) + ahi(:,1:npl) + ahj(:,1:npl) + return + end subroutine kick_getacch_int_all_pl + + + module pure subroutine kick_getacch_int_one_pl(rji2, xr, yr, zr, Gmi, Gmj, axi, ayi, azi, axj, ayj, azj) + !! author: David A. Minton + !! + !! Compute direct cross (third) term heliocentric accelerations for a single pair of massive bodies + !! + !! Adapted from Hal Levison's Swift routine getacch_ah3.f + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_ah3.f90 and helio_kick_getacch_int.f9 + implicit none + real(DP), intent(in) :: rji2 !! Square of distance between the two bodies + real(DP), intent(in) :: xr, yr, zr !! Distances between the two bodies in x, y, and z directions + real(DP), intent(in) :: Gmi !! G*mass of body i + real(DP), intent(in) :: Gmj !! G*mass of body j + real(DP), intent(inout) :: axi, ayi, azi !! Acceleration vector components of body i + real(DP), intent(inout) :: axj, ayj, azj !! Acceleration vector components of body j + ! Internals + real(DP) :: faci, facj, irij3 + + irij3 = 1.0_DP / (rji2 * sqrt(rji2)) + faci = Gmi * irij3 + facj = Gmj * irij3 + axi = axi + facj * xr + ayi = ayi + facj * yr + azi = azi + facj * zr + axj = axj - faci * xr + ayj = ayj - faci * yr + azj = azj - faci * zr + + return + end subroutine kick_getacch_int_one_pl + + + module pure subroutine kick_getacch_int_one_tp(rji2, xr, yr, zr, GMpl, ax, ay, az) + !! author: David A. Minton + !! + !! Compute direct cross (third) term heliocentric accelerations of a single test particle massive body pair. + !! + !! Adapted from Hal Levison's Swift routine getacch_ah3_tp.f + !! Adapted from David E. Kaufmann's Swifter routine whm_kick_getacch_ah3.f90 and helio_kick_getacch_int_tp.f90 + implicit none + real(DP), intent(in) :: rji2 !! Square of distance between the test particle and massive body + real(DP), intent(in) :: xr, yr, zr !! Distances between the two bodies in x, y, and z directions + real(DP), intent(in) :: Gmpl !! G*mass of massive body + real(DP), intent(inout) :: ax, ay, az !! Acceleration vector components of test particle + ! Internals + real(DP) :: fac + + fac = GMpl / (rji2 * sqrt(rji2)) + ax = ax - fac * xr + ay = ay - fac * yr + az = az - fac * zr + return + end subroutine kick_getacch_int_one_tp + end submodule s_kick diff --git a/src/main/swiftest_driver.f90 b/src/main/swiftest_driver.f90 index 5e28452e0..b4260f115 100644 --- a/src/main/swiftest_driver.f90 +++ b/src/main/swiftest_driver.f90 @@ -17,8 +17,10 @@ program swiftest_driver integer(I8B) :: iloop !! Loop counter integer(I8B) :: idump !! Dump cadence counter integer(I8B) :: iout !! Output cadence counter + integer(I8B) :: ioutput_t0 !! The output frame counter at time 0 integer(I8B) :: nloops !! Number of steps to take in the simulation - integer(I4B) :: iu !! Unit number of binary file + real(DP) :: old_t_final = 0.0_DP !! Output time at which writing should start, in order to prevent duplicate lines being written for restarts + type(walltimer) :: timer !! Object used for computing elapsed wall time ierr = io_get_args(integrator, param_file_name) if (ierr /= 0) then @@ -35,23 +37,32 @@ program swiftest_driver param%integrator = integrator call setup_construct_system(nbody_system, param) - call param%read_from_file(param_file_name) + call param%read_in(param_file_name) associate(t => param%t, & t0 => param%t0, & dt => param%dt, & tstop => param%tstop, & istep_out => param%istep_out, & - istep_dump => param%istep_dump) + istep_dump => param%istep_dump, & + ioutput => param%ioutput) call nbody_system%initialize(param) t = t0 iloop = 0 iout = istep_out idump = istep_dump - nloops = ceiling(tstop / dt, kind=I8B) - if (istep_out > 0) call nbody_system%write_frame(iu, param) - call nbody_system%dump(param) + nloops = ceiling((tstop - t0) / dt, kind=I8B) + ioutput_t0 = int(t0 / dt / istep_out, kind=I8B) + ioutput = ioutput_t0 + ! Prevent duplicate frames from being written if this is a restarted run + if ((param%lrestart) .and. ((param%out_type == REAL8_TYPE) .or. param%out_type == REAL4_TYPE)) then + old_t_final = nbody_system%get_old_t_final(param) + else + old_t_final = t0 + if (istep_out > 0) call nbody_system%write_frame(param) + call nbody_system%dump(param) + end if !> Define the maximum number of threads nthreads = 1 ! In the *serial* case @@ -59,6 +70,7 @@ program swiftest_driver !$ write(*,'(a)') ' OpenMP parameters:' !$ write(*,'(a)') ' ------------------' !$ write(*,'(a,i3,/)') ' Number of threads = ', nthreads + call timer%reset() write(*, *) " *************** Main Loop *************** " do iloop = 1, nloops !> Step the system forward in time @@ -73,7 +85,10 @@ program swiftest_driver if (istep_out > 0) then iout = iout - 1 if (iout == 0) then - call nbody_system%write_frame(iu, param) + ioutput = ioutput_t0 + iloop / istep_out + call timer%finish(nsubsteps=istep_out, message="Integration steps:") + if (t > old_t_final) call nbody_system%write_frame(param) + call timer%finish(nsubsteps=1, message="File I/O: ") iout = istep_out end if end if diff --git a/src/modules/fraggle_classes.f90 b/src/modules/fraggle_classes.f90 new file mode 100644 index 000000000..5a8a4a392 --- /dev/null +++ b/src/modules/fraggle_classes.f90 @@ -0,0 +1,282 @@ +module fraggle_classes + !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott + !! + !! Definition of classes and methods specific to Fraggel: The Fragment Generation Model + use swiftest_globals + use swiftest_classes, only : swiftest_parameters, swiftest_nbody_system, swiftest_cb, swiftest_pl + implicit none + public + + integer(I4B), parameter :: FRAGGLE_NMASS_DIST = 3 !! Number of mass bins returned by the regime calculation (largest fragment, second largest, and remainder) + character(len=*), parameter :: FRAGGLE_LOG_OUT = "fraggle.log" !! Name of log file for Fraggle diagnostic information + integer(I4B), parameter :: FRAGGLE_LOG_UNIT = 76 !! Unit number for Fraggle log file + + !******************************************************************************************************************************** + ! fraggle_colliders class definitions and method interfaces + !******************************************************************************************************************************* + !> Class definition for the variables that describe the bodies involved in the collision + type :: fraggle_colliders + integer(I4B) :: ncoll !! Number of bodies involved in the collision + integer(I4B), dimension(:), allocatable :: idx !! Index of bodies involved in the collision + real(DP), dimension(NDIM,2) :: xb !! Two-body equivalent position vectors of the collider bodies prior to collision + real(DP), dimension(NDIM,2) :: vb !! Two-body equivalent velocity vectors of the collider bodies prior to collision + real(DP), dimension(NDIM,2) :: rot !! Two-body equivalent principal axes moments of inertia the collider bodies prior to collision + real(DP), dimension(NDIM,2) :: L_spin !! Two-body equivalent spin angular momentum vectors of the collider bodies prior to collision + real(DP), dimension(NDIM,2) :: L_orbit !! Two-body equivalent orbital angular momentum vectors of the collider bodies prior to collision + real(DP), dimension(NDIM,2) :: Ip !! Two-body equivalent principal axes moments of inertia the collider bodies prior to collision + real(DP), dimension(2) :: mass !! Two-body equivalent mass of the collider bodies prior to the collision + real(DP), dimension(2) :: radius !! Two-body equivalent radii of the collider bodies prior to the collision + contains + procedure :: regime => fraggle_regime_colliders !! Determine which fragmentation regime the set of colliders will be + end type fraggle_colliders + + !******************************************************************************************************************************** + ! fraggle_fragments class definitions and method interfaces + !******************************************************************************************************************************* + !> Class definition for the variables that describe a collection of fragments by Fraggle barycentric coordinates + type, extends(swiftest_pl) :: fraggle_fragments + real(DP) :: mtot !! Total mass of fragments + real(DP) :: Qloss !! Energy lost during the collision + real(DP), dimension(FRAGGLE_NMASS_DIST) :: mass_dist !! Distribution of fragment mass determined by the regime calculation (largest fragment, second largest, and remainder) + integer(I4B) :: regime !! Collresolve regime code for this collision + + ! Values in a coordinate frame centered on the collider barycenter and collisional system unit vectors (these are used internally by the fragment generation subroutine) + real(DP), dimension(NDIM) :: xbcom !! Center of mass position vector of the collider system in system barycentric coordinates + real(DP), dimension(NDIM) :: vbcom !! Velocity vector of the center of mass of the collider system in system barycentric coordinates + real(DP), dimension(NDIM) :: x_coll_unit !! x-direction unit vector of collisional system + real(DP), dimension(NDIM) :: y_coll_unit !! y-direction unit vector of collisional system + real(DP), dimension(NDIM) :: z_coll_unit !! z-direction unit vector of collisional system + real(DP), dimension(:,:), allocatable :: x_coll !! Array of fragment position vectors in the collisional coordinate frame + real(DP), dimension(:,:), allocatable :: v_coll !! Array of fragment velocity vectors in the collisional coordinate frame + real(DP), dimension(:,:), allocatable :: v_r_unit !! Array of radial direction unit vectors of individual fragments in the collisional coordinate frame + real(DP), dimension(:,:), allocatable :: v_t_unit !! Array of tangential direction unit vectors of individual fragments in the collisional coordinate frame + real(DP), dimension(:,:), allocatable :: v_n_unit !! Array of normal direction unit vectors of individual fragments in the collisional coordinate frame + real(DP), dimension(:), allocatable :: rmag !! Array of radial distance magnitudes of individual fragments in the collisional coordinate frame + real(DP), dimension(:), allocatable :: rotmag !! Array of rotation magnitudes of individual fragments + real(DP), dimension(:), allocatable :: v_r_mag !! Array of radial direction velocity magnitudes of individual fragments + real(DP), dimension(:), allocatable :: v_t_mag !! Array of tangential direction velocity magnitudes of individual fragments + + ! Energy and momentum book-keeping variables that characterize the whole system of fragments + real(DP) :: ke_orbit !! Current orbital kinetic energy of the system of fragments in the collisional frame + real(DP) :: ke_spin !! Current spin kinetic energy of the system of fragments in the collisional frame + real(DP), dimension(NDIM) :: L_orbit !! Current orbital angular momentum of the system of fragments in the collisional frame + real(DP), dimension(NDIM) :: L_spin !! Current spin angular momentum of the system of fragments in the collisional frame + real(DP) :: ke_budget !! Total kinetic energy budget for the system of fragmens in the collisional frame + real(DP), dimension(NDIM) :: L_budget !! Total angular momentum budget for the system of fragmens in the collisional frame + + ! For the following variables, "before" refers to the *entire* n-body system in its pre-collisional state and "after" refers to the system in its post-collisional state + real(DP), dimension(NDIM) :: Lorbit_before, Lorbit_after !! Before/after orbital angular momentum + real(DP), dimension(NDIM) :: Lspin_before, Lspin_after !! Before/after spin angular momentum + real(DP), dimension(NDIM) :: Ltot_before, Ltot_after !! Before/after total system angular momentum + real(DP) :: ke_orbit_before, ke_orbit_after !! Before/after orbital kinetic energy + real(DP) :: ke_spin_before, ke_spin_after !! Before/after spin kinetic energy + real(DP) :: pe_before, pe_after !! Before/after potential energy + real(DP) :: Etot_before, Etot_after !! Before/after total system energy + + ! Scale factors used to scale dimensioned quantities to a more "natural" system where important quantities (like kinetic energy, momentum) are of order ~1 + real(DP) :: dscale !! Distance dimension scale factor + real(DP) :: mscale !! Mass scale factor + real(DP) :: tscale !! Time scale factor + real(DP) :: vscale !! Velocity scale factor (a convenience unit that is derived from dscale and tscale) + real(DP) :: Escale !! Energy scale factor (a convenience unit that is derived from dscale, tscale, and mscale) + real(DP) :: Lscale !! Angular momentum scale factor (a convenience unit that is derived from dscale, tscale, and mscale) + contains + procedure :: generate_fragments => fraggle_generate_fragments !! Generates a system of fragments in barycentric coordinates that conserves energy and momentum. + procedure :: accel => fraggle_placeholder_accel !! Placeholder subroutine to fulfill requirement for an accel method + procedure :: kick => fraggle_placeholder_kick !! Placeholder subroutine to fulfill requirement for a kick method + procedure :: step => fraggle_placeholder_step !! Placeholder subroutine to fulfill requirement for a step method + procedure :: set_budgets => fraggle_set_budgets_fragments !! Sets the energy and momentum budgets of the fragments based on the collider value + procedure :: set_coordinate_system => fraggle_set_coordinate_system !! Defines the collisional coordinate system, including the unit vectors of both the system and individual fragments. + procedure :: set_mass_dist => fraggle_set_mass_dist_fragments !! Sets the distribution of mass among the fragments depending on the regime type + procedure :: set_natural_scale => fraggle_set_natural_scale_factors !! Scales dimenional quantities to ~O(1) with respect to the collisional system. + procedure :: set_original_scale => fraggle_set_original_scale_factors !! Restores dimenional quantities back to the original system units + procedure :: setup => fraggle_setup_fragments !! Allocates arrays for n fragments in a Fraggle system. Passing n = 0 deallocates all arrays. + procedure :: reset => fraggle_setup_reset_fragments !! Resets all position and velocity-dependent fragment quantities in order to do a fresh calculation (does not reset mass, radius, or other values that get set prior to the call to fraggle_generate) + procedure :: get_ang_mtm => fraggle_util_ang_mtm !! Calcualtes the current angular momentum of the fragments + procedure :: get_energy_and_momentum => fraggle_util_get_energy_momentum !! Calculates total system energy in either the pre-collision outcome state (lbefore = .true.) or the post-collision outcome state (lbefore = .false.) + procedure :: restructure => fraggle_util_restructure !! Restructure the inputs after a failed attempt failed to find a set of positions and velocities that satisfy the energy and momentum constraints + end type fraggle_fragments + + interface + module subroutine fraggle_generate_fragments(self, colliders, system, param, lfailure) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle colliders object containing the two-body equivalent values of the colliding bodies + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + logical, intent(out) :: lfailure !! Answers the question: Should this have been a merger instead? + end subroutine fraggle_generate_fragments + + module subroutine fraggle_io_log_generate(frag) + implicit none + class(fraggle_fragments), intent(in) :: frag + end subroutine fraggle_io_log_generate + + module subroutine fraggle_io_log_one_message(message) + implicit none + character(len=*), intent(in) :: message + character(STRMAX) :: errmsg + end subroutine fraggle_io_log_one_message + + module subroutine fraggle_io_log_pl(pl, param) + implicit none + class(swiftest_pl), intent(in) :: pl !! Swiftest massive body object (only the new bodies generated in a collision) + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + end subroutine fraggle_io_log_pl + + module subroutine fraggle_io_log_regime(colliders, frag) + implicit none + class(fraggle_colliders), intent(in) :: colliders + class(fraggle_fragments), intent(in) :: frag + end subroutine fraggle_io_log_regime + + module subroutine fraggle_io_log_start(param) + implicit none + class(swiftest_parameters), intent(in) :: param + end subroutine fraggle_io_log_start + + !> The following interfaces are placeholders intended to satisfy the required abstract methods given by the parent class + module subroutine fraggle_placeholder_accel(self, system, param, t, lbeg) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current simulation time + logical, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step + end subroutine fraggle_placeholder_accel + + module subroutine fraggle_placeholder_kick(self, system, param, t, dt, lbeg) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system objec + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current time + real(DP), intent(in) :: dt !! Stepsize + logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. + end subroutine fraggle_placeholder_kick + + module subroutine fraggle_placeholder_step(self, system, param, t, dt) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(fraggle_fragments), intent(inout) :: self !! Helio massive body particle object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nboody system + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + real(DP), intent(in) :: t !! Current simulation time + real(DP), intent(in) :: dt !! Stepsiz + end subroutine fraggle_placeholder_step + + module subroutine fraggle_regime_colliders(self, frag, system, param) + implicit none + class(fraggle_colliders), intent(inout) :: self !! Fraggle colliders object + class(fraggle_fragments), intent(inout) :: frag !! Fraggle fragment system object + class(swiftest_nbody_system), intent(in) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current Swiftest run configuration parameters + end subroutine fraggle_regime_colliders + + module subroutine fraggle_set_budgets_fragments(self, colliders) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + end subroutine fraggle_set_budgets_fragments + + module subroutine fraggle_set_coordinate_system(self, colliders) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + end subroutine fraggle_set_coordinate_system + + module subroutine fraggle_set_mass_dist_fragments(self, colliders, param) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + class(swiftest_parameters), intent(in) :: param !! Current Swiftest run configuration parameters + end subroutine fraggle_set_mass_dist_fragments + + module subroutine fraggle_set_natural_scale_factors(self, colliders) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + end subroutine fraggle_set_natural_scale_factors + + module subroutine fraggle_set_original_scale_factors(self, colliders) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + end subroutine fraggle_set_original_scale_factors + + module subroutine fraggle_setup_fragments(self, n, param) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + integer(I4B), intent(in) :: n !! Number of fragments + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + end subroutine fraggle_setup_fragments + + module subroutine fraggle_setup_reset_fragments(self) + implicit none + class(fraggle_fragments), intent(inout) :: self + end subroutine fraggle_setup_reset_fragments + + module subroutine fraggle_util_add_fragments_to_system(frag, colliders, system, param) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(fraggle_fragments), intent(in) :: frag !! Fraggle fragment system object + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + end subroutine fraggle_util_add_fragments_to_system + + module subroutine fraggle_util_ang_mtm(self) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + end subroutine fraggle_util_ang_mtm + + module subroutine fraggle_util_construct_temporary_system(frag, system, param, tmpsys, tmpparam) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(fraggle_fragments), intent(in) :: frag !! Fraggle fragment system object + class(swiftest_nbody_system), intent(in) :: system !! Original swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + class(swiftest_nbody_system), allocatable, intent(out) :: tmpsys !! Output temporary swiftest nbody system object + class(swiftest_parameters), allocatable, intent(out) :: tmpparam !! Output temporary configuration run parameters + end subroutine fraggle_util_construct_temporary_system + + module subroutine fraggle_util_get_energy_momentum(self, colliders, system, param, lbefore) + use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(inout) :: colliders !! Fraggle collider system object + class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object + class(swiftest_parameters), intent(in) :: param !! Current swiftest run configuration parameters + logical, intent(in) :: lbefore !! Flag indicating that this the "before" state of the system, with colliders included and fragments excluded or vice versa + end subroutine fraggle_util_get_energy_momentum + + module subroutine fraggle_util_restructure(self, colliders, try, f_spin, r_max_start) + implicit none + class(fraggle_fragments), intent(inout) :: self !! Fraggle fragment system object + class(fraggle_colliders), intent(in) :: colliders !! Fraggle collider system object + integer(I4B), intent(in) :: try !! The current number of times Fraggle has tried to find a solution + real(DP), intent(inout) :: f_spin !! Fraction of energy/momentum that goes into spin. This decreases ater a failed attempt + real(DP), intent(inout) :: r_max_start !! The maximum radial distance that the position calculation starts with. This increases after a failed attempt + end subroutine fraggle_util_restructure + + module subroutine fraggle_util_shift_vector_to_origin(m_frag, vec_frag) + implicit none + real(DP), dimension(:), intent(in) :: m_frag !! Fragment masses + real(DP), dimension(:,:), intent(inout) :: vec_frag !! Fragment positions or velocities in the center of mass frame + end subroutine + + module function fraggle_util_vmag_to_vb(v_r_mag, v_r_unit, v_t_mag, v_t_unit, m_frag, vcom) result(vb) + implicit none + real(DP), dimension(:), intent(in) :: v_r_mag !! Unknown radial component of fragment velocity vector + real(DP), dimension(:), intent(in) :: v_t_mag !! Tangential component of velocity vector set previously by angular momentum constraint + real(DP), dimension(:,:), intent(in) :: v_r_unit, v_t_unit !! Radial and tangential unit vectors for each fragment + real(DP), dimension(:), intent(in) :: m_frag !! Fragment masses + real(DP), dimension(:), intent(in) :: vcom !! Barycentric velocity of collisional system center of mass + real(DP), dimension(:,:), allocatable :: vb + end function fraggle_util_vmag_to_vb + end interface + +end module fraggle_classes \ No newline at end of file diff --git a/src/modules/helio_classes.f90 b/src/modules/helio_classes.f90 index 89f4aa055..1c93bdf6b 100644 --- a/src/modules/helio_classes.f90 +++ b/src/modules/helio_classes.f90 @@ -2,7 +2,7 @@ module helio_classes !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott !! !! Definition of classes and methods specific to the Democratic Heliocentric Method - !! Adapted from David E. Kaufmann's Swifter routine: helio.f90 + !! Adapted from David E. Kaufmann's Swifter routine: module_helio.f90 use swiftest_globals use swiftest_classes, only : swiftest_cb, swiftest_pl, swiftest_tp, swiftest_nbody_system use whm_classes, only : whm_nbody_system @@ -15,7 +15,8 @@ module helio_classes !******************************************************************************************************************************** type, extends(whm_nbody_system) :: helio_nbody_system contains - procedure :: step => helio_step_system !! Advance the Helio nbody system forward in time by one step + procedure :: step => helio_step_system !! Advance the Helio nbody system forward in time by one step + procedure :: initialize => helio_setup_initialize_system !! Performs Helio-specific initilization steps, including converting to DH coordinates end type helio_nbody_system !******************************************************************************************************************************** @@ -35,8 +36,6 @@ module helio_classes !! Helio massive body particle class type, extends(swiftest_pl) :: helio_pl contains - procedure :: vh2vb => helio_coord_vh2vb_pl !! Convert massive bodies from heliocentric to barycentric coordinates (velocity only) - procedure :: vb2vh => helio_coord_vb2vh_pl !! Convert massive bodies from barycentric to heliocentric coordinates (velocity only) procedure :: drift => helio_drift_pl !! Method for Danby drift in Democratic Heliocentric coordinates procedure :: lindrift => helio_drift_linear_pl !! Method for linear drift of massive bodies due to barycentric momentum of Sun procedure :: accel_gr => helio_gr_kick_getacch_pl !! Acceleration term arising from the post-Newtonian correction @@ -53,8 +52,6 @@ module helio_classes !! Helio test particle class type, extends(swiftest_tp) :: helio_tp contains - procedure :: vh2vb => helio_coord_vh2vb_tp !! Convert test particles from heliocentric to barycentric coordinates (velocity only) - procedure :: vb2vh => helio_coord_vb2vh_tp !! Convert test particles from barycentric to heliocentric coordinates (velocity only) procedure :: lindrift => helio_drift_linear_tp !! Method for linear drift of massive bodies due to barycentric momentum of Sun procedure :: drift => helio_drift_tp !! Method for Danby drift in Democratic Heliocentric coordinates procedure :: accel_gr => helio_gr_kick_getacch_tp !! Acceleration term arising from the post-Newtonian correction @@ -65,32 +62,6 @@ module helio_classes end type helio_tp interface - module subroutine helio_coord_vb2vh_pl(self, cb) - use swiftest_classes, only : swiftest_cb - implicit none - class(helio_pl), intent(inout) :: self !! Helio massive body object - class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object - end subroutine helio_coord_vb2vh_pl - - module subroutine helio_coord_vb2vh_tp(self, vbcb) - implicit none - class(helio_tp), intent(inout) :: self !! Helio massive body object - real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body - end subroutine helio_coord_vb2vh_tp - - module subroutine helio_coord_vh2vb_pl(self, cb) - use swiftest_classes, only : swiftest_cb - implicit none - class(helio_pl), intent(inout) :: self !! Helio massive body object - class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object - end subroutine helio_coord_vh2vb_pl - - module subroutine helio_coord_vh2vb_tp(self, vbcb) - implicit none - class(helio_tp), intent(inout) :: self !! Helio massive body object - real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body - end subroutine helio_coord_vh2vb_tp - module subroutine helio_drift_body(self, system, param, dt) use swiftest_classes, only : swiftest_body, swiftest_nbody_system, swiftest_parameters implicit none @@ -206,6 +177,13 @@ module subroutine helio_kick_vb_tp(self, system, param, t, dt, lbeg) logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. end subroutine helio_kick_vb_tp + module subroutine helio_setup_initialize_system(self, param) + use swiftest_classes, only : swiftest_parameters + implicit none + class(helio_nbody_system), intent(inout) :: self !! Helio nbody system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + end subroutine helio_setup_initialize_system + module subroutine helio_step_pl(self, system, param, t, dt) use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters implicit none @@ -234,6 +212,7 @@ module subroutine helio_step_tp(self, system, param, t, dt) real(DP), intent(in) :: t !! Current simulation time real(DP), intent(in) :: dt !! Stepsizee end subroutine helio_step_tp + end interface end module helio_classes diff --git a/src/modules/rmvs_classes.f90 b/src/modules/rmvs_classes.f90 index 6ffb7ba1b..0b837ec0a 100644 --- a/src/modules/rmvs_classes.f90 +++ b/src/modules/rmvs_classes.f90 @@ -125,6 +125,14 @@ module function rmvs_encounter_check_tp(self, system, dt) result(lencounter) logical :: lencounter !! Returns true if there is at least one close encounter end function rmvs_encounter_check_tp + module subroutine rmvs_io_write_encounter(t, id1, id2, Gmass1, Gmass2, radius1, radius2, xh1, xh2, vh1, vh2, enc_out) + implicit none + integer(I4B), intent(in) :: id1, id2 + real(DP), intent(in) :: t, Gmass1, Gmass2, radius1, radius2 + real(DP), dimension(:), intent(in) :: xh1, xh2, vh1, vh2 + character(*), intent(in) :: enc_out + end subroutine rmvs_io_write_encounter + module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters implicit none diff --git a/src/modules/swiftest.f90 b/src/modules/swiftest.f90 index 61d45163c..d3f8996f0 100644 --- a/src/modules/swiftest.f90 +++ b/src/modules/swiftest.f90 @@ -10,7 +10,9 @@ module swiftest use rmvs_classes use helio_classes use symba_classes + use fraggle_classes use lambda_function + use walltime_classes !use advisor_annotate !$ use omp_lib implicit none diff --git a/src/modules/swiftest_classes.f90 b/src/modules/swiftest_classes.f90 index 2e4bff8a2..82d684f1a 100644 --- a/src/modules/swiftest_classes.f90 +++ b/src/modules/swiftest_classes.f90 @@ -7,6 +7,81 @@ module swiftest_classes implicit none public + type :: netcdf_parameters + integer(I4B) :: out_type !! NetCDF output type (will be assigned either NF90_DOUBLE or NF90_FLOAT, depending on the user parameter) + integer(I4B) :: ncid !! NetCDF ID for the output file + integer(I4B) :: dimids(3) !! Dimensions of the NetCDF file + integer(I4B) :: time_dimid !! NetCDF ID for the time dimension + integer(I4B) :: id_dimid !! NetCDF ID for the particle id dimension + integer(I4B) :: str_dimid !! NetCDF ID for the character string dimension + integer(I4B) :: time_varid !! NetCDF ID for the time variable + integer(I4B) :: id_varid !! NetCDF ID for the particle name variable + integer(I4B) :: name_varid !! NetCDF ID for the namevariable + integer(I4B) :: ptype_varid !! NetCDF ID for the particle type variable + integer(I4B) :: npl_varid !! NetCDF ID for the number of active massive bodies variable + integer(I4B) :: ntp_varid !! NetCDF ID for the number of active test particles variable + integer(I4B) :: a_varid !! NetCDF ID for the semimajor axis variable + integer(I4B) :: e_varid !! NetCDF ID for the eccentricity variable + integer(I4B) :: inc_varid !! NetCDF ID for the inclination variable + integer(I4B) :: capom_varid !! NetCDF ID for the long. asc. node variable + integer(I4B) :: omega_varid !! NetCDF ID for the arg. periapsis variable + integer(I4B) :: capm_varid !! NetCDF ID for the mean anomaly variable + integer(I4B) :: xhx_varid !! NetCDF ID for the heliocentric position x variable + integer(I4B) :: xhy_varid !! NetCDF ID for the heliocentric position y variable + integer(I4B) :: xhz_varid !! NetCDF ID for the heliocentric position z variable + integer(I4B) :: vhx_varid !! NetCDF ID for the heliocentric velocity x variable + integer(I4B) :: vhy_varid !! NetCDF ID for the heliocentric velocity y variable + integer(I4B) :: vhz_varid !! NetCDF ID for the heliocentric velocity z variable + integer(I4B) :: Gmass_varid !! NetCDF ID for the mass variable + integer(I4B) :: rhill_varid !! NetCDF ID for the hill radius variable + integer(I4B) :: radius_varid !! NetCDF ID for the radius variable + integer(I4B) :: Ip1_varid !! NetCDF ID for the axis 1 principal moment of inertia variable + integer(I4B) :: Ip2_varid !! NetCDF ID for the axis 2 principal moment of inertia variable + integer(I4B) :: Ip3_varid !! NetCDF ID for the axis 3 principal moment of inertia variable + integer(I4B) :: rotx_varid !! NetCDF ID for the rotation x variable + integer(I4B) :: roty_varid !! NetCDF ID for the rotation y variable + integer(I4B) :: rotz_varid !! NetCDF ID for the rotation z variable + integer(I4B) :: k2_varid !! NetCDF ID for the Love number variable + integer(I4B) :: Q_varid !! NetCDF ID for the energy dissipation variable + integer(I4B) :: KE_orb_varid !! NetCDF ID for the system orbital kinetic energy variable + integer(I4B) :: KE_spin_varid !! NetCDF ID for the system spin kinetic energy variable + integer(I4B) :: PE_varid !! NetCDF ID for the system potential energy variable + integer(I4B) :: L_orbx_varid !! NetCDF ID for the system orbital angular momentum x variable + integer(I4B) :: L_orby_varid !! NetCDF ID for the system orbital angular momentum y variable + integer(I4B) :: L_orbz_varid !! NetCDF ID for the system orbital angular momentum z variable + integer(I4B) :: L_spinx_varid !! NetCDF ID for the system spin angular momentum x variable + integer(I4B) :: L_spiny_varid !! NetCDF ID for the system spin angular momentum y variable + integer(I4B) :: L_spinz_varid !! NetCDF ID for the system spin angular momentum z variable + integer(I4B) :: L_escapex_varid !! NetCDF ID for the escaped angular momentum x variable + integer(I4B) :: L_escapey_varid !! NetCDF ID for the escaped angular momentum x variable + integer(I4B) :: L_escapez_varid !! NetCDF ID for the escaped angular momentum x variable + integer(I4B) :: Ecollisions_varid !! NetCDF ID for the energy lost in collisions variable + integer(I4B) :: Euntracked_varid !! NetCDF ID for the energy that is untracked due to loss (untracked potential energy due to mergers and body energy for escaped bodies) + integer(I4B) :: GMescape_varid !! NetCDF ID for the G*Mass of bodies that escape the system + integer(I4B) :: status_varid !! NetCDF ID for the status variable + integer(I4B) :: origin_type_varid !! NetCDF ID for the origin type + integer(I4B) :: origin_time_varid !! NetCDF ID for the origin time + integer(I4B) :: origin_xhx_varid !! NetCDF ID for the origin xh x component + integer(I4B) :: origin_xhy_varid !! NetCDF ID for the origin xh y component + integer(I4B) :: origin_xhz_varid !! NetCDF ID for the origin xh z component + integer(I4B) :: origin_vhx_varid !! NetCDF ID for the origin xh x component + integer(I4B) :: origin_vhy_varid !! NetCDF ID for the origin xh y component + integer(I4B) :: origin_vhz_varid !! NetCDF ID for the origin xh z component + integer(I4B) :: discard_time_varid !! NetCDF ID for the time of discard variable + integer(I4B) :: discard_xhx_varid !! NetCDF ID for the heliocentric position of the body at the time of discard x variable + integer(I4B) :: discard_xhy_varid !! NetCDF ID for the heliocentric position of the body at the time of discard y variable + integer(I4B) :: discard_xhz_varid !! NetCDF ID for the heliocentric position of the body at the time of discard z variable + integer(I4B) :: discard_vhx_varid !! NetCDF ID for the heliocentric velocity of the body at the time of discard x variable + integer(I4B) :: discard_vhy_varid !! NetCDF ID for the heliocentric velocity of the body at the time of discard y variable + integer(I4B) :: discard_vhz_varid !! NetCDF ID for the heliocentric velocity of the body at the time of discard z variable + integer(I4B) :: discard_body_id_varid !! NetCDF ID for the id of the other body involved in the discard + + contains + procedure :: close => netcdf_close !! Closes an open NetCDF file + procedure :: initialize => netcdf_initialize_output !! Initialize a set of parameters used to identify a NetCDF output object + procedure :: open => netcdf_open !! Opens a NetCDF file + end type netcdf_parameters + !******************************************************************************************************************************** ! swiftest_parameters class definitions !******************************************************************************************************************************** @@ -15,21 +90,23 @@ module swiftest_classes !> Each paramter is initialized to a default values. type :: swiftest_parameters integer(I4B) :: integrator = UNKNOWN_INTEGRATOR !! Symbolic name of the nbody integrator used - integer(I4B) :: nplmax = -1 !! Maximum allowed number of massive bodies - integer(I4B) :: ntpmax = -1 !! Maximum allowed number of test particles + integer(I4B) :: maxid = -1 !! The current maximum particle id number real(DP) :: t0 = -1.0_DP !! Integration start time real(DP) :: t = -1.0_DP !! Integration current time real(DP) :: tstop = -1.0_DP !! Integration stop time real(DP) :: dt = -1.0_DP !! Time step + integer(I8B) :: ioutput = 0_I8B !! Output counter character(STRMAX) :: incbfile = CB_INFILE !! Name of input file for the central body character(STRMAX) :: inplfile = PL_INFILE !! Name of input file for massive bodies character(STRMAX) :: intpfile = TP_INFILE !! Name of input file for test particles - character(STRMAX) :: in_type = ASCII_TYPE !! Format of input data files + character(STRMAX) :: in_type = ASCII_TYPE !! Data representation type of input data files + character(STRMAX) :: in_form = XV !! Format of input data files (EL or XV) integer(I4B) :: istep_out = -1 !! Number of time steps between binary outputs - character(STRMAX) :: outfile = BIN_OUTFILE !! Name of output binary file - character(STRMAX) :: out_type = REAL8_TYPE !! Binary format of output file - character(STRMAX) :: out_form = XV !! Data to write to output file + character(STRMAX) :: outfile = NETCDF_OUTFILE !! Name of output binary file + character(STRMAX) :: out_type = NETCDF_DOUBLE_TYPE !! Binary format of output file + character(STRMAX) :: out_form = XVEL !! Data to write to output file character(STRMAX) :: out_stat = 'NEW' !! Open status for output binary file + character(STRMAX) :: particle_out = PARTICLE_OUTFILE !! Name of output particle information file integer(I4B) :: istep_dump = -1 !! Number of time steps between dumps real(DP) :: rmin = -1.0_DP !! Minimum heliocentric radius for test particle real(DP) :: rmax = -1.0_DP !! Maximum heliocentric radius for test particle @@ -59,14 +136,12 @@ module swiftest_classes ! Initial values to pass to the energy report subroutine (usually only used in the case of a restart, otherwise these will be updated with initial conditions values) real(DP) :: Eorbit_orig = 0.0_DP !! Initial orbital energy - real(DP) :: Mtot_orig = 0.0_DP !! Initial system mass - real(DP) :: Lmag_orig = 0.0_DP !! Initial total angular momentum magnitude + real(DP) :: GMtot_orig = 0.0_DP !! Initial system mass real(DP), dimension(NDIM) :: Ltot_orig = 0.0_DP !! Initial total angular momentum vector real(DP), dimension(NDIM) :: Lorbit_orig = 0.0_DP !! Initial orbital angular momentum real(DP), dimension(NDIM) :: Lspin_orig = 0.0_DP !! Initial spin angular momentum vector - real(DP), dimension(NDIM) :: Ltot = 0.0_DP !! System angular momentum vector real(DP), dimension(NDIM) :: Lescape = 0.0_DP !! Angular momentum of bodies that escaped the system (used for bookeeping) - real(DP) :: Mescape = 0.0_DP !! Mass of bodies that escaped the system (used for bookeeping) + real(DP) :: GMescape = 0.0_DP !! Mass of bodies that escaped the system (used for bookeeping) real(DP) :: Ecollisions = 0.0_DP !! Energy lost from system due to collisions real(DP) :: Euntracked = 0.0_DP !! Energy gained from system due to escaped bodies logical :: lfirstenergy = .true. !! This is the first time computing energe @@ -77,25 +152,53 @@ module swiftest_classes logical :: lgr = .false. !! Turn on GR logical :: lyarkovsky = .false. !! Turn on Yarkovsky effect logical :: lyorp = .false. !! Turn on YORP effect + + type(netcdf_parameters) :: nciu !! Object containing NetCDF parameters contains - procedure :: reader => io_param_reader - procedure :: writer => io_param_writer - procedure :: dump => io_dump_param - procedure :: read_from_file => io_read_param_in + procedure :: reader => io_param_reader + procedure :: writer => io_param_writer + procedure :: dump => io_dump_param + procedure :: read_in => io_read_in_param end type swiftest_parameters + + !******************************************************************************************************************************** + ! swiftest_swiftest_particle_info class definitions and method interfaces + !******************************************************************************************************************************* + !> Class definition for the particle origin information object. This object is used to track time, location, and collisional regime + !> of fragments produced in collisional events. + type :: swiftest_particle_info + character(len=NAMELEN) :: name !! Non-unique name + character(len=NAMELEN) :: particle_type !! String containing a description of the particle type (e.g. Central Body, Massive Body, Test Particle) + character(len=NAMELEN) :: origin_type !! String containing a description of the origin of the particle (e.g. Initial Conditions, Supercatastrophic, Disruption, etc.) + real(DP) :: origin_time !! The time of the particle's formation + real(DP), dimension(NDIM) :: origin_xh !! The heliocentric distance vector at the time of the particle's formation + real(DP), dimension(NDIM) :: origin_vh !! The heliocentric velocity vector at the time of the particle's formation + real(DP) :: discard_time !! The time of the particle's discard + character(len=NAMELEN) :: status !! Particle status description: Active, Merged, Fragmented, etc. + real(DP), dimension(NDIM) :: discard_xh !! The heliocentric distance vector at the time of the particle's discard + real(DP), dimension(NDIM) :: discard_vh !! The heliocentric velocity vector at the time of the particle's discard + integer(I4B) :: discard_body_id !! The id of the other body involved in the discard (0 if no other body involved) + contains + procedure :: dump => io_dump_particle_info !! Dumps contents of particle information to file + procedure :: read_in => io_read_in_particle_info !! Read in a particle information object from an open file + procedure :: copy => util_copy_particle_info !! Copies one set of information object components into another, component-by-component + procedure :: set_value => util_set_particle_info !! Sets one or more values of the particle information metadata object + end type swiftest_particle_info + !******************************************************************************************************************************** ! swiftest_base class definitions and methods !******************************************************************************************************************************** type, abstract :: swiftest_base - !! An superclass for a generic Swiftest object - logical :: lintegrate = .false. !! Flag indicating that this object should be integrated in the current step + !! An abstract superclass for a generic Swiftest object contains !! The minimal methods that all systems must have - procedure :: dump => io_dump_swiftest - procedure(abstract_initialize), deferred :: initialize - procedure(abstract_read_frame), deferred :: read_frame - procedure(abstract_write_frame), deferred :: write_frame + procedure :: dump => io_dump_base !! Dump contents to file + procedure :: dump_particle_info => io_dump_particle_info_base !! Dump contents of particle information metadata to file + procedure :: write_frame_netcdf => netcdf_write_frame_base !! I/O routine for writing out a single frame of time-series data for all bodies in the system in NetCDF format + procedure :: write_particle_info_netcdf => netcdf_write_particle_info_base !! Writes out the particle information metadata to NetCDF file + generic :: write_frame => write_frame_netcdf !! Set up generic procedure that will switch between NetCDF or Fortran binary depending on arguments + generic :: write_particle_info => write_particle_info_netcdf end type swiftest_base !******************************************************************************************************************************** @@ -103,34 +206,35 @@ module swiftest_classes !******************************************************************************************************************************** !> A concrete lass for the central body in a Swiftest simulation type, abstract, extends(swiftest_base) :: swiftest_cb - character(len=STRMAX) :: name !! Non-unique name - integer(I4B) :: id = 0 !! External identifier (unique) - real(DP) :: mass = 0.0_DP !! Central body mass (units MU) - real(DP) :: Gmass = 0.0_DP !! Central mass gravitational term G * mass (units GU * MU) - real(DP) :: radius = 0.0_DP !! Central body radius (units DU) - real(DP) :: density = 1.0_DP !! Central body mass density - calculated internally (units MU / DU**3) - real(DP) :: j2rp2 = 0.0_DP !! J2*R^2 term for central body - real(DP) :: j4rp4 = 0.0_DP !! J4*R^2 term for central body - real(DP), dimension(NDIM) :: aobl = 0.0_DP !! Barycentric acceleration due to central body oblatenes - real(DP), dimension(NDIM) :: atide = 0.0_DP !! Barycentric acceleration due to central body oblatenes - real(DP), dimension(NDIM) :: aoblbeg = 0.0_DP !! Barycentric acceleration due to central body oblatenes at beginning of step - real(DP), dimension(NDIM) :: aoblend = 0.0_DP !! Barycentric acceleration due to central body oblatenes at end of step - real(DP), dimension(NDIM) :: atidebeg = 0.0_DP !! Barycentric acceleration due to central body oblatenes at beginning of step - real(DP), dimension(NDIM) :: atideend = 0.0_DP !! Barycentric acceleration due to central body oblatenes at end of step - real(DP), dimension(NDIM) :: xb = 0.0_DP !! Barycentric position (units DU) - real(DP), dimension(NDIM) :: vb = 0.0_DP !! Barycentric velocity (units DU / TU) - real(DP), dimension(NDIM) :: agr = 0.0_DP !! Acceleration due to post-Newtonian correction - real(DP), dimension(NDIM) :: Ip = 0.0_DP !! Unitless principal moments of inertia (I1, I2, I3) / (MR**2). Principal axis rotation assumed. - real(DP), dimension(NDIM) :: rot = 0.0_DP !! Body rotation vector in inertial coordinate frame (units rad / TU) - real(DP) :: k2 = 0.0_DP !! Tidal Love number - real(DP) :: Q = 0.0_DP !! Tidal quality factor - real(DP) :: tlag = 0.0_DP !! Tidal phase lag angle - real(DP), dimension(NDIM) :: L0 = 0.0_DP !! Initial angular momentum of the central body - real(DP), dimension(NDIM) :: dL = 0.0_DP !! Change in angular momentum of the central body + type(swiftest_particle_info) :: info !! Particle metadata information + integer(I4B) :: id = 0 !! External identifier (unique) + real(DP) :: mass = 0.0_DP !! Central body mass (units MU) + real(DP) :: Gmass = 0.0_DP !! Central mass gravitational term G * mass (units GU * MU) + real(DP) :: radius = 0.0_DP !! Central body radius (units DU) + real(DP) :: density = 1.0_DP !! Central body mass density - calculated internally (units MU / DU**3) + real(DP) :: j2rp2 = 0.0_DP !! J2*R^2 term for central body + real(DP) :: j4rp4 = 0.0_DP !! J4*R^2 term for central body + real(DP), dimension(NDIM) :: aobl = 0.0_DP !! Barycentric acceleration due to central body oblatenes + real(DP), dimension(NDIM) :: atide = 0.0_DP !! Barycentric acceleration due to central body oblatenes + real(DP), dimension(NDIM) :: aoblbeg = 0.0_DP !! Barycentric acceleration due to central body oblatenes at beginning of step + real(DP), dimension(NDIM) :: aoblend = 0.0_DP !! Barycentric acceleration due to central body oblatenes at end of step + real(DP), dimension(NDIM) :: atidebeg = 0.0_DP !! Barycentric acceleration due to central body oblatenes at beginning of step + real(DP), dimension(NDIM) :: atideend = 0.0_DP !! Barycentric acceleration due to central body oblatenes at end of step + real(DP), dimension(NDIM) :: xb = 0.0_DP !! Barycentric position (units DU) + real(DP), dimension(NDIM) :: vb = 0.0_DP !! Barycentric velocity (units DU / TU) + real(DP), dimension(NDIM) :: agr = 0.0_DP !! Acceleration due to post-Newtonian correction + real(DP), dimension(NDIM) :: Ip = 0.0_DP !! Unitless principal moments of inertia (I1, I2, I3) / (MR**2). Principal axis rotation assumed. + real(DP), dimension(NDIM) :: rot = 0.0_DP !! Body rotation vector in inertial coordinate frame (units rad / TU) + real(DP) :: k2 = 0.0_DP !! Tidal Love number + real(DP) :: Q = 0.0_DP !! Tidal quality factor + real(DP) :: tlag = 0.0_DP !! Tidal phase lag angle + real(DP), dimension(NDIM) :: L0 = 0.0_DP !! Initial angular momentum of the central body + real(DP), dimension(NDIM) :: dL = 0.0_DP !! Change in angular momentum of the central body contains - procedure :: initialize => io_read_cb_in !! I/O routine for reading in central body data - procedure :: read_frame => io_read_frame_cb !! I/O routine for reading out a single frame of time-series data for the central body - procedure :: write_frame => io_write_frame_cb !! I/O routine for writing out a single frame of time-series data for the central body + procedure :: read_in => io_read_in_cb !! I/O routine for reading in central body data + procedure :: read_frame => io_read_frame_cb !! I/O routine for reading out a single frame of time-series data for the central body + procedure :: write_frame_bin => io_write_frame_cb !! I/O routine for writing out a single frame of time-series data for the central body + generic :: write_frame => write_frame_bin !! Write a frame (either binary or NetCDF, using generic procedures) end type swiftest_cb !******************************************************************************************************************************** @@ -139,29 +243,29 @@ module swiftest_classes !> An abstract class for a generic collection of Swiftest bodies type, abstract, extends(swiftest_base) :: swiftest_body !! Superclass that defines the generic elements of a Swiftest particle - logical :: lfirst = .true. !! Run the current step as a first - integer(I4B) :: nbody = 0 !! Number of bodies - character(len=STRMAX), dimension(:), allocatable :: name !! Non-unique name - integer(I4B), dimension(:), allocatable :: id !! External identifier (unique) - integer(I4B), dimension(:), allocatable :: status !! An integrator-specific status indicator - logical, dimension(:), allocatable :: ldiscard !! Body should be discarded - logical, dimension(:), allocatable :: lmask !! Logical mask used to select a subset of bodies when performing certain operations (drift, kick, accel, etc.) - real(DP), dimension(:), allocatable :: mu !! G * (Mcb + [m]) - real(DP), dimension(:,:), allocatable :: xh !! Heliocentric position - real(DP), dimension(:,:), allocatable :: vh !! Heliocentric velocity - real(DP), dimension(:,:), allocatable :: xb !! Barycentric position - real(DP), dimension(:,:), allocatable :: vb !! Barycentric velocity - real(DP), dimension(:,:), allocatable :: ah !! Total heliocentric acceleration - real(DP), dimension(:,:), allocatable :: aobl !! Barycentric accelerations of bodies due to central body oblatenes - real(DP), dimension(:,:), allocatable :: atide !! Tanngential component of acceleration of bodies due to tides - real(DP), dimension(:,:), allocatable :: agr !! Acceleration due to post-Newtonian correction - real(DP), dimension(:), allocatable :: ir3h !! Inverse heliocentric radius term (1/rh**3) - real(DP), dimension(:), allocatable :: a !! Semimajor axis (pericentric distance for a parabolic orbit) - real(DP), dimension(:), allocatable :: e !! Eccentricity - real(DP), dimension(:), allocatable :: inc !! Inclination - real(DP), dimension(:), allocatable :: capom !! Longitude of ascending node - real(DP), dimension(:), allocatable :: omega !! Argument of pericenter - real(DP), dimension(:), allocatable :: capm !! Mean anomaly + logical :: lfirst = .true. !! Run the current step as a first + integer(I4B) :: nbody = 0 !! Number of bodies + type(swiftest_particle_info), dimension(:), allocatable :: info !! Particle metadata information + integer(I4B), dimension(:), allocatable :: id !! External identifier (unique) + integer(I4B), dimension(:), allocatable :: status !! An integrator-specific status indicator + logical, dimension(:), allocatable :: ldiscard !! Body should be discarded + logical, dimension(:), allocatable :: lmask !! Logical mask used to select a subset of bodies when performing certain operations (drift, kick, accel, etc.) + real(DP), dimension(:), allocatable :: mu !! G * (Mcb + [m]) + real(DP), dimension(:,:), allocatable :: xh !! Swiftestcentric position + real(DP), dimension(:,:), allocatable :: vh !! Swiftestcentric velocity + real(DP), dimension(:,:), allocatable :: xb !! Barycentric position + real(DP), dimension(:,:), allocatable :: vb !! Barycentric velocity + real(DP), dimension(:,:), allocatable :: ah !! Total heliocentric acceleration + real(DP), dimension(:,:), allocatable :: aobl !! Barycentric accelerations of bodies due to central body oblatenes + real(DP), dimension(:,:), allocatable :: atide !! Tanngential component of acceleration of bodies due to tides + real(DP), dimension(:,:), allocatable :: agr !! Acceleration due to post-Newtonian correction + real(DP), dimension(:), allocatable :: ir3h !! Inverse heliocentric radius term (1/rh**3) + real(DP), dimension(:), allocatable :: a !! Semimajor axis (pericentric distance for a parabolic orbit) + real(DP), dimension(:), allocatable :: e !! Eccentricity + real(DP), dimension(:), allocatable :: inc !! Inclination + real(DP), dimension(:), allocatable :: capom !! Longitude of ascending node + real(DP), dimension(:), allocatable :: omega !! Argument of pericenter + real(DP), dimension(:), allocatable :: capm !! Mean anomaly !! Note to developers: If you add components to this class, be sure to update methods and subroutines that traverse the !! component list, such as setup_body and util_spill contains @@ -171,24 +275,25 @@ module swiftest_classes procedure(abstract_step_body), deferred :: step procedure(abstract_accel), deferred :: accel ! These are concrete because the implementation is the same for all types of particles - procedure :: drift => drift_body !! Loop through bodies and call Danby drift routine on heliocentric variables - procedure :: v2pv => gr_vh2pv_body !! Converts from velocity to psudeovelocity for GR calculations using symplectic integrators - procedure :: pv2v => gr_pv2vh_body !! Converts from psudeovelocity to velocity for GR calculations using symplectic integrators - procedure :: initialize => io_read_body_in !! Read in body initial conditions from a file - procedure :: read_frame => io_read_frame_body !! I/O routine for writing out a single frame of time-series data for the central body - procedure :: write_frame => io_write_frame_body !! I/O routine for writing out a single frame of time-series data for the central body - procedure :: accel_obl => obl_acc_body !! Compute the barycentric accelerations of bodies due to the oblateness of the central body - procedure :: el2xv => orbel_el2xv_vec !! Convert orbital elements to position and velocity vectors - procedure :: xv2el => orbel_xv2el_vec !! Convert position and velocity vectors to orbital elements - procedure :: setup => setup_body !! A constructor that sets the number of bodies and allocates all allocatable arrays - procedure :: accel_user => user_kick_getacch_body !! Add user-supplied heliocentric accelerations to planets - procedure :: append => util_append_body !! Appends elements from one structure to another - procedure :: fill => util_fill_body !! "Fills" bodies from one object into another depending on the results of a mask (uses the UNPACK intrinsic) - procedure :: resize => util_resize_body !! Checks the current size of a Swiftest body against the requested size and resizes it if it is too small. - procedure :: set_ir3 => util_set_ir3h !! Sets the inverse heliocentric radius term (1/rh**3) - procedure :: sort => util_sort_body !! Sorts body arrays by a sortable componen - procedure :: rearrange => util_sort_rearrange_body !! Rearranges the order of array elements of body based on an input index array. Used in sorting methods - procedure :: spill => util_spill_body !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) + procedure :: drift => drift_body !! Loop through bodies and call Danby drift routine on heliocentric variables + procedure :: v2pv => gr_vh2pv_body !! Converts from velocity to psudeovelocity for GR calculations using symplectic integrators + procedure :: pv2v => gr_pv2vh_body !! Converts from psudeovelocity to velocity for GR calculations using symplectic integrators + procedure :: read_in => io_read_in_body !! Read in body initial conditions from a file + procedure :: read_frame => io_read_frame_body !! I/O routine for writing out a single frame of time-series data for the central body + procedure :: write_frame_bin => io_write_frame_body !! I/O routine for writing out a single frame of time-series data for the central body + procedure :: accel_obl => obl_acc_body !! Compute the barycentric accelerations of bodies due to the oblateness of the central body + procedure :: el2xv => orbel_el2xv_vec !! Convert orbital elements to position and velocity vectors + procedure :: xv2el => orbel_xv2el_vec !! Convert position and velocity vectors to orbital elements + procedure :: setup => setup_body !! A constructor that sets the number of bodies and allocates all allocatable arrays + procedure :: accel_user => user_kick_getacch_body !! Add user-supplied heliocentric accelerations to planets + procedure :: append => util_append_body !! Appends elements from one structure to another + procedure :: fill => util_fill_body !! "Fills" bodies from one object into another depending on the results of a mask (uses the UNPACK intrinsic) + procedure :: resize => util_resize_body !! Checks the current size of a Swiftest body against the requested size and resizes it if it is too small. + procedure :: set_ir3 => util_set_ir3h !! Sets the inverse heliocentric radius term (1/rh**3) + procedure :: sort => util_sort_body !! Sorts body arrays by a sortable componen + procedure :: rearrange => util_sort_rearrange_body !! Rearranges the order of array elements of body based on an input index array. Used in sorting methods + procedure :: spill => util_spill_body !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) + generic :: write_frame => write_frame_bin !! Add the generic write frame for Fortran binary files end type swiftest_body !******************************************************************************************************************************** @@ -218,7 +323,7 @@ module swiftest_classes ! Massive body-specific concrete methods ! These are concrete because they are the same implemenation for all integrators procedure :: discard => discard_pl !! Placeholder method for discarding massive bodies - procedure :: eucl_index => eucl_dist_index_plpl !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix + procedure :: index => util_index_eucl_plpl !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix procedure :: accel_int => kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodies procedure :: accel_obl => obl_acc_pl !! Compute the barycentric accelerations of bodies due to the oblateness of the central body procedure :: setup => setup_pl !! A base constructor that sets the number of bodies and allocates and initializes all arrays @@ -226,6 +331,9 @@ module swiftest_classes procedure :: append => util_append_pl !! Appends elements from one structure to another procedure :: h2b => util_coord_h2b_pl !! Convert massive bodies from heliocentric to barycentric coordinates (position and velocity) procedure :: b2h => util_coord_b2h_pl !! Convert massive bodies from barycentric to heliocentric coordinates (position and velocity) + procedure :: vh2vb => util_coord_vh2vb_pl !! Convert massive bodies from heliocentric to barycentric coordinates (velocity only) + procedure :: vb2vh => util_coord_vb2vh_pl !! Convert massive bodies from barycentric to heliocentric coordinates (velocity only) + procedure :: xh2xb => util_coord_xh2xb_pl !! Convert massive bodies from heliocentric to barycentric coordinates (position only) procedure :: fill => util_fill_pl !! "Fills" bodies from one object into another depending on the results of a mask (uses the UNPACK intrinsic) procedure :: resize => util_resize_pl !! Checks the current size of a Swiftest body against the requested size and resizes it if it is too small. procedure :: set_beg_end => util_set_beg_end_pl !! Sets the beginning and ending positions and velocities of planets. @@ -242,9 +350,11 @@ module swiftest_classes !> An abstract class for a generic collection of Swiftest test particles type, abstract, extends(swiftest_body) :: swiftest_tp !! Superclass that defines the generic elements of a Swiftest test particle - integer(I4B), dimension(:), allocatable :: isperi !! Perihelion passage flag - real(DP), dimension(:), allocatable :: peri !! Perihelion distance - real(DP), dimension(:), allocatable :: atp !! Semimajor axis following perihelion passage + integer(I4B), dimension(:), allocatable :: isperi !! Perihelion passage flag + real(DP), dimension(:), allocatable :: peri !! Perihelion distance + real(DP), dimension(:), allocatable :: atp !! Semimajor axis following perihelion passage + integer(I4B), dimension(:,:), allocatable :: k_pltp !! Index array used to convert flattened the body-body comparison upper triangular matrix + integer(I8B) :: npltp !! Number of pl-tp comparisons in the flattened upper triangular matrix !! Note to developers: If you add components to this class, be sure to update methods and subroutines that traverse the !! component list, such as setup_tp and util_spill_tp contains @@ -257,6 +367,9 @@ module swiftest_classes procedure :: append => util_append_tp !! Appends elements from one structure to another procedure :: h2b => util_coord_h2b_tp !! Convert test particles from heliocentric to barycentric coordinates (position and velocity) procedure :: b2h => util_coord_b2h_tp !! Convert test particles from barycentric to heliocentric coordinates (position and velocity) + procedure :: vb2vh => util_coord_vb2vh_tp !! Convert test particles from barycentric to heliocentric coordinates (velocity only) + procedure :: vh2vb => util_coord_vh2vb_tp !! Convert test particles from heliocentric to barycentric coordinates (velocity only) + procedure :: xh2xb => util_coord_xh2xb_tp !! Convert test particles from heliocentric to barycentric coordinates (position only) procedure :: fill => util_fill_tp !! "Fills" bodies from one object into another depending on the results of a mask (uses the UNPACK intrinsic) procedure :: get_peri => util_peri_tp !! Determine system pericenter passages for test particles procedure :: resize => util_resize_tp !! Checks the current size of a Swiftest body against the requested size and resizes it if it is too small. @@ -270,62 +383,72 @@ module swiftest_classes ! swiftest_nbody_system class definitions and methods !******************************************************************************************************************************** !> An abstract class for a basic Swiftest nbody system - type, abstract, extends(swiftest_base) :: swiftest_nbody_system + type, abstract :: swiftest_nbody_system !! This superclass contains a minimial system of a set of test particles (tp), massive bodies (pl), and a central body (cb) - class(swiftest_cb), allocatable :: cb !! Central body data structure - class(swiftest_pl), allocatable :: pl !! Massive body data structure - class(swiftest_tp), allocatable :: tp !! Test particle data structure - class(swiftest_tp), allocatable :: tp_discards !! Discarded test particle data structure - class(swiftest_pl), allocatable :: pl_discards !! Discarded massive body particle data structure - real(DP) :: Gmtot = 0.0_DP !! Total system mass - used for barycentric coordinate conversion - real(DP) :: ke_orbit = 0.0_DP !! System orbital kinetic energy - real(DP) :: ke_spin = 0.0_DP !! System spin kinetic energy - real(DP) :: pe = 0.0_DP !! System potential energy - real(DP) :: te = 0.0_DP !! System total energy - real(DP), dimension(NDIM) :: Lorbit = 0.0_DP !! System orbital angular momentum vector - real(DP), dimension(NDIM) :: Lspin = 0.0_DP !! System spin angular momentum vector - real(DP), dimension(NDIM) :: Lescape = 0.0_DP !! Angular momentum of bodies that escaped the system (used for bookeeping) - real(DP) :: Mescape = 0.0_DP !! Mass of bodies that escaped the system (used for bookeeping) - real(DP) :: Ecollisions = 0.0_DP !! Energy lost from system due to collisions - real(DP) :: Euntracked = 0.0_DP !! Energy gained from system due to escaped bodies - logical :: lbeg !! True if this is the beginning of a step. This is used so that test particle steps can be calculated - !! separately from massive bodies. Massive body variables are saved at half steps, and passed to - !! the test particles - integer(I4B) :: maxid = -1 !! The current maximum particle id number + class(swiftest_cb), allocatable :: cb !! Central body data structure + class(swiftest_pl), allocatable :: pl !! Massive body data structure + class(swiftest_tp), allocatable :: tp !! Test particle data structure + class(swiftest_tp), allocatable :: tp_discards !! Discarded test particle data structure + class(swiftest_pl), allocatable :: pl_discards !! Discarded massive body particle data structure + real(DP) :: GMtot = 0.0_DP !! Total system mass - used for barycentric coordinate conversion + real(DP) :: ke_orbit = 0.0_DP !! System orbital kinetic energy + real(DP) :: ke_spin = 0.0_DP !! System spin kinetic energy + real(DP) :: pe = 0.0_DP !! System potential energy + real(DP) :: te = 0.0_DP !! System total energy + real(DP) :: oblpot = 0.0_DP !! System potential energy due to oblateness of the central body + real(DP), dimension(NDIM) :: Lorbit = 0.0_DP !! System orbital angular momentum vector + real(DP), dimension(NDIM) :: Lspin = 0.0_DP !! System spin angular momentum vector + real(DP), dimension(NDIM) :: Ltot = 0.0_DP !! System angular momentum vector + logical :: lbeg !! True if this is the beginning of a step. This is used so that test particle steps can be calculated + !! separately from massive bodies. Massive body variables are saved at half steps, and passed to + !! the test particles contains !> Each integrator will have its own version of the step procedure(abstract_step_system), deferred :: step ! Concrete classes that are common to the basic integrator (only test particles considered for discard) - procedure :: discard => discard_system !! Perform a discard step on the system - procedure :: conservation_report => io_conservation_report !! Compute energy and momentum and print out the change with time - procedure :: dump => io_dump_system !! Dump the state of the system to a file - procedure :: read_frame => io_read_frame_system !! Read in a frame of input data from file - procedure :: write_discard => io_write_discard !! Write out information about discarded test particles - procedure :: write_frame => io_write_frame_system !! Append a frame of output data to file - procedure :: initialize => setup_initialize_system !! Initialize the system from input files - procedure :: step_spin => tides_step_spin_system !! Steps the spins of the massive & central bodies due to tides. - procedure :: set_msys => util_set_msys !! Sets the value of msys from the masses of system bodies. - procedure :: get_energy_and_momentum => util_get_energy_momentum_system !! Calculates the total system energy and momentum - procedure :: rescale => util_rescale_system !! Rescales the system into a new set of units - procedure :: validate_ids => util_valid_id_system !! Validate the numerical ids passed to the system and save the maximum value + procedure :: discard => discard_system !! Perform a discard step on the system + procedure :: conservation_report => io_conservation_report !! Compute energy and momentum and print out the change with time + procedure :: dump => io_dump_system !! Dump the state of the system to a file + procedure :: get_old_t_final => io_get_old_t_final_system !! Validates the dump file to check whether the dump file initial conditions duplicate the last frame of the binary output. + procedure :: read_frame => io_read_frame_system !! Read in a frame of input data from file + procedure :: read_particle_info => io_read_particle_info_system !! Read in particle metadata from file + procedure :: write_discard => io_write_discard !! Write out information about discarded test particles + procedure :: write_frame => io_write_frame_system !! Append a frame of output data to file + procedure :: write_hdr_bin => io_write_hdr_system !! Write a header for an output frame in Fortran binary format + procedure :: write_hdr_netcdf => netcdf_write_hdr_system !! Write a header for an output frame in NetCDF format + procedure :: obl_pot => obl_pot_system !! Compute the contribution to the total gravitational potential due solely to the oblateness of the central body + procedure :: initialize => setup_initialize_system !! Initialize the system from input files + procedure :: init_particle_info => setup_initialize_particle_info_system !! Initialize the system from input files + procedure :: step_spin => tides_step_spin_system !! Steps the spins of the massive & central bodies due to tides. + procedure :: set_msys => util_set_msys !! Sets the value of msys from the masses of system bodies. + procedure :: get_energy_and_momentum => util_get_energy_momentum_system !! Calculates the total system energy and momentum + procedure :: rescale => util_rescale_system !! Rescales the system into a new set of units + procedure :: validate_ids => util_valid_id_system !! Validate the numerical ids passed to the system and save the maximum value + generic :: write_hdr => write_hdr_bin, write_hdr_netcdf !! Generic method call for writing headers end type swiftest_nbody_system type :: swiftest_encounter integer(I4B) :: nenc !! Total number of encounters logical, dimension(:), allocatable :: lvdotr !! relative vdotr flag integer(I4B), dimension(:), allocatable :: status !! status of the interaction + integer(I8B), dimension(:), allocatable :: kidx !! index value of the encounter from the master k_plpl encounter list integer(I4B), dimension(:), allocatable :: index1 !! position of the first body in the encounter integer(I4B), dimension(:), allocatable :: index2 !! position of the second body in the encounter + integer(I4B), dimension(:), allocatable :: id1 !! id of the first body in the encounter + integer(I4B), dimension(:), allocatable :: id2 !! id of the second body in the encounter real(DP), dimension(:,:), allocatable :: x1 !! the position of body 1 in the encounter real(DP), dimension(:,:), allocatable :: x2 !! the position of body 2 in the encounter real(DP), dimension(:,:), allocatable :: v1 !! the velocity of body 1 in the encounter real(DP), dimension(:,:), allocatable :: v2 !! the velocity of body 2 in the encounter + real(DP), dimension(:), allocatable :: t !! Time of encounter contains procedure :: setup => setup_encounter !! A constructor that sets the number of encounters and allocates and initializes all arrays + procedure :: append => util_append_encounter !! Appends elements from one structure to another procedure :: copy => util_copy_encounter !! Copies elements from the source encounter list into self. procedure :: spill => util_spill_encounter !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) procedure :: resize => util_resize_encounter !! Checks the current size of the encounter list against the required size and extends it by a factor of 2 more than requested if it is too small. + procedure :: write => io_write_encounter !! Write close encounter data to output binary file end type swiftest_encounter abstract interface @@ -345,12 +468,6 @@ subroutine abstract_accel(self, system, param, t, lbeg) logical, intent(in) :: lbeg !! Optional argument that determines whether or not this is the beginning or end of the step end subroutine abstract_accel - subroutine abstract_initialize(self, param) - import swiftest_base, swiftest_parameters - class(swiftest_base), intent(inout) :: self !! Swiftest base object - class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - end subroutine abstract_initialize - subroutine abstract_kick_body(self, system, param, t, dt, lbeg) import swiftest_body, swiftest_nbody_system, swiftest_parameters, DP implicit none @@ -362,14 +479,13 @@ subroutine abstract_kick_body(self, system, param, t, dt, lbeg) logical, intent(in) :: lbeg !! Logical flag indicating whether this is the beginning of the half step or not. end subroutine abstract_kick_body - subroutine abstract_read_frame(self, iu, param, form, ierr) + function abstract_read_frame(self, iu, param) result(ierr) import DP, I4B, swiftest_base, swiftest_parameters class(swiftest_base), intent(inout) :: self !! Swiftest base object integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - character(*), intent(in) :: form !! Input format code ("XV" or "EL") - integer(I4B), intent(out) :: ierr !! Error code - end subroutine abstract_read_frame + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful + end function abstract_read_frame subroutine abstract_set_mu(self, cb) import swiftest_body, swiftest_cb @@ -395,13 +511,6 @@ subroutine abstract_step_system(self, param, t, dt) real(DP), intent(in) :: t !! Simulation time real(DP), intent(in) :: dt !! Current stepsize end subroutine abstract_step_system - - subroutine abstract_write_frame(self, iu, param) - import DP, I4B, swiftest_base, swiftest_parameters - class(swiftest_base), intent(in) :: self !! Swiftest base object - integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - end subroutine abstract_write_frame end interface interface @@ -452,35 +561,18 @@ module pure elemental subroutine drift_one(mu, px, py, pz, vx, vy, vz, dt, iflag integer(I4B), intent(out) :: iflag !! iflag : error status flag for Danby drift (0 = OK, nonzero = ERROR) end subroutine drift_one - module subroutine eucl_dist_index_plpl(self) + module subroutine util_index_eucl_plpl(self, param) implicit none - class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine - module subroutine fragmentation_initialize(system, param, family, x, v, L_spin, Ip, mass, radius, & - nfrag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, Qloss, lfailure) - implicit none - class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - integer(I4B), dimension(:), intent(in) :: family !! Index of bodies involved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Two-body equivalent position, vector, spin momentum, and rotational inertia values for the collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Two-body equivalent mass and radii for the bodies in the collision - integer(I4B), intent(inout) :: nfrag !! Number of fragments to generate - real(DP), dimension(:), allocatable, intent(inout) :: m_frag, rad_frag !! Distribution of fragment mass and radii - real(DP), dimension(:,:), allocatable, intent(inout) :: Ip_frag !! Fragment rotational inertia vectors - real(DP), dimension(:,:), allocatable, intent(inout) :: xb_frag, vb_frag, rot_frag !! Fragment barycentric position, barycentric velocity, and rotation vectors - real(DP), intent(inout) :: Qloss !! Energy lost during the collision - logical, intent(out) :: lfailure !! Answers the question: Should this have been a merger instead? - end subroutine fragmentation_initialize - - module subroutine fragmentation_regime(Mcb, m1, m2, rad1, rad2, xh1, xh2, vb1, vb2, den1, den2, regime, Mlr, Mslr, mtiny, Qloss) - implicit none - integer(I4B), intent(out) :: regime - real(DP), intent(out) :: Mlr, Mslr - real(DP), intent(in) :: Mcb, m1, m2, rad1, rad2, den1, den2, mtiny - real(DP), dimension(:), intent(in) :: xh1, xh2, vb1, vb2 - real(DP), intent(out) :: Qloss !! Energy lost during the collision - end subroutine fragmentation_regime + module subroutine util_index_eucl_pltp(self, pl, param) + implicit none + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + class(swiftest_pl), intent(in) :: pl !! Swiftest massive body object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine module pure subroutine gr_kick_getaccb_ns_body(self, system, param) implicit none @@ -511,9 +603,9 @@ module pure subroutine gr_pseudovel2vel(param, mu, xh, pv, vh) implicit none class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: mu !! G * (Mcb + m), G = gravitational constant, Mcb = mass of central body, m = mass of body - real(DP), dimension(:), intent(in) :: xh !! Heliocentric position vector + real(DP), dimension(:), intent(in) :: xh !! Swiftestcentric position vector real(DP), dimension(:), intent(in) :: pv !! Pseudovelocity velocity vector - see Saha & Tremain (1994), eq. (32) - real(DP), dimension(:), intent(out) :: vh !! Heliocentric velocity vector + real(DP), dimension(:), intent(out) :: vh !! Swiftestcentric velocity vector end subroutine gr_pseudovel2vel module pure subroutine gr_pv2vh_body(self, param) @@ -526,8 +618,8 @@ module pure subroutine gr_vel2pseudovel(param, mu, xh, vh, pv) implicit none class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters real(DP), intent(in) :: mu !! G * (Mcb + m), G = gravitational constant, Mcb = mass of central body, m = mass of body - real(DP), dimension(:), intent(in) :: xh !! Heliocentric position vector - real(DP), dimension(:), intent(in) :: vh !! Heliocentric velocity vector + real(DP), dimension(:), intent(in) :: xh !! Swiftestcentric position vector + real(DP), dimension(:), intent(in) :: vh !! Swiftestcentric velocity vector real(DP), dimension(:), intent(out) :: pv !! Pseudovelocity vector - see Saha & Tremain (1994), eq. (32) end subroutine gr_vel2pseudovel @@ -550,11 +642,24 @@ module subroutine io_dump_param(self, param_file_name) character(len=*), intent(in) :: param_file_name !! Parameter input file name (i.e. param.in) end subroutine io_dump_param - module subroutine io_dump_swiftest(self, param) + module subroutine io_dump_particle_info_base(self, param, idx) + implicit none + class(swiftest_base), intent(inout) :: self !! Swiftest base object (can be cb, pl, or tp) + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + integer(I4B), dimension(:), optional, intent(in) :: idx !! Array of test particle indices to append to the particle file + end subroutine io_dump_particle_info_base + + module subroutine io_dump_particle_info(self, iu) + implicit none + class(swiftest_particle_info), intent(in) :: self !! Swiftest particle info metadata object + integer(I4B), intent(in) :: iu !! Open unformatted file unit number + end subroutine io_dump_particle_info + + module subroutine io_dump_base(self, param) implicit none class(swiftest_base), intent(inout) :: self !! Swiftest base object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - end subroutine io_dump_swiftest + end subroutine io_dump_base module subroutine io_dump_system(self, param) implicit none @@ -569,6 +674,13 @@ module function io_get_args(integrator, param_file_name) result(ierr) integer(I4B) :: ierr !! I/O error code end function io_get_args + module function io_get_old_t_final_system(self, param) result(old_t_final) + implicit none + class(swiftest_nbody_system), intent(in) :: self + class(swiftest_parameters), intent(in) :: param + real(DP) :: old_t_final + end function io_get_old_t_final_system + module function io_get_token(buffer, ifirst, ilast, ierr) result(token) implicit none character(len=*), intent(in) :: buffer !! Input string buffer @@ -600,55 +712,64 @@ module subroutine io_param_writer(self, unit, iotype, v_list, iostat, iomsg) character(len=*), intent(inout) :: iomsg !! Message to pass if iostat /= 0 end subroutine io_param_writer - module subroutine io_read_body_in(self, param) + module subroutine io_read_in_body(self, param) implicit none class(swiftest_body), intent(inout) :: self !! Swiftest body object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - end subroutine io_read_body_in + end subroutine io_read_in_body - module subroutine io_read_cb_in(self, param) + module subroutine io_read_in_cb(self, param) implicit none class(swiftest_cb), intent(inout) :: self !! Swiftest central body object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - end subroutine io_read_cb_in + end subroutine io_read_in_cb - module subroutine io_read_param_in(self, param_file_name) + module subroutine io_read_in_param(self, param_file_name) implicit none class(swiftest_parameters), intent(inout) :: self !! Current run configuration parameters character(len=*), intent(in) :: param_file_name !! Parameter input file name (i.e. param.in) - end subroutine io_read_param_in + end subroutine io_read_in_param - module subroutine io_read_frame_body(self, iu, param, form, ierr) + module subroutine io_read_in_particle_info(self, iu) implicit none - class(swiftest_body), intent(inout) :: self !! Swiftest body object - integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to - class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - character(*), intent(in) :: form !! Input format code ("XV" or "EL") - integer(I4B), intent(out) :: ierr !! Error code - end subroutine io_read_frame_body + class(swiftest_particle_info), intent(inout) :: self !! Particle metadata information object + integer(I4B), intent(in) :: iu !! Open file unit number + end subroutine io_read_in_particle_info - module subroutine io_read_frame_cb(self, iu, param, form, ierr) + module function io_read_frame_body(self, iu, param) result(ierr) implicit none - class(swiftest_cb), intent(inout) :: self !! Swiftest central body object - integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to - class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - character(*), intent(in) :: form !! Input format code ("XV" or "EL") - integer(I4B), intent(out) :: ierr !! Error code - end subroutine io_read_frame_cb + class(swiftest_body), intent(inout) :: self !! Swiftest body object + integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful + end function io_read_frame_body + + module function io_read_frame_cb(self, iu, param) result(ierr) + implicit none + class(swiftest_cb), intent(inout) :: self !! Swiftest central body object + integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful + end function io_read_frame_cb - module subroutine io_read_frame_system(self, iu, param, form, ierr) + module function io_read_frame_system(self, iu, param) result(ierr) implicit none class(swiftest_nbody_system),intent(inout) :: self !! Swiftest system object integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - character(*), intent(in) :: form !! Input format code ("XV" or "EL") - integer(I4B), intent(out) :: ierr !! Error code - end subroutine io_read_frame_system + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful + end function io_read_frame_system + + module subroutine io_read_particle_info_system(self, param) + implicit none + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + end subroutine io_read_particle_info_system module subroutine io_write_discard(self, param) implicit none class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine io_write_discard module subroutine io_toupper(string) @@ -656,13 +777,12 @@ module subroutine io_toupper(string) character(*), intent(inout) :: string !! String to make upper case end subroutine io_toupper - module subroutine io_write_encounter(t, name1, name2, mass1, mass2, radius1, radius2, & - xh1, xh2, vh1, vh2, enc_out, out_type) + module subroutine io_write_encounter(self, pl, encbody, param) implicit none - integer(I4B), intent(in) :: name1, name2 - real(DP), intent(in) :: t, mass1, mass2, radius1, radius2 - real(DP), dimension(:), intent(in) :: xh1, xh2, vh1, vh2 - character(*), intent(in) :: enc_out, out_type + class(swiftest_encounter), intent(in) :: self !! Swiftest encounter list object + class(swiftest_pl), intent(in) :: pl !! Swiftest massive body object + class(swiftest_body), intent(in) :: encbody !! Encountering body - Swiftest generic body object (pl or tp) + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine io_write_encounter module subroutine io_write_frame_body(self, iu, param) @@ -679,16 +799,62 @@ module subroutine io_write_frame_cb(self, iu, param) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine io_write_frame_cb - module subroutine io_write_frame_system(self, iu, param) + module subroutine io_write_frame_encounter(iu, t, id1, id2, Gmass1, Gmass2, radius1, radius2, xh1, xh2, vh1, vh2) implicit none - class(swiftest_nbody_system), intent(in) :: self !! Swiftest system object - integer(I4B), intent(inout) :: iu !! Unit number for the output file to write frame to - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + integer(I4B), intent(in) :: iu !! Open file unit number + real(DP), intent(in) :: t !! Time of encounter + integer(I4B), intent(in) :: id1, id2 !! ids of the two encountering bodies + real(DP), intent(in) :: Gmass1, Gmass2 !! G*mass of the two encountering bodies + real(DP), intent(in) :: radius1, radius2 !! Radii of the two encountering bodies + real(DP), dimension(:), intent(in) :: xh1, xh2 !! Swiftestcentric position vectors of the two encountering bodies + real(DP), dimension(:), intent(in) :: vh1, vh2 !! Swiftestcentric velocity vectors of the two encountering bodies + end subroutine io_write_frame_encounter + + module subroutine io_write_frame_system(self, param) + implicit none + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine io_write_frame_system - module pure subroutine kick_getacch_int_pl(self) + module subroutine io_write_hdr_system(self, iu, param) + implicit none + class(swiftest_nbody_system), intent(in) :: self !! Swiftest nbody system object + integer(I4B), intent(inout) :: iu !! Output file unit number + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine io_write_hdr_system + + module subroutine kick_getacch_int_all_pl(npl, nplpl, k_plpl, x, Gmass, radius, acc) + implicit none + integer(I4B), intent(in) :: npl !! Number of massive bodies + integer(I8B), intent(in) :: nplpl !! Number of massive body interactions to compute + integer(I4B), dimension(:,:), intent(in) :: k_plpl !! Array of interaction pair indices (flattened upper triangular matrix) + real(DP), dimension(:,:), intent(in) :: x !! Position vector array + real(DP), dimension(:), intent(in) :: Gmass !! Array of massive body G*mass + real(DP), dimension(:), intent(in) :: radius !! Array of massive body radii + real(DP), dimension(:,:), intent(inout) :: acc !! Acceleration vector array + end subroutine kick_getacch_int_all_pl + + module pure subroutine kick_getacch_int_one_pl(rji2, xr, yr, zr, Gmi, Gmj, axi, ayi, azi, axj, ayj, azj) + implicit none + real(DP), intent(in) :: rji2 !! Square of distance between the two bodies + real(DP), intent(in) :: xr, yr, zr !! Distances between the two bodies in x, y, and z directions + real(DP), intent(in) :: Gmi !! G*mass of body i + real(DP), intent(in) :: Gmj !! G*mass of body j + real(DP), intent(inout) :: axi, ayi, azi !! Acceleration vector components of body i + real(DP), intent(inout) :: axj, ayj, azj !! Acceleration vector components of body j + end subroutine kick_getacch_int_one_pl + + module pure subroutine kick_getacch_int_one_tp(rji2, xr, yr, zr, Gmpl, ax, ay, az) implicit none - class(swiftest_pl), intent(inout) :: self + real(DP), intent(in) :: rji2 !! Square of distance between the test particle and massive body + real(DP), intent(in) :: xr, yr, zr !! Distances between the two bodies in x, y, and z directions + real(DP), intent(in) :: Gmpl !! G*mass of massive body + real(DP), intent(inout) :: ax, ay, az !! Acceleration vector components of test particle + end subroutine kick_getacch_int_one_tp + + module subroutine kick_getacch_int_pl(self) + implicit none + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object end subroutine kick_getacch_int_pl module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) @@ -699,6 +865,51 @@ module pure subroutine kick_getacch_int_tp(self, GMpl, xhp, npl) integer(I4B), intent(in) :: npl !! Number of active massive bodies end subroutine kick_getacch_int_tp + module subroutine netcdf_close(self, param) + implicit none + class(netcdf_parameters), intent(inout) :: self !! Parameters used to identify a particular NetCDF dataset + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine netcdf_close + + module subroutine netcdf_initialize_output(self, param) + implicit none + class(netcdf_parameters), intent(inout) :: self !! Parameters used to for writing a NetCDF dataset to file + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine netcdf_initialize_output + + module subroutine netcdf_open(self, param) + implicit none + class(netcdf_parameters), intent(inout) :: self !! Parameters used to identify a particular NetCDF dataset + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine netcdf_open + + module subroutine netcdf_write_frame_base(self, iu, param) + implicit none + class(swiftest_base), intent(in) :: self !! Swiftest base object + class(netcdf_parameters), intent(inout) :: iu !! Parameters used to for writing a NetCDF dataset to file + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine netcdf_write_frame_base + + module subroutine netcdf_write_frame_system(self, iu, param) + implicit none + class(swiftest_nbody_system), intent(in) :: self !! Swiftest system object + integer(I4B), intent(inout) :: iu !! Parameters used to for writing a NetCDF dataset to file + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine netcdf_write_frame_system + + module subroutine netcdf_write_hdr_system(self, iu, param) + implicit none + class(swiftest_nbody_system), intent(in) :: self !! Swiftest nbody system object + class(netcdf_parameters), intent(inout) :: iu !! Parameters used to for writing a NetCDF dataset to file + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine netcdf_write_hdr_system + + module subroutine netcdf_write_particle_info_base(self, iu) + implicit none + class(swiftest_base), intent(in) :: self !! Swiftest particle object + class(netcdf_parameters), intent(inout) :: iu !! Parameters used to identify a particular NetCDF dataset + end subroutine netcdf_write_particle_info_base + module subroutine obl_acc_body(self, system) implicit none class(swiftest_body), intent(inout) :: self !! Swiftest body object @@ -717,16 +928,10 @@ module subroutine obl_acc_tp(self, system) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object end subroutine obl_acc_tp - module subroutine obl_pot(npl, Mcb, Mpl, j2rp2, j4rp4, xh, irh, oblpot) + module subroutine obl_pot_system(self) implicit none - integer(I4B), intent(in) :: npl - real(DP), intent(in) :: Mcb - real(DP), dimension(:), intent(in) :: Mpl - real(DP), intent(in) :: j2rp2, j4rp4 - real(DP), dimension(:), intent(in) :: irh - real(DP), dimension(:, :), intent(in) :: xh - real(DP), intent(out) :: oblpot - end subroutine obl_pot + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object + end subroutine obl_pot_system module subroutine orbel_el2xv_vec(self, cb) implicit none @@ -761,6 +966,19 @@ module pure subroutine orbel_xv2aqt(mu, x, v, a, q, capm, tperi) real(DP), intent(out) :: tperi !! time of pericenter passage end subroutine orbel_xv2aqt + module pure subroutine orbel_xv2el(mu, x, v, a, e, inc, capom, omega, capm) + implicit none + real(DP), intent(in) :: mu !! Gravitational constant + real(DP), dimension(:), intent(in) :: x !! Position vector + real(DP), dimension(:), intent(in) :: v !! Velocity vector + real(DP), intent(out) :: a !! semimajor axis + real(DP), intent(out) :: e !! eccentricity + real(DP), intent(out) :: inc !! inclination + real(DP), intent(out) :: capom !! longitude of ascending node + real(DP), intent(out) :: omega !! argument of periapsis + real(DP), intent(out) :: capm !! mean anomaly + end subroutine orbel_xv2el + module subroutine orbel_xv2el_vec(self, cb) implicit none class(swiftest_body), intent(inout) :: self !! Swiftest body object @@ -777,7 +995,7 @@ end subroutine setup_body module subroutine setup_construct_system(system, param) implicit none class(swiftest_nbody_system), allocatable, intent(inout) :: system !! Swiftest system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine setup_construct_system module subroutine setup_encounter(self, n) @@ -786,6 +1004,12 @@ module subroutine setup_encounter(self, n) integer(I4B), intent(in) :: n !! Number of encounters to allocate space for end subroutine setup_encounter + module subroutine setup_initialize_particle_info_system(self, param) + implicit none + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + end subroutine setup_initialize_particle_info_system + module subroutine setup_initialize_system(self, param) implicit none class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object @@ -794,8 +1018,8 @@ end subroutine setup_initialize_system module subroutine setup_pl(self, n, param) implicit none - class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object - integer(I4B), intent(in) :: n !! Number of particles to allocate space for + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + integer(I4B), intent(in) :: n !! Number of particles to allocate space for class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine setup_pl @@ -863,6 +1087,14 @@ module subroutine util_append_arr_I4B(arr, source, nold, nsrc, lsource_mask) logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to end subroutine util_append_arr_I4B + module subroutine util_append_arr_info(arr, source, nold, nsrc, lsource_mask) + implicit none + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Destination array + type(swiftest_particle_info), dimension(:), allocatable, intent(in) :: source !! Array to append + integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively + logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + end subroutine util_append_arr_info + module subroutine util_append_arr_logical(arr, source, nold, nsrc, lsource_mask) implicit none logical, dimension(:), allocatable, intent(inout) :: arr !! Destination array @@ -875,11 +1107,18 @@ end subroutine util_append_arr_logical interface module subroutine util_append_body(self, source, lsource_mask) implicit none - class(swiftest_body), intent(inout) :: self !! Swiftest body object - class(swiftest_body), intent(in) :: source !! Source object to append + class(swiftest_body), intent(inout) :: self !! Swiftest body object + class(swiftest_body), intent(in) :: source !! Source object to append logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to end subroutine util_append_body + module subroutine util_append_encounter(self, source, lsource_mask) + implicit none + class(swiftest_encounter), intent(inout) :: self !! Swiftest encounter list object + class(swiftest_encounter), intent(in) :: source !! Source object to append + logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + end subroutine util_append_encounter + module subroutine util_append_pl(self, source, lsource_mask) implicit none class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object @@ -918,12 +1157,61 @@ module subroutine util_coord_h2b_tp(self, cb) class(swiftest_cb), intent(in) :: cb !! Swiftest central body object end subroutine util_coord_h2b_tp + module subroutine util_coord_vb2vh_pl(self, cb) + implicit none + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object + end subroutine util_coord_vb2vh_pl + + module subroutine util_coord_vb2vh_tp(self, vbcb) + implicit none + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body + end subroutine util_coord_vb2vh_tp + + module subroutine util_coord_vh2vb_pl(self, cb) + implicit none + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object + end subroutine util_coord_vh2vb_pl + + module subroutine util_coord_vh2vb_tp(self, vbcb) + implicit none + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body + end subroutine util_coord_vh2vb_tp + + module subroutine util_coord_xh2xb_pl(self, cb) + implicit none + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object + end subroutine util_coord_xh2xb_pl + + module subroutine util_coord_xh2xb_tp(self, cb) + implicit none + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + class(swiftest_cb), intent(in) :: cb !! Swiftest central body object + end subroutine util_coord_xh2xb_tp + module subroutine util_copy_encounter(self, source) implicit none class(swiftest_encounter), intent(inout) :: self !! Encounter list class(swiftest_encounter), intent(in) :: source !! Source object to copy into end subroutine util_copy_encounter + module subroutine util_copy_particle_info(self, source) + implicit none + class(swiftest_particle_info), intent(inout) :: self + class(swiftest_particle_info), intent(in) :: source + end subroutine util_copy_particle_info + + module subroutine util_copy_particle_info_arr(source, dest, idx) + implicit none + class(swiftest_particle_info), dimension(:), intent(in) :: source !! Source object to copy into + class(swiftest_particle_info), dimension(:), intent(inout) :: dest !! Swiftest body object with particle metadata information object + integer(I4B), dimension(:), intent(in), optional :: idx !! Optional array of indices to draw the source object + end subroutine util_copy_particle_info_arr + module subroutine util_exit(code) implicit none integer(I4B), intent(in) :: code !! Failure exit code @@ -980,6 +1268,13 @@ module subroutine util_fill_arr_I4B(keeps, inserts, lfill_list) logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps end subroutine util_fill_arr_I4B + module subroutine util_fill_arr_info(keeps, inserts, lfill_list) + implicit none + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep + type(swiftest_particle_info), dimension(:), allocatable, intent(in) :: inserts !! Array of values to insert into keep + logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps + end subroutine util_fill_arr_info + module subroutine util_fill_arr_logical(keeps, inserts, lfill_list) implicit none logical, dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep @@ -996,7 +1291,7 @@ module subroutine util_rescale_system(self, param, mscale, dscale, tscale) real(DP), intent(in) :: mscale, dscale, tscale !! Scale factors for mass, distance, and time units, respectively. end subroutine util_rescale_system - module function util_minimize_bfgs(f, N, x0, eps, lerr) result(x1) + module function util_minimize_bfgs(f, N, x0, eps, maxloop, lerr) result(x1) use lambda_function implicit none integer(I4B), intent(in) :: N @@ -1004,7 +1299,8 @@ module function util_minimize_bfgs(f, N, x0, eps, lerr) result(x1) real(DP), dimension(:), intent(in) :: x0 real(DP), intent(in) :: eps logical, intent(out) :: lerr - real(DP), dimension(:), allocatable :: x1 + integer(I4B), intent(in) :: maxloop + real(DP), dimension(:), allocatable :: x1 end function util_minimize_bfgs module subroutine util_peri_tp(self, system, param) @@ -1041,6 +1337,12 @@ module subroutine util_resize_arr_I4B(arr, nnew) integer(I4B), intent(in) :: nnew !! New size end subroutine util_resize_arr_I4B + module subroutine util_resize_arr_info(arr, nnew) + implicit none + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Array to resize + integer(I4B), intent(in) :: nnew !! New size + end subroutine util_resize_arr_info + module subroutine util_resize_arr_logical(arr, nnew) implicit none logical, dimension(:), allocatable, intent(inout) :: arr !! Array to resize @@ -1109,6 +1411,22 @@ module subroutine util_set_mu_tp(self, cb) class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object end subroutine util_set_mu_tp + module subroutine util_set_particle_info(self, name, particle_type, status, origin_type, origin_time, origin_xh, origin_vh, discard_time, discard_xh, discard_vh, discard_body_id) + implicit none + class(swiftest_particle_info), intent(inout) :: self + character(len=*), intent(in), optional :: name !! Non-unique name + character(len=*), intent(in), optional :: particle_type !! String containing a description of the particle type (e.g. Central Body, Massive Body, Test Particle) + character(len=*), intent(in), optional :: status !! Particle status description: Active, Merged, Fragmented, etc. + character(len=*), intent(in), optional :: origin_type !! String containing a description of the origin of the particle (e.g. Initial Conditions, Supercatastrophic, Disruption, etc.) + real(DP), intent(in), optional :: origin_time !! The time of the particle's formation + real(DP), dimension(:), intent(in), optional :: origin_xh !! The heliocentric distance vector at the time of the particle's formation + real(DP), dimension(:), intent(in), optional :: origin_vh !! The heliocentric velocity vector at the time of the particle's formation + real(DP), intent(in), optional :: discard_time !! The time of the particle's discard + real(DP), dimension(:), intent(in), optional :: discard_xh !! The heliocentric distance vector at the time of the particle's discard + real(DP), dimension(:), intent(in), optional :: discard_vh !! The heliocentric velocity vector at the time of the particle's discard + integer(I4B), intent(in), optional :: discard_body_id !! The id of the other body involved in the discard (0 if no other body involved) + end subroutine util_set_particle_info + module subroutine util_set_rhill(self,cb) implicit none class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object @@ -1190,6 +1508,50 @@ module subroutine util_sort_index_dp(arr,ind) end subroutine util_sort_index_dp end interface util_sort + interface util_sort_rearrange + module subroutine util_sort_rearrange_arr_char_string(arr, ind, n) + implicit none + character(len=STRMAX), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + end subroutine util_sort_rearrange_arr_char_string + + module subroutine util_sort_rearrange_arr_DP(arr, ind, n) + implicit none + real(DP), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + end subroutine util_sort_rearrange_arr_DP + + module subroutine util_sort_rearrange_arr_DPvec(arr, ind, n) + implicit none + real(DP), dimension(:,:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + end subroutine util_sort_rearrange_arr_DPvec + + module subroutine util_sort_rearrange_arr_I4B(arr, ind, n) + implicit none + integer(I4B), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + end subroutine util_sort_rearrange_arr_I4B + + module subroutine util_sort_rearrange_arr_info(arr, ind, n) + implicit none + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + end subroutine util_sort_rearrange_arr_info + + module subroutine util_sort_rearrange_arr_logical(arr, ind, n) + implicit none + logical, dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + end subroutine util_sort_rearrange_arr_logical + end interface util_sort_rearrange + interface module subroutine util_sort_rearrange_body(self, ind) implicit none @@ -1264,6 +1626,22 @@ module subroutine util_spill_arr_I4B(keeps, discards, lspill_list, ldestructive) logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not end subroutine util_spill_arr_I4B + module subroutine util_spill_arr_I8B(keeps, discards, lspill_list, ldestructive) + implicit none + integer(I8B), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep + integer(I8B), dimension(:), allocatable, intent(inout) :: discards !! Array of discards + logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discardss + logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + end subroutine util_spill_arr_I8B + + module subroutine util_spill_arr_info(keeps, discards, lspill_list, ldestructive) + implicit none + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: discards !! Array of discards + logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discardss + logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + end subroutine util_spill_arr_info + module subroutine util_spill_arr_logical(keeps, discards, lspill_list, ldestructive) implicit none logical, dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep @@ -1309,7 +1687,7 @@ end subroutine util_spill_tp module subroutine util_valid_id_system(self, param) implicit none class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters end subroutine util_valid_id_system module subroutine util_version() diff --git a/src/modules/swiftest_globals.f90 b/src/modules/swiftest_globals.f90 index 5ec55f6c6..1f9c6028c 100644 --- a/src/modules/swiftest_globals.f90 +++ b/src/modules/swiftest_globals.f90 @@ -22,7 +22,10 @@ module swiftest_globals real(DP), parameter :: PI3BY2 = 4.712388980384689857693965074919254326296_DP !! Definition of /(3 \pi / 2\) real(DP), parameter :: TWOPI = 6.283185307179586476925286766559005768394_DP !! Definition of 2 \pi real(DP), parameter :: THIRD = 0.333333333333333333333333333333333333333_DP !! Definition of 1 / 3 - real(DP), parameter :: DEGRAD = 180.0_DP/PI !! Definition of conversion factor from degrees to radians + real(DP), parameter :: DEG2RAD = PI / 180.0_DP !! Definition of conversion factor from degrees to radians + real(DP), parameter :: RAD2DEG = 180.0_DP / PI !! Definition of conversion factor from degrees to radians + real(DP), parameter :: GC = 6.6743E-11_DP !! Universal gravitational constant in SI units + real(DP), parameter :: einsteinC = 299792458.0_DP !! Speed of light in SI units integer(I4B), parameter :: LOWERCASE_BEGIN = iachar('a') !! ASCII character set parameter for lower to upper conversion - start of lowercase integer(I4B), parameter :: LOWERCASE_END = iachar('z') !! ASCII character set parameter for lower to upper conversion - end of lowercase @@ -41,16 +44,23 @@ module swiftest_globals integer(I4B), parameter :: SYMBA = 8 integer(I4B), parameter :: RINGMOONS = 9 - integer(I4B), parameter :: STRMAX = 128 !! Maximum size of character strings + integer(I4B), parameter :: STRMAX = 512 !! Maximum size of character strings + integer(I4B), parameter :: NAMELEN = 32 !! Maximum size of name strings character(*), parameter :: ASCII_TYPE = 'ASCII' !! Symbolic name for ASCII file type character(*), parameter :: REAL4_TYPE = 'REAL4' !! Symbolic name for binary file type REAL4 character(*), parameter :: REAL8_TYPE = 'REAL8' !! Symbolic name for binary file type REAL8 - character(*), parameter :: SWIFTER_REAL4_TYPE = 'SWIFTER4' !! Symbolic name for binary file type for the old style Swifter REAL4 - character(*), parameter :: SWIFTER_REAL8_TYPE = 'SWIFTER8' !! Symbolic name for binary file type for the old style Swifter REAL8 + character(*), parameter :: NETCDF_FLOAT_TYPE = 'NETCDF_FLOAT' !! Symbolic name for binary file type REAL8 + character(*), parameter :: NETCDF_DOUBLE_TYPE = 'NETCDF_DOUBLE' !! Symbolic name for binary file type REAL8 + + character(*), parameter :: EL = 'EL' !! Symbolic name for binary output file contents for orbital elements + character(*), parameter :: XV = 'XV' !! Symbolic name for binary output file contents for cartesian position and velocity vectors + character(*), parameter :: XVEL = 'XVEL' !! Symbolic name for binary output file contents for both cartesian position and velocity and orbital elements - character(*), parameter :: EL = 'EL' !! Symbolic name for binary output file contents for orbital element type - character(*), parameter :: XV = 'XV' !! Symbolic name for binary output file contents for cartesian position and velocity type + character(*), parameter :: CB_TYPE_NAME = "Central Body" + character(*), parameter :: PL_TYPE_NAME = "Massive Body" + character(*), parameter :: TP_TYPE_NAME = "Test Particle" + character(*), parameter :: PL_TINY_TYPE_NAME = "Semi-Interacting Massive Body" ! OpenMP Parameters integer(I4B) :: nthreads = 1 !! Number of OpenMP threads @@ -61,7 +71,6 @@ module swiftest_globals integer(I4B), parameter :: USAGE = -2 !! Symbolic name for function return/flag code for printing the usage message integer(I4B), parameter :: HELP = -3 !! Symbolic name for function return/flag code for printing the usage message - character(*), parameter :: SUCCESS_MSG = '(/, "Normal termination of Swiftest (version ", f3.1, ")")' character(*), parameter :: FAIL_MSG = '(/, "Terminating Swiftest (version ", f3.1, ") due to error!!")' character(*), parameter :: USAGE_MSG = '("Usage: swiftest [bs|helio|ra15|rmvs|symba|tu4|whm] ")' @@ -72,21 +81,24 @@ module swiftest_globals integer(I4B), parameter :: HYPERBOLA = 1 !! Symbolic names for orbit types - hyperbola !> Symbolic names for body/particle status codes: - integer(I4B), parameter :: ACTIVE = 0 - integer(I4B), parameter :: INACTIVE = 1 - integer(I4B), parameter :: DISCARDED_RMAX = -1 - integer(I4B), parameter :: DISCARDED_RMIN = -2 - integer(I4B), parameter :: DISCARDED_RMAXU = -3 - integer(I4B), parameter :: DISCARDED_PERI = -4 - integer(I4B), parameter :: DISCARDED_PLR = -5 - integer(I4B), parameter :: DISCARDED_PLQ = -6 - integer(I4B), parameter :: DISCARDED_DRIFTERR = -7 - integer(I4B), parameter :: MERGED = -8 - integer(I4B), parameter :: DISRUPTION = -9 - integer(I4B), parameter :: SUPERCATASTROPHIC = -10 - integer(I4B), parameter :: GRAZE_AND_MERGE = -11 - integer(I4B), parameter :: HIT_AND_RUN = -12 - integer(I4B), parameter :: COLLISION = -13 + integer(I4B), parameter :: ACTIVE = 0 + integer(I4B), parameter :: INACTIVE = 1 + integer(I4B), parameter :: DISCARDED_RMAX = -1 + integer(I4B), parameter :: DISCARDED_RMIN = -2 + integer(I4B), parameter :: DISCARDED_RMAXU = -3 + integer(I4B), parameter :: DISCARDED_PERI = -4 + integer(I4B), parameter :: DISCARDED_PLR = -5 + integer(I4B), parameter :: DISCARDED_PLQ = -6 + integer(I4B), parameter :: DISCARDED_DRIFTERR = -7 + integer(I4B), parameter :: MERGED = -8 + integer(I4B), parameter :: DISRUPTION = -9 + integer(I4B), parameter :: SUPERCATASTROPHIC = -10 + integer(I4B), parameter :: GRAZE_AND_MERGE = -11 + integer(I4B), parameter :: HIT_AND_RUN_DISRUPT = -12 + integer(I4B), parameter :: HIT_AND_RUN_PURE = -13 + integer(I4B), parameter :: COLLISION = -14 + integer(I4B), parameter :: NEW_PARTICLE = -15 + integer(I4B), parameter :: OLD_PARTICLE = -16 !>Symbolic names for collisional outcomes from collresolve_resolve: integer(I4B), parameter :: COLLRESOLVE_REGIME_MERGE = 1 @@ -104,24 +116,85 @@ module swiftest_globals character(*), dimension(2), parameter :: DUMP_CB_FILE = ['dump_cb1.bin', 'dump_cb2.bin' ] character(*), dimension(2), parameter :: DUMP_PL_FILE = ['dump_pl1.bin', 'dump_pl2.bin' ] character(*), dimension(2), parameter :: DUMP_TP_FILE = ['dump_tp1.bin', 'dump_tp2.bin' ] - character(*), dimension(2), parameter :: DUMP_PARAM_FILE = ['dump_param1.dat', 'dump_param2.dat'] + character(*), dimension(2), parameter :: DUMP_PARAM_FILE = ['dump_param1.in', 'dump_param2.in'] !> Default file names that can be changed by the user in the parameters file - character(*), parameter :: ENC_OUTFILE = 'encounter.out' - character(*), parameter :: DISCARD_FILE = 'discard.out' - character(*), parameter :: ENERGY_FILE = 'energy.out' - character(*), parameter :: CB_INFILE = 'cb.in' - character(*), parameter :: PL_INFILE = 'pl.in' - character(*), parameter :: TP_INFILE = 'tp.in' - character(*), parameter :: BIN_OUTFILE = 'bin.dat' - integer(I4B), parameter :: BINUNIT = 20 !! File unit number for the binary output file + character(*), parameter :: CB_INFILE = 'cb.in' + character(*), parameter :: PL_INFILE = 'pl.in' + character(*), parameter :: TP_INFILE = 'tp.in' + character(*), parameter :: BIN_OUTFILE = 'bin.dat' + integer(I4B), parameter :: BINUNIT = 20 !! File unit number for the binary output file + character(*), parameter :: PARTICLE_OUTFILE = 'particle.dat' + integer(I4B), parameter :: PARTICLEUNIT = 44 !! File unit number for the binary particle info output file !> Miscellaneous constants: integer(I4B), parameter :: NDIM = 3 !! Number of dimensions in our reality integer(I4B), parameter :: NDIM2 = 2 * NDIM !! 2x the number of dimensions real(DP), parameter :: VSMALL = 2 * epsilon(1._DP) !! Very small number used to prevent floating underflow - real(DP), parameter :: GC = 6.6743E-11_DP !! Universal gravitational constant in SI units - real(DP), parameter :: einsteinC = 299792458.0_DP !! Speed of light in SI units + !> NetCDF variable names and constants + character(*), parameter :: NETCDF_OUTFILE = 'bin.nc' !! Default output file name + character(*), parameter :: TIME_DIMNAME = "time" !! NetCDF name of the time dimension + character(*), parameter :: ID_DIMNAME = "id" !! NetCDF name of the particle id dimension + character(*), parameter :: STR_DIMNAME = "str" !! NetCDF name of the particle id dimension + character(*), parameter :: PTYPE_VARNAME = "particle_type" !! NetCDF name of the particle type variable + character(*), parameter :: NAME_VARNAME = "name" !! NetCDF name of the particle name variable + character(*), parameter :: NPL_VARNAME = "npl" !! NetCDF name of the number of active massive bodies variable + character(*), parameter :: NTP_VARNAME = "ntp" !! NetCDF name of the number of active test particles variable + character(*), parameter :: A_VARNAME = "a" !! NetCDF name of the semimajor axis variable + character(*), parameter :: E_VARNAME = "e" !! NetCDF name of the eccentricity variable + character(*), parameter :: INC_VARNAME = "inc" !! NetCDF name of the inclination variable + character(*), parameter :: CAPOM_VARNAME = "capom" !! NetCDF name of the long. asc. node variable + character(*), parameter :: OMEGA_VARNAME = "omega" !! NetCDF name of the arg. periapsis variable + character(*), parameter :: CAPM_VARNAME = "capm" !! NetCDF name of the mean anomaly variable + character(*), parameter :: XHX_VARNAME = "xhx" !! NetCDF name of the heliocentric position x variable + character(*), parameter :: XHY_VARNAME = "xhy" !! NetCDF name of the heliocentric position y variable + character(*), parameter :: XHZ_VARNAME = "xhz" !! NetCDF name of the heliocentric position z variable + character(*), parameter :: VHX_VARNAME = "vhx" !! NetCDF name of the heliocentric velocity x variable + character(*), parameter :: VHY_VARNAME = "vhy" !! NetCDF name of the heliocentric velocity y variable + character(*), parameter :: VHZ_VARNAME = "vhz" !! NetCDF name of the heliocentric velocity z variable + character(*), parameter :: GMASS_VARNAME = "Gmass" !! NetCDF name of the mass variable + character(*), parameter :: RHILL_VARNAME = "rhill" !! NetCDF name of the hill radius variable + character(*), parameter :: RADIUS_VARNAME = "radius" !! NetCDF name of the radius variable + character(*), parameter :: IP1_VARNAME = "Ip1" !! NetCDF name of the axis 1 principal moment of inertial variable + character(*), parameter :: IP2_VARNAME = "Ip2" !! NetCDF name of the axis 2 principal moment of inertial variable + character(*), parameter :: IP3_VARNAME = "Ip3" !! NetCDF name of the axis 3 principal moment of inertial variable + character(*), parameter :: ROTX_VARNAME = "rotx" !! NetCDF name of the rotation x variable + character(*), parameter :: ROTY_VARNAME = "roty" !! NetCDF name of the rotation y variable + character(*), parameter :: ROTZ_VARNAME = "rotz" !! NetCDF name of the rotation z variable + character(*), parameter :: K2_VARNAME = "k2" !! NetCDF name of the Love number variable + character(*), parameter :: Q_VARNAME = "Q" !! NetCDF name of the energy dissipation variable + character(*), parameter :: KE_ORB_VARNAME = "KE_orb" !! NetCDF name of the system orbital kinetic energy variable + character(*), parameter :: KE_SPIN_VARNAME = "KE_spin" !! NetCDF name of the system spin kinetic energy variable + character(*), parameter :: PE_VARNAME = "PE" !! NetCDF name of the system potential energy variable + character(*), parameter :: L_ORBX_VARNAME = "L_orbx" !! NetCDF name of the orbital angular momentum x variable + character(*), parameter :: L_ORBY_VARNAME = "L_orby" !! NetCDF name of the orbital angular momentum y variable + character(*), parameter :: L_ORBZ_VARNAME = "L_orbz" !! NetCDF name of the orbital angular momentum z variable + character(*), parameter :: L_SPINX_VARNAME = "L_spinx" !! NetCDF name of the spin angular momentum x variable + character(*), parameter :: L_SPINY_VARNAME = "L_spiny" !! NetCDF name of the spin angular momentum y variable + character(*), parameter :: L_SPINZ_VARNAME = "L_spinz" !! NetCDF name of the spin angular momentum z variable + character(*), parameter :: L_ESCAPEX_VARNAME = "L_escapex" !! NetCDF name of the escaped angular momentum x variable + character(*), parameter :: L_ESCAPEY_VARNAME = "L_escapey" !! NetCDF name of the escaped angular momentum y variable + character(*), parameter :: L_ESCAPEZ_VARNAME = "L_escapez" !! NetCDF name of the escaped angular momentum z variable + character(*), parameter :: ECOLLISIONS_VARNAME = "Ecollisions" !! NetCDF name of the escaped angular momentum y variable + character(*), parameter :: EUNTRACKED_VARNAME = "Euntracked" !! NetCDF name of the energy that is untracked due to loss (untracked potential energy due to mergers and body energy for escaped bodies) + character(*), parameter :: GMESCAPE_VARNAME = "GMescape" !! NetCDF name of the G*Mass of bodies that escape the system + character(*), parameter :: STATUS_VARNAME = "status" !! NetCDF name of the current status of the body variable (includes discard type) + character(*), parameter :: ORIGIN_TYPE_VARNAME = "origin_type" !! NetCDF name of the origin type variable (Initial Conditions, Disruption, etc.) + character(*), parameter :: ORIGIN_TIME_VARNAME = "origin_time" !! NetCDF name of the time of origin variable + character(*), parameter :: ORIGIN_XHX_VARNAME = "origin_xhx" !! NetCDF name of the heliocentric position of the body at the time of origin x variable + character(*), parameter :: ORIGIN_XHY_VARNAME = "origin_xhy" !! NetCDF name of the heliocentric position of the body at the time of origin y variable + character(*), parameter :: ORIGIN_XHZ_VARNAME = "origin_xhz" !! NetCDF name of the heliocentric position of the body at the time of origin z variable + character(*), parameter :: ORIGIN_VHX_VARNAME = "origin_vhx" !! NetCDF name of the heliocentric velocity of the body at the time of origin x variable + character(*), parameter :: ORIGIN_VHY_VARNAME = "origin_vhy" !! NetCDF name of the heliocentric velocity of the body at the time of origin y variable + character(*), parameter :: ORIGIN_VHZ_VARNAME = "origin_vhz" !! NetCDF name of the heliocentric velocity of the body at the time of origin z variable + character(*), parameter :: DISCARD_TIME_VARNAME = "discard_time" !! NetCDF name of the time of discard variable + character(*), parameter :: DISCARD_XHX_VARNAME = "discard_xhx" !! NetCDF name of the heliocentric position of the body at the time of discard x variable + character(*), parameter :: DISCARD_XHY_VARNAME = "discard_xhy" !! NetCDF name of the heliocentric position of the body at the time of discard y variable + character(*), parameter :: DISCARD_XHZ_VARNAME = "discard_xhz" !! NetCDF name of the heliocentric position of the body at the time of discard z variable + character(*), parameter :: DISCARD_VHX_VARNAME = "discard_vhx" !! NetCDF name of the heliocentric velocity of the body at the time of discard x variable + character(*), parameter :: DISCARD_VHY_VARNAME = "discard_vhy" !! NetCDF name of the heliocentric velocity of the body at the time of discard y variable + character(*), parameter :: DISCARD_VHZ_VARNAME = "discard_vhz" !! NetCDF name of the heliocentric velocity of the body at the time of discard z variable + character(*), parameter :: DISCARD_BODY_ID_VARNAME = "discard_body_id" !! NetCDF name of the id of the other body involved in the discard end module swiftest_globals diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 4628202f8..21986b920 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -1,12 +1,13 @@ module symba_classes !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott !! - !! Definition of classes and methods specific to the Democratic SyMBAcentric Method - !! Adapted from David E. Kaufmann's Swifter routine: helio.f90 + !! Definition of classes and methods specific to the SyMBA integrator + !! Adapted from David E. Kaufmann's Swifter routine: module_symba.f90 use swiftest_globals - use swiftest_classes, only : swiftest_parameters, swiftest_base, swiftest_encounter + use swiftest_classes, only : swiftest_parameters, swiftest_base, swiftest_encounter, swiftest_particle_info, netcdf_parameters use helio_classes, only : helio_cb, helio_pl, helio_tp, helio_nbody_system use rmvs_classes, only : rmvs_chk_ind + use fraggle_classes, only : fraggle_colliders, fraggle_fragments implicit none public @@ -14,32 +15,17 @@ module symba_classes integer(I4B), private, parameter :: NTENC = 3 real(DP), private, parameter :: RHSCALE = 6.5_DP real(DP), private, parameter :: RSHELL = 0.48075_DP - character(*), parameter :: PARTICLE_OUTFILE = 'particle.dat' - integer(I4B), parameter :: PARTICLEUNIT = 44 !! File unit number for the binary particle info output file type, extends(swiftest_parameters) :: symba_parameters - character(STRMAX) :: particle_out = PARTICLE_OUTFILE !! Name of output particle information file - real(DP) :: GMTINY = -1.0_DP !! Smallest mass that is fully gravitating - integer(I4B), dimension(:), allocatable :: seed !! Random seeds - logical :: lfragmentation = .false. !! Do fragmentation modeling instead of simple merger. + real(DP) :: GMTINY = -1.0_DP !! Smallest G*mass that is fully gravitating + real(DP) :: min_GMfrag = -1.0_DP !! Smallest G*mass that can be produced in a fragmentation event + integer(I4B), dimension(:), allocatable :: seed !! Random seeds + logical :: lfragmentation = .false. !! Do fragmentation modeling instead of simple merger. contains procedure :: reader => symba_io_param_reader procedure :: writer => symba_io_param_writer end type symba_parameters - !******************************************************************************************************************************** - ! symba_particle_info class definitions and method interfaces - !******************************************************************************************************************************* - !> Class definition for the particle origin information object. This object is used to track time, location, and collisional regime - !> of fragments produced in collisional events. - type :: symba_particle_info - sequence - character(len=32) :: origin_type !! String containing a description of the origin of the particle (e.g. Initial Conditions, Supercatastrophic, Disruption, etc.) - real(DP) :: origin_time !! The time of the particle's formation - real(DP), dimension(NDIM) :: origin_xh !! The heliocentric distance vector at the time of the particle's formation - real(DP), dimension(NDIM) :: origin_vh !! The heliocentric velocity vector at the time of the particle's formation - end type symba_particle_info - !******************************************************************************************************************************** ! symba_kinship class definitions and method interfaces !******************************************************************************************************************************* @@ -55,11 +41,10 @@ module symba_classes !******************************************************************************************************************************* !> SyMBA central body particle class type, extends(helio_cb) :: symba_cb - real(DP) :: M0 = 0.0_DP !! Initial mass of the central body - real(DP) :: dM = 0.0_DP !! Change in mass of the central body + real(DP) :: GM0 = 0.0_DP !! Initial G*mass of the central body + real(DP) :: dGM = 0.0_DP !! Change in G*mass of the central body real(DP) :: R0 = 0.0_DP !! Initial radius of the central body real(DP) :: dR = 0.0_DP !! Change in the radius of the central body - type(symba_particle_info) :: info contains end type symba_cb @@ -81,18 +66,20 @@ module symba_classes real(DP), dimension(:), allocatable :: peri !! perihelion distance real(DP), dimension(:), allocatable :: atp !! semimajor axis following perihelion passage type(symba_kinship), dimension(:), allocatable :: kin !! Array of merger relationship structures that can account for multiple pairwise mergers in a single step - type(symba_particle_info), dimension(:), allocatable :: info contains - procedure :: make_family => symba_collision_make_family_pl !! When a single body is involved in more than one collision in a single step, it becomes part of a family + procedure :: make_colliders => symba_collision_make_colliders_pl !! When a single body is involved in more than one collision in a single step, it becomes part of a family + procedure :: index => symba_util_index_eucl_plpl !! Sets up the (i, j) -> k indexing used for the single-loop blocking Euclidean distance matrix procedure :: discard => symba_discard_pl !! Process massive body discards procedure :: drift => symba_drift_pl !! Method for Danby drift in Democratic Heliocentric coordinates. Sets the mask to the current recursion level procedure :: encounter_check => symba_encounter_check_pl !! Checks if massive bodies are going through close encounters with each other + procedure :: accel_int => symba_kick_getacch_int_pl !! Compute direct cross (third) term heliocentric accelerations of massive bodiess, with no mutual interactions between bodies below GMTINY procedure :: accel => symba_kick_getacch_pl !! Compute heliocentric accelerations of massive bodies procedure :: setup => symba_setup_pl !! Constructor method - Allocates space for the input number of bodies procedure :: append => symba_util_append_pl !! Appends elements from one structure to another procedure :: fill => symba_util_fill_pl !! "Fills" bodies from one object into another depending on the results of a mask (uses the UNPACK intrinsic) procedure :: get_peri => symba_util_peri_pl !! Determine system pericenter passages for massive bodies procedure :: rearray => symba_util_rearray_pl !! Clean up the massive body structures to remove discarded bodies and add new bodies + procedure :: reset_kinship => symba_util_reset_kinship !! Resets the kinship status of bodies procedure :: resize => symba_util_resize_pl !! Checks the current size of a SyMBA massive body against the requested size and resizes it if it is too small. procedure :: sort => symba_util_sort_pl !! Sorts body arrays by a sortable componen procedure :: rearrange => symba_util_sort_rearrange_pl !! Rearranges the order of array elements of body based on an input index array. Used in sorting methods @@ -115,7 +102,6 @@ module symba_classes integer(I4B), dimension(:), allocatable :: nplenc !! number of encounters with planets this time step integer(I4B), dimension(:), allocatable :: levelg !! level at which this particle should be moved integer(I4B), dimension(:), allocatable :: levelm !! deepest encounter level achieved this time step - type(symba_particle_info), dimension(:), allocatable :: info contains procedure :: drift => symba_drift_tp !! Method for Danby drift in Democratic Heliocentric coordinates. Sets the mask to the current recursion level procedure :: encounter_check => symba_encounter_check_tp !! Checks if any test particles are undergoing a close encounter with a massive body @@ -129,88 +115,122 @@ module symba_classes procedure :: spill => symba_util_spill_tp !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) end type symba_tp + !******************************************************************************************************************************** + ! symba_encounter class definitions and method interfaces + !******************************************************************************************************************************* + !> SyMBA class for tracking close encounters in a step + type, extends(swiftest_encounter) :: symba_encounter + integer(I4B), dimension(:), allocatable :: level !! encounter recursion level + contains + procedure :: collision_check => symba_collision_check_encounter !! Checks if a test particle is going to collide with a massive body + procedure :: encounter_check => symba_encounter_check !! Checks if massive bodies are going through close encounters with each other + procedure :: kick => symba_kick_encounter !! Kick barycentric velocities of active test particles within SyMBA recursion + procedure :: setup => symba_setup_encounter !! A constructor that sets the number of encounters and allocates and initializes all arrays + procedure :: copy => symba_util_copy_encounter !! Copies elements from the source encounter list into self. + procedure :: spill => symba_util_spill_encounter !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) + procedure :: append => symba_util_append_encounter !! Appends elements from one structure to another + end type symba_encounter + !******************************************************************************************************************************** ! symba_pltpenc class definitions and method interfaces !******************************************************************************************************************************* !> SyMBA class for tracking pl-tp close encounters in a step - type, extends(swiftest_encounter) :: symba_pltpenc - integer(I4B), dimension(:), allocatable :: level !! encounter recursion level + type, extends(symba_encounter) :: symba_pltpenc contains - procedure :: collision_check => symba_collision_check_pltpenc !! Checks if a test particle is going to collide with a massive body - procedure :: encounter_check => symba_encounter_check_pltpenc !! Checks if massive bodies are going through close encounters with each other - procedure :: kick => symba_kick_pltpenc !! Kick barycentric velocities of active test particles within SyMBA recursion - procedure :: setup => symba_setup_pltpenc !! A constructor that sets the number of encounters and allocates and initializes all arrays - procedure :: spill => symba_util_spill_pltpenc !! "Spills" bodies from one object to another depending on the results of a mask (uses the PACK intrinsic) + procedure :: resolve_collision => symba_collision_resolve_pltpenc !! Process the pl-tp collision list, then modifiy the massive bodies based on the outcome of the c end type symba_pltpenc !******************************************************************************************************************************** ! symba_plplenc class definitions and method interfaces !******************************************************************************************************************************* !> SyMBA class for tracking pl-pl close encounters in a step - type, extends(symba_pltpenc) :: symba_plplenc + type, extends(symba_encounter) :: symba_plplenc contains - procedure :: scrub_non_collision => symba_collision_encounter_scrub !! Processes the pl-pl encounter list remove only those encounters that led to a collision - procedure :: resolve_fragmentations => symba_collision_resolve_fragmentations !! Process list of collisions, determine the collisional regime, and then create fragments - procedure :: resolve_mergers => symba_collision_resolve_mergers !! Process list of collisions and merge colliding bodies together + procedure :: extract_collisions => symba_collision_encounter_extract_collisions !! Processes the pl-pl encounter list remove only those encounters that led to a collision + procedure :: resolve_fragmentations => symba_collision_resolve_fragmentations !! Process list of collisions, determine the collisional regime, and then create fragments + procedure :: resolve_mergers => symba_collision_resolve_mergers !! Process list of collisions and merge colliding bodies together + procedure :: resolve_collision => symba_collision_resolve_plplenc !! Process the pl-pl collision list, then modifiy the massive bodies based on the outcome of the c end type symba_plplenc !******************************************************************************************************************************** ! symba_nbody_system class definitions and method interfaces !******************************************************************************************************************************** type, extends(helio_nbody_system) :: symba_nbody_system - class(symba_merger), allocatable :: pl_adds !! List of added bodies in mergers or collisions - class(symba_pltpenc), allocatable :: pltpenc_list !! List of massive body-test particle encounters in a single step - class(symba_plplenc), allocatable :: plplenc_list !! List of massive body-massive body encounters in a single step - integer(I4B) :: irec !! System recursion level + class(symba_merger), allocatable :: pl_adds !! List of added bodies in mergers or collisions + class(symba_pltpenc), allocatable :: pltpenc_list !! List of massive body-test particle encounters in a single step + class(symba_plplenc), allocatable :: plplenc_list !! List of massive body-massive body encounters in a single step + class(symba_plplenc), allocatable :: plplcollision_list !! List of massive body-massive body collisions in a single step + integer(I4B) :: irec !! System recursion level contains - procedure :: write_discard => symba_io_write_discard !! Write out information about discarded and merged planets and test particles in SyMBA - procedure :: initialize => symba_setup_initialize_system !! Performs SyMBA-specific initilization steps - procedure :: step => symba_step_system !! Advance the SyMBA nbody system forward in time by one step - procedure :: interp => symba_step_interp_system !! Perform an interpolation step on the SymBA nbody system - procedure :: set_recur_levels => symba_step_set_recur_levels_system !! Sets recursion levels of bodies and encounter lists to the current system level - procedure :: recursive_step => symba_step_recur_system !! Step interacting planets and active test particles ahead in democratic heliocentric coordinates at the current recursion level, if applicable, and descend to the next deeper level if necessary - procedure :: reset => symba_step_reset_system !! Resets pl, tp,and encounter structures at the start of a new step + procedure :: write_discard => symba_io_write_discard !! Write out information about discarded and merged planets and test particles in SyMBA + procedure :: initialize => symba_setup_initialize_system !! Performs SyMBA-specific initilization steps + procedure :: step => symba_step_system !! Advance the SyMBA nbody system forward in time by one step + procedure :: interp => symba_step_interp_system !! Perform an interpolation step on the SymBA nbody system + procedure :: set_recur_levels => symba_step_set_recur_levels_system !! Sets recursion levels of bodies and encounter lists to the current system level + procedure :: recursive_step => symba_step_recur_system !! Step interacting planets and active test particles ahead in democratic heliocentric coordinates at the current recursion level, if applicable, and descend to the next deeper level if necessary + procedure :: reset => symba_step_reset_system !! Resets pl, tp,and encounter structures at the start of a new step end type symba_nbody_system interface - module subroutine symba_collision_check_pltpenc(self, system, param, t, dt, irec) + module function symba_collision_check_encounter(self, system, param, t, dt, irec) result(lany_collision) use swiftest_classes, only : swiftest_parameters implicit none - class(symba_pltpenc), 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 - end subroutine symba_collision_check_pltpenc + 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 + logical :: lany_collision !! Returns true if cany pair of encounters resulted in a collision n + end function symba_collision_check_encounter - module subroutine symba_collision_encounter_scrub(self, system, param) + module subroutine symba_collision_encounter_extract_collisions(self, system, param) implicit none 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 parameterss + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine - module subroutine symba_collision_make_family_pl(self,idx) + module subroutine symba_collision_make_colliders_pl(self,idx) implicit none 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 - end subroutine symba_collision_make_family_pl + end subroutine symba_collision_make_colliders_pl module subroutine symba_collision_resolve_fragmentations(self, system, param) implicit none 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(in) :: param !! Current run configuration parameters with SyMBA additions + class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions end subroutine symba_collision_resolve_fragmentations module subroutine symba_collision_resolve_mergers(self, system, param) implicit none 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(in) :: param !! Current run configuration parameters with SyMBA additions + class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions end subroutine symba_collision_resolve_mergers + module subroutine symba_collision_resolve_plplenc(self, system, param, t, dt, irec) + implicit none + 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 + end subroutine symba_collision_resolve_plplenc + + module subroutine symba_collision_resolve_pltpenc(self, system, param, t, dt, irec) + implicit none + class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-tp 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 + end subroutine symba_collision_resolve_pltpenc + module subroutine symba_discard_pl(self, system, param) use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters implicit none @@ -254,14 +274,14 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_pl - module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lany_encounter) + module function symba_encounter_check(self, system, dt, irec) result(lany_encounter) implicit none - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list object + class(symba_encounter), intent(inout) :: self !! SyMBA pl-pl encounter list object class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object real(DP), intent(in) :: dt !! step size integer(I4B), intent(in) :: irec !! Current recursion level logical :: lany_encounter !! Returns true if there is at least one close encounter - end function symba_encounter_check_pltpenc + end function symba_encounter_check module function symba_encounter_check_tp(self, system, dt, irec) result(lany_encounter) implicit none @@ -272,68 +292,43 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter end function symba_encounter_check_tp - module function symba_fragmentation_casedisruption(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) result(status) - implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass_res !! The distribution of fragment mass obtained by the regime calculation - real(DP), intent(inout) :: Qloss !! Energy lost during collisionn - integer(I4B) :: status !! Status flag assigned to this outcome - end function symba_fragmentation_casedisruption + module function symba_collision_casedisruption(system, param, colliders, frag) result(status) + use fraggle_classes, only : fraggle_colliders, fraggle_fragments + implicit none + 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) :: status !! Status flag assigned to this outcome + end function symba_collision_casedisruption - module function symba_fragmentation_casehitandrun(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) result(status) - implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass_res !! The distribution of fragment mass obtained by the regime calculation - real(DP), intent(inout) :: Qloss !! Energy lost during collision - integer(I4B) :: status !! Status flag assigned to this outcome - end function symba_fragmentation_casehitandrun - - module function symba_fragmentation_casemerge(system, param, family, x, v, mass, radius, L_spin, Ip) result(status) - implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(in) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(in) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collisio - integer(I4B) :: status !! Status flag assigned to this outcome - end function symba_fragmentation_casemerge - - module function symba_fragmentation_casesupercatastrophic(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) result(status) - implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass_res !! The distribution of fragment mass obtained by the regime calculation - real(DP), intent(inout) :: Qloss !! Energy lost during collision - integer(I4B) :: status !! Status flag assigned to this outcome - end function symba_fragmentation_casesupercatastrophic - - module subroutine symba_io_write_discard(self, param) + module function symba_collision_casehitandrun(system, param, colliders, frag) result(status) + use fraggle_classes, only : fraggle_colliders, fraggle_fragments + implicit none + 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) :: status !! Status flag assigned to this outcome + end function symba_collision_casehitandrun + + module function symba_collision_casemerge(system, param, colliders, frag) result(status) + use fraggle_classes, only : fraggle_colliders, fraggle_fragments + implicit none + 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) :: status !! Status flag assigned to this outcome + end function symba_collision_casemerge + + module subroutine symba_util_index_eucl_plpl(self, param) use swiftest_classes, only : swiftest_parameters implicit none - class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - end subroutine symba_io_write_discard + class(symba_pl), intent(inout) :: self !! SyMBA massive body object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine symba_util_index_eucl_plpl - module subroutine symba_io_dump_particle_info(system, param, lincludecb, tpidx, plidx) - implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA extensions - logical, optional, intent(in) :: lincludecb !! Set to true to include the central body (default is false) - integer(I4B), dimension(:), optional, intent(in) :: tpidx !! Array of test particle indices to append to the particle file - integer(I4B), dimension(:), optional, intent(in) :: plidx !! Array of massive body indices to append to the particle file - end subroutine symba_io_dump_particle_info - module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, iomsg) implicit none class(symba_parameters), intent(inout) :: self !! Current run configuration parameters with SyMBA additionss @@ -356,11 +351,17 @@ module subroutine symba_io_param_writer(self, unit, iotype, v_list, iostat, ioms character(len=*), intent(inout) :: iomsg !! Message to pass if iostat /= 0 end subroutine symba_io_param_writer - module subroutine symba_io_read_particle(system, param) + module subroutine symba_io_write_discard(self, param) + use swiftest_classes, only : swiftest_parameters + implicit none + class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + end subroutine symba_io_write_discard + + module subroutine symba_kick_getacch_int_pl(self) implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system file - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA extensions - end subroutine symba_io_read_particle + class(symba_pl), intent(inout) :: self + end subroutine symba_kick_getacch_int_pl module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_nbody_system, swiftest_parameters @@ -382,20 +383,14 @@ module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step end subroutine symba_kick_getacch_tp - module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) + module subroutine symba_kick_encounter(self, system, dt, irec, sgn) implicit none - class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object + class(symba_encounter), intent(in) :: self !! SyMBA pl-tp encounter list object class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object real(DP), intent(in) :: dt !! step size integer(I4B), intent(in) :: irec !! Current recursion level integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration - end subroutine symba_kick_pltpenc - - module subroutine symba_setup_initialize_particle_info(system, param) - implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA extensions - end subroutine symba_setup_initialize_particle_info + end subroutine symba_kick_encounter module subroutine symba_setup_initialize_system(self, param) use swiftest_classes, only : swiftest_parameters @@ -420,11 +415,11 @@ module subroutine symba_setup_pl(self, n, param) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters end subroutine symba_setup_pl - module subroutine symba_setup_pltpenc(self,n) + module subroutine symba_setup_encounter(self,n) implicit none - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-tp encounter structure + class(symba_encounter), intent(inout) :: self !! SyMBA pl-tp encounter structure integer(I4B), intent(in) :: n !! Number of encounters to allocate space for - end subroutine symba_setup_pltpenc + end subroutine symba_setup_encounter module subroutine symba_setup_tp(self, n, param) use swiftest_classes, only : swiftest_parameters @@ -463,25 +458,18 @@ module recursive subroutine symba_step_recur_system(self, param, t, ireci) implicit none class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - real(DP), value :: t - integer(I4B), value :: ireci !! input recursion level + real(DP), intent(in) :: t + integer(I4B), intent(in) :: ireci !! input recursion level end subroutine symba_step_recur_system - module subroutine symba_step_reset_system(self) + module subroutine symba_step_reset_system(self, param) implicit none - class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object + class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object + class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions end subroutine symba_step_reset_system end interface interface util_append - module subroutine symba_util_append_arr_info(arr, source, nold, nsrc, lsource_mask) - implicit none - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Destination array - type(symba_particle_info), dimension(:), allocatable, intent(in) :: source !! Array to append - integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively - logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to - end subroutine symba_util_append_arr_info - module subroutine symba_util_append_arr_kin(arr, source, nold, nsrc, lsource_mask) implicit none type(symba_kinship), dimension(:), allocatable, intent(inout) :: arr !! Destination array @@ -492,6 +480,13 @@ end subroutine symba_util_append_arr_kin end interface interface + module subroutine symba_util_append_encounter(self, source, lsource_mask) + implicit none + class(symba_encounter), intent(inout) :: self !! SyMBA encounter list object + class(swiftest_encounter), intent(in) :: source !! Source object to append + logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + end subroutine symba_util_append_encounter + module subroutine symba_util_append_merger(self, source, lsource_mask) use swiftest_classes, only : swiftest_body implicit none @@ -515,16 +510,16 @@ module subroutine symba_util_append_tp(self, source, lsource_mask) class(swiftest_body), intent(in) :: source !! Source object to append logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to end subroutine symba_util_append_tp - end interface - interface util_fill - module subroutine symba_util_fill_arr_info(keeps, inserts, lfill_list) + module subroutine symba_util_copy_encounter(self, source) + use swiftest_classes, only : swiftest_encounter implicit none - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep - type(symba_particle_info), dimension(:), allocatable, intent(in) :: inserts !! Array of values to insert into keep - logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps - end subroutine symba_util_fill_arr_info + class(symba_encounter), intent(inout) :: self !! Encounter list + class(swiftest_encounter), intent(in) :: source !! Source object to copy into + end subroutine symba_util_copy_encounter + end interface + interface util_fill module subroutine symba_util_fill_arr_kin(keeps, inserts, lfill_list) implicit none type(symba_kinship), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep @@ -562,17 +557,19 @@ module subroutine symba_util_rearray_pl(self, system, param) implicit none class(symba_pl), intent(inout) :: self !! SyMBA massive body object class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions + class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions end subroutine symba_util_rearray_pl - end interface - interface util_resize - module subroutine symba_util_resize_arr_info(arr, nnew) + module subroutine symba_util_reset_kinship(self, idx) implicit none - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Array to resize - integer(I4B), intent(in) :: nnew !! New size - end subroutine symba_util_resize_arr_info + class(symba_pl), intent(inout) :: self !! SyMBA massive body object + integer(I4B), dimension(:), intent(in) :: idx !! Index array of bodies to reset + integer(I4B) :: i, j + end subroutine symba_util_reset_kinship + + end interface + interface util_resize module subroutine symba_util_resize_arr_kin(arr, nnew) implicit none type(symba_kinship), dimension(:), allocatable, intent(inout) :: arr !! Array to resize @@ -612,7 +609,18 @@ module subroutine symba_util_sort_tp(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order end subroutine symba_util_sort_tp + end interface + + interface util_sort_rearrange + module subroutine symba_util_sort_rearrange_arr_kin(arr, ind, n) + implicit none + type(symba_kinship), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + end subroutine symba_util_sort_rearrange_arr_kin + end interface util_sort_rearrange + interface module subroutine symba_util_sort_rearrange_pl(self, ind) implicit none class(symba_pl), intent(inout) :: self !! SyMBA massive body object @@ -627,14 +635,6 @@ end subroutine symba_util_sort_rearrange_tp end interface interface util_spill - module subroutine symba_util_spill_arr_info(keeps, discards, lspill_list, ldestructive) - implicit none - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: discards !! Array of discards - logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discardss - logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not - end subroutine symba_util_spill_arr_info - module subroutine symba_util_spill_arr_kin(keeps, discards, lspill_list, ldestructive) implicit none type(symba_kinship), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep @@ -654,14 +654,14 @@ module subroutine symba_util_spill_pl(self, discards, lspill_list, ldestructive) logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not end subroutine symba_util_spill_pl - module subroutine symba_util_spill_pltpenc(self, discards, lspill_list, ldestructive) + module subroutine symba_util_spill_encounter(self, discards, lspill_list, ldestructive) use swiftest_classes, only : swiftest_encounter implicit none - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-tp encounter list + class(symba_encounter), intent(inout) :: self !! SyMBA pl-tp encounter list class(swiftest_encounter), intent(inout) :: discards !! Discarded object logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter body by removing the discard list - end subroutine symba_util_spill_pltpenc + end subroutine symba_util_spill_encounter module subroutine symba_util_spill_tp(self, discards, lspill_list, ldestructive) use swiftest_classes, only : swiftest_body diff --git a/src/modules/walltime_classes.f90 b/src/modules/walltime_classes.f90 new file mode 100644 index 000000000..6425b5b5f --- /dev/null +++ b/src/modules/walltime_classes.f90 @@ -0,0 +1,119 @@ +module walltime_classes + !! author: David A. Minton + !! + !! Classes and methods used to compute elasped wall time + use swiftest_globals + implicit none + public + + type :: walltimer + integer(I8B) :: count_rate !! Rate at wich the clock ticks + integer(I8B) :: count_max !! Maximum value of the clock ticker + integer(I8B) :: count_start_main !! Value of the clock ticker at when the timer is first called + integer(I8B) :: count_start_step !! Value of the clock ticker at the start of a timed step + integer(I8B) :: count_finish_step !! Value of the clock ticker at the end of a timed step + logical :: lmain_is_started = .false. !! Logical flag indicating whether or not the main timer has been reset or not + contains + procedure :: reset => walltime_reset !! Resets the clock ticker, settting main_start to the current ticker value + procedure :: start => walltime_start !! Starts the timer, setting step_start to the current ticker value + procedure :: finish => walltime_finish !! Ends the timer, setting step_finish to the current ticker value and printing the elapsed time information to the terminal + end type + + interface + module subroutine walltime_finish(self, nsubsteps, message) + implicit none + class(walltimer), intent(inout) :: self !! Walltimer object + integer(I4B), intent(in) :: nsubsteps !! Number of substeps used to compute the time per step + character(len=*), intent(in) :: message !! Message to prepend to the wall time terminal output + end subroutine walltime_finish + + module subroutine walltime_reset(self) + implicit none + class(walltimer), intent(inout) :: self !! Walltimer object + end subroutine walltime_reset + + module subroutine walltime_start(self) + implicit none + class(walltimer), intent(inout) :: self !! Walltimer object + end subroutine walltime_start + end interface + + contains + + module subroutine walltime_finish(self, nsubsteps, message) + !! author: David A. Minton + !! + !! Ends the timer, setting step_finish to the current ticker value and printing the elapsed time information to the terminal + use swiftest_globals + implicit none + ! Arguments + class(walltimer), intent(inout) :: self !! Walltimer object + integer(I4B), intent(in) :: nsubsteps !! Number of substeps used to compute the time per step + character(len=*), intent(in) :: message !! Message to prepend to the wall time terminal output + ! Internals + character(len=*), parameter :: walltimefmt = '" Wall time (s): ", es12.5, "; Wall time/step in this interval (s): ", es12.5' + character(len=STRMAX) :: fmt + integer(I8B) :: count_delta_step, count_delta_main + real(DP) :: wall_main !! Value of total elapsed time at the end of a timed step + real(DP) :: wall_step !! Value of elapsed time since the start of a timed step + real(DP) :: wall_per_substep !! Value of time per substep + + if (.not.self%lmain_is_started) then + write(*,*) "Wall timer error: The step finish time cannot be calculated because the timer is not started!" + return + end if + + call system_clock(self%count_finish_step) + + count_delta_step = self%count_finish_step - self%count_start_step + count_delta_main = self%count_finish_step - self%count_start_main + wall_step = count_delta_step / (self%count_rate * 1.0_DP) + wall_main = count_delta_main / (self%count_rate * 1.0_DP) + wall_per_substep = wall_step / nsubsteps + + fmt = '("' // adjustl(message) // '",' // walltimefmt // ')' + write(*,trim(adjustl(fmt))) wall_main, wall_per_substep + + call self%start() + + return + end subroutine walltime_finish + + module subroutine walltime_reset(self) + !! author: David A. Minton + !! + !! Resets the clock ticker, settting main_start to the current ticker value + use swiftest_globals + implicit none + ! Arguments + class(walltimer), intent(inout) :: self + + call system_clock(self%count_start_main, self%count_rate, self%count_max) + self%lmain_is_started = .true. + call self%start() + + return + end subroutine walltime_reset + + + module subroutine walltime_start(self) + !! author: David A. Minton + !! + !! Starts the timer, setting step_start to the current ticker value + use swiftest_globals + implicit none + ! Arguments + class(walltimer), intent(inout) :: self + + if (.not.self%lmain_is_started) then + write(*,*) "Wall timer error: Cannot start the step time until reset is called at least once!" + return + end if + + call system_clock(self%count_start_step) + + return + end subroutine walltime_start + + +end module walltime_classes \ No newline at end of file diff --git a/src/modules/whm_classes.f90 b/src/modules/whm_classes.f90 index 6d5b26394..9675f289d 100644 --- a/src/modules/whm_classes.f90 +++ b/src/modules/whm_classes.f90 @@ -73,8 +73,8 @@ module whm_classes type, extends(swiftest_nbody_system) :: whm_nbody_system contains !> Replace the abstract procedures with concrete ones - procedure :: initialize => whm_setup_initialize_system !! Performs WHM-specific initilization steps, like calculating the Jacobi masses - procedure :: step => whm_step_system !! Advance the WHM nbody system forward in time by one step + procedure :: initialize => whm_setup_initialize_system ! Performs WHM-specific initilization steps, like calculating the Jacobi masses + procedure :: step => whm_step_system !! Advance the WHM nbody system forward in time by one step end type whm_nbody_system interface @@ -108,6 +108,13 @@ module subroutine whm_drift_pl(self, system, param, dt) real(DP), intent(in) :: dt !! Stepsize end subroutine whm_drift_pl + module subroutine whm_util_index_eucl_plpl(self, param) + use swiftest_classes, only : swiftest_parameters + implicit none + class(whm_pl), intent(inout) :: self !! WHM massive body object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + end subroutine whm_util_index_eucl_plpl + !> Get heliocentric accelration of massive bodies module subroutine whm_kick_getacch_pl(self, system, param, t, lbeg) use swiftest_classes, only : swiftest_cb, swiftest_parameters diff --git a/src/netcdf/netcdf.f90 b/src/netcdf/netcdf.f90 new file mode 100644 index 000000000..80bcdcb5d --- /dev/null +++ b/src/netcdf/netcdf.f90 @@ -0,0 +1,500 @@ +submodule (swiftest_classes) s_netcdf + use swiftest + use netcdf +contains + + subroutine check(status) + !! author: Carlisle A. Wishard, Dana Singh, and David A. Minton + !! + !! Checks the status of all NetCDF operations to catch errors + implicit none + ! Arguments + integer, intent (in) :: status + + if(status /= nf90_noerr) then + write(*,*) trim(nf90_strerror(status)) + call util_exit(FAILURE) + end if + + return + end subroutine check + + module subroutine netcdf_close(self, param) + !! author: Carlisle A. Wishard, Dana Singh, and David A. Minton + !! + !! Closes a NetCDF file + implicit none + ! Arguments + class(netcdf_parameters), intent(inout) :: self !! Parameters used to identify a particular NetCDF dataset + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + + call check( nf90_close(self%ncid) ) + + return + end subroutine netcdf_close + + + module subroutine netcdf_initialize_output(self, param) + !! author: Carlisle A. Wishard, Dana Singh, and David A. Minton + !! + !! Initialize a NetCDF file system and defines all variables. + implicit none + ! Arguments + class(netcdf_parameters), intent(inout) :: self !! Parameters used to identify a particular NetCDF dataset + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + logical :: fileExists + integer(I4B) :: old_mode + + !! Create the new output file, deleting any previously existing output file of the same name + call check( nf90_create(param%outfile, NF90_NETCDF4, self%ncid) ) + call check( nf90_set_fill(self%ncid, nf90_nofill, old_mode) ) + + ! Define the NetCDF dimensions with particle name as the record dimension + call check( nf90_def_dim(self%ncid, ID_DIMNAME, NF90_UNLIMITED, self%id_dimid) ) ! 'x' dimension + call check( nf90_def_dim(self%ncid, TIME_DIMNAME, NF90_UNLIMITED, self%time_dimid) ) ! 'y' dimension + call check( nf90_def_dim(self%ncid, STR_DIMNAME, NAMELEN, self%str_dimid) ) ! Dimension for string variables (aka character arrays) + + select case (param%out_type) + case(NETCDF_FLOAT_TYPE) + self%out_type = NF90_FLOAT + case(NETCDF_DOUBLE_TYPE) + self%out_type = NF90_DOUBLE + end select + + !! Define the variables + call check( nf90_def_var(self%ncid, TIME_DIMNAME, self%out_type, self%time_dimid, self%time_varid) ) + call check( nf90_def_var(self%ncid, ID_DIMNAME, NF90_INT, self%id_dimid, self%id_varid) ) + call check( nf90_def_var(self%ncid, NPL_VARNAME, NF90_INT, self%time_dimid, self%npl_varid) ) + call check( nf90_def_var(self%ncid, NTP_VARNAME, NF90_INT, self%time_dimid, self%ntp_varid) ) + call check( nf90_def_var(self%ncid, NAME_VARNAME, NF90_CHAR, [self%str_dimid, self%id_dimid], self%name_varid) ) + call check( nf90_def_var(self%ncid, PTYPE_VARNAME, NF90_CHAR, [self%str_dimid, self%id_dimid], self%ptype_varid) ) + if ((param%out_form == XV) .or. (param%out_form == XVEL)) then + call check( nf90_def_var(self%ncid, XHX_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%xhx_varid) ) + call check( nf90_def_var(self%ncid, XHY_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%xhy_varid) ) + call check( nf90_def_var(self%ncid, XHZ_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%xhz_varid) ) + call check( nf90_def_var(self%ncid, VHX_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%vhx_varid) ) + call check( nf90_def_var(self%ncid, VHY_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%vhy_varid) ) + call check( nf90_def_var(self%ncid, VHZ_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%vhz_varid) ) + end if + + if ((param%out_form == EL) .or. (param%out_form == XVEL)) then + call check( nf90_def_var(self%ncid, A_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%a_varid) ) + call check( nf90_def_var(self%ncid, E_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%e_varid) ) + call check( nf90_def_var(self%ncid, INC_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%inc_varid) ) + call check( nf90_def_var(self%ncid, CAPOM_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%capom_varid) ) + call check( nf90_def_var(self%ncid, OMEGA_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%omega_varid) ) + call check( nf90_def_var(self%ncid, CAPM_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%capm_varid) ) + end if + + call check( nf90_def_var(self%ncid, GMASS_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%Gmass_varid) ) + if (param%lrhill_present) call check( nf90_def_var(self%ncid, RHILL_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%rhill_varid) ) + if (param%lclose) call check( nf90_def_var(self%ncid, RADIUS_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%radius_varid) ) + if (param%lrotation) then + call check( nf90_def_var(self%ncid, IP1_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%Ip1_varid) ) + call check( nf90_def_var(self%ncid, IP2_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%Ip2_varid) ) + call check( nf90_def_var(self%ncid, IP3_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%Ip3_varid) ) + call check( nf90_def_var(self%ncid, ROTX_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%rotx_varid) ) + call check( nf90_def_var(self%ncid, ROTY_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%roty_varid) ) + call check( nf90_def_var(self%ncid, ROTZ_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%rotz_varid) ) + end if + if (param%ltides) then + call check( nf90_def_var(self%ncid, K2_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%k2_varid) ) + call check( nf90_def_var(self%ncid, Q_VARNAME, self%out_type, [self%id_dimid, self%time_dimid], self%Q_varid) ) + end if + if (param%lenergy) then + call check( nf90_def_var(self%ncid, KE_ORB_VARNAME, self%out_type, self%time_dimid, self%KE_orb_varid) ) + call check( nf90_def_var(self%ncid, KE_SPIN_VARNAME, self%out_type, self%time_dimid, self%KE_spin_varid) ) + call check( nf90_def_var(self%ncid, PE_VARNAME, self%out_type, self%time_dimid, self%PE_varid) ) + call check( nf90_def_var(self%ncid, L_ORBX_VARNAME, self%out_type, self%time_dimid, self%L_orbx_varid) ) + call check( nf90_def_var(self%ncid, L_ORBY_VARNAME, self%out_type, self%time_dimid, self%L_orby_varid) ) + call check( nf90_def_var(self%ncid, L_ORBZ_VARNAME, self%out_type, self%time_dimid, self%L_orbz_varid) ) + call check( nf90_def_var(self%ncid, L_SPINX_VARNAME, self%out_type, self%time_dimid, self%L_spinx_varid) ) + call check( nf90_def_var(self%ncid, L_SPINY_VARNAME, self%out_type, self%time_dimid, self%L_spiny_varid) ) + call check( nf90_def_var(self%ncid, L_SPINZ_VARNAME, self%out_type, self%time_dimid, self%L_spinz_varid) ) + call check( nf90_def_var(self%ncid, L_ESCAPEX_VARNAME, self%out_type, self%time_dimid, self%L_escapex_varid) ) + call check( nf90_def_var(self%ncid, L_ESCAPEY_VARNAME, self%out_type, self%time_dimid, self%L_escapey_varid) ) + call check( nf90_def_var(self%ncid, L_ESCAPEZ_VARNAME, self%out_type, self%time_dimid, self%L_escapez_varid) ) + call check( nf90_def_var(self%ncid, ECOLLISIONS_VARNAME, self%out_type, self%time_dimid, self%Ecollisions_varid) ) + call check( nf90_def_var(self%ncid, EUNTRACKED_VARNAME, self%out_type, self%time_dimid, self%Euntracked_varid) ) + call check( nf90_def_var(self%ncid, GMESCAPE_VARNAME, self%out_type, self%time_dimid, self%GMescape_varid) ) + end if + + call check( nf90_def_var(self%ncid, STATUS_VARNAME, NF90_CHAR, [self%str_dimid, self%id_dimid], self%status_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_TYPE_VARNAME, NF90_CHAR, [self%str_dimid, self%id_dimid], self%origin_type_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_TIME_VARNAME, self%out_type, self%id_dimid, self%origin_time_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_XHX_VARNAME, self%out_type, self%id_dimid, self%origin_xhx_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_XHY_VARNAME, self%out_type, self%id_dimid, self%origin_xhy_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_XHZ_VARNAME, self%out_type, self%id_dimid, self%origin_xhz_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_VHX_VARNAME, self%out_type, self%id_dimid, self%origin_vhx_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_VHY_VARNAME, self%out_type, self%id_dimid, self%origin_vhy_varid) ) + call check( nf90_def_var(self%ncid, ORIGIN_VHZ_VARNAME, self%out_type, self%id_dimid, self%origin_vhz_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_TIME_VARNAME, self%out_type, self%id_dimid, self%discard_time_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_XHX_VARNAME, self%out_type, self%id_dimid, self%discard_xhx_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_XHY_VARNAME, self%out_type, self%id_dimid, self%discard_xhy_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_XHZ_VARNAME, self%out_type, self%id_dimid, self%discard_xhz_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_VHX_VARNAME, self%out_type, self%id_dimid, self%discard_vhx_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_VHY_VARNAME, self%out_type, self%id_dimid, self%discard_vhy_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_VHZ_VARNAME, self%out_type, self%id_dimid, self%discard_vhz_varid) ) + call check( nf90_def_var(self%ncid, DISCARD_BODY_ID_VARNAME, NF90_INT, self%id_dimid, self%discard_body_id_varid) ) + + return + end subroutine netcdf_initialize_output + + + module subroutine netcdf_open(self, param) + !! author: Carlisle A. Wishard, Dana Singh, and David A. Minton + !! + !! Opens a NetCDF file and does the variable inquiries to activate variable ids + implicit none + ! Arguments + class(netcdf_parameters), intent(inout) :: self !! Parameters used to identify a particular NetCDF dataset + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + integer(I4B) :: old_mode + + call check( nf90_open(param%outfile, nf90_write, self%ncid) ) + call check( nf90_set_fill(self%ncid, nf90_nofill, old_mode) ) + + call check( nf90_inq_varid(self%ncid, TIME_DIMNAME, self%time_varid)) + call check( nf90_inq_varid(self%ncid, ID_DIMNAME, self%id_varid)) + call check( nf90_inq_varid(self%ncid, NPL_VARNAME, self%npl_varid)) + call check( nf90_inq_varid(self%ncid, NTP_VARNAME, self%ntp_varid)) + call check( nf90_inq_varid(self%ncid, NAME_VARNAME, self%name_varid)) + call check( nf90_inq_varid(self%ncid, PTYPE_VARNAME, self%ptype_varid)) + + if ((param%out_form == XV) .or. (param%out_form == XVEL)) then + call check( nf90_inq_varid(self%ncid, XHX_VARNAME, self%xhx_varid)) + call check( nf90_inq_varid(self%ncid, XHY_VARNAME, self%xhy_varid)) + call check( nf90_inq_varid(self%ncid, XHZ_VARNAME, self%xhz_varid)) + call check( nf90_inq_varid(self%ncid, VHX_VARNAME, self%vhx_varid)) + call check( nf90_inq_varid(self%ncid, VHY_VARNAME, self%vhy_varid)) + call check( nf90_inq_varid(self%ncid, VHZ_VARNAME, self%vhz_varid)) + end if + if ((param%out_form == EL) .or. (param%out_form == XVEL)) then + call check( nf90_inq_varid(self%ncid, A_VARNAME, self%a_varid)) + call check( nf90_inq_varid(self%ncid, E_VARNAME, self%e_varid)) + call check( nf90_inq_varid(self%ncid, INC_VARNAME, self%inc_varid)) + call check( nf90_inq_varid(self%ncid, CAPOM_VARNAME, self%capom_varid)) + call check( nf90_inq_varid(self%ncid, OMEGA_VARNAME, self%omega_varid)) + call check( nf90_inq_varid(self%ncid, CAPM_VARNAME, self%capm_varid)) + end if + call check( nf90_inq_varid(self%ncid, GMASS_VARNAME, self%Gmass_varid)) + if (param%lclose) call check( nf90_inq_varid(self%ncid, RADIUS_VARNAME, self%radius_varid)) + if (param%lrhill_present) call check( nf90_inq_varid(self%ncid, RHILL_VARNAME, self%rhill_varid)) + + if (param%lrotation) then + call check( nf90_inq_varid(self%ncid, IP1_VARNAME, self%Ip1_varid)) + call check( nf90_inq_varid(self%ncid, IP2_VARNAME, self%Ip2_varid)) + call check( nf90_inq_varid(self%ncid, IP3_VARNAME, self%Ip3_varid)) + call check( nf90_inq_varid(self%ncid, ROTX_VARNAME, self%rotx_varid)) + call check( nf90_inq_varid(self%ncid, ROTY_VARNAME, self%roty_varid)) + call check( nf90_inq_varid(self%ncid, ROTZ_VARNAME, self%rotz_varid)) + end if + + if (param%ltides) then + call check( nf90_inq_varid(self%ncid, K2_VARNAME, self%k2_varid)) + call check( nf90_inq_varid(self%ncid, Q_VARNAME, self%Q_varid)) + end if + + if (param%lenergy) then + call check( nf90_inq_varid(self%ncid, KE_ORB_VARNAME, self%KE_orb_varid) ) + call check( nf90_inq_varid(self%ncid, KE_SPIN_VARNAME, self%KE_spin_varid) ) + call check( nf90_inq_varid(self%ncid, PE_VARNAME, self%PE_varid) ) + call check( nf90_inq_varid(self%ncid, L_ORBX_VARNAME, self%L_orbx_varid) ) + call check( nf90_inq_varid(self%ncid, L_ORBY_VARNAME, self%L_orby_varid) ) + call check( nf90_inq_varid(self%ncid, L_ORBZ_VARNAME, self%L_orbz_varid) ) + call check( nf90_inq_varid(self%ncid, L_SPINX_VARNAME, self%L_spinx_varid) ) + call check( nf90_inq_varid(self%ncid, L_SPINY_VARNAME, self%L_spiny_varid) ) + call check( nf90_inq_varid(self%ncid, L_SPINZ_VARNAME, self%L_spinz_varid) ) + call check( nf90_inq_varid(self%ncid, L_ESCAPEX_VARNAME, self%L_escapex_varid) ) + call check( nf90_inq_varid(self%ncid, L_ESCAPEY_VARNAME, self%L_escapey_varid) ) + call check( nf90_inq_varid(self%ncid, L_ESCAPEZ_VARNAME, self%L_escapez_varid) ) + call check( nf90_inq_varid(self%ncid, ECOLLISIONS_VARNAME, self%Ecollisions_varid) ) + call check( nf90_inq_varid(self%ncid, EUNTRACKED_VARNAME, self%Euntracked_varid) ) + call check( nf90_inq_varid(self%ncid, GMESCAPE_VARNAME, self%GMescape_varid) ) + end if + + call check( nf90_inq_varid(self%ncid, STATUS_VARNAME, self%status_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_TYPE_VARNAME, self%origin_type_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_TIME_VARNAME, self%origin_time_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_XHX_VARNAME, self%origin_xhx_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_XHY_VARNAME, self%origin_xhy_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_XHZ_VARNAME, self%origin_xhz_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_VHX_VARNAME, self%origin_vhx_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_VHY_VARNAME, self%origin_vhy_varid)) + call check( nf90_inq_varid(self%ncid, ORIGIN_VHZ_VARNAME, self%origin_vhz_varid)) + + call check( nf90_inq_varid(self%ncid, DISCARD_TIME_VARNAME, self%discard_time_varid)) + call check( nf90_inq_varid(self%ncid, DISCARD_XHX_VARNAME, self%discard_xhx_varid)) + call check( nf90_inq_varid(self%ncid, DISCARD_XHY_VARNAME, self%discard_xhy_varid)) + call check( nf90_inq_varid(self%ncid, DISCARD_XHZ_VARNAME, self%discard_xhz_varid)) + call check( nf90_inq_varid(self%ncid, DISCARD_VHX_VARNAME, self%discard_vhx_varid)) + call check( nf90_inq_varid(self%ncid, DISCARD_VHY_VARNAME, self%discard_vhy_varid)) + call check( nf90_inq_varid(self%ncid, DISCARD_VHZ_VARNAME, self%discard_vhz_varid)) + call check( nf90_inq_varid(self%ncid, DISCARD_BODY_ID_VARNAME, self%discard_body_id_varid)) + + return + end subroutine netcdf_open + + + module subroutine netcdf_write_frame_base(self, iu, param) + !! author: Carlisle A. Wishard, Dana Singh, and David A. Minton + !! + !! Write a frame of output of either test particle or massive body data to the binary output file + !! Note: If outputting to orbital elements, but sure that the conversion is done prior to calling this method + implicit none + ! Arguments + class(swiftest_base), intent(in) :: self !! Swiftest particle object + class(netcdf_parameters), intent(inout) :: iu !! Parameters used to identify a particular NetCDF dataset + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + integer(I4B) :: i, j, tslot, strlen, idslot + integer(I4B), dimension(:), allocatable :: ind + character(len=:), allocatable :: charstring + + call self%write_particle_info(iu) + + tslot = int(param%ioutput, kind=I4B) + 1 + + select type(self) + class is (swiftest_body) + associate(n => self%nbody) + if (n == 0) return + + allocate(ind(n)) + call util_sort(self%id(1:n), ind) + + do i = 1, n + j = ind(i) + idslot = self%id(j) + 1 + + if ((param%out_form == XV) .or. (param%out_form == XVEL)) then + call check( nf90_put_var(iu%ncid, iu%xhx_varid, self%xh(1, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%xhy_varid, self%xh(2, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%xhz_varid, self%xh(3, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%vhx_varid, self%vh(1, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%vhy_varid, self%vh(2, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%vhz_varid, self%vh(3, j), start=[idslot, tslot]) ) + end if + + if ((param%out_form == EL) .or. (param%out_form == XVEL)) then + call check( nf90_put_var(iu%ncid, iu%a_varid, self%a(j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%e_varid, self%e(j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%inc_varid, self%inc(j) * RAD2DEG, start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%capom_varid, self%capom(j) * RAD2DEG, start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%omega_varid, self%omega(j) * RAD2DEG, start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%capm_varid, self%capm(j) * RAD2DEG, start=[idslot, tslot]) ) + end if + + select type(self) + class is (swiftest_pl) ! Additional output if the passed polymorphic object is a massive body + call check( nf90_put_var(iu%ncid, iu%Gmass_varid, self%Gmass(j), start=[idslot, tslot]) ) + if (param%lrhill_present) then + call check( nf90_put_var(iu%ncid, iu%rhill_varid, self%rhill(j), start=[idslot, tslot]) ) + end if + if (param%lclose) then + call check( nf90_put_var(iu%ncid, iu%radius_varid, self%radius(j), start=[idslot, tslot]) ) + end if + if (param%lrotation) then + call check( nf90_put_var(iu%ncid, iu%Ip1_varid, self%Ip(1, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Ip2_varid, self%Ip(2, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Ip3_varid, self%Ip(3, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%rotx_varid, self%rot(1, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%roty_varid, self%rot(2, j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%rotz_varid, self%rot(3, j), start=[idslot, tslot]) ) + end if + if (param%ltides) then + call check( nf90_put_var(iu%ncid, iu%k2_varid, self%k2(j), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Q_varid, self%Q(j), start=[idslot, tslot]) ) + end if + + end select + end do + end associate + class is (swiftest_cb) + idslot = self%id + 1 + call check( nf90_put_var(iu%ncid, iu%id_varid, self%id, start=[idslot]) ) + + call check( nf90_put_var(iu%ncid, iu%Gmass_varid, self%Gmass, start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%radius_varid, self%radius, start=[idslot, tslot]) ) + if (param%lrotation) then + call check( nf90_put_var(iu%ncid, iu%Ip1_varid, self%Ip(1), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Ip2_varid, self%Ip(2), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Ip3_varid, self%Ip(3), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%rotx_varid, self%rot(1), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%roty_varid, self%rot(2), start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%rotz_varid, self%rot(3), start=[idslot, tslot]) ) + end if + if (param%ltides) then + call check( nf90_put_var(iu%ncid, iu%k2_varid, self%k2, start=[idslot, tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Q_varid, self%Q, start=[idslot, tslot]) ) + end if + + end select + + return + end subroutine netcdf_write_frame_base + + + module subroutine netcdf_write_particle_info_base(self, iu) + !! author: Carlisle A. Wishard, Dana Singh, and David A. Minton + !! + !! Write all current particle to file + implicit none + ! Arguments + class(swiftest_base), intent(in) :: self !! Swiftest particle object + class(netcdf_parameters), intent(inout) :: iu !! Parameters used to identify a particular NetCDF dataset + ! Internals + integer(I4B) :: i, j, tslot, strlen, idslot + integer(I4B), dimension(:), allocatable :: ind + character(len=:), allocatable :: charstring + character(len=NAMELEN) :: emptystr, lenstr + character(len=:), allocatable :: fmtlabel + + ! This string of spaces of length NAMELEN is used to clear out any old data left behind inside the string variables + write(lenstr, *) NAMELEN + fmtlabel = "(A" // trim(adjustl(lenstr)) // ")" + write(emptystr, fmtlabel) " " + + select type(self) + class is (swiftest_body) + associate(n => self%nbody) + if (n == 0) return + allocate(ind(n)) + call util_sort(self%id(1:n), ind) + + do i = 1, n + j = ind(i) + idslot = self%id(j) + 1 + call check( nf90_put_var(iu%ncid, iu%id_varid, self%id(j), start=[idslot]) ) + + charstring = trim(adjustl(self%info(j)%name)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%name_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%name_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + charstring = trim(adjustl(self%info(j)%particle_type)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%ptype_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%ptype_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + charstring = trim(adjustl(self%info(j)%status)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%status_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%status_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + charstring = trim(adjustl(self%info(j)%origin_type)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%origin_type_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%origin_type_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + call check( nf90_put_var(iu%ncid, iu%origin_time_varid, self%info(j)%origin_time, start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_xhx_varid, self%info(j)%origin_xh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_xhy_varid, self%info(j)%origin_xh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_xhz_varid, self%info(j)%origin_xh(3), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_vhx_varid, self%info(j)%origin_vh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_vhy_varid, self%info(j)%origin_vh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_vhz_varid, self%info(j)%origin_vh(3), start=[idslot]) ) + + call check( nf90_put_var(iu%ncid, iu%discard_time_varid, self%info(j)%discard_time, start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_xhx_varid, self%info(j)%discard_xh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_xhy_varid, self%info(j)%discard_xh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_xhz_varid, self%info(j)%discard_xh(3), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_vhx_varid, self%info(j)%discard_vh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_vhy_varid, self%info(j)%discard_vh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_vhz_varid, self%info(j)%discard_vh(3), start=[idslot]) ) + end do + end associate + + class is (swiftest_cb) + idslot = self%id + 1 + call check( nf90_put_var(iu%ncid, iu%id_varid, self%id, start=[idslot]) ) + + charstring = trim(adjustl(self%info%name)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%name_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%name_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + charstring = trim(adjustl(self%info%particle_type)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%ptype_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%ptype_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + charstring = trim(adjustl(self%info%status)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%status_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%status_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + charstring = trim(adjustl(self%info%origin_type)) + strlen = len(charstring) + call check( nf90_put_var(iu%ncid, iu%origin_type_varid, emptystr, start=[1, idslot], count=[NAMELEN, 1]) ) + call check( nf90_put_var(iu%ncid, iu%origin_type_varid, charstring, start=[1, idslot], count=[strlen, 1]) ) + + call check( nf90_put_var(iu%ncid, iu%origin_time_varid, self%info%origin_time, start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_xhx_varid, self%info%origin_xh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_xhy_varid, self%info%origin_xh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_xhz_varid, self%info%origin_xh(3), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_vhx_varid, self%info%origin_vh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_vhy_varid, self%info%origin_vh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%origin_vhz_varid, self%info%origin_vh(3), start=[idslot]) ) + + call check( nf90_put_var(iu%ncid, iu%discard_time_varid, self%info%discard_time, start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_xhx_varid, self%info%discard_xh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_xhy_varid, self%info%discard_xh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_xhz_varid, self%info%discard_xh(3), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_vhx_varid, self%info%discard_vh(1), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_vhy_varid, self%info%discard_vh(2), start=[idslot]) ) + call check( nf90_put_var(iu%ncid, iu%discard_vhz_varid, self%info%discard_vh(3), start=[idslot]) ) + end select + + return + end subroutine netcdf_write_particle_info_base + + + module subroutine netcdf_write_hdr_system(self, iu, param) + !! author: David A. Minton + !! + !! Writes header information (variables that change with time, but not particle id). + !! This subroutine significantly improves the output over the original binary file, allowing us to track energy, momentum, and other quantities that + !! previously were handled as separate output files. + implicit none + ! Arguments + class(swiftest_nbody_system), intent(in) :: self !! Swiftest nbody system object + class(netcdf_parameters), intent(inout) :: iu !! Parameters used to for writing a NetCDF dataset to file + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + integer(I4B) :: tslot, old_mode + + tslot = int(param%ioutput, kind=I4B) + 1 + + call check( nf90_open(param%outfile, nf90_write, iu%ncid) ) + call check( nf90_set_fill(iu%ncid, nf90_nofill, old_mode) ) + + call check( nf90_put_var(iu%ncid, iu%time_varid, param%t, start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%npl_varid, self%pl%nbody, start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%ntp_varid, self%tp%nbody, start=[tslot]) ) + + if (param%lenergy) then + call check( nf90_put_var(iu%ncid, iu%KE_orb_varid, self%ke_orbit, start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%KE_spin_varid, self%ke_spin, start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%PE_varid, self%pe, start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_orbx_varid, self%Lorbit(1), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_orby_varid, self%Lorbit(2), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_orbz_varid, self%Lorbit(3), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_spinx_varid, self%Lspin(1), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_spiny_varid, self%Lspin(2), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_spinz_varid, self%Lspin(3), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_escapex_varid, param%Lescape(1), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_escapey_varid, param%Lescape(2), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%L_escapez_varid, param%Lescape(3), start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Ecollisions_varid, param%Ecollisions, start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%Euntracked_varid, param%Euntracked, start=[tslot]) ) + call check( nf90_put_var(iu%ncid, iu%GMescape_varid, param%GMescape, start=[tslot]) ) + end if + + return + end subroutine netcdf_write_hdr_system + + +end submodule s_netcdf \ No newline at end of file diff --git a/src/obl/obl.f90 b/src/obl/obl.f90 index 035a54b18..977fc620c 100644 --- a/src/obl/obl.f90 +++ b/src/obl/obl.f90 @@ -106,7 +106,8 @@ module subroutine obl_acc_tp(self, system) end subroutine obl_acc_tp - module subroutine obl_pot(npl, Mcb, Mpl, j2rp2, j4rp4, xh, irh, oblpot) + + module subroutine obl_pot_system(self) !! author: David A. Minton !! !! Compute the contribution to the total gravitational potential due solely to the oblateness of the central body @@ -118,33 +119,59 @@ module subroutine obl_pot(npl, Mcb, Mpl, j2rp2, j4rp4, xh, irh, oblpot) !! Adapted from Hal Levison's Swift routine obl_pot.f implicit none ! Arguments - integer(I4B), intent(in) :: npl - real(DP), intent(in) :: Mcb - real(DP), dimension(:), intent(in) :: Mpl - real(DP), intent(in) :: j2rp2, j4rp4 - real(DP), dimension(:), intent(in) :: irh - real(DP), dimension(:, :), intent(in) :: xh - real(DP), intent(out) :: oblpot + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object + ! Internals + integer(I4B) :: i + real(DP), dimension(self%pl%nbody) :: oblpot_arr + + associate(system => self, pl => self%pl, npl => self%pl%nbody, cb => self%cb) + if (.not. any(pl%lmask(1:npl))) return + do concurrent (i = 1:npl, pl%lmask(i)) + oblpot_arr(i) = obl_pot_one(npl, cb%Gmass, pl%Gmass(i), cb%j2rp2, cb%j4rp4, pl%xh(3,i), 1.0_DP / norm2(pl%xh(:,i))) + end do + system%oblpot = sum(oblpot_arr, pl%lmask(1:npl)) + end associate + + return + end subroutine obl_pot_system + + + elemental function obl_pot_one(npl, GMcb, GMpl, j2rp2, j4rp4, zh, irh) result(oblpot) + !! author: David A. Minton + !! + !! Compute the contribution to the total gravitational potential due solely to the oblateness of the central body from a single massive body + !! Returned value does not include monopole term or terms higher than J4 + !! + !! Reference: MacMillan, W. D. 1958. The Theory of the Potential, (Dover Publications), 363. + !! + !! Adapted from David E. Kaufmann's Swifter routine: obl_pot.f90 + !! Adapted from Hal Levison's Swift routine obl_pot.f + implicit none + ! Arguments + integer(I4B), intent(in) :: npl !! Number of massive bodies + real(DP), intent(in) :: GMcb !! G*mass of the central body + real(DP), intent(in) :: GMpl !! G*mass of the massive body + real(DP), intent(in) :: j2rp2 !! J_2 / R**2 of the central body + real(DP), intent(in) :: j4rp4 !! J_2 / R**4 of the central body + real(DP), intent(in) :: zh !! z-component of the heliocentric distance vector of the massive body + real(DP), intent(in) :: irh !! Inverse of the heliocentric distance magnitude of the massive body + ! Result + real(DP) :: oblpot !! Gravitational potential ! Internals integer(I4B) :: i real(DP) :: rinv2, t0, t1, t2, t3, p2, p4, mu - oblpot = 0.0_DP - mu = Mcb - do i = 1, npl - rinv2 = irh(i)**2 - t0 = mu * Mpl(i) * rinv2 * irh(i) - t1 = j2rp2 - t2 = xh(3, i) * xh(3, i) * rinv2 - t3 = j4rp4 * rinv2 - p2 = 0.5_DP * (3 * t2 - 1.0_DP) - p4 = 0.125_DP * ((35 * t2 - 30.0_DP) * t2 + 3.0_DP) - oblpot = oblpot + t0 * (t1 * p2 + t3 * p4) - end do + rinv2 = irh**2 + t0 = GMcb * GMpl * rinv2 * irh + t1 = j2rp2 + t2 = zh**2 * rinv2 + t3 = j4rp4 * rinv2 + p2 = 0.5_DP * (3 * t2 - 1.0_DP) + p4 = 0.125_DP * ((35 * t2 - 30.0_DP) * t2 + 3.0_DP) + oblpot = t0 * (t1 * p2 + t3 * p4) return - end subroutine obl_pot - + end function obl_pot_one end submodule s_obl diff --git a/src/orbel/orbel.f90 b/src/orbel/orbel.f90 index f1ab88825..620e0f839 100644 --- a/src/orbel/orbel.f90 +++ b/src/orbel/orbel.f90 @@ -5,7 +5,8 @@ module subroutine orbel_el2xv_vec(self, cb) !! author: David A. Minton !! - !! A wrapper method that converts all of the cartesian position and velocity vectors of a Swiftest body object to orbital elements. + !! A wrapper method that converts all of the orbital element vectors into cartesian position and velocity vectors for a Swiftest body object. + !! This method deallocates all of the orbital elements after it is finished. implicit none ! Arguments class(swiftest_body), intent(inout) :: self !! Swiftest body object @@ -16,10 +17,12 @@ module subroutine orbel_el2xv_vec(self, cb) if (self%nbody == 0) return call self%set_mu(cb) - do i = 1, self%nbody + do concurrent (i = 1:self%nbody) call orbel_el2xv(self%mu(i), self%a(i), self%e(i), self%inc(i), self%capom(i), & self%omega(i), self%capm(i), self%xh(:, i), self%vh(:, i)) end do + deallocate(self%a, self%e, self%inc, self%capom, self%omega, self%capm) + return end subroutine orbel_el2xv_vec @@ -288,7 +291,7 @@ real(DP) pure function orbel_flon(e,icapn) end if return - end function orbel_flon + end function orbel_flon !********************************************************************** @@ -358,7 +361,7 @@ real(DP) pure function orbel_fget(e,capn) !write(*,*) 'fget : returning without complete convergence' return - end function orbel_fget + end function orbel_fget !********************************************************************** @@ -878,19 +881,20 @@ module subroutine orbel_xv2el_vec(self, cb) if (self%nbody == 0) return call self%set_mu(cb) - if (.not.allocated(self%a)) allocate(self%a(self%nbody)) - if (.not.allocated(self%e)) allocate(self%e(self%nbody)) - if (.not.allocated(self%inc)) allocate(self%inc(self%nbody)) - if (.not.allocated(self%capom)) allocate(self%capom(self%nbody)) - if (.not.allocated(self%omega)) allocate(self%omega(self%nbody)) - if (.not.allocated(self%capm)) allocate(self%capm(self%nbody)) - do i = 1, self%nbody + if (allocated(self%a)) deallocate(self%a); allocate(self%a(self%nbody)) + if (allocated(self%e)) deallocate(self%e); allocate(self%e(self%nbody)) + if (allocated(self%inc)) deallocate(self%inc); allocate(self%inc(self%nbody)) + if (allocated(self%capom)) deallocate(self%capom); allocate(self%capom(self%nbody)) + if (allocated(self%omega)) deallocate(self%omega); allocate(self%omega(self%nbody)) + if (allocated(self%capm)) deallocate(self%capm); allocate(self%capm(self%nbody)) + do concurrent (i = 1:self%nbody) call orbel_xv2el(self%mu(i), self%xh(:, i), self%vh(:, i), self%a(i), self%e(i), self%inc(i), & self%capom(i), self%omega(i), self%capm(i)) end do end subroutine orbel_xv2el_vec - pure subroutine orbel_xv2el(mu, x, v, a, e, inc, capom, omega, capm) + + module pure subroutine orbel_xv2el(mu, x, v, a, e, inc, capom, omega, capm) !! author: David A. Minton !! !! Compute osculating orbital elements from relative Cartesian position and velocity @@ -906,9 +910,17 @@ pure subroutine orbel_xv2el(mu, x, v, a, e, inc, capom, omega, capm) !! Adapted from David E. Kaufmann's Swifter routine: orbel_xv2el.f90 !! Adapted from Martin Duncan's Swift routine orbel_xv2el.f implicit none - real(DP), intent(in) :: mu - real(DP), dimension(:), intent(in) :: x, v - real(DP), intent(out) :: a, e, inc, capom, omega, capm + ! Arguments + real(DP), intent(in) :: mu !! Gravitational constant + real(DP), dimension(:), intent(in) :: x !! Position vector + real(DP), dimension(:), intent(in) :: v !! Velocity vector + real(DP), intent(out) :: a !! semimajor axis + real(DP), intent(out) :: e !! eccentricity + real(DP), intent(out) :: inc !! inclination + real(DP), intent(out) :: capom !! longitude of ascending node + real(DP), intent(out) :: omega !! argument of periapsis + real(DP), intent(out) :: capm !! mean anomaly + ! Internals integer(I4B) :: iorbit_type real(DP) :: r, v2, h2, h, rdotv, energy, fac, u, w, cw, sw, face, cape, tmpf, capf real(DP), dimension(NDIM) :: hvec @@ -919,12 +931,12 @@ pure subroutine orbel_xv2el(mu, x, v, a, e, inc, capom, omega, capm) capom = 0.0_DP omega = 0.0_DP capm = 0.0_DP - r = sqrt(dot_product(x(:), x(:))) + r = .mag. x(:) v2 = dot_product(v(:), v(:)) hvec = x(:) .cross. v(:) h2 = dot_product(hvec(:), hvec(:)) - h = sqrt(h2) - if (h2 == 0.0_DP) return + h = .mag. hvec(:) + if (h2 <= 10 * tiny(0.0_DP)) return rdotv = dot_product(x(:), v(:)) energy = 0.5_DP * v2 - mu / r fac = hvec(3) / h diff --git a/src/python_bindings/orbel.f90 b/src/python_bindings/orbel.f90 new file mode 100644 index 000000000..59f24e8b2 --- /dev/null +++ b/src/python_bindings/orbel.f90 @@ -0,0 +1,32 @@ +module orbel + use swiftest + private + public :: xv2el +contains + pure elemental subroutine xv2el(mu, px, py, pz, vx, vy, vz, a, e, inc, capom, omega, capm) + use swiftest_classes, only : orbel_xv2el + implicit none + ! Arguments + real*8, intent(in) :: mu, px, py, pz, vx, vy, vz + real*8, intent(out) :: a, e, inc, capom, omega, capm + !$f2py intent(in) mu + !$f2py intent(in) px + !$f2py intent(in) py + !$f2py intent(in) pz + !$f2py intent(in) vx + !$f2py intent(in) vy + !$f2py intent(in) vz + !$f2py intent(out) a + !$f2py intent(out) e + !$f2py intent(out) inc + !$f2py intent(out) capom + !$f2py intent(out) omega + !$f2py intent(out) capm + ! Internals + real*8, dimension(3) :: x, v + x = [px, py, pz] + v = [vx, vy, vz] + call orbel_xv2el(mu, x(:), v(:), a, e, inc, capom, omega, capm) + return + end subroutine xv2el +end module orbel \ No newline at end of file diff --git a/src/rmvs/rmvs_discard.f90 b/src/rmvs/rmvs_discard.f90 index bcdb9f902..b179178dc 100644 --- a/src/rmvs/rmvs_discard.f90 +++ b/src/rmvs/rmvs_discard.f90 @@ -16,6 +16,7 @@ module subroutine rmvs_discard_tp(self, system, param) class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals integer(I4B) :: i + character(len=STRMAX) :: timestr, idstri, idstrj if (self%nbody == 0) return @@ -25,9 +26,15 @@ module subroutine rmvs_discard_tp(self, system, param) if ((tp%status(i) == ACTIVE) .and. (tp%lperi(i))) then if ((tp%peri(i) < pl%radius(iplperP))) then tp%status(i) = DISCARDED_PLQ - write(*, *) "Particle ",tp%id(i)," q with respect to Planet ",pl%id(iplperP)," is too small at t = ",t + write(idstri, *) tp%id(i) + write(idstrj, *) pl%id(iplperP) + write(timestr, *) t + write(*, *) "Particle " // trim(adjustl(tp%info(i)%name)) // " (" // trim(adjustl(idstri)) & + // ") q with respect to massive body " // trim(adjustl(pl%info(iplperP)%name)) // " (" // trim(adjustl(idstrj)) & + // ") is too small at t = " // trim(adjustl(timestr)) tp%ldiscard(i) = .true. tp%lmask(i) = .false. + call tp%info(i)%set_value(status="DISCARDED_PLQ", discard_time=t, discard_xh=tp%xh(:,i), discard_vh=tp%vh(:,i), discard_body_id=pl%id(iplperP)) end if end if end associate diff --git a/src/rmvs/rmvs_encounter_check.f90 b/src/rmvs/rmvs_encounter_check.f90 index e4c441472..4cb119e48 100644 --- a/src/rmvs/rmvs_encounter_check.f90 +++ b/src/rmvs/rmvs_encounter_check.f90 @@ -23,13 +23,14 @@ module function rmvs_encounter_check_tp(self, system, dt) result(lencounter) real(DP), dimension(system%pl%nbody) :: r2crit logical :: lflag + lencounter = .false. if (self%nbody == 0) return select type(pl => system%pl) class is (rmvs_pl) associate(tp => self, ntp => self%nbody, npl => pl%nbody, rts => system%rts) - r2crit(:) = (rts * pl%rhill(:))**2 - tp%plencP(:) = 0 + r2crit(1:npl) = (rts * pl%rhill(1:npl))**2 + tp%plencP(1:ntp) = 0 do j = 1, npl do i = 1, ntp if ((.not.tp%lmask(i)).or.(tp%plencP(i) /= 0)) cycle @@ -41,9 +42,9 @@ module function rmvs_encounter_check_tp(self, system, dt) result(lencounter) lflag = rmvs_chk_ind(r2, v2, vdotr, dt, r2crit(j)) if (lflag) tp%plencP(i) = j end do - pl%nenc(j) = count(tp%plencP(:) == j) + pl%nenc(j) = count(tp%plencP(1:ntp) == j) end do - lencounter = any(pl%nenc(:) > 0) + lencounter = any(pl%nenc(1:npl) > 0) end associate end select return diff --git a/src/rmvs/rmvs_io.f90 b/src/rmvs/rmvs_io.f90 new file mode 100644 index 000000000..b85ce2202 --- /dev/null +++ b/src/rmvs/rmvs_io.f90 @@ -0,0 +1,48 @@ +submodule (rmvs_classes) s_rmvs_io + use swiftest +contains + + module subroutine rmvs_io_write_encounter(t, id1, id2, Gmass1, Gmass2, radius1, radius2, & + xh1, xh2, vh1, vh2, enc_out) + !! author: David A. Minton + !! + !! Write close encounter data from RMVS to output binary files + !! There is no direct file output from this subroutine + !! + !! Adapted from David E. Kaufmann's Swifter routine: io_write_encounter.f90 + !! Adapted from Hal Levison's Swift routine io_write_encounter.f + implicit none + ! Arguments + integer(I4B), intent(in) :: id1, id2 + real(DP), intent(in) :: t, Gmass1, Gmass2, radius1, radius2 + real(DP), dimension(:), intent(in) :: xh1, xh2, vh1, vh2 + character(*), intent(in) :: enc_out + ! Internals + logical , save :: lfirst = .true. + integer(I4B), parameter :: LUN = 30 + integer(I4B) :: ierr + + if (enc_out == "") return + + open(unit = LUN, file = enc_out, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', iostat = ierr) + if ((ierr /= 0) .and. lfirst) then + open(unit = LUN, file = enc_out, status = 'NEW', form = 'UNFORMATTED', iostat = ierr) + end if + if (ierr /= 0) then + write(*, *) "Swiftest Error:" + write(*, *) " Unable to open binary encounter file" + call util_exit(FAILURE) + end if + lfirst = .false. + call io_write_frame_encounter(LUN, t, id1, id2, Gmass1, Gmass2, radius1, radius2, xh1, xh2, vh1, vh2) + close(unit = LUN, iostat = ierr) + if (ierr /= 0) then + write(*, *) "Swiftest Error:" + write(*, *) " Unable to close binary encounter file" + call util_exit(FAILURE) + end if + + return + end subroutine rmvs_io_write_encounter + +end submodule s_rmvs_io \ No newline at end of file diff --git a/src/rmvs/rmvs_kick.f90 b/src/rmvs/rmvs_kick.f90 index 018ada8f3..5d9514763 100644 --- a/src/rmvs/rmvs_kick.f90 +++ b/src/rmvs/rmvs_kick.f90 @@ -61,7 +61,9 @@ module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) end if ! Swap the planetocentric and heliocentric position vectors and central body masses - tp%xh(:,:) = tp%xheliocentric(:,:) + do concurrent(i = 1:ntp, tp%lmask(i)) + tp%xh(:, i) = tp%xheliocentric(:, i) + end do GMcb_original = cb%Gmass cb%Gmass = tp%cb_heliocentric%Gmass @@ -71,7 +73,7 @@ module subroutine rmvs_kick_getacch_tp(self, system, param, t, lbeg) if (param%lgr) call tp%accel_gr(param) ! Put everything back the way we found it - tp%xh(:,:) = xh_original(:,:) + call move_alloc(xh_original, tp%xh) cb%Gmass = GMcb_original end associate diff --git a/src/rmvs/rmvs_setup.f90 b/src/rmvs/rmvs_setup.f90 index 92043e0fe..e59202cd9 100644 --- a/src/rmvs/rmvs_setup.f90 +++ b/src/rmvs/rmvs_setup.f90 @@ -19,7 +19,13 @@ module subroutine rmvs_setup_pl(self, n, param) !> Call allocation method for parent class associate(pl => self) call whm_setup_pl(pl, n, param) - if (n <= 0) return + if (n < 0) return + + if (allocated(pl%outer)) deallocate(pl%outer) + if (allocated(pl%inner)) deallocate(pl%inner) + if (allocated(pl%nenc)) deallocate(pl%nenc) + + if (n == 0) return allocate(pl%outer(0:NTENC)) allocate(pl%inner(0:NTPHENC)) @@ -145,12 +151,14 @@ module subroutine rmvs_setup_tp(self, n, param) !> Call allocation method for parent class. In this case, whm does not have its own setup method, so we use the base method for swiftest_tp call setup_tp(self, n, param) - if (n <= 0) return + if (n < 0) return if (allocated(self%lperi)) deallocate(self%lperi) if (allocated(self%plperP)) deallocate(self%plperP) if (allocated(self%plencP)) deallocate(self%plencP) + if (n == 0) return + allocate(self%lperi(n)) allocate(self%plperP(n)) allocate(self%plencP(n)) diff --git a/src/rmvs/rmvs_step.f90 b/src/rmvs/rmvs_step.f90 index 0385aeecc..b8cfcd688 100644 --- a/src/rmvs/rmvs_step.f90 +++ b/src/rmvs/rmvs_step.f90 @@ -21,6 +21,8 @@ module subroutine rmvs_step_system(self, param, t, dt) real(DP), dimension(:,:), allocatable :: xbeg, xend, vbeg integer(I4B) :: i + if (self%tp%nbody == 0) call whm_step_system(self, param, t, dt) + select type(cb => self%cb) class is (rmvs_cb) select type(pl => self%pl) @@ -36,11 +38,11 @@ module subroutine rmvs_step_system(self, param, t, dt) lencounter = tp%encounter_check(system, dt) if (lencounter) then lfirstpl = pl%lfirst - pl%outer(0)%x(:,:) = xbeg(:,:) - pl%outer(0)%v(:,:) = vbeg(:,:) + pl%outer(0)%x(:, 1:npl) = xbeg(:, 1:npl) + pl%outer(0)%v(:, 1:npl) = vbeg(:, 1:npl) call pl%step(system, param, t, dt) - pl%outer(NTENC)%x(:,:) = pl%xh(:,:) - pl%outer(NTENC)%v(:,:) = pl%vh(:,:) + pl%outer(NTENC)%x(:, 1:npl) = pl%xh(:, 1:npl) + pl%outer(NTENC)%v(:, 1:npl) = pl%vh(:, 1:npl) call rmvs_interp_out(cb, pl, dt) call rmvs_step_out(cb, pl, tp, system, param, t, dt) tp%lmask(1:ntp) = .not. tp%lmask(1:ntp) @@ -89,10 +91,10 @@ subroutine rmvs_interp_out(cb, pl, dt) allocate(GMcb(npl)) allocate(dto(npl)) allocate(iflag(npl)) - dto(:) = dt / dntenc - GMcb(:) = cb%Gmass - xtmp(:,:) = pl%outer(0)%x(:, :) - vtmp(:,:) = pl%outer(0)%v(:, :) + dto(1:npl) = dt / dntenc + GMcb(1:npl) = cb%Gmass + xtmp(:,1:npl) = pl%outer(0)%x(:, 1:npl) + vtmp(:,1:npl) = pl%outer(0)%v(:, 1:npl) do outer_index = 1, NTENC - 1 call drift_one(GMcb(1:npl), xtmp(1,1:npl), xtmp(2,1:npl), xtmp(3,1:npl), & vtmp(1,1:npl), vtmp(2,1:npl), vtmp(3,1:npl), & @@ -110,11 +112,11 @@ subroutine rmvs_interp_out(cb, pl, dt) end do end if frac = 1.0_DP - outer_index / dntenc - pl%outer(outer_index)%x(:, :) = frac * xtmp(:,:) - pl%outer(outer_index)%v(:, :) = frac * vtmp(:,:) + pl%outer(outer_index)%x(:, 1:npl) = frac * xtmp(:, 1:npl) + pl%outer(outer_index)%v(:, 1:npl) = frac * vtmp(:, 1:npl) end do - xtmp(:,:) = pl%outer(NTENC)%x(:, :) - vtmp(:,:) = pl%outer(NTENC)%v(:, :) + xtmp(:, 1:npl) = pl%outer(NTENC)%x(:, 1:npl) + vtmp(:, 1:npl) = pl%outer(NTENC)%v(:, 1:npl) do outer_index = NTENC - 1, 1, -1 call drift_one(GMcb(1:npl), xtmp(1,1:npl), xtmp(2,1:npl), xtmp(3,1:npl), & vtmp(1,1:npl), vtmp(2,1:npl), vtmp(3,1:npl), & @@ -132,8 +134,8 @@ subroutine rmvs_interp_out(cb, pl, dt) end do end if frac = outer_index / dntenc - pl%outer(outer_index)%x(:, :) = pl%outer(outer_index)%x(:, :) + frac * xtmp(:,:) - pl%outer(outer_index)%v(:, :) = pl%outer(outer_index)%v(:, :) + frac * vtmp(:,:) + pl%outer(outer_index)%x(:, 1:npl) = pl%outer(outer_index)%x(:, 1:npl) + frac * xtmp(:, 1:npl) + pl%outer(outer_index)%v(:, 1:npl) = pl%outer(outer_index)%v(:, 1:npl) + frac * vtmp(:, 1:npl) end do end associate @@ -165,16 +167,16 @@ subroutine rmvs_step_out(cb, pl, tp, system, param, t, dt) associate(npl => pl%nbody, ntp => tp%nbody) dto = dt / NTENC - where(tp%plencP(:) == 0) - tp%lmask(:) = .false. + where(tp%plencP(1:ntp) == 0) + tp%lmask(1:ntp) = .false. elsewhere - tp%lperi(:) = .false. + tp%lperi(1:ntp) = .false. end where do outer_index = 1, NTENC outer_time = t + (outer_index - 1) * dto - call pl%set_beg_end(xbeg = pl%outer(outer_index - 1)%x(:, :), & - vbeg = pl%outer(outer_index - 1)%v(:, :), & - xend = pl%outer(outer_index )%x(:, :)) + call pl%set_beg_end(xbeg = pl%outer(outer_index - 1)%x(:, 1:npl), & + vbeg = pl%outer(outer_index - 1)%v(:, 1:npl), & + xend = pl%outer(outer_index )%x(:, 1:npl)) system%rts = RHPSCALE lencounter = tp%encounter_check(system, dto) if (lencounter) then @@ -192,8 +194,8 @@ subroutine rmvs_step_out(cb, pl, tp, system, param, t, dt) do j = 1, npl if (pl%nenc(j) == 0) cycle tp%lfirst = .true. - where((tp%plencP(:) == j) .and. (.not.tp%lmask(:))) - tp%lmask(:) = .true. + where((tp%plencP(1:ntp) == j) .and. (.not.tp%lmask(1:ntp))) + tp%lmask(1:ntp) = .true. end where end do end do @@ -222,7 +224,7 @@ subroutine rmvs_interp_in(cb, pl, system, param, dt, outer_index) ! Internals integer(I4B) :: i, inner_index real(DP) :: frac, dntphenc - real(DP), dimension(:,:), allocatable :: xtmp, vtmp, xh_original + real(DP), dimension(:,:), allocatable :: xtmp, vtmp, xh_original, ah_original real(DP), dimension(:), allocatable :: GMcb, dti integer(I4B), dimension(:), allocatable :: iflag @@ -230,32 +232,33 @@ subroutine rmvs_interp_in(cb, pl, system, param, dt, outer_index) dntphenc = real(NTPHENC, kind=DP) ! Set the endpoints of the inner region from the outer region values in the current outer step index - pl%inner(0)%x(:,:) = pl%outer(outer_index - 1)%x(:, :) - pl%inner(0)%v(:,:) = pl%outer(outer_index - 1)%v(:, :) - pl%inner(NTPHENC)%x(:,:) = pl%outer(outer_index)%x(:, :) - pl%inner(NTPHENC)%v(:,:) = pl%outer(outer_index)%v(:, :) + pl%inner(0)%x(:, 1:npl) = pl%outer(outer_index - 1)%x(:, 1:npl) + pl%inner(0)%v(:, 1:npl) = pl%outer(outer_index - 1)%v(:, 1:npl) + pl%inner(NTPHENC)%x(:, 1:npl) = pl%outer(outer_index)%x(:, 1:npl) + pl%inner(NTPHENC)%v(:, 1:npl) = pl%outer(outer_index)%v(:, 1:npl) allocate(xtmp,mold=pl%xh) allocate(vtmp,mold=pl%vh) allocate(GMcb(npl)) allocate(dti(npl)) allocate(iflag(npl)) - dti(:) = dt / dntphenc - GMcb(:) = cb%Gmass - xtmp(:, :) = pl%inner(0)%x(:, :) - vtmp(:, :) = pl%inner(0)%v(:, :) + dti(1:npl) = dt / dntphenc + GMcb(1:npl) = cb%Gmass + xtmp(:, 1:npl) = pl%inner(0)%x(:, 1:npl) + vtmp(:, 1:npl) = pl%inner(0)%v(:, 1:npl) if ((param%loblatecb) .or. (param%ltides)) then allocate(xh_original, source=pl%xh) - pl%xh(:, :) = xtmp(:, :) ! Temporarily replace heliocentric position with inner substep values to calculate the oblateness terms + allocate(ah_original, source=pl%ah) + pl%xh(:, 1:npl) = xtmp(:, 1:npl) ! Temporarily replace heliocentric position with inner substep values to calculate the oblateness terms end if if (param%loblatecb) then call pl%accel_obl(system) - pl%inner(0)%aobl(:, :) = pl%aobl(:, :) ! Save the oblateness acceleration on the planet for this substep + pl%inner(0)%aobl(:, 1:npl) = pl%aobl(:, 1:npl) ! Save the oblateness acceleration on the planet for this substep end if if (param%ltides) then call pl%accel_tides(system) - pl%inner(0)%atide(:, :) = pl%atide(:, :) ! Save the oblateness acceleration on the planet for this substep + pl%inner(0)%atide(:, 1:npl) = pl%atide(:, 1:npl) ! Save the oblateness acceleration on the planet for this substep end if do inner_index = 1, NTPHENC - 1 @@ -275,12 +278,12 @@ subroutine rmvs_interp_in(cb, pl, system, param, dt, outer_index) end do end if frac = 1.0_DP - inner_index / dntphenc - pl%inner(inner_index)%x(:, :) = frac * xtmp(:,:) - pl%inner(inner_index)%v(:, :) = frac * vtmp(:,:) + pl%inner(inner_index)%x(:, 1:npl) = frac * xtmp(:, 1:npl) + pl%inner(inner_index)%v(:, 1:npl) = frac * vtmp(:, 1:npl) end do - xtmp(:,:) = pl%inner(NTPHENC)%x(:, :) - vtmp(:,:) = pl%inner(NTPHENC)%v(:, :) + xtmp(:, 1:npl) = pl%inner(NTPHENC)%x(:, 1:npl) + vtmp(:, 1:npl) = pl%inner(NTPHENC)%v(:, 1:npl) do inner_index = NTPHENC - 1, 1, -1 call drift_one(GMcb(1:npl), xtmp(1,1:npl), xtmp(2,1:npl), xtmp(3,1:npl), & @@ -299,31 +302,32 @@ subroutine rmvs_interp_in(cb, pl, system, param, dt, outer_index) end do end if frac = inner_index / dntphenc - pl%inner(inner_index)%x(:, :) = pl%inner(inner_index)%x(:, :) + frac * xtmp(:, :) - pl%inner(inner_index)%v(:, :) = pl%inner(inner_index)%v(:, :) + frac * vtmp(:, :) + pl%inner(inner_index)%x(:, 1:npl) = pl%inner(inner_index)%x(:, 1:npl) + frac * xtmp(:, 1:npl) + pl%inner(inner_index)%v(:, 1:npl) = pl%inner(inner_index)%v(:, 1:npl) + frac * vtmp(:, 1:npl) if (param%loblatecb) then - pl%xh(:,:) = pl%inner(inner_index)%x(:, :) + pl%xh(:,1:npl) = pl%inner(inner_index)%x(:, 1:npl) call pl%accel_obl(system) - pl%inner(inner_index)%aobl(:, :) = pl%aobl(:, :) + pl%inner(inner_index)%aobl(:, 1:npl) = pl%aobl(:, 1:npl) end if if (param%ltides) then call pl%accel_tides(system) - pl%inner(inner_index)%atide(:, :) = pl%atide(:, :) + pl%inner(inner_index)%atide(:, 1:npl) = pl%atide(:, 1:npl) end if end do if (param%loblatecb) then ! Calculate the final value of oblateness accelerations at the final inner substep - pl%xh(:,:) = pl%inner(NTPHENC)%x(:, :) + pl%xh(:, 1:npl) = pl%inner(NTPHENC)%x(:, 1:npl) call pl%accel_obl(system) - pl%inner(NTPHENC)%aobl(:, :) = pl%aobl(:, :) + pl%inner(NTPHENC)%aobl(:, 1:npl) = pl%aobl(:, 1:npl) end if if (param%ltides) then call pl%accel_tides(system) - pl%inner(NTPHENC)%atide(:, :) = pl%atide(:, :) + pl%inner(NTPHENC)%atide(:, 1:npl) = pl%atide(:, 1:npl) end if - ! Put the planet positions back into place + ! Put the planet positions and accelerations back into place if (allocated(xh_original)) call move_alloc(xh_original, pl%xh) + if (allocated(ah_original)) call move_alloc(ah_original, pl%ah) end associate return @@ -371,7 +375,7 @@ subroutine rmvs_step_in(cb, pl, tp, param, outer_time, dto) ! now step the encountering test particles fully through the inner encounter lfirsttp = .true. do inner_index = 1, NTPHENC ! Integrate over the encounter region, using the "substitute" planetocentric systems at each level - plenci%xh(:,:) = plenci%inner(inner_index - 1)%x(:,:) + plenci%xh(:, 1:npl) = plenci%inner(inner_index - 1)%x(:, 1:npl) call plenci%set_beg_end(xbeg = plenci%inner(inner_index - 1)%x, & xend = plenci%inner(inner_index)%x) @@ -428,7 +432,7 @@ subroutine rmvs_make_planetocentric(param, cb, pl, tp) ! There are inner encounters with this planet if (allocated(encmask)) deallocate(encmask) allocate(encmask(ntp)) - encmask(:) = tp%plencP(:) == i + encmask(1:ntp) = tp%plencP(1:ntp) == i allocate(rmvs_tp :: pl%planetocentric(i)%tp) ! Create encountering test particle structure select type(cbenci => pl%planetocentric(i)%cb) @@ -438,51 +442,53 @@ subroutine rmvs_make_planetocentric(param, cb, pl, tp) select type(tpenci => pl%planetocentric(i)%tp) class is (rmvs_tp) tpenci%lplanetocentric = .true. - call tpenci%setup(pl%nenc(i), param) - tpenci%cb_heliocentric = cb - tpenci%ipleP = i - tpenci%lmask(:) = .true. - tpenci%status(:) = ACTIVE - ! Grab all the encountering test particles and convert them to a planetocentric frame - tpenci%id(:) = pack(tp%id(:), encmask(:)) - do j = 1, NDIM - tpenci%xheliocentric(j, :) = pack(tp%xh(j,:), encmask(:)) - tpenci%xh(j, :) = tpenci%xheliocentric(j, :) - pl%inner(0)%x(j, i) - tpenci%vh(j, :) = pack(tp%vh(j,:), encmask(:)) - pl%inner(0)%v(j, i) - end do - tpenci%lperi(:) = pack(tp%lperi(:), encmask(:)) - tpenci%plperP(:) = pack(tp%plperP(:), encmask(:)) - ! Make sure that the test particles get the planetocentric value of mu - allocate(cbenci%inner(0:NTPHENC)) - do inner_index = 0, NTPHENC - allocate(plenci%inner(inner_index)%x, mold=pl%inner(inner_index)%x) - allocate(plenci%inner(inner_index)%v, mold=pl%inner(inner_index)%x) - allocate(cbenci%inner(inner_index)%x(NDIM,1)) - allocate(cbenci%inner(inner_index)%v(NDIM,1)) - cbenci%inner(inner_index)%x(:,1) = pl%inner(inner_index)%x(:, i) - cbenci%inner(inner_index)%v(:,1) = pl%inner(inner_index)%v(:, i) - plenci%inner(inner_index)%x(:,1) = -cbenci%inner(inner_index)%x(:,1) - plenci%inner(inner_index)%v(:,1) = -cbenci%inner(inner_index)%v(:,1) - - if (param%loblatecb) then - allocate(plenci%inner(inner_index)%aobl, mold=pl%inner(inner_index)%aobl) - allocate(cbenci%inner(inner_index)%aobl(NDIM,1)) - cbenci%inner(inner_index)%aobl(:,1) = pl%inner(inner_index)%aobl(:, i) - end if - - if (param%ltides) then - allocate(plenci%inner(inner_index)%atide, mold=pl%inner(inner_index)%atide) - allocate(cbenci%inner(inner_index)%atide(NDIM,1)) - cbenci%inner(inner_index)%atide(:,1) = pl%inner(inner_index)%atide(:, i) - end if - - do j = 2, npl - ipc2hc = plenci%plind(j) - plenci%inner(inner_index)%x(:,j) = pl%inner(inner_index)%x(:, ipc2hc) - cbenci%inner(inner_index)%x(:,1) - plenci%inner(inner_index)%v(:,j) = pl%inner(inner_index)%v(:, ipc2hc) - cbenci%inner(inner_index)%v(:,1) + associate(nenci => pl%nenc(i)) + call tpenci%setup(nenci, param) + tpenci%cb_heliocentric = cb + tpenci%ipleP = i + tpenci%lmask(1:nenci) = .true. + tpenci%status(1:nenci) = ACTIVE + ! Grab all the encountering test particles and convert them to a planetocentric frame + tpenci%id(1:nenci) = pack(tp%id(1:ntp), encmask(1:ntp)) + do j = 1, NDIM + tpenci%xheliocentric(j, 1:nenci) = pack(tp%xh(j,1:ntp), encmask(:)) + tpenci%xh(j, 1:nenci) = tpenci%xheliocentric(j, 1:nenci) - pl%inner(0)%x(j, i) + tpenci%vh(j, 1:nenci) = pack(tp%vh(j, 1:ntp), encmask(1:ntp)) - pl%inner(0)%v(j, i) + end do + tpenci%lperi(1:nenci) = pack(tp%lperi(1:ntp), encmask(1:ntp)) + tpenci%plperP(1:nenci) = pack(tp%plperP(1:ntp), encmask(1:ntp)) + ! Make sure that the test particles get the planetocentric value of mu + allocate(cbenci%inner(0:NTPHENC)) + do inner_index = 0, NTPHENC + allocate(plenci%inner(inner_index)%x, mold=pl%inner(inner_index)%x) + allocate(plenci%inner(inner_index)%v, mold=pl%inner(inner_index)%x) + allocate(cbenci%inner(inner_index)%x(NDIM,1)) + allocate(cbenci%inner(inner_index)%v(NDIM,1)) + cbenci%inner(inner_index)%x(:,1) = pl%inner(inner_index)%x(:, i) + cbenci%inner(inner_index)%v(:,1) = pl%inner(inner_index)%v(:, i) + plenci%inner(inner_index)%x(:,1) = -cbenci%inner(inner_index)%x(:,1) + plenci%inner(inner_index)%v(:,1) = -cbenci%inner(inner_index)%v(:,1) + + if (param%loblatecb) then + allocate(plenci%inner(inner_index)%aobl, mold=pl%inner(inner_index)%aobl) + allocate(cbenci%inner(inner_index)%aobl(NDIM,1)) + cbenci%inner(inner_index)%aobl(:,1) = pl%inner(inner_index)%aobl(:, i) + end if + + if (param%ltides) then + allocate(plenci%inner(inner_index)%atide, mold=pl%inner(inner_index)%atide) + allocate(cbenci%inner(inner_index)%atide(NDIM,1)) + cbenci%inner(inner_index)%atide(:,1) = pl%inner(inner_index)%atide(:, i) + end if + + do j = 2, npl + ipc2hc = plenci%plind(j) + plenci%inner(inner_index)%x(:,j) = pl%inner(inner_index)%x(:, ipc2hc) - cbenci%inner(inner_index)%x(:,1) + plenci%inner(inner_index)%v(:,j) = pl%inner(inner_index)%v(:, ipc2hc) - cbenci%inner(inner_index)%v(:,1) + end do end do - end do - call tpenci%set_mu(cbenci) + call tpenci%set_mu(cbenci) + end associate end select end select end select @@ -547,8 +553,7 @@ subroutine rmvs_peri_tp(tp, pl, t, dt, lfirst, inner_index, ipleP, param) id2 = tp%id(i) xh2(:) = xpc(:, i) + xh1(:) vh2(:) = xpc(:, i) + vh1(:) - call io_write_encounter(t, id1, id2, mu, 0.0_DP, rpl, 0.0_DP, xh1(:), xh2(:), vh1(:), vh2(:), & - param%enc_out, param%out_type) + call rmvs_io_write_encounter(t, id1, id2, mu, 0.0_DP, rpl, 0.0_DP, xh1(:), xh2(:), vh1(:), vh2(:), param%enc_out) end if if (tp%lperi(i)) then if (peri < tp%peri(i)) then @@ -600,31 +605,33 @@ subroutine rmvs_end_planetocentric(pl, tp) class is (rmvs_pl) select type(tpenci => pl%planetocentric(i)%tp) class is (rmvs_tp) - if (allocated(tpind)) deallocate(tpind) - allocate(tpind(pl%nenc(i))) - ! Index array of encountering test particles - if (allocated(encmask)) deallocate(encmask) - allocate(encmask(ntp)) - encmask(:) = tp%plencP(:) == i - tpind(:) = pack([(j,j=1,ntp)], encmask(:)) - - ! Copy the results of the integration back over and shift back to heliocentric reference - tp%status(tpind(1:pl%nenc(i))) = tpenci%status(1:pl%nenc(i)) - tp%lmask(tpind(1:pl%nenc(i))) = tpenci%lmask(1:pl%nenc(i)) - do j = 1, NDIM - tp%xh(j, tpind(1:pl%nenc(i))) = tpenci%xh(j,1:pl%nenc(i)) + pl%inner(NTPHENC)%x(j, i) - tp%vh(j, tpind(1:pl%nenc(i))) = tpenci%vh(j,1:pl%nenc(i)) + pl%inner(NTPHENC)%v(j, i) - end do - tp%lperi(tpind(1:pl%nenc(i))) = tpenci%lperi(1:pl%nenc(i)) - tp%plperP(tpind(1:pl%nenc(i))) = tpenci%plperP(1:pl%nenc(i)) - deallocate(pl%planetocentric(i)%tp) - deallocate(cbenci%inner) - do inner_index = 0, NTPHENC - deallocate(plenci%inner(inner_index)%x) - deallocate(plenci%inner(inner_index)%v) - if (allocated(plenci%inner(inner_index)%aobl)) deallocate(plenci%inner(inner_index)%aobl) - if (allocated(plenci%inner(inner_index)%atide)) deallocate(plenci%inner(inner_index)%atide) - end do + associate(nenci => pl%nenc(i)) + if (allocated(tpind)) deallocate(tpind) + allocate(tpind(nenci)) + ! Index array of encountering test particles + if (allocated(encmask)) deallocate(encmask) + allocate(encmask(ntp)) + encmask(1:ntp) = tp%plencP(1:ntp) == i + tpind(1:nenci) = pack([(j,j=1,ntp)], encmask(1:ntp)) + + ! Copy the results of the integration back over and shift back to heliocentric reference + tp%status(tpind(1:nenci)) = tpenci%status(1:nenci) + tp%lmask(tpind(1:nenci)) = tpenci%lmask(1:nenci) + do j = 1, NDIM + tp%xh(j, tpind(1:nenci)) = tpenci%xh(j,1:nenci) + pl%inner(NTPHENC)%x(j, i) + tp%vh(j, tpind(1:nenci)) = tpenci%vh(j,1:nenci) + pl%inner(NTPHENC)%v(j, i) + end do + tp%lperi(tpind(1:nenci)) = tpenci%lperi(1:nenci) + tp%plperP(tpind(1:nenci)) = tpenci%plperP(1:nenci) + deallocate(pl%planetocentric(i)%tp) + deallocate(cbenci%inner) + do inner_index = 0, NTPHENC + deallocate(plenci%inner(inner_index)%x) + deallocate(plenci%inner(inner_index)%v) + if (allocated(plenci%inner(inner_index)%aobl)) deallocate(plenci%inner(inner_index)%aobl) + if (allocated(plenci%inner(inner_index)%atide)) deallocate(plenci%inner(inner_index)%atide) + end do + end associate end select end select end select diff --git a/src/rmvs/rmvs_util.f90 b/src/rmvs/rmvs_util.f90 index ee9ce6932..3b823c190 100644 --- a/src/rmvs/rmvs_util.f90 +++ b/src/rmvs/rmvs_util.f90 @@ -189,9 +189,11 @@ module subroutine rmvs_util_sort_pl(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind + integer(I4B), dimension(:), allocatable :: ind integer(I4B) :: direction + if (self%nbody == 0) return + if (ascending) then direction = 1 else @@ -199,6 +201,7 @@ module subroutine rmvs_util_sort_pl(self, sortby, ascending) end if associate(pl => self, npl => self%nbody) + allocate(ind(npl)) select case(sortby) case("nenc") call util_sort(direction * pl%nenc(1:npl), ind(1:npl)) @@ -231,8 +234,10 @@ module subroutine rmvs_util_sort_tp(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind - integer(I4B) :: direction + integer(I4B), dimension(:), allocatable :: ind + integer(I4B) :: direction + + if (self%nbody == 0) return if (ascending) then direction = 1 @@ -241,6 +246,7 @@ module subroutine rmvs_util_sort_tp(self, sortby, ascending) end if associate(tp => self, ntp => self%nbody) + allocate(ind(ntp)) select case(sortby) case("plperP") call util_sort(direction * tp%plperP(1:ntp), ind(1:ntp)) @@ -268,19 +274,14 @@ module subroutine rmvs_util_sort_rearrange_pl(self, ind) ! Arguments class(rmvs_pl), intent(inout) :: self !! RMVS massive body object integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) - ! Internals - class(rmvs_pl), allocatable :: pl_sorted !! Temporary holder for sorted body - integer(I4B) :: i if (self%nbody == 0) return associate(pl => self, npl => self%nbody) + call util_sort_rearrange(pl%nenc, ind, npl) + call util_sort_rearrange(pl%tpenc1P, ind, npl) + call util_sort_rearrange(pl%plind, ind, npl) call util_sort_rearrange_pl(pl,ind) - allocate(pl_sorted, source=self) - if (allocated(pl%nenc)) pl%nenc(1:npl) = pl_sorted%nenc(ind(1:npl)) - if (allocated(pl%tpenc1P)) pl%tpenc1P(1:npl) = pl_sorted%tpenc1P(ind(1:npl)) - if (allocated(pl%plind)) pl%plind(1:npl) = pl_sorted%plind(ind(1:npl)) - deallocate(pl_sorted) end associate return @@ -296,19 +297,15 @@ module subroutine rmvs_util_sort_rearrange_tp(self, ind) ! Arguments class(rmvs_tp), intent(inout) :: self !! RMVS test particle object integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) - ! Internals - class(rmvs_tp), allocatable :: tp_sorted !! Temporary holder for sorted body if (self%nbody == 0) return associate(tp => self, ntp => self%nbody) + call util_sort_rearrange(tp%lperi, ind, ntp) + call util_sort_rearrange(tp%plperP, ind, ntp) + call util_sort_rearrange(tp%plencP, ind, ntp) + call util_sort_rearrange(tp%xheliocentric, ind, ntp) call util_sort_rearrange_tp(tp,ind) - allocate(tp_sorted, source=self) - if (allocated(tp%lperi)) tp%lperi(1:ntp) = tp_sorted%lperi(ind(1:ntp)) - if (allocated(tp%plperP)) tp%plperP(1:ntp) = tp_sorted%plperP(ind(1:ntp)) - if (allocated(tp%plencP)) tp%plencP(1:ntp) = tp_sorted%plencP(ind(1:ntp)) - if (allocated(tp%xheliocentric)) tp%xheliocentric(:,1:ntp) = tp_sorted%xheliocentric(:,ind(1:ntp)) - deallocate(tp_sorted) end associate return diff --git a/src/setup/setup.f90 b/src/setup/setup.f90 index 8f96c48a1..41c0d9fba 100644 --- a/src/setup/setup.f90 +++ b/src/setup/setup.f90 @@ -10,7 +10,7 @@ module subroutine setup_construct_system(system, param) implicit none ! Arguments class(swiftest_nbody_system), allocatable, intent(inout) :: system !! Swiftest system object - class(swiftest_parameters), intent(in) :: param !! Swiftest parameters + class(swiftest_parameters), intent(inout) :: param !! Swiftest parameters select case(param%integrator) case (BS) @@ -56,8 +56,9 @@ module subroutine setup_construct_system(system, param) allocate(symba_tp :: system%tp_discards) allocate(symba_merger :: system%pl_adds) allocate(symba_merger :: system%pl_discards) - allocate(symba_plplenc :: system%plplenc_list) allocate(symba_pltpenc :: system%pltpenc_list) + allocate(symba_plplenc :: system%plplenc_list) + allocate(symba_plplenc :: system%plplcollision_list) end select case (RINGMOONS) write(*,*) 'RINGMOONS-SyMBA integrator not yet enabled' @@ -80,40 +81,82 @@ module subroutine setup_encounter(self, n) class(swiftest_encounter), intent(inout) :: self !! Swiftest encounter structure integer(I4B), intent(in) :: n !! Number of encounters to allocate space for - self%nenc = n - if (n == 0) return + if (n < 0) return if (allocated(self%lvdotr)) deallocate(self%lvdotr) if (allocated(self%status)) deallocate(self%status) + if (allocated(self%kidx)) deallocate(self%kidx) if (allocated(self%index1)) deallocate(self%index1) if (allocated(self%index2)) deallocate(self%index2) + if (allocated(self%id1)) deallocate(self%id1) + if (allocated(self%id2)) deallocate(self%id2) if (allocated(self%x1)) deallocate(self%x1) if (allocated(self%x2)) deallocate(self%x2) if (allocated(self%v1)) deallocate(self%v1) if (allocated(self%v2)) deallocate(self%v2) + if (allocated(self%t)) deallocate(self%t) + + self%nenc = n + if (n == 0) return allocate(self%lvdotr(n)) allocate(self%status(n)) + allocate(self%kidx(n)) allocate(self%index1(n)) allocate(self%index2(n)) + allocate(self%id1(n)) + allocate(self%id2(n)) allocate(self%x1(NDIM,n)) allocate(self%x2(NDIM,n)) allocate(self%v1(NDIM,n)) allocate(self%v2(NDIM,n)) + allocate(self%t(n)) self%lvdotr(:) = .false. self%status(:) = INACTIVE + self%kidx(:) = 0_I8B self%index1(:) = 0 self%index2(:) = 0 + self%id1(:) = 0 + self%id2(:) = 0 self%x1(:,:) = 0.0_DP self%x2(:,:) = 0.0_DP self%v1(:,:) = 0.0_DP self%v2(:,:) = 0.0_DP + self%t(:) = 0.0_DP return end subroutine setup_encounter + module subroutine setup_initialize_particle_info_system(self, param) + !! author: David A. Minton + !! + !! Setup up particle information metadata from initial conditions + ! + implicit none + ! Arguments + class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters + ! Internals + integer(I4B) :: i + + associate(cb => self%cb, pl => self%pl, npl => self%pl%nbody, tp => self%tp, ntp => self%tp%nbody) + + call cb%info%set_value(particle_type=CB_TYPE_NAME, status="ACTIVE", origin_type="Initial conditions", origin_time=param%t0, origin_xh=[0.0_DP, 0.0_DP, 0.0_DP], origin_vh=[0.0_DP, 0.0_DP, 0.0_DP]) + do i = 1, self%pl%nbody + call pl%info(i)%set_value(particle_type=PL_TYPE_NAME, status="ACTIVE", origin_type="Initial conditions", origin_time=param%t0, origin_xh=self%pl%xh(:,i), origin_vh=self%pl%vh(:,i)) + end do + do i = 1, self%tp%nbody + call tp%info(i)%set_value(particle_type=TP_TYPE_NAME, status="ACTIVE", origin_type="Initial conditions", origin_time=param%t0, origin_xh=self%tp%xh(:,i), origin_vh=self%tp%vh(:,i)) + end do + + end associate + + return + end subroutine setup_initialize_particle_info_system + + module subroutine setup_initialize_system(self, param) !! author: David A. Minton !! @@ -123,16 +166,28 @@ module subroutine setup_initialize_system(self, param) ! Arguments class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - - call self%cb%initialize(param) - call self%pl%initialize(param) - call self%tp%initialize(param) + + call self%cb%read_in(param) + call self%pl%read_in(param) + call self%tp%read_in(param) call self%validate_ids(param) call self%set_msys() call self%pl%set_mu(self%cb) call self%tp%set_mu(self%cb) - call self%pl%eucl_index() + if (param%in_form == EL) then + call self%pl%el2xv(self%cb) + call self%tp%el2xv(self%cb) + end if + call self%pl%index(param) if (.not.param%lrhill_present) call self%pl%set_rhill(self%cb) + self%pl%lfirst = param%lfirstkick + self%tp%lfirst = param%lfirstkick + + if (param%lrestart) then + call self%read_particle_info(param) + else + call self%init_particle_info(param) + end if return end subroutine setup_initialize_system @@ -148,39 +203,69 @@ module subroutine setup_body(self, n, param) class(swiftest_body), intent(inout) :: self !! Swiftest generic body object integer(I4B), intent(in) :: n !! Number of particles to allocate space for class(swiftest_parameters), intent(in) :: param !! Current run configuration parameter + ! Internals + integer(I4B) :: i + + if (n < 0) return - self%nbody = n - if (n <= 0) return self%lfirst = .true. + if (allocated(self%info)) deallocate(self%info) if (allocated(self%id)) deallocate(self%id) - if (allocated(self%name)) deallocate(self%name) if (allocated(self%status)) deallocate(self%status) if (allocated(self%ldiscard)) deallocate(self%ldiscard) + if (allocated(self%lmask)) deallocate(self%lmask) + if (allocated(self%mu)) deallocate(self%mu) if (allocated(self%xh)) deallocate(self%xh) if (allocated(self%vh)) deallocate(self%vh) if (allocated(self%xb)) deallocate(self%xb) if (allocated(self%vb)) deallocate(self%vb) if (allocated(self%ah)) deallocate(self%ah) + if (allocated(self%aobl)) deallocate(self%aobl) + if (allocated(self%agr)) deallocate(self%lmask) + if (allocated(self%atide)) deallocate(self%lmask) if (allocated(self%ir3h)) deallocate(self%ir3h) - if (allocated(self%mu)) deallocate(self%mu) - if (allocated(self%lmask)) deallocate(self%lmask) + if (allocated(self%a)) deallocate(self%a) + if (allocated(self%e)) deallocate(self%e) + if (allocated(self%e)) deallocate(self%e) + if (allocated(self%inc)) deallocate(self%inc) + if (allocated(self%capom)) deallocate(self%capom) + if (allocated(self%omega)) deallocate(self%omega) + if (allocated(self%capm)) deallocate(self%capm) + + self%nbody = n + if (n == 0) return + allocate(self%info(n)) allocate(self%id(n)) - allocate(self%name(n)) allocate(self%status(n)) allocate(self%ldiscard(n)) + allocate(self%lmask(n)) + allocate(self%mu(n)) allocate(self%xh(NDIM, n)) allocate(self%vh(NDIM, n)) allocate(self%xb(NDIM, n)) allocate(self%vb(NDIM, n)) allocate(self%ah(NDIM, n)) allocate(self%ir3h(n)) - allocate(self%mu(n)) - allocate(self%lmask(n)) - self%id(:) = 0 - self%name(:) = "UNNAMED" + self%id(:) = 0 + do i = 1, n + call self%info(i)%set_value(& + name = "UNNAMED", & + particle_type = "UNKNOWN", & + status = "INACTIVE", & + origin_type = "UNKNOWN", & + origin_time = -huge(1.0_DP), & + origin_xh = [0.0_DP, 0.0_DP, 0.0_DP], & + origin_vh = [0.0_DP, 0.0_DP, 0.0_DP], & + discard_time = -huge(1.0_DP), & + discard_xh = [0.0_DP, 0.0_DP, 0.0_DP], & + discard_vh = [0.0_DP, 0.0_DP, 0.0_DP], & + discard_body_id = -1 & + ) + end do + self%status(:) = INACTIVE self%lmask(:) = .false. self%ldiscard(:) = .false. @@ -193,17 +278,14 @@ module subroutine setup_body(self, n, param) self%mu(:) = 0.0_DP if (param%loblatecb) then - if (allocated(self%aobl)) deallocate(self%aobl) allocate(self%aobl(NDIM, n)) self%aobl(:,:) = 0.0_DP end if if (param%ltides) then - if (allocated(self%atide)) deallocate(self%lmask) allocate(self%atide(NDIM, n)) self%atide(:,:) = 0.0_DP end if if (param%lgr) then - if (allocated(self%agr)) deallocate(self%lmask) allocate(self%agr(NDIM, n)) self%agr(:,:) = 0.0_DP end if @@ -226,11 +308,20 @@ module subroutine setup_pl(self, n, param) !> Call allocation method for parent class !> The parent class here is the abstract swiftest_body class, so we can't use the type-bound procedure call setup_body(self, n, param) - if (n <= 0) return + if (n < 0) return if (allocated(self%mass)) deallocate(self%mass) if (allocated(self%Gmass)) deallocate(self%Gmass) if (allocated(self%rhill)) deallocate(self%rhill) + if (allocated(self%radius)) deallocate(self%radius) + if (allocated(self%density)) deallocate(self%density) + if (allocated(self%rot)) deallocate(self%rot) + if (allocated(self%Ip)) deallocate(self%Ip) + if (allocated(self%k2)) deallocate(self%k2) + if (allocated(self%Q)) deallocate(self%Q) + if (allocated(self%tlag)) deallocate(self%tlag) + + if (n == 0) return allocate(self%mass(n)) allocate(self%Gmass(n)) @@ -243,8 +334,6 @@ module subroutine setup_pl(self, n, param) self%nplpl = 0 if (param%lclose) then - if (allocated(self%radius)) deallocate(self%radius) - if (allocated(self%density)) deallocate(self%density) allocate(self%radius(n)) allocate(self%density(n)) self%radius(:) = 0.0_DP @@ -252,8 +341,6 @@ module subroutine setup_pl(self, n, param) end if if (param%lrotation) then - if (allocated(self%rot)) deallocate(self%rhill) - if (allocated(self%Ip)) deallocate(self%rhill) allocate(self%rot(NDIM, n)) allocate(self%Ip(NDIM, n)) self%rot(:,:) = 0.0_DP @@ -261,9 +348,6 @@ module subroutine setup_pl(self, n, param) end if if (param%ltides) then - if (allocated(self%k2)) deallocate(self%rhill) - if (allocated(self%Q)) deallocate(self%rhill) - if (allocated(self%tlag)) deallocate(self%rhill) allocate(self%k2(n)) allocate(self%Q(n)) allocate(self%tlag(n)) @@ -290,12 +374,14 @@ module subroutine setup_tp(self, n, param) !> Call allocation method for parent class !> The parent class here is the abstract swiftest_body class, so we can't use the type-bound procedure call setup_body(self, n, param) - if (n <= 0) return + if (n < 0) return if (allocated(self%isperi)) deallocate(self%isperi) if (allocated(self%peri)) deallocate(self%peri) if (allocated(self%atp)) deallocate(self%atp) + if (n == 0) return + allocate(self%isperi(n)) allocate(self%peri(n)) allocate(self%atp(n)) diff --git a/src/symba/symba_collision.f90 b/src/symba/symba_collision.f90 index 1910411b9..a3990cabd 100644 --- a/src/symba/symba_collision.f90 +++ b/src/symba/symba_collision.f90 @@ -1,8 +1,256 @@ submodule (symba_classes) s_symba_collision use swiftest + contains - module subroutine symba_collision_check_pltpenc(self, system, param, t, dt, irec) + 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 fraggle_io_log_one_message(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 fraggle_io_log_one_message("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 fraggle_io_log_one_message("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 + character(len=NAMELEN) :: idstr + + message = "Hit and run between" + call symba_collision_collider_message(system%pl, colliders%idx, message) + call fraggle_io_log_one_message(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 fraggle_io_log_one_message("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 fraggle_io_log_one_message("Should have been a pure hit and run instead") + nfrag = 0 + else + nfrag = frag%nbody + write(message, *) nfrag + call fraggle_io_log_one_message("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), dimension(2) :: volume, density + real(DP) :: pe + real(DP), dimension(NDIM) :: L_spin_new + character(len=NAMELEN) :: idstr + character(len=STRMAX) :: message + + message = "Merging" + call symba_collision_collider_message(system%pl, colliders%idx, message) + call fraggle_io_log_one_message(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 + param%Ecollisions = param%Ecollisions + pe + param%Euntracked = param%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 @@ -12,20 +260,26 @@ module subroutine symba_collision_check_pltpenc(self, system, param, t, dt, irec !! Adapted from Hal Levison's Swift routine symba5_merge.f implicit none ! Arguments - class(symba_pltpenc), 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 + 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) :: k + integer(I4B) :: i, j, k, nenc real(DP) :: rlim, Gmtot logical :: isplpl + character(len=STRMAX) :: timestr, idstri, idstrj, message + + lany_collision = .false. if (self%nenc == 0) return + select type(self) class is (symba_plplenc) isplpl = .true. @@ -37,67 +291,93 @@ module subroutine symba_collision_check_pltpenc(self, system, param, t, dt, irec class is (symba_pl) select type(tp => system%tp) class is (symba_tp) - associate(nenc => self%nenc, ind1 => self%index1, ind2 => self%index2) - allocate(lmask(nenc)) - lmask(:) = ((self%status(1:nenc) == ACTIVE) .and. (pl%levelg(ind1(1:nenc)) >= irec)) - if (isplpl) then - lmask(:) = lmask(:) .and. (pl%levelg(ind2(1:nenc)) >= irec) - else - lmask(:) = lmask(:) .and. (tp%levelg(ind2(1:nenc)) >= irec) - end if - if (.not.any(lmask(:))) return + nenc = self%nenc + 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. + 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%xh(:, i) - pl%xh(:, 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%xh(:, i) - tp%xh(:, 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 + + if (any(lcollision(1:nenc))) 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%xh(:,i) + system%cb%xb(:) + self%v1(:,k) = pl%vb(:,i) if (isplpl) then - do concurrent(k = 1:nenc, lmask(k)) - xr(:) = pl%xh(:, ind1(k)) - pl%xh(:, ind2(k)) - vr(:) = pl%vb(:, ind1(k)) - pl%vb(:, ind2(k)) - rlim = pl%radius(ind1(k)) + pl%radius(ind2(k)) - Gmtot = pl%Gmass(ind1(k)) + pl%Gmass(ind2(k)) - 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)) - xr(:) = pl%xh(:, ind1(k)) - tp%xh(:, ind2(k)) - vr(:) = pl%vb(:, ind1(k)) - tp%vb(:, ind2(k)) - lcollision(k) = symba_collision_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%Gmass(ind1(k)), pl%radius(ind1(k)), dt, self%lvdotr(k)) - end do - end if + self%x2(:,k) = pl%xh(:,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]) - if (any(lcollision(:))) then - do k = 1, nenc - if (.not.lcollision(k)) cycle - self%status(k) = COLLISION - self%x1(:,k) = pl%xh(:,ind1(k)) - self%v1(:,k) = pl%vb(:,ind1(k)) - if (isplpl) then - self%x2(:,k) = pl%xh(:,ind2(k)) - self%v2(:,k) = pl%vb(:,ind2(k)) - - ! Check to see if either of these bodies has been involved with a collision before, and if so, make this a collisional family - if (pl%lcollision(ind1(k)) .or. pl%lcollision(ind2(k))) call pl%make_family([ind1(k),ind2(k)]) - - ! Set the collision flag for these to bodies to true in case they become involved in another collision later in the step - pl%lcollision([ind1(k), ind2(k)]) = .true. - pl%ldiscard([ind1(k), ind2(k)]) = .true. - pl%status([ind1(k), ind2(k)]) = COLLISION - else - self%x2(:,k) = tp%xh(:,ind2(k)) - self%v2(:,k) = tp%vb(:,ind2(k)) - tp%status(ind2(k)) = DISCARDED_PLR - tp%ldiscard(ind2(k)) = .true. - write(*,*) 'Test particle ',tp%id(ind2(k)), ' collided with massive body ',pl%id(ind1(k)), ' at time ',t - end if - end do + ! 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_xh=pl%xh(:,i), discard_vh=pl%vh(:,i)) + call pl%info(j)%set_value(status="COLLISION", discard_time=t, discard_xh=pl%xh(:,j), discard_vh=pl%vh(:,j)) + end if + else + self%x2(:,k) = tp%xh(:,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_xh=tp%xh(:,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 fraggle_io_log_one_message(message) + end if end if - end associate + end do end select end select + lany_collision = any(lcollision(:)) + + ! Extract the pl-pl encounter list and return the plplcollision_list + if (lany_collision) then + select type(plplenc_list => self) + class is (symba_plplenc) + call plplenc_list%extract_collisions(system, param) + end select + end if + return - end subroutine symba_collision_check_pltpenc + 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) @@ -143,32 +423,32 @@ pure elemental function symba_collision_check_one(xr, yr, zr, vxr, vyr, vzr, Gmt end function symba_collision_check_one - function symba_collision_consolidate_familes(pl, param, idx_parent, family, x, v, mass, radius, L_spin, Ip) result(lflag) + 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 family members, + !! 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 - integer(I4B), dimension(:), allocatable, intent(out) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(NDIM,2), intent(out) :: x, v, L_spin, Ip !! Output values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(2), intent(out) :: mass, radius !! Output values that represent a 2-body equivalent of a possibly 2+ body collision + class(fraggle_colliders), intent(out) :: colliders ! Result - logical :: lflag !! Logical flag indicating whether a family was successfully created or not + logical :: lflag !! Logical flag indicating whether a colliders%idx was successfully created or not ! Internals - type family_array + type collidx_array integer(I4B), dimension(:), allocatable :: id integer(I4B), dimension(:), allocatable :: idx - end type family_array - type(family_array), dimension(2) :: parent_child_index_array + end type collidx_array + type(collidx_array), dimension(2) :: parent_child_index_array integer(I4B), dimension(2) :: nchild - integer(I4B) :: i, j, fam_size, idx_child + integer(I4B) :: i, j, ncolliders, idx_child real(DP), dimension(2) :: volume, density real(DP) :: mchild, mtot, 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 @@ -176,6 +456,7 @@ function symba_collision_consolidate_familes(pl, param, idx_parent, family, x, v 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)) @@ -185,9 +466,9 @@ function symba_collision_consolidate_familes(pl, param, idx_parent, family, x, v pl%kin(idx_parent(2))%parent = idx_parent(1) end if - 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 - radius(:) = pl%radius(idx_parent(:)) - volume(:) = (4.0_DP / 3.0_DP) * PI * radius(:)**3 + 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 @@ -204,23 +485,24 @@ function symba_collision_consolidate_familes(pl, param, idx_parent, family, x, v end associate end do - ! Consolidate the groups of collsional parents with any children they may have into a single "family" index array - fam_size = 2 + sum(nchild(:)) - allocate(family(fam_size)) - family = [parent_child_index_array(1)%idx(:),parent_child_index_array(2)%idx(:)] - fam_size = count(pl%lcollision(family(:))) - family = pack(family(:), pl%lcollision(family(:))) - L_spin(:,:) = 0.0_DP - Ip(:,:) = 0.0_DP + ! 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 - x(:, j) = pl%xb(:, idx_parent(j)) - v(:, j) = pl%vb(:, idx_parent(j)) + colliders%xb(:, j) = pl%xh(:, 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 - Ip(:, j) = mass(j) * pl%Ip(:, idx_parent(j)) - L_spin(:, j) = Ip(3, j) * radius(j)**2 * pl%rot(:, idx_parent(j)) + 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 @@ -228,46 +510,57 @@ function symba_collision_consolidate_familes(pl, param, idx_parent, family, x, v idx_child = parent_child_index_array(j)%idx(i + 1) if (.not. pl%lcollision(idx_child)) cycle mchild = pl%mass(idx_child) - xchild(:) = pl%xb(:, idx_child) + xchild(:) = pl%xh(:, 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(:) = (mass(j) * x(:,j) + mchild * xchild(:)) / (mass(j) + mchild) - vcom(:) = (mass(j) * v(:,j) + mchild * vchild(:)) / (mass(j) + mchild) - xc(:) = x(:, j) - xcom(:) - vc(:) = v(:, j) - vcom(:) + 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(:) - L_spin(:, j) = L_spin(:, j) + mass(j) * xcrossv(:) + colliders%L_spin(:, j) = colliders%L_spin(:, j) + colliders%mass(j) * xcrossv(:) xc(:) = xchild(:) - xcom(:) vc(:) = vchild(:) - vcom(:) xcrossv(:) = xc(:) .cross. vc(:) - L_spin(:, j) = L_spin(:, j) + mchild * xcrossv(:) + colliders%L_spin(:, j) = colliders%L_spin(:, j) + mchild * xcrossv(:) - L_spin(:, j) = L_spin(:, j) + mchild * pl%Ip(3, idx_child) * pl%radius(idx_child)**2 * pl%rot(:, idx_child) - Ip(:, j) = Ip(:, j) + mchild * pl%Ip(:, idx_child) + 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 - mass(j) = mass(j) + mchild - x(:, j) = xcom(:) - v(:, j) = vcom(:) + colliders%mass(j) = colliders%mass(j) + mchild + colliders%xb(:, j) = xcom(:) + colliders%vb(:, j) = vcom(:) end do end if - density(j) = mass(j) / volume(j) - radius(j) = ((3 * mass(j)) / (density(j) * 4 * pi))**(1.0_DP / 3.0_DP) - if (param%lrotation) Ip(:, j) = Ip(:, j) / mass(j) + 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) + + 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(:,:) end do lflag = .true. + ! Destroy the kinship relationships for all members of this colliders%idx + call pl%reset_kinship(colliders%idx(:)) + return - end function symba_collision_consolidate_familes + end function symba_collision_consolidate_colliders - module subroutine symba_collision_encounter_scrub(self, system, param) + 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 @@ -278,67 +571,68 @@ module subroutine symba_collision_encounter_scrub(self, system, param) class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters ! Internals - logical, dimension(self%nenc) :: lplpl_collision + 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 - type(symba_plplenc) :: plplenc_noncollision + integer(I4B) :: i, index_coll, ncollisions, nunique_parent, nplplenc select type (pl => system%pl) class is (symba_pl) - associate(plplenc_list => self, nplplenc => self%nenc, idx1 => self%index1, idx2 => self%index2, plparent => pl%kin%parent) + 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 (any(lplpl_collision)) then ! 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 + 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. - ! 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(:))] + ! 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) - ! 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. - end if - call plplenc_list%spill(plplenc_noncollision, .not.lplpl_collision, ldestructive=.true.) ! Remove any encounters that are not collisions from the list. + ! 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_scrub + end subroutine symba_collision_encounter_extract_collisions - module subroutine symba_collision_make_family_pl(self, idx) + 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 family. + !! 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. !! @@ -383,8 +677,7 @@ module subroutine symba_collision_make_family_pl(self, idx) pl%kin(j)%parent = index_parent end do end if - if (allocated(pl%kin(index_child)%child)) deallocate(pl%kin(index_child)%child) - pl%kin(index_child)%nchild = 0 + 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 @@ -394,7 +687,167 @@ module subroutine symba_collision_make_family_pl(self, idx) end associate return - end subroutine symba_collision_make_family_pl + 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 + character(len=STRMAX) :: message + + 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 + + ! 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%xh(:,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=param%t, name=newname, origin_xh=plnew%xh(:,i), origin_vh=plnew%vh(:,i)) + 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=param%t, discard_xh=pl%xh(:,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=param%t, name=newname, origin_xh=plnew%xh(:,i), origin_vh=plnew%vh(:,i)) + 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=param%t, discard_xh=pl%xh(:,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=param%t, name=newname, origin_xh=plnew%xh(:,i), origin_vh=plnew%vh(:,i)) + 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=param%t, discard_xh=pl%xh(:,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=param%t, discard_xh=pl%xh(:,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) @@ -406,80 +859,43 @@ module subroutine symba_collision_resolve_fragmentations(self, system, param) ! 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(in) :: param !! Current run configuration parameters with SyMBA additions + class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions ! Internals ! Internals - integer(I4B), dimension(:), allocatable :: family !! List of indices of all bodies inovlved in the collision integer(I4B), dimension(2) :: idx_parent !! Index of the two bodies considered the "parents" of the collision real(DP), dimension(NDIM,2) :: x, v, L_spin, Ip !! Output values that represent a 2-body equivalent of a possibly 2+ body collision real(DP), dimension(2) :: mass, radius !! Output values that represent a 2-body equivalent of a possibly 2+ body collision logical :: lgoodcollision - integer(I4B) :: i, status, jtarg, jproj, regime - real(DP), dimension(2) :: radius_si, mass_si, density_si - real(DP) :: mtiny_si, Mcb_si - real(DP), dimension(NDIM) :: x1_si, v1_si, x2_si, v2_si - real(DP) :: mlr, mslr, mtot, dentot, msys, msys_new, Qloss, impact_parameter - integer(I4B), parameter :: NRES = 3 !! Number of collisional product results - real(DP), dimension(NRES) :: mass_res - - associate(plpl_collisions => self, ncollisions => self%nenc, idx1 => self%index1, idx2 => self%index2, cb => system%cb) + 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) - do i = 1, ncollisions - idx_parent(1) = pl%kin(idx1(i))%parent - idx_parent(2) = pl%kin(idx2(i))%parent - lgoodcollision = symba_collision_consolidate_familes(pl, param, idx_parent, family, x, v, mass, radius, L_spin, Ip) - if (.not. lgoodcollision) cycle - if (any(pl%status(idx_parent(:)) /= COLLISION)) cycle ! One of these two bodies has already been resolved - - ! Convert all quantities to SI units and determine which of the pair is the projectile vs. target before sending them - ! to symba_regime - if (mass(1) > mass(2)) then - jtarg = 1 - jproj = 2 - else - jtarg = 2 - jproj = 1 - end if - mass_si(:) = (mass(:)) * param%MU2KG !! The collective mass of the parent and its children - radius_si(:) = radius(:) * param%DU2M !! The collective radius of the parent and its children - x1_si(:) = plpl_collisions%x1(:,i) * param%DU2M !! The position of the parent from inside the step (at collision) - v1_si(:) = plpl_collisions%v1(:,i) * param%DU2M / param%TU2S !! The velocity of the parent from inside the step (at collision) - x2_si(:) = plpl_collisions%x2(:,i) * param%DU2M !! The position of the parent from inside the step (at collision) - v2_si(:) = plpl_collisions%v2(:,i) * param%DU2M / param%TU2S !! The velocity of the parent from inside the step (at collision) - density_si(:) = mass_si(:) / (4.0_DP / 3._DP * PI * radius_si(:)**3) !! The collective density of the parent and its children - Mcb_si = cb%mass * param%MU2KG - mtiny_si = (param%GMTINY / param%GU) * param%MU2KG - - mass_res(:) = 0.0_DP - - mtot = sum(mass_si(:)) - dentot = sum(mass_si(:) * density_si(:)) / mtot - - !! Use the positions and velocities of the parents from indside the step (at collision) to calculate the collisional regime - call fragmentation_regime(Mcb_si, mass_si(jtarg), mass_si(jproj), radius_si(jtarg), radius_si(jproj), x1_si(:), x2_si(:),& - v1_si(:), v2_si(:), density_si(jtarg), density_si(jproj), regime, mlr, mslr, mtiny_si, Qloss) - - mass_res(1) = min(max(mlr, 0.0_DP), mtot) - mass_res(2) = min(max(mslr, 0.0_DP), mtot) - mass_res(3) = min(max(mtot - mlr - mslr, 0.0_DP), mtot) - mass_res(:) = (mass_res(:) / param%MU2KG) - Qloss = Qloss * (param%TU2S / param%DU2M)**2 / param%MU2KG - - select case (regime) - case (COLLRESOLVE_REGIME_DISRUPTION) - status = symba_fragmentation_casedisruption(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) - case (COLLRESOLVE_REGIME_SUPERCATASTROPHIC) - status = symba_fragmentation_casesupercatastrophic(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) - case (COLLRESOLVE_REGIME_HIT_AND_RUN) - status = symba_fragmentation_casehitandrun(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) - case (COLLRESOLVE_REGIME_MERGE, COLLRESOLVE_REGIME_GRAZE_AND_MERGE) - status = symba_fragmentation_casemerge(system, param, family, x, v, mass, radius, L_spin, Ip) - case default - write(*,*) "Error in symba_collision, unrecognized collision regime" - call util_exit(FAILURE) - end select - end do + 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 @@ -496,30 +912,145 @@ module subroutine symba_collision_resolve_mergers(self, system, param) ! 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(in) :: param !! Current run configuration parameters with SyMBA additions + class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions ! Internals - integer(I4B), dimension(:), allocatable :: family !! List of indices of all bodies inovlved in the collision integer(I4B), dimension(2) :: idx_parent !! Index of the two bodies considered the "parents" of the collision real(DP), dimension(NDIM,2) :: x, v, L_spin, Ip !! Output values that represent a 2-body equivalent of a possibly 2+ body collision real(DP), dimension(2) :: mass, radius !! Output values that represent a 2-body equivalent of a possibly 2+ body collision logical :: lgoodcollision - integer(I4B) :: i, status + integer(I4B) :: i + type(fraggle_colliders) :: colliders !! Fraggle colliders object + type(fraggle_fragments) :: frag !! Fraggle fragmentation system object - associate(plpl_collisions => self, ncollisions => self%nenc, idx1 => self%index1, idx2 => self%index2) + associate(plplcollision_list => self, ncollisions => self%nenc, idx1 => self%index1, idx2 => self%index2) select type(pl => system%pl) class is (symba_pl) - do i = 1, ncollisions - idx_parent(1) = pl%kin(idx1(i))%parent - idx_parent(2) = pl%kin(idx2(i))%parent - lgoodcollision = symba_collision_consolidate_familes(pl, param, idx_parent, family, x, v, mass, radius, L_spin, Ip) - if (.not. lgoodcollision) cycle - if (any(pl%status(idx_parent(:)) /= COLLISION)) cycle ! One of these two bodies has already been resolved - status = symba_fragmentation_casemerge(system, param, family, x, v, mass, radius, L_spin, Ip) - end do + 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%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 fraggle_io_log_one_message("") + call fraggle_io_log_one_message("***********************************************************************************************************************") + call fraggle_io_log_one_message("Collision between massive bodies detected at time t = " // trim(adjustl(timestr))) + call fraggle_io_log_one_message("***********************************************************************************************************************") + allocate(tmp_param, source=param) + tmp_param%t = t + 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) + + 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 + param%Ecollisions = param%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 + + call system%tp%xh2xb(system%cb) + call system%tp%discard(system, param) + + return + end subroutine symba_collision_resolve_pltpenc + end submodule s_symba_collision \ No newline at end of file diff --git a/src/symba/symba_discard.f90 b/src/symba/symba_discard.f90 index c154b4290..704d11f85 100644 --- a/src/symba/symba_discard.f90 +++ b/src/symba/symba_discard.f90 @@ -20,6 +20,7 @@ subroutine symba_discard_cb_pl(pl, system, param) ! Internals integer(I4B) :: i, j real(DP) :: energy, vb2, rb2, rh2, rmin2, rmax2, rmaxu2 + character(len=STRMAX) :: idstr, timestr, message associate(npl => pl%nbody, cb => system%cb) call system%set_msys() @@ -33,12 +34,28 @@ subroutine symba_discard_cb_pl(pl, system, param) pl%ldiscard(i) = .true. pl%lcollision(i) = .false. pl%status(i) = DISCARDED_RMAX - write(*, *) "Massive body ", pl%id(i), " too far from the central body at t = ", param%t + write(idstr, *) pl%id(i) + write(timestr, *) param%t + write(message, *) trim(adjustl(pl%info(i)%name)) // " (" // trim(adjustl(idstr)) // ")" // " too far from the central body at t = " // trim(adjustl(timestr)) + call fraggle_io_log_one_message("") + call fraggle_io_log_one_message("***********************************************************************************************************************") + call fraggle_io_log_one_message(message) + call fraggle_io_log_one_message("***********************************************************************************************************************") + call fraggle_io_log_one_message("") + call pl%info(i)%set_value(status="DISCARDED_RMAX", discard_time=param%t, discard_xh=pl%xh(:,i), discard_vh=pl%vh(:,i)) else if ((param%rmin >= 0.0_DP) .and. (rh2 < rmin2)) then pl%ldiscard(i) = .true. pl%lcollision(i) = .false. pl%status(i) = DISCARDED_RMIN - write(*, *) "Massive body ", pl%id(i), " too close to the central body at t = ", param%t + write(idstr, *) pl%id(i) + write(timestr, *) param%t + write(message, *) trim(adjustl(pl%info(i)%name)) // " (" // trim(adjustl(idstr)) // ")" // " too close to the central body at t = " // trim(adjustl(timestr)) + call fraggle_io_log_one_message("") + call fraggle_io_log_one_message("***********************************************************************************************************************") + call fraggle_io_log_one_message(message) + call fraggle_io_log_one_message("***********************************************************************************************************************") + call fraggle_io_log_one_message("") + call pl%info(i)%set_value(status="DISCARDED_RMIN", discard_time=param%t, discard_xh=pl%xh(:,i), discard_vh=pl%vh(:,i), discard_body_id=cb%id) else if (param%rmaxu >= 0.0_DP) then rb2 = dot_product(pl%xb(:,i), pl%xb(:,i)) vb2 = dot_product(pl%vb(:,i), pl%vb(:,i)) @@ -47,7 +64,15 @@ subroutine symba_discard_cb_pl(pl, system, param) pl%ldiscard(i) = .true. pl%lcollision(i) = .false. pl%status(i) = DISCARDED_RMAXU - write(*, *) "Massive body ", pl%id(i), " is unbound and too far from barycenter at t = ", param%t + write(idstr, *) pl%id(i) + write(timestr, *) param%t + write(message, *) trim(adjustl(pl%info(i)%name)) // " (" // trim(adjustl(idstr)) // ")" // " is unbound and too far from barycenter at t = " // trim(adjustl(timestr)) + call fraggle_io_log_one_message("") + call fraggle_io_log_one_message("***********************************************************************************************************************") + call fraggle_io_log_one_message(message) + call fraggle_io_log_one_message("***********************************************************************************************************************") + call fraggle_io_log_one_message("") + call pl%info(i)%set_value(status="DISCARDED_RMAXU", discard_time=param%t, discard_xh=pl%xh(:,i), discard_vh=pl%vh(:,i)) end if end if end if @@ -78,7 +103,7 @@ subroutine symba_discard_conserve_mtm(pl, system, param, ipl, lescape_body) class is (symba_cb) ! Add the potential and kinetic energy of the lost body to the records - pe = -cb%mass * pl%mass(ipl) / norm2(pl%xb(:, ipl) - cb%xb(:)) + pe = -cb%Gmass * pl%mass(ipl) / norm2(pl%xb(:, ipl) - cb%xb(:)) ke_orbit = 0.5_DP * pl%mass(ipl) * dot_product(pl%vb(:, ipl), pl%vb(:, ipl)) if (param%lrotation) then ke_spin = 0.5_DP * pl%mass(ipl) * pl%radius(ipl)**2 * pl%Ip(3, ipl) * dot_product(pl%rot(:, ipl), pl%rot(:, ipl)) @@ -89,18 +114,18 @@ subroutine symba_discard_conserve_mtm(pl, system, param, ipl, lescape_body) ! Add the pre-collision ke of the central body to the records ! Add planet mass to central body accumulator if (lescape_body) then - system%Mescape = system%Mescape + pl%mass(ipl) + param%GMescape = param%GMescape + pl%Gmass(ipl) do i = 1, pl%nbody if (i == ipl) cycle - pe = pe - pl%mass(i) * pl%mass(ipl) / norm2(pl%xb(:, ipl) - pl%xb(:, i)) + pe = pe - pl%Gmass(i) * pl%mass(ipl) / norm2(pl%xb(:, ipl) - pl%xb(:, i)) end do Ltot(:) = 0.0_DP do i = 1, pl%nbody - Lpl(:) = pL%mass(i) * pl%xb(:,i) .cross. pl%vb(:, i) + Lpl(:) = pL%mass(i) * (pl%xb(:,i) .cross. pl%vb(:, i)) Ltot(:) = Ltot(:) + Lpl(:) end do - Ltot(:) = Ltot(:) + cb%mass * cb%xb(:) .cross. cb%vb(:) + Ltot(:) = Ltot(:) + cb%mass * (cb%xb(:) .cross. cb%vb(:)) call pl%b2h(cb) oldstat = pl%status(ipl) pl%status(ipl) = INACTIVE @@ -108,28 +133,28 @@ subroutine symba_discard_conserve_mtm(pl, system, param, ipl, lescape_body) pl%status(ipl) = oldstat do i = 1, pl%nbody if (i == ipl) cycle - Lpl(:) = pl%mass(i) * pl%xb(:,i) .cross. pl%vb(:, i) + Lpl(:) = pl%mass(i) * (pl%xb(:,i) .cross. pl%vb(:, i)) Ltot(:) = Ltot(:) - Lpl(:) end do - Ltot(:) = Ltot(:) - cb%mass * cb%xb(:) .cross. cb%vb(:) - system%Lescape(:) = system%Lescape(:) + Ltot(:) - if (param%lrotation) system%Lescape(:) = system%Lescape + pl%mass(ipl) * pl%radius(ipl)**2 * pl%Ip(3, ipl) * pl%rot(:, ipl) + Ltot(:) = Ltot(:) - cb%mass * (cb%xb(:) .cross. cb%vb(:)) + param%Lescape(:) = param%Lescape(:) + Ltot(:) + if (param%lrotation) param%Lescape(:) = param%Lescape + pl%mass(ipl) * pl%radius(ipl)**2 * pl%Ip(3, ipl) * pl%rot(:, ipl) else xcom(:) = (pl%mass(ipl) * pl%xb(:, ipl) + cb%mass * cb%xb(:)) / (cb%mass + pl%mass(ipl)) vcom(:) = (pl%mass(ipl) * pl%vb(:, ipl) + cb%mass * cb%vb(:)) / (cb%mass + pl%mass(ipl)) - Lpl(:) = (pl%xb(:,ipl) - xcom(:)) .cross. pL%vb(:,ipl) - vcom(:) + Lpl(:) = (pl%xb(:,ipl) - xcom(:)) .cross. (pL%vb(:,ipl) - vcom(:)) if (param%lrotation) Lpl(:) = pl%mass(ipl) * (Lpl(:) + pl%radius(ipl)**2 * pl%Ip(3,ipl) * pl%rot(:, ipl)) - Lcb(:) = cb%mass * (cb%xb(:) - xcom(:)) .cross. (cb%vb(:) - vcom(:)) + Lcb(:) = cb%mass * ((cb%xb(:) - xcom(:)) .cross. (cb%vb(:) - vcom(:))) ke_orbit = ke_orbit + 0.5_DP * cb%mass * dot_product(cb%vb(:), cb%vb(:)) if (param%lrotation) ke_spin = ke_spin + 0.5_DP * cb%mass * cb%radius**2 * cb%Ip(3) * dot_product(cb%rot(:), cb%rot(:)) ! Update mass of central body to be consistent with its total mass - cb%dM = cb%dM + pl%mass(ipl) + cb%dGM = cb%dGM + pl%Gmass(ipl) cb%dR = cb%dR + 1.0_DP / 3.0_DP * (pl%radius(ipl) / cb%radius)**3 - 2.0_DP / 9.0_DP * (pl%radius(ipl) / cb%radius)**6 - cb%mass = cb%M0 + cb%dM - cb%Gmass = param%GU * cb%mass + cb%Gmass = cb%GM0 + cb%dGM + cb%mass = cb%Gmass / param%GU cb%radius = cb%R0 + cb%dR param%rmin = cb%radius ! Add planet angular momentum to central body accumulator @@ -147,16 +172,15 @@ subroutine symba_discard_conserve_mtm(pl, system, param, ipl, lescape_body) ! We must do this for proper book-keeping, since we can no longer track this body's contribution to energy directly if (lescape_body) then - system%Ecollisions = system%Ecollisions + ke_orbit + ke_spin + pe - system%Euntracked = system%Euntracked - (ke_orbit + ke_spin + pe) + param%Ecollisions = param%Ecollisions + ke_orbit + ke_spin + pe + param%Euntracked = param%Euntracked - (ke_orbit + ke_spin + pe) else - system%Ecollisions = system%Ecollisions + pe - system%Euntracked = system%Euntracked - pe + param%Ecollisions = param%Ecollisions + pe + param%Euntracked = param%Euntracked - pe end if end select return - end subroutine symba_discard_conserve_mtm @@ -173,18 +197,34 @@ subroutine symba_discard_nonplpl(pl, system, param) class(symba_pl), intent(inout) :: pl !! SyMBA test particle object class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + logical, dimension(pl%nbody) :: ldiscard + integer(I4B) :: i, nstart, nend, nsub + class(symba_pl), allocatable :: plsub ! First check for collisions with the central body associate(npl => pl%nbody, cb => system%cb) if (npl == 0) return - if ((param%rmin >= 0.0_DP) .or. (param%rmax >= 0.0_DP) .or. & - (param%rmaxu >= 0.0_DP) .or. ((param%qmin >= 0.0_DP) .and. (param%qmin_coord == "BARY"))) then - call pl%h2b(cb) - end if - if ((param%rmin >= 0.0_DP) .or. (param%rmax >= 0.0_DP) .or. (param%rmaxu >= 0.0_DP)) then - call symba_discard_cb_pl(pl, system, param) - end if - if (param%qmin >= 0.0_DP .and. npl > 0) call symba_discard_peri_pl(pl, system, param) + select type(pl_discards => system%pl_discards) + class is (symba_merger) + if ((param%rmin >= 0.0_DP) .or. (param%rmax >= 0.0_DP) .or. (param%rmaxu >= 0.0_DP)) then + call symba_discard_cb_pl(pl, system, param) + end if + if (param%qmin >= 0.0_DP) call symba_discard_peri_pl(pl, system, param) + if (any(pl%ldiscard(1:npl))) then + ldiscard(1:npl) = pl%ldiscard(1:npl) + + allocate(plsub, mold=pl) + call pl%spill(plsub, ldiscard, ldestructive=.false.) + nsub = plsub%nbody + nstart = pl_discards%nbody + 1 + nend = pl_discards%nbody + nsub + call pl_discards%append(plsub, lsource_mask=[(.true., i = 1, nsub)]) + + ! Record how many bodies were subtracted in this event + pl_discards%ncomp(nstart:nend) = nsub + end if + end select end associate return @@ -246,6 +286,7 @@ subroutine symba_discard_peri_pl(pl, system, param) logical, save :: lfirst = .true. logical :: lfirst_orig integer(I4B) :: i + character(len=STRMAX) :: timestr, idstr lfirst_orig = pl%lfirst @@ -262,7 +303,10 @@ subroutine symba_discard_peri_pl(pl, system, param) pl%ldiscard(i) = .true. pl%lcollision(i) = .false. pl%status(i) = DISCARDED_PERI - write(*, *) "Particle ", pl%id(i), " perihelion distance too small at t = ", param%t + write(timestr, *) param%t + write(idstr, *) pl%id(i) + write(*, *) trim(adjustl(pl%info(i)%name)) // " (" // trim(adjustl(idstr)) // ") perihelion distance too small at t = " // trim(adjustl(timestr)) + call pl%info(i)%set_value(status="DISCARDED_PERI", discard_time=param%t, discard_xh=pl%xh(:,i), discard_vh=pl%vh(:,i), discard_body_id=system%cb%id) end if end if end if @@ -277,8 +321,7 @@ end subroutine symba_discard_peri_pl module subroutine symba_discard_pl(self, system, param) !! author: David A. Minton !! - !! Call the various flavors of discards for massive bodies in SyMBA runs, including discards due to colling with the central body, - !! escaping the system, or colliding with each other. + !! Call the various flavors of discards for massive bodies in SyMBA runs, including discards due to colliding with the central body or escaping the system implicit none ! Arguments class(symba_pl), intent(inout) :: self !! SyMBA test particle object @@ -291,36 +334,31 @@ module subroutine symba_discard_pl(self, system, param) class is (symba_nbody_system) select type(param) class is (symba_parameters) - associate(pl => self, plplenc_list => system%plplenc_list) - call pl%h2b(system%cb) + associate(pl => self, plplenc_list => system%plplenc_list, plplcollision_list => system%plplcollision_list) + call pl%vb2vh(system%cb) + call pl%xh2xb(system%cb) + call plplenc_list%write(pl, pl, param) - ! First deal with the non pl-pl collisions call symba_discard_nonplpl(self, system, param) - ! Scrub the pl-pl encounter list of any encounters that did not lead to a collision - call plplenc_list%scrub_non_collision(system, param) + if (.not.any(pl%ldiscard(:))) return - if ((plplenc_list%nenc > 0) .and. any(pl%lcollision(:))) then - write(*, *) "Collision between massive bodies detected at time t = ",param%t - if (param%lfragmentation) then - call plplenc_list%resolve_fragmentations(system, param) - else - call plplenc_list%resolve_mergers(system, param) - end if + if (param%lenergy) then + call system%get_energy_and_momentum(param) + Eorbit_before = system%te end if - if (any(pl%ldiscard(:))) then - if (param%lenergy) then - call system%get_energy_and_momentum(param) - Eorbit_before = system%te - end if - call symba_discard_nonplpl_conservation(self, system, param) - call pl%rearray(system, param) - if (param%lenergy) then - call system%get_energy_and_momentum(param) - Eorbit_after = system%te - system%Ecollisions = Eorbit_after - Eorbit_before - end if + call symba_discard_nonplpl_conservation(self, system, param) + + ! Save the add/discard information to file + call system%write_discard(param) + + call pl%rearray(system, param) + + if (param%lenergy) then + call system%get_energy_and_momentum(param) + Eorbit_after = system%te + param%Ecollisions = param%Ecollisions + (Eorbit_after - Eorbit_before) end if end associate diff --git a/src/symba/symba_drift.f90 b/src/symba/symba_drift.f90 index c4efee05f..e3bbc3660 100644 --- a/src/symba/symba_drift.f90 +++ b/src/symba/symba_drift.f90 @@ -14,13 +14,14 @@ module subroutine symba_drift_pl(self, system, param, dt) real(DP), intent(in) :: dt !! Stepsize if (self%nbody == 0) return - - select type(system) - class is (symba_nbody_system) - self%lmask(:) = self%status(:) /= INACTIVE .and. self%levelg(:) == system%irec - call helio_drift_body(self, system, param, dt) - self%lmask(:) = self%status(:) /= INACTIVE - end select + associate(pl => self, npl => self%nbody) + select type(system) + class is (symba_nbody_system) + pl%lmask(1:npl) = pl%status(1:npl) /= INACTIVE .and. pl%levelg(1:npl) == system%irec + call helio_drift_body(pl, system, param, dt) + pl%lmask(1:npl) = pl%status(1:npl) /= INACTIVE + end select + end associate return end subroutine symba_drift_pl @@ -38,13 +39,14 @@ module subroutine symba_drift_tp(self, system, param, dt) real(DP), intent(in) :: dt !! Stepsize if (self%nbody == 0) return - - select type(system) - class is (symba_nbody_system) - self%lmask(:) = self%status(:) /= INACTIVE .and. self%levelg(:) == system%irec - call helio_drift_body(self, system, param, dt) - self%lmask(:) = self%status(:) /= INACTIVE - end select + associate (tp => self, ntp => self%nbody) + select type(system) + class is (symba_nbody_system) + tp%lmask(1:ntp) = tp%status(1:ntp) /= INACTIVE .and. tp%levelg(1:ntp) == system%irec + call helio_drift_body(tp, system, param, dt) + tp%lmask(1:ntp) = tp%status(1:ntp) /= INACTIVE + end select + end associate return end subroutine symba_drift_tp diff --git a/src/symba/symba_encounter_check.f90 b/src/symba/symba_encounter_check.f90 index 808ee2347..6f6010047 100644 --- a/src/symba/symba_encounter_check.f90 +++ b/src/symba/symba_encounter_check.f90 @@ -2,6 +2,46 @@ use swiftest contains + subroutine symba_encounter_check_all(nplplm, k_plpl, x, v, rhill, dt, irec, lencounter, loc_lvdotr) + !! author: David A. Minton + !! + !! Check for encounters between massive bodies. Split off from the main subroutine for performance + implicit none + integer(I8B), intent(in) :: nplplm + integer(I4B), dimension(:,:), intent(in) :: k_plpl + real(DP), dimension(:,:), intent(in) :: x, v + real(DP), dimension(:), intent(in) :: rhill + real(DP), intent(in) :: dt + integer(I4B), intent(in) :: irec + logical, dimension(:), intent(out) :: lencounter, loc_lvdotr + ! Internals + integer(I8B) :: k + integer(I4B) :: i, j + real(DP) :: xr, yr, zr, vxr, vyr, vzr, rhill1, rhill2 + + !$omp parallel do default(private)& + !$omp shared(nplplm, k_plpl, x, v, rhill, dt, irec, lencounter, loc_lvdotr) + do k = 1_I8B, nplplm + i = k_plpl(1, k) + j = k_plpl(2, k) + xr = x(1, j) - x(1, i) + yr = x(2, j) - x(2, i) + zr = x(3, j) - x(3, i) + vxr = v(1, j) - v(1, i) + vyr = v(2, j) - v(2, i) + vzr = v(3, j) - v(3, i) + rhill1 = rhill(i) + rhill2 = rhill(j) + lencounter(k) = .false. + loc_lvdotr(k) = .false. + call symba_encounter_check_one(xr, yr, zr, vxr, vyr, vzr, rhill1, rhill2, dt, irec, lencounter(k), loc_lvdotr(k)) + end do + !$omp end parallel do + + return + end subroutine symba_encounter_check_all + + module function symba_encounter_check_pl(self, system, dt, irec) result(lany_encounter) !! author: David A. Minton !! @@ -16,38 +56,47 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc ! Result logical :: lany_encounter !! Returns true if there is at least one close encounter ! Internals - integer(I8B) :: k - integer(I4B) :: nenc - real(DP), dimension(NDIM) :: xr, vr - logical, dimension(:), allocatable :: lencounter, loc_lvdotr + integer(I8B) :: k, nplplm + integer(I4B) :: i, j, nenc + logical, dimension(:), allocatable :: lencounter, loc_lvdotr if (self%nbody == 0) return - associate(pl => self, npl => self%nbody, nplpl => self%nplpl) - allocate(lencounter(nplpl), loc_lvdotr(nplpl)) - lencounter(:) = .false. - - do k = 1, nplpl - associate(i => pl%k_plpl(1, k), j => pl%k_plpl(2, k)) - xr(:) = pl%xh(:, j) - pl%xh(:, i) - vr(:) = pl%vh(:, j) - pl%vh(:, i) - call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(i), pl%rhill(j), dt, irec, lencounter(k), loc_lvdotr(k)) - end associate - end do + associate(pl => self) + nplplm = pl%nplplm + allocate(lencounter(nplplm)) + allocate(loc_lvdotr(nplplm)) + + call symba_encounter_check_all(nplplm, pl%k_plpl, pl%xh, pl%vh, pl%rhill, dt, irec, lencounter, loc_lvdotr) + !$omp parallel workshare nenc = count(lencounter(:)) + !$omp end parallel workshare + lany_encounter = nenc > 0 if (lany_encounter) then associate(plplenc_list => system%plplenc_list) call plplenc_list%resize(nenc) - plplenc_list%lvdotr(1:nenc) = pack(loc_lvdotr(:), lencounter(:)) - plplenc_list%index1(1:nenc) = pack(pl%k_plpl(1,:), lencounter(:)) - plplenc_list%index2(1:nenc) = pack(pl%k_plpl(2,:), lencounter(:)) + plplenc_list%lvdotr(1:nenc) = pack(loc_lvdotr(1:nplplm), lencounter(1:nplplm)) + plplenc_list%kidx(1:nenc) = pack([(k, k = 1_I8B, nplplm)], lencounter(1:nplplm)) + deallocate(lencounter, loc_lvdotr) + plplenc_list%index1(1:nenc) = pl%k_plpl(1,plplenc_list%kidx(1:nenc)) + plplenc_list%index2(1:nenc) = pl%k_plpl(2,plplenc_list%kidx(1:nenc)) + plplenc_list%id1(1:nenc) = pl%id(plplenc_list%index1(1:nenc)) + plplenc_list%id2(1:nenc) = pl%id(plplenc_list%index2(1:nenc)) do k = 1, nenc + i = plplenc_list%index1(k) + j = plplenc_list%index2(k) plplenc_list%status(k) = ACTIVE plplenc_list%level(k) = irec - pl%lencounter(plplenc_list%index1(k)) = .true. - pl%lencounter(plplenc_list%index2(k)) = .true. + pl%lencounter(i) = .true. + pl%lencounter(j) = .true. + pl%levelg(i) = irec + pl%levelm(i) = irec + pl%levelg(j) = irec + pl%levelm(j) = irec + pl%nplenc(i) = pl%nplenc(i) + 1 + pl%nplenc(j) = pl%nplenc(j) + 1 end do end associate end if @@ -56,7 +105,7 @@ module function symba_encounter_check_pl(self, system, dt, irec) result(lany_enc end function symba_encounter_check_pl - module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lany_encounter) + module function symba_encounter_check(self, system, dt, irec) result(lany_encounter) !! author: David A. Minton !! !! Check for an encounter between test particles and massive bodies in the pltpenc list. @@ -65,13 +114,13 @@ module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lan !! Adapted from portions of David E. Kaufmann's Swifter routine: symba_step_recur.f90 implicit none ! Arguments - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-pl encounter list object + class(symba_encounter), intent(inout) :: self !! SyMBA pl-pl encounter list object class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object real(DP), intent(in) :: dt !! step size integer(I4B), intent(in) :: irec !! Current recursion level logical :: lany_encounter !! Returns true if there is at least one close encounter ! Internals - integer(I4B) :: k + integer(I4B) :: i, j,k real(DP), dimension(NDIM) :: xr, vr logical :: lencounter, isplpl real(DP) :: rlim2, rji2 @@ -94,45 +143,45 @@ module function symba_encounter_check_pltpenc(self, system, dt, irec) result(lan allocate(lencmask(self%nenc)) lencmask(:) = (self%status(1:self%nenc) == ACTIVE) .and. (self%level(1:self%nenc) == irec - 1) if (.not.any(lencmask(:))) return - associate(ind1 => self%index1, ind2 => self%index2) - do concurrent(k = 1:self%nenc, lencmask(k)) + do concurrent(k = 1:self%nenc, lencmask(k)) + i = self%index1(k) + j = self%index2(k) + if (isplpl) then + xr(:) = pl%xh(:,j) - pl%xh(:,i) + vr(:) = pl%vb(:,j) - pl%vb(:,i) + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(i), pl%rhill(j), dt, irec, lencounter, self%lvdotr(k)) + else + xr(:) = tp%xh(:,j) - pl%xh(:,i) + vr(:) = tp%vb(:,j) - pl%vb(:,i) + call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(i), 0.0_DP, dt, irec, lencounter, self%lvdotr(k)) + end if + if (lencounter) then if (isplpl) then - xr(:) = pl%xh(:,ind2(k)) - pl%xh(:,ind1(k)) - vr(:) = pl%vb(:,ind2(k)) - pl%vb(:,ind1(k)) - call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(ind1(k)), pl%rhill(ind2(k)), dt, irec, lencounter, self%lvdotr(k)) + rlim2 = (pl%radius(i) + pl%radius(j))**2 else - xr(:) = tp%xh(:,ind2(k)) - pl%xh(:,ind1(k)) - vr(:) = tp%vb(:,ind2(k)) - pl%vb(:,ind1(k)) - call symba_encounter_check_one(xr(1), xr(2), xr(3), vr(1), vr(2), vr(3), pl%rhill(ind1(k)), 0.0_DP, dt, irec, lencounter, self%lvdotr(k)) + rlim2 = (pl%radius(i))**2 end if - if (lencounter) then + rji2 = dot_product(xr(:), xr(:))! Check to see if these are physically overlapping bodies first, which we should ignore + if (rji2 > rlim2) then + lany_encounter = .true. + pl%levelg(i) = irec + pl%levelm(i) = MAX(irec, pl%levelm(i)) if (isplpl) then - rlim2 = (pl%radius(ind1(k)) + pl%radius(ind2(k)))**2 + pl%levelg(j) = irec + pl%levelm(j) = MAX(irec, pl%levelm(j)) else - rlim2 = (pl%radius(ind1(k)))**2 + tp%levelg(j) = irec + tp%levelm(j) = MAX(irec, tp%levelm(j)) end if - rji2 = dot_product(xr(:), xr(:))! Check to see if these are physically overlapping bodies first, which we should ignore - if (rji2 > rlim2) then - lany_encounter = .true. - pl%levelg(ind1(k)) = irec - pl%levelm(ind1(k)) = MAX(irec, pl%levelm(ind1(k))) - if (isplpl) then - pl%levelg(ind2(k)) = irec - pl%levelm(ind2(k)) = MAX(irec, pl%levelm(ind2(k))) - else - tp%levelg(ind2(k)) = irec - tp%levelm(ind2(k)) = MAX(irec, tp%levelm(ind2(k))) - end if - self%level(k) = irec - end if - end if - end do - end associate + self%level(k) = irec + end if + end if + end do end select end select return - end function symba_encounter_check_pltpenc + end function symba_encounter_check module function symba_encounter_check_tp(self, system, dt, irec) result(lany_encounter) @@ -150,7 +199,7 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc logical :: lany_encounter !! Returns true if there is at least one close encounter ! Internals real(DP) :: r2crit, vdotr, r2, v2, tmin, r2min, term2 - integer(I4B) :: i, j, k,nenc + integer(I4B) :: i, j, k,nenc, plind, tpind real(DP), dimension(NDIM) :: xr, vr logical, dimension(:,:), allocatable :: lencounter, loc_lvdotr @@ -175,14 +224,24 @@ module function symba_encounter_check_tp(self, system, dt, irec) result(lany_enc call pltpenc_list%resize(nenc) pltpenc_list%status(1:nenc) = ACTIVE pltpenc_list%level(1:nenc) = irec - pltpenc_list%lvdotr(1:nenc) = pack(loc_lvdotr(:,:), lencounter(:,:)) - pltpenc_list%index1(1:nenc) = pack(spread([(i, i = 1, npl)], dim=1, ncopies=ntp), lencounter(:,:)) - pltpenc_list%index2(1:nenc) = pack(spread([(i, i = 1, ntp)], dim=2, ncopies=npl), lencounter(:,:)) + pltpenc_list%lvdotr(1:nenc) = pack(loc_lvdotr(1:ntp, 1:npl), lencounter(1:ntp, 1:npl)) + pltpenc_list%index1(1:nenc) = pack(spread([(i, i = 1, npl)], dim=1, ncopies=ntp), lencounter(1:ntp, 1:npl)) + pltpenc_list%index2(1:nenc) = pack(spread([(i, i = 1, ntp)], dim=2, ncopies=npl), lencounter(1:ntp, 1:npl)) + pltpenc_list%id1(1:nenc) = pl%id(pltpenc_list%index1(1:nenc)) + pltpenc_list%id2(1:nenc) = tp%id(pltpenc_list%index2(1:nenc)) select type(pl) class is (symba_pl) - pl%lencounter(:) = .false. + pl%lencounter(1:npl) = .false. do k = 1, nenc - pl%lencounter(pltpenc_list%index1(k)) = .true. + plind = pltpenc_list%index1(k) + tpind = pltpenc_list%index2(k) + pl%lencounter(plind) = .true. + pl%levelg(plind) = irec + pl%levelm(plind) = irec + tp%levelg(tpind) = irec + tp%levelm(tpind) = irec + pl%ntpenc(plind) = pl%ntpenc(plind) + 1 + tp%nplenc(tpind) = tp%nplenc(tpind) + 1 end do end select end associate diff --git a/src/symba/symba_fragmentation.f90 b/src/symba/symba_fragmentation.f90 deleted file mode 100644 index b36c54e9a..000000000 --- a/src/symba/symba_fragmentation.f90 +++ /dev/null @@ -1,470 +0,0 @@ -submodule (symba_classes) s_symba_fragmentation - use swiftest - - integer(I4B), parameter :: NFRAG_DISRUPT = 12 - integer(I4B), parameter :: NFRAG_SUPERCAT = 20 -contains - - module function symba_fragmentation_casedisruption(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) 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(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass_res !! The distribution of fragment mass obtained by the regime calculation - real(DP), intent(inout) :: Qloss !! Energy lost during collision - ! Result - integer(I4B) :: status !! Status flag assigned to this outcome - ! Internals - integer(I4B) :: i, istart, nfrag, ibiggest, nfamily, nstart, nend - real(DP) :: mtot, avg_dens - real(DP), dimension(NDIM) :: xcom, vcom, Ip_new - real(DP), dimension(2) :: vol - real(DP), dimension(:, :), allocatable :: vb_frag, xb_frag, rot_frag, Ip_frag - real(DP), dimension(:), allocatable :: m_frag, rad_frag - integer(I4B), dimension(:), allocatable :: id_frag - logical :: lfailure - - ! Collisional fragments will be uniformly distributed around the pre-impact barycenter - nfrag = NFRAG_DISRUPT - allocate(m_frag(nfrag)) - allocate(rad_frag(nfrag)) - allocate(xb_frag(NDIM, nfrag)) - allocate(vb_frag(NDIM, nfrag)) - allocate(rot_frag(NDIM, nfrag)) - allocate(Ip_frag(NDIM, nfrag)) - allocate(id_frag(nfrag)) - - mtot = sum(mass(:)) - xcom(:) = (mass(1) * x(:,1) + mass(2) * x(:,2)) / mtot - vcom(:) = (mass(1) * v(:,1) + mass(2) * v(:,2)) / mtot - - ! Get mass weighted mean of Ip and average density - Ip_new(:) = (mass(1) * Ip(:,1) + mass(2) * Ip(:,2)) / mtot - vol(:) = 4._DP / 3._DP * PI * radius(:)**3 - avg_dens = mtot / sum(vol(:)) - - ! Distribute the mass among fragments, with a branch to check for the size of the second largest fragment - m_frag(1) = mass_res(1) - if (mass_res(2) > mass_res(1) / 3._DP) then - m_frag(2) = mass_res(2) - istart = 3 - else - istart = 2 - end if - ! Distribute remaining mass among the remaining bodies - do i = istart, nfrag - m_frag(i) = (mtot - sum(m_frag(1:istart - 1))) / (nfrag - istart + 1) - end do - - ! Distribute any residual mass if there is any and set the radius - m_frag(nfrag) = m_frag(nfrag) + (mtot - sum(m_frag(:))) - rad_frag(:) = (3 * m_frag(:) / (4 * PI * avg_dens))**(1.0_DP / 3.0_DP) - id_frag(:) = [(i, i = system%maxid + 1, system%maxid + nfrag)] - - do i = 1, nfrag - Ip_frag(:, i) = Ip_new(:) - end do - - call fragmentation_initialize(system, param, family, x, v, L_spin, Ip, mass, radius, & - nfrag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, Qloss, lfailure) - - if (lfailure) then - write(*,*) 'No fragment solution found, so treat as a pure hit-and-run' - status = ACTIVE - nfrag = 0 - else - ! Populate the list of new bodies - write(*,'("Generating ",I2.0," fragments")') nfrag - status = DISRUPTION - call symba_fragmentation_mergeaddsub(system, param, family, id_frag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, status) - end if - - return - end function symba_fragmentation_casedisruption - - - module function symba_fragmentation_casehitandrun(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) 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(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass_res !! The distribution of fragment mass obtained by the regime calculation - real(DP), intent(inout) :: Qloss !! Energy lost during collision - ! Result - integer(I4B) :: status !! Status flag assigned to this outcome - ! Internals - integer(I4B) :: i, nfrag, jproj, jtarg, idstart, ibiggest, nfamily - real(DP) :: mtot, avg_dens - real(DP), dimension(NDIM) :: xcom, vcom - real(DP), dimension(2) :: vol - real(DP), dimension(:, :), allocatable :: vb_frag, xb_frag, rot_frag, Ip_frag - real(DP), dimension(:), allocatable :: m_frag, rad_frag - integer(I4B), dimension(:), allocatable :: id_frag - logical :: lpure - logical, dimension(system%pl%nbody) :: lmask - - mtot = sum(mass(:)) - xcom(:) = (mass(1) * x(:,1) + mass(2) * x(:,2)) / mtot - vcom(:) = (mass(1) * v(:,1) + mass(2) * v(:,2)) / mtot - lpure = .false. - - ! The largest body will stay untouched - if (mass(1) > mass(2)) then - jtarg = 1 - jproj = 2 - else - jtarg = 2 - jproj = 1 - end if - - if (mass_res(2) > 0.9_DP * mass(jproj)) then ! Pure hit and run, so we'll just keep the two bodies untouched - write(*,*) '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 - nfrag = NFRAG_DISRUPT - 1 - lpure = .false. - allocate(m_frag(nfrag)) - allocate(id_frag(nfrag)) - allocate(rad_frag(nfrag)) - allocate(xb_frag(NDIM, nfrag)) - allocate(vb_frag(NDIM, nfrag)) - allocate(rot_frag(NDIM, nfrag)) - allocate(Ip_frag(NDIM, nfrag)) - m_frag(1) = mass(jtarg) - ibiggest = maxloc(system%pl%Gmass(family(:)), dim=1) - id_frag(1) = system%pl%id(ibiggest) - rad_frag(1) = radius(jtarg) - xb_frag(:, 1) = x(:, jtarg) - vb_frag(:, 1) = v(:, jtarg) - Ip_frag(:,1) = Ip(:, jtarg) - - ! Get mass weighted mean of Ip and average density - vol(:) = 4._DP / 3._DP * pi * radius(:)**3 - avg_dens = mass(jproj) / vol(jproj) - m_frag(2:nfrag) = (mtot - m_frag(1)) / (nfrag - 1) - rad_frag(2:nfrag) = (3 * m_frag(2:nfrag) / (4 * PI * avg_dens))**(1.0_DP / 3.0_DP) - m_frag(nfrag) = m_frag(nfrag) + (mtot - sum(m_frag(:))) - id_frag(2:nfrag) = [(i, i = system%maxid + 1, system%maxid + nfrag - 1)] - - do i = 1, nfrag - Ip_frag(:, i) = Ip(:, jproj) - end do - - ! Put the fragments on the circle surrounding the center of mass of the system - call fragmentation_initialize(system, param, family, x, v, L_spin, Ip, mass, radius, & - nfrag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, Qloss, lpure) - if (lpure) then - write(*,*) 'Should have been a pure hit and run instead' - nfrag = 0 - else - write(*,'("Generating ",I2.0," fragments")') nfrag - end if - end if - if (lpure) then - status = ACTIVE - else - status = HIT_AND_RUN - call symba_fragmentation_mergeaddsub(system, param, family, id_frag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, status) - end if - - return - end function symba_fragmentation_casehitandrun - - - module function symba_fragmentation_casemerge(system, param, family, x, v, mass, radius, L_spin, Ip) result(status) - !! author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Merge planets. - !! - !! 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(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(in) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(in) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - ! Result - integer(I4B) :: status !! Status flag assigned to this outcome - ! Internals - integer(I4B) :: i, j, ibiggest, nfamily - real(DP) :: volume_new, pe - real(DP), dimension(NDIM) :: xc, vc, xcrossv - real(DP), dimension(2) :: vol - real(DP), dimension(NDIM) :: L_orb_old, L_spin_old - real(DP), dimension(NDIM) :: L_spin_new - logical, dimension(system%pl%nbody) :: lmask - real(DP), dimension(NDIM, 1) :: vb_frag, xb_frag, rot_frag, Ip_frag - real(DP), dimension(1) :: m_frag, rad_frag - integer(I4B), dimension(1) :: id_frag - - select type(pl => system%pl) - class is (symba_pl) - write(*, '("Merging bodies ",99(I8,",",:))') pl%id(family(:)) - - ibiggest = maxloc(pl%Gmass(family(:)), dim=1) - id_frag(1) = pl%id(family(ibiggest)) - - m_frag(1) = sum(mass(:)) - - ! Merged body is created at the barycenter of the original bodies - xb_frag(:,1) = (mass(1) * x(:,1) + mass(2) * x(:,2)) / m_frag(1) - vb_frag(:,1) = (mass(1) * v(:,1) + mass(2) * v(:,2)) / m_frag(1) - - ! Get mass weighted mean of Ip and - vol(:) = 4._DP / 3._DP * PI * radius(:)**3 - volume_new = sum(vol(:)) - rad_frag(1) = (3 * volume_new / (4 * PI))**(1._DP / 3._DP) - - L_orb_old(:) = 0.0_DP - - ! Compute orbital angular momentum of pre-impact system - do i = 1, 2 - xc(:) = x(:, i) - xb_frag(:,1) - vc(:) = v(:, i) - vb_frag(:,1) - xcrossv(:) = xc(:) .cross. vc(:) - L_orb_old(:) = L_orb_old(:) + mass(i) * xcrossv(:) - end do - - if (param%lrotation) then - Ip_frag(:,1) = (mass(1) * Ip(:,1) + mass(2) * Ip(:,2)) / m_frag(1) - L_spin_old(:) = L_spin(:,1) + L_spin(:,2) - - ! Conserve angular momentum by putting pre-impact orbital momentum into spin of the new body - L_spin_new(:) = L_orb_old(:) + L_spin_old(:) - - ! Assume prinicpal axis rotation on 3rd Ip axis - rot_frag(:,1) = L_spin_new(:) / (Ip_frag(3,1) * m_frag(1) * rad_frag(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 - system%Lescape(:) = system%Lescape(:) + L_orb_old(:) - end if - - ! Keep track of the component of potential energy due to the pre-impact family for book-keeping - nfamily = size(family(:)) - pe = 0.0_DP - do j = 1, nfamily - do i = j + 1, nfamily - pe = pe - pl%mass(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 - - status = MERGED - call symba_fragmentation_mergeaddsub(system, param, family, id_frag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, status) - - end select - - return - end function symba_fragmentation_casemerge - - - module function symba_fragmentation_casesupercatastrophic(system, param, family, x, v, mass, radius, L_spin, Ip, mass_res, Qloss) result(status) - !! author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton - !! - !! Create the fragments resulting from a supercatastrophic collision - !! - implicit none - ! Arguments - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - real(DP), dimension(:,:), intent(inout) :: x, v, L_spin, Ip !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass, radius !! Input values that represent a 2-body equivalent of a possibly 2+ body collision - real(DP), dimension(:), intent(inout) :: mass_res !! The distribution of fragment mass obtained by the regime calculation - real(DP), intent(inout) :: Qloss !! Energy lost during collision - ! Result - integer(I4B) :: status !! Status flag assigned to this outcome - ! Internals - integer(I4B) :: i, nfrag, ibiggest, nfamily, nstart, nend - real(DP) :: mtot, avg_dens, min_frag_mass - real(DP), dimension(NDIM) :: xcom, vcom - real(DP), dimension(2) :: vol - real(DP), dimension(NDIM) :: Ip_new - real(DP), dimension(:, :), allocatable :: vb_frag, xb_frag, rot_frag, Ip_frag - real(DP), dimension(:), allocatable :: m_frag, rad_frag - integer(I4B), dimension(:), allocatable :: id_frag - logical :: lfailure - logical, dimension(system%pl%nbody) :: lmask - - ! Collisional fragments will be uniformly distributed around the pre-impact barycenter - nfrag = NFRAG_SUPERCAT - allocate(m_frag(nfrag)) - allocate(rad_frag(nfrag)) - allocate(id_frag(nfrag)) - allocate(xb_frag(NDIM, nfrag)) - allocate(vb_frag(NDIM, nfrag)) - allocate(rot_frag(NDIM, nfrag)) - allocate(Ip_frag(NDIM, nfrag)) - - mtot = sum(mass(:)) - xcom(:) = (mass(1) * x(:,1) + mass(2) * x(:,2)) / mtot - vcom(:) = (mass(1) * v(:,1) + mass(2) * v(:,2)) / mtot - - ! Get mass weighted mean of Ip and average density - Ip_new(:) = (mass(1) * Ip(:,1) + mass(2) * Ip(:,2)) / mtot - vol(:) = 4._DP / 3._DP * pi * radius(:)**3 - avg_dens = mtot / sum(vol(:)) - - ! If we are adding the first and largest fragment (lr), check to see if its mass is SMALLER than an equal distribution of - ! mass between all fragments. If so, we will just distribute the mass equally between the fragments - min_frag_mass = mtot / nfrag - if (mass_res(1) < min_frag_mass) then - m_frag(:) = min_frag_mass - else - m_frag(1) = mass_res(1) - m_frag(2:nfrag) = (mtot - mass_res(1)) / (nfrag - 1) - end if - ! Distribute any residual mass if there is any and set the radius - m_frag(nfrag) = m_frag(nfrag) + (mtot - sum(m_frag(:))) - rad_frag(:) = (3 * m_frag(:) / (4 * PI * avg_dens))**(1.0_DP / 3.0_DP) - id_frag(:) = [(i, i = system%maxid + 1, system%maxid + nfrag)] - - do i = 1, nfrag - Ip_frag(:, i) = Ip_new(:) - end do - - call fragmentation_initialize(system, param, family, x, v, L_spin, Ip, mass, radius, & - nfrag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, Qloss, lfailure) - - if (lfailure) then - write(*,*) 'No fragment solution found, so treat as a pure hit-and-run' - status = ACTIVE - nfrag = 0 - else - ! Populate the list of new bodies - write(*,'("Generating ",I2.0," fragments")') nfrag - status = SUPERCATASTROPHIC - call symba_fragmentation_mergeaddsub(system, param, family, id_frag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_frag, status) - end if - - return - end function symba_fragmentation_casesupercatastrophic - - - subroutine symba_fragmentation_mergeaddsub(system, param, family, id_frag, Ip_frag, m_frag, rad_frag, xb_frag, vb_frag, rot_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(in) :: param !! Current run configuration parameters with SyMBA additions - integer(I4B), dimension(:), intent(in) :: family !! List of indices of all bodies inovlved in the collision - integer(I4B), dimension(:), intent(in) :: id_frag !! List of fragment ids - real(DP), dimension(:), intent(in) :: m_frag, rad_frag !! Distribution of fragment mass and radii - real(DP), dimension(:,:), intent(in) :: Ip_frag !! Fragment rotational inertia vectors - real(DP), dimension(:,:), intent(in) :: xb_frag, vb_frag, rot_frag !! Fragment barycentric position, barycentric velocity, and rotation vectors - integer(I4B), intent(in) :: status !! Status flag to assign to adds - ! Internals - integer(I4B) :: i, ibiggest, nstart, nend, nfamily, nfrag - logical, dimension(system%pl%nbody) :: lmask - class(symba_pl), allocatable :: plnew - - select type(pl => system%pl) - class is (symba_pl) - select type(pl_discards => system%pl_discards) - class is (symba_merger) - associate(pl_adds => system%pl_adds, cb => system%cb) - - ! Add the family bodies to the subtraction list - nfamily = size(family(:)) - nfrag = size(m_frag(:)) - lmask(:) = .false. - lmask(family(:)) = .true. - pl%status(family(:)) = MERGED - nstart = pl_discards%nbody + 1 - nend = pl_discards%nbody + nfamily - call pl_discards%append(pl, lmask) - pl%ldiscard(family(:)) = .true. - pl%lcollision(family(:)) = .true. - - ! Record how many bodies were subtracted in this event - pl_discards%ncomp(nstart:nend) = nfamily - - ! Setup new bodies - allocate(plnew, mold=pl) - call plnew%setup(nfrag, param) - ibiggest = maxloc(pl%Gmass(family(:)), dim=1) - - plnew%id(:) = id_frag(:) - system%maxid = system%maxid + nfrag - plnew%status(:) = ACTIVE - plnew%lcollision(:) = .false. - plnew%ldiscard(:) = .false. - plnew%xb(:,:) = xb_frag(:, :) - plnew%vb(:,:) = vb_frag(:, :) - do i = 1, nfrag - plnew%xh(:,i) = xb_frag(:, i) - cb%xb(:) - plnew%vh(:,i) = vb_frag(:, i) - cb%vb(:) - end do - plnew%mass(:) = m_frag(:) - plnew%Gmass(:) = param%GU * m_frag(:) - plnew%radius(:) = rad_frag(:) - plnew%density(:) = m_frag(:) / rad_frag(:) - - select case(status) - case(DISRUPTION) - plnew%info(:)%origin_type = "Disruption" - case(SUPERCATASTROPHIC) - plnew%info(:)%origin_type = "Supercatastrophic" - case(HIT_AND_RUN) - plnew%info(:)%origin_type = "Hit and run fragment" - case(MERGED) - plnew%info(1) = pl%info(ibiggest) - end select - - if (status /= MERGED) then - plnew%info(:)%origin_time = param%t - do i = 1, nfrag - plnew%info(i)%origin_xh(:) = plnew%xh(:,i) - plnew%info(i)%origin_vh(:) = plnew%vh(:,i) - end do - end if - - if (param%lrotation) then - plnew%Ip(:,:) = Ip_frag(:,:) - plnew%rot(:,:) = rot_frag(:,:) - end if - if (param%ltides) then - plnew%Q = pl%Q(ibiggest) - plnew%k2 = pl%k2(ibiggest) - plnew%tlag = pl%tlag(ibiggest) - end if - call plnew%set_mu(cb) - pl%lmtiny(:) = pl%Gmass(:) > param%GMTINY - - ! Append the new merged body to the list and record how many we made - nstart = pl_adds%nbody + 1 - nend = pl_adds%nbody + plnew%nbody - call pl_adds%append(plnew, lsource_mask=[(.true., i=1, plnew%nbody)]) - pl_adds%ncomp(nstart:nend) = plnew%nbody - - call plnew%setup(0, param) - deallocate(plnew) - end associate - end select - end select - - return - end subroutine symba_fragmentation_mergeaddsub - -end submodule s_symba_fragmentation diff --git a/src/symba/symba_io.f90 b/src/symba/symba_io.f90 index 97e5798c2..c97904079 100644 --- a/src/symba/symba_io.f90 +++ b/src/symba/symba_io.f90 @@ -2,90 +2,6 @@ use swiftest contains - module subroutine symba_io_dump_particle_info(system, param, lincludecb, tpidx, plidx) - !! author: David A. Minton - !! - !! Dumps the particle information data to a file. - !! Pass a list of array indices for test particles (tpidx) and/or massive bodies (plidx) to append - implicit none - ! Arguments - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA extensions - logical, optional, intent(in) :: lincludecb !! Set to true to include the central body (default is false) - integer(I4B), dimension(:), optional, intent(in) :: tpidx !! Array of test particle indices to append to the particle file - integer(I4B), dimension(:), optional, intent(in) :: plidx !! Array of massive body indices to append to the particle file - ! Internals - logical, save :: lfirst = .true. - integer(I4B), parameter :: LUN = 22 - integer(I4B) :: i, ierr - - if (lfirst) then - select case(param%out_stat) - case('APPEND') - open(unit = LUN, file = param%particle_out, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', iostat = ierr) - case('NEW', 'UNKNOWN', 'REPLACE') - open(unit = LUN, file = param%particle_out, status = param%out_stat, form = 'UNFORMATTED', iostat = ierr) - case default - write(*,*) 'Invalid status code',trim(adjustl(param%out_stat)) - call util_exit(FAILURE) - end select - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " particle output file already exists or cannot be accessed" - call util_exit(FAILURE) - end if - - lfirst = .false. - else - open(unit = LUN, file = param%particle_out, status = 'OLD', position = 'APPEND', form = 'UNFORMATTED', iostat = ierr) - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " unable to open binary output file for APPEND" - call util_exit(FAILURE) - end if - end if - - if (present(lincludecb)) then - if (lincludecb) then - select type(cb => system%cb) - class is (symba_cb) - write(LUN) cb%id - write(LUN) cb%info - end select - end if - end if - - if (present(plidx) .and. (system%pl%nbody > 0)) then - select type(pl => system%pl) - class is (symba_pl) - do i = 1, size(plidx) - write(LUN) pl%id(plidx(i)) - write(LUN) pl%info(plidx(i)) - end do - end select - end if - - if (present(tpidx) .and. (system%tp%nbody > 0)) then - select type(tp => system%tp) - class is (symba_tp) - do i = 1, size(tpidx) - write(LUN) tp%id(tpidx(i)) - write(LUN) tp%info(tpidx(i)) - end do - end select - end if - - close(unit = LUN, iostat = ierr) - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " unable to close particle output file" - call util_exit(FAILURE) - end if - - return - end subroutine symba_io_dump_particle_info - - module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, iomsg) !! author: The Purdue Swiftest Team - David A. Minton, Carlisle A. Wishard, Jennifer L.L. Pouplin, and Jacob R. Elliott !! @@ -106,9 +22,9 @@ module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, ioms integer(I4B) :: ilength, ifirst, ilast !! Variables used to parse input file character(STRMAX) :: line !! Line of the input file character (len=:), allocatable :: line_trim,param_name, param_value !! Strings used to parse the param file - integer(I4B) :: nseeds, nseeds_from_file, i - logical :: seed_set = .false. !! Is the random seed set in the input file? - character(len=*),parameter :: linefmt = '(A)' + integer(I4B) :: nseeds, nseeds_from_file, i + logical :: seed_set = .false. !! Is the random seed set in the input file? + character(len=*),parameter :: linefmt = '(A)' associate(param => self) call io_param_reader(param, unit, iotype, v_list, iostat, iomsg) @@ -118,7 +34,7 @@ module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, ioms allocate(param%seed(nseeds)) rewind(unit) do - read(unit = unit, fmt = linefmt, iostat = iostat, end = 1) line + read(unit = unit, fmt = linefmt, iostat = iostat, end = 1, err = 667, iomsg = iomsg) line line_trim = trim(adjustl(line)) ilength = len(line_trim) if ((ilength /= 0)) then @@ -130,13 +46,13 @@ module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, ioms ifirst = ilast + 1 param_value = io_get_token(line_trim, ifirst, ilast, iostat) select case (param_name) - case ("PARTICLE_OUT") - param%particle_out = param_value case ("FRAGMENTATION") call io_toupper(param_value) if (param_value == "YES" .or. param_value == "T") self%lfragmentation = .true. case ("GMTINY") - read(param_value, *) param%Gmtiny + read(param_value, *) param%GMTINY + case ("MIN_GMFRAG") + read(param_value, *) param%min_GMfrag case("SEED") read(param_value, *) nseeds_from_file ! Because the number of seeds can vary between compilers/systems, we need to make sure we can handle cases in which the input file has a different @@ -147,13 +63,13 @@ module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, ioms deallocate(param%seed) allocate(param%seed(nseeds)) do i = 1, nseeds - ifirst = ilast + 1 + ifirst = ilast + 2 param_value = io_get_token(line, ifirst, ilast, iostat) read(param_value, *) param%seed(i) end do else ! Seed array in file is too small do i = 1, nseeds_from_file - ifirst = ilast + 1 + ifirst = ilast + 2 param_value = io_get_token(line, ifirst, ilast, iostat) read(param_value, *) param%seed(i) end do @@ -165,6 +81,14 @@ module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, ioms end do 1 continue + if (self%GMTINY < 0.0_DP) then + write(iomsg,*) "GMTINY invalid or not set: ", self%GMTINY + iostat = -1 + return + else + write(*,*) "GMTINY = ", self%GMTINY + end if + write(*,*) "FRAGMENTATION = ", param%lfragmentation if (param%lfragmentation) then if (seed_set) then @@ -173,14 +97,8 @@ module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, ioms call random_seed(get = param%seed) end if write(*,*) "SEED: N,VAL = ",size(param%seed), param%seed(:) - end if - - if (self%Gmtiny < 0.0_DP) then - write(iomsg,*) "GMTINY invalid or not set: ", self%Gmtiny - iostat = -1 - return - else - write(*,*) "GMTINY = ", self%Gmtiny + if (param%min_GMfrag < 0.0_DP) param%min_GMfrag = param%GMTINY + write(*,*) "MIN_GMFRAG = ", self%min_GMfrag end if if (.not.self%lclose) then @@ -188,10 +106,13 @@ module subroutine symba_io_param_reader(self, unit, iotype, v_list, iostat, ioms iostat = -1 return end if + ! All reporting of collision information in SyMBA (including mergers) is now recorded in the Fraggle logfile + call fraggle_io_log_start(param) end associate iostat = 0 + 667 continue return end subroutine symba_io_param_reader @@ -217,36 +138,37 @@ module subroutine symba_io_param_writer(self, unit, iotype, v_list, iostat, ioms character(*),parameter :: Rfmt = '(ES25.17)' !! Format label for real values character(*),parameter :: Rarrfmt = '(3(ES25.17,1X))' !! Format label for real values character(*),parameter :: Lfmt = '(L1)' !! Format label for logical values - character(len=*), parameter :: Afmt = '(A25,1X,64(:,A25,1X))' - character(256) :: param_name, param_value + character(len=NAMELEN) :: param_name + character(len=STRMAX) :: param_value type character_array character(25) :: value end type character_array type(character_array), dimension(:), allocatable :: param_array - integer(I4B) :: i + integer(I4B) :: i, nstr associate(param => self) call io_param_writer(param, unit, iotype, v_list, iostat, iomsg) ! Special handling is required for writing the random number seed array as its size is not known until runtime ! For the "SEED" parameter line, the first value will be the size of the seed array and the rest will be the seed array elements - write(param_name, Afmt) "PARTICLE_OUT"; write(param_value, Afmt) trim(adjustl(param%particle_out)); write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "GMTINY"; write(param_value, Rfmt) param%Gmtiny; write(unit, Afmt) adjustl(param_name), adjustl(param_value) - write(param_name, Afmt) "FRAGMENTATION"; write(param_value, Lfmt) param%lfragmentation; write(unit, Afmt) adjustl(param_name), adjustl(param_value) + write(param_name, *) "GMTINY"; write(param_value, Rfmt) param%GMTINY; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "MIN_GMFRAG"; write(param_value, Rfmt) param%min_GMfrag; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) + write(param_name, *) "FRAGMENTATION"; write(param_value, Lfmt) param%lfragmentation; write(unit, *, err = 667, iomsg = iomsg) adjustl(param_name) // trim(adjustl(param_value)) if (param%lfragmentation) then - write(param_name, Afmt) "SEED" + write(param_name, *) "SEED" if (allocated(param_array)) deallocate(param_array) allocate(param_array(0:size(param%seed))) write(param_array(0)%value, Ifmt) size(param%seed) do i = 1, size(param%seed) write(param_array(i)%value, Ifmt) param%seed(i) end do - write(unit, Afmt, advance='no') adjustl(param_name), adjustl(param_array(0)%value) - do i = 1, size(param%seed) + write(unit, '(" ",A32)', advance='no', err = 667, iomsg = iomsg) adjustl(param_name) + do i = 0, size(param%seed) + nstr = len(trim(adjustl(param_array(i)%value))) if (i < size(param%seed)) then - write(unit, Afmt, advance='no') adjustl(param_array(i)%value) + write(unit, '(A12)', advance='no', err = 667, iomsg = iomsg) trim(adjustl(param_array(i)%value)) // " " else - write(unit, Afmt) adjustl(param_array(i)%value) + write(unit, '(A12)', err = 667, iomsg = iomsg) trim(adjustl(param_array(i)%value)) end if end do end if @@ -255,86 +177,18 @@ module subroutine symba_io_param_writer(self, unit, iotype, v_list, iostat, ioms end associate return + 667 continue + write(*,*) "Error writing parameter file for SyMBA: " // trim(adjustl(iomsg)) end subroutine symba_io_param_writer - module subroutine symba_io_read_particle(system, param) - !! author: David A. Minton - !! - !! Reads an old particle information file for a restartd run - implicit none - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system file - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA extensions - - ! Internals - integer(I4B), parameter :: LUN = 22 - integer(I4B) :: i, ierr, id, idx - logical :: lmatch - type(symba_particle_info) :: tmpinfo - - open(unit = LUN, file = param%particle_out, status = 'OLD', form = 'UNFORMATTED', iostat = ierr) - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " unable to open binary particle file for reading" - call util_exit(FAILURE) - end if - - select type(cb => system%cb) - class is (symba_cb) - select type(pl => system%pl) - class is (symba_pl) - select type(tp => system%tp) - class is (symba_tp) - do - lmatch = .false. - read(LUN, iostat=ierr) id - if (ierr /=0) exit - - if (idx == cb%id) then - read(LUN) cb%info - lmatch = .true. - else - if (pl%nbody > 0) then - idx = findloc(pl%id(:), id, dim=1) - if (idx /= 0) then - read(LUN) pl%info(idx) - lmatch = .true. - end if - end if - if (.not.lmatch .and. tp%nbody > 0) then - idx = findloc(tp%id(:), id, dim=1) - if (idx /= 0) then - read(LUN) tp%info(idx) - lmatch = .true. - end if - end if - end if - if (.not.lmatch) then - write(*,*) 'Particle id ',id,' not found. Skipping' - read(LUN) tmpinfo - end if - end do - close(unit = LUN, iostat = ierr) - end select - end select - end select - if (ierr /= 0) then - write(*, *) "Swiftest error:" - write(*, *) " unable to close particle output file" - call util_exit(FAILURE) - end if - - return - end subroutine symba_io_read_particle - - module subroutine symba_io_write_discard(self, param) implicit none class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals integer(I4B), parameter :: LUN = 40 - integer(I4B) :: iadd, isub, j, ierr, nsub, nadd + integer(I4B) :: iadd, isub, j, nsub, nadd logical, save :: lfirst = .true. real(DP), dimension(:,:), allocatable :: vh character(*), parameter :: HDRFMT = '(E23.16, 1X, I8, 1X, L1)' @@ -343,17 +197,33 @@ module subroutine symba_io_write_discard(self, param) character(*), parameter :: NPLFMT = '(I8)' character(*), parameter :: PLNAMEFMT = '(I8, 2(1X, E23.16))' class(swiftest_body), allocatable :: pltemp + character(STRMAX) :: errmsg, out_stat associate(pl => self%pl, npl => self%pl%nbody, pl_adds => self%pl_adds) + if (self%tp_discards%nbody > 0) call io_write_discard(self, param) select type(pl_discards => self%pl_discards) class is (symba_merger) if (pl_discards%nbody == 0) return - select case(param%out_stat) + + ! Record the discarded body metadata information to file + if ((param%out_type == NETCDF_FLOAT_TYPE) .or. (param%out_type == NETCDF_DOUBLE_TYPE)) then + call param%nciu%open(param) + call pl_discards%write_particle_info(param%nciu) + call param%nciu%close(param) + end if + + if (param%discard_out == "") return + if (lfirst) then + out_stat = param%out_stat + else + out_stat = 'APPEND' + end if + select case(out_stat) case('APPEND') - open(unit = LUN, file = param%discard_out, status = 'OLD', position = 'APPEND', form = 'FORMATTED', iostat = ierr) + open(unit = LUN, file = param%discard_out, status = 'OLD', position = 'APPEND', form = 'FORMATTED', err = 667, iomsg = errmsg) case('NEW', 'REPLACE', 'UNKNOWN') - open(unit = LUN, file = param%discard_out, status = param%out_stat, form = 'FORMATTED', iostat = ierr) + open(unit = LUN, file = param%discard_out, status = param%out_stat, form = 'FORMATTED', err = 667, iomsg = errmsg) case default write(*,*) 'Invalid status code for OUT_STAT: ',trim(adjustl(param%out_stat)) call util_exit(FAILURE) @@ -364,7 +234,7 @@ module subroutine symba_io_write_discard(self, param) call pl_adds%pv2v(param) end if - write(LUN, HDRFMT) param%t, pl_discards%nbody, param%lbig_discard + write(LUN, HDRFMT, err = 667, iomsg = errmsg) param%t, pl_discards%nbody, param%lbig_discard iadd = 1 isub = 1 do while (iadd <= pl_adds%nbody) @@ -372,9 +242,9 @@ module subroutine symba_io_write_discard(self, param) nsub = pl_discards%ncomp(isub) do j = 1, nadd if (iadd <= pl_adds%nbody) then - write(LUN, NAMEFMT) ADD, pl_adds%id(iadd), pl_adds%status(iadd) - write(LUN, VECFMT) pl_adds%xh(1, iadd), pl_adds%xh(2, iadd), pl_adds%xh(3, iadd) - write(LUN, VECFMT) pl_adds%vh(1, iadd), pl_adds%vh(2, iadd), pl_adds%vh(3, iadd) + write(LUN, NAMEFMT, err = 667, iomsg = errmsg) ADD, pl_adds%id(iadd), pl_adds%status(iadd) + write(LUN, VECFMT, err = 667, iomsg = errmsg) pl_adds%xh(1, iadd), pl_adds%xh(2, iadd), pl_adds%xh(3, iadd) + write(LUN, VECFMT, err = 667, iomsg = errmsg) pl_adds%vh(1, iadd), pl_adds%vh(2, iadd), pl_adds%vh(3, iadd) else exit end if @@ -382,9 +252,9 @@ module subroutine symba_io_write_discard(self, param) end do do j = 1, nsub if (isub <= pl_discards%nbody) then - write(LUN, NAMEFMT) SUB, pl_discards%id(isub), pl_discards%status(isub) - write(LUN, VECFMT) pl_discards%xh(1, isub), pl_discards%xh(2, isub), pl_discards%xh(3, isub) - write(LUN, VECFMT) pl_discards%vh(1, isub), pl_discards%vh(2, isub), pl_discards%vh(3, isub) + write(LUN, NAMEFMT, err = 667, iomsg = errmsg) SUB, pl_discards%id(isub), pl_discards%status(isub) + write(LUN, VECFMT, err = 667, iomsg = errmsg) pl_discards%xh(1, isub), pl_discards%xh(2, isub), pl_discards%xh(3, isub) + write(LUN, VECFMT, err = 667, iomsg = errmsg) pl_discards%vh(1, isub), pl_discards%vh(2, isub), pl_discards%vh(3, isub) else exit end if @@ -397,6 +267,10 @@ module subroutine symba_io_write_discard(self, param) end associate return + + 667 continue + write(*,*) "Error writing discard file: " // trim(adjustl(errmsg)) + call util_exit(FAILURE) end subroutine symba_io_write_discard end submodule s_symba_io diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 8625b3d81..2c074cb0d 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -2,6 +2,23 @@ use swiftest contains + module subroutine symba_kick_getacch_int_pl(self) + !! author: David A. Minton + !! + !! Compute direct cross (third) term heliocentric accelerations of massive bodies, with no mutual interactions between bodies below GMTINY + !! + !! Adapted from Hal Levison's Swift routine symba5_helio_getacch.f + !! Adapted from David E. Kaufmann's Swifter routine helio_kick_getacch_int.f90 + implicit none + ! Arguments + class(symba_pl), intent(inout) :: self + + call kick_getacch_int_all_pl(self%nbody, self%nplplm, self%k_plpl, self%xh, self%Gmass, self%radius, self%ah) + + return + end subroutine symba_kick_getacch_int_pl + + module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) !! author: David A. Minton !! @@ -17,27 +34,27 @@ module subroutine symba_kick_getacch_pl(self, system, param, t, lbeg) real(DP), intent(in) :: t !! Current simulation time logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step ! Internals - integer(I4B) :: k - real(DP) :: irij3, rji2, rlim2, faci, facj - real(DP), dimension(NDIM) :: dx + integer(I4B) :: i, j + integer(I8B) :: k, nplplenc + real(DP) :: rjj, rlim2, xr, yr, zr + real(DP), dimension(NDIM,self%nbody) :: ah_enc + integer(I4B), dimension(:,:), allocatable :: k_plpl_enc if (self%nbody == 0) return select type(system) class is (symba_nbody_system) - associate(pl => self, cb => system%cb, plplenc_list => system%plplenc_list, nplplenc => system%plplenc_list%nenc) + associate(pl => self, npl => self%nbody, plplenc_list => system%plplenc_list, radius => self%radius) + ! Apply kicks to all bodies (including those in the encounter list) call helio_kick_getacch_pl(pl, system, param, t, lbeg) - ! Remove accelerations from encountering pairs - do k = 1, nplplenc - associate(i => plplenc_list%index1(k), j => plplenc_list%index2(k)) - dx(:) = pl%xh(:, j) - pl%xh(:, i) - rji2 = dot_product(dx(:), dx(:)) - irij3 = 1.0_DP / (rji2 * sqrt(rji2)) - faci = pl%Gmass(i) * irij3 - facj = pl%Gmass(j) * irij3 - pl%ah(:, i) = pl%ah(:, i) - facj * dx(:) - pl%ah(:, j) = pl%ah(:, j) + faci * dx(:) - end associate - end do + + ! Remove kicks from bodies involved currently in the encounter list, as these are dealt with separately. + nplplenc = int(plplenc_list%nenc, kind=I8B) + allocate(k_plpl_enc(2,nplplenc)) + k_plpl_enc(:,1:nplplenc) = pl%k_plpl(:,plplenc_list%kidx(1:nplplenc)) + ah_enc(:,:) = 0.0_DP + call kick_getacch_int_all_pl(npl, nplplenc, k_plpl_enc, pl%xh, pl%Gmass, pl%radius, ah_enc) + pl%ah(:,1:npl) = pl%ah(:,1:npl) - ah_enc(:,1:npl) + end associate end select @@ -60,8 +77,8 @@ module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) real(DP), intent(in) :: t !! Current time logical, intent(in) :: lbeg !! Logical flag that determines whether or not this is the beginning or end of the step ! Internals - integer(I4B) :: k - real(DP) :: rji2, fac, rlim2 + integer(I4B) :: i, j, k + real(DP) :: rjj, fac, rlim2 real(DP), dimension(NDIM) :: dx if (self%nbody == 0) return @@ -71,18 +88,18 @@ module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) call helio_kick_getacch_tp(tp, system, param, t, lbeg) ! Remove accelerations from encountering pairs do k = 1, npltpenc - associate(i => pltpenc_list%index1(k), j => pltpenc_list%index2(k)) - if (tp%lmask(j)) THEN - if (lbeg) then - dx(:) = tp%xh(:,j) - pl%xbeg(:,i) - else - dx(:) = tp%xh(:,j) - pl%xend(:,i) - end if - rji2 = dot_product(dx(:), dx(:)) - fac = pl%Gmass(i) / (rji2 * sqrt(rji2)) - tp%ah(:,j) = tp%ah(:,j) + fac * dx(:) - end IF - end associate + i = pltpenc_list%index1(k) + j = pltpenc_list%index2(k) + if (tp%lmask(j)) THEN + if (lbeg) then + dx(:) = tp%xh(:,j) - pl%xbeg(:,i) + else + dx(:) = tp%xh(:,j) - pl%xend(:,i) + end if + rjj = dot_product(dx(:), dx(:)) + fac = pl%Gmass(i) / (rjj * sqrt(rjj)) + tp%ah(:,j) = tp%ah(:,j) + fac * dx(:) + end IF end do end associate end select @@ -90,7 +107,7 @@ module subroutine symba_kick_getacch_tp(self, system, param, t, lbeg) end subroutine symba_kick_getacch_tp - module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) + module subroutine symba_kick_encounter(self, system, dt, irec, sgn) !! author: David A. Minton !! !! Kick barycentric velocities of massive bodies and ACTIVE test particles within SyMBA recursion. @@ -100,19 +117,23 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) !! Adapted from Hal Levison's Swift routine symba5_kick.f implicit none ! Arguments - class(symba_pltpenc), intent(in) :: self !! SyMBA pl-tp encounter list object + class(symba_encounter), intent(in) :: self !! SyMBA pl-tp encounter list object class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - real(DP), intent(in) :: dt !! step size - integer(I4B), intent(in) :: irec !! Current recursion level - integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration + real(DP), intent(in) :: dt !! step size + integer(I4B), intent(in) :: irec !! Current recursion level + integer(I4B), intent(in) :: sgn !! sign to be applied to acceleration ! Internals - integer(I4B) :: k, irm1, irecl + integer(I4B) :: i, j, irm1, irecl, ngood + integer(I8B) :: k real(DP) :: r, rr, ri, ris, rim1, r2, ir3, fac, faci, facj real(DP), dimension(NDIM) :: dx - logical :: isplpl, lgoodlevel + logical :: isplpl + logical, dimension(:), allocatable :: lgoodlevel + integer(I4B), dimension(:), allocatable :: good_idx if (self%nenc == 0) return + select type(self) class is (symba_plplenc) isplpl = .true. @@ -123,42 +144,67 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) class is (symba_pl) select type(tp => system%tp) class is (symba_tp) - associate(ind1 => self%index1, ind2 => self%index2) - if (pl%nbody > 0) pl%lmask(:) = pl%status(:) /= INACTIVE - if (tp%nbody > 0) tp%lmask(:) = tp%status(:) /= INACTIVE + associate(npl => pl%nbody, ntp => tp%nbody, nenc => self%nenc) + if (npl > 0) pl%lmask(1:npl) = pl%status(1:npl) /= INACTIVE + if (ntp > 0) tp%lmask(1:ntp) = tp%status(1:ntp) /= INACTIVE + allocate(lgoodlevel(nenc)) irm1 = irec - 1 + if (sgn < 0) then irecl = irec - 1 else irecl = irec end if - do k = 1, self%nenc + + do k = 1, nenc + i = self%index1(k) + j = self%index2(k) if (isplpl) then - pl%ah(:,ind1(k)) = 0.0_DP - pl%ah(:,ind2(k)) = 0.0_DP + lgoodlevel(k) = (pl%levelg(i) >= irm1) .and. (pl%levelg(j) >= irm1) else - tp%ah(:,ind2(k)) = 0.0_DP + lgoodlevel(k) = (pl%levelg(i) >= irm1) .and. (tp%levelg(j) >= irm1) end if + lgoodlevel(k) = (self%status(k) == ACTIVE) .and. lgoodlevel(k) + end do + ngood = count(lgoodlevel(:)) + if (ngood > 0_I8B) then + allocate(good_idx(ngood)) + good_idx(:) = pack([(i, i = 1, nenc)], lgoodlevel(:)) + if (isplpl) then - lgoodlevel = (pl%levelg(ind1(k)) >= irm1) .and. (pl%levelg(ind2(k)) >= irm1) + do concurrent (k = 1:ngood) + i = self%index1(good_idx(k)) + j = self%index2(good_idx(k)) + pl%ah(:,i) = 0.0_DP + pl%ah(:,j) = 0.0_DP + end do else - lgoodlevel = (pl%levelg(ind1(k)) >= irm1) .and. (tp%levelg(ind2(k)) >= irm1) + do concurrent (k = 1_I8B:ngood) + j = self%index2(good_idx(k)) + tp%ah(:,j) = 0.0_DP + end do end if - if ((self%status(k) /= INACTIVE) .and. lgoodlevel) then + + do k = 1, ngood + i = self%index1(good_idx(k)) + j = self%index2(good_idx(k)) if (isplpl) then - ri = ((pl%rhill(ind1(k)) + pl%rhill(ind2(k)))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + ri = ((pl%rhill(i) + pl%rhill(j))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) rim1 = ri * (RSHELL**2) - dx(:) = pl%xh(:,ind2(k)) - pl%xh(:,ind1(k)) + dx(:) = pl%xh(:,j) - pl%xh(:,i) else - ri = ((pl%rhill(ind1(k)))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) + ri = ((pl%rhill(i))**2) * (RHSCALE**2) * (RSHELL**(2*irecl)) rim1 = ri * (RSHELL**2) - dx(:) = tp%xh(:,ind2(k)) - pl%xh(:,ind1(k)) + dx(:) = tp%xh(:,j) - pl%xh(:,i) end if r2 = dot_product(dx(:), dx(:)) if (r2 < rim1) then fac = 0.0_DP - else if (r2 < ri) then + lgoodlevel(good_idx(k)) = .false. + cycle + end if + if (r2 < ri) then ris = sqrt(ri) r = sqrt(r2) rr = (ris - r) / (ris * (1.0_DP - RSHELL)) @@ -167,34 +213,41 @@ module subroutine symba_kick_pltpenc(self, system, dt, irec, sgn) ir3 = 1.0_DP / (r2 * sqrt(r2)) fac = ir3 end if - faci = fac * pl%Gmass(ind1(k)) + faci = fac * pl%Gmass(i) if (isplpl) then - facj = fac * pl%Gmass(ind2(k)) - pl%ah(:,ind1(k)) = pl%ah(:,ind1(k)) + facj * dx(:) - pl%ah(:,ind2(k)) = pl%ah(:,ind2(k)) - faci * dx(:) + facj = fac * pl%Gmass(j) + pl%ah(:, i) = pl%ah(:, i) + facj * dx(:) + pl%ah(:, j) = pl%ah(:, j) - faci * dx(:) else - tp%ah(:,ind2(k)) = tp%ah(:,ind2(k)) - faci * dx(:) + tp%ah(:, j) = tp%ah(:, j) - faci * dx(:) end if - end if - end do - if (isplpl) then - do k = 1, self%nenc - pl%vb(:,ind1(k)) = pl%vb(:,ind1(k)) + sgn * dt * pl%ah(:,ind1(k)) - pl%vb(:,ind2(k)) = pl%vb(:,ind2(k)) + sgn * dt * pl%ah(:,ind2(k)) - pl%ah(:,ind1(k)) = 0.0_DP - pl%ah(:,ind1(k)) = 0.0_DP - end do - else - do k = 1, self%nenc - tp%vb(:,ind2(k)) = tp%vb(:,ind2(k)) + sgn * dt * tp%ah(:,ind2(k)) - tp%ah(:,ind2(k)) = 0.0_DP end do + ngood = count(lgoodlevel(:)) + if (ngood == 0_I8B) return + good_idx(1:ngood) = pack([(i, i = 1, nenc)], lgoodlevel(:)) + + if (isplpl) then + do k = 1, ngood + i = self%index1(good_idx(k)) + j = self%index2(good_idx(k)) + pl%vb(:,i) = pl%vb(:,i) + sgn * dt * pl%ah(:,i) + pl%vb(:,j) = pl%vb(:,j) + sgn * dt * pl%ah(:,j) + pl%ah(:,i) = 0.0_DP + pl%ah(:,j) = 0.0_DP + end do + else + do k = 1, ngood + j = self%index2(good_idx(k)) + tp%vb(:,j) = tp%vb(:,j) + sgn * dt * tp%ah(:,j) + tp%ah(:,j) = 0.0_DP + end do + end if end if end associate end select end select return - end subroutine symba_kick_pltpenc + end subroutine symba_kick_encounter end submodule s_symba_kick \ No newline at end of file diff --git a/src/symba/symba_setup.f90 b/src/symba/symba_setup.f90 index e06fb20b5..3a0543ee1 100644 --- a/src/symba/symba_setup.f90 +++ b/src/symba/symba_setup.f90 @@ -2,62 +2,6 @@ use swiftest contains - module subroutine symba_setup_initialize_particle_info(system, param) - !! author: David A. Minton - !! - !! Initializes a new particle information data structure with initial conditions recorded - implicit none - ! Argumets - class(symba_nbody_system), intent(inout) :: system !! SyMBA nbody system object - class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA extensions - ! Internals - integer(I4B) :: i - integer(I4B), dimension(:), allocatable :: idx - - select type(cb => system%cb) - class is (symba_cb) - cb%info%origin_type = "Central body" - cb%info%origin_time = param%t0 - cb%info%origin_xh(:) = 0.0_DP - cb%info%origin_vh(:) = 0.0_DP - call symba_io_dump_particle_info(system, param, lincludecb=.true.) - end select - - select type(pl => system%pl) - class is (symba_pl) - do i = 1, pl%nbody - pl%info(i)%origin_type = "Initial conditions" - pl%info(i)%origin_time = param%t0 - pl%info(i)%origin_xh(:) = pl%xh(:,i) - pl%info(i)%origin_vh(:) = pl%vh(:,i) - end do - if (pl%nbody > 0) then - allocate(idx(pl%nbody)) - call symba_io_dump_particle_info(system, param, plidx=[(i, i=1, pl%nbody)]) - deallocate(idx) - end if - end select - - select type(tp => system%tp) - class is (symba_tp) - do i = 1, tp%nbody - tp%info(i)%origin_type = "Initial conditions" - tp%info(i)%origin_time = param%t0 - tp%info(i)%origin_xh(:) = tp%xh(:,i) - tp%info(i)%origin_vh(:) = tp%vh(:,i) - end do - if (tp%nbody > 0) then - allocate(idx(tp%nbody)) - call symba_io_dump_particle_info(system, param, tpidx=[(i, i=1, tp%nbody)]) - deallocate(idx) - end if - end select - - - return - end subroutine symba_setup_initialize_particle_info - - module subroutine symba_setup_initialize_system(self, param) !! author: David A. Minton !! @@ -73,23 +17,10 @@ module subroutine symba_setup_initialize_system(self, param) ! Call parent method associate(system => self) - call whm_setup_initialize_system(system, param) + call helio_setup_initialize_system(system, param) call system%pltpenc_list%setup(0) call system%plplenc_list%setup(0) - select type(pl => system%pl) - class is (symba_pl) - call pl%sort("mass", ascending=.false.) - select type(param) - class is (symba_parameters) - pl%lmtiny(:) = pl%Gmass(:) > param%GMTINY - pl%nplm = count(pl%lmtiny(:)) - if (param%lrestart) then - call symba_io_read_particle(system, param) - else - call symba_setup_initialize_particle_info(system, param) - end if - end select - end select + call system%plplcollision_list%setup(0) end associate return @@ -112,9 +43,12 @@ module subroutine symba_setup_merger(self, n, param) !> Call allocation method for parent class. In this case, helio_pl does not have its own setup method so we use the base method for swiftest_pl call symba_setup_pl(self, n, param) - if (n <= 0) return + if (n < 0) return if (allocated(self%ncomp)) deallocate(self%ncomp) + + if (n == 0) return + allocate(self%ncomp(n)) self%ncomp(:) = 0 @@ -138,7 +72,7 @@ module subroutine symba_setup_pl(self, n, param) !> Call allocation method for parent class. In this case, helio_pl does not have its own setup method so we use the base method for swiftest_pl call setup_pl(self, n, param) - if (n <= 0) return + if (n < 0) return if (allocated(self%lcollision)) deallocate(self%lcollision) if (allocated(self%lencounter)) deallocate(self%lencounter) @@ -151,7 +85,8 @@ module subroutine symba_setup_pl(self, n, param) if (allocated(self%peri)) deallocate(self%peri) if (allocated(self%atp)) deallocate(self%atp) if (allocated(self%kin)) deallocate(self%kin) - if (allocated(self%info)) deallocate(self%info) + + if (n == 0) return allocate(self%lcollision(n)) allocate(self%lencounter(n)) @@ -164,7 +99,6 @@ module subroutine symba_setup_pl(self, n, param) allocate(self%peri(n)) allocate(self%atp(n)) allocate(self%kin(n)) - allocate(self%info(n)) self%lcollision(:) = .false. self%lencounter(:) = .false. @@ -176,32 +110,34 @@ module subroutine symba_setup_pl(self, n, param) self%isperi(:) = 0 self%peri(:) = 0.0_DP self%atp(:) = 0.0_DP - self%kin(:)%nchild = 0 - self%kin(:)%parent = [(i, i=1, n)] + call self%reset_kinship([(i, i=1, n)]) return end subroutine symba_setup_pl - module subroutine symba_setup_pltpenc(self, n) + module subroutine symba_setup_encounter(self, n) !! author: David A. Minton !! !! A constructor that sets the number of encounters and allocates and initializes all arrays !! implicit none ! Arguments - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-tp encounter structure + class(symba_encounter), intent(inout) :: self !! SyMBA pl-tp encounter structure integer(I4B), intent(in) :: n !! Number of encounters to allocate space for call setup_encounter(self, n) - if (n == 0) return + if (n < 0) return if (allocated(self%level)) deallocate(self%level) + + if (n ==0) return + allocate(self%level(n)) self%level(:) = -1 return - end subroutine symba_setup_pltpenc + end subroutine symba_setup_encounter module subroutine symba_setup_tp(self, n, param) @@ -218,13 +154,15 @@ module subroutine symba_setup_tp(self, n, param) !> Call allocation method for parent class. In this case, helio_tp does not have its own setup method so we use the base method for swiftest_tp call setup_tp(self, n, param) - if (n <= 0) return + if (n < 0) return if (allocated(self%nplenc)) deallocate(self%nplenc) if (allocated(self%levelg)) deallocate(self%levelg) if (allocated(self%levelm)) deallocate(self%levelm) if (allocated(self%info)) deallocate(self%info) + if (n == 0) return + allocate(self%nplenc(n)) allocate(self%levelg(n)) allocate(self%levelm(n)) diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index 7065625b4..9f4508550 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -19,20 +19,22 @@ module subroutine symba_step_system(self, param, t, dt) ! Internals logical :: lencounter - call self%reset() select type(pl => self%pl) class is (symba_pl) select type(tp => self%tp) class is (symba_tp) - lencounter = pl%encounter_check(self, dt, 0) .or. tp%encounter_check(self, dt, 0) - if (lencounter) then - tp%lfirst = pl%lfirst - call self%interp(param, t, dt) - pl%lfirst = .true. - tp%lfirst = .true. - else - call helio_step_system(self, param, t, dt) - end if + select type(param) + class is (symba_parameters) + call self%reset(param) + lencounter = pl%encounter_check(self, dt, 0) .or. tp%encounter_check(self, dt, 0) + if (lencounter) then + call self%interp(param, t, dt) + param%lfirstkick = .true. + else + self%irec = -1 + call helio_step_system(self, param, t, dt) + end if + end select end select end select @@ -108,32 +110,17 @@ module subroutine symba_step_set_recur_levels_system(self, ireci) ! Internals integer(I4B) :: k, irecp - associate(system => self, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list) + associate(system => self, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list, npl => self%pl%nbody, ntp => self%tp%nbody) select type(pl => self%pl) class is (symba_pl) select type(tp => self%tp) class is (symba_tp) irecp = ireci + 1 - if (plplenc_list%nenc > 0) then - do k = 1, plplenc_list%nenc - associate(i => plplenc_list%index1(k), j => plplenc_list%index2(k)) - if (pl%levelg(i) == irecp) pl%levelg(i) = ireci - if (pl%levelg(j) == irecp) pl%levelg(j) = ireci - end associate - end do - where(plplenc_list%level(1:plplenc_list%nenc) == irecp) plplenc_list%level(1:plplenc_list%nenc) = ireci - end if - - if (pltpenc_list%nenc > 0) then - do k = 1, pltpenc_list%nenc - associate(i => pltpenc_list%index1(k), j => pltpenc_list%index2(k)) - if (pl%levelg(i) == irecp) pl%levelg(i) = ireci - if (tp%levelg(j) == irecp) tp%levelg(j) = ireci - end associate - end do - where(pltpenc_list%level(1:pltpenc_list%nenc) == irecp) pltpenc_list%level(1:pltpenc_list%nenc) = ireci - end if + if (npl >0) where(pl%levelg(1:npl) == irecp) pl%levelg(1:npl) = ireci + if (ntp > 0) where(tp%levelg(1:ntp) == irecp) tp%levelg(1:ntp) = ireci + if (plplenc_list%nenc > 0) where(plplenc_list%level(1:plplenc_list%nenc) == irecp) plplenc_list%level(1:plplenc_list%nenc) = ireci + if (pltpenc_list%nenc > 0) where(pltpenc_list%level(1:pltpenc_list%nenc) == irecp) pltpenc_list%level(1:pltpenc_list%nenc) = ireci system%irec = ireci @@ -157,13 +144,13 @@ module recursive subroutine symba_step_recur_system(self, param, t, ireci) ! Arguments class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - real(DP), value :: t - integer(I4B), value :: ireci !! input recursion level + real(DP), intent(in) :: t + integer(I4B), intent(in) :: ireci !! input recursion level ! Internals integer(I4B) :: i, j, irecp, nloops real(DP) :: dtl, dth real(DP), dimension(NDIM) :: xr, vr - logical :: lencounter + logical :: lencounter, lplpl_collision, lpltp_collision associate(system => self, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list) select type(pl => self%pl) @@ -209,8 +196,11 @@ module recursive subroutine symba_step_recur_system(self, param, t, ireci) end if if (param%lclose) then - call plplenc_list%collision_check(system, param, t+dtl, dtl, ireci) - call pltpenc_list%collision_check(system, param, t+dtl, dtl, ireci) + lplpl_collision = plplenc_list%collision_check(system, param, t+dtl, dtl, ireci) + lpltp_collision = pltpenc_list%collision_check(system, param, t+dtl, dtl, ireci) + + if (lplpl_collision) call plplenc_list%resolve_collision(system, param, t+dtl, dtl, ireci) + if (lpltp_collision) call pltpenc_list%resolve_collision(system, param, t+dtl, dtl, ireci) end if call self%set_recur_levels(ireci) @@ -224,7 +214,7 @@ module recursive subroutine symba_step_recur_system(self, param, t, ireci) end subroutine symba_step_recur_system - module subroutine symba_step_reset_system(self) + module subroutine symba_step_reset_system(self, param) !! author: David A. Minton !! !! Resets pl, tp,and encounter structures at the start of a new step @@ -233,40 +223,53 @@ module subroutine symba_step_reset_system(self) !! Adapted from Hal Levison's Swift routine symba5_step.f implicit none ! Arguments - class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object + class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object + class(symba_parameters), intent(in) :: param !! Current run configuration parameters with SyMBA additions ! Internals - integer(I4B) :: i + integer(I4B) :: i, nenc_old - associate(system => self, pltpenc_list => self%pltpenc_list, plplenc_list => self%plplenc_list, pl_adds => self%pl_adds, pl_discards => self%pl_discards) + associate(system => self) select type(pl => system%pl) class is (symba_pl) select type(tp => system%tp) class is (symba_tp) - if (pl%nbody > 0) then - pl%lcollision(:) = .false. - pl%kin(:)%parent = [(i, i=1, pl%nbody)] - pl%kin(:)%nchild = 0 - do i = 1, pl%nbody - if (allocated(pl%kin(i)%child)) deallocate(pl%kin(i)%child) - end do - pl%nplenc(:) = 0 - pl%ntpenc(:) = 0 - pl%levelg(:) = 0 - pl%levelm(:) = 0 - pl%lencounter = .false. - pl%lcollision = .false. - plplenc_list%nenc = 0 - end if - - if (tp%nbody > 0) then - tp%nplenc(:) = 0 - tp%levelg(:) = 0 - tp%levelm(:) = 0 - pltpenc_list%nenc = 0 - end if + associate(npl => pl%nbody, ntp => tp%nbody) + if (npl > 0) then + pl%lcollision(1:npl) = .false. + call pl%reset_kinship([(i, i=1, npl)]) + pl%nplenc(1:npl) = 0 + pl%ntpenc(1:npl) = 0 + pl%levelg(1:npl) = -1 + pl%levelm(1:npl) = -1 + pl%lencounter(1:npl) = .false. + pl%lcollision(1:npl) = .false. + pl%ldiscard(1:npl) = .false. + pl%lmask(1:npl) = .true. + nenc_old = system%plplenc_list%nenc + call system%plplenc_list%setup(0) + call system%plplenc_list%setup(nenc_old) + system%plplenc_list%nenc = 0 + call system%plplcollision_list%setup(0) + end if + + if (ntp > 0) then + tp%nplenc(1:ntp) = 0 + tp%levelg(1:ntp) = -1 + tp%levelm(1:ntp) = -1 + tp%lmask(1:ntp) = .true. + tp%ldiscard(1:npl) = .false. + nenc_old = system%pltpenc_list%nenc + call system%pltpenc_list%setup(0) + call system%pltpenc_list%setup(nenc_old) + system%pltpenc_list%nenc = 0 + end if + + call system%pl_adds%setup(0, param) + call system%pl_discards%setup(0, param) - call pl_adds%resize(0) - call pl_discards%resize(0) + tp%lfirst = param%lfirstkick + pl%lfirst = param%lfirstkick + end associate end select end select end associate diff --git a/src/symba/symba_util.f90 b/src/symba/symba_util.f90 index 4c0f256e3..8b8e48f47 100644 --- a/src/symba/symba_util.f90 +++ b/src/symba/symba_util.f90 @@ -2,30 +2,6 @@ use swiftest contains - module subroutine symba_util_append_arr_info(arr, source, nold, nsrc, lsource_mask) - !! author: David A. Minton - !! - !! Append a single array of particle information type onto another. If the destination array is not allocated, or is not big enough, this will allocate space for it. - implicit none - ! Arguments - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Destination array - type(symba_particle_info), dimension(:), allocatable, intent(in) :: source !! Array to append - integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively - logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to - - if (.not. allocated(source)) return - - if (.not.allocated(arr)) then - allocate(arr(nold+nsrc)) - else - call util_resize(arr, nold + nsrc) - end if - - arr(nold + 1:nold + nsrc) = pack(source(1:nsrc), lsource_mask(1:nsrc)) - - return - end subroutine symba_util_append_arr_info - module subroutine symba_util_append_arr_kin(arr, source, nold, nsrc, lsource_mask) !! author: David A. Minton @@ -37,21 +13,47 @@ module subroutine symba_util_append_arr_kin(arr, source, nold, nsrc, lsource_mas type(symba_kinship), dimension(:), allocatable, intent(in) :: source !! Array to append integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nnew if (.not. allocated(source)) return + nnew = count(lsource_mask(1:nsrc)) if (.not.allocated(arr)) then - allocate(arr(nold+nsrc)) + allocate(arr(nold+nnew)) else - call util_resize(arr, nold + nsrc) + call util_resize(arr, nold + nnew) end if - arr(nold + 1:nold + nsrc) = pack(source(1:nsrc), lsource_mask(1:nsrc)) + arr(nold + 1:nold + nnew) = pack(source(1:nsrc), lsource_mask(1:nsrc)) return end subroutine symba_util_append_arr_kin + module subroutine symba_util_append_encounter(self, source, lsource_mask) + !! author: David A. Minton + !! + !! Append components from one encounter list (pl-pl or pl-tp) body object to another. + !! This method will automatically resize the destination body if it is too small + implicit none + ! Arguments + class(symba_encounter), intent(inout) :: self !! SyMBA encounter list object + class(swiftest_encounter), intent(in) :: source !! Source object to append + logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + + associate(nold => self%nenc, nsrc => source%nenc) + select type(source) + class is (symba_encounter) + call util_append(self%level, source%level, nold, nsrc, lsource_mask) + end select + call util_append_encounter(self, source, lsource_mask) + end associate + + return + end subroutine symba_util_append_encounter + + module subroutine symba_util_append_pl(self, source, lsource_mask) !! author: David A. Minton !! @@ -77,7 +79,6 @@ module subroutine symba_util_append_pl(self, source, lsource_mask) call util_append(self%peri, source%peri, nold, nsrc, lsource_mask) call util_append(self%atp, source%atp, nold, nsrc, lsource_mask) call util_append(self%kin, source%kin, nold, nsrc, lsource_mask) - call util_append(self%info, source%info, nold, nsrc, lsource_mask) call util_append_pl(self, source, lsource_mask) ! Note: helio_pl does not have its own append method, so we skip back to the base class end associate @@ -102,10 +103,12 @@ module subroutine symba_util_append_merger(self, source, lsource_mask) logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to ! Internals integer(I4B), dimension(:), allocatable :: ncomp_tmp !! Temporary placeholder for ncomp incase we are appending a symba_pl object to a symba_merger - integer(I4B) :: nold, nsrc + integer(I4B) :: nold, nsrc, nnew nold = self%nbody nsrc = source%nbody + nnew = count(lsource_mask) + select type(source) class is (symba_merger) call util_append(self%ncomp, source%ncomp, nold, nsrc, lsource_mask) @@ -121,7 +124,7 @@ module subroutine symba_util_append_merger(self, source, lsource_mask) end select ! Save the number of appended bodies - self%ncomp(nold+1:nold+nsrc) = nsrc + self%ncomp(nold+1:nold+nnew) = nnew return end subroutine symba_util_append_merger @@ -144,7 +147,6 @@ module subroutine symba_util_append_tp(self, source, lsource_mask) call util_append(self%nplenc, source%nplenc, nold, nsrc, lsource_mask) call util_append(self%levelg, source%levelg, nold, nsrc, lsource_mask) call util_append(self%levelm, source%levelm, nold, nsrc, lsource_mask) - call util_append(self%info, source%info, nold, nsrc, lsource_mask) call util_append_tp(self, source, lsource_mask) ! Note: helio_tp does not have its own append method, so we skip back to the base class end associate @@ -157,24 +159,26 @@ module subroutine symba_util_append_tp(self, source, lsource_mask) end subroutine symba_util_append_tp - module subroutine symba_util_fill_arr_info(keeps, inserts, lfill_list) + module subroutine symba_util_copy_encounter(self, source) !! author: David A. Minton !! - !! Performs a fill operation on a single array of particle origin information types - !! This is the inverse of a spill operation + !! Copies elements from the source encounter list into self. implicit none ! Arguments - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep - type(symba_particle_info), dimension(:), allocatable, intent(in) :: inserts !! Array of values to insert into keep - logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps - - if (.not.allocated(keeps) .or. .not.allocated(inserts)) return + class(symba_encounter), intent(inout) :: self !! Encounter list + class(swiftest_encounter), intent(in) :: source !! Source object to copy into + + select type(source) + class is (symba_encounter) + associate(n => source%nenc) + self%level(1:n) = source%level(1:n) + end associate + end select - keeps(:) = unpack(keeps(:), .not.lfill_list(:), keeps(:)) - keeps(:) = unpack(inserts(:), lfill_list(:), keeps(:)) + call util_copy_encounter(self, source) return - end subroutine symba_util_fill_arr_info + end subroutine symba_util_copy_encounter module subroutine symba_util_fill_arr_kin(keeps, inserts, lfill_list) @@ -223,7 +227,6 @@ module subroutine symba_util_fill_pl(self, inserts, lfill_list) call util_fill(keeps%peri, inserts%peri, lfill_list) call util_fill(keeps%atp, inserts%atp, lfill_list) call util_fill(keeps%kin, inserts%kin, lfill_list) - call util_fill(keeps%info, inserts%info, lfill_list) call util_fill_pl(keeps, inserts, lfill_list) ! Note: helio_pl does not have its own fill method, so we skip back to the base class class default @@ -254,7 +257,6 @@ module subroutine symba_util_fill_tp(self, inserts, lfill_list) call util_fill(keeps%nplenc, inserts%nplenc, lfill_list) call util_fill(keeps%levelg, inserts%levelg, lfill_list) call util_fill(keeps%levelm, inserts%levelm, lfill_list) - call util_fill(keeps%info, inserts%info, lfill_list) call util_fill_tp(keeps, inserts, lfill_list) ! Note: helio_tp does not have its own fill method, so we skip back to the base class class default @@ -267,6 +269,47 @@ module subroutine symba_util_fill_tp(self, inserts, lfill_list) end subroutine symba_util_fill_tp + module subroutine symba_util_index_eucl_plpl(self, param) + !! author: Jacob R. Elliott and David A. Minton + !! + !! Turns i,j indices into k index for use in the Euclidean distance matrix. This also sets the lmtiny flag and computes the + !! number of interactions that excludes semi-interacting bodies with each other (Gmass < GMTINY). + !! This method will also sort the bodies in descending order by Mass + !! + !! Reference: + !! + !! Mélodie Angeletti, Jean-Marie Bonny, Jonas Koko. Parallel Euclidean distance matrix computation on big datasets *. + !! 2019. hal-0204751 + implicit none + ! Arguments + class(symba_pl), intent(inout) :: self !! SyMBA massive body object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + integer(I8B) :: i, j, counter, npl, nplm, nplpl, nplplm + + associate(pl => self) + npl = int(self%nbody, kind=I8B) + nplm = count(.not. pl%lmtiny(1:npl)) + pl%nplm = int(nplm, kind=I4B) + + pl%nplpl = (npl * (npl - 1) / 2) ! number of entries in a strict lower triangle, npl x npl, minus first column + pl%nplplm = nplm * npl - nplm * (nplm + 1) / 2 ! number of entries in a strict lower triangle, npl x npl, minus first column including only mutually interacting bodies + if (allocated(self%k_plpl)) deallocate(self%k_plpl) ! Reset the index array if it's been set previously + allocate(self%k_plpl(2, pl%nplpl)) + do i = 1, npl + counter = (i - 1_I8B) * npl - i * (i - 1_I8B) / 2_I8B + 1_I8B + do j = i + 1_I8B, npl + self%k_plpl(1, counter) = i + self%k_plpl(2, counter) = j + counter = counter + 1_I8B + end do + end do + end associate + + return + end subroutine symba_util_index_eucl_plpl + + module subroutine symba_util_peri_pl(self, system, param) !! author: David A. Minton !! @@ -361,78 +404,165 @@ module subroutine symba_util_rearray_pl(self, system, param) ! Arguments class(symba_pl), intent(inout) :: self !! SyMBA massive body object class(symba_nbody_system), intent(inout) :: system !! Swiftest nbody system object - class(symba_parameters), intent(in) :: param !! Current run configuration parameters + class(symba_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals class(symba_pl), allocatable :: tmp !! The discarded body list. - integer(I4B) :: i - logical, dimension(:), allocatable :: lmask + integer(I4B) :: i, j, k, npl, nadd, nencmin, nenc_old, idnew1, idnew2, idold1, idold2 + logical, dimension(:), allocatable :: lmask, ldump_mask + class(symba_plplenc), allocatable :: plplenc_old + logical :: lencounter + integer(I4B), dimension(:), allocatable :: levelg_orig_pl, levelm_orig_pl, levelg_orig_tp, levelm_orig_tp, nplenc_orig_pl, nplenc_orig_tp, ntpenc_orig_pl associate(pl => self, pl_adds => system%pl_adds) - allocate(tmp, mold=pl) + + npl = pl%nbody + nadd = pl_adds%nbody + if (npl == 0) return + ! Deallocate any temporary variables + if (allocated(pl%xbeg)) deallocate(pl%xbeg) + if (allocated(pl%xend)) deallocate(pl%xend) + ! Remove the discards and destroy the list, as the system already tracks pl_discards elsewhere - allocate(lmask, source=pl%ldiscard(:)) - lmask(:) = lmask(:) .or. pl%status(:) == INACTIVE + allocate(lmask(npl)) + lmask(1:npl) = pl%ldiscard(1:npl) + allocate(tmp, mold=self) call pl%spill(tmp, lspill_list=lmask, ldestructive=.true.) + npl = pl%nbody call tmp%setup(0,param) deallocate(tmp) + deallocate(lmask) - ! Deallocate any temporary variables - if (allocated(pl%xbeg)) deallocate(pl%xbeg) - if (allocated(pl%xend)) deallocate(pl%xend) + ! Store the original plplenc list so we don't remove any of the original encounters + nenc_old = system%plplenc_list%nenc + if (nenc_old > 0) then + allocate(plplenc_old, source=system%plplenc_list) + call plplenc_old%copy(system%plplenc_list) + end if ! Add in any new bodies - if (pl_adds%nbody > 0) then - call pl%append(pl_adds, lsource_mask=[(.true., i=1, pl_adds%nbody)]) - call symba_io_dump_particle_info(system, param, plidx=[(i, i = 1, pl%nbody)]) - end if - - ! If there are still bodies in the system, sort by mass in descending order and re-index - if (pl%nbody > 0) then - call pl%sort("mass", ascending=.false.) - pl%lmtiny(:) = pl%Gmass(:) > param%GMTINY - pl%nplm = count(pl%lmtiny(:)) - call pl%eucl_index() + if (nadd > 0) then + ! Append the adds to the main pl object + call pl%append(pl_adds, lsource_mask=[(.true., i=1, nadd)]) + + allocate(ldump_mask(npl+nadd)) ! This mask is used only to append the original Fortran binary particle.dat file with new bodies. This is ignored for NetCDF output + ldump_mask(1:npl) = .false. + ldump_mask(npl+1:npl+nadd) = pl%status(npl+1:npl+nadd) == NEW_PARTICLE + npl = pl%nbody + else + allocate(ldump_mask(npl)) + ldump_mask(:) = .false. end if + ! Reset all of the status flags for this body + pl%status(1:npl) = ACTIVE + do i = 1, npl + call pl%info(i)%set_value(status="ACTIVE") + end do + pl%ldiscard(1:npl) = .false. + pl%lcollision(1:npl) = .false. + pl%lmask(1:npl) = .true. + + select type(param) + class is (symba_parameters) + pl%lmtiny(1:npl) = pl%Gmass(1:npl) < param%GMTINY + where(pl%lmtiny(1:npl)) + pl%info(1:npl)%particle_type = PL_TINY_TYPE_NAME + elsewhere + pl%info(1:npl)%particle_type = PL_TYPE_NAME + end where + end select + + call pl%dump_particle_info(param, idx=pack([(i, i=1, npl)], ldump_mask)) + deallocate(ldump_mask) + + ! Reindex the new list of bodies + call pl%sort("mass", ascending=.false.) + call pl%index(param) + + ! Reset the kinship trackers + call pl%reset_kinship([(i, i=1, npl)]) + + ! Re-build the zero-level encounter list, being sure to save the original level information for all bodies + allocate(levelg_orig_pl, source=pl%levelg) + allocate(levelm_orig_pl, source=pl%levelm) + allocate(nplenc_orig_pl, source=pl%nplenc) + lencounter = pl%encounter_check(system, param%dt, 0) + if (system%tp%nbody > 0) then + select type(tp => system%tp) + class is (symba_tp) + allocate(ntpenc_orig_pl, source=pl%ntpenc) + allocate(levelg_orig_tp, source=tp%levelg) + allocate(levelm_orig_tp, source=tp%levelm) + allocate(nplenc_orig_tp, source=tp%nplenc) + lencounter = tp%encounter_check(system, param%dt, 0) + call move_alloc(levelg_orig_tp, tp%levelg) + call move_alloc(levelm_orig_tp, tp%levelm) + call move_alloc(nplenc_orig_tp, tp%nplenc) + call move_alloc(ntpenc_orig_pl, pl%ntpenc) + end select + end if + call move_alloc(levelg_orig_pl, pl%levelg) + call move_alloc(levelm_orig_pl, pl%levelm) + call move_alloc(nplenc_orig_pl, pl%nplenc) + + ! Re-index the encounter list as the index values may have changed + if (nenc_old > 0) then + nencmin = min(system%plplenc_list%nenc, plplenc_old%nenc) + do k = 1, nencmin + idnew1 = system%plplenc_list%id1(k) + idnew2 = system%plplenc_list%id2(k) + idold1 = plplenc_old%id1(k) + idold2 = plplenc_old%id2(k) + if ((idnew1 == idold1) .and. (idnew2 == idold2)) then + ! This is an encounter we already know about, so save the old information + system%plplenc_list%lvdotr(k) = plplenc_old%lvdotr(k) + system%plplenc_list%status(k) = plplenc_old%status(k) + system%plplenc_list%x1(:,k) = plplenc_old%x1(:,k) + system%plplenc_list%x2(:,k) = plplenc_old%x2(:,k) + system%plplenc_list%v1(:,k) = plplenc_old%v1(:,k) + system%plplenc_list%v2(:,k) = plplenc_old%v2(:,k) + system%plplenc_list%t(k) = plplenc_old%t(k) + system%plplenc_list%level(k) = plplenc_old%level(k) + else if (((idnew1 == idold2) .and. (idnew2 == idold1))) then + ! This is an encounter we already know about, but with the order reversed, so save the old information + system%plplenc_list%lvdotr(k) = plplenc_old%lvdotr(k) + system%plplenc_list%status(k) = plplenc_old%status(k) + system%plplenc_list%x1(:,k) = plplenc_old%x2(:,k) + system%plplenc_list%x2(:,k) = plplenc_old%x1(:,k) + system%plplenc_list%v1(:,k) = plplenc_old%v2(:,k) + system%plplenc_list%v2(:,k) = plplenc_old%v1(:,k) + system%plplenc_list%t(k) = plplenc_old%t(k) + system%plplenc_list%level(k) = plplenc_old%level(k) + end if + end do + end if end associate return end subroutine symba_util_rearray_pl - module subroutine symba_util_resize_arr_info(arr, nnew) + module subroutine symba_util_reset_kinship(self, idx) !! author: David A. Minton + !! + !! Resets the kinship status of bodies. !! - !! Resizes an array component of type character string. Array will only be resized if has previously been allocated. Passing nnew = 0 will deallocate. implicit none - ! Arguments - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Array to resize - integer(I4B), intent(in) :: nnew !! New size + class(symba_pl), intent(inout) :: self !! SyMBA massive body object + integer(I4B), dimension(:), intent(in) :: idx !! Index array of bodies to reset ! Internals - type(symba_particle_info), dimension(:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated - integer(I4B) :: nold !! Old size - - if (.not. allocated(arr) .or. nnew < 0) return - - nold = size(arr) - if (nnew == nold) return + integer(I4B) :: i, j - if (nnew == 0) then - deallocate(arr) - return - end if - - allocate(tmp(nnew)) - if (nnew > nold) then - tmp(1:nold) = arr(1:nold) - else - tmp(1:nnew) = arr(1:nnew) - end if - call move_alloc(tmp, arr) + self%kin(idx(:))%parent = idx(:) + self%kin(idx(:))%nchild = 0 + do j = 1, size(idx(:)) + i = idx(j) + if (allocated(self%kin(i)%child)) deallocate(self%kin(i)%child) + end do return - end subroutine symba_util_resize_arr_info - + end subroutine symba_util_reset_kinship + module subroutine symba_util_resize_arr_kin(arr, nnew) !! author: David A. Minton @@ -446,16 +576,19 @@ module subroutine symba_util_resize_arr_kin(arr, nnew) type(symba_kinship), dimension(:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated integer(I4B) :: nold !! Old size - if (.not. allocated(arr) .or. nnew < 0) return - - nold = size(arr) - if (nnew == nold) return + if (nnew < 0) return if (nnew == 0) then - deallocate(arr) + if (allocated(arr)) deallocate(arr) return end if + if (allocated(arr)) then + nold = size(arr) + else + nold = 0 + end if + allocate(tmp(nnew)) if (nnew > nold) then tmp(1:nold) = arr(1:nold) @@ -505,7 +638,6 @@ module subroutine symba_util_resize_pl(self, nnew) call util_resize(self%peri, nnew) call util_resize(self%atp, nnew) call util_resize(self%kin, nnew) - call util_resize(self%info, nnew) call util_resize_pl(self, nnew) @@ -525,7 +657,6 @@ module subroutine symba_util_resize_tp(self, nnew) call util_resize(self%nplenc, nnew) call util_resize(self%levelg, nnew) call util_resize(self%levelm, nnew) - call util_resize(self%info, nnew) call util_resize_tp(self, nnew) @@ -544,7 +675,7 @@ module subroutine symba_util_sort_pl(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind + integer(I4B), dimension(:), allocatable :: ind integer(I4B) :: direction if (self%nbody == 0) return @@ -556,6 +687,7 @@ module subroutine symba_util_sort_pl(self, sortby, ascending) end if associate(pl => self, npl => self%nbody) + allocate(ind(npl)) select case(sortby) case("nplenc") call util_sort(direction * pl%nplenc(1:npl), ind(1:npl)) @@ -594,7 +726,7 @@ module subroutine symba_util_sort_tp(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind + integer(I4B), dimension(:), allocatable :: ind integer(I4B) :: direction if (self%nbody == 0) return @@ -606,6 +738,7 @@ module subroutine symba_util_sort_tp(self, sortby, ascending) end if associate(tp => self, ntp => self%nbody) + allocate(ind(ntp)) select case(sortby) case("nplenc") call util_sort(direction * tp%nplenc(1:ntp), ind(1:ntp)) @@ -625,6 +758,35 @@ module subroutine symba_util_sort_tp(self, sortby, ascending) end subroutine symba_util_sort_tp + + module subroutine symba_util_sort_rearrange_arr_kin(arr, ind, n) + !! author: David A. Minton + !! + !! Rearrange a single array of particle kinship type in-place from an index list. + implicit none + ! Arguments + type(symba_kinship), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange + ! Internals + type(symba_kinship), dimension(:), allocatable :: tmp !! Temporary copy of array used during rearrange operation + integer(I4B) :: i,j + + if (.not. allocated(arr) .or. n <= 0) return + allocate(tmp, source=arr) + tmp(1:n) = arr(ind(1:n)) + + do i = 1, n + do j = 1, tmp(i)%nchild + tmp(i)%child(j) = ind(tmp(i)%child(j)) + end do + end do + + call move_alloc(tmp, arr) + return + end subroutine symba_util_sort_rearrange_arr_kin + + module subroutine symba_util_sort_rearrange_pl(self, ind) !! author: David A. Minton !! @@ -635,32 +797,22 @@ module subroutine symba_util_sort_rearrange_pl(self, ind) class(symba_pl), intent(inout) :: self !! SyMBA massive body object integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) ! Internals - class(symba_pl), allocatable :: pl_sorted !! Temporary holder for sorted body integer(I4B) :: i, j associate(pl => self, npl => self%nbody) + call util_sort_rearrange(pl%lcollision, ind, npl) + call util_sort_rearrange(pl%lencounter, ind, npl) + call util_sort_rearrange(pl%lmtiny, ind, npl) + call util_sort_rearrange(pl%nplenc, ind, npl) + call util_sort_rearrange(pl%ntpenc, ind, npl) + call util_sort_rearrange(pl%levelg, ind, npl) + call util_sort_rearrange(pl%levelm, ind, npl) + call util_sort_rearrange(pl%isperi, ind, npl) + call util_sort_rearrange(pl%peri, ind, npl) + call util_sort_rearrange(pl%atp, ind, npl) + call util_sort_rearrange(pl%kin, ind, npl) + call util_sort_rearrange_pl(pl,ind) - allocate(pl_sorted, source=self) - if (allocated(pl%lcollision)) pl%lcollision(1:npl) = pl_sorted%lcollision(ind(1:npl)) - if (allocated(pl%lencounter)) pl%lencounter(1:npl) = pl_sorted%lencounter(ind(1:npl)) - if (allocated(pl%lmtiny)) pl%lmtiny(1:npl) = pl_sorted%lmtiny(ind(1:npl)) - if (allocated(pl%nplenc)) pl%nplenc(1:npl) = pl_sorted%nplenc(ind(1:npl)) - if (allocated(pl%ntpenc)) pl%ntpenc(1:npl) = pl_sorted%ntpenc(ind(1:npl)) - if (allocated(pl%levelg)) pl%levelg(1:npl) = pl_sorted%levelg(ind(1:npl)) - if (allocated(pl%levelm)) pl%levelm(1:npl) = pl_sorted%levelm(ind(1:npl)) - if (allocated(pl%isperi)) pl%isperi(1:npl) = pl_sorted%isperi(ind(1:npl)) - if (allocated(pl%peri)) pl%peri(1:npl) = pl_sorted%peri(ind(1:npl)) - if (allocated(pl%atp)) pl%atp(1:npl) = pl_sorted%atp(ind(1:npl)) - if (allocated(pl%info)) pl%info(1:npl) = pl_sorted%info(ind(1:npl)) - if (allocated(pl%kin)) then - pl%kin(1:npl) = pl_sorted%kin(ind(1:npl)) - do i = 1, npl - do j = 1, pl%kin(i)%nchild - pl%kin(i)%child(j) = ind(pl%kin(i)%child(j)) - end do - end do - end if - deallocate(pl_sorted) end associate return @@ -676,51 +828,19 @@ module subroutine symba_util_sort_rearrange_tp(self, ind) ! Arguments class(symba_tp), intent(inout) :: self !! SyMBA test particle object integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) - ! Internals - class(symba_tp), allocatable :: tp_sorted !! Temporary holder for sorted body associate(tp => self, ntp => self%nbody) + call util_sort_rearrange(tp%nplenc, ind, ntp) + call util_sort_rearrange(tp%levelg, ind, ntp) + call util_sort_rearrange(tp%levelm, ind, ntp) + call util_sort_rearrange_tp(tp,ind) - allocate(tp_sorted, source=self) - if (allocated(tp%nplenc)) tp%nplenc(1:ntp) = tp_sorted%nplenc(ind(1:ntp)) - if (allocated(tp%levelg)) tp%levelg(1:ntp) = tp_sorted%levelg(ind(1:ntp)) - if (allocated(tp%levelm)) tp%levelm(1:ntp) = tp_sorted%levelm(ind(1:ntp)) - if (allocated(tp%info)) tp%info(1:ntp) = tp_sorted%info(ind(1:ntp)) - deallocate(tp_sorted) end associate return end subroutine symba_util_sort_rearrange_tp - module subroutine symba_util_spill_arr_info(keeps, discards, lspill_list, ldestructive) - !! author: David A. Minton - !! - !! Performs a spill operation on a single array of particle origin information types - !! This is the inverse of a spill operation - implicit none - ! Arguments - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep - type(symba_particle_info), dimension(:), allocatable, intent(inout) :: discards !! Array of discards - logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discardss - logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not - - if (.not.allocated(keeps) .or. count(lspill_list(:)) == 0) return - if (.not.allocated(discards)) allocate(discards(count(lspill_list(:)))) - - discards(:) = pack(keeps(:), lspill_list(:)) - if (ldestructive) then - if (count(.not.lspill_list(:)) > 0) then - keeps(:) = pack(keeps(:), .not. lspill_list(:)) - else - deallocate(keeps) - end if - end if - - return - end subroutine symba_util_spill_arr_info - - module subroutine symba_util_spill_arr_kin(keeps, discards, lspill_list, ldestructive) !! author: David A. Minton !! @@ -732,14 +852,25 @@ module subroutine symba_util_spill_arr_kin(keeps, discards, lspill_list, ldestru type(symba_kinship), dimension(:), allocatable, intent(inout) :: discards !! Array of discards logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discardss logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + ! Internals + integer(I4B) :: nspill, nkeep, nlist + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(nspill)) + else if (size(discards) /= nspill) then + deallocate(discards) + allocate(discards(nspill)) + end if - if (.not.allocated(keeps) .or. count(lspill_list(:)) == 0) return - if (.not.allocated(discards)) allocate(discards(count(lspill_list(:)))) - - discards(:) = pack(keeps(:), lspill_list(:)) + discards(:) = pack(keeps(1:nlist), lspill_list(1:nlist)) if (ldestructive) then - if (count(.not.lspill_list(:)) > 0) then - keeps(:) = pack(keeps(:), .not. lspill_list(:)) + if (nkeep > 0) then + keeps(:) = pack(keeps(1:nlist), .not. lspill_list(1:nlist)) else deallocate(keeps) end if @@ -760,8 +891,6 @@ module subroutine symba_util_spill_pl(self, discards, lspill_list, ldestructive) class(swiftest_body), intent(inout) :: discards !! Discarded object logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter body by removing the discard list - ! Internals - integer(I4B) :: i ! For each component, pack the discarded bodies into the discard object and do the inverse with the keeps !> Spill all the common components @@ -778,7 +907,6 @@ module subroutine symba_util_spill_pl(self, discards, lspill_list, ldestructive) call util_spill(keeps%isperi, discards%isperi, lspill_list, ldestructive) call util_spill(keeps%peri, discards%peri, lspill_list, ldestructive) call util_spill(keeps%atp, discards%atp, lspill_list, ldestructive) - call util_spill(keeps%info, discards%info, lspill_list, ldestructive) call util_spill(keeps%kin, discards%kin, lspill_list, ldestructive) call util_spill_pl(keeps, discards, lspill_list, ldestructive) @@ -792,33 +920,31 @@ module subroutine symba_util_spill_pl(self, discards, lspill_list, ldestructive) end subroutine symba_util_spill_pl - module subroutine symba_util_spill_pltpenc(self, discards, lspill_list, ldestructive) + module subroutine symba_util_spill_encounter(self, discards, lspill_list, ldestructive) !! author: David A. Minton !! !! Move spilled (discarded) SyMBA encounter structure from active list to discard list !! Note: Because the symba_plplenc currently does not contain any additional variable components, this method can recieve it as an input as well. implicit none ! Arguments - class(symba_pltpenc), intent(inout) :: self !! SyMBA pl-tp encounter list + class(symba_encounter), intent(inout) :: self !! SyMBA pl-tp encounter list class(swiftest_encounter), intent(inout) :: discards !! Discarded object logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter body by removing the discard list - ! Internals - integer(I4B) :: i associate(keeps => self) select type(discards) - class is (symba_pltpenc) + class is (symba_encounter) call util_spill(keeps%level, discards%level, lspill_list, ldestructive) call util_spill_encounter(keeps, discards, lspill_list, ldestructive) class default - write(*,*) "Invalid object passed to the spill method. Source must be of class symba_pltpenc or its descendents!" + write(*,*) "Invalid object passed to the spill method. Source must be of class symba_encounter or its descendents!" call util_exit(FAILURE) end select end associate return - end subroutine symba_util_spill_pltpenc + end subroutine symba_util_spill_encounter module subroutine symba_util_spill_tp(self, discards, lspill_list, ldestructive) @@ -832,8 +958,6 @@ module subroutine symba_util_spill_tp(self, discards, lspill_list, ldestructive) class(swiftest_body), intent(inout) :: discards !! Discarded object logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter body by removing the discard list - ! Internals - integer(I4B) :: i ! For each component, pack the discarded bodies into the discard object and do the inverse with the keeps !> Spill all the common components @@ -843,7 +967,6 @@ module subroutine symba_util_spill_tp(self, discards, lspill_list, ldestructive) call util_spill(keeps%nplenc, discards%nplenc, lspill_list, ldestructive) call util_spill(keeps%levelg, discards%levelg, lspill_list, ldestructive) call util_spill(keeps%levelm, discards%levelm, lspill_list, ldestructive) - call util_spill(keeps%info, discards%info, lspill_list, ldestructive) call util_spill_tp(keeps, discards, lspill_list, ldestructive) class default @@ -855,4 +978,4 @@ module subroutine symba_util_spill_tp(self, discards, lspill_list, ldestructive) return end subroutine symba_util_spill_tp -end submodule s_symba_util \ No newline at end of file +end submodule s_symba_util diff --git a/src/tides/tides_getacch_pl.f90 b/src/tides/tides_getacch_pl.f90 index f0bf64cc7..4feb76221 100644 --- a/src/tides/tides_getacch_pl.f90 +++ b/src/tides/tides_getacch_pl.f90 @@ -48,8 +48,8 @@ module subroutine tides_kick_getacch_pl(self, system) Ftr = -3 / rmag**7 * (r5cbterm + r5plterm) - 3 * vmag / rmag * (Ptocb + Ptopl) F_T(:) = (Ftr + (Ptocb + Ptopl) * dot_product(v_unit, r_unit) / rmag) * r_unit(:) & - + Ptopl * (pl%rot(:,i) - theta_dot(:)) .cross. r_unit(:) & - + Ptocb * (cb%rot(:) - theta_dot(:)) .cross. r_unit(:) + + Ptopl * ((pl%rot(:,i) - theta_dot(:)) .cross. r_unit(:)) & + + Ptocb * ((cb%rot(:) - theta_dot(:)) .cross. r_unit(:)) cb%atide(:) = cb%atide(:) + F_T(:) / cb%Gmass pl%atide(:,i) = F_T(:) / pl%Gmass(i) end do diff --git a/src/util/util_append.f90 b/src/util/util_append.f90 index dc48f9861..ffe576c85 100644 --- a/src/util/util_append.f90 +++ b/src/util/util_append.f90 @@ -12,16 +12,19 @@ module subroutine util_append_arr_char_string(arr, source, nold, nsrc, lsource_m character(len=STRMAX), dimension(:), allocatable, intent(in) :: source !! Array to append integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nnew if (.not. allocated(source)) return + nnew = count(lsource_mask(1:nsrc)) if (.not.allocated(arr)) then - allocate(arr(nold+nsrc)) + allocate(arr(nold+nnew)) else - call util_resize(arr, nold + nsrc) + call util_resize(arr, nold + nnew) end if - arr(nold + 1:nold + nsrc) = pack(source(1:nsrc), lsource_mask(1:nsrc)) + arr(nold + 1:nold + nnew) = pack(source(1:nsrc), lsource_mask(1:nsrc)) return end subroutine util_append_arr_char_string @@ -37,16 +40,19 @@ module subroutine util_append_arr_DP(arr, source, nold, nsrc, lsource_mask) real(DP), dimension(:), allocatable, intent(in) :: source !! Array to append integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nnew if (.not. allocated(source)) return + nnew = count(lsource_mask(1:nsrc)) if (.not.allocated(arr)) then - allocate(arr(nold+nsrc)) + allocate(arr(nold+nnew)) else - call util_resize(arr, nold + nsrc) + call util_resize(arr, nold + nnew) end if - arr(nold + 1:nold + nsrc) = pack(source(1:nsrc), lsource_mask(1:nsrc)) + arr(nold + 1:nold + nnew) = pack(source(1:nsrc), lsource_mask(1:nsrc)) return end subroutine util_append_arr_DP @@ -62,18 +68,21 @@ module subroutine util_append_arr_DPvec(arr, source, nold, nsrc, lsource_mask) real(DP), dimension(:,:), allocatable, intent(in) :: source !! Array to append integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nnew if (.not. allocated(source)) return + nnew = count(lsource_mask(1:nsrc)) if (.not.allocated(arr)) then - allocate(arr(NDIM, nold+nsrc)) + allocate(arr(NDIM,nold+nnew)) else - call util_resize(arr, nold + nsrc) + call util_resize(arr, nold + nnew) end if - arr(1, nold + 1:nold + nsrc) = pack(source(1,1:nsrc), lsource_mask(1:nsrc)) - arr(2, nold + 1:nold + nsrc) = pack(source(2,1:nsrc), lsource_mask(1:nsrc)) - arr(3, nold + 1:nold + nsrc) = pack(source(3,1:nsrc), lsource_mask(1:nsrc)) + arr(1, nold + 1:nold + nnew) = pack(source(1,1:nsrc), lsource_mask(1:nsrc)) + arr(2, nold + 1:nold + nnew) = pack(source(2,1:nsrc), lsource_mask(1:nsrc)) + arr(3, nold + 1:nold + nnew) = pack(source(3,1:nsrc), lsource_mask(1:nsrc)) return end subroutine util_append_arr_DPvec @@ -89,21 +98,57 @@ module subroutine util_append_arr_I4B(arr, source, nold, nsrc, lsource_mask) integer(I4B), dimension(:), allocatable, intent(in) :: source !! Array to append integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nnew if (.not. allocated(source)) return + nnew = count(lsource_mask(1:nsrc)) if (.not.allocated(arr)) then - allocate(arr(nold+nsrc)) + allocate(arr(nold+nnew)) else - call util_resize(arr, nold + nsrc) + call util_resize(arr, nold + nnew) end if - arr(nold + 1:nold + nsrc) = pack(source(1:nsrc), lsource_mask(1:nsrc)) + arr(nold + 1:nold + nnew) = pack(source(1:nsrc), lsource_mask(1:nsrc)) return end subroutine util_append_arr_I4B + module subroutine util_append_arr_info(arr, source, nold, nsrc, lsource_mask) + !! author: David A. Minton + !! + !! Append a single array of particle information type onto another. If the destination array is not allocated, or is not big enough, this will allocate space for it. + implicit none + ! Arguments + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Destination array + type(swiftest_particle_info), dimension(:), allocatable, intent(in) :: source !! Array to append + integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively + logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nnew, i + integer(I4B), dimension(:), allocatable :: idx + + if (.not. allocated(source)) return + + nnew = count(lsource_mask(1:nsrc)) + if (.not.allocated(arr)) then + allocate(arr(nold+nnew)) + else + call util_resize(arr, nold + nnew) + end if + + allocate(idx(nnew)) + + idx = pack([(i, i = 1, nsrc)], lsource_mask(1:nsrc)) + + call util_copy_particle_info_arr(source(1:nsrc), arr(nold+1:nold+nnew), idx) + + return + end subroutine util_append_arr_info + + module subroutine util_append_arr_logical(arr, source, nold, nsrc, lsource_mask) !! author: David A. Minton !! @@ -114,16 +159,19 @@ module subroutine util_append_arr_logical(arr, source, nold, nsrc, lsource_mask) logical, dimension(:), allocatable, intent(in) :: source !! Array to append integer(I4B), intent(in) :: nold, nsrc !! Extend of the old array and the source array, respectively logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nnew if (.not. allocated(source)) return + nnew = count(lsource_mask(1:nsrc)) if (.not.allocated(arr)) then - allocate(arr(nold+nsrc)) + allocate(arr(nold+nnew)) else - call util_resize(arr, nold + nsrc) + call util_resize(arr, nold + nnew) end if - arr(nold + 1:nold + nsrc) = pack(source(1:nsrc), lsource_mask(1:nsrc)) + arr(nold + 1:nold + nnew) = pack(source(1:nsrc), lsource_mask(1:nsrc)) return end subroutine util_append_arr_logical @@ -136,40 +184,76 @@ module subroutine util_append_body(self, source, lsource_mask) !! This method will automatically resize the destination body if it is too small implicit none ! Arguments - class(swiftest_body), intent(inout) :: self !! Swiftest body object - class(swiftest_body), intent(in) :: source !! Source object to append - logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to - - associate(nold => self%nbody, nsrc => source%nbody) - call util_append(self%name, source%name, nold, nsrc, lsource_mask) - call util_append(self%id, source%id, nold, nsrc, lsource_mask) - call util_append(self%status, source%status, nold, nsrc, lsource_mask) - call util_append(self%ldiscard, source%ldiscard, nold, nsrc, lsource_mask) - call util_append(self%lmask, source%lmask, nold, nsrc, lsource_mask) - call util_append(self%mu, source%mu, nold, nsrc, lsource_mask) - call util_append(self%xh, source%xh, nold, nsrc, lsource_mask) - call util_append(self%vh, source%vh, nold, nsrc, lsource_mask) - call util_append(self%xb, source%xb, nold, nsrc, lsource_mask) - call util_append(self%vb, source%vb, nold, nsrc, lsource_mask) - call util_append(self%ah, source%ah, nold, nsrc, lsource_mask) - call util_append(self%aobl, source%aobl, nold, nsrc, lsource_mask) - call util_append(self%atide, source%atide, nold, nsrc, lsource_mask) - call util_append(self%agr, source%agr, nold, nsrc, lsource_mask) - call util_append(self%ir3h, source%ir3h, nold, nsrc, lsource_mask) - call util_append(self%a, source%a, nold, nsrc, lsource_mask) - call util_append(self%e, source%e, nold, nsrc, lsource_mask) - call util_append(self%inc, source%inc, nold, nsrc, lsource_mask) - call util_append(self%capom, source%capom, nold, nsrc, lsource_mask) - call util_append(self%omega, source%omega, nold, nsrc, lsource_mask) - call util_append(self%capm, source%capm, nold, nsrc, lsource_mask) - end associate - - self%nbody = count(self%status(:) /= INACTIVE) + class(swiftest_body), intent(inout) :: self !! Swiftest body object + class(swiftest_body), intent(in) :: source !! Source object to append + logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nold, nsrc, nnew + + nold = self%nbody + nsrc = source%nbody + nnew = count(lsource_mask(1:nsrc)) + + call util_append(self%info, source%info, nold, nsrc, lsource_mask) + call util_append(self%id, source%id, nold, nsrc, lsource_mask) + call util_append(self%status, source%status, nold, nsrc, lsource_mask) + call util_append(self%ldiscard, source%ldiscard, nold, nsrc, lsource_mask) + call util_append(self%lmask, source%lmask, nold, nsrc, lsource_mask) + call util_append(self%mu, source%mu, nold, nsrc, lsource_mask) + call util_append(self%xh, source%xh, nold, nsrc, lsource_mask) + call util_append(self%vh, source%vh, nold, nsrc, lsource_mask) + call util_append(self%xb, source%xb, nold, nsrc, lsource_mask) + call util_append(self%vb, source%vb, nold, nsrc, lsource_mask) + call util_append(self%ah, source%ah, nold, nsrc, lsource_mask) + call util_append(self%aobl, source%aobl, nold, nsrc, lsource_mask) + call util_append(self%atide, source%atide, nold, nsrc, lsource_mask) + call util_append(self%agr, source%agr, nold, nsrc, lsource_mask) + call util_append(self%ir3h, source%ir3h, nold, nsrc, lsource_mask) + call util_append(self%a, source%a, nold, nsrc, lsource_mask) + call util_append(self%e, source%e, nold, nsrc, lsource_mask) + call util_append(self%inc, source%inc, nold, nsrc, lsource_mask) + call util_append(self%capom, source%capom, nold, nsrc, lsource_mask) + call util_append(self%omega, source%omega, nold, nsrc, lsource_mask) + call util_append(self%capm, source%capm, nold, nsrc, lsource_mask) + + self%nbody = nold + nnew return end subroutine util_append_body + module subroutine util_append_encounter(self, source, lsource_mask) + !! author: David A. Minton + !! + !! Append components from one Swiftest body object to another. + !! This method will automatically resize the destination body if it is too small + implicit none + ! Arguments + class(swiftest_encounter), intent(inout) :: self !! Swiftest encounter list object + class(swiftest_encounter), intent(in) :: source !! Source object to append + logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to + ! Internals + integer(I4B) :: nold, nsrc + + nold = self%nenc + nsrc = source%nenc + call util_append(self%lvdotr, source%lvdotr, nold, nsrc, lsource_mask) + call util_append(self%status, source%status, nold, nsrc, lsource_mask) + call util_append(self%index1, source%index1, nold, nsrc, lsource_mask) + call util_append(self%index2, source%index2, nold, nsrc, lsource_mask) + call util_append(self%id1, source%id1, nold, nsrc, lsource_mask) + call util_append(self%id2, source%id2, nold, nsrc, lsource_mask) + call util_append(self%x1, source%x1, nold, nsrc, lsource_mask) + call util_append(self%x2, source%x2, nold, nsrc, lsource_mask) + call util_append(self%v1, source%v1, nold, nsrc, lsource_mask) + call util_append(self%v2, source%v2, nold, nsrc, lsource_mask) + call util_append(self%t, source%t, nold, nsrc, lsource_mask) + self%nenc = nold + count(lsource_mask(1:nsrc)) + + return + end subroutine util_append_encounter + + module subroutine util_append_pl(self, source, lsource_mask) !! author: David A. Minton !! @@ -181,7 +265,6 @@ module subroutine util_append_pl(self, source, lsource_mask) class(swiftest_body), intent(in) :: source !! Source object to append logical, dimension(:), intent(in) :: lsource_mask !! Logical mask indicating which elements to append to - select type(source) class is (swiftest_pl) associate(nold => self%nbody, nsrc => source%nbody) @@ -199,10 +282,10 @@ module subroutine util_append_pl(self, source, lsource_mask) call util_append(self%Q, source%Q, nold, nsrc, lsource_mask) call util_append(self%tlag, source%tlag, nold, nsrc, lsource_mask) + if (allocated(self%k_plpl)) deallocate(self%k_plpl) + call util_append_body(self, source, lsource_mask) end associate - - call self%eucl_index() class default write(*,*) "Invalid object passed to the append method. Source must be of class swiftest_pl or its descendents" call util_exit(FAILURE) diff --git a/src/util/util_coord.f90 b/src/util/util_coord.f90 index 2a970d0dc..b4a77231c 100644 --- a/src/util/util_coord.f90 +++ b/src/util/util_coord.f90 @@ -45,7 +45,7 @@ end subroutine util_coord_h2b_pl module subroutine util_coord_h2b_tp(self, cb) !! author: David A. Minton !! - !! Convert massive bodies from heliocentric to barycentric coordinates (position and velocity) + !! Convert test particles from heliocentric to barycentric coordinates (position and velocity) !! !! Adapted from David E. Kaufmann's Swifter routine coord_h2b_tp.f90 !! Adapted from Hal Levison's Swift routine coord_h2b_tp.f @@ -120,5 +120,174 @@ module subroutine util_coord_b2h_tp(self, cb) return end subroutine util_coord_b2h_tp + + + module subroutine util_coord_vb2vh_pl(self, cb) + !! author: David A. Minton + !! + !! Convert massive bodies from barycentric to heliocentric coordinates (velocity only) + !! + !! Adapted from David E. Kaufmann's Swifter routine coord_vb2vh.f90 + !! Adapted from Hal Levison's Swift routine coord_vb2vh.f + implicit none + ! Arguments + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object + ! Internals + integer(I4B) :: i + + if (self%nbody == 0) return + + associate(pl => self, npl => self%nbody) + do i = 1, NDIM + cb%vb(i) = -sum(pl%Gmass(1:npl) * pl%vb(i, 1:npl)) / cb%Gmass + pl%vh(i, 1:npl) = pl%vb(i, 1:npl) - cb%vb(i) + end do + end associate + + return + end subroutine util_coord_vb2vh_pl + + + module subroutine util_coord_vb2vh_tp(self, vbcb) + !! author: David A. Minton + !! + !! Convert test particles from barycentric to heliocentric coordinates (velocity only) + !! + !! Adapted from David E. Kaufmann's Swifter routine coord_vb2vh_tp.f90 + !! Adapted from Hal Levison's Swift routine coord_vb2h_tp.f + implicit none + ! Arguments + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body + + if (self%nbody == 0) return + + associate(tp => self, ntp => self%nbody) + where (tp%lmask(1:ntp)) + tp%vh(1, 1:ntp) = tp%vb(1, 1:ntp) - vbcb(1) + tp%vh(2, 1:ntp) = tp%vb(2, 1:ntp) - vbcb(2) + tp%vh(3, 1:ntp) = tp%vb(3, 1:ntp) - vbcb(3) + end where + end associate + + return + end subroutine util_coord_vb2vh_tp + + + module subroutine util_coord_vh2vb_pl(self, cb) + !! author: David A. Minton + !! + !! Convert massive bodies from heliocentric to barycentric coordinates (velocity only) + !! + !! Adapted from David E. Kaufmann's Swifter routine coord_vh2vb.f90 + !! Adapted from Hal Levison's Swift routine coord_vh2b.f + implicit none + ! Arguments + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object + ! Internals + integer(I4B) :: i + real(DP) :: Gmtot + + if (self%nbody == 0) return + + associate(pl => self, npl => self%nbody) + Gmtot = cb%Gmass + sum(pl%Gmass(1:npl)) + do i = 1, NDIM + cb%vb(i) = -sum(pl%Gmass(1:npl) * pl%vh(i, 1:npl)) / Gmtot + pl%vb(i, 1:npl) = pl%vh(i, 1:npl) + cb%vb(i) + end do + end associate + + return + end subroutine util_coord_vh2vb_pl + + + module subroutine util_coord_vh2vb_tp(self, vbcb) + !! author: David A. Minton + !! + !! Convert test particles from heliocentric to barycentric coordinates (velocity only) + !! + !! Adapted from David E. Kaufmann's Swifter routine coord_vh2vb_tp.f90 + !! Adapted from Hal Levison's Swift routine coord_vh2b_tp.f + implicit none + ! Arguments + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + real(DP), dimension(:), intent(in) :: vbcb !! Barycentric velocity of the central body + + if (self%nbody == 0) return + + associate(tp => self, ntp => self%nbody) + where (tp%lmask(1:ntp)) + tp%vb(1, 1:ntp) = tp%vh(1, 1:ntp) + vbcb(1) + tp%vb(2, 1:ntp) = tp%vh(2, 1:ntp) + vbcb(2) + tp%vb(3, 1:ntp) = tp%vh(3, 1:ntp) + vbcb(3) + end where + end associate + + return + end subroutine util_coord_vh2vb_tp + + module subroutine util_coord_xh2xb_pl(self, cb) + !! author: David A. Minton + !! + !! Convert position vectors of massive bodies from heliocentric to barycentric coordinates (position only) + !! + !! Adapted from David E. Kaufmann's Swifter routine coord_h2b.f90 + !! Adapted from Hal Levison's Swift routine coord_h2b.f + implicit none + ! Arguments + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object + ! Internals + integer(I4B) :: i + real(DP) :: Gmtot + real(DP), dimension(NDIM) :: xtmp + + if (self%nbody == 0) return + associate(pl => self, npl => self%nbody) + Gmtot = cb%Gmass + xtmp(:) = 0.0_DP + do i = 1, npl + if (pl%status(i) == INACTIVE) cycle + Gmtot = Gmtot + pl%Gmass(i) + xtmp(:) = xtmp(:) + pl%Gmass(i) * pl%xh(:,i) + end do + cb%xb(:) = -xtmp(:) / Gmtot + do i = 1, npl + if (pl%status(i) == INACTIVE) cycle + pl%xb(:,i) = pl%xh(:,i) + cb%xb(:) + end do + end associate + + return + end subroutine util_coord_xh2xb_pl + + + module subroutine util_coord_xh2xb_tp(self, cb) + !! author: David A. Minton + !! + !! Convert test particles from heliocentric to barycentric coordinates (position only) + !! + !! Adapted from David E. Kaufmann's Swifter routine coord_h2b_tp.f90 + !! Adapted from Hal Levison's Swift routine coord_h2b_tp.f + implicit none + ! Arguments + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + class(swiftest_cb), intent(in) :: cb !! Swiftest central body object + ! Internals + integer(I4B) :: i + + if (self%nbody == 0) return + associate(tp => self, ntp => self%nbody) + do concurrent (i = 1:ntp, tp%status(i) /= INACTIVE) + tp%xb(:, i) = tp%xh(:, i) + cb%xb(:) + end do + end associate + + return + end subroutine util_coord_xh2xb_tp + end submodule s_util_coord \ No newline at end of file diff --git a/src/util/util_copy.f90 b/src/util/util_copy.f90 index f44777eec..60d93e45e 100644 --- a/src/util/util_copy.f90 +++ b/src/util/util_copy.f90 @@ -2,28 +2,100 @@ use swiftest contains -module subroutine util_copy_encounter(self, source) - !! author: David A. Minton - !! - !! Copies elements from the source encounter list into self. - implicit none - ! Arguments - class(swiftest_encounter), intent(inout) :: self !! Encounter list - class(swiftest_encounter), intent(in) :: source !! Source object to copy into - - associate(n => source%nenc) - self%nenc = n - self%lvdotr(1:n) = source%lvdotr(1:n) - self%status(1:n) = source%status(1:n) - self%index1(1:n) = source%index1(1:n) - self%index2(1:n) = source%index2(1:n) - self%x1(:,1:n) = source%x1(:,1:n) - self%x2(:,1:n) = source%x2(:,1:n) - self%v1(:,1:n) = source%v1(:,1:n) - self%v2(:,1:n) = source%v2(:,1:n) - end associate - - return -end subroutine util_copy_encounter + module subroutine util_copy_encounter(self, source) + !! author: David A. Minton + !! + !! Copies elements from the source encounter list into self. + implicit none + ! Arguments + class(swiftest_encounter), intent(inout) :: self !! Encounter list + class(swiftest_encounter), intent(in) :: source !! Source object to copy into + + associate(n => source%nenc) + self%nenc = n + self%lvdotr(1:n) = source%lvdotr(1:n) + self%status(1:n) = source%status(1:n) + self%kidx(1:n) = source%kidx(1:n) + self%index1(1:n) = source%index1(1:n) + self%index2(1:n) = source%index2(1:n) + self%id1(1:n) = source%id1(1:n) + self%id2(1:n) = source%id2(1:n) + self%x1(:,1:n) = source%x1(:,1:n) + self%x2(:,1:n) = source%x2(:,1:n) + self%v1(:,1:n) = source%v1(:,1:n) + self%v2(:,1:n) = source%v2(:,1:n) + self%t(1:n) = source%t(1:n) + end associate + + return + end subroutine util_copy_encounter + + + module subroutine util_copy_particle_info(self, source) + !! author: David A. Minton + !! + !! Copies one set of information object components into another, component-by-component + implicit none + class(swiftest_particle_info), intent(inout) :: self + class(swiftest_particle_info), intent(in) :: source + + call self%set_value(& + name = source%name, & + particle_type = source%particle_type, & + status = source%status, & + origin_type = source%origin_type, & + origin_time = source%origin_time, & + origin_xh = source%origin_xh(:), & + origin_vh = source%origin_vh(:), & + discard_time = source%discard_time, & + discard_xh = source%discard_xh(:), & + discard_vh = source%discard_vh(:), & + discard_body_id = source%discard_body_id & + ) + + return + end subroutine util_copy_particle_info + + + module subroutine util_copy_particle_info_arr(source, dest, idx) + !! author: David A. Minton + !! + !! Copies contents from an array of one particle information objects to another. + implicit none + class(swiftest_particle_info), dimension(:), intent(in) :: source !! Source object to copy into + class(swiftest_particle_info), dimension(:), intent(inout) :: dest !! Swiftest body object with particle metadata information object + integer(I4B), dimension(:), intent(in), optional :: idx !! Optional array of indices to draw the source object + ! Internals + integer(I4B) :: i, j, n, nsource, ndest + + if (size(source) == 0) return + + if (present(idx)) then + n = size(idx) + else + n = size(source) + end if + + nsource = size(source) + ndest = size(dest) + + if ((n == 0) .or. (n > ndest) .or. (n > nsource)) then + write(*,*) 'Particle info copy operation failed. n, nsource, ndest: ',n, nsource, ndest + return + end if + + do i = 1, n + if (present(idx)) then + j = idx(i) + else + j = i + end if + call dest(i)%copy(source(j)) + end do + + return + end subroutine util_copy_particle_info_arr + + end submodule s_util_copy diff --git a/src/util/util_fill.f90 b/src/util/util_fill.f90 index 4a5a70311..26b21310e 100644 --- a/src/util/util_fill.f90 +++ b/src/util/util_fill.f90 @@ -82,6 +82,35 @@ module subroutine util_fill_arr_I4B(keeps, inserts, lfill_list) return end subroutine util_fill_arr_I4B + + module subroutine util_fill_arr_info(keeps, inserts, lfill_list) + !! author: David A. Minton + !! + !! Performs a fill operation on a single array of particle origin information types + !! This is the inverse of a spill operation + implicit none + ! Arguments + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep + type(swiftest_particle_info), dimension(:), allocatable, intent(in) :: inserts !! Array of values to insert into keep + logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps + ! Internals + integer(I4B), dimension(:), allocatable :: insert_idx + integer(I4B) :: i, nkeep, ninsert + + if (.not.allocated(keeps) .or. .not.allocated(inserts)) return + + nkeep = size(keeps) + ninsert = count(lfill_list) + + allocate(insert_idx(ninsert)) + + insert_idx(:) = pack([(i, i = 1, nkeep)], lfill_list) + call util_copy_particle_info_arr(inserts, keeps, insert_idx) + + return + end subroutine util_fill_arr_info + + module subroutine util_fill_arr_logical(keeps, inserts, lfill_list) !! author: David A. Minton !! @@ -119,7 +148,7 @@ module subroutine util_fill_body(self, inserts, lfill_list) !> Fill all the common components associate(keeps => self) call util_fill(keeps%id, inserts%id, lfill_list) - call util_fill(keeps%name, inserts%name, lfill_list) + call util_fill(keeps%info, inserts%info, lfill_list) call util_fill(keeps%status, inserts%status, lfill_list) call util_fill(keeps%ldiscard, inserts%ldiscard, lfill_list) call util_fill(keeps%lmask, inserts%lmask, lfill_list) @@ -177,6 +206,8 @@ module subroutine util_fill_pl(self, inserts, lfill_list) call util_fill(keeps%vbeg, inserts%vbeg, lfill_list) call util_fill(keeps%Ip, inserts%Ip, lfill_list) call util_fill(keeps%rot, inserts%rot, lfill_list) + + if (allocated(keeps%k_plpl)) deallocate(keeps%k_plpl) call util_fill_body(keeps, inserts, lfill_list) class default diff --git a/src/util/util_get_energy_momentum.f90 b/src/util/util_get_energy_momentum.f90 index fa7cda43d..803b7bac1 100644 --- a/src/util/util_get_energy_momentum.f90 +++ b/src/util/util_get_energy_momentum.f90 @@ -14,19 +14,21 @@ module subroutine util_get_energy_momentum_system(self, param) class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters ! Internals integer(I4B) :: i, j - integer(I8B) :: k + integer(I8B) :: k, nplpl real(DP) :: oblpot, kecb, kespincb real(DP), dimension(self%pl%nbody) :: irh, kepl, kespinpl, pecb real(DP), dimension(self%pl%nbody) :: Lplorbitx, Lplorbity, Lplorbitz real(DP), dimension(self%pl%nbody) :: Lplspinx, Lplspiny, Lplspinz - real(DP), dimension(self%pl%nplpl) :: pepl real(DP), dimension(NDIM) :: Lcborbit, Lcbspin - logical, dimension(self%pl%nplpl) :: lstatpl - logical, dimension(self%pl%nbody) :: lstatus + real(DP), dimension(:), allocatable :: pepl + logical, dimension(:), allocatable :: lstatpl + real(DP) :: hx, hy, hz associate(system => self, pl => self%pl, npl => self%pl%nbody, cb => self%cb) + nplpl = pl%nplpl system%Lorbit(:) = 0.0_DP system%Lspin(:) = 0.0_DP + system%Ltot(:) = 0.0_DP system%ke_orbit = 0.0_DP system%ke_spin = 0.0_DP @@ -37,27 +39,25 @@ module subroutine util_get_energy_momentum_system(self, param) Lplspinx(:) = 0.0_DP Lplspiny(:) = 0.0_DP Lplspinz(:) = 0.0_DP - lstatus(1:npl) = pl%status(1:npl) /= INACTIVE + pl%lmask(1:npl) = pl%status(1:npl) /= INACTIVE + + system%GMtot = cb%Gmass + sum(pl%Gmass(1:npl), pl%lmask(1:npl)) kecb = cb%mass * dot_product(cb%vb(:), cb%vb(:)) - Lcborbit(:) = cb%mass * cb%xb(:) .cross. cb%vb(:) - - do concurrent (i = 1:npl, lstatus(i)) - block ! We use a block construct to prevent generating temporary arrays for local variables - real(DP) :: v2, hx, hy, hz - v2 = dot_product(pl%vb(:,i), pl%vb(:,i)) - hx = pl%xb(2,i) * pl%vb(3,i) - pl%xb(3,i) * pl%vb(2,i) - hy = pl%xb(3,i) * pl%vb(1,i) - pl%xb(1,i) * pl%vb(3,i) - hz = pl%xb(1,i) * pl%vb(2,i) - pl%xb(2,i) * pl%vb(1,i) - - ! Angular momentum from orbit - Lplorbitx(i) = pl%mass(i) * hx - Lplorbity(i) = pl%mass(i) * hy - Lplorbitz(i) = pl%mass(i) * hz - - ! Kinetic energy from orbit and spin - kepl(i) = pl%mass(i) * v2 - end block + Lcborbit(:) = cb%mass * (cb%xb(:) .cross. cb%vb(:)) + + do concurrent (i = 1:npl, pl%lmask(i)) + hx = pl%xb(2,i) * pl%vb(3,i) - pl%xb(3,i) * pl%vb(2,i) + hy = pl%xb(3,i) * pl%vb(1,i) - pl%xb(1,i) * pl%vb(3,i) + hz = pl%xb(1,i) * pl%vb(2,i) - pl%xb(2,i) * pl%vb(1,i) + + ! Angular momentum from orbit + Lplorbitx(i) = pl%mass(i) * hx + Lplorbity(i) = pl%mass(i) * hy + Lplorbitz(i) = pl%mass(i) * hz + + ! Kinetic energy from orbit + kepl(i) = pl%mass(i) * dot_product(pl%vb(:,i), pl%vb(:,i)) end do if (param%lrotation) then @@ -66,22 +66,15 @@ module subroutine util_get_energy_momentum_system(self, param) ! For simplicity, we always assume that the rotation pole is the 3rd principal axis Lcbspin(:) = cb%Ip(3) * cb%mass * cb%radius**2 * cb%rot(:) - do concurrent (i = 1:npl, lstatus(i)) - block - real(DP) :: rot2, hsx, hsy, hsz + do concurrent (i = 1:npl, pl%lmask(i)) + ! Currently we assume that the rotation pole is the 3rd principal axis + ! Angular momentum from spin + Lplspinx(i) = pl%mass(i) * pl%Ip(3,i) * pl%radius(i)**2 * pl%rot(1,i) + Lplspiny(i) = pl%mass(i) * pl%Ip(3,i) * pl%radius(i)**2 * pl%rot(2,i) + Lplspinz(i) = pl%mass(i) * pl%Ip(3,i) * pl%radius(i)**2 * pl%rot(3,i) - rot2 = dot_product(pl%rot(:,i), pl%rot(:,i)) - ! For simplicity, we always assume that the rotation pole is the 3rd principal axis - hsx = pl%Ip(3,i) * pl%radius(i)**2 * pl%rot(1,i) - hsy = pl%Ip(3,i) * pl%radius(i)**2 * pl%rot(2,i) - hsz = pl%Ip(3,i) * pl%radius(i)**2 * pl%rot(3,i) - - ! Angular momentum from spin - Lplspinx(i) = pl%mass(i) * hsx - Lplspiny(i) = pl%mass(i) * hsy - Lplspinz(i) = pl%mass(i) * hsz - kespinpl(i) = pl%mass(i) * pl%Ip(3, i) * pl%radius(i)**2 * rot2 - end block + ! Kinetic energy from spin + kespinpl(i) = pl%mass(i) * pl%Ip(3,i) * pl%radius(i)**2 * dot_product(pl%rot(:,i), pl%rot(:,i)) end do else kespincb = 0.0_DP @@ -89,48 +82,57 @@ module subroutine util_get_energy_momentum_system(self, param) end if ! Do the central body potential energy component first - associate(px => pl%xb(1,:), py => pl%xb(2,:), pz => pl%xb(3,:)) - do concurrent(i = 1:npl, lstatus(i)) - pecb(i) = -cb%Gmass * pl%mass(i) / sqrt(px(i)**2 + py(i)**2 + pz(i)**2) - end do - end associate + where(.not. pl%lmask(1:npl)) + pecb(1:npl) = 0.0_DP + end where + + do concurrent(i = 1:npl, pl%lmask(i)) + pecb(i) = -cb%Gmass * pl%mass(i) / norm2(pl%xb(:,i)) + end do ! Do the potential energy between pairs of massive bodies - associate(indi => pl%k_plpl(1, :), indj => pl%k_plpl(2, :)) - do concurrent (k = 1:pl%nplpl) - lstatpl(k) = (lstatus(indi(k)) .and. lstatus(indj(k))) - end do + allocate(lstatpl(nplpl)) + allocate(pepl(nplpl)) + do concurrent (k = 1:nplpl) + i = pl%k_plpl(1,k) + j = pl%k_plpl(2,k) + lstatpl(k) = (pl%lmask(i) .and. pl%lmask(j)) + end do - do concurrent (k = 1:pl%nplpl, lstatpl(k)) - pepl(k) = -pl%Gmass(indi(k)) * pl%mass(indj(k)) / norm2(pl%xb(:, indi(k)) - pl%xb(:, indj(k))) - end do - end associate + where(.not.lstatpl(1:nplpl)) + pepl(1:nplpl) = 0.0_DP + end where + + do concurrent (k = 1:nplpl, lstatpl(k)) + i = pl%k_plpl(1,k) + j = pl%k_plpl(2,k) + pepl(k) = -(pl%Gmass(i) * pl%mass(j)) / norm2(pl%xb(:, i) - pl%xb(:, j)) + end do - system%pe = sum(pepl(:), lstatpl(:)) + sum(pecb(1:npl), lstatus(1:npl)) + system%pe = sum(pepl(:), lstatpl(:)) + sum(pecb(1:npl), pl%lmask(1:npl)) + deallocate(lstatpl, pepl) - system%ke_orbit = 0.5_DP * (kecb + sum(kepl(1:npl), lstatus(:))) - if (param%lrotation) system%ke_spin = 0.5_DP * (kespincb + sum(kespinpl(1:npl), lstatus(:))) + system%ke_orbit = 0.5_DP * (kecb + sum(kepl(1:npl), pl%lmask(1:npl))) + if (param%lrotation) system%ke_spin = 0.5_DP * (kespincb + sum(kespinpl(1:npl), pl%lmask(1:npl))) ! Potential energy from the oblateness term if (param%loblatecb) then - do concurrent(i = 1:npl, lstatus(i)) - irh(i) = 1.0_DP / norm2(pl%xh(:,i)) - end do - call obl_pot(npl, cb%Gmass, pl%mass, cb%j2rp2, cb%j4rp4, pl%xh, irh, oblpot) - system%pe = system%pe + oblpot + call system%obl_pot() + system%pe = system%pe + system%oblpot end if - system%Lorbit(1) = Lcborbit(1) + sum(Lplorbitx(1:npl), lstatus(1:npl)) - system%Lorbit(2) = Lcborbit(2) + sum(Lplorbity(1:npl), lstatus(1:npl)) - system%Lorbit(3) = Lcborbit(3) + sum(Lplorbitz(1:npl), lstatus(1:npl)) + system%Lorbit(1) = Lcborbit(1) + sum(Lplorbitx(1:npl), pl%lmask(1:npl)) + system%Lorbit(2) = Lcborbit(2) + sum(Lplorbity(1:npl), pl%lmask(1:npl)) + system%Lorbit(3) = Lcborbit(3) + sum(Lplorbitz(1:npl), pl%lmask(1:npl)) if (param%lrotation) then - system%Lspin(1) = Lcbspin(1) + sum(Lplspinx(1:npl), lstatus(1:npl)) - system%Lspin(2) = Lcbspin(2) + sum(Lplspiny(1:npl), lstatus(1:npl)) - system%Lspin(3) = Lcbspin(3) + sum(Lplspinz(1:npl), lstatus(1:npl)) + system%Lspin(1) = Lcbspin(1) + sum(Lplspinx(1:npl), pl%lmask(1:npl)) + system%Lspin(2) = Lcbspin(2) + sum(Lplspiny(1:npl), pl%lmask(1:npl)) + system%Lspin(3) = Lcbspin(3) + sum(Lplspinz(1:npl), pl%lmask(1:npl)) end if system%te = system%ke_orbit + system%ke_spin + system%pe + system%Ltot(:) = system%Lorbit(:) + system%Lspin(:) end associate return diff --git a/src/util/util_index.f90 b/src/util/util_index.f90 new file mode 100644 index 000000000..0e42ec7c7 --- /dev/null +++ b/src/util/util_index.f90 @@ -0,0 +1,76 @@ +submodule (swiftest_classes) s_util_index + use swiftest +contains + + module subroutine util_index_eucl_plpl(self, param) + !! author: Jacob R. Elliott and David A. Minton + !! + !! Turns i,j indices into k index for use in the Euclidean distance matrix for pl-pl interactions. + !! + !! Reference: + !! + !! Mélodie Angeletti, Jean-Marie Bonny, Jonas Koko. Parallel Euclidean distance matrix computation on big datasets *. + !! 2019. hal-0204751 + implicit none + ! Arguments + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + integer(I8B) :: i, j, counter, npl + + npl = int(self%nbody, kind=I8B) + associate(nplpl => self%nplpl) + nplpl = (npl * (npl - 1) / 2) ! number of entries in a strict lower triangle, npl x npl, minus first column + if (allocated(self%k_plpl)) deallocate(self%k_plpl) ! Reset the index array if it's been set previously + allocate(self%k_plpl(2, nplpl)) + do i = 1_I8B, npl + counter = (i - 1_I8B) * npl - i * (i - 1_I8B) / 2_I8B + 1_I8B + do j = i + 1_I8B, npl + self%k_plpl(1, counter) = i + self%k_plpl(2, counter) = j + counter = counter + 1_I8B + end do + end do + end associate + + return + end subroutine util_index_eucl_plpl + + + module subroutine util_index_eucl_pltp(self, pl, param) + !! author: Jacob R. Elliott and David A. Minton + !! + !! Turns i,j indices into k index for use in the Euclidean distance matrix for pl-tp interactions + !! + !! Reference: + !! + !! Mélodie Angeletti, Jean-Marie Bonny, Jonas Koko. Parallel Euclidean distance matrix computation on big datasets *. + !! 2019. hal-0204751 + implicit none + ! Arguments + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + class(swiftest_pl), intent(in) :: pl !! Swiftest massive body object + class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + ! Internals + integer(I8B) :: i, j, counter, npl, ntp + + ntp = int(self%nbody, kind=I8B) + npl = int(pl%nbody, kind=I8B) + associate(npltp => self%npltp) + npltp = npl * ntp + if (allocated(self%k_pltp)) deallocate(self%k_pltp) ! Reset the index array if it's been set previously + allocate(self%k_pltp(2, npltp)) + do i = 1_I8B, npl + counter = (i - 1_I8B) * npl + 1_I8B + do j = 1_I8B, ntp + self%k_pltp(1, counter) = i + self%k_pltp(2, counter) = j + counter = counter + 1_I8B + end do + end do + end associate + + return + end subroutine util_index_eucl_pltp + +end submodule s_util_index diff --git a/src/util/util_minimize_bfgs.f90 b/src/util/util_minimize_bfgs.f90 index fbd48c8c2..01b57d868 100644 --- a/src/util/util_minimize_bfgs.f90 +++ b/src/util/util_minimize_bfgs.f90 @@ -1,15 +1,16 @@ submodule (swiftest_classes) s_util_minimize_bfgs use swiftest contains - module function util_minimize_bfgs(f, N, x0, eps, lerr) result(x1) + module function util_minimize_bfgs(f, N, x0, eps, maxloop, lerr) result(x1) !! author: David A. Minton !! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - !! This function implements the Broyden-Fletcher-Goldfarb-Shanno method to determine the minimum of a function of N variables. !! It recieves as input: !! f%eval(x) : lambda function object containing the objective function as the eval metho - !! N : Number of variables of function f - !! x0 : Initial starting value of x - !! eps : Accuracy of 1 - dimensional minimization at each step + !! N : Number of variables of function f + !! x0 : Initial starting value of x + !! eps : Accuracy of 1 - dimensional minimization at each step + !! maxloop : Maximum number of loops to attempt to find a solution !! The outputs include !! lerr : Returns .true. if it could not find the minimum !! Returns @@ -23,12 +24,12 @@ module function util_minimize_bfgs(f, N, x0, eps, lerr) result(x1) class(lambda_obj), intent(inout) :: f real(DP), dimension(:), intent(in) :: x0 real(DP), intent(in) :: eps + integer(I4B), intent(in) :: maxloop logical, intent(out) :: lerr ! Result real(DP), dimension(:), allocatable :: x1 ! Internals integer(I4B) :: i, j, k, l, conv, num - integer(I4B), parameter :: MAXLOOP = 1000 !! Maximum number of loops before method is determined to have failed real(DP), parameter :: graddelta = 1e-4_DP !! Delta x for gradient calculations real(DP), dimension(N) :: S !! Direction vectors real(DP), dimension(N,N) :: H !! Approximated inverse Hessian matrix @@ -56,17 +57,23 @@ module function util_minimize_bfgs(f, N, x0, eps, lerr) result(x1) return end if grad1(:) = grad0(:) - do i = 1, MAXLOOP + do i = 1, maxloop !check for convergence conv = count(abs(grad1(:)) > eps) + ! write(*,*) 'loop: ', i + ! write(*,*) 'conv: ', conv + ! write(*,*) 'grad1 / eps' + ! do j = 1, N + ! write(*,*) j, abs(grad1(j)) / eps + ! end do if (conv == 0) then - !write(*,*) "BFGS converged on gradient after ",i," iterations" + ! write(*,*) "BFGS converged on gradient after ",i," iterations" exit end if S(:) = -matmul(H(:,:), grad1(:)) astar = minimize1D(f, x1, S, N, graddelta, lerr) if (lerr) then - !write(*,*) "Exiting BFGS with error in minimize1D step" + ! write(*,*) "Exiting BFGS with error in minimize1D step" exit end if ! Get new x values @@ -86,7 +93,7 @@ module function util_minimize_bfgs(f, N, x0, eps, lerr) result(x1) end do ! prevent divide by zero (convergence) if (abs(Py) < tiny(Py)) then - !write(*,*) "BFGS Converged on tiny Py after ",i," iterations" + ! write(*,*) "BFGS Converged on tiny Py after ",i," iterations" exit end if ! set up update @@ -108,15 +115,15 @@ module function util_minimize_bfgs(f, N, x0, eps, lerr) result(x1) ! Stop everything if there are any exceptions to allow the routine to fail gracefully call ieee_get_flag(ieee_usual, fpe_flag) if (any(fpe_flag)) exit - if (i == MAXLOOP) then + if (i == maxloop) then lerr = .true. - !write(*,*) "BFGS ran out of loops!" + ! write(*,*) "BFGS ran out of loops!" end if end do call ieee_get_flag(ieee_usual, fpe_flag) lerr = lerr .or. any(fpe_flag) - !if (any(fpe_flag)) write(*,*) 'BFGS did not converge due to fpe' - !if (lerr) write(*,*) "BFGS did not converge!" + ! if (any(fpe_flag)) write(*,*) 'BFGS did not converge due to fpe' + ! if (lerr) write(*,*) "BFGS did not converge!" call ieee_set_status(original_fpe_status) return @@ -180,6 +187,7 @@ function gradf(f, N, x1, dx, lerr) result(grad) return end function gradf + function minimize1D(f, x0, S, N, eps, lerr) result(astar) !! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - !! This program find the minimum of a function of N variables in a single direction @@ -253,6 +261,7 @@ function minimize1D(f, x0, S, N, eps, lerr) result(astar) return end function minimize1D + function n2one(f, x0, S, N, a, lerr) result(fnew) implicit none ! Arguments diff --git a/src/util/util_rescale.f90 b/src/util/util_rescale.f90 index 62a9409ec..50ebc088c 100644 --- a/src/util/util_rescale.f90 +++ b/src/util/util_rescale.f90 @@ -20,9 +20,11 @@ module subroutine util_rescale_system(self, param, mscale, dscale, tscale) ! Calculate the G for the system units param%GU = GC / (param%DU2M**3 / (param%MU2KG * param%TU2S**2)) - ! Calculate the inverse speed of light in the system units - param%inv_c2 = einsteinC * param%TU2S / param%DU2M - param%inv_c2 = (param%inv_c2)**(-2) + if (param%lgr) then + ! Calculate the inverse speed of light in the system units + param%inv_c2 = einsteinC * param%TU2S / param%DU2M + param%inv_c2 = (param%inv_c2)**(-2) + end if vscale = dscale / tscale diff --git a/src/util/util_resize.f90 b/src/util/util_resize.f90 index 80d87209c..dfef8771b 100644 --- a/src/util/util_resize.f90 +++ b/src/util/util_resize.f90 @@ -5,7 +5,7 @@ module subroutine util_resize_arr_char_string(arr, nnew) !! author: David A. Minton !! - !! Resizes an array component of type character string. Array will only be resized if has previously been allocated. Passing nnew = 0 will deallocate. + !! Resizes an array component of type character string. nnew = 0 will deallocate. implicit none ! Arguments character(len=STRMAX), dimension(:), allocatable, intent(inout) :: arr !! Array to resize @@ -14,21 +14,31 @@ module subroutine util_resize_arr_char_string(arr, nnew) character(len=STRMAX), dimension(:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated integer(I4B) :: nold !! Old size - if (.not. allocated(arr) .or. nnew < 0) return - - nold = size(arr) - if (nnew == nold) return + if (nnew < 0) return if (nnew == 0) then - deallocate(arr) + if (allocated(arr)) deallocate(arr) return end if + if (allocated(arr)) then + nold = size(arr) + else + nold = 0 + end if + + if (nnew == nold) return + allocate(tmp(nnew)) - if (nnew > nold) then - tmp(1:nold) = arr(1:nold) + if (nold > 0) then + if (nnew > nold) then + tmp(1:nold) = arr(1:nold) + tmp(nold+1:nnew) = "" + else + tmp(1:nnew) = arr(1:nnew) + end if else - tmp(1:nnew) = arr(1:nnew) + tmp(1:nnew) = "" end if call move_alloc(tmp, arr) @@ -39,7 +49,7 @@ end subroutine util_resize_arr_char_string module subroutine util_resize_arr_DP(arr, nnew) !! author: David A. Minton !! - !! Resizes an array component of double precision type. Array will only be resized if has previously been allocated. Passing nnew = 0 will deallocate. + !! Resizes an array component of double precision type. Passing nnew = 0 will deallocate. implicit none ! Arguments real(DP), dimension(:), allocatable, intent(inout) :: arr !! Array to resize @@ -47,22 +57,33 @@ module subroutine util_resize_arr_DP(arr, nnew) ! Internals real(DP), dimension(:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated integer(I4B) :: nold !! Old size + real(DP), parameter :: init_val = 0.0_DP - if (.not. allocated(arr) .or. nnew < 0) return - - nold = size(arr) - if (nnew == nold) return + if (nnew < 0) return if (nnew == 0) then - deallocate(arr) + if (allocated(arr)) deallocate(arr) return end if + if (allocated(arr)) then + nold = size(arr) + else + nold = 0 + end if + + if (nnew == nold) return + allocate(tmp(nnew)) - if (nnew > nold) then - tmp(1:nold) = arr(1:nold) + if (nold > 0) then + if (nnew > nold) then + tmp(1:nold) = arr(1:nold) + tmp(nold+1:nnew) = init_val + else + tmp(1:nnew) = arr(1:nnew) + end if else - tmp(1:nnew) = arr(1:nnew) + tmp(1:nnew) = init_val end if call move_alloc(tmp, arr) @@ -73,7 +94,7 @@ end subroutine util_resize_arr_DP module subroutine util_resize_arr_DPvec(arr, nnew) !! author: David A. Minton !! - !! Resizes an array component of double precision vectors of size (NDIM, n). Array will only be resized if has previously been allocated. Passing nnew = 0 will deallocate. + !! Resizes an array component of double precision vectors of size (NDIM, n). Passing nnew = 0 will deallocate. implicit none ! Arguments real(DP), dimension(:,:), allocatable, intent(inout) :: arr !! Array to resize @@ -81,33 +102,51 @@ module subroutine util_resize_arr_DPvec(arr, nnew) ! Internals real(DP), dimension(:,:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated integer(I4B) :: nold !! Old size + real(DP), dimension(NDIM), parameter :: init_val = 0.0_DP + integer(I4B) :: i - if (.not. allocated(arr) .or. nnew < 0) return - - nold = size(arr, dim=2) - if (nnew == nold) return + if (nnew < 0) return if (nnew == 0) then - deallocate(arr) + if (allocated(arr)) deallocate(arr) return end if + if (allocated(arr)) then + nold = size(arr, dim=2) + else + nold = 0 + end if + + if (nnew == nold) return + allocate(tmp(NDIM, nnew)) - if (nnew > nold) then - tmp(:, 1:nold) = arr(:, 1:nold) + if (nold > 0) then + if (nnew > nold) then + tmp(:,1:nold) = arr(:,1:nold) + do i = nold+1, nnew + tmp(:,i) = init_val(:) + end do + else + tmp(:,1:nnew) = arr(:,1:nnew) + end if else - tmp(:, 1:nnew) = arr(:, 1:nnew) + do i = 1, nnew + tmp(:, i) = init_val(:) + end do end if call move_alloc(tmp, arr) return + + return end subroutine util_resize_arr_DPvec module subroutine util_resize_arr_I4B(arr, nnew) !! author: David A. Minton !! - !! Resizes an array component of integer type. Array will only be resized if has previously been allocated. Passing nnew = 0 will deallocate. + !! Resizes an array component of integer type. Passing nnew = 0 will deallocate. implicit none ! Arguments integer(I4B), dimension(:), allocatable, intent(inout) :: arr !! Array to resize @@ -115,33 +154,84 @@ module subroutine util_resize_arr_I4B(arr, nnew) ! Internals integer(I4B), dimension(:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated integer(I4B) :: nold !! Old size + integer(I4B), parameter :: init_val = -1 + + if (nnew < 0) return - if (.not. allocated(arr) .or. nnew < 0) return + if (nnew == 0) then + if (allocated(arr)) deallocate(arr) + return + end if + + if (allocated(arr)) then + nold = size(arr) + else + nold = 0 + end if - nold = size(arr) if (nnew == nold) return + + allocate(tmp(nnew)) + if (nold > 0) then + if (nnew > nold) then + tmp(1:nold) = arr(1:nold) + tmp(nold+1:nnew) = init_val + else + tmp(1:nnew) = arr(1:nnew) + end if + else + tmp(1:nnew) = init_val + end if + call move_alloc(tmp, arr) + + return + end subroutine util_resize_arr_I4B + + + module subroutine util_resize_arr_info(arr, nnew) + !! author: David A. Minton + !! + !! Resizes an array component of type character string. Array will only be resized if has previously been allocated. Passing nnew = 0 will deallocate. + implicit none + ! Arguments + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Array to resize + integer(I4B), intent(in) :: nnew !! New size + ! Internals + type(swiftest_particle_info), dimension(:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated + integer(I4B) :: nold !! Old size + + if (nnew < 0) return if (nnew == 0) then - deallocate(arr) + if (allocated(arr)) deallocate(arr) return end if + if (allocated(arr)) then + nold = size(arr) + else + nold = 0 + end if + + if (nnew == nold) return + allocate(tmp(nnew)) if (nnew > nold) then - tmp(1:nold) = arr(1:nold) + call util_copy_particle_info_arr(arr(1:nold), tmp(1:nold)) else - tmp(1:nnew) = arr(1:nnew) + call util_copy_particle_info_arr(arr(1:nnew), tmp(1:nnew)) end if + call move_alloc(tmp, arr) return - end subroutine util_resize_arr_I4B + end subroutine util_resize_arr_info module subroutine util_resize_arr_logical(arr, nnew) !! author: David A. Minton !! - !! Resizes an array component of logical type. Array will only be resized if has previously been allocated. Passing nnew = 0 will deallocate. + !! Resizes an array component of logical type. Passing nnew = 0 will deallocate. implicit none ! Arguments logical, dimension(:), allocatable, intent(inout) :: arr !! Array to resize @@ -149,22 +239,33 @@ module subroutine util_resize_arr_logical(arr, nnew) ! Internals logical, dimension(:), allocatable :: tmp !! Temporary storage array in case the input array is already allocated integer(I4B) :: nold !! Old size + logical, parameter :: init_val = .false. - if (.not. allocated(arr) .or. nnew < 0) return - - nold = size(arr) - if (nnew == nold) return + if (nnew < 0) return if (nnew == 0) then - deallocate(arr) + if (allocated(arr)) deallocate(arr) return end if + if (allocated(arr)) then + nold = size(arr) + else + nold = 0 + end if + + if (nnew == nold) return + allocate(tmp(nnew)) - if (nnew > nold) then - tmp(1:nold) = arr(1:nold) + if (nold > 0) then + if (nnew > nold) then + tmp(1:nold) = arr(1:nold) + tmp(nold+1:nnew) = init_val + else + tmp(1:nnew) = arr(1:nnew) + end if else - tmp(1:nnew) = arr(1:nnew) + tmp(1:nnew) = init_val end if call move_alloc(tmp, arr) @@ -178,10 +279,10 @@ module subroutine util_resize_body(self, nnew) !! Checks the current size of a Swiftest body against the requested size and resizes it if it is too small. implicit none ! Arguments - class(swiftest_body), intent(inout) :: self !! Swiftest body object - integer(I4B), intent(in) :: nnew !! New size neded + class(swiftest_body), intent(inout) :: self !! Swiftest body object + integer(I4B), intent(in) :: nnew !! New size neded - call util_resize(self%name, nnew) + call util_resize(self%info, nnew) call util_resize(self%id, nnew) call util_resize(self%status, nnew) call util_resize(self%ldiscard, nnew) @@ -249,7 +350,7 @@ end subroutine util_resize_encounter module subroutine util_resize_pl(self, nnew) !! author: David A. Minton !! - !! Checks the current size of a Swiftest body against the requested size and resizes it if it is too small. + !! Checks the current size of a Swiftest massive body against the requested size and resizes it if it is too small. implicit none ! Arguments class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object @@ -270,7 +371,8 @@ module subroutine util_resize_pl(self, nnew) call util_resize(self%k2, nnew) call util_resize(self%Q, nnew) call util_resize(self%tlag, nnew) - call self%eucl_index() + + if (allocated(self%k_plpl)) deallocate(self%k_plpl) return end subroutine util_resize_pl @@ -279,10 +381,10 @@ end subroutine util_resize_pl module subroutine util_resize_tp(self, nnew) !! author: David A. Minton !! - !! Checks the current size of a Swiftest body against the requested size and resizes it if it is too small. + !! Checks the current size of a Swiftest test particle against the requested size and resizes it if it is too small. implicit none ! Arguments - class(swiftest_tp), intent(inout) :: self !! Swiftest massive body object + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object integer(I4B), intent(in) :: nnew !! New size neded call util_resize_body(self, nnew) diff --git a/src/util/util_set.f90 b/src/util/util_set.f90 index 86e021ab6..80ed89b1f 100644 --- a/src/util/util_set.f90 +++ b/src/util/util_set.f90 @@ -77,7 +77,7 @@ module subroutine util_set_mu_pl(self, cb) class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object - if (self%nbody > 0) self%mu(:) = cb%Gmass + self%Gmass(:) + if (self%nbody > 0) self%mu(1:self%nbody) = cb%Gmass + self%Gmass(1:self%nbody) return end subroutine util_set_mu_pl @@ -92,11 +92,74 @@ module subroutine util_set_mu_tp(self, cb) class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object - if (self%nbody > 0) self%mu(:) = cb%Gmass + if (self%nbody == 0) return + self%mu(1:self%nbody) = cb%Gmass return end subroutine util_set_mu_tp + module subroutine util_set_particle_info(self, name, particle_type, status, origin_type, origin_time, origin_xh, origin_vh, discard_time, discard_xh, discard_vh, discard_body_id) + !! author: David A. Minton + !! + !! Sets one or more values of the particle information metadata object + implicit none + ! Arguments + class(swiftest_particle_info), intent(inout) :: self + character(len=*), intent(in), optional :: name !! Non-unique name + character(len=*), intent(in), optional :: particle_type !! String containing a description of the particle type (e.g. Central Body, Massive Body, Test Particle) + character(len=*), intent(in), optional :: status !! Particle status description: ACTIVE, MERGED, FRAGMENTED, etc. + character(len=*), intent(in), optional :: origin_type !! String containing a description of the origin of the particle (e.g. Initial Conditions, Supercatastrophic, Disruption, etc.) + real(DP), intent(in), optional :: origin_time !! The time of the particle's formation + real(DP), dimension(:), intent(in), optional :: origin_xh !! The heliocentric distance vector at the time of the particle's formation + real(DP), dimension(:), intent(in), optional :: origin_vh !! The heliocentric velocity vector at the time of the particle's formation + real(DP), intent(in), optional :: discard_time !! The time of the particle's discard + real(DP), dimension(:), intent(in), optional :: discard_xh !! The heliocentric distance vector at the time of the particle's discard + real(DP), dimension(:), intent(in), optional :: discard_vh !! The heliocentric velocity vector at the time of the particle's discard + integer(I4B), intent(in), optional :: discard_body_id !! The id of the other body involved in the discard (0 if no other body involved) + ! Internals + character(len=NAMELEN) :: lenstr + character(len=:), allocatable :: fmtlabel + + write(lenstr, *) NAMELEN + fmtlabel = "(A" // trim(adjustl(lenstr)) // ")" + + if (present(name)) then + write(self%name, fmtlabel) trim(adjustl(name)) + end if + if (present(particle_type)) then + write(self%particle_type, fmtlabel) trim(adjustl(particle_type)) + end if + if (present(status)) then + write(self%status, fmtlabel) trim(adjustl(status)) + end if + if (present(origin_type)) then + write(self%origin_type, fmtlabel) trim(adjustl(origin_type)) + end if + if (present(origin_time)) then + self%origin_time = origin_time + end if + if (present(origin_xh)) then + self%origin_xh(:) = origin_xh(:) + end if + if (present(origin_vh)) then + self%origin_vh(:) = origin_vh(:) + end if + if (present(discard_time)) then + self%discard_time = discard_time + end if + if (present(discard_xh)) then + self%discard_xh(:) = discard_xh(:) + end if + if (present(discard_vh)) then + self%discard_vh(:) = discard_vh(:) + end if + if (present(discard_body_id)) then + self%discard_body_id = discard_body_id + end if + + return + end subroutine util_set_particle_info + module subroutine util_set_rhill(self,cb) !! author: David A. Minton @@ -107,10 +170,10 @@ module subroutine util_set_rhill(self,cb) class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object class(swiftest_cb), intent(inout) :: cb !! Swiftest central body object - if (self%nbody > 0) then - call self%xv2el(cb) - self%rhill(:) = self%a(:) * (self%Gmass(:) / cb%Gmass / 3)**THIRD - end if + if (self%nbody == 0) return + + call self%xv2el(cb) + self%rhill(1:self%nbody) = self%a(1:self%nbody) * (self%Gmass(1:self%nbody) / cb%Gmass / 3)**THIRD return end subroutine util_set_rhill @@ -127,10 +190,10 @@ module subroutine util_set_rhill_approximate(self,cb) ! Internals real(DP), dimension(:), allocatable :: rh - if (self%nbody > 0) then - rh(:) = .mag. self%xh(:,:) - self%rhill(:) = rh(:) * (self%Gmass(:) / cb%Gmass / 3)**THIRD - end if + if (self%nbody == 0) return + + rh(1:self%nbody) = .mag. self%xh(:,1:self%nbody) + self%rhill(1:self%nbody) = rh(1:self%nbody) * (self%Gmass(1:self%nbody) / cb%Gmass / 3)**THIRD return end subroutine util_set_rhill_approximate diff --git a/src/util/util_sort.f90 b/src/util/util_sort.f90 index 752e78ab7..b69627b0b 100644 --- a/src/util/util_sort.f90 +++ b/src/util/util_sort.f90 @@ -13,9 +13,11 @@ module subroutine util_sort_body(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind + integer(I4B), dimension(:), allocatable :: ind integer(I4B) :: direction + if (self%nbody == 0) return + if (ascending) then direction = 1 else @@ -23,6 +25,7 @@ module subroutine util_sort_body(self, sortby, ascending) end if associate(body => self, n => self%nbody) + allocate(ind(n)) select case(sortby) case("id") call util_sort(direction * body%id(1:n), ind(1:n)) @@ -55,6 +58,174 @@ module subroutine util_sort_body(self, sortby, ascending) end subroutine util_sort_body + module subroutine util_sort_dp(arr) + !! author: David A. Minton + !! + !! Sort input double precision array in place into ascending numerical order using insertion sort. + !! This algorithm works well for partially sorted arrays (which is usually the case here) + !! + implicit none + ! Arguments + real(DP), dimension(:), intent(inout) :: arr + ! Internals + real(DP) :: tmp + integer(I4B) :: n, i, j + + n = size(arr) + do i = 2, n + tmp = arr(i) + do j = i - 1, 1, -1 + if (arr(j) <= tmp) exit + arr(j + 1) = arr(j) + end do + arr(j + 1) = tmp + end do + + return + end subroutine util_sort_dp + + + module subroutine util_sort_index_dp(arr, ind) + !! author: David A. Minton + !! + !! Sort input double precision array by index in ascending numerical order using insertion sort. + !! This algorithm works well for partially sorted arrays (which is usually the case here) + !! + implicit none + ! Arguments + real(DP), dimension(:), intent(in) :: arr + integer(I4B), dimension(:), intent(out) :: ind + ! Internals + real(DP) :: tmp + integer(I4B) :: n, i, j + + n = size(arr) + ind = [(i, i=1, n)] + do i = 2, n + tmp = arr(ind(i)) + do j = i - 1, 1, -1 + if (arr(ind(j)) <= tmp) exit + ind(j + 1) = ind(j) + end do + ind(j + 1) = i + end do + + return + end subroutine util_sort_index_dp + + + module subroutine util_sort_i4b(arr) + !! author: David A. Minton + !! + !! Sort input integer array in place into ascending numerical order using insertion sort. + !! This algorithm works well for partially sorted arrays (which is usually the case here) + !! + implicit none + ! Arguments + integer(I4B), dimension(:), intent(inout) :: arr + ! Internals + integer(I4B) :: tmp + integer(I4B) :: n, i, j + + n = size(arr) + do i = 2, n + tmp = arr(i) + do j = i - 1, 1, -1 + if (arr(j) <= tmp) exit + arr(j + 1) = arr(j) + end do + arr(j + 1) = tmp + end do + + return + end subroutine util_sort_i4b + + + module subroutine util_sort_index_i4b(arr, ind) + !! author: David A. Minton + !! + !! Sort input integer array by index in ascending numerical order using insertion sort. + !! This algorithm works well for partially sorted arrays (which is usually the case here) + !! + implicit none + ! Arguments + integer(I4B), dimension(:), intent(in) :: arr + integer(I4B), dimension(:), intent(out) :: ind + ! Internals + integer(I4B) :: tmp + integer(I4B) :: n, i, j + + n = size(arr) + ind = [(i, i=1, n)] + do i = 2, n + tmp = arr(ind(i)) + do j = i - 1, 1, -1 + if (arr(ind(j)) <= tmp) exit + ind(j + 1) = ind(j) + end do + ind(j + 1) = i + end do + + return + end subroutine util_sort_index_i4b + + + module subroutine util_sort_sp(arr) + !! author: David A. Minton + !! + !! Sort input single precision array in place into ascending numerical order using insertion sort. + !! This algorithm works well for partially sorted arrays (which is usually the case here) + ! + implicit none + ! Arguments + real(SP), dimension(:), intent(inout) :: arr + ! Internals + real(SP) :: tmp + integer(I4B) :: n, i, j + + n = size(arr) + do i = 2, n + tmp = arr(i) + do j = i - 1, 1, -1 + if (arr(j) <= tmp) exit + arr(j + 1) = arr(j) + end do + arr(j + 1) = tmp + end do + + return + end subroutine util_sort_sp + + + module subroutine util_sort_index_sp(arr, ind) + !! author: David A. Minton + !! + !! Sort input single precision array by index in ascending numerical order using insertion sort. + !! This algorithm works well for partially sorted arrays (which is usually the case here) + !! + implicit none + ! Arguments + real(SP), dimension(:), intent(in) :: arr + integer(I4B), dimension(:), intent(out) :: ind + ! Internals + real(SP) :: tmp + integer(I4B) :: n, i, j + + n = size(arr) + ind = [(i, i=1, n)] + do i = 2, n + tmp = arr(ind(i)) + do j = i - 1, 1, -1 + if (arr(ind(j)) <= tmp) exit + ind(j + 1) = ind(j) + end do + ind(j + 1) = i + end do + + return + end subroutine util_sort_index_sp + + module subroutine util_sort_pl(self, sortby, ascending) !! author: David A. Minton !! @@ -66,9 +237,11 @@ module subroutine util_sort_pl(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind + integer(I4B), dimension(:), allocatable :: ind integer(I4B) :: direction + if (self%nbody == 0) return + if (ascending) then direction = 1 else @@ -76,6 +249,7 @@ module subroutine util_sort_pl(self, sortby, ascending) end if associate(pl => self, npl => self%nbody) + allocate(ind(npl)) select case(sortby) case("Gmass","mass") call util_sort(direction * pl%Gmass(1:npl), ind(1:npl)) @@ -117,9 +291,11 @@ module subroutine util_sort_tp(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind + integer(I4B), dimension(:), allocatable :: ind integer(I4B) :: direction + if (self%nbody == 0) return + if (ascending) then direction = 1 else @@ -127,6 +303,7 @@ module subroutine util_sort_tp(self, sortby, ascending) end if associate(tp => self, ntp => self%nbody) + allocate(ind(ntp)) select case(sortby) case("peri") call util_sort(direction * tp%peri(1:ntp), ind(1:ntp)) @@ -156,264 +333,215 @@ module subroutine util_sort_rearrange_body(self, ind) ! Arguments class(swiftest_body), intent(inout) :: self !! Swiftest body object integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) - ! Internals - class(swiftest_body), allocatable :: body_sorted !! Temporary holder for sorted body associate(n => self%nbody) - allocate(body_sorted, source=self) - if (allocated(self%id)) self%id(1:n) = body_sorted%id(ind(1:n)) - if (allocated(self%name)) self%name(1:n) = body_sorted%name(ind(1:n)) - if (allocated(self%status)) self%status(1:n) = body_sorted%status(ind(1:n)) - if (allocated(self%ldiscard)) self%ldiscard(1:n) = body_sorted%ldiscard(ind(1:n)) - if (allocated(self%xh)) self%xh(:,1:n) = body_sorted%xh(:,ind(1:n)) - if (allocated(self%vh)) self%vh(:,1:n) = body_sorted%vh(:,ind(1:n)) - if (allocated(self%xb)) self%xb(:,1:n) = body_sorted%xb(:,ind(1:n)) - if (allocated(self%vb)) self%vb(:,1:n) = body_sorted%vb(:,ind(1:n)) - if (allocated(self%ah)) self%ah(:,1:n) = body_sorted%ah(:,ind(1:n)) - if (allocated(self%ir3h)) self%ir3h(1:n) = body_sorted%ir3h(ind(1:n)) - if (allocated(self%mu)) self%mu(1:n) = body_sorted%mu(ind(1:n)) - if (allocated(self%lmask)) self%lmask(1:n) = body_sorted%lmask(ind(1:n)) - if (allocated(self%a)) self%a(1:n) = body_sorted%a(ind(1:n)) - if (allocated(self%e)) self%e(1:n) = body_sorted%e(ind(1:n)) - if (allocated(self%inc)) self%inc(1:n) = body_sorted%inc(ind(1:n)) - if (allocated(self%capom)) self%capom(1:n) = body_sorted%capom(ind(1:n)) - if (allocated(self%omega)) self%omega(1:n) = body_sorted%omega(ind(1:n)) - if (allocated(self%capm)) self%capm(1:n) = body_sorted%capm(ind(1:n)) - if (allocated(self%aobl)) self%aobl(:,1:n) = body_sorted%aobl(:,ind(1:n)) - if (allocated(self%atide)) self%atide(:,1:n) = body_sorted%atide(:,ind(1:n)) - if (allocated(self%agr)) self%agr(:,1:n) = body_sorted%agr(:,ind(1:n)) - deallocate(body_sorted) + call util_sort_rearrange(self%id, ind, n) + call util_sort_rearrange(self%info, ind, n) + call util_sort_rearrange(self%status, ind, n) + call util_sort_rearrange(self%ldiscard, ind, n) + call util_sort_rearrange(self%xh, ind, n) + call util_sort_rearrange(self%vh, ind, n) + call util_sort_rearrange(self%xb, ind, n) + call util_sort_rearrange(self%vb, ind, n) + call util_sort_rearrange(self%ah, ind, n) + call util_sort_rearrange(self%ir3h, ind, n) + call util_sort_rearrange(self%mu, ind, n) + call util_sort_rearrange(self%lmask, ind, n) + call util_sort_rearrange(self%a, ind, n) + call util_sort_rearrange(self%e, ind, n) + call util_sort_rearrange(self%inc, ind, n) + call util_sort_rearrange(self%capom, ind, n) + call util_sort_rearrange(self%omega, ind, n) + call util_sort_rearrange(self%capm, ind, n) + call util_sort_rearrange(self%aobl, ind, n) + call util_sort_rearrange(self%atide, ind, n) + call util_sort_rearrange(self%agr, ind, n) end associate return end subroutine util_sort_rearrange_body - module subroutine util_sort_rearrange_pl(self, ind) + module subroutine util_sort_rearrange_arr_char_string(arr, ind, n) !! author: David A. Minton !! - !! Rearrange Swiftest massive body structure in-place from an index list. - !! This is a helper utility used to make polymorphic sorting work on Swiftest structures. + !! Rearrange a single array of character string in-place from an index list. implicit none - class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object - integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) + ! Arguments + character(len=STRMAX), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange ! Internals - class(swiftest_pl), allocatable :: pl_sorted !! Temporary holder for sorted body + character(len=STRMAX), dimension(:), allocatable :: tmp !! Temporary copy of arry used during rearrange operation - associate(pl => self, npl => self%nbody) - call util_sort_rearrange_body(pl,ind) - allocate(pl_sorted, source=self) - if (allocated(pl%mass)) pl%mass(1:npl) = pl_sorted%mass(ind(1:npl)) - if (allocated(pl%Gmass)) pl%Gmass(1:npl) = pl_sorted%Gmass(ind(1:npl)) - if (allocated(pl%rhill)) pl%rhill(1:npl) = pl_sorted%rhill(ind(1:npl)) - if (allocated(pl%xbeg)) pl%xbeg(:,1:npl) = pl_sorted%xbeg(:,ind(1:npl)) - if (allocated(pl%xend)) pl%xend(:,1:npl) = pl_sorted%xend(:,ind(1:npl)) - if (allocated(pl%vbeg)) pl%vbeg(:,1:npl) = pl_sorted%vbeg(:,ind(1:npl)) - if (allocated(pl%radius)) pl%radius(1:npl) = pl_sorted%radius(ind(1:npl)) - if (allocated(pl%density)) pl%density(1:npl) = pl_sorted%density(ind(1:npl)) - if (allocated(pl%Ip)) pl%Ip(:,1:npl) = pl_sorted%Ip(:,ind(1:npl)) - if (allocated(pl%rot)) pl%rot(:,1:npl) = pl_sorted%rot(:,ind(1:npl)) - if (allocated(pl%k2)) pl%k2(1:npl) = pl_sorted%k2(ind(1:npl)) - if (allocated(pl%Q)) pl%Q(1:npl) = pl_sorted%Q(ind(1:npl)) - if (allocated(pl%tlag)) pl%tlag(1:npl) = pl_sorted%tlag(ind(1:npl)) - - deallocate(pl_sorted) - end associate + if (.not. allocated(arr) .or. n <= 0) return + allocate(tmp, mold=arr) + tmp(1:n) = arr(ind(1:n)) + call move_alloc(tmp, arr) return - end subroutine util_sort_rearrange_pl + end subroutine util_sort_rearrange_arr_char_string - module subroutine util_sort_rearrange_tp(self, ind) + module subroutine util_sort_rearrange_arr_DP(arr, ind, n) !! author: David A. Minton !! - !! Rearrange Swiftest massive body structure in-place from an index list. - !! This is a helper utility used to make polymorphic sorting work on Swiftest structures. + !! Rearrange a single array of DP type in-place from an index list. implicit none ! Arguments - class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object - integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) + real(DP), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange ! Internals - class(swiftest_tp), allocatable :: tp_sorted !! Temporary holder for sorted body + real(DP), dimension(:), allocatable :: tmp !! Temporary copy of array used during rearrange operation - associate(tp => self, ntp => self%nbody) - call util_sort_rearrange_body(tp,ind) - allocate(tp_sorted, source=self) - if (allocated(tp%isperi)) tp%isperi(1:ntp) = tp_sorted%isperi(ind(1:ntp)) - if (allocated(tp%peri)) tp%peri(1:ntp) = tp_sorted%peri(ind(1:ntp)) - if (allocated(tp%atp)) tp%atp(1:ntp) = tp_sorted%atp(ind(1:ntp)) - deallocate(tp_sorted) - end associate + if (.not. allocated(arr) .or. n <= 0) return + allocate(tmp, mold=arr) + tmp(1:n) = arr(ind(1:n)) + call move_alloc(tmp, arr) return - end subroutine util_sort_rearrange_tp + end subroutine util_sort_rearrange_arr_DP - module subroutine util_sort_dp(arr) + module subroutine util_sort_rearrange_arr_DPvec(arr, ind, n) !! author: David A. Minton !! - !! Sort input double precision array in place into ascending numerical order using insertion sort. - !! This algorithm works well for partially sorted arrays (which is usually the case here) - !! + !! Rearrange a single array of (NDIM,n) DP-type vectors in-place from an index list. implicit none ! Arguments - real(DP), dimension(:), intent(inout) :: arr + real(DP), dimension(:,:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange ! Internals - real(DP) :: tmp - integer(I4B) :: n, i, j + real(DP), dimension(:,:), allocatable :: tmp !! Temporary copy of array used during rearrange operation - n = size(arr) - do i = 2, n - tmp = arr(i) - do j = i - 1, 1, -1 - if (arr(j) <= tmp) exit - arr(j + 1) = arr(j) - end do - arr(j + 1) = tmp - end do + if (.not. allocated(arr) .or. n <= 0) return + allocate(tmp, mold=arr) + tmp(:,1:n) = arr(:, ind(1:n)) + call move_alloc(tmp, arr) return - end subroutine util_sort_dp + end subroutine util_sort_rearrange_arr_DPvec - module subroutine util_sort_index_dp(arr, ind) + module subroutine util_sort_rearrange_arr_I4B(arr, ind, n) !! author: David A. Minton !! - !! Sort input double precision array by index in ascending numerical order using insertion sort. - !! This algorithm works well for partially sorted arrays (which is usually the case here) - !! + !! Rearrange a single array of integers in-place from an index list. implicit none ! Arguments - real(DP), dimension(:), intent(in) :: arr - integer(I4B), dimension(:), intent(out) :: ind + integer(I4B), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange ! Internals - real(DP) :: tmp - integer(I4B) :: n, i, j + integer(I4B), dimension(:), allocatable :: tmp !! Temporary copy of array used during rearrange operation - n = size(arr) - ind = [(i, i=1, n)] - do i = 2, n - tmp = arr(ind(i)) - do j = i - 1, 1, -1 - if (arr(ind(j)) <= tmp) exit - ind(j + 1) = ind(j) - end do - ind(j + 1) = i - end do + if (.not. allocated(arr) .or. n <= 0) return + allocate(tmp, mold=arr) + tmp(1:n) = arr(ind(1:n)) + call move_alloc(tmp, arr) return - end subroutine util_sort_index_dp + end subroutine util_sort_rearrange_arr_I4B - module subroutine util_sort_i4b(arr) + module subroutine util_sort_rearrange_arr_logical(arr, ind, n) !! author: David A. Minton !! - !! Sort input integer array in place into ascending numerical order using insertion sort. - !! This algorithm works well for partially sorted arrays (which is usually the case here) - !! + !! Rearrange a single array of logicals in-place from an index list. implicit none ! Arguments - integer(I4B), dimension(:), intent(inout) :: arr + logical, dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange ! Internals - integer(I4B) :: tmp - integer(I4B) :: n, i, j + logical, dimension(:), allocatable :: tmp !! Temporary copy of array used during rearrange operation - n = size(arr) - do i = 2, n - tmp = arr(i) - do j = i - 1, 1, -1 - if (arr(j) <= tmp) exit - arr(j + 1) = arr(j) - end do - arr(j + 1) = tmp - end do + if (.not. allocated(arr) .or. n <= 0) return + allocate(tmp, mold=arr) + tmp(1:n) = arr(ind(1:n)) + call move_alloc(tmp, arr) return - end subroutine util_sort_i4b + end subroutine util_sort_rearrange_arr_logical - module subroutine util_sort_index_i4b(arr, ind) + module subroutine util_sort_rearrange_arr_info(arr, ind, n) !! author: David A. Minton !! - !! Sort input integer array by index in ascending numerical order using insertion sort. - !! This algorithm works well for partially sorted arrays (which is usually the case here) - !! + !! Rearrange a single array of particle information type in-place from an index list. implicit none ! Arguments - integer(I4B), dimension(:), intent(in) :: arr - integer(I4B), dimension(:), intent(out) :: ind + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: arr !! Destination array + integer(I4B), dimension(:), intent(in) :: ind !! Index to rearrange against + integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange ! Internals - integer(I4B) :: tmp - integer(I4B) :: n, i, j + type(swiftest_particle_info), dimension(:), allocatable :: tmp !! Temporary copy of array used during rearrange operation + integer(I4B) :: i - n = size(arr) - ind = [(i, i=1, n)] - do i = 2, n - tmp = arr(ind(i)) - do j = i - 1, 1, -1 - if (arr(ind(j)) <= tmp) exit - ind(j + 1) = ind(j) - end do - ind(j + 1) = i - end do + + if (.not. allocated(arr) .or. n <= 0) return + allocate(tmp, mold=arr) + + call util_copy_particle_info_arr(arr, tmp, ind) + call move_alloc(tmp, arr) return - end subroutine util_sort_index_i4b + end subroutine util_sort_rearrange_arr_info - module subroutine util_sort_sp(arr) + module subroutine util_sort_rearrange_pl(self, ind) !! author: David A. Minton !! - !! Sort input single precision array in place into ascending numerical order using insertion sort. - !! This algorithm works well for partially sorted arrays (which is usually the case here) - ! + !! Rearrange Swiftest massive body structure in-place from an index list. + !! This is a helper utility used to make polymorphic sorting work on Swiftest structures. implicit none - ! Arguments - real(SP), dimension(:), intent(inout) :: arr - ! Internals - real(SP) :: tmp - integer(I4B) :: n, i, j + class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object + integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) - n = size(arr) - do i = 2, n - tmp = arr(i) - do j = i - 1, 1, -1 - if (arr(j) <= tmp) exit - arr(j + 1) = arr(j) - end do - arr(j + 1) = tmp - end do + associate(pl => self, npl => self%nbody) + call util_sort_rearrange(pl%mass, ind, npl) + call util_sort_rearrange(pl%Gmass, ind, npl) + call util_sort_rearrange(pl%rhill, ind, npl) + call util_sort_rearrange(pl%xbeg, ind, npl) + call util_sort_rearrange(pl%vbeg, ind, npl) + call util_sort_rearrange(pl%radius, ind, npl) + call util_sort_rearrange(pl%density, ind, npl) + call util_sort_rearrange(pl%Ip, ind, npl) + call util_sort_rearrange(pl%rot, ind, npl) + call util_sort_rearrange(pl%k2, ind, npl) + call util_sort_rearrange(pl%Q, ind, npl) + call util_sort_rearrange(pl%tlag, ind, npl) + + if (allocated(pl%k_plpl)) deallocate(pl%k_plpl) + + call util_sort_rearrange_body(pl, ind) + end associate return - end subroutine util_sort_sp + end subroutine util_sort_rearrange_pl - module subroutine util_sort_index_sp(arr, ind) + module subroutine util_sort_rearrange_tp(self, ind) !! author: David A. Minton !! - !! Sort input single precision array by index in ascending numerical order using insertion sort. - !! This algorithm works well for partially sorted arrays (which is usually the case here) - !! + !! Rearrange Swiftest massive body structure in-place from an index list. + !! This is a helper utility used to make polymorphic sorting work on Swiftest structures. implicit none ! Arguments - real(SP), dimension(:), intent(in) :: arr - integer(I4B), dimension(:), intent(out) :: ind - ! Internals - real(SP) :: tmp - integer(I4B) :: n, i, j + class(swiftest_tp), intent(inout) :: self !! Swiftest test particle object + integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) - n = size(arr) - ind = [(i, i=1, n)] - do i = 2, n - tmp = arr(ind(i)) - do j = i - 1, 1, -1 - if (arr(ind(j)) <= tmp) exit - ind(j + 1) = ind(j) - end do - ind(j + 1) = i - end do + associate(tp => self, ntp => self%nbody) + call util_sort_rearrange(tp%isperi, ind, ntp) + call util_sort_rearrange(tp%peri, ind, ntp) + call util_sort_rearrange(tp%atp, ind, ntp) + + call util_sort_rearrange_body(tp, ind) + end associate return - end subroutine util_sort_index_sp + end subroutine util_sort_rearrange_tp end submodule s_util_sort diff --git a/src/util/util_spill.f90 b/src/util/util_spill.f90 index 9c76ff5e9..16039c4da 100644 --- a/src/util/util_spill.f90 +++ b/src/util/util_spill.f90 @@ -13,14 +13,28 @@ module subroutine util_spill_arr_char_string(keeps, discards, lspill_list, ldest character(len=STRMAX), dimension(:), allocatable, intent(inout) :: discards !! Array of discards logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + ! Internals + integer(I4B) :: nspill, nkeep, nlist + character(len=STRMAX), dimension(:), allocatable :: tmp !! Array of values to keep + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(nspill)) + else if (size(discards) /= nspill) then + deallocate(discards) + allocate(discards(nspill)) + end if - if (.not.allocated(keeps) .or. count(lspill_list(:)) == 0) return - if (.not.allocated(discards)) allocate(discards(count(lspill_list(:)))) - - discards(:) = pack(keeps(:), lspill_list(:)) + discards(:) = pack(keeps(1:nlist), lspill_list(1:nlist)) if (ldestructive) then - if (count(.not.lspill_list(:)) > 0) then - keeps(:) = pack(keeps(:), .not. lspill_list(:)) + if (nkeep > 0) then + allocate(tmp(nkeep)) + tmp(:) = pack(keeps(1:nlist), .not. lspill_list(1:nlist)) + call move_alloc(tmp, keeps) else deallocate(keeps) end if @@ -28,6 +42,7 @@ module subroutine util_spill_arr_char_string(keeps, discards, lspill_list, ldest return end subroutine util_spill_arr_char_string + module subroutine util_spill_arr_DP(keeps, discards, lspill_list, ldestructive) !! author: David A. Minton @@ -40,14 +55,28 @@ module subroutine util_spill_arr_DP(keeps, discards, lspill_list, ldestructive) real(DP), dimension(:), allocatable, intent(inout) :: discards !! Array of discards logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discardss logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + ! Internals + integer(I4B) :: nspill, nkeep, nlist + real(DP), dimension(:), allocatable :: tmp !! Array of values to keep + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(nspill)) + else if (size(discards) /= nspill) then + deallocate(discards) + allocate(discards(nspill)) + end if - if (.not.allocated(keeps) .or. count(lspill_list(:)) == 0) return - if (.not.allocated(discards)) allocate(discards(count(lspill_list(:)))) - - discards(:) = pack(keeps(:), lspill_list(:)) + discards(:) = pack(keeps(1:nlist), lspill_list(1:nlist)) if (ldestructive) then - if (count(.not.lspill_list(:)) > 0) then - keeps(:) = pack(keeps(:), .not. lspill_list(:)) + if (nkeep > 0) then + allocate(tmp(nkeep)) + tmp(:) = pack(keeps(1:nlist), .not. lspill_list(1:nlist)) + call move_alloc(tmp, keeps) else deallocate(keeps) end if @@ -56,6 +85,7 @@ module subroutine util_spill_arr_DP(keeps, discards, lspill_list, ldestructive) return end subroutine util_spill_arr_DP + module subroutine util_spill_arr_DPvec(keeps, discards, lspill_list, ldestructive) !! author: David A. Minton !! @@ -68,25 +98,40 @@ module subroutine util_spill_arr_DPvec(keeps, discards, lspill_list, ldestructiv logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not ! Internals - integer(I4B) :: i - - if (.not.allocated(keeps) .or. count(lspill_list(:)) == 0) return - if (.not.allocated(discards)) allocate(discards(NDIM, count(lspill_list(:)))) + integer(I4B) :: i, nspill, nkeep, nlist + real(DP), dimension(:,:), allocatable :: tmp !! Array of values to keep + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(NDIM, nspill)) + else if (size(discards, dim=2) /= nspill) then + deallocate(discards) + allocate(discards(NDIM, nspill)) + end if do i = 1, NDIM - discards(i,:) = pack(keeps(i,:), lspill_list(:)) + discards(i,:) = pack(keeps(i,1:nlist), lspill_list(1:nlist)) end do if (ldestructive) then - if (count(.not.lspill_list(:)) > 0) then + if (nkeep > 0) then + allocate(tmp(NDIM, nkeep)) do i = 1, NDIM - keeps(i,:) = pack(keeps(i,:), .not. lspill_list(:)) + tmp(i, :) = pack(keeps(i, 1:nlist), .not. lspill_list(1:nlist)) end do + call move_alloc(tmp, keeps) + else + deallocate(keeps) end if end if return end subroutine util_spill_arr_DPvec + module subroutine util_spill_arr_I4B(keeps, discards, lspill_list, ldestructive) !! author: David A. Minton !! @@ -98,14 +143,28 @@ module subroutine util_spill_arr_I4B(keeps, discards, lspill_list, ldestructive) integer(I4B), dimension(:), allocatable, intent(inout) :: discards !! Array of discards logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + ! Internals + integer(I4B) :: nspill, nkeep, nlist + integer(I4B), dimension(:), allocatable :: tmp !! Array of values to keep + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(nspill)) + else if (size(discards) /= nspill) then + deallocate(discards) + allocate(discards(nspill)) + end if - if (.not.allocated(keeps) .or. count(lspill_list(:)) == 0) return - if (.not.allocated(discards)) allocate(discards(count(lspill_list(:)))) - - discards(:) = pack(keeps(:), lspill_list(:)) + discards(:) = pack(keeps(1:nlist), lspill_list(1:nlist)) if (ldestructive) then - if (count(.not.lspill_list(:)) > 0) then - keeps(:) = pack(keeps(:), .not. lspill_list(:)) + if (nkeep > 0) then + allocate(tmp(nkeep)) + tmp(:) = pack(keeps(1:nlist), .not. lspill_list(1:nlist)) + call move_alloc(tmp, keeps) else deallocate(keeps) end if @@ -114,6 +173,97 @@ module subroutine util_spill_arr_I4B(keeps, discards, lspill_list, ldestructive) return end subroutine util_spill_arr_I4B + + module subroutine util_spill_arr_I8B(keeps, discards, lspill_list, ldestructive) + !! author: David A. Minton + !! + !! Performs a spill operation on a single array of type I4B + !! This is the inverse of a spill operation + implicit none + ! Arguments + integer(I8B), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep + integer(I8B), dimension(:), allocatable, intent(inout) :: discards !! Array of discards + logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards + logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + ! Internals + integer(I4B) :: nspill, nkeep, nlist + integer(I8B), dimension(:), allocatable :: tmp !! Array of values to keep + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(nspill)) + else if (size(discards) /= nspill) then + deallocate(discards) + allocate(discards(nspill)) + end if + + discards(:) = pack(keeps(1:nlist), lspill_list(1:nlist)) + if (ldestructive) then + if (nkeep > 0) then + allocate(tmp(nkeep)) + tmp(:) = pack(keeps(1:nlist), .not. lspill_list(1:nlist)) + call move_alloc(tmp, keeps) + else + deallocate(keeps) + end if + end if + + return + end subroutine util_spill_arr_I8B + + + module subroutine util_spill_arr_info(keeps, discards, lspill_list, ldestructive) + !! author: David A. Minton + !! + !! Performs a spill operation on a single array of particle origin information types + !! This is the inverse of a spill operation + implicit none + ! Arguments + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: keeps !! Array of values to keep + type(swiftest_particle_info), dimension(:), allocatable, intent(inout) :: discards !! Array of discards + logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discardss + logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or not + ! Internals + integer(I4B) :: i, nspill, nkeep, nlist + integer(I4B), dimension(:), allocatable :: idx + type(swiftest_particle_info), dimension(:), allocatable :: tmp + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(nspill)) + else if (size(discards) /= nspill) then + deallocate(discards) + allocate(discards(nspill)) + end if + + allocate(idx(nspill)) + idx(:) = pack([(i, i = 1, nlist)], lspill_list) + call util_copy_particle_info_arr(keeps, discards, idx) + if (ldestructive) then + if (nkeep > 0) then + deallocate(idx) + allocate(idx(nkeep)) + allocate(tmp(nkeep)) + idx(:) = pack([(i, i = 1, nlist)], .not. lspill_list) + call util_copy_particle_info_arr(keeps, tmp, idx) + call move_alloc(tmp, keeps) + else + deallocate(keeps) + end if + end if + + return + end subroutine util_spill_arr_info + + module subroutine util_spill_arr_logical(keeps, discards, lspill_list, ldestructive) !! author: David A. Minton !! @@ -125,14 +275,28 @@ module subroutine util_spill_arr_logical(keeps, discards, lspill_list, ldestruct logical, dimension(:), allocatable, intent(inout) :: discards !! Array of discards logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter the keeps array or no + ! Internals + integer(I4B) :: nspill, nkeep, nlist + logical, dimension(:), allocatable :: tmp !! Array of values to keep + + nkeep = count(.not.lspill_list(:)) + nspill = count(lspill_list(:)) + nlist = size(lspill_list(:)) + + if (.not.allocated(keeps) .or. nspill == 0) return + if (.not.allocated(discards)) then + allocate(discards(nspill)) + else if (size(discards) /= nspill) then + deallocate(discards) + allocate(discards(nspill)) + end if - if (.not.allocated(keeps) .or. count(lspill_list(:)) == 0) return - if (.not.allocated(discards)) allocate(discards(count(lspill_list(:)))) - - discards(:) = pack(keeps(:), lspill_list(:)) + discards(:) = pack(keeps(1:nlist), lspill_list(1:nlist)) if (ldestructive) then - if (count(.not.lspill_list(:)) > 0) then - keeps(:) = pack(keeps(:), .not. lspill_list(:)) + if (nkeep > 0) then + allocate(tmp(nkeep)) + tmp(:) = pack(keeps(1:nlist), .not. lspill_list(1:nlist)) + call move_alloc(tmp, keeps) else deallocate(keeps) end if @@ -154,13 +318,14 @@ module subroutine util_spill_body(self, discards, lspill_list, ldestructive) logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter body by removing the discard list ! Internals - integer(I4B) :: i + integer(I4B) :: nbody_old ! For each component, pack the discarded bodies into the discard object and do the inverse with the keeps !> Spill all the common components associate(keeps => self) + call util_spill(keeps%id, discards%id, lspill_list, ldestructive) - call util_spill(keeps%name, discards%name, lspill_list, ldestructive) + call util_spill(keeps%info, discards%info, lspill_list, ldestructive) call util_spill(keeps%status, discards%status, lspill_list, ldestructive) call util_spill(keeps%lmask, discards%lmask, lspill_list, ldestructive) call util_spill(keeps%ldiscard, discards%ldiscard, lspill_list, ldestructive) @@ -180,17 +345,18 @@ module subroutine util_spill_body(self, discards, lspill_list, ldestructive) call util_spill(keeps%omega, discards%omega, lspill_list, ldestructive) call util_spill(keeps%capm, discards%capm, lspill_list, ldestructive) + nbody_old = keeps%nbody + ! This is the base class, so will be the last to be called in the cascade. ! Therefore we need to set the nbody values for both the keeps and discareds - discards%nbody = count(lspill_list(:)) - keeps%nbody = keeps%nbody - discards%nbody - if (keeps%nbody > size(keeps%status)) keeps%status(keeps%nbody+1:size(keeps%status)) = INACTIVE - + discards%nbody = count(lspill_list(1:nbody_old)) + if (ldestructive) keeps%nbody = nbody_old- discards%nbody end associate return end subroutine util_spill_body + module subroutine util_spill_encounter(self, discards, lspill_list, ldestructive) !! author: David A. Minton !! @@ -202,24 +368,28 @@ module subroutine util_spill_encounter(self, discards, lspill_list, ldestructive logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter body by removing the discard list ! Internals - integer(I4B) :: i + integer(I4B) :: nenc_old associate(keeps => self) - call util_spill(keeps%lvdotr, discards%lvdotr, lspill_list, ldestructive) call util_spill(keeps%status, discards%status, lspill_list, ldestructive) + call util_spill(keeps%kidx, discards%kidx, lspill_list, ldestructive) call util_spill(keeps%index1, discards%index1, lspill_list, ldestructive) call util_spill(keeps%index2, discards%index2, lspill_list, ldestructive) + call util_spill(keeps%id1, discards%id1, lspill_list, ldestructive) + call util_spill(keeps%id2, discards%id2, lspill_list, ldestructive) call util_spill(keeps%x1, discards%x1, lspill_list, ldestructive) call util_spill(keeps%x2, discards%x2, lspill_list, ldestructive) call util_spill(keeps%v1, discards%v1, lspill_list, ldestructive) call util_spill(keeps%v2, discards%v2, lspill_list, ldestructive) + call util_spill(keeps%t, discards%t, lspill_list, ldestructive) + + nenc_old = keeps%nenc ! This is the base class, so will be the last to be called in the cascade. ! Therefore we need to set the nenc values for both the keeps and discareds - discards%nenc = count(lspill_list(:)) - keeps%nenc = count(.not.lspill_list(:)) - if (keeps%nenc > size(keeps%status)) keeps%status(keeps%nenc+1:size(keeps%status)) = INACTIVE + discards%nenc = count(lspill_list(1:nenc_old)) + if (ldestructive) keeps%nenc = nenc_old - discards%nenc end associate return @@ -237,11 +407,8 @@ module subroutine util_spill_pl(self, discards, lspill_list, ldestructive) class(swiftest_body), intent(inout) :: discards !! Discarded object logical, dimension(:), intent(in) :: lspill_list !! Logical array of bodies to spill into the discards logical, intent(in) :: ldestructive !! Logical flag indicating whether or not this operation should alter body by removing the discard list - ! Internals - integer(I4B) :: i associate(keeps => self) - select type (discards) ! The standard requires us to select the type of both arguments in order to access all the components class is (swiftest_pl) !> Spill components specific to the massive body class @@ -258,6 +425,8 @@ module subroutine util_spill_pl(self, discards, lspill_list, ldestructive) call util_spill(keeps%Ip, discards%Ip, lspill_list, ldestructive) call util_spill(keeps%rot, discards%rot, lspill_list, ldestructive) + if (ldestructive .and. allocated(keeps%k_plpl)) deallocate(keeps%k_plpl) + call util_spill_body(keeps, discards, lspill_list, ldestructive) class default write(*,*) 'Error! spill method called for incompatible return type on swiftest_pl' diff --git a/src/util/util_valid.f90 b/src/util/util_valid.f90 index f05c81f35..eb6df7577 100644 --- a/src/util/util_valid.f90 +++ b/src/util/util_valid.f90 @@ -12,7 +12,7 @@ module subroutine util_valid_id_system(self, param) implicit none ! Arguments class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object - class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters + class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals integer(I4B) :: i integer(I4B), dimension(:), allocatable :: idarr @@ -34,7 +34,7 @@ module subroutine util_valid_id_system(self, param) call util_exit(FAILURE) end if end do - self%maxid = maxval(idarr) + param%maxid = max(param%maxid, maxval(idarr)) end associate return diff --git a/src/whm/whm_kick.f90 b/src/whm/whm_kick.f90 index 2da00c332..f831ce15b 100644 --- a/src/whm/whm_kick.f90 +++ b/src/whm/whm_kick.f90 @@ -80,17 +80,17 @@ module subroutine whm_kick_getacch_tp(self, system, param, t, lbeg) system%lbeg = lbeg if (lbeg) then - ah0(:) = whm_kick_getacch_ah0(pl%Gmass(:), pl%xbeg(:,:), npl) + ah0(:) = whm_kick_getacch_ah0(pl%Gmass(1:npl), pl%xbeg(:, 1:npl), npl) do concurrent(i = 1:ntp, tp%lmask(i)) tp%ah(:, i) = tp%ah(:, i) + ah0(:) end do - call tp%accel_int(pl%Gmass(:), pl%xbeg(:,:), npl) + call tp%accel_int(pl%Gmass(1:npl), pl%xbeg(:, 1:npl), npl) else - ah0(:) = whm_kick_getacch_ah0(pl%Gmass(:), pl%xend(:,:), npl) + ah0(:) = whm_kick_getacch_ah0(pl%Gmass(1:npl), pl%xend(:, 1:npl), npl) do concurrent(i = 1:ntp, tp%lmask(i)) tp%ah(:, i) = tp%ah(:, i) + ah0(:) end do - call tp%accel_int(pl%Gmass(:), pl%xend(:,:), npl) + call tp%accel_int(pl%Gmass(1:npl), pl%xend(:, 1:npl), npl) end if if (param%loblatecb) call tp%accel_obl(system) @@ -213,13 +213,13 @@ module subroutine whm_kick_vh_pl(self, system, param, t, dt, lbeg) if (lbeg) then if (pl%lfirst) then call pl%h2j(cb) - pl%ah(:,:) = 0.0_DP + pl%ah(:, 1:npl) = 0.0_DP call pl%accel(system, param, t, lbeg) pl%lfirst = .false. end if call pl%set_beg_end(xbeg = pl%xh) else - pl%ah(:,:) = 0.0_DP + pl%ah(:, 1:npl) = 0.0_DP call pl%accel(system, param, t, lbeg) call pl%set_beg_end(xend = pl%xh) end if @@ -254,20 +254,16 @@ module subroutine whm_kick_vh_tp(self, system, param, t, dt, lbeg) associate(tp => self, ntp => self%nbody) if (tp%lfirst) then - where(tp%lmask(1:ntp)) - tp%ah(1,1:ntp) = 0.0_DP - tp%ah(2,1:ntp) = 0.0_DP - tp%ah(3,1:ntp) = 0.0_DP - end where + do concurrent(i = 1:ntp, tp%lmask(i)) + tp%ah(:, i) = 0.0_DP + end do call tp%accel(system, param, t, lbeg=.true.) tp%lfirst = .false. end if if (.not.lbeg) then - where(tp%lmask(1:ntp)) - tp%ah(1,1:ntp) = 0.0_DP - tp%ah(2,1:ntp) = 0.0_DP - tp%ah(3,1:ntp) = 0.0_DP - end where + do concurrent(i = 1:ntp, tp%lmask(i)) + tp%ah(:, i) = 0.0_DP + end do call tp%accel(system, param, t, lbeg) end if do concurrent(i = 1:ntp, tp%lmask(i)) diff --git a/src/whm/whm_setup.f90 b/src/whm/whm_setup.f90 index eaed16c14..3c5cdeec3 100644 --- a/src/whm/whm_setup.f90 +++ b/src/whm/whm_setup.f90 @@ -16,7 +16,7 @@ module subroutine whm_setup_pl(self, n, param) !> Call allocation method for parent class call setup_pl(self, n, param) - if (n <= 0) return + if (n < 0) return if (allocated(self%eta)) deallocate(self%eta) if (allocated(self%muj)) deallocate(self%muj) @@ -24,6 +24,8 @@ module subroutine whm_setup_pl(self, n, param) if (allocated(self%vj)) deallocate(self%vj) if (allocated(self%ir3j)) deallocate(self%ir3j) + if (n == 0) return + allocate(self%eta(n)) allocate(self%muj(n)) allocate(self%xj(NDIM, n)) @@ -73,13 +75,14 @@ module subroutine whm_setup_initialize_system(self, param) !! implicit none ! Arguments - class(whm_nbody_system), intent(inout) :: self !! Swiftest system object + class(whm_nbody_system), intent(inout) :: self !! WHM nbody system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters call setup_initialize_system(self, param) ! First we need to make sure that the massive bodies are sorted by heliocentric distance before computing jacobies call util_set_ir3h(self%pl) call self%pl%sort("ir3h", ascending=.false.) + call self%pl%index(param) ! Make sure that the discard list gets allocated initially call self%tp_discards%setup(0, param) diff --git a/src/whm/whm_util.f90 b/src/whm/whm_util.f90 index cc84ba3d5..e8ed91854 100644 --- a/src/whm/whm_util.f90 +++ b/src/whm/whm_util.f90 @@ -125,9 +125,11 @@ module subroutine whm_util_sort_pl(self, sortby, ascending) character(*), intent(in) :: sortby !! Sorting attribute logical, intent(in) :: ascending !! Logical flag indicating whether or not the sorting should be in ascending or descending order ! Internals - integer(I4B), dimension(self%nbody) :: ind + integer(I4B), dimension(:), allocatable :: ind integer(I4B) :: direction + if (self%nbody == 0) return + if (ascending) then direction = 1 else @@ -135,6 +137,7 @@ module subroutine whm_util_sort_pl(self, sortby, ascending) end if associate(pl => self, npl => self%nbody) + allocate(ind(npl)) select case(sortby) case("eta") call util_sort(direction * pl%eta(1:npl), ind(1:npl)) @@ -165,21 +168,17 @@ module subroutine whm_util_sort_rearrange_pl(self, ind) ! Arguments class(whm_pl), intent(inout) :: self !! WHM massive body object integer(I4B), dimension(:), intent(in) :: ind !! Index array used to restructure the body (should contain all 1:n index values in the desired order) - ! Internals - class(whm_pl), allocatable :: pl_sorted !! Temporary holder for sorted body - integer(I4B) :: i if (self%nbody == 0) return associate(pl => self, npl => self%nbody) + call util_sort_rearrange(pl%eta, ind, npl) + call util_sort_rearrange(pl%xj, ind, npl) + call util_sort_rearrange(pl%vj, ind, npl) + call util_sort_rearrange(pl%muj, ind, npl) + call util_sort_rearrange(pl%ir3j, ind, npl) + call util_sort_rearrange_pl(pl,ind) - allocate(pl_sorted, source=self) - if (allocated(pl%eta)) pl%eta(1:npl) = pl_sorted%eta(ind(1:npl)) - if (allocated(pl%xj)) pl%xj(:,1:npl) = pl_sorted%xj(:,ind(1:npl)) - if (allocated(pl%vj)) pl%vj(:,1:npl) = pl_sorted%vj(:,ind(1:npl)) - if (allocated(pl%muj)) pl%muj(1:npl) = pl_sorted%muj(ind(1:npl)) - if (allocated(pl%ir3j)) pl%ir3j(1:npl) = pl_sorted%ir3j(ind(1:npl)) - deallocate(pl_sorted) end associate return