diff --git a/.gitignore b/.gitignore index 4bd2e288d..abd6383e2 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,4 @@ python/swiftest/tests/convert_code_type/swifter2swiftest/tp.swifter2swiftest.in !python/swiftest/requirements.txt bin/ +build/* diff --git a/build/.gitignore b/build/.gitignore deleted file mode 100644 index 72e8ffc0d..000000000 --- a/build/.gitignore +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/cmake/Modules/SetFortranFlags.cmake b/cmake/Modules/SetFortranFlags.cmake index 9d3e6bfb0..926547bbb 100644 --- a/cmake/Modules/SetFortranFlags.cmake +++ b/cmake/Modules/SetFortranFlags.cmake @@ -137,11 +137,6 @@ SET_COMPILE_FLAG(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG}" Fortran "-mp1" # Intel ) -# Calls the Matrix Multiply library -SET_COMPILE_FLAG(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG}" - Fortran "-qopt-matmul" # Intel - ) - # Strict model for floating-point calculations (precise and except) SET_COMPILE_FLAG(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG}" Fortran "-fp-model strict" # Intel diff --git a/examples/helio_neptune_pluto/param.in b/examples/helio_neptune_pluto/param.in new file mode 100644 index 000000000..27c0f31b2 --- /dev/null +++ b/examples/helio_neptune_pluto/param.in @@ -0,0 +1,33 @@ +! VERSION Swiftest parameter input from file param.in +T0 0.0 +TSTOP 100000.0 +DT 5.0 +ISTEP_OUT 20 +ISTEP_DUMP 20 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE NETCDF_DOUBLE +BIN_OUT bin.nc +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 31557600.0 +DU2M 149597870700.0 +IN_FORM XV +NC_IN init_cond.nc +EXTRA_FORCE NO +BIG_DISCARD NO +CHK_CLOSE NO +RHILL_PRESENT NO +FRAGMENTATION NO +ROTATION NO +TIDES NO +ENERGY YES +GR NO +INTERACTION_LOOPS TRIANGULAR +ENCOUNTER_CHECK TRIANGULAR diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_param.in new file mode 100644 index 000000000..ba1fb3c2b --- /dev/null +++ b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_param.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 200000000.0 +DT 0.005 +ISTEP_OUT 200000 +ISTEP_DUMP 200000 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN hungarias_5pl_500tp_17_pl.in +TP_IN hungarias_5pl_500tp_17_tp.in +CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in +BIN_OUT hungarias_5pl_500tp_17_out.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.988409870698051e+30 +TU2S 31557600.0 +DU2M 149597870700.0 +IN_FORM EL +EXTRA_FORCE NO +PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION YES +TIDES NO +ENERGY YES +GR YES +INTERACTION_LOOPS ADAPTIVE +ENCOUNTER_CHECK ADAPTIVE +ENERGY_OUT hungarias_5pl_500tp_17_energy.dat +GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_pl.in new file mode 100644 index 000000000..cd9d16020 --- /dev/null +++ b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_pl.in @@ -0,0 +1,49 @@ +8 +Mercury 6.553709809565314146e-06 0.0014751274117575772341 +1.6306381826061645943e-05 +0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 +48.302897646473702764 29.190213908309409874 163.69992642152809026 +0.0 0.0 0.34599999999999997424 +3.5735549824428292985 -18.380047749494480457 34.361526740492798437 +Venus 9.6633133995815381836e-05 0.006759122875155079725 +4.0453784346544178454e-05 +0.7233300630551103838 0.006773384545514573099 3.394505355540899938 +76.62090440289564697 55.183156101464518883 271.2285045598760007 +0.0 0.0 0.4000000000000000222 +0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 +Earth 0.000120026935827952456416 0.010044657392872289059 +4.25875607065040958e-05 +0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 +175.84932558359508903 287.2227751976308241 324.72725799674782365 +0.0 0.0 0.33069999999999999396 +4.827962479462605839 0.034731626640621778608 2301.2114260455621944 +Mars 1.2739802010675941808e-05 0.007246146587933918669 +2.265740805092889601e-05 +1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 +49.490271729763087194 286.7387645553690163 252.78317601821959215 +0.0 0.0 0.3644000000000000017 +997.9376283354346323 -909.38573894978675416 1783.4600697011568969 +Jupiter 0.03769225108898567778 0.35525381666404283465 +0.00046732617030490929307 +5.203268729924161562 0.04848413524543258163 1.3035624911873560094 +100.51639734596980702 273.421918018626684 325.351028522703416 +0.0 0.0 0.27560000000000001164 +-80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 +Saturn 0.01128589982009127331 0.43764770913411007376 +0.00038925687730393611812 +9.581513697274186114 0.05248801962394190196 2.4862838811768979141 +113.59546767797320399 335.45662431368151601 228.84653123700309152 +0.0 0.0 0.22000000000000000111 +441.9323685947327233 378.52918410105413535 5135.911248678291292 +Uranus 0.001723658947826773068 0.4699394560146697986 +0.00016953449859497231466 +19.24773626798451076 0.04408736292912442123 0.7704474968533898682 +74.09072726634606454 95.12631113857929677 237.66915583105441101 +0.0 0.0 0.23000000000000000999 +-677.3000258209181323 -3008.109907190578637 -836.301326618569835 +Neptune 0.0020336100526728302882 0.7816500366521773358 +0.000164587904124493665 +30.297815841143489024 0.013873050398302080172 1.7688477929856469828 +131.74107055888509876 246.83916166351488641 334.07963351871291025 +0.0 0.0 0.23000000000000000999 +1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in new file mode 100644 index 000000000..b2cb85c35 --- /dev/null +++ b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_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.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_tp.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_hungarias/swifter/control_planets/hungarias_5pl_500tp_17_tp.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_hungarias/swifter/control_planets/param.swifter.in b/examples/symba_hungarias/swifter/control_planets/param.swifter.in new file mode 100644 index 000000000..b39e5a947 --- /dev/null +++ b/examples/symba_hungarias/swifter/control_planets/param.swifter.in @@ -0,0 +1,26 @@ +! VERSION Swifter parameter file converted from Swiftest +T0 0.0 +TSTOP 200000000.0 +DT 0.005 +ISTEP_OUT 200000 +ISTEP_DUMP 200000 +OUT_FORM XV +OUT_TYPE REAL8 +OUT_STAT UNKNOWN +IN_TYPE ASCII +PL_IN hungarias_5pl_500tp_17_pl.in +TP_IN hungarias_5pl_500tp_17_tp.in +BIN_OUT hungarias_5pl_500tp_17_out.dat +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +EXTRA_FORCE NO +PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +J2 0.0 +J4 0.0 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_param.in new file mode 100644 index 000000000..ba1fb3c2b --- /dev/null +++ b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_param.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 200000000.0 +DT 0.005 +ISTEP_OUT 200000 +ISTEP_DUMP 200000 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN hungarias_5pl_500tp_17_pl.in +TP_IN hungarias_5pl_500tp_17_tp.in +CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in +BIN_OUT hungarias_5pl_500tp_17_out.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.988409870698051e+30 +TU2S 31557600.0 +DU2M 149597870700.0 +IN_FORM EL +EXTRA_FORCE NO +PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION YES +TIDES NO +ENERGY YES +GR YES +INTERACTION_LOOPS ADAPTIVE +ENCOUNTER_CHECK ADAPTIVE +ENERGY_OUT hungarias_5pl_500tp_17_energy.dat +GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_pl.in new file mode 100644 index 000000000..cd9d16020 --- /dev/null +++ b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_pl.in @@ -0,0 +1,49 @@ +8 +Mercury 6.553709809565314146e-06 0.0014751274117575772341 +1.6306381826061645943e-05 +0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 +48.302897646473702764 29.190213908309409874 163.69992642152809026 +0.0 0.0 0.34599999999999997424 +3.5735549824428292985 -18.380047749494480457 34.361526740492798437 +Venus 9.6633133995815381836e-05 0.006759122875155079725 +4.0453784346544178454e-05 +0.7233300630551103838 0.006773384545514573099 3.394505355540899938 +76.62090440289564697 55.183156101464518883 271.2285045598760007 +0.0 0.0 0.4000000000000000222 +0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 +Earth 0.000120026935827952456416 0.010044657392872289059 +4.25875607065040958e-05 +0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 +175.84932558359508903 287.2227751976308241 324.72725799674782365 +0.0 0.0 0.33069999999999999396 +4.827962479462605839 0.034731626640621778608 2301.2114260455621944 +Mars 1.2739802010675941808e-05 0.007246146587933918669 +2.265740805092889601e-05 +1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 +49.490271729763087194 286.7387645553690163 252.78317601821959215 +0.0 0.0 0.3644000000000000017 +997.9376283354346323 -909.38573894978675416 1783.4600697011568969 +Jupiter 0.03769225108898567778 0.35525381666404283465 +0.00046732617030490929307 +5.203268729924161562 0.04848413524543258163 1.3035624911873560094 +100.51639734596980702 273.421918018626684 325.351028522703416 +0.0 0.0 0.27560000000000001164 +-80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 +Saturn 0.01128589982009127331 0.43764770913411007376 +0.00038925687730393611812 +9.581513697274186114 0.05248801962394190196 2.4862838811768979141 +113.59546767797320399 335.45662431368151601 228.84653123700309152 +0.0 0.0 0.22000000000000000111 +441.9323685947327233 378.52918410105413535 5135.911248678291292 +Uranus 0.001723658947826773068 0.4699394560146697986 +0.00016953449859497231466 +19.24773626798451076 0.04408736292912442123 0.7704474968533898682 +74.09072726634606454 95.12631113857929677 237.66915583105441101 +0.0 0.0 0.23000000000000000999 +-677.3000258209181323 -3008.109907190578637 -836.301326618569835 +Neptune 0.0020336100526728302882 0.7816500366521773358 +0.000164587904124493665 +30.297815841143489024 0.013873050398302080172 1.7688477929856469828 +131.74107055888509876 246.83916166351488641 334.07963351871291025 +0.0 0.0 0.23000000000000000999 +1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in new file mode 100644 index 000000000..b2cb85c35 --- /dev/null +++ b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_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.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_tp.in new file mode 100644 index 000000000..f4ba244e1 --- /dev/null +++ b/examples/symba_hungarias/swifter/control_tp/hungarias_5pl_500tp_17_tp.in @@ -0,0 +1,1501 @@ +500 +TestParticle +1.8454769027014339411 0.13951119042459186881 25.837798047275626345 +328.17117785206306735 237.2860880034895672 64.23008023926446697 +TestParticle +1.8948047399930760815 0.39253684339890981825 30.57401904357708844 +171.8160167926455415 74.67067835186652758 346.82539114732162489 +TestParticle +1.4322956873029448754 0.26682998123758877584 36.888797433998760766 +135.67836179139501951 49.89780708941236753 50.12940813296061293 +TestParticle +1.5422738860284694873 0.37685139101297421282 19.245291067203744717 +242.6056203622448777 190.34039186776647057 265.5775848896740854 +TestParticle +1.4000225346968613316 0.29255853399659431657 19.890767084525684538 +119.10518346196536754 348.49038108835299 47.293501598324468205 +TestParticle +1.456396703278512561 0.21606816556140612251 29.008692147879436618 +108.30731953608933793 221.35606614343436149 135.6522448644592771 +TestParticle +1.4991966146428574724 0.2669401594934397437 30.077755049056197123 +191.15663442447419129 222.38194219090249248 69.087779756302211354 +TestParticle +1.2976220185588704936 0.2964166811906516763 17.074990789432430205 +304.33208099940674174 258.6470139846816778 322.57928297363247339 +TestParticle +1.2284058459883253622 0.02114032275754222992 21.48034199376179032 +253.91897753388707315 121.66008318006832667 48.90451689677965419 +TestParticle +1.3491703154567693534 0.12631152383406446527 12.08570156851411781 +94.79536576066179521 143.49729046755351192 208.82266091055907964 +TestParticle +1.354548306636307764 0.30813073753578051894 26.385704559503864175 +9.340695923175923454 140.9062990975310754 128.60525944669927867 +TestParticle +1.4726763914941964906 0.051608113984077212677 23.16805302210511286 +60.87571895315940651 37.85205814142705094 334.24673224972650587 +TestParticle +1.5463324166991267994 0.049680078831149866725 2.1376306166210978787 +220.16008032774595904 11.76294270807032305 189.70726088424217437 +TestParticle +1.8424848789863070841 0.22250945291262835823 31.15994606422547264 +200.26190393952850854 90.472365503047569746 91.504582635979360816 +TestParticle +1.3344201535197020014 0.22773738327276721316 26.57752464191161934 +153.96142537752339763 186.86606427694519539 35.556703962561442722 +TestParticle +1.9184874234026485507 0.023481756935774280443 35.397883111232822273 +271.86866710708176242 55.05965672749781703 149.58202579969920976 +TestParticle +1.5321856218987717213 0.3979302949006976453 2.3033304058957959626 +1.0080751214383187886 229.5039187263292888 149.08850733126683963 +TestParticle +1.8579680598185155382 0.22191671822921349433 4.132202808256058013 +84.407322217061448555 105.02111083305797479 146.60404199861849861 +TestParticle +1.8191335218869923995 0.081164276322499742666 2.5841250683973493452 +159.5912052269758874 90.717444711181698835 52.736155424681527393 +TestParticle +1.3667350901122115037 0.040168371245059432406 21.275121073210776501 +354.85336821525999085 78.43154031841972085 317.9997578721723812 +TestParticle +1.211310325452651826 0.22495050228658303171 6.171244471860548586 +261.19666701924728613 72.22571277624209074 188.79752520382470493 +TestParticle +1.5325985395295633751 0.31279786859050073833 20.80765006283890628 +318.17303457104600284 237.18051290105893258 171.10337432510698363 +TestParticle +1.8680074840187885776 0.2359667145186353232 3.4681761306941005785 +200.43760942249792834 358.90361110235892284 209.24526446322295214 +TestParticle +1.8902919155434694254 0.083578216274719355217 21.112558775866592242 +196.8514015184809125 347.4309841941474133 73.29619835953663198 +TestParticle +1.3627905330289311614 0.099888583939379896326 10.927033380075510394 +304.94152566655765213 199.55238917120914266 66.700355986912740036 +TestParticle +1.6040569601728904559 0.0037929451167165065088 35.906866500389931218 +99.48570161019421221 264.107310263435636 196.91578900528253371 +TestParticle +1.5861188083181421149 0.12827049258664038889 4.433072269138715882 +250.35776905499878353 45.94314631274010452 78.766936071707490896 +TestParticle +1.8085832921727800215 0.38738844761580382148 38.482814871600758977 +59.61087191956130482 302.66582104517908647 337.43444136948141931 +TestParticle +1.4784945066780474932 0.02330664972959981679 24.805661482861435019 +161.3343149737517308 260.74004269183234328 332.58410511792851594 +TestParticle +1.2147867771614853094 0.16512447645289687892 26.704102750300808822 +342.71215159236965064 303.68316149292064665 267.30686157877283904 +TestParticle +1.2201597354758311198 0.29779565538112623413 9.5137682254248456815 +191.53033272117548336 279.0125127827463416 212.78518850631689929 +TestParticle +1.6306412809893466864 0.17831015307074157827 3.1250419675817919796 +35.17124037365346112 108.44038602029890228 289.87991262900078482 +TestParticle +1.2151606182820764435 0.030818630012030868992 15.255139624036321067 +18.872922094318155928 231.7787216922804987 114.00766773514217789 +TestParticle +1.263893046608108861 0.2365742775318666613 11.945519016269416923 +42.860493283933593034 103.96603523733477914 283.38829024952065083 +TestParticle +1.6208609899851271763 0.084237547629803233296 12.70952077968544458 +283.22127471251508268 16.774057774443846824 300.16022765529646676 +TestParticle +1.369439844040318377 0.02479558882423171795 12.8318676295292597445 +301.63112212878189666 317.34595898371384237 30.617048625074787083 +TestParticle +1.5997694540834734855 0.09458558350377295476 19.448014834633401193 +12.1917196597836952066 3.3679767469261356894 154.78568082871979072 +TestParticle +1.7665402755717471983 0.30325026057285930925 27.633560559304825688 +101.32565005973741279 173.42784439679959974 37.232060344515574002 +TestParticle +1.9955375108845494481 0.36780600821797326816 31.984293078717442427 +282.80116122029363623 340.83055441100248117 39.611552110590793063 +TestParticle +1.8068990906750328485 0.21026617244057629885 1.0616116239923245601 +148.12562556977400163 298.30253571723386585 39.94475612648128049 +TestParticle +1.6630081107132843599 0.2735942970781838346 20.393789507385111648 +186.34515293922132173 65.17268953054855274 249.5770342523899501 +TestParticle +1.7985429554004617181 0.32088199656574384333 3.421215620948947489 +16.760921442599428843 74.095210179753522084 131.64141600391005227 +TestParticle +1.4370805125444752193 0.33325879590334600566 29.297209939601689399 +179.87886700027897291 9.64820682838999133 185.83130754139918395 +TestParticle +1.4655739620290153535 0.017666725980597774298 15.194095015809558902 +272.98954032167330297 58.084307572382229523 205.40990717491945361 +TestParticle +1.8476543863511110111 0.38915614646375812358 11.917542586934226634 +134.42337723208845546 335.9708646376130332 1.2971084841705504687 +TestParticle +1.4590877868615714785 0.00229625206779173743 3.1321552894228821273 +234.02046406252858901 255.12979045887780671 16.475368403924544936 +TestParticle +1.3888300055647480047 0.04773585409741545882 20.980957411518524225 +232.75615771007392141 269.83840631297238133 128.91250646333895702 +TestParticle +1.9931456375147125204 0.36812801925517474322 8.575906190939374341 +75.54998759463583724 336.19060016425089543 128.81172294803698719 +TestParticle +1.8774492133690419138 0.3438244675687084917 23.038981078440741612 +9.8914055387747712444 56.58764160659445963 274.986529163730836 +TestParticle +1.3204375538736723428 0.08737144541036796774 29.974540925371840672 +221.62895491427303796 180.74872085610940076 337.40135640751742585 +TestParticle +1.7927656300808507694 0.117314349174642992835 19.184850306121404628 +206.67799209022632567 27.751086824061687253 298.02149638567931333 +TestParticle +1.7770751091671890265 0.19250351376309945972 9.172954305563960631 +43.26806500508915576 40.25028641050728595 238.70170337404292127 +TestParticle +1.974616589119178478 0.34407442172588997842 9.802858566374489158 +297.25364573770326615 87.77531802870282718 75.66951173963438748 +TestParticle +1.3863166307158814039 0.076685155941225657816 27.402627668756696977 +65.08259549484182571 164.8638775674021133 100.45589134667613962 +TestParticle +1.865440866859517488 0.1196471086364425257 11.945324988836505398 +268.187594819792821 223.64720186520361267 29.40940210460087556 +TestParticle +1.924611171111724417 0.20112445232693854091 27.71898676703103348 +318.34445645026778493 191.25112555799532288 349.89422766228875616 +TestParticle +1.5993892099645203864 0.10968442780595713537 9.326690310948993812 +31.533935713187357663 310.02898225335894722 210.51997485541662058 +TestParticle +1.2359382488484538243 0.32658357473851062913 38.707976308555153366 +144.00217869231852319 119.06805794770258444 79.384200277529473055 +TestParticle +1.6109049166063780234 0.038297945827820673026 19.543826335927839466 +187.13697315293387646 257.17832502585736165 137.87766714187893058 +TestParticle +1.4314628393318562516 0.06605107757031168647 34.48524969280026653 +261.32336202719972107 132.91845049023550018 38.845354985336733478 +TestParticle +1.6270574875899108669 0.34703206127568098083 15.7198484814636287865 +347.55110983950402215 301.80674145531685326 112.25474179150697296 +TestParticle +1.2336395323546296421 0.09729394203067305569 5.1016432554912771735 +233.12366663108903708 146.38256752560837981 198.90738568911748985 +TestParticle +1.3456767380773657639 0.0037474665741684012703 39.938234490697439583 +256.57759604724572 75.054619437472723575 358.3650510442133168 +TestParticle +1.5755427111046413913 0.26176654357687628716 8.3705428253832359076 +37.517264866504824283 65.328654571322900324 91.55626866074713632 +TestParticle +1.6755570822166401257 0.13402717291758836637 24.063895956419415256 +13.799270685071709508 72.62055343894668624 87.31894896673983908 +TestParticle +1.5559490988866435668 0.15176826381840774483 38.48111346610262018 +256.2333379875098558 75.97800331031197629 59.41813313856062706 +TestParticle +1.44994652075586683 0.33986546456988747655 24.751134550954795088 +232.18945993885864709 196.68218102285592863 134.45246030705607154 +TestParticle +1.8429185809905443971 0.017095748280579449452 37.139787427802218645 +161.43471520401584485 307.27501647662722917 355.50902004252696997 +TestParticle +1.8754638534803846905 0.012020551314167439438 25.689663713162978809 +190.79044364156195002 199.61943428385487209 354.13757823278496062 +TestParticle +1.6785085343609076336 0.092751885821403062815 9.210612929641403213 +285.5852225501039925 151.86743084166838003 284.55869958326974256 +TestParticle +1.6543220378661067649 0.21134650270613800083 33.840207882222927083 +304.1335703446064258 326.82908020011677763 324.19035648687139428 +TestParticle +1.532142838634183768 0.38007507167758092237 0.41347334753230935434 +67.05133558163640828 34.399290053628249098 34.840294234675972973 +TestParticle +1.5607062121608026306 0.33781855969656376937 8.967843423326943508 +299.3643723824862377 200.63715648972143413 68.959909224159687824 +TestParticle +1.4493452438508076519 0.0685471748773834183 8.6320194163908645635 +72.080624314054560386 115.122237950328312195 0.4079154529894424286 +TestParticle +1.6460340581063395149 0.39668168452346741493 20.981074587513283802 +204.3451792276263177 201.37614636656564926 213.30860176845612841 +TestParticle +1.5920263567710581931 0.25848484530126630832 37.015946260712674132 +127.874562568991194667 65.19741011690945243 94.70447850395582634 +TestParticle +1.7336512363309442009 0.07029270812373322741 2.7619103909209741232 +186.8230602145383159 227.39378660430725176 98.630627655617857386 +TestParticle +1.2180382444813300236 0.3142235003505371993 28.081856084101627147 +111.345098722858793394 55.920002664921518942 282.87486367297071865 +TestParticle +1.6485319714902004762 0.3152277024193525512 9.613333711481617527 +294.21829832085342105 286.30105207001298595 128.67843292368630159 +TestParticle +1.4661249318513216444 0.05768902442216044396 0.40134055259916312508 +131.60830524837382427 243.75402215940340511 207.34266824752899083 +TestParticle +1.9808876352137643195 0.14308188258148502037 1.4378912336896432222 +80.646845170624999355 231.53252144735679963 232.24754717746816368 +TestParticle +1.2317104124445219515 0.2601604050852836525 0.45344055155487783537 +196.60019387641727917 281.28440095008312483 247.80040663000707468 +TestParticle +1.9766606334273690848 0.34561610666945052905 23.435434834980789276 +34.473035596172188377 271.1594424183512615 48.466138898201464258 +TestParticle +1.902283887520531902 0.11209856668107276434 36.03239655947709963 +294.40684092368923075 270.02199923071918874 114.382104661423511516 +TestParticle +1.6492323095244016962 0.15893979864294510707 37.659784271934086064 +104.66474319501168111 339.31942052690538958 216.02473301930888283 +TestParticle +1.3484148267391067311 0.21111072648635398341 10.89667366492733791 +291.56591682201212734 76.70162083026228572 312.33817224861377326 +TestParticle +1.4294351818194139803 0.088023727454350997323 39.975651469559892348 +198.68831704157523177 24.599669214308292453 112.67218982565516683 +TestParticle +1.7462490440076519072 0.37071438804152889723 21.870120107958371136 +306.73669065023256053 227.86908802150850306 221.53115484665687518 +TestParticle +1.2326287663421375829 0.38251042858385364553 15.802748366587309192 +199.40278420565533679 149.69869717845381274 315.67560896416114247 +TestParticle +1.8450862453370659999 0.35823810152470403345 0.24296995062495163609 +231.11355647090658749 268.36408970924156847 247.20131497380242536 +TestParticle +1.3463306194321635889 0.054152156717265725883 19.291673537548810202 +161.87111271376406307 110.46662751206984865 211.17562619004070257 +TestParticle +1.7304729990392044847 0.0060363382745066036794 4.5425988088905189244 +83.83165898233737323 161.12905358043980186 286.6647995328502816 +TestParticle +1.272415258736352639 0.34812105948963872892 35.045494396081245725 +14.574000729875393745 353.3713665259786012 131.5433867402096837 +TestParticle +1.6439273487752854574 0.36545065070539850538 6.353634441759323792 +208.14453818563018217 10.813063425795590433 206.06730287545840952 +TestParticle +1.6763079933342956984 0.094138501830316120844 9.085159707293687603 +80.58871476637817466 314.0368013316636393 100.690960685859835166 +TestParticle +1.4877140448295171904 0.16166761889883485281 34.241465691047999087 +79.8410863542756033 83.93580251433438377 326.42504725591442138 +TestParticle +1.2162284372972316238 0.0041396912261435492297 18.10971019209766908 +119.24015567046335207 329.67281909144981 104.828869567280364095 +TestParticle +1.8047735542382463692 0.33749016396948239294 0.52972364011479644574 +178.94392698813351217 299.23756071934496958 162.62104380151879468 +TestParticle +1.5839648306862472715 0.10066137160625268643 33.26828317225646714 +263.27920251880794922 68.67162164080139064 57.290691877799474696 +TestParticle +1.782207613297600135 0.28298109588186182162 35.127393670730072017 +210.15608294480230711 329.15212439443854464 156.34171670624388639 +TestParticle +1.3155167265331972892 0.3723026355627080397 31.9899066241260428 +91.31036979040656831 223.20537501312867334 55.827047719351739374 +TestParticle +1.5449962589928503132 0.042895131418722920458 19.621615335811604552 +53.274917868286941314 105.38186162729587636 323.020751462690896 +TestParticle +1.5754411317280814231 0.34816180369684263107 4.7678217298113434452 +120.95128002085144203 157.00930158977180895 240.29746717057042815 +TestParticle +1.5907469291141598244 0.1964357827791012312 32.411571541856559975 +170.61499094134663324 242.1650203501031342 17.501615221478704854 +TestParticle +1.830089894183755117 0.1183426089423230132 39.644525581214999477 +294.65378437812546508 109.07115594302160844 324.16241183209581322 +TestParticle +1.4367780052388956502 0.36401192064177911867 30.631206179017613778 +68.80265368578432117 273.93063220366155974 24.29554655983004352 +TestParticle +1.2142291174104986595 0.26599477562223389215 38.323418486729934784 +308.15266716976327643 181.95454939706644382 25.317934141736472498 +TestParticle +1.3097560558867786806 0.27086655670790987793 26.727111485760552512 +202.01817831967753136 111.97198753257944759 220.9572217341067244 +TestParticle +1.7068002319397266309 0.13225077417056724238 27.615823462695185952 +285.91192474987235528 163.31636137404424858 93.38394269951035653 +TestParticle +1.2055264990732839081 0.30786309414395046646 1.0578708063967390274 +10.359167032075170312 91.437369236993205845 199.49137469503560283 +TestParticle +1.507944679481377559 0.24354603379899894544 13.546984987329334871 +57.02677054315793015 348.2783664994595938 271.03255123935065285 +TestParticle +1.2000480949162781741 0.37393642722973008397 23.203234027939288353 +10.544426197782676979 54.256441116884829512 254.63780531903708493 +TestParticle +1.7449420987438828412 0.24948442565304040919 27.500692921539069857 +95.99564887831238025 273.51317842100650068 326.03984845413532412 +TestParticle +1.3765488182504534986 0.030416876982825514358 31.70464034258963082 +275.78595003182448409 133.87458225546748736 226.00553898246667472 +TestParticle +1.2429016633522536051 0.20958324622273286075 37.67591956683881449 +291.1872246516109044 179.51252843010638571 313.71221570905379394 +TestParticle +1.350836711566139936 0.37146863516149991602 10.648022816293165604 +303.44796444885918163 189.14789607745939293 51.43707686446851568 +TestParticle +1.3606071504125110128 0.33726059408562408803 29.623948782469774699 +174.22516541583135563 294.25596249059782394 95.41136217835122579 +TestParticle +1.2613426667283003102 0.28493782233230641188 2.8418286626483357793 +28.660785941482401995 87.50329638280636857 62.24419865756345871 +TestParticle +1.7174163570319429528 0.3032422501079781174 15.67069716211129915 +199.70972264612359481 32.767912430781642286 213.64123907162533555 +TestParticle +1.7458843970753306074 0.11283265730661723447 31.014841487303186796 +100.348702433335944306 70.42890181497725166 181.6379350423849246 +TestParticle +1.5856984450767472872 0.12800000166780992061 31.429108868252029652 +51.353858554652823898 23.612627758947475343 267.08391560632128403 +TestParticle +1.7153544980924069208 0.009492334383937130193 23.973160269033186864 +225.8121095708202688 166.53019043018878165 111.264606624241494615 +TestParticle +1.5026214783945404108 0.0060590469509819834884 26.922409196875427995 +295.19858318066900438 267.2316600455114326 164.01625566186100968 +TestParticle +1.9160661225785111661 0.2687972938601586037 36.621056515844763624 +334.838998311582543 64.064850181025448705 189.01682882741042135 +TestParticle +1.2176400162982947695 0.34785736514134202313 33.268864900617138858 +225.50438622677125977 227.27950095352301219 349.3797741235012495 +TestParticle +1.2273892818311689101 0.2816869543044054902 29.30501713210593806 +5.1819190308878404494 2.980732803128396391 210.95489861072306326 +TestParticle +1.3751089556704734207 0.2405885452138842584 36.06217993351511808 +199.72275209903938276 20.656954375719962513 63.697518910616103938 +TestParticle +1.5607369467841181176 0.07255978851264624496 7.9579329131271947517 +171.37467949380453547 212.58991825508687157 339.50383959100975062 +TestParticle +1.9532502979079398031 0.32689490765476852951 28.253212569212344363 +181.63986801834479934 358.1359989621613522 109.388744074059957256 +TestParticle +1.6386262719092012929 0.3843259001434648492 30.427684580834899464 +231.68744967547161195 57.857403700081057707 50.909305856223930675 +TestParticle +1.9782962700915884824 0.107957633562424437645 12.967168829872832703 +304.82496750248236594 137.36222813798312359 43.932431234771847528 +TestParticle +1.456906303967715921 0.14977091087281488302 11.183659205458482688 +73.40451433078203536 248.31190118288742497 75.220198402857562314 +TestParticle +1.2534896538060293913 0.32164641810767541363 3.6905727779895203255 +113.638768774667383354 40.160334282501267467 312.87037322501493009 +TestParticle +1.3014118589240171175 0.2335136721159586648 25.377666434917763638 +52.35427893272325406 9.000303326532378634 144.16353907228875642 +TestParticle +1.349118336295686893 0.043025081648941171375 4.3612305774961734883 +243.8860202407295219 2.8265136490351139287 103.60819968189791496 +TestParticle +1.3275933491849711832 0.30130671835155509175 9.869222679372882112 +140.91605869565009357 6.9406462242691979725 239.80228459696834875 +TestParticle +1.6818942627306852078 0.31620420657586079116 20.559233470145720446 +58.349404997197098055 117.22724335851061994 205.33268031856118796 +TestParticle +1.9852083696659352796 0.013418902816453127241 34.384158548277603984 +115.09964166928982365 93.38072290721305535 50.024657651717582496 +TestParticle +1.5693995761001753309 0.16001215059117473993 34.5933607052273544 +148.74442398288778122 35.382707682911650693 307.9784638941427488 +TestParticle +1.5266059802597138351 0.017927011927562432753 36.548915878020643788 +210.40292925773331945 201.71103729618005218 224.16233740901310512 +TestParticle +1.728092867591788595 0.17808919848065529745 20.998516569906101381 +308.92264952207932538 127.645229747456198766 161.89916144859373048 +TestParticle +1.6194915162303571421 0.12309065176675240694 11.294533006684988052 +54.678975810373955824 126.54242973288489793 198.90789595722705485 +TestParticle +1.3289490961949892434 0.29324085207912647943 30.6374181063208475 +269.87631534747202977 37.841881250480767562 348.01538484590025746 +TestParticle +1.992893537374311741 0.18673594337410803767 16.540817363482574365 +17.388276030638827763 78.86833627776049127 145.80382488854473877 +TestParticle +1.222299452110788831 0.30906300615816389987 12.345442063899700003 +306.8123712805751211 180.92912639536746155 259.40768755027107773 +TestParticle +1.4975645450575401085 0.33347394063389190766 1.5908406722909917974 +21.190900575813813589 29.47013297848204516 102.16591862721205075 +TestParticle +1.7529928369432026258 0.37348208125904397425 34.962456206016206295 +93.100816365900570304 51.110432866675402863 102.57164314281175166 +TestParticle +1.2425425262626379475 0.33615312037358630048 13.5646379554957707825 +178.52596605015196474 153.15866826328647221 144.53495382113527512 +TestParticle +1.6649955177303406018 0.2774227948724269921 0.19107601744351665474 +63.095836643914225306 354.85824120341573007 264.91047609564412824 +TestParticle +1.6484772171416994802 0.30267580759790019274 20.681865450161470932 +178.44791810461956061 236.1847171609527436 98.36374690667254583 +TestParticle +1.9932276245336744136 0.28313215139520719887 18.707112367987669188 +219.87647284127007197 126.12068590426943615 215.87266615210091913 +TestParticle +1.7032561164628601258 0.16397636271323282053 25.251751880173408438 +216.40546882883455737 157.48365299675131723 4.688955472432070337 +TestParticle +1.6688736346909214259 0.20206175633607201259 6.8253656041650678787 +216.49653061411731869 167.29352654167502124 264.9681676707442648 +TestParticle +1.8685421164356719181 0.017115665378235479788 37.702745220955684147 +341.22511657108503869 114.98911860271485352 180.97443389686239357 +TestParticle +1.2789089584183417347 0.38311485210375972876 34.310997435004189526 +320.3337196375490521 323.3381621809996318 259.21085923985185673 +TestParticle +1.6140662295704462093 0.22523087980360034788 31.289184028405010451 +342.24508460858135095 15.680010847649224814 231.38490121660879595 +TestParticle +1.9392715602121850527 0.15801671085680726869 28.474643946647489656 +130.88611486656463967 107.8187080577375383 123.51635573428578141 +TestParticle +1.2967745250719693306 0.06567169524305174755 33.95229338812422526 +290.63873117229752552 79.02208966627722475 232.82648238779003691 +TestParticle +1.5129927102068225775 0.035355940722157398748 39.88868697475624714 +192.95122284146495417 161.94702337269632153 136.8613631323482025 +TestParticle +1.6829217923833816872 0.25345881856811941502 11.3639096364677563145 +97.75123136727515316 45.772970150424697522 122.47944569483230737 +TestParticle +1.8496796135868087685 0.13179006688881342302 13.3337440463942780156 +265.13170996725159512 228.43295285296423458 86.46213418755671398 +TestParticle +1.3358066112403499393 0.14376027444378572384 39.375717961581145232 +157.40058260425848857 311.2848447975355839 331.54934076273463006 +TestParticle +1.4724981157763801232 0.09732120033570890172 28.321058818578286775 +59.894734856092107123 278.76518901350408441 80.89976806352470362 +TestParticle +1.2021644761475605012 0.31023967350442599455 28.526439154406524779 +141.17072146741031702 348.00301966689602295 345.1342457342993839 +TestParticle +1.5593994326172748721 0.1667781483451987734 33.654370780663562357 +266.88153921797828616 15.430552831803581171 331.4077165346525362 +TestParticle +1.2450357937715832435 0.028817230992748132934 35.27994061369459189 +170.88739535567884786 353.3811233168729018 235.24134924372253863 +TestParticle +1.9317961733915889333 0.3664316651845210826 24.216703033341396178 +53.371442738369651693 125.538665606108594375 100.18756180685251422 +TestParticle +1.6396980067944455506 0.35320738196817447196 38.908475459351436143 +246.96073709218802605 107.071264330560637745 337.8304256083255268 +TestParticle +1.7122870680368271756 0.33138468975426782492 22.34571124430782163 +41.625350595521808827 260.11274001626304653 319.5586433718779631 +TestParticle +1.7758391618474895779 0.055654577054355419685 14.384020683089943304 +218.7045008460380302 129.23569045343450057 314.73455478475153768 +TestParticle +1.8362854949156799389 0.17009562329070515574 9.220110348963054037 +5.6249185474454588274 94.48961934631255133 267.2078794777070243 +TestParticle +1.7334953226477165522 0.049544865778679184065 1.209613515173937337 +190.91534544660109418 64.56511824447872527 53.933623678817561142 +TestParticle +1.2066506827151026737 0.27307016461379868266 16.286012208431877468 +210.72290400454269843 4.9513407455376867716 217.19883427837939394 +TestParticle +1.9341836813541077866 0.31275777164344914505 21.744449246528134267 +16.671280260299788267 359.76195227232665275 224.80650775703034583 +TestParticle +1.2301271999661356205 0.031548406830605689455 39.849035058731047343 +90.34650036320888944 228.990784368342986 250.85529561169511226 +TestParticle +1.3410010761068889007 0.095083624572690483845 16.924908171363043152 +283.45379909314135602 86.752474366828209895 159.59709647132103782 +TestParticle +1.7698211243948773763 0.31273331984328978095 32.406541703763409146 +142.47083941877434654 108.934565017581746815 272.0311071315450704 +TestParticle +1.2184663095396561783 0.03812658809257066239 19.774618927626171683 +209.47233898474567582 217.91859195187419118 328.76297389338390076 +TestParticle +1.7206223471221142596 0.34602085721486458558 1.7719525390753965155 +165.06371680688690162 58.713339280074663407 131.55475352151159996 +TestParticle +1.3109621100006574324 0.1200549161067526599 35.241813901823853428 +280.10060451829298245 304.5154307276658301 258.67615548166588724 +TestParticle +1.890762195590066419 0.37035990280942132635 39.30878687557294171 +331.52556729751103148 337.10887406621617401 291.2002557551665518 +TestParticle +1.9459727148429868393 0.38159291851530796613 17.491010561827589953 +58.69944071533900143 205.64445683266583842 15.007877403052006571 +TestParticle +1.932411276121311472 0.04777930483056436195 25.073992516822389831 +121.57030712562516328 70.74439140769348455 289.9542940845957446 +TestParticle +1.5709963526669437073 0.10007382494413469276 31.19225199749002897 +25.663181434794644531 158.74882487098793149 349.24010777437848674 +TestParticle +1.335652850395929736 0.2682557203404010715 35.328293558121892204 +297.5826541744638689 60.254502441132032686 46.73892963602791184 +TestParticle +1.2957464098764572835 0.3440291712383192757 7.1735736922541004645 +59.24135447472242788 112.00172550339377153 63.553063734303997023 +TestParticle +1.3376569963037119315 0.3060189431378071423 33.029029350979975277 +152.73585490781837848 358.84231030107730476 37.635854669405638617 +TestParticle +1.771988403745682561 0.3418762364008507415 23.489318587551395012 +127.772934823946343386 203.78581662446330824 143.76143168311298837 +TestParticle +1.5956560402916708519 0.10759642083325884898 23.037334274387120558 +89.123439540602518605 335.80537435903943333 224.2944293252393777 +TestParticle +1.2213248137275627414 0.33273129495412528955 31.736197966218284705 +5.8113766822153190006 136.8878783815157476 64.522354495354704795 +TestParticle +1.5939091087487726739 0.18821654046060146137 30.731370977849337578 +266.58533763467028166 61.609425727717933796 18.235581197999763958 +TestParticle +1.7396585716134431721 0.33855494953671660951 29.449893101775622029 +180.02468739427200717 242.14518561194594781 286.10286226317128921 +TestParticle +1.282393302513987976 0.18117160916878405352 22.308223599873976184 +94.69043575838269078 120.90458523599184559 161.88428102391287666 +TestParticle +1.6814135190699217581 0.06566827687818244108 23.327233678731047917 +13.505074850212492876 48.75637107914376145 337.4546628636448986 +TestParticle +1.7657157709814490509 0.1428403447023711692 17.528150255810068359 +344.59038571613109525 139.36370104693307326 48.933862071120714177 +TestParticle +1.6903656227398606848 0.1881104051902828811 4.8333955434429443088 +225.1651227652955356 185.18882646555431393 132.21080070182574673 +TestParticle +1.994803202974419154 0.07010640681945860819 10.335500705227271823 +49.13850067137512667 6.4534592639328725028 80.823883651112907955 +TestParticle +1.3332640591247215678 0.06033190012542344327 21.035357456357957062 +97.733488288704805314 80.36567051536489714 46.55202086502264791 +TestParticle +1.6243595893431250765 0.19184864274731788791 3.8955991274805690239 +177.92659068814418788 143.40326100313114921 22.678654943892524898 +TestParticle +1.6823664970435372457 0.2224783311899178051 28.355960754425314718 +38.26291967170601538 109.90023925961423856 198.84047030132839495 +TestParticle +1.7191941261517613704 0.33174274738319786682 12.850948299491872007 +119.00419547116645447 97.60779700546201809 294.77008528831782996 +TestParticle +1.8572892923802768461 0.35111820477995814294 13.9604529367616514435 +90.00276864094306006 148.95323888923235245 105.97452396122218943 +TestParticle +1.3153721536816338489 0.19649899863576869574 15.0714118102473335625 +114.91054594701827796 42.412124805715073705 238.87013655434262205 +TestParticle +1.2329176043622995795 0.016982564457388795581 30.243701002322488591 +82.65191789811144929 330.6979385476704465 45.054558348890076047 +TestParticle +1.5821710473264454233 0.3143035815568485103 26.914241767154372553 +284.2538985550680195 218.88177874336824402 323.40347760377426312 +TestParticle +1.9040784761593252394 0.24428308876647972236 7.2140984856285061966 +36.905471182196343705 235.01221091601564694 318.38458893259758042 +TestParticle +1.65303582473123023 0.15480622128373774937 30.612597160930445028 +176.14307295689886246 344.8917806440758227 46.391668294041863874 +TestParticle +1.9906869462994456477 0.08417977136701382257 32.071163809129458855 +190.08888099464044785 12.337459747731131188 44.2017470332212028 +TestParticle +1.8765384210009301569 0.18365454827241262103 21.70846970886060845 +357.147106806575664 129.14807435709019501 12.280707552849744246 +TestParticle +1.4155101547192867617 0.04021447505437234643 9.344979114904226947 +15.0079117011066429654 104.10136849327774655 23.129488238006107537 +TestParticle +1.8212138878170127665 0.08047272581333581032 4.0968495722748254906 +174.58882187338159042 279.87646692565357398 23.324854698976157152 +TestParticle +1.7644240552946159895 0.028115303133601266677 37.495056810553286653 +118.13225365926875554 167.45393279647143459 34.012411764895496447 +TestParticle +1.4525677350618968475 0.30250405555180709394 17.82996354610970613 +220.00796720803919015 344.15563445760545846 123.14676507835467589 +TestParticle +1.548841766197246228 0.09540860671062662002 22.684926251185043355 +218.60911597389889494 90.33458573673138403 102.992143880334552364 +TestParticle +1.2079296534119159379 0.32769989355099571338 38.675927266126485904 +200.13361220962531206 158.78840734969233495 279.3835775172844933 +TestParticle +1.377134208847530239 0.24021816899861267447 9.0547885117482262984 +307.8373588937357681 250.70142057430294358 309.94009295835280682 +TestParticle +1.9686740753046718666 0.039229853667286734842 27.8754113045622951 +44.123357114694904624 256.01312835054108064 261.81824327677321662 +TestParticle +1.5814217806739057082 0.17335298748077404563 11.896107065940920933 +11.863952502714919746 24.317879056812333971 281.83737446678952665 +TestParticle +1.3875566874932281358 0.04186652452005912295 8.374003796839994962 +110.23215119957482955 294.56036703267886878 295.56595853737684365 +TestParticle +1.3902402383167473676 0.19593968424019078678 29.315181048510574158 +282.62385234829253022 324.77635841333739108 19.922520312932118003 +TestParticle +1.2840096543928043449 0.29990999639214999117 38.008971094948456937 +277.38971452757238012 208.06148201248271334 255.09629766073103951 +TestParticle +1.5591506829846155657 0.37436941724804151388 28.992037551395654305 +349.16296285001351407 325.2167596752620966 272.84514086043867565 +TestParticle +1.6470838643939573753 0.08288833139777805614 14.577369178129217175 +285.2260666698484215 331.09186078156602662 265.88764593799055547 +TestParticle +1.4078732644616405167 0.12168143435803764618 12.108634490395427719 +108.46688890223232704 161.29947110408681965 275.03585750375651742 +TestParticle +1.3806299194725459856 0.004926651150672434372 4.619034071475587311 +124.92525284958901466 247.86360149925218366 213.62866269117026263 +TestParticle +1.3192455632849615643 0.2895763215200138352 26.694213488950907731 +156.54596065699396945 129.81140517153278324 134.60446380394492394 +TestParticle +1.4439912056109245331 0.3898931766577775071 8.96508289894697441 +244.87528934455733065 193.64710431202621521 293.37512055758975293 +TestParticle +1.8635206283775769265 0.2795056553246003106 32.898054005194971694 +137.04912054787823195 287.93791057659291255 10.142083183616289688 +TestParticle +1.9812056783962854745 0.2247292940884803858 25.532351672534726816 +201.33822039314060248 254.90475216060337971 359.59652623258176618 +TestParticle +1.9116361511506723136 0.34944272223947114853 5.3334830645261233073 +165.89953551606566862 87.00762822041266986 286.54555713608760925 +TestParticle +1.2300510950958833956 0.09272681808089294764 6.1108306263088341126 +60.392041334648261852 166.06618730050502108 214.40030029409305712 +TestParticle +1.6587060971893274886 0.35283027123356813792 31.860313399205129059 +249.71240866151026694 222.43577149272385896 31.641338378167219503 +TestParticle +1.6042337378433173534 0.37025740688655151 17.202399535173533707 +87.81318396148407146 2.5620013176806422095 357.37399955588330158 +TestParticle +1.6471345300326571959 0.13620174045721983314 22.615216955031499424 +80.62529682810802001 69.592694813600971315 105.76774944494903252 +TestParticle +1.9072984229216274343 0.01501546063666405785 8.290907351796761304 +169.80316939963415734 18.043578597928426888 349.8451486157899808 +TestParticle +1.6906614679737514972 0.18058500638001656613 35.641943093270654686 +155.08172745880321486 318.8449035930426021 193.87642754894059749 +TestParticle +1.5896626347240321309 0.08039921506021037445 26.884736251329634626 +93.207751799271306936 291.57502433845007772 164.72382015911426834 +TestParticle +1.6992934898451703685 0.065201137301299824656 14.269610927403233447 +236.09727012824436088 254.53147047225508004 263.77965229044838225 +TestParticle +1.8538533648632840034 0.04766458860664664343 32.873078543951940844 +204.22879507518445052 106.636047257291238566 249.48280450502983285 +TestParticle +1.4212096807741136928 0.07499446462853280593 23.101996292119086007 +275.60817514452082833 213.13272785623379946 230.30352647630064666 +TestParticle +1.7510124795524912855 0.057099861992605485672 26.912262589245482758 +293.1635508220617794 35.9907631662996792 141.04718451469835827 +TestParticle +1.6563019761734052437 0.025865878674105769602 36.786210320613299984 +182.00701529286254754 302.4937526698793704 324.59294681664295013 +TestParticle +1.729605636071602337 0.11527751871838157194 8.269004569267789151 +347.6614584046645291 246.54991472345386683 257.4460526186617244 +TestParticle +1.5759605048363587443 0.11372511990649024349 2.1138568479458896832 +32.388292718466615838 301.59398434276658918 321.32099521949635346 +TestParticle +1.8344051151510727404 0.26899383835918777574 3.9802801398091425256 +84.71344253866337226 168.80695388443507454 259.706671920307258 +TestParticle +1.9193495257732000603 0.3433984358229728029 11.27141574019314163 +62.069125737912351326 344.62614387614092948 49.455425729806016477 +TestParticle +1.7910635325425254827 0.044197943689674758228 33.673496401958495028 +49.096060175323778196 333.20352819343492 344.1647888658290526 +TestParticle +1.3951416310339623816 0.25049231139019290104 13.926920554033479505 +24.468782285640848784 283.9433213127680915 38.716618949049291132 +TestParticle +1.4774439717601555166 0.34321703341922732422 34.23200733980726085 +253.1569295809615312 208.55072402648170282 142.78123543474748658 +TestParticle +1.8035383416573496085 0.31178214061844072846 38.848219271007792486 +163.78980370879801853 27.192135308956363104 240.49835213590739613 +TestParticle +1.8523952866624258107 0.2010708076570819347 22.034325231090594599 +124.711476085711595374 323.0644792551414639 138.10178915634389796 +TestParticle +1.9173340778250498317 0.2780025712872400967 25.973495130250071838 +193.9471251677579744 256.51445549034934857 68.5799795393802043 +TestParticle +1.2039954656193134763 0.32062119894339707882 11.801770668367792538 +261.58407010163364248 130.72550628237604542 295.22935271302458204 +TestParticle +1.3539793779063435952 0.05619140956045583224 0.39149769265351963554 +54.55272735280637164 335.83544373800691574 89.36258771851326799 +TestParticle +1.9516074079116982887 0.1921645005309346732 35.371640156848229708 +152.55319109406485723 247.31165449235123788 278.83909188690222436 +TestParticle +1.9301130006872968536 0.047382794904003239234 3.296738006904260665 +186.93636419954495409 38.829849755176162773 177.44532754290727894 +TestParticle +1.2580985637358546025 0.21204965723905899733 16.1659140062293325 +3.289189867948967283 190.84482276807500511 67.97050011468211039 +TestParticle +1.5295225293999865634 0.17172263806479373671 39.618093381378386653 +332.6463231490124599 278.70254383892529404 12.693771958962534185 +TestParticle +1.3231257344221201144 0.2573419902802399073 38.0841373767418645 +20.119441148442565037 244.32686028253979771 48.572638095274754733 +TestParticle +1.2390492871187110957 0.23798618359691314783 30.645766685864785472 +87.001950267678836326 278.12670273948640443 330.89492423249123476 +TestParticle +1.3993417216526349289 0.031843494342214208326 14.144935673919892594 +72.465298766095699534 334.2534597720372176 30.48791433958904662 +TestParticle +1.5347486253277040635 0.04338458251454313519 12.0921328741059639356 +120.79694902396420275 355.45117743828626544 160.7907173842522468 +TestParticle +1.2904906197620742425 0.28414011519071485923 33.037713210604835012 +289.81253890944515206 83.576357577029270374 220.09709176383933027 +TestParticle +1.6058032451228929638 0.36018141227094635504 17.994372902660266789 +3.7010845253058599624 141.54942979100397338 198.05616798418643043 +TestParticle +1.7714414500542230435 0.0035609242707668187222 22.050030319794334588 +264.59185760489833683 10.605770272399395182 215.25949766508875882 +TestParticle +1.81709217161712 0.27368429441007163794 17.149545687672187455 +35.988324614781888044 81.77856120500719328 10.201466538617181001 +TestParticle +1.9507969820486321666 0.104826252022570107214 21.570178232673107743 +110.11799658110533073 203.10615346805144554 174.54637699366600145 +TestParticle +1.5513016726876260876 0.0649073896097557973 28.406030811013923909 +294.40827400152136306 308.45384003953444108 250.69412013121518612 +TestParticle +1.6081730286462514457 0.0904772003540942199 8.756397654381963491 +95.30241023766843966 310.97856820924152998 78.51553642084900275 +TestParticle +1.9445060562513780678 0.34581412562291430346 38.93528925234138427 +322.18458452998703478 206.50871262487711988 171.6753679893202218 +TestParticle +1.2867830568980889172 0.23805020747269362014 30.605085071406584518 +107.834941188806425316 172.69897682961376972 231.64156285513004718 +TestParticle +1.5570299212666793842 0.34247490116827700168 25.701729758850273555 +57.759342054473357564 275.21368529820330195 0.5189093555138457603 +TestParticle +1.8297728730942826036 0.0059327247000139143526 26.27006410810665571 +351.91597475003959516 332.46172667657117472 193.83113607968971337 +TestParticle +1.4663451402621732189 0.019337346272064428326 0.491698998445047053 +336.79769240394642793 248.96724280968578569 175.15811073921727825 +TestParticle +1.724576194857081024 0.052697296256256631608 5.7447084496883027427 +66.182723011463494345 29.130322702617217345 339.9870439485365523 +TestParticle +1.3696669727225077029 0.33229023795273532338 39.64244722837145929 +133.49050184888841386 162.12402403598608203 293.04583577859932575 +TestParticle +1.3783417053600715008 0.2855227081254033128 11.873396199324094624 +181.03404330551020962 111.58079564001488393 50.497053185226064898 +TestParticle +1.8637392080726669086 0.0156183905360887560765 26.799919264480482894 +101.416124536033450454 141.64824974137857794 87.10767556818554169 +TestParticle +1.3990411255817394309 0.016424027824586850954 34.17231113580791657 +351.25674680067004374 51.410447621435544363 109.4743571087562799 +TestParticle +1.7113078627771947104 0.087396542572623220346 21.48366722009397023 +331.26077825265491583 87.597172428811916234 351.11237329056922363 +TestParticle +1.6537452602438895699 0.19076978286361276349 30.899468439263419128 +338.97921655361312787 354.2717007607652704 88.459659106615376345 +TestParticle +1.8713204845226436568 0.34948347966477527615 26.694021521206035885 +22.640920338079904894 267.1658484538838252 91.263466282262129425 +TestParticle +1.7800499814903345541 0.21591168642547953205 4.15893255030611364 +284.8692985786169629 273.15026927162216452 163.62920354405895296 +TestParticle +1.2770584465418410858 0.11704921307575957834 23.561299361007908004 +208.69763432291699701 114.84562071374233483 106.557589971007203644 +TestParticle +1.7789101924514278963 0.21089404756926086182 26.446391287965887784 +166.38039683220225129 280.94687192438289003 156.1732356226829097 +TestParticle +1.5095803628848272204 0.37888764670309865723 23.739638145042558648 +147.5462561757028368 320.06107890549310468 221.66365612858550094 +TestParticle +1.431320096709388201 0.090307147024224890264 8.768204975989792871 +86.741239636344801056 122.03132838806067184 343.580887072082362 +TestParticle +1.6349437899113876682 0.14387102541744481443 11.841216176535350968 +51.14042919054931957 69.171034829460595006 213.79008663660533784 +TestParticle +1.689003605562497734 0.13061345081474304286 24.749487065465949343 +180.96919715736157741 204.68845725307318162 260.67277137781871943 +TestParticle +1.3035444430147782313 0.19990048901013623972 15.958381821114077326 +24.968896817823825529 197.33820599380237581 119.001287940231961215 +TestParticle +1.6620625944290643439 0.2734543708115155236 30.556744105988030924 +323.42922129424488276 115.879900714354221236 18.69101695694187626 +TestParticle +1.9572874068027543704 0.3982637334300366816 23.395690692151514867 +282.1199835387070607 264.2819579212129497 226.80637570406867098 +TestParticle +1.7711614884940887205 0.16471476857196881705 34.541413045241888824 +209.78439563147685476 330.68687123431953978 302.79975669488345602 +TestParticle +1.2768346788945352799 0.2680189005217827325 2.3664781607185281231 +4.5230625737162633015 309.27315231219478164 35.64300138830596154 +TestParticle +1.7331467818212080712 0.08199012177664927181 2.5002689592511995187 +16.248296777956340975 8.818474849161844986 133.32825103025075464 +TestParticle +1.5824962842528258467 0.1664685697946028109 39.01047834163395578 +294.62170247515587107 5.127126749923851534 323.21555884047671725 +TestParticle +1.3065419938771187791 0.062752012732249048965 8.378519051225520542 +254.48399542766591708 227.28662992761130113 215.88914339840525258 +TestParticle +1.2803200151108913296 0.39024438031771679913 26.21206496548343523 +86.2004800657045962 86.508225331489853716 295.03587464294588472 +TestParticle +1.9599644739977994945 0.18082768987187250453 26.76260832548297941 +347.08076935823510212 187.06487585242066984 78.43547038210139988 +TestParticle +1.5504457817332411018 0.058138854268877486475 8.311304083318722391 +250.45953202370188251 51.58641776614162211 321.91182873943205323 +TestParticle +1.4030770961210228265 0.2255632436620616521 8.257376872662526068 +110.66653646497886143 331.8743125077128866 326.8827542847423615 +TestParticle +1.3330653778054313285 0.23576894818100968543 16.555280374134500931 +201.04570271621727784 304.9737571038722308 129.38177632189641031 +TestParticle +1.4676189305416613706 0.15334509742223720319 29.730324421851861416 +93.28877448580836074 98.24809064509591394 318.26221325804715434 +TestParticle +1.4959613849179316247 0.26490707510895572518 8.435591899110246317 +121.44478123997235741 352.46125426578402084 269.21443204906552182 +TestParticle +1.2410245922213516412 0.16484650483123386433 29.036807003172221187 +234.59702065989810649 212.29149699166657683 309.02229933747048563 +TestParticle +1.2104445735427551423 0.27493160452164350227 31.472614096909531156 +172.8652728002631136 303.96742459461654562 8.009940254088059319 +TestParticle +1.8791733750261010449 0.2587599416761243165 30.401845910812088647 +330.1151954343364423 190.20401433347646503 104.67843668270934643 +TestParticle +1.3013630074517779089 0.22413535954031660324 32.01650674239483152 +63.549710245898353378 35.89931403059021875 158.56811223007159128 +TestParticle +1.9547724398089645348 0.0786294356900830993 10.0598953139010802715 +69.4839845505388638 123.32244013516246639 31.421777442531322322 +TestParticle +1.6120256585797529958 0.19985700875898035345 13.999189942348966298 +78.857222386685961624 349.6556927780835622 58.475688092723309808 +TestParticle +1.7578912848822172421 0.27207852440462437782 21.16570903311817986 +204.48739950618715966 68.64871257741852162 227.95088374477833781 +TestParticle +1.8170356771723037426 0.24230078833019122464 19.368483713748780417 +184.73419610737784069 272.32723488431577152 126.891658495766833425 +TestParticle +1.8561231261283124283 0.19157748016708203709 1.1886704509024781373 +254.2676067727032887 317.6217024209003057 224.34445674903426493 +TestParticle +1.9710622679246994071 0.14623926742902368381 6.640292860769481109 +190.41063402021279671 187.773358994985756 328.47417804669458974 +TestParticle +1.8390376809348407683 0.39004880820775639227 20.066519467297950996 +211.93199248227401199 289.47815944254944043 137.15839269809171697 +TestParticle +1.6111502808558577637 0.22394676788626455277 20.061937046580968769 +92.54520491825057604 92.01310424807805077 13.375630065565452753 +TestParticle +1.7289359898596003973 0.029780688540387692531 26.014739049810341243 +312.66680607544742543 228.17665637399315415 125.22825394003517374 +TestParticle +1.2705682146072982963 0.029404610289824398284 5.561963728286389852 +84.16555574179947996 331.08838136349748993 315.88331119433712502 +TestParticle +1.8573347647002547145 0.36089888274309028793 33.45261607330014897 +108.58851164869084016 217.00073148209528995 139.41678117547121474 +TestParticle +1.5119662840275136517 0.035019622195022657996 10.463315222301648788 +152.85193304965602579 42.895445465204801394 38.742869188454783114 +TestParticle +1.7622884149632529471 0.03162410217369809179 3.1822974384423297067 +37.26277315140376345 107.89474442992022318 186.6015285726906825 +TestParticle +1.3516643515537363207 0.00042846679844568138443 14.013484979190140578 +216.76556913128737847 329.5425274371341402 157.99664633404185565 +TestParticle +1.3725976866577220825 0.30646538230027742244 11.329739671767651288 +198.97848141965863533 44.651190190469009167 28.049566579775078168 +TestParticle +1.4591070353626824918 0.08119659950059535114 34.28551752565069677 +306.99758279574081143 104.56005980026995417 24.491183217056139654 +TestParticle +1.6809883631745992094 0.12405907090243922797 23.088918298866115464 +81.89324756024211638 45.486408290411304733 5.9086829848113620045 +TestParticle +1.3535618238311779571 0.11072994226846155641 6.1365791065780417313 +96.5917090856876257 125.77992141224173395 180.26956152431557712 +TestParticle +1.5024996182012646528 0.2601294541852439135 20.11839589454453403 +270.4000045350792334 353.011762488246859 34.641037025004784766 +TestParticle +1.5996488376502526751 0.37889391086596613256 18.528995245881297649 +215.86591794372824893 196.33677334782890966 20.482598606365485239 +TestParticle +1.7931356901400370418 0.025945290910749509855 26.661454696830183764 +188.02499061598265939 217.74613305793528184 352.64512058062791766 +TestParticle +1.6808120166727305023 0.26627765088552390882 4.4798421923713638293 +12.471177251742290082 9.432555892002669751 336.72507040011447543 +TestParticle +1.6313081817828176678 0.0086570580622717507174 3.9083339029362873518 +54.248103250365730332 318.7038881970888724 331.85368591582181352 +TestParticle +1.2884450142579531029 0.1681046156164187344 35.34871223758726444 +240.5583121923978922 135.24748641897326706 301.64571007267852565 +TestParticle +1.9196539088974737819 0.055293464951134657648 39.174420254686374676 +13.003093109260595028 224.19261478871260351 272.9340647583842383 +TestParticle +1.3704960962475472019 0.11179773250371188853 23.81208520955706831 +261.70166394043076252 10.650163480395606896 96.095112534597603826 +TestParticle +1.9516781167723931123 0.20402034023295062548 32.535249468476067136 +340.51354688545097815 329.0040653030519593 109.98356406041511946 +TestParticle +1.8140222569343318337 0.12613518245266175377 1.4950171510413001741 +234.61793333937521311 320.05130111528796988 172.88154495883503614 +TestParticle +1.8102010682471065817 0.14811926068150899072 0.47152065059882453113 +231.56413706767099825 205.2503541540525589 214.7508917825621495 +TestParticle +1.3323729215149744398 0.19959213905409678436 1.3073421511548932727 +151.66443112411295147 341.31892085633529632 144.25232896171203834 +TestParticle +1.2204541150545651362 0.068668187712776870835 4.014281498324958619 +174.08147891950491726 47.939506002741296697 254.99017431971773817 +TestParticle +1.2181192459350491664 0.025059093817326606735 7.204862413525972009 +48.60770716273837877 329.11947000106135874 217.6643233891191187 +TestParticle +1.6039675062130638317 0.35797604454305875787 16.056969103103426733 +87.92417372221831329 49.76521958624503128 164.99398402032807098 +TestParticle +1.8725342069546249135 0.106279250804296898636 0.45718402173144045975 +119.596726134790174 107.86697924451233632 232.81352842822093407 +TestParticle +1.7853111973976689697 0.12193477571081268174 3.680789884957089697 +205.60326749430927862 40.207082764860338386 289.2290546833312419 +TestParticle +1.417950447978111761 0.24357413812980258094 1.910476157584461987 +252.61262373556786542 355.48333419302929315 151.32407206005677835 +TestParticle +1.2280461512973894767 0.15278421763439650749 26.714312283832946093 +142.72673485719965925 232.69712275301176874 346.3375478502677538 +TestParticle +1.61151127031616892 0.3744225370958842447 36.56793088861800811 +328.09520081336302155 25.920977978027824662 288.72452391776596414 +TestParticle +1.2239475600090146123 0.24714055634484358159 30.304522847333871027 +52.68180217169934565 356.99734588216864495 56.617981510557434888 +TestParticle +1.2496667763539286433 0.29747468986797759305 21.37154433932160913 +209.20331717962355356 22.663460638340339415 243.0475686976612053 +TestParticle +1.3767605238800932899 0.16005520292207792155 6.1854407103408437507 +301.0924331535983356 324.9040368073589775 194.17256664039328484 +TestParticle +1.2487797979186712194 0.16488755850697139893 27.605925256805747381 +173.22312758245544728 239.01695963206066153 175.97057379774636843 +TestParticle +1.2254722592225348876 0.36803675574552041638 17.169692704564543106 +198.47031096951334916 278.36167082537872375 125.492714298233096315 +TestParticle +1.6464965033862297705 0.1517233377674910566 13.532163365202411143 +147.08019388518567894 177.40254091222027455 340.04568453953692142 +TestParticle +1.2241673144222895431 0.1378443050280294957 35.034429639418924296 +279.5154571951889011 236.88366494050367805 224.20218590463449004 +TestParticle +1.7054405098540872388 0.3610118405579151868 11.466405393735001894 +354.5918155292421261 347.1596768668937898 219.93975816420154956 +TestParticle +1.7400094098497860262 0.11768201787113397039 3.0207223829180174235 +344.79550555000747636 295.17286383856117027 107.65817940211057646 +TestParticle +1.4518563888365596526 0.034369934761878086216 5.703231914559241389 +123.995036213356954136 112.321809800044363215 96.308678475290903975 +TestParticle +1.2222379634093671896 0.14278765376770935491 35.361595327244465636 +315.14729198154049072 321.37175810105372875 262.59992588280709924 +TestParticle +1.2388409450815878188 0.29191544705043231955 14.574148472908646568 +354.52890314367516567 301.2116870378684439 101.6607227628783221 +TestParticle +1.2004854536116522645 0.31759418786438237126 35.64893550976294989 +150.1713542262849046 263.81583006909363576 352.70617164487305217 +TestParticle +1.9942890442362894987 0.19536136516905414084 35.02451517807598691 +125.959361711604387324 266.3424034858336995 225.8398826035477498 +TestParticle +1.5915447637460526931 0.0895260552791858899 24.02901618574255238 +322.40268348510250007 115.71588659763698104 232.13880147735969217 +TestParticle +1.8790673483459361393 0.17433764017862168894 13.878215826572342095 +302.39495868122469346 259.03939837677381774 176.29569985086394013 +TestParticle +1.9699962554990502195 0.38438649317544010264 36.886012906803621547 +71.57770428256088735 76.46325818263683516 152.99488881347215852 +TestParticle +1.9815372834826587845 0.17262153411198999375 2.83353778898145503 +239.37167896200179484 354.1664112035709877 298.12866718881934958 +TestParticle +1.8155595191765212526 0.00946228278143057544 38.64106328673518931 +83.00268912398927057 67.39652732514183242 195.80213873516331091 +TestParticle +1.8868581896910789908 0.10440835820682173307 15.007174114646065988 +3.363490125056509683 163.21113577536885941 277.4874262071848534 +TestParticle +1.5619200947925855338 0.0059432103700412857936 28.417160713316764742 +199.61588156187738718 146.61610611302111806 239.63331133984317489 +TestParticle +1.5212478213877396183 0.39927753429172280208 20.482036387314252579 +328.51885419136107203 7.1256709736876455707 220.89114467811927511 +TestParticle +1.8571870020289564795 0.091291230530104086616 5.8118062401183578913 +90.75198382995706936 192.24228564818409382 97.133874093047666065 +TestParticle +1.9171289936627273764 0.15261088480197210204 38.10675746822411014 +307.07749448841616413 355.13520879558041088 42.711583491490678455 +TestParticle +1.7364144307839262105 0.212129283201967056 18.744823342299753222 +23.928680492317099038 37.437700592246308418 64.10777424122947821 +TestParticle +1.615801582218067356 0.15507189040762445198 5.289237911360147315 +2.9760090649453463385 170.77756092233224194 126.74171547116436898 +TestParticle +1.3071905708698117188 0.34127930871062794882 17.996264880013068677 +181.87012353589301483 211.32152679731703415 284.19737442691894103 +TestParticle +1.2265401930807908748 0.25798059801133454982 34.025699672304931198 +87.484085061199664324 233.26336671618474838 310.39211945198593412 +TestParticle +1.2051260378681512009 0.3069049294618042545 37.351493484362229935 +114.521127203859620636 225.6531083956228656 323.1220799515929798 +TestParticle +1.8334732437656884318 0.37979115889431414033 14.226342594064389502 +331.7883640504541063 109.06927231695421199 144.65450510058425948 +TestParticle +1.757300956926634683 0.03414936250768385584 23.912004140762192606 +322.3724083824729405 134.91275424426311247 171.32647169967813738 +TestParticle +1.8972253261023601656 0.35656552318718498507 28.47629514891832514 +321.29937216619140372 70.71608626545858556 213.57910706058532924 +TestParticle +1.9917616839747163127 0.32376104104249381344 8.91181936527569718 +200.88415597368361887 23.513470382909822831 100.72835347725671795 +TestParticle +1.6165777777920147251 0.32043762073249004718 16.726392824188689445 +319.72153811597894446 76.78830327849077264 138.42254101919101572 +TestParticle +1.8908331674281746437 0.045197492899151252288 1.3383682043347544521 +312.10875470237436957 307.494732749847401 43.074246036675127414 +TestParticle +1.2145287335503922588 0.18257617394552527745 31.629727041908243024 +3.7714421582542145828 327.9557064611080932 329.9790680610109348 +TestParticle +1.8625485962061800738 0.24850308301344462003 2.0061095060140976543 +276.90239618431269264 350.88215248164351578 348.2932770314767481 +TestParticle +1.7953658240966166026 0.23860504712104810277 30.564301023692120651 +268.6736542028508552 254.54176920249031468 269.62615941325310587 +TestParticle +1.8519636256102920413 0.13630536382454808142 25.429742406638986552 +78.06201903944463538 183.89412111638756642 25.670444097748280399 +TestParticle +1.9912586036233026476 0.0062934836627138949355 3.9866901191125192483 +353.92558378078365422 121.86076402069599567 272.13181013382109086 +TestParticle +1.2352461280314077641 0.13108872108404742707 2.4473753819670784893 +223.0667681463768588 134.42147854096177184 161.85468044136672461 +TestParticle +1.3431819133091436047 0.28681705477285673878 22.82513974594832007 +232.7183120134940566 120.199688171678360504 89.77367022064561297 +TestParticle +1.8403545873570172908 0.24879279733973019839 4.0287923881425502515 +15.018525270146003692 85.179302481017629134 62.783331763645470858 +TestParticle +1.381867054141263651 0.041622600218831219687 20.582798332241445394 +16.94221565894110526 117.67293863884100347 301.82514806956680786 +TestParticle +1.8641683600359446604 0.24640721081737218534 5.9107924107914655565 +193.20103651885807494 44.2323469313580091 26.743437036080784708 +TestParticle +1.966054790276180464 0.2690464178872462031 14.878455955491389773 +190.60763663869553852 31.588470897177995056 100.366806653161106055 +TestParticle +1.6058040413293108717 0.29951736276665757996 32.261171438174280013 +128.57574732488706104 32.785220122308132318 5.815690987139072732 +TestParticle +1.6218958057245982385 0.20051601410731448305 35.228407716619500434 +275.05072744657877593 300.36353903970075407 137.58872709072204543 +TestParticle +1.9766063717976680714 0.39029116187457174592 35.936563690886423217 +276.4677919812604614 334.4193480382128314 74.17428380404710708 +TestParticle +1.4924898153539933876 0.12959279079593266637 39.497773315041648345 +306.13052013355064673 297.98869981653200512 134.11781736074624405 +TestParticle +1.8353633188339963933 0.019510947086492525654 35.474352018859882207 +260.37806171878622763 151.50200809864463736 309.73656114784841975 +TestParticle +1.6024488136145134121 0.027272421536337843745 28.531535673798313013 +11.154644928392061232 313.60248630627489774 220.0912732804740699 +TestParticle +1.4120513432815475774 0.29969768596351453738 17.02938110092897972 +269.20328072337844105 42.08893931076963213 126.58679602124011865 +TestParticle +1.7381168022087705172 0.29181610891675680008 0.578376627518526476 +102.38820556898792802 176.55332025897169501 164.93491360823296077 +TestParticle +1.651697945678905155 0.10215579780054198644 29.466376982324295142 +118.66030632495935038 355.77634853151920424 138.86820482744579408 +TestParticle +1.8964095997568284346 0.14855799694311630499 39.315092089557069244 +66.7203702634703717 109.12901978076088483 150.07738642659984407 +TestParticle +1.5884778821144036609 0.34804404474317385265 8.230716828452404599 +238.65003666711348274 19.561503330036060788 172.3300970659766449 +TestParticle +1.4852533118509871901 0.14921150930008680868 19.72836045372870828 +214.04378603222667721 162.09311096493223658 74.70412564882457218 +TestParticle +1.3995786109265431207 0.2170751900351963748 5.6353499706781517986 +136.77890520256397622 41.74190372493747958 352.76491235469808316 +TestParticle +1.9228837399064100389 0.20666458127164555325 31.918474396874408683 +25.57157805855647581 146.61033704579944015 124.85803020390667939 +TestParticle +1.5491200767868975596 0.37703244317878858993 5.088593545490081027 +38.820500192778638393 121.37946795513649079 24.303500272632902579 +TestParticle +1.6942853977776144436 0.090260172320617615416 25.30769952267446854 +161.30886094388631591 116.98046667590497805 38.286029141363265182 +TestParticle +1.6090251866675413517 0.330322662148613444 9.770748848728519675 +263.0814719840412863 130.26024091675910199 286.9327501208536546 +TestParticle +1.9761336997553433648 0.2926123710566602143 11.274914096097191418 +332.1701813530870595 307.94382558508260672 353.807211256272808 +TestParticle +1.9968906969927759931 0.3233230682542853618 26.00314542561351061 +79.80693890771757992 308.2283099476609891 243.34005704939397674 +TestParticle +1.8031947344086236562 0.14995127116151910074 1.730342239053141995 +348.6351290160268377 154.3487630625562872 28.463371915640660603 +TestParticle +1.8395166633814701296 0.3354540599588180516 22.093131712634573205 +86.610640388957989444 239.4548535151652402 312.24619268529380633 +TestParticle +1.3629305527230259898 0.2099232743767838194 30.216497531918712127 +102.43196923936434928 291.32106047341460453 2.1370626980559981334 +TestParticle +1.7455726368986721475 0.026854653926422458743 3.5759919284920771432 +354.23018906949636175 218.20031690429203763 328.7114242710409826 +TestParticle +1.8154807930100198554 0.38785895954054117052 30.190244155261783732 +84.158791911543673336 145.33493614486761203 216.44848876198116727 +TestParticle +1.6499702946012431148 0.38233820338992924315 13.614607279413908358 +33.87451574095803153 90.770300669062208954 180.38849672518907141 +TestParticle +1.607515534627930176 0.059816004314718410062 35.188867073591850954 +58.61309722228839547 253.79649442362003242 91.30583916434224534 +TestParticle +1.9899983350379286673 0.30667218968608733753 39.83983478820580615 +209.92012615445401025 242.81573248914770602 7.221381167673248669 +TestParticle +1.5778501251334575706 0.11118331397677137795 37.590979480700937643 +345.16243909883007746 9.645072368649788785 50.426633047687808187 +TestParticle +1.8837383001263663385 0.20673789324487820696 21.972954461156501083 +78.99100998693006659 24.805859834858065227 136.69965104577451598 +TestParticle +1.8299552552499931402 0.18024309648678646378 33.71418287836082328 +287.1584786318022111 76.47733005592756683 216.63675723929046057 +TestParticle +1.8307526657330810416 0.27679256938591745296 14.42019596286409211 +147.28115682985833246 236.20842913390856666 70.36203841533576053 +TestParticle +1.7619978997528076281 0.014257923627121950327 18.454020582426768016 +275.7628626446463045 152.24331061485040095 103.04339508992384822 +TestParticle +1.2611641121223651218 0.2092199031608525106 17.779518579686019564 +102.7504319389703511 6.548313747168017507 140.31125376249352144 +TestParticle +1.7663975820756958601 0.25859601590736014387 19.29766354922654159 +228.43411110252168328 129.52408847472079856 44.31277736443019677 +TestParticle +1.3455298896696588073 0.051640741433284009787 36.190409530870716992 +63.492703118667094486 178.32472671129730202 219.22272979662204762 +TestParticle +1.8502619397752217978 0.016055258128672856427 24.72292322260771158 +280.24156788062276746 1.0103622910431475646 89.91460784296667441 +TestParticle +1.7394822607661057923 0.13625236700994178274 8.773342269773106494 +131.40116141700701746 79.224373058834927974 282.8109557650995498 +TestParticle +1.6325195629104731765 0.16262358056449152666 8.946438635142083484 +196.95655091099223455 13.582007343579313385 258.10561033792743046 +TestParticle +1.7657479077259037314 0.21823895457628741945 26.194016006374575056 +307.4759621278849977 98.40357006941655982 64.08127327032266862 +TestParticle +1.3184659717472237972 0.20902078438144011674 11.194180638539418027 +209.8144125213535176 233.63319375255508703 171.85375675646986338 +TestParticle +1.6265974791221389228 0.3412246124964996019 31.920108006714791316 +47.471005836654683208 293.97130420183299293 294.00277926085681202 +TestParticle +1.544562457381803755 0.26456236803106419897 16.966290843319804083 +53.617851002077699718 23.906897211735604003 172.46215455198040445 +TestParticle +1.8302658298265410686 0.016558573352333152279 23.88277176507106958 +160.31985284355113208 24.957240748542652398 126.6630513998358083 +TestParticle +1.6333356556090419254 0.25338625439533907224 11.051395862722980468 +182.26698944663951352 1.9926145156870767039 206.81766326774084064 +TestParticle +1.2674061997735568408 0.09083958911004344494 16.414033820600888447 +209.7777498397578313 350.73333597951523188 247.44407246182404947 +TestParticle +1.400118114272113079 0.16683948053104513676 27.357400210939808005 +107.57418681944162131 96.46599300991492498 351.137614793950263 +TestParticle +1.542911801971112773 0.22704910395233757203 35.542775761322914718 +183.89056710921508397 326.93869125935344755 108.004775809479497184 +TestParticle +1.8076126800363871983 0.3514591336111956288 31.06364189291468847 +32.09942049648420692 328.34181095498098557 23.785841162187210784 +TestParticle +1.7657364621109161718 0.22171357606490707526 37.37986273837123008 +76.229451450918475075 186.15095789038804241 272.82850857627113328 +TestParticle +1.5339591135633763308 0.14194102156165430695 16.888317976342129612 +130.44976850069960506 252.36020783978619875 120.456187175611859175 +TestParticle +1.9547780848567972711 0.20899592311387996113 28.868044731219395516 +228.48529363010104021 342.5481929867736426 287.9707078087696459 +TestParticle +1.2418423098941544502 0.2626072565929837288 2.1074243271891202056 +38.080338719023941962 119.27817821310316049 12.056891938029119515 +TestParticle +1.2210546528534078625 0.3775561742151631872 22.111051712315155982 +338.55211294801040367 12.980519500186410653 332.2853401701941607 +TestParticle +1.5963937431999124517 0.23239324239635986147 13.194381854516867847 +58.007673822576016676 88.15306827351753327 155.81366075873469867 +TestParticle +1.5786275082915319778 0.025562551186680871479 4.998454237047265103 +250.39244849302215812 165.61747690949906087 149.37807874408460407 +TestParticle +1.6098684422151645634 0.21941479472017652586 38.283886043658093 +237.71100658433758213 47.01387761056833625 340.9146849041053997 +TestParticle +1.294274143429140933 0.3692138815235402327 37.966030890732696434 +203.45477640609851733 296.29180039237496658 44.323085276308532343 +TestParticle +1.5889819356899443914 0.084869830381732264124 1.0823445911213003257 +301.3291216497269147 146.81272157061789585 2.2993592847625343722 +TestParticle +1.495972566018333838 0.2617122471497527747 13.094048981160977263 +112.72021003020111607 127.77611875010921949 296.87288781423353612 +TestParticle +1.9818950278621338956 0.30723187525460954328 2.2340086246482782073 +253.14761844363803789 165.37409022827591798 191.3408807414710111 +TestParticle +1.7869956116636900312 0.045787597413756889186 8.90426427671208387 +227.8168631112827427 149.58799389390406986 24.858909708161100127 +TestParticle +1.9448897771198014883 0.05694944930378804948 36.311102677736613487 +84.3756745725393813 14.735521995724774058 314.16923571788140634 +TestParticle +1.5778886440600849994 0.054612245238724765883 16.72994958727242576 +293.0541083071825028 260.48271034952341552 308.15802194547808313 +TestParticle +1.3022587146281570103 0.26839233124203137892 18.02838057643581493 +293.20763835009915965 312.4703557364094877 106.58503108046902241 +TestParticle +1.8428500612922003032 0.23594727253001890332 11.315478566151577766 +9.262284156503813648 11.174441070760416039 331.91331034768620611 +TestParticle +1.2400313949450130213 0.37422492957960290516 16.60903446615966672 +240.33042266148279964 153.97322107823731585 191.41559045744850209 +TestParticle +1.9829274684920319416 0.3634611481375451536 25.819601695264427832 +140.99742244780588862 341.49734482956387183 8.731842495851447339 +TestParticle +1.9975413987753882772 0.06592938413948253029 39.49276861893206103 +67.714562888696974596 98.14914061512281762 45.19626721853934015 +TestParticle +1.2436383625451867818 0.3204615517738288455 26.461603913930925813 +266.5125426106603186 127.50909218237357834 0.3132830361456928614 +TestParticle +1.4113215699552892346 0.009827894395237192146 37.858626352737367426 +253.23691224458718807 108.52674294880429784 352.47828245113328194 +TestParticle +1.8148473149676069838 0.017705697189401049807 27.03434752366788274 +244.97100671505916125 96.848173936006702434 232.97923224763914618 +TestParticle +1.8212512693609279602 0.27211932176121911287 4.7578666520375545446 +347.57353058021692505 254.19838041200335965 6.6604121361125034895 +TestParticle +1.6430443076417013959 0.042365150738876616865 28.313700526240026534 +178.6338948507659552 287.94750707892865194 146.775946581025039 +TestParticle +1.2047662238103988841 0.23251833898522478172 17.70944339203029827 +282.07165060128687628 43.193800331112015556 189.58232124886598058 +TestParticle +1.2467705317577537638 0.29356902400030004952 2.8706191725519047964 +242.4004033144470327 28.806681869090574821 296.21360336099968436 +TestParticle +1.3162696178512978129 0.30749173225083181737 9.346008763094072691 +322.38053647407821245 112.34526406313270286 132.09084683753127365 +TestParticle +1.2971409174950825349 0.3376994788613812415 24.652899562822732094 +299.7803539105363484 271.40817959188655095 266.8572235615602608 +TestParticle +1.7684747977650516759 0.02661749740193952718 10.096507324045376208 +3.7221406213358587678 125.36494422546940086 238.11022628505401144 +TestParticle +1.8562458518793771844 0.077017667000931988586 8.7143363020037831745 +136.69548804548151111 320.94977656886021578 128.10172157330882214 +TestParticle +1.5044816034257817439 0.21762930629061374987 27.505997823490588416 +123.58136898241176027 187.9229325893226985 113.043904522795230605 +TestParticle +1.7868133877825629341 0.008087932404090647162 23.413784625415864582 +218.89711766597091014 88.56442540385896223 208.43834176513581724 +TestParticle +1.9402143213090712326 0.14949494785208861103 26.511808095563488052 +107.604663311176523166 130.69889435502176411 346.87469017336604793 +TestParticle +1.5966683044291980487 0.087101617604941061757 35.919427778579809285 +212.8714684966646189 289.47277777746671745 150.30140968266374557 +TestParticle +1.5311077130660335488 0.006686025386596972271 2.6738949911861054076 +164.51009812173990099 316.04513748492058767 258.44750388729431734 +TestParticle +1.327174430660648996 0.16386649979480424899 29.516591637239059764 +42.47034129892313814 297.69030488053482486 179.48650722792217493 +TestParticle +1.3309285665414212207 0.31056216374123679635 33.20416058697580297 +182.12327311281021025 179.4712707903883313 47.404071121072391293 +TestParticle +1.2695626979113197041 0.028739588397623319627 34.7510196296938787 +156.66911337647667324 15.489917584647256987 137.9360720619328049 +TestParticle +1.961564416777008768 0.38198101311209609054 20.407128195470789933 +116.450533784431996764 317.3401517067230202 183.14633665136960872 +TestParticle +1.5940513845582582331 0.25613384894831064953 29.533539385317940429 +118.85654306899444066 250.92868906503659332 22.448371873007765487 +TestParticle +1.8442908242187292522 0.19455300058304564326 38.64468812151265098 +327.51192512776293597 261.15575066638751878 220.98151223015130995 +TestParticle +1.9551136736888132805 0.05881060116092867024 0.025983316883650964257 +229.51441899139550173 217.59860795663826138 108.775137355673251705 +TestParticle +1.3586578999851930405 0.34983150673028151623 31.522812174550345787 +105.68138198042714748 123.58623362447058014 40.330126317320825535 +TestParticle +1.902888826244875764 0.13683561730200419215 16.275257623666469442 +105.98161437435868493 148.2954616585051042 301.45848496238744474 +TestParticle +1.4388714351119729074 0.12902603848379340379 21.287394563627660915 +197.02123109899764586 352.44807359808243064 351.33034912544712824 +TestParticle +1.6931112006676685144 0.013916379702603532201 0.7871365555378062595 +188.64764325380838272 181.38199447667832942 29.813972851285797105 +TestParticle +1.6449616174898105125 0.0310490777007133463 9.657476944838542465 +333.95122687579464582 342.1511167418379955 160.69927097810261785 +TestParticle +1.432310913839848876 0.006987746683723328363 32.61241995358341228 +207.28809337462874396 169.31652720575732474 255.68956575096319739 +TestParticle +1.7327468488118134005 0.03857017036911090241 17.468015575192744393 +143.82903277012908916 99.60548209763706495 166.68173997089294858 +TestParticle +1.5512315858530165702 0.17035757433763087931 28.229428870918749084 +211.42236583345217582 136.37631347760083145 126.78807511085641124 +TestParticle +1.5128716646861577466 0.25892751799964647264 10.396770119409808331 +251.02700694813202631 225.21225462676682127 190.02303419914397864 +TestParticle +1.3509296764855895923 0.19460583033279599263 25.473407765343523579 +153.07999025709941066 160.34541100643662048 39.661129674485906094 +TestParticle +1.6995982689149604639 0.3683946534553529384 13.407331577384432819 +340.26004127001408506 272.0620153240722061 254.6289696923701058 +TestParticle +1.4262589721598459835 0.39380044551624404647 22.273999686412832233 +126.6676609334621304 343.6417878124360641 356.69746962842407356 +TestParticle +1.3261721625529891977 0.39678878113200655164 4.2056417606931040254 +238.10434769519417841 155.06469638647084253 44.875703119243368633 +TestParticle +1.9576977154420573957 0.26084185228864192885 4.55948470669549355 +190.48438127706978662 33.209683105017965943 111.270270586090106235 +TestParticle +1.8552016088932457016 0.13548857795579999364 39.778098090381654117 +36.82048012699509343 277.63542496441021967 284.2017295471840157 +TestParticle +1.6904488396185337606 0.10545628795963413182 32.08178306599211993 +75.246216623590498784 230.69409080017558722 202.52540071832260082 +TestParticle +1.8262524413841534354 0.33415074562628183097 12.176323543258451565 +135.12569593248673527 273.69848190668875532 306.5447498396289916 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_param.in new file mode 100644 index 000000000..ba1fb3c2b --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_param.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 200000000.0 +DT 0.005 +ISTEP_OUT 200000 +ISTEP_DUMP 200000 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN hungarias_5pl_500tp_17_pl.in +TP_IN hungarias_5pl_500tp_17_tp.in +CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in +BIN_OUT hungarias_5pl_500tp_17_out.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.988409870698051e+30 +TU2S 31557600.0 +DU2M 149597870700.0 +IN_FORM EL +EXTRA_FORCE NO +PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION YES +TIDES NO +ENERGY YES +GR YES +INTERACTION_LOOPS ADAPTIVE +ENCOUNTER_CHECK ADAPTIVE +ENERGY_OUT hungarias_5pl_500tp_17_energy.dat +GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_pl.in new file mode 100644 index 000000000..8f4ffd063 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_pl.in @@ -0,0 +1,79 @@ +13 +Mercury 6.553709809565314146e-06 0.0014751274117575772341 +1.6306381826061645943e-05 +0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 +48.302897646473702764 29.190213908309409874 163.69992642152809026 +0.0 0.0 0.34599999999999997424 +3.5735549824428292985 -18.380047749494480457 34.361526740492798437 +Venus 9.6633133995815381836e-05 0.006759122875155079725 +4.0453784346544178454e-05 +0.7233300630551103838 0.006773384545514573099 3.394505355540899938 +76.62090440289564697 55.183156101464518883 271.2285045598760007 +0.0 0.0 0.4000000000000000222 +0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 +Earth 0.000120026935827952456416 0.010044657392872289059 +4.25875607065040958e-05 +0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 +175.84932558359508903 287.2227751976308241 324.72725799674782365 +0.0 0.0 0.33069999999999999396 +4.827962479462605839 0.034731626640621778608 2301.2114260455621944 +Mars 1.2739802010675941808e-05 0.007246146587933918669 +2.265740805092889601e-05 +1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 +49.490271729763087194 286.7387645553690163 252.78317601821959215 +0.0 0.0 0.3644000000000000017 +997.9376283354346323 -909.38573894978675416 1783.4600697011568969 +Jupiter 0.03769225108898567778 0.35525381666404283465 +0.00046732617030490929307 +5.203268729924161562 0.04848413524543258163 1.3035624911873560094 +100.51639734596980702 273.421918018626684 325.351028522703416 +0.0 0.0 0.27560000000000001164 +-80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 +Saturn 0.01128589982009127331 0.43764770913411007376 +0.00038925687730393611812 +9.581513697274186114 0.05248801962394190196 2.4862838811768979141 +113.59546767797320399 335.45662431368151601 228.84653123700309152 +0.0 0.0 0.22000000000000000111 +441.9323685947327233 378.52918410105413535 5135.911248678291292 +Uranus 0.001723658947826773068 0.4699394560146697986 +0.00016953449859497231466 +19.24773626798451076 0.04408736292912442123 0.7704474968533898682 +74.09072726634606454 95.12631113857929677 237.66915583105441101 +0.0 0.0 0.23000000000000000999 +-677.3000258209181323 -3008.109907190578637 -836.301326618569835 +Neptune 0.0020336100526728302882 0.7816500366521773358 +0.000164587904124493665 +30.297815841143489024 0.013873050398302080172 1.7688477929856469828 +131.74107055888509876 246.83916166351488641 334.07963351871291025 +0.0 0.0 0.23000000000000000999 +1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 +Planetesimal 3.646098141953443043e-07 0.0021579178542993813182 +7.585803886728505278e-06 +1.4833614415692299993 0.22741315975763076729 31.813233836229972695 +353.17976431207927135 140.04791609627329763 276.36980676609317698 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +Planetesimal 3.646098141953443043e-07 0.0023146091557723819966 +7.585803886728505278e-06 +1.591071674547404724 0.20226306525263618163 1.0591008596928608299 +174.06697724512676473 335.3163306230074454 223.56527105994337035 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +Planetesimal 3.646098141953443043e-07 0.0022981274462569030274 +7.585803886728505278e-06 +1.5797420809126441199 0.24741174618562222776 29.534567106616030685 +344.82468258123401483 161.14487195055056645 152.5251306953267374 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +Planetesimal 3.646098141953443043e-07 0.0023375315639560956954 +7.585803886728505278e-06 +1.6068286304388843533 0.28919101512899575424 7.37565965800404566 +336.92026211210111342 206.23395515463789707 358.94392598114910697 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +Planetesimal 3.646098141953443043e-07 0.0021752159010438748034 +7.585803886728505278e-06 +1.4952521887096372755 0.07630357603197107652 15.560677329970133087 +226.73360615217720238 40.68010911926434403 329.55798685742456655 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_sun_MsunAUYR.in new file mode 100644 index 000000000..b2cb85c35 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_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.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_tp.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_pl/hungarias_5pl_500tp_17_tp.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_param.in new file mode 100644 index 000000000..ba1fb3c2b --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_param.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 200000000.0 +DT 0.005 +ISTEP_OUT 200000 +ISTEP_DUMP 200000 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN hungarias_5pl_500tp_17_pl.in +TP_IN hungarias_5pl_500tp_17_tp.in +CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in +BIN_OUT hungarias_5pl_500tp_17_out.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.988409870698051e+30 +TU2S 31557600.0 +DU2M 149597870700.0 +IN_FORM EL +EXTRA_FORCE NO +PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION YES +TIDES NO +ENERGY YES +GR YES +INTERACTION_LOOPS ADAPTIVE +ENCOUNTER_CHECK ADAPTIVE +ENERGY_OUT hungarias_5pl_500tp_17_energy.dat +GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_pl.in new file mode 100644 index 000000000..cd9d16020 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_pl.in @@ -0,0 +1,49 @@ +8 +Mercury 6.553709809565314146e-06 0.0014751274117575772341 +1.6306381826061645943e-05 +0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 +48.302897646473702764 29.190213908309409874 163.69992642152809026 +0.0 0.0 0.34599999999999997424 +3.5735549824428292985 -18.380047749494480457 34.361526740492798437 +Venus 9.6633133995815381836e-05 0.006759122875155079725 +4.0453784346544178454e-05 +0.7233300630551103838 0.006773384545514573099 3.394505355540899938 +76.62090440289564697 55.183156101464518883 271.2285045598760007 +0.0 0.0 0.4000000000000000222 +0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 +Earth 0.000120026935827952456416 0.010044657392872289059 +4.25875607065040958e-05 +0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 +175.84932558359508903 287.2227751976308241 324.72725799674782365 +0.0 0.0 0.33069999999999999396 +4.827962479462605839 0.034731626640621778608 2301.2114260455621944 +Mars 1.2739802010675941808e-05 0.007246146587933918669 +2.265740805092889601e-05 +1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 +49.490271729763087194 286.7387645553690163 252.78317601821959215 +0.0 0.0 0.3644000000000000017 +997.9376283354346323 -909.38573894978675416 1783.4600697011568969 +Jupiter 0.03769225108898567778 0.35525381666404283465 +0.00046732617030490929307 +5.203268729924161562 0.04848413524543258163 1.3035624911873560094 +100.51639734596980702 273.421918018626684 325.351028522703416 +0.0 0.0 0.27560000000000001164 +-80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 +Saturn 0.01128589982009127331 0.43764770913411007376 +0.00038925687730393611812 +9.581513697274186114 0.05248801962394190196 2.4862838811768979141 +113.59546767797320399 335.45662431368151601 228.84653123700309152 +0.0 0.0 0.22000000000000000111 +441.9323685947327233 378.52918410105413535 5135.911248678291292 +Uranus 0.001723658947826773068 0.4699394560146697986 +0.00016953449859497231466 +19.24773626798451076 0.04408736292912442123 0.7704474968533898682 +74.09072726634606454 95.12631113857929677 237.66915583105441101 +0.0 0.0 0.23000000000000000999 +-677.3000258209181323 -3008.109907190578637 -836.301326618569835 +Neptune 0.0020336100526728302882 0.7816500366521773358 +0.000164587904124493665 +30.297815841143489024 0.013873050398302080172 1.7688477929856469828 +131.74107055888509876 246.83916166351488641 334.07963351871291025 +0.0 0.0 0.23000000000000000999 +1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_sun_MsunAUYR.in new file mode 100644 index 000000000..b2cb85c35 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_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.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_tp.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_planets/hungarias_5pl_500tp_17_tp.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_param.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_param.in new file mode 100644 index 000000000..ba1fb3c2b --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_param.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 200000000.0 +DT 0.005 +ISTEP_OUT 200000 +ISTEP_DUMP 200000 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN hungarias_5pl_500tp_17_pl.in +TP_IN hungarias_5pl_500tp_17_tp.in +CB_IN hungarias_5pl_500tp_17_sun_MsunAUYR.in +BIN_OUT hungarias_5pl_500tp_17_out.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.988409870698051e+30 +TU2S 31557600.0 +DU2M 149597870700.0 +IN_FORM EL +EXTRA_FORCE NO +PARTICLE_OUT hungarias_5pl_500tp_17_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION YES +TIDES NO +ENERGY YES +GR YES +INTERACTION_LOOPS ADAPTIVE +ENCOUNTER_CHECK ADAPTIVE +ENERGY_OUT hungarias_5pl_500tp_17_energy.dat +GMTINY 3.646098141953443043e-08 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_pl.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_pl.in new file mode 100644 index 000000000..cd9d16020 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_pl.in @@ -0,0 +1,49 @@ +8 +Mercury 6.553709809565314146e-06 0.0014751274117575772341 +1.6306381826061645943e-05 +0.38709894990924181846 0.20562369687869339052 7.0036069691825035832 +48.302897646473702764 29.190213908309409874 163.69992642152809026 +0.0 0.0 0.34599999999999997424 +3.5735549824428292985 -18.380047749494480457 34.361526740492798437 +Venus 9.6633133995815381836e-05 0.006759122875155079725 +4.0453784346544178454e-05 +0.7233300630551103838 0.006773384545514573099 3.394505355540899938 +76.62090440289564697 55.183156101464518883 271.2285045598760007 +0.0 0.0 0.4000000000000000222 +0.17650282045605921225 -3.6612475825356215592 8.702866268072763821 +Earth 0.000120026935827952456416 0.010044657392872289059 +4.25875607065040958e-05 +0.99999328599172943033 0.01668004783869252855 0.0027793940989077428085 +175.84932558359508903 287.2227751976308241 324.72725799674782365 +0.0 0.0 0.33069999999999999396 +4.827962479462605839 0.034731626640621778608 2301.2114260455621944 +Mars 1.2739802010675941808e-05 0.007246146587933918669 +2.265740805092889601e-05 +1.5236121180553410248 0.093387475645674775104 1.8479297186242829021 +49.490271729763087194 286.7387645553690163 252.78317601821959215 +0.0 0.0 0.3644000000000000017 +997.9376283354346323 -909.38573894978675416 1783.4600697011568969 +Jupiter 0.03769225108898567778 0.35525381666404283465 +0.00046732617030490929307 +5.203268729924161562 0.04848413524543258163 1.3035624911873560094 +100.51639734596980702 273.421918018626684 325.351028522703416 +0.0 0.0 0.27560000000000001164 +-80.967241888586720104 -2387.9998942634933492 5008.7344122962876782 +Saturn 0.01128589982009127331 0.43764770913411007376 +0.00038925687730393611812 +9.581513697274186114 0.05248801962394190196 2.4862838811768979141 +113.59546767797320399 335.45662431368151601 228.84653123700309152 +0.0 0.0 0.22000000000000000111 +441.9323685947327233 378.52918410105413535 5135.911248678291292 +Uranus 0.001723658947826773068 0.4699394560146697986 +0.00016953449859497231466 +19.24773626798451076 0.04408736292912442123 0.7704474968533898682 +74.09072726634606454 95.12631113857929677 237.66915583105441101 +0.0 0.0 0.23000000000000000999 +-677.3000258209181323 -3008.109907190578637 -836.301326618569835 +Neptune 0.0020336100526728302882 0.7816500366521773358 +0.000164587904124493665 +30.297815841143489024 0.013873050398302080172 1.7688477929856469828 +131.74107055888509876 246.83916166351488641 334.07963351871291025 +0.0 0.0 0.23000000000000000999 +1231.0256802954641403 -2178.2009371051150557 2329.6179923847095223 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_sun_MsunAUYR.in new file mode 100644 index 000000000..b2cb85c35 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_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.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_tp.in b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_tp.in new file mode 100644 index 000000000..f4ba244e1 --- /dev/null +++ b/examples/symba_hungarias/swiftest/control_tp/hungarias_5pl_500tp_17_tp.in @@ -0,0 +1,1501 @@ +500 +TestParticle +1.8454769027014339411 0.13951119042459186881 25.837798047275626345 +328.17117785206306735 237.2860880034895672 64.23008023926446697 +TestParticle +1.8948047399930760815 0.39253684339890981825 30.57401904357708844 +171.8160167926455415 74.67067835186652758 346.82539114732162489 +TestParticle +1.4322956873029448754 0.26682998123758877584 36.888797433998760766 +135.67836179139501951 49.89780708941236753 50.12940813296061293 +TestParticle +1.5422738860284694873 0.37685139101297421282 19.245291067203744717 +242.6056203622448777 190.34039186776647057 265.5775848896740854 +TestParticle +1.4000225346968613316 0.29255853399659431657 19.890767084525684538 +119.10518346196536754 348.49038108835299 47.293501598324468205 +TestParticle +1.456396703278512561 0.21606816556140612251 29.008692147879436618 +108.30731953608933793 221.35606614343436149 135.6522448644592771 +TestParticle +1.4991966146428574724 0.2669401594934397437 30.077755049056197123 +191.15663442447419129 222.38194219090249248 69.087779756302211354 +TestParticle +1.2976220185588704936 0.2964166811906516763 17.074990789432430205 +304.33208099940674174 258.6470139846816778 322.57928297363247339 +TestParticle +1.2284058459883253622 0.02114032275754222992 21.48034199376179032 +253.91897753388707315 121.66008318006832667 48.90451689677965419 +TestParticle +1.3491703154567693534 0.12631152383406446527 12.08570156851411781 +94.79536576066179521 143.49729046755351192 208.82266091055907964 +TestParticle +1.354548306636307764 0.30813073753578051894 26.385704559503864175 +9.340695923175923454 140.9062990975310754 128.60525944669927867 +TestParticle +1.4726763914941964906 0.051608113984077212677 23.16805302210511286 +60.87571895315940651 37.85205814142705094 334.24673224972650587 +TestParticle +1.5463324166991267994 0.049680078831149866725 2.1376306166210978787 +220.16008032774595904 11.76294270807032305 189.70726088424217437 +TestParticle +1.8424848789863070841 0.22250945291262835823 31.15994606422547264 +200.26190393952850854 90.472365503047569746 91.504582635979360816 +TestParticle +1.3344201535197020014 0.22773738327276721316 26.57752464191161934 +153.96142537752339763 186.86606427694519539 35.556703962561442722 +TestParticle +1.9184874234026485507 0.023481756935774280443 35.397883111232822273 +271.86866710708176242 55.05965672749781703 149.58202579969920976 +TestParticle +1.5321856218987717213 0.3979302949006976453 2.3033304058957959626 +1.0080751214383187886 229.5039187263292888 149.08850733126683963 +TestParticle +1.8579680598185155382 0.22191671822921349433 4.132202808256058013 +84.407322217061448555 105.02111083305797479 146.60404199861849861 +TestParticle +1.8191335218869923995 0.081164276322499742666 2.5841250683973493452 +159.5912052269758874 90.717444711181698835 52.736155424681527393 +TestParticle +1.3667350901122115037 0.040168371245059432406 21.275121073210776501 +354.85336821525999085 78.43154031841972085 317.9997578721723812 +TestParticle +1.211310325452651826 0.22495050228658303171 6.171244471860548586 +261.19666701924728613 72.22571277624209074 188.79752520382470493 +TestParticle +1.5325985395295633751 0.31279786859050073833 20.80765006283890628 +318.17303457104600284 237.18051290105893258 171.10337432510698363 +TestParticle +1.8680074840187885776 0.2359667145186353232 3.4681761306941005785 +200.43760942249792834 358.90361110235892284 209.24526446322295214 +TestParticle +1.8902919155434694254 0.083578216274719355217 21.112558775866592242 +196.8514015184809125 347.4309841941474133 73.29619835953663198 +TestParticle +1.3627905330289311614 0.099888583939379896326 10.927033380075510394 +304.94152566655765213 199.55238917120914266 66.700355986912740036 +TestParticle +1.6040569601728904559 0.0037929451167165065088 35.906866500389931218 +99.48570161019421221 264.107310263435636 196.91578900528253371 +TestParticle +1.5861188083181421149 0.12827049258664038889 4.433072269138715882 +250.35776905499878353 45.94314631274010452 78.766936071707490896 +TestParticle +1.8085832921727800215 0.38738844761580382148 38.482814871600758977 +59.61087191956130482 302.66582104517908647 337.43444136948141931 +TestParticle +1.4784945066780474932 0.02330664972959981679 24.805661482861435019 +161.3343149737517308 260.74004269183234328 332.58410511792851594 +TestParticle +1.2147867771614853094 0.16512447645289687892 26.704102750300808822 +342.71215159236965064 303.68316149292064665 267.30686157877283904 +TestParticle +1.2201597354758311198 0.29779565538112623413 9.5137682254248456815 +191.53033272117548336 279.0125127827463416 212.78518850631689929 +TestParticle +1.6306412809893466864 0.17831015307074157827 3.1250419675817919796 +35.17124037365346112 108.44038602029890228 289.87991262900078482 +TestParticle +1.2151606182820764435 0.030818630012030868992 15.255139624036321067 +18.872922094318155928 231.7787216922804987 114.00766773514217789 +TestParticle +1.263893046608108861 0.2365742775318666613 11.945519016269416923 +42.860493283933593034 103.96603523733477914 283.38829024952065083 +TestParticle +1.6208609899851271763 0.084237547629803233296 12.70952077968544458 +283.22127471251508268 16.774057774443846824 300.16022765529646676 +TestParticle +1.369439844040318377 0.02479558882423171795 12.8318676295292597445 +301.63112212878189666 317.34595898371384237 30.617048625074787083 +TestParticle +1.5997694540834734855 0.09458558350377295476 19.448014834633401193 +12.1917196597836952066 3.3679767469261356894 154.78568082871979072 +TestParticle +1.7665402755717471983 0.30325026057285930925 27.633560559304825688 +101.32565005973741279 173.42784439679959974 37.232060344515574002 +TestParticle +1.9955375108845494481 0.36780600821797326816 31.984293078717442427 +282.80116122029363623 340.83055441100248117 39.611552110590793063 +TestParticle +1.8068990906750328485 0.21026617244057629885 1.0616116239923245601 +148.12562556977400163 298.30253571723386585 39.94475612648128049 +TestParticle +1.6630081107132843599 0.2735942970781838346 20.393789507385111648 +186.34515293922132173 65.17268953054855274 249.5770342523899501 +TestParticle +1.7985429554004617181 0.32088199656574384333 3.421215620948947489 +16.760921442599428843 74.095210179753522084 131.64141600391005227 +TestParticle +1.4370805125444752193 0.33325879590334600566 29.297209939601689399 +179.87886700027897291 9.64820682838999133 185.83130754139918395 +TestParticle +1.4655739620290153535 0.017666725980597774298 15.194095015809558902 +272.98954032167330297 58.084307572382229523 205.40990717491945361 +TestParticle +1.8476543863511110111 0.38915614646375812358 11.917542586934226634 +134.42337723208845546 335.9708646376130332 1.2971084841705504687 +TestParticle +1.4590877868615714785 0.00229625206779173743 3.1321552894228821273 +234.02046406252858901 255.12979045887780671 16.475368403924544936 +TestParticle +1.3888300055647480047 0.04773585409741545882 20.980957411518524225 +232.75615771007392141 269.83840631297238133 128.91250646333895702 +TestParticle +1.9931456375147125204 0.36812801925517474322 8.575906190939374341 +75.54998759463583724 336.19060016425089543 128.81172294803698719 +TestParticle +1.8774492133690419138 0.3438244675687084917 23.038981078440741612 +9.8914055387747712444 56.58764160659445963 274.986529163730836 +TestParticle +1.3204375538736723428 0.08737144541036796774 29.974540925371840672 +221.62895491427303796 180.74872085610940076 337.40135640751742585 +TestParticle +1.7927656300808507694 0.117314349174642992835 19.184850306121404628 +206.67799209022632567 27.751086824061687253 298.02149638567931333 +TestParticle +1.7770751091671890265 0.19250351376309945972 9.172954305563960631 +43.26806500508915576 40.25028641050728595 238.70170337404292127 +TestParticle +1.974616589119178478 0.34407442172588997842 9.802858566374489158 +297.25364573770326615 87.77531802870282718 75.66951173963438748 +TestParticle +1.3863166307158814039 0.076685155941225657816 27.402627668756696977 +65.08259549484182571 164.8638775674021133 100.45589134667613962 +TestParticle +1.865440866859517488 0.1196471086364425257 11.945324988836505398 +268.187594819792821 223.64720186520361267 29.40940210460087556 +TestParticle +1.924611171111724417 0.20112445232693854091 27.71898676703103348 +318.34445645026778493 191.25112555799532288 349.89422766228875616 +TestParticle +1.5993892099645203864 0.10968442780595713537 9.326690310948993812 +31.533935713187357663 310.02898225335894722 210.51997485541662058 +TestParticle +1.2359382488484538243 0.32658357473851062913 38.707976308555153366 +144.00217869231852319 119.06805794770258444 79.384200277529473055 +TestParticle +1.6109049166063780234 0.038297945827820673026 19.543826335927839466 +187.13697315293387646 257.17832502585736165 137.87766714187893058 +TestParticle +1.4314628393318562516 0.06605107757031168647 34.48524969280026653 +261.32336202719972107 132.91845049023550018 38.845354985336733478 +TestParticle +1.6270574875899108669 0.34703206127568098083 15.7198484814636287865 +347.55110983950402215 301.80674145531685326 112.25474179150697296 +TestParticle +1.2336395323546296421 0.09729394203067305569 5.1016432554912771735 +233.12366663108903708 146.38256752560837981 198.90738568911748985 +TestParticle +1.3456767380773657639 0.0037474665741684012703 39.938234490697439583 +256.57759604724572 75.054619437472723575 358.3650510442133168 +TestParticle +1.5755427111046413913 0.26176654357687628716 8.3705428253832359076 +37.517264866504824283 65.328654571322900324 91.55626866074713632 +TestParticle +1.6755570822166401257 0.13402717291758836637 24.063895956419415256 +13.799270685071709508 72.62055343894668624 87.31894896673983908 +TestParticle +1.5559490988866435668 0.15176826381840774483 38.48111346610262018 +256.2333379875098558 75.97800331031197629 59.41813313856062706 +TestParticle +1.44994652075586683 0.33986546456988747655 24.751134550954795088 +232.18945993885864709 196.68218102285592863 134.45246030705607154 +TestParticle +1.8429185809905443971 0.017095748280579449452 37.139787427802218645 +161.43471520401584485 307.27501647662722917 355.50902004252696997 +TestParticle +1.8754638534803846905 0.012020551314167439438 25.689663713162978809 +190.79044364156195002 199.61943428385487209 354.13757823278496062 +TestParticle +1.6785085343609076336 0.092751885821403062815 9.210612929641403213 +285.5852225501039925 151.86743084166838003 284.55869958326974256 +TestParticle +1.6543220378661067649 0.21134650270613800083 33.840207882222927083 +304.1335703446064258 326.82908020011677763 324.19035648687139428 +TestParticle +1.532142838634183768 0.38007507167758092237 0.41347334753230935434 +67.05133558163640828 34.399290053628249098 34.840294234675972973 +TestParticle +1.5607062121608026306 0.33781855969656376937 8.967843423326943508 +299.3643723824862377 200.63715648972143413 68.959909224159687824 +TestParticle +1.4493452438508076519 0.0685471748773834183 8.6320194163908645635 +72.080624314054560386 115.122237950328312195 0.4079154529894424286 +TestParticle +1.6460340581063395149 0.39668168452346741493 20.981074587513283802 +204.3451792276263177 201.37614636656564926 213.30860176845612841 +TestParticle +1.5920263567710581931 0.25848484530126630832 37.015946260712674132 +127.874562568991194667 65.19741011690945243 94.70447850395582634 +TestParticle +1.7336512363309442009 0.07029270812373322741 2.7619103909209741232 +186.8230602145383159 227.39378660430725176 98.630627655617857386 +TestParticle +1.2180382444813300236 0.3142235003505371993 28.081856084101627147 +111.345098722858793394 55.920002664921518942 282.87486367297071865 +TestParticle +1.6485319714902004762 0.3152277024193525512 9.613333711481617527 +294.21829832085342105 286.30105207001298595 128.67843292368630159 +TestParticle +1.4661249318513216444 0.05768902442216044396 0.40134055259916312508 +131.60830524837382427 243.75402215940340511 207.34266824752899083 +TestParticle +1.9808876352137643195 0.14308188258148502037 1.4378912336896432222 +80.646845170624999355 231.53252144735679963 232.24754717746816368 +TestParticle +1.2317104124445219515 0.2601604050852836525 0.45344055155487783537 +196.60019387641727917 281.28440095008312483 247.80040663000707468 +TestParticle +1.9766606334273690848 0.34561610666945052905 23.435434834980789276 +34.473035596172188377 271.1594424183512615 48.466138898201464258 +TestParticle +1.902283887520531902 0.11209856668107276434 36.03239655947709963 +294.40684092368923075 270.02199923071918874 114.382104661423511516 +TestParticle +1.6492323095244016962 0.15893979864294510707 37.659784271934086064 +104.66474319501168111 339.31942052690538958 216.02473301930888283 +TestParticle +1.3484148267391067311 0.21111072648635398341 10.89667366492733791 +291.56591682201212734 76.70162083026228572 312.33817224861377326 +TestParticle +1.4294351818194139803 0.088023727454350997323 39.975651469559892348 +198.68831704157523177 24.599669214308292453 112.67218982565516683 +TestParticle +1.7462490440076519072 0.37071438804152889723 21.870120107958371136 +306.73669065023256053 227.86908802150850306 221.53115484665687518 +TestParticle +1.2326287663421375829 0.38251042858385364553 15.802748366587309192 +199.40278420565533679 149.69869717845381274 315.67560896416114247 +TestParticle +1.8450862453370659999 0.35823810152470403345 0.24296995062495163609 +231.11355647090658749 268.36408970924156847 247.20131497380242536 +TestParticle +1.3463306194321635889 0.054152156717265725883 19.291673537548810202 +161.87111271376406307 110.46662751206984865 211.17562619004070257 +TestParticle +1.7304729990392044847 0.0060363382745066036794 4.5425988088905189244 +83.83165898233737323 161.12905358043980186 286.6647995328502816 +TestParticle +1.272415258736352639 0.34812105948963872892 35.045494396081245725 +14.574000729875393745 353.3713665259786012 131.5433867402096837 +TestParticle +1.6439273487752854574 0.36545065070539850538 6.353634441759323792 +208.14453818563018217 10.813063425795590433 206.06730287545840952 +TestParticle +1.6763079933342956984 0.094138501830316120844 9.085159707293687603 +80.58871476637817466 314.0368013316636393 100.690960685859835166 +TestParticle +1.4877140448295171904 0.16166761889883485281 34.241465691047999087 +79.8410863542756033 83.93580251433438377 326.42504725591442138 +TestParticle +1.2162284372972316238 0.0041396912261435492297 18.10971019209766908 +119.24015567046335207 329.67281909144981 104.828869567280364095 +TestParticle +1.8047735542382463692 0.33749016396948239294 0.52972364011479644574 +178.94392698813351217 299.23756071934496958 162.62104380151879468 +TestParticle +1.5839648306862472715 0.10066137160625268643 33.26828317225646714 +263.27920251880794922 68.67162164080139064 57.290691877799474696 +TestParticle +1.782207613297600135 0.28298109588186182162 35.127393670730072017 +210.15608294480230711 329.15212439443854464 156.34171670624388639 +TestParticle +1.3155167265331972892 0.3723026355627080397 31.9899066241260428 +91.31036979040656831 223.20537501312867334 55.827047719351739374 +TestParticle +1.5449962589928503132 0.042895131418722920458 19.621615335811604552 +53.274917868286941314 105.38186162729587636 323.020751462690896 +TestParticle +1.5754411317280814231 0.34816180369684263107 4.7678217298113434452 +120.95128002085144203 157.00930158977180895 240.29746717057042815 +TestParticle +1.5907469291141598244 0.1964357827791012312 32.411571541856559975 +170.61499094134663324 242.1650203501031342 17.501615221478704854 +TestParticle +1.830089894183755117 0.1183426089423230132 39.644525581214999477 +294.65378437812546508 109.07115594302160844 324.16241183209581322 +TestParticle +1.4367780052388956502 0.36401192064177911867 30.631206179017613778 +68.80265368578432117 273.93063220366155974 24.29554655983004352 +TestParticle +1.2142291174104986595 0.26599477562223389215 38.323418486729934784 +308.15266716976327643 181.95454939706644382 25.317934141736472498 +TestParticle +1.3097560558867786806 0.27086655670790987793 26.727111485760552512 +202.01817831967753136 111.97198753257944759 220.9572217341067244 +TestParticle +1.7068002319397266309 0.13225077417056724238 27.615823462695185952 +285.91192474987235528 163.31636137404424858 93.38394269951035653 +TestParticle +1.2055264990732839081 0.30786309414395046646 1.0578708063967390274 +10.359167032075170312 91.437369236993205845 199.49137469503560283 +TestParticle +1.507944679481377559 0.24354603379899894544 13.546984987329334871 +57.02677054315793015 348.2783664994595938 271.03255123935065285 +TestParticle +1.2000480949162781741 0.37393642722973008397 23.203234027939288353 +10.544426197782676979 54.256441116884829512 254.63780531903708493 +TestParticle +1.7449420987438828412 0.24948442565304040919 27.500692921539069857 +95.99564887831238025 273.51317842100650068 326.03984845413532412 +TestParticle +1.3765488182504534986 0.030416876982825514358 31.70464034258963082 +275.78595003182448409 133.87458225546748736 226.00553898246667472 +TestParticle +1.2429016633522536051 0.20958324622273286075 37.67591956683881449 +291.1872246516109044 179.51252843010638571 313.71221570905379394 +TestParticle +1.350836711566139936 0.37146863516149991602 10.648022816293165604 +303.44796444885918163 189.14789607745939293 51.43707686446851568 +TestParticle +1.3606071504125110128 0.33726059408562408803 29.623948782469774699 +174.22516541583135563 294.25596249059782394 95.41136217835122579 +TestParticle +1.2613426667283003102 0.28493782233230641188 2.8418286626483357793 +28.660785941482401995 87.50329638280636857 62.24419865756345871 +TestParticle +1.7174163570319429528 0.3032422501079781174 15.67069716211129915 +199.70972264612359481 32.767912430781642286 213.64123907162533555 +TestParticle +1.7458843970753306074 0.11283265730661723447 31.014841487303186796 +100.348702433335944306 70.42890181497725166 181.6379350423849246 +TestParticle +1.5856984450767472872 0.12800000166780992061 31.429108868252029652 +51.353858554652823898 23.612627758947475343 267.08391560632128403 +TestParticle +1.7153544980924069208 0.009492334383937130193 23.973160269033186864 +225.8121095708202688 166.53019043018878165 111.264606624241494615 +TestParticle +1.5026214783945404108 0.0060590469509819834884 26.922409196875427995 +295.19858318066900438 267.2316600455114326 164.01625566186100968 +TestParticle +1.9160661225785111661 0.2687972938601586037 36.621056515844763624 +334.838998311582543 64.064850181025448705 189.01682882741042135 +TestParticle +1.2176400162982947695 0.34785736514134202313 33.268864900617138858 +225.50438622677125977 227.27950095352301219 349.3797741235012495 +TestParticle +1.2273892818311689101 0.2816869543044054902 29.30501713210593806 +5.1819190308878404494 2.980732803128396391 210.95489861072306326 +TestParticle +1.3751089556704734207 0.2405885452138842584 36.06217993351511808 +199.72275209903938276 20.656954375719962513 63.697518910616103938 +TestParticle +1.5607369467841181176 0.07255978851264624496 7.9579329131271947517 +171.37467949380453547 212.58991825508687157 339.50383959100975062 +TestParticle +1.9532502979079398031 0.32689490765476852951 28.253212569212344363 +181.63986801834479934 358.1359989621613522 109.388744074059957256 +TestParticle +1.6386262719092012929 0.3843259001434648492 30.427684580834899464 +231.68744967547161195 57.857403700081057707 50.909305856223930675 +TestParticle +1.9782962700915884824 0.107957633562424437645 12.967168829872832703 +304.82496750248236594 137.36222813798312359 43.932431234771847528 +TestParticle +1.456906303967715921 0.14977091087281488302 11.183659205458482688 +73.40451433078203536 248.31190118288742497 75.220198402857562314 +TestParticle +1.2534896538060293913 0.32164641810767541363 3.6905727779895203255 +113.638768774667383354 40.160334282501267467 312.87037322501493009 +TestParticle +1.3014118589240171175 0.2335136721159586648 25.377666434917763638 +52.35427893272325406 9.000303326532378634 144.16353907228875642 +TestParticle +1.349118336295686893 0.043025081648941171375 4.3612305774961734883 +243.8860202407295219 2.8265136490351139287 103.60819968189791496 +TestParticle +1.3275933491849711832 0.30130671835155509175 9.869222679372882112 +140.91605869565009357 6.9406462242691979725 239.80228459696834875 +TestParticle +1.6818942627306852078 0.31620420657586079116 20.559233470145720446 +58.349404997197098055 117.22724335851061994 205.33268031856118796 +TestParticle +1.9852083696659352796 0.013418902816453127241 34.384158548277603984 +115.09964166928982365 93.38072290721305535 50.024657651717582496 +TestParticle +1.5693995761001753309 0.16001215059117473993 34.5933607052273544 +148.74442398288778122 35.382707682911650693 307.9784638941427488 +TestParticle +1.5266059802597138351 0.017927011927562432753 36.548915878020643788 +210.40292925773331945 201.71103729618005218 224.16233740901310512 +TestParticle +1.728092867591788595 0.17808919848065529745 20.998516569906101381 +308.92264952207932538 127.645229747456198766 161.89916144859373048 +TestParticle +1.6194915162303571421 0.12309065176675240694 11.294533006684988052 +54.678975810373955824 126.54242973288489793 198.90789595722705485 +TestParticle +1.3289490961949892434 0.29324085207912647943 30.6374181063208475 +269.87631534747202977 37.841881250480767562 348.01538484590025746 +TestParticle +1.992893537374311741 0.18673594337410803767 16.540817363482574365 +17.388276030638827763 78.86833627776049127 145.80382488854473877 +TestParticle +1.222299452110788831 0.30906300615816389987 12.345442063899700003 +306.8123712805751211 180.92912639536746155 259.40768755027107773 +TestParticle +1.4975645450575401085 0.33347394063389190766 1.5908406722909917974 +21.190900575813813589 29.47013297848204516 102.16591862721205075 +TestParticle +1.7529928369432026258 0.37348208125904397425 34.962456206016206295 +93.100816365900570304 51.110432866675402863 102.57164314281175166 +TestParticle +1.2425425262626379475 0.33615312037358630048 13.5646379554957707825 +178.52596605015196474 153.15866826328647221 144.53495382113527512 +TestParticle +1.6649955177303406018 0.2774227948724269921 0.19107601744351665474 +63.095836643914225306 354.85824120341573007 264.91047609564412824 +TestParticle +1.6484772171416994802 0.30267580759790019274 20.681865450161470932 +178.44791810461956061 236.1847171609527436 98.36374690667254583 +TestParticle +1.9932276245336744136 0.28313215139520719887 18.707112367987669188 +219.87647284127007197 126.12068590426943615 215.87266615210091913 +TestParticle +1.7032561164628601258 0.16397636271323282053 25.251751880173408438 +216.40546882883455737 157.48365299675131723 4.688955472432070337 +TestParticle +1.6688736346909214259 0.20206175633607201259 6.8253656041650678787 +216.49653061411731869 167.29352654167502124 264.9681676707442648 +TestParticle +1.8685421164356719181 0.017115665378235479788 37.702745220955684147 +341.22511657108503869 114.98911860271485352 180.97443389686239357 +TestParticle +1.2789089584183417347 0.38311485210375972876 34.310997435004189526 +320.3337196375490521 323.3381621809996318 259.21085923985185673 +TestParticle +1.6140662295704462093 0.22523087980360034788 31.289184028405010451 +342.24508460858135095 15.680010847649224814 231.38490121660879595 +TestParticle +1.9392715602121850527 0.15801671085680726869 28.474643946647489656 +130.88611486656463967 107.8187080577375383 123.51635573428578141 +TestParticle +1.2967745250719693306 0.06567169524305174755 33.95229338812422526 +290.63873117229752552 79.02208966627722475 232.82648238779003691 +TestParticle +1.5129927102068225775 0.035355940722157398748 39.88868697475624714 +192.95122284146495417 161.94702337269632153 136.8613631323482025 +TestParticle +1.6829217923833816872 0.25345881856811941502 11.3639096364677563145 +97.75123136727515316 45.772970150424697522 122.47944569483230737 +TestParticle +1.8496796135868087685 0.13179006688881342302 13.3337440463942780156 +265.13170996725159512 228.43295285296423458 86.46213418755671398 +TestParticle +1.3358066112403499393 0.14376027444378572384 39.375717961581145232 +157.40058260425848857 311.2848447975355839 331.54934076273463006 +TestParticle +1.4724981157763801232 0.09732120033570890172 28.321058818578286775 +59.894734856092107123 278.76518901350408441 80.89976806352470362 +TestParticle +1.2021644761475605012 0.31023967350442599455 28.526439154406524779 +141.17072146741031702 348.00301966689602295 345.1342457342993839 +TestParticle +1.5593994326172748721 0.1667781483451987734 33.654370780663562357 +266.88153921797828616 15.430552831803581171 331.4077165346525362 +TestParticle +1.2450357937715832435 0.028817230992748132934 35.27994061369459189 +170.88739535567884786 353.3811233168729018 235.24134924372253863 +TestParticle +1.9317961733915889333 0.3664316651845210826 24.216703033341396178 +53.371442738369651693 125.538665606108594375 100.18756180685251422 +TestParticle +1.6396980067944455506 0.35320738196817447196 38.908475459351436143 +246.96073709218802605 107.071264330560637745 337.8304256083255268 +TestParticle +1.7122870680368271756 0.33138468975426782492 22.34571124430782163 +41.625350595521808827 260.11274001626304653 319.5586433718779631 +TestParticle +1.7758391618474895779 0.055654577054355419685 14.384020683089943304 +218.7045008460380302 129.23569045343450057 314.73455478475153768 +TestParticle +1.8362854949156799389 0.17009562329070515574 9.220110348963054037 +5.6249185474454588274 94.48961934631255133 267.2078794777070243 +TestParticle +1.7334953226477165522 0.049544865778679184065 1.209613515173937337 +190.91534544660109418 64.56511824447872527 53.933623678817561142 +TestParticle +1.2066506827151026737 0.27307016461379868266 16.286012208431877468 +210.72290400454269843 4.9513407455376867716 217.19883427837939394 +TestParticle +1.9341836813541077866 0.31275777164344914505 21.744449246528134267 +16.671280260299788267 359.76195227232665275 224.80650775703034583 +TestParticle +1.2301271999661356205 0.031548406830605689455 39.849035058731047343 +90.34650036320888944 228.990784368342986 250.85529561169511226 +TestParticle +1.3410010761068889007 0.095083624572690483845 16.924908171363043152 +283.45379909314135602 86.752474366828209895 159.59709647132103782 +TestParticle +1.7698211243948773763 0.31273331984328978095 32.406541703763409146 +142.47083941877434654 108.934565017581746815 272.0311071315450704 +TestParticle +1.2184663095396561783 0.03812658809257066239 19.774618927626171683 +209.47233898474567582 217.91859195187419118 328.76297389338390076 +TestParticle +1.7206223471221142596 0.34602085721486458558 1.7719525390753965155 +165.06371680688690162 58.713339280074663407 131.55475352151159996 +TestParticle +1.3109621100006574324 0.1200549161067526599 35.241813901823853428 +280.10060451829298245 304.5154307276658301 258.67615548166588724 +TestParticle +1.890762195590066419 0.37035990280942132635 39.30878687557294171 +331.52556729751103148 337.10887406621617401 291.2002557551665518 +TestParticle +1.9459727148429868393 0.38159291851530796613 17.491010561827589953 +58.69944071533900143 205.64445683266583842 15.007877403052006571 +TestParticle +1.932411276121311472 0.04777930483056436195 25.073992516822389831 +121.57030712562516328 70.74439140769348455 289.9542940845957446 +TestParticle +1.5709963526669437073 0.10007382494413469276 31.19225199749002897 +25.663181434794644531 158.74882487098793149 349.24010777437848674 +TestParticle +1.335652850395929736 0.2682557203404010715 35.328293558121892204 +297.5826541744638689 60.254502441132032686 46.73892963602791184 +TestParticle +1.2957464098764572835 0.3440291712383192757 7.1735736922541004645 +59.24135447472242788 112.00172550339377153 63.553063734303997023 +TestParticle +1.3376569963037119315 0.3060189431378071423 33.029029350979975277 +152.73585490781837848 358.84231030107730476 37.635854669405638617 +TestParticle +1.771988403745682561 0.3418762364008507415 23.489318587551395012 +127.772934823946343386 203.78581662446330824 143.76143168311298837 +TestParticle +1.5956560402916708519 0.10759642083325884898 23.037334274387120558 +89.123439540602518605 335.80537435903943333 224.2944293252393777 +TestParticle +1.2213248137275627414 0.33273129495412528955 31.736197966218284705 +5.8113766822153190006 136.8878783815157476 64.522354495354704795 +TestParticle +1.5939091087487726739 0.18821654046060146137 30.731370977849337578 +266.58533763467028166 61.609425727717933796 18.235581197999763958 +TestParticle +1.7396585716134431721 0.33855494953671660951 29.449893101775622029 +180.02468739427200717 242.14518561194594781 286.10286226317128921 +TestParticle +1.282393302513987976 0.18117160916878405352 22.308223599873976184 +94.69043575838269078 120.90458523599184559 161.88428102391287666 +TestParticle +1.6814135190699217581 0.06566827687818244108 23.327233678731047917 +13.505074850212492876 48.75637107914376145 337.4546628636448986 +TestParticle +1.7657157709814490509 0.1428403447023711692 17.528150255810068359 +344.59038571613109525 139.36370104693307326 48.933862071120714177 +TestParticle +1.6903656227398606848 0.1881104051902828811 4.8333955434429443088 +225.1651227652955356 185.18882646555431393 132.21080070182574673 +TestParticle +1.994803202974419154 0.07010640681945860819 10.335500705227271823 +49.13850067137512667 6.4534592639328725028 80.823883651112907955 +TestParticle +1.3332640591247215678 0.06033190012542344327 21.035357456357957062 +97.733488288704805314 80.36567051536489714 46.55202086502264791 +TestParticle +1.6243595893431250765 0.19184864274731788791 3.8955991274805690239 +177.92659068814418788 143.40326100313114921 22.678654943892524898 +TestParticle +1.6823664970435372457 0.2224783311899178051 28.355960754425314718 +38.26291967170601538 109.90023925961423856 198.84047030132839495 +TestParticle +1.7191941261517613704 0.33174274738319786682 12.850948299491872007 +119.00419547116645447 97.60779700546201809 294.77008528831782996 +TestParticle +1.8572892923802768461 0.35111820477995814294 13.9604529367616514435 +90.00276864094306006 148.95323888923235245 105.97452396122218943 +TestParticle +1.3153721536816338489 0.19649899863576869574 15.0714118102473335625 +114.91054594701827796 42.412124805715073705 238.87013655434262205 +TestParticle +1.2329176043622995795 0.016982564457388795581 30.243701002322488591 +82.65191789811144929 330.6979385476704465 45.054558348890076047 +TestParticle +1.5821710473264454233 0.3143035815568485103 26.914241767154372553 +284.2538985550680195 218.88177874336824402 323.40347760377426312 +TestParticle +1.9040784761593252394 0.24428308876647972236 7.2140984856285061966 +36.905471182196343705 235.01221091601564694 318.38458893259758042 +TestParticle +1.65303582473123023 0.15480622128373774937 30.612597160930445028 +176.14307295689886246 344.8917806440758227 46.391668294041863874 +TestParticle +1.9906869462994456477 0.08417977136701382257 32.071163809129458855 +190.08888099464044785 12.337459747731131188 44.2017470332212028 +TestParticle +1.8765384210009301569 0.18365454827241262103 21.70846970886060845 +357.147106806575664 129.14807435709019501 12.280707552849744246 +TestParticle +1.4155101547192867617 0.04021447505437234643 9.344979114904226947 +15.0079117011066429654 104.10136849327774655 23.129488238006107537 +TestParticle +1.8212138878170127665 0.08047272581333581032 4.0968495722748254906 +174.58882187338159042 279.87646692565357398 23.324854698976157152 +TestParticle +1.7644240552946159895 0.028115303133601266677 37.495056810553286653 +118.13225365926875554 167.45393279647143459 34.012411764895496447 +TestParticle +1.4525677350618968475 0.30250405555180709394 17.82996354610970613 +220.00796720803919015 344.15563445760545846 123.14676507835467589 +TestParticle +1.548841766197246228 0.09540860671062662002 22.684926251185043355 +218.60911597389889494 90.33458573673138403 102.992143880334552364 +TestParticle +1.2079296534119159379 0.32769989355099571338 38.675927266126485904 +200.13361220962531206 158.78840734969233495 279.3835775172844933 +TestParticle +1.377134208847530239 0.24021816899861267447 9.0547885117482262984 +307.8373588937357681 250.70142057430294358 309.94009295835280682 +TestParticle +1.9686740753046718666 0.039229853667286734842 27.8754113045622951 +44.123357114694904624 256.01312835054108064 261.81824327677321662 +TestParticle +1.5814217806739057082 0.17335298748077404563 11.896107065940920933 +11.863952502714919746 24.317879056812333971 281.83737446678952665 +TestParticle +1.3875566874932281358 0.04186652452005912295 8.374003796839994962 +110.23215119957482955 294.56036703267886878 295.56595853737684365 +TestParticle +1.3902402383167473676 0.19593968424019078678 29.315181048510574158 +282.62385234829253022 324.77635841333739108 19.922520312932118003 +TestParticle +1.2840096543928043449 0.29990999639214999117 38.008971094948456937 +277.38971452757238012 208.06148201248271334 255.09629766073103951 +TestParticle +1.5591506829846155657 0.37436941724804151388 28.992037551395654305 +349.16296285001351407 325.2167596752620966 272.84514086043867565 +TestParticle +1.6470838643939573753 0.08288833139777805614 14.577369178129217175 +285.2260666698484215 331.09186078156602662 265.88764593799055547 +TestParticle +1.4078732644616405167 0.12168143435803764618 12.108634490395427719 +108.46688890223232704 161.29947110408681965 275.03585750375651742 +TestParticle +1.3806299194725459856 0.004926651150672434372 4.619034071475587311 +124.92525284958901466 247.86360149925218366 213.62866269117026263 +TestParticle +1.3192455632849615643 0.2895763215200138352 26.694213488950907731 +156.54596065699396945 129.81140517153278324 134.60446380394492394 +TestParticle +1.4439912056109245331 0.3898931766577775071 8.96508289894697441 +244.87528934455733065 193.64710431202621521 293.37512055758975293 +TestParticle +1.8635206283775769265 0.2795056553246003106 32.898054005194971694 +137.04912054787823195 287.93791057659291255 10.142083183616289688 +TestParticle +1.9812056783962854745 0.2247292940884803858 25.532351672534726816 +201.33822039314060248 254.90475216060337971 359.59652623258176618 +TestParticle +1.9116361511506723136 0.34944272223947114853 5.3334830645261233073 +165.89953551606566862 87.00762822041266986 286.54555713608760925 +TestParticle +1.2300510950958833956 0.09272681808089294764 6.1108306263088341126 +60.392041334648261852 166.06618730050502108 214.40030029409305712 +TestParticle +1.6587060971893274886 0.35283027123356813792 31.860313399205129059 +249.71240866151026694 222.43577149272385896 31.641338378167219503 +TestParticle +1.6042337378433173534 0.37025740688655151 17.202399535173533707 +87.81318396148407146 2.5620013176806422095 357.37399955588330158 +TestParticle +1.6471345300326571959 0.13620174045721983314 22.615216955031499424 +80.62529682810802001 69.592694813600971315 105.76774944494903252 +TestParticle +1.9072984229216274343 0.01501546063666405785 8.290907351796761304 +169.80316939963415734 18.043578597928426888 349.8451486157899808 +TestParticle +1.6906614679737514972 0.18058500638001656613 35.641943093270654686 +155.08172745880321486 318.8449035930426021 193.87642754894059749 +TestParticle +1.5896626347240321309 0.08039921506021037445 26.884736251329634626 +93.207751799271306936 291.57502433845007772 164.72382015911426834 +TestParticle +1.6992934898451703685 0.065201137301299824656 14.269610927403233447 +236.09727012824436088 254.53147047225508004 263.77965229044838225 +TestParticle +1.8538533648632840034 0.04766458860664664343 32.873078543951940844 +204.22879507518445052 106.636047257291238566 249.48280450502983285 +TestParticle +1.4212096807741136928 0.07499446462853280593 23.101996292119086007 +275.60817514452082833 213.13272785623379946 230.30352647630064666 +TestParticle +1.7510124795524912855 0.057099861992605485672 26.912262589245482758 +293.1635508220617794 35.9907631662996792 141.04718451469835827 +TestParticle +1.6563019761734052437 0.025865878674105769602 36.786210320613299984 +182.00701529286254754 302.4937526698793704 324.59294681664295013 +TestParticle +1.729605636071602337 0.11527751871838157194 8.269004569267789151 +347.6614584046645291 246.54991472345386683 257.4460526186617244 +TestParticle +1.5759605048363587443 0.11372511990649024349 2.1138568479458896832 +32.388292718466615838 301.59398434276658918 321.32099521949635346 +TestParticle +1.8344051151510727404 0.26899383835918777574 3.9802801398091425256 +84.71344253866337226 168.80695388443507454 259.706671920307258 +TestParticle +1.9193495257732000603 0.3433984358229728029 11.27141574019314163 +62.069125737912351326 344.62614387614092948 49.455425729806016477 +TestParticle +1.7910635325425254827 0.044197943689674758228 33.673496401958495028 +49.096060175323778196 333.20352819343492 344.1647888658290526 +TestParticle +1.3951416310339623816 0.25049231139019290104 13.926920554033479505 +24.468782285640848784 283.9433213127680915 38.716618949049291132 +TestParticle +1.4774439717601555166 0.34321703341922732422 34.23200733980726085 +253.1569295809615312 208.55072402648170282 142.78123543474748658 +TestParticle +1.8035383416573496085 0.31178214061844072846 38.848219271007792486 +163.78980370879801853 27.192135308956363104 240.49835213590739613 +TestParticle +1.8523952866624258107 0.2010708076570819347 22.034325231090594599 +124.711476085711595374 323.0644792551414639 138.10178915634389796 +TestParticle +1.9173340778250498317 0.2780025712872400967 25.973495130250071838 +193.9471251677579744 256.51445549034934857 68.5799795393802043 +TestParticle +1.2039954656193134763 0.32062119894339707882 11.801770668367792538 +261.58407010163364248 130.72550628237604542 295.22935271302458204 +TestParticle +1.3539793779063435952 0.05619140956045583224 0.39149769265351963554 +54.55272735280637164 335.83544373800691574 89.36258771851326799 +TestParticle +1.9516074079116982887 0.1921645005309346732 35.371640156848229708 +152.55319109406485723 247.31165449235123788 278.83909188690222436 +TestParticle +1.9301130006872968536 0.047382794904003239234 3.296738006904260665 +186.93636419954495409 38.829849755176162773 177.44532754290727894 +TestParticle +1.2580985637358546025 0.21204965723905899733 16.1659140062293325 +3.289189867948967283 190.84482276807500511 67.97050011468211039 +TestParticle +1.5295225293999865634 0.17172263806479373671 39.618093381378386653 +332.6463231490124599 278.70254383892529404 12.693771958962534185 +TestParticle +1.3231257344221201144 0.2573419902802399073 38.0841373767418645 +20.119441148442565037 244.32686028253979771 48.572638095274754733 +TestParticle +1.2390492871187110957 0.23798618359691314783 30.645766685864785472 +87.001950267678836326 278.12670273948640443 330.89492423249123476 +TestParticle +1.3993417216526349289 0.031843494342214208326 14.144935673919892594 +72.465298766095699534 334.2534597720372176 30.48791433958904662 +TestParticle +1.5347486253277040635 0.04338458251454313519 12.0921328741059639356 +120.79694902396420275 355.45117743828626544 160.7907173842522468 +TestParticle +1.2904906197620742425 0.28414011519071485923 33.037713210604835012 +289.81253890944515206 83.576357577029270374 220.09709176383933027 +TestParticle +1.6058032451228929638 0.36018141227094635504 17.994372902660266789 +3.7010845253058599624 141.54942979100397338 198.05616798418643043 +TestParticle +1.7714414500542230435 0.0035609242707668187222 22.050030319794334588 +264.59185760489833683 10.605770272399395182 215.25949766508875882 +TestParticle +1.81709217161712 0.27368429441007163794 17.149545687672187455 +35.988324614781888044 81.77856120500719328 10.201466538617181001 +TestParticle +1.9507969820486321666 0.104826252022570107214 21.570178232673107743 +110.11799658110533073 203.10615346805144554 174.54637699366600145 +TestParticle +1.5513016726876260876 0.0649073896097557973 28.406030811013923909 +294.40827400152136306 308.45384003953444108 250.69412013121518612 +TestParticle +1.6081730286462514457 0.0904772003540942199 8.756397654381963491 +95.30241023766843966 310.97856820924152998 78.51553642084900275 +TestParticle +1.9445060562513780678 0.34581412562291430346 38.93528925234138427 +322.18458452998703478 206.50871262487711988 171.6753679893202218 +TestParticle +1.2867830568980889172 0.23805020747269362014 30.605085071406584518 +107.834941188806425316 172.69897682961376972 231.64156285513004718 +TestParticle +1.5570299212666793842 0.34247490116827700168 25.701729758850273555 +57.759342054473357564 275.21368529820330195 0.5189093555138457603 +TestParticle +1.8297728730942826036 0.0059327247000139143526 26.27006410810665571 +351.91597475003959516 332.46172667657117472 193.83113607968971337 +TestParticle +1.4663451402621732189 0.019337346272064428326 0.491698998445047053 +336.79769240394642793 248.96724280968578569 175.15811073921727825 +TestParticle +1.724576194857081024 0.052697296256256631608 5.7447084496883027427 +66.182723011463494345 29.130322702617217345 339.9870439485365523 +TestParticle +1.3696669727225077029 0.33229023795273532338 39.64244722837145929 +133.49050184888841386 162.12402403598608203 293.04583577859932575 +TestParticle +1.3783417053600715008 0.2855227081254033128 11.873396199324094624 +181.03404330551020962 111.58079564001488393 50.497053185226064898 +TestParticle +1.8637392080726669086 0.0156183905360887560765 26.799919264480482894 +101.416124536033450454 141.64824974137857794 87.10767556818554169 +TestParticle +1.3990411255817394309 0.016424027824586850954 34.17231113580791657 +351.25674680067004374 51.410447621435544363 109.4743571087562799 +TestParticle +1.7113078627771947104 0.087396542572623220346 21.48366722009397023 +331.26077825265491583 87.597172428811916234 351.11237329056922363 +TestParticle +1.6537452602438895699 0.19076978286361276349 30.899468439263419128 +338.97921655361312787 354.2717007607652704 88.459659106615376345 +TestParticle +1.8713204845226436568 0.34948347966477527615 26.694021521206035885 +22.640920338079904894 267.1658484538838252 91.263466282262129425 +TestParticle +1.7800499814903345541 0.21591168642547953205 4.15893255030611364 +284.8692985786169629 273.15026927162216452 163.62920354405895296 +TestParticle +1.2770584465418410858 0.11704921307575957834 23.561299361007908004 +208.69763432291699701 114.84562071374233483 106.557589971007203644 +TestParticle +1.7789101924514278963 0.21089404756926086182 26.446391287965887784 +166.38039683220225129 280.94687192438289003 156.1732356226829097 +TestParticle +1.5095803628848272204 0.37888764670309865723 23.739638145042558648 +147.5462561757028368 320.06107890549310468 221.66365612858550094 +TestParticle +1.431320096709388201 0.090307147024224890264 8.768204975989792871 +86.741239636344801056 122.03132838806067184 343.580887072082362 +TestParticle +1.6349437899113876682 0.14387102541744481443 11.841216176535350968 +51.14042919054931957 69.171034829460595006 213.79008663660533784 +TestParticle +1.689003605562497734 0.13061345081474304286 24.749487065465949343 +180.96919715736157741 204.68845725307318162 260.67277137781871943 +TestParticle +1.3035444430147782313 0.19990048901013623972 15.958381821114077326 +24.968896817823825529 197.33820599380237581 119.001287940231961215 +TestParticle +1.6620625944290643439 0.2734543708115155236 30.556744105988030924 +323.42922129424488276 115.879900714354221236 18.69101695694187626 +TestParticle +1.9572874068027543704 0.3982637334300366816 23.395690692151514867 +282.1199835387070607 264.2819579212129497 226.80637570406867098 +TestParticle +1.7711614884940887205 0.16471476857196881705 34.541413045241888824 +209.78439563147685476 330.68687123431953978 302.79975669488345602 +TestParticle +1.2768346788945352799 0.2680189005217827325 2.3664781607185281231 +4.5230625737162633015 309.27315231219478164 35.64300138830596154 +TestParticle +1.7331467818212080712 0.08199012177664927181 2.5002689592511995187 +16.248296777956340975 8.818474849161844986 133.32825103025075464 +TestParticle +1.5824962842528258467 0.1664685697946028109 39.01047834163395578 +294.62170247515587107 5.127126749923851534 323.21555884047671725 +TestParticle +1.3065419938771187791 0.062752012732249048965 8.378519051225520542 +254.48399542766591708 227.28662992761130113 215.88914339840525258 +TestParticle +1.2803200151108913296 0.39024438031771679913 26.21206496548343523 +86.2004800657045962 86.508225331489853716 295.03587464294588472 +TestParticle +1.9599644739977994945 0.18082768987187250453 26.76260832548297941 +347.08076935823510212 187.06487585242066984 78.43547038210139988 +TestParticle +1.5504457817332411018 0.058138854268877486475 8.311304083318722391 +250.45953202370188251 51.58641776614162211 321.91182873943205323 +TestParticle +1.4030770961210228265 0.2255632436620616521 8.257376872662526068 +110.66653646497886143 331.8743125077128866 326.8827542847423615 +TestParticle +1.3330653778054313285 0.23576894818100968543 16.555280374134500931 +201.04570271621727784 304.9737571038722308 129.38177632189641031 +TestParticle +1.4676189305416613706 0.15334509742223720319 29.730324421851861416 +93.28877448580836074 98.24809064509591394 318.26221325804715434 +TestParticle +1.4959613849179316247 0.26490707510895572518 8.435591899110246317 +121.44478123997235741 352.46125426578402084 269.21443204906552182 +TestParticle +1.2410245922213516412 0.16484650483123386433 29.036807003172221187 +234.59702065989810649 212.29149699166657683 309.02229933747048563 +TestParticle +1.2104445735427551423 0.27493160452164350227 31.472614096909531156 +172.8652728002631136 303.96742459461654562 8.009940254088059319 +TestParticle +1.8791733750261010449 0.2587599416761243165 30.401845910812088647 +330.1151954343364423 190.20401433347646503 104.67843668270934643 +TestParticle +1.3013630074517779089 0.22413535954031660324 32.01650674239483152 +63.549710245898353378 35.89931403059021875 158.56811223007159128 +TestParticle +1.9547724398089645348 0.0786294356900830993 10.0598953139010802715 +69.4839845505388638 123.32244013516246639 31.421777442531322322 +TestParticle +1.6120256585797529958 0.19985700875898035345 13.999189942348966298 +78.857222386685961624 349.6556927780835622 58.475688092723309808 +TestParticle +1.7578912848822172421 0.27207852440462437782 21.16570903311817986 +204.48739950618715966 68.64871257741852162 227.95088374477833781 +TestParticle +1.8170356771723037426 0.24230078833019122464 19.368483713748780417 +184.73419610737784069 272.32723488431577152 126.891658495766833425 +TestParticle +1.8561231261283124283 0.19157748016708203709 1.1886704509024781373 +254.2676067727032887 317.6217024209003057 224.34445674903426493 +TestParticle +1.9710622679246994071 0.14623926742902368381 6.640292860769481109 +190.41063402021279671 187.773358994985756 328.47417804669458974 +TestParticle +1.8390376809348407683 0.39004880820775639227 20.066519467297950996 +211.93199248227401199 289.47815944254944043 137.15839269809171697 +TestParticle +1.6111502808558577637 0.22394676788626455277 20.061937046580968769 +92.54520491825057604 92.01310424807805077 13.375630065565452753 +TestParticle +1.7289359898596003973 0.029780688540387692531 26.014739049810341243 +312.66680607544742543 228.17665637399315415 125.22825394003517374 +TestParticle +1.2705682146072982963 0.029404610289824398284 5.561963728286389852 +84.16555574179947996 331.08838136349748993 315.88331119433712502 +TestParticle +1.8573347647002547145 0.36089888274309028793 33.45261607330014897 +108.58851164869084016 217.00073148209528995 139.41678117547121474 +TestParticle +1.5119662840275136517 0.035019622195022657996 10.463315222301648788 +152.85193304965602579 42.895445465204801394 38.742869188454783114 +TestParticle +1.7622884149632529471 0.03162410217369809179 3.1822974384423297067 +37.26277315140376345 107.89474442992022318 186.6015285726906825 +TestParticle +1.3516643515537363207 0.00042846679844568138443 14.013484979190140578 +216.76556913128737847 329.5425274371341402 157.99664633404185565 +TestParticle +1.3725976866577220825 0.30646538230027742244 11.329739671767651288 +198.97848141965863533 44.651190190469009167 28.049566579775078168 +TestParticle +1.4591070353626824918 0.08119659950059535114 34.28551752565069677 +306.99758279574081143 104.56005980026995417 24.491183217056139654 +TestParticle +1.6809883631745992094 0.12405907090243922797 23.088918298866115464 +81.89324756024211638 45.486408290411304733 5.9086829848113620045 +TestParticle +1.3535618238311779571 0.11072994226846155641 6.1365791065780417313 +96.5917090856876257 125.77992141224173395 180.26956152431557712 +TestParticle +1.5024996182012646528 0.2601294541852439135 20.11839589454453403 +270.4000045350792334 353.011762488246859 34.641037025004784766 +TestParticle +1.5996488376502526751 0.37889391086596613256 18.528995245881297649 +215.86591794372824893 196.33677334782890966 20.482598606365485239 +TestParticle +1.7931356901400370418 0.025945290910749509855 26.661454696830183764 +188.02499061598265939 217.74613305793528184 352.64512058062791766 +TestParticle +1.6808120166727305023 0.26627765088552390882 4.4798421923713638293 +12.471177251742290082 9.432555892002669751 336.72507040011447543 +TestParticle +1.6313081817828176678 0.0086570580622717507174 3.9083339029362873518 +54.248103250365730332 318.7038881970888724 331.85368591582181352 +TestParticle +1.2884450142579531029 0.1681046156164187344 35.34871223758726444 +240.5583121923978922 135.24748641897326706 301.64571007267852565 +TestParticle +1.9196539088974737819 0.055293464951134657648 39.174420254686374676 +13.003093109260595028 224.19261478871260351 272.9340647583842383 +TestParticle +1.3704960962475472019 0.11179773250371188853 23.81208520955706831 +261.70166394043076252 10.650163480395606896 96.095112534597603826 +TestParticle +1.9516781167723931123 0.20402034023295062548 32.535249468476067136 +340.51354688545097815 329.0040653030519593 109.98356406041511946 +TestParticle +1.8140222569343318337 0.12613518245266175377 1.4950171510413001741 +234.61793333937521311 320.05130111528796988 172.88154495883503614 +TestParticle +1.8102010682471065817 0.14811926068150899072 0.47152065059882453113 +231.56413706767099825 205.2503541540525589 214.7508917825621495 +TestParticle +1.3323729215149744398 0.19959213905409678436 1.3073421511548932727 +151.66443112411295147 341.31892085633529632 144.25232896171203834 +TestParticle +1.2204541150545651362 0.068668187712776870835 4.014281498324958619 +174.08147891950491726 47.939506002741296697 254.99017431971773817 +TestParticle +1.2181192459350491664 0.025059093817326606735 7.204862413525972009 +48.60770716273837877 329.11947000106135874 217.6643233891191187 +TestParticle +1.6039675062130638317 0.35797604454305875787 16.056969103103426733 +87.92417372221831329 49.76521958624503128 164.99398402032807098 +TestParticle +1.8725342069546249135 0.106279250804296898636 0.45718402173144045975 +119.596726134790174 107.86697924451233632 232.81352842822093407 +TestParticle +1.7853111973976689697 0.12193477571081268174 3.680789884957089697 +205.60326749430927862 40.207082764860338386 289.2290546833312419 +TestParticle +1.417950447978111761 0.24357413812980258094 1.910476157584461987 +252.61262373556786542 355.48333419302929315 151.32407206005677835 +TestParticle +1.2280461512973894767 0.15278421763439650749 26.714312283832946093 +142.72673485719965925 232.69712275301176874 346.3375478502677538 +TestParticle +1.61151127031616892 0.3744225370958842447 36.56793088861800811 +328.09520081336302155 25.920977978027824662 288.72452391776596414 +TestParticle +1.2239475600090146123 0.24714055634484358159 30.304522847333871027 +52.68180217169934565 356.99734588216864495 56.617981510557434888 +TestParticle +1.2496667763539286433 0.29747468986797759305 21.37154433932160913 +209.20331717962355356 22.663460638340339415 243.0475686976612053 +TestParticle +1.3767605238800932899 0.16005520292207792155 6.1854407103408437507 +301.0924331535983356 324.9040368073589775 194.17256664039328484 +TestParticle +1.2487797979186712194 0.16488755850697139893 27.605925256805747381 +173.22312758245544728 239.01695963206066153 175.97057379774636843 +TestParticle +1.2254722592225348876 0.36803675574552041638 17.169692704564543106 +198.47031096951334916 278.36167082537872375 125.492714298233096315 +TestParticle +1.6464965033862297705 0.1517233377674910566 13.532163365202411143 +147.08019388518567894 177.40254091222027455 340.04568453953692142 +TestParticle +1.2241673144222895431 0.1378443050280294957 35.034429639418924296 +279.5154571951889011 236.88366494050367805 224.20218590463449004 +TestParticle +1.7054405098540872388 0.3610118405579151868 11.466405393735001894 +354.5918155292421261 347.1596768668937898 219.93975816420154956 +TestParticle +1.7400094098497860262 0.11768201787113397039 3.0207223829180174235 +344.79550555000747636 295.17286383856117027 107.65817940211057646 +TestParticle +1.4518563888365596526 0.034369934761878086216 5.703231914559241389 +123.995036213356954136 112.321809800044363215 96.308678475290903975 +TestParticle +1.2222379634093671896 0.14278765376770935491 35.361595327244465636 +315.14729198154049072 321.37175810105372875 262.59992588280709924 +TestParticle +1.2388409450815878188 0.29191544705043231955 14.574148472908646568 +354.52890314367516567 301.2116870378684439 101.6607227628783221 +TestParticle +1.2004854536116522645 0.31759418786438237126 35.64893550976294989 +150.1713542262849046 263.81583006909363576 352.70617164487305217 +TestParticle +1.9942890442362894987 0.19536136516905414084 35.02451517807598691 +125.959361711604387324 266.3424034858336995 225.8398826035477498 +TestParticle +1.5915447637460526931 0.0895260552791858899 24.02901618574255238 +322.40268348510250007 115.71588659763698104 232.13880147735969217 +TestParticle +1.8790673483459361393 0.17433764017862168894 13.878215826572342095 +302.39495868122469346 259.03939837677381774 176.29569985086394013 +TestParticle +1.9699962554990502195 0.38438649317544010264 36.886012906803621547 +71.57770428256088735 76.46325818263683516 152.99488881347215852 +TestParticle +1.9815372834826587845 0.17262153411198999375 2.83353778898145503 +239.37167896200179484 354.1664112035709877 298.12866718881934958 +TestParticle +1.8155595191765212526 0.00946228278143057544 38.64106328673518931 +83.00268912398927057 67.39652732514183242 195.80213873516331091 +TestParticle +1.8868581896910789908 0.10440835820682173307 15.007174114646065988 +3.363490125056509683 163.21113577536885941 277.4874262071848534 +TestParticle +1.5619200947925855338 0.0059432103700412857936 28.417160713316764742 +199.61588156187738718 146.61610611302111806 239.63331133984317489 +TestParticle +1.5212478213877396183 0.39927753429172280208 20.482036387314252579 +328.51885419136107203 7.1256709736876455707 220.89114467811927511 +TestParticle +1.8571870020289564795 0.091291230530104086616 5.8118062401183578913 +90.75198382995706936 192.24228564818409382 97.133874093047666065 +TestParticle +1.9171289936627273764 0.15261088480197210204 38.10675746822411014 +307.07749448841616413 355.13520879558041088 42.711583491490678455 +TestParticle +1.7364144307839262105 0.212129283201967056 18.744823342299753222 +23.928680492317099038 37.437700592246308418 64.10777424122947821 +TestParticle +1.615801582218067356 0.15507189040762445198 5.289237911360147315 +2.9760090649453463385 170.77756092233224194 126.74171547116436898 +TestParticle +1.3071905708698117188 0.34127930871062794882 17.996264880013068677 +181.87012353589301483 211.32152679731703415 284.19737442691894103 +TestParticle +1.2265401930807908748 0.25798059801133454982 34.025699672304931198 +87.484085061199664324 233.26336671618474838 310.39211945198593412 +TestParticle +1.2051260378681512009 0.3069049294618042545 37.351493484362229935 +114.521127203859620636 225.6531083956228656 323.1220799515929798 +TestParticle +1.8334732437656884318 0.37979115889431414033 14.226342594064389502 +331.7883640504541063 109.06927231695421199 144.65450510058425948 +TestParticle +1.757300956926634683 0.03414936250768385584 23.912004140762192606 +322.3724083824729405 134.91275424426311247 171.32647169967813738 +TestParticle +1.8972253261023601656 0.35656552318718498507 28.47629514891832514 +321.29937216619140372 70.71608626545858556 213.57910706058532924 +TestParticle +1.9917616839747163127 0.32376104104249381344 8.91181936527569718 +200.88415597368361887 23.513470382909822831 100.72835347725671795 +TestParticle +1.6165777777920147251 0.32043762073249004718 16.726392824188689445 +319.72153811597894446 76.78830327849077264 138.42254101919101572 +TestParticle +1.8908331674281746437 0.045197492899151252288 1.3383682043347544521 +312.10875470237436957 307.494732749847401 43.074246036675127414 +TestParticle +1.2145287335503922588 0.18257617394552527745 31.629727041908243024 +3.7714421582542145828 327.9557064611080932 329.9790680610109348 +TestParticle +1.8625485962061800738 0.24850308301344462003 2.0061095060140976543 +276.90239618431269264 350.88215248164351578 348.2932770314767481 +TestParticle +1.7953658240966166026 0.23860504712104810277 30.564301023692120651 +268.6736542028508552 254.54176920249031468 269.62615941325310587 +TestParticle +1.8519636256102920413 0.13630536382454808142 25.429742406638986552 +78.06201903944463538 183.89412111638756642 25.670444097748280399 +TestParticle +1.9912586036233026476 0.0062934836627138949355 3.9866901191125192483 +353.92558378078365422 121.86076402069599567 272.13181013382109086 +TestParticle +1.2352461280314077641 0.13108872108404742707 2.4473753819670784893 +223.0667681463768588 134.42147854096177184 161.85468044136672461 +TestParticle +1.3431819133091436047 0.28681705477285673878 22.82513974594832007 +232.7183120134940566 120.199688171678360504 89.77367022064561297 +TestParticle +1.8403545873570172908 0.24879279733973019839 4.0287923881425502515 +15.018525270146003692 85.179302481017629134 62.783331763645470858 +TestParticle +1.381867054141263651 0.041622600218831219687 20.582798332241445394 +16.94221565894110526 117.67293863884100347 301.82514806956680786 +TestParticle +1.8641683600359446604 0.24640721081737218534 5.9107924107914655565 +193.20103651885807494 44.2323469313580091 26.743437036080784708 +TestParticle +1.966054790276180464 0.2690464178872462031 14.878455955491389773 +190.60763663869553852 31.588470897177995056 100.366806653161106055 +TestParticle +1.6058040413293108717 0.29951736276665757996 32.261171438174280013 +128.57574732488706104 32.785220122308132318 5.815690987139072732 +TestParticle +1.6218958057245982385 0.20051601410731448305 35.228407716619500434 +275.05072744657877593 300.36353903970075407 137.58872709072204543 +TestParticle +1.9766063717976680714 0.39029116187457174592 35.936563690886423217 +276.4677919812604614 334.4193480382128314 74.17428380404710708 +TestParticle +1.4924898153539933876 0.12959279079593266637 39.497773315041648345 +306.13052013355064673 297.98869981653200512 134.11781736074624405 +TestParticle +1.8353633188339963933 0.019510947086492525654 35.474352018859882207 +260.37806171878622763 151.50200809864463736 309.73656114784841975 +TestParticle +1.6024488136145134121 0.027272421536337843745 28.531535673798313013 +11.154644928392061232 313.60248630627489774 220.0912732804740699 +TestParticle +1.4120513432815475774 0.29969768596351453738 17.02938110092897972 +269.20328072337844105 42.08893931076963213 126.58679602124011865 +TestParticle +1.7381168022087705172 0.29181610891675680008 0.578376627518526476 +102.38820556898792802 176.55332025897169501 164.93491360823296077 +TestParticle +1.651697945678905155 0.10215579780054198644 29.466376982324295142 +118.66030632495935038 355.77634853151920424 138.86820482744579408 +TestParticle +1.8964095997568284346 0.14855799694311630499 39.315092089557069244 +66.7203702634703717 109.12901978076088483 150.07738642659984407 +TestParticle +1.5884778821144036609 0.34804404474317385265 8.230716828452404599 +238.65003666711348274 19.561503330036060788 172.3300970659766449 +TestParticle +1.4852533118509871901 0.14921150930008680868 19.72836045372870828 +214.04378603222667721 162.09311096493223658 74.70412564882457218 +TestParticle +1.3995786109265431207 0.2170751900351963748 5.6353499706781517986 +136.77890520256397622 41.74190372493747958 352.76491235469808316 +TestParticle +1.9228837399064100389 0.20666458127164555325 31.918474396874408683 +25.57157805855647581 146.61033704579944015 124.85803020390667939 +TestParticle +1.5491200767868975596 0.37703244317878858993 5.088593545490081027 +38.820500192778638393 121.37946795513649079 24.303500272632902579 +TestParticle +1.6942853977776144436 0.090260172320617615416 25.30769952267446854 +161.30886094388631591 116.98046667590497805 38.286029141363265182 +TestParticle +1.6090251866675413517 0.330322662148613444 9.770748848728519675 +263.0814719840412863 130.26024091675910199 286.9327501208536546 +TestParticle +1.9761336997553433648 0.2926123710566602143 11.274914096097191418 +332.1701813530870595 307.94382558508260672 353.807211256272808 +TestParticle +1.9968906969927759931 0.3233230682542853618 26.00314542561351061 +79.80693890771757992 308.2283099476609891 243.34005704939397674 +TestParticle +1.8031947344086236562 0.14995127116151910074 1.730342239053141995 +348.6351290160268377 154.3487630625562872 28.463371915640660603 +TestParticle +1.8395166633814701296 0.3354540599588180516 22.093131712634573205 +86.610640388957989444 239.4548535151652402 312.24619268529380633 +TestParticle +1.3629305527230259898 0.2099232743767838194 30.216497531918712127 +102.43196923936434928 291.32106047341460453 2.1370626980559981334 +TestParticle +1.7455726368986721475 0.026854653926422458743 3.5759919284920771432 +354.23018906949636175 218.20031690429203763 328.7114242710409826 +TestParticle +1.8154807930100198554 0.38785895954054117052 30.190244155261783732 +84.158791911543673336 145.33493614486761203 216.44848876198116727 +TestParticle +1.6499702946012431148 0.38233820338992924315 13.614607279413908358 +33.87451574095803153 90.770300669062208954 180.38849672518907141 +TestParticle +1.607515534627930176 0.059816004314718410062 35.188867073591850954 +58.61309722228839547 253.79649442362003242 91.30583916434224534 +TestParticle +1.9899983350379286673 0.30667218968608733753 39.83983478820580615 +209.92012615445401025 242.81573248914770602 7.221381167673248669 +TestParticle +1.5778501251334575706 0.11118331397677137795 37.590979480700937643 +345.16243909883007746 9.645072368649788785 50.426633047687808187 +TestParticle +1.8837383001263663385 0.20673789324487820696 21.972954461156501083 +78.99100998693006659 24.805859834858065227 136.69965104577451598 +TestParticle +1.8299552552499931402 0.18024309648678646378 33.71418287836082328 +287.1584786318022111 76.47733005592756683 216.63675723929046057 +TestParticle +1.8307526657330810416 0.27679256938591745296 14.42019596286409211 +147.28115682985833246 236.20842913390856666 70.36203841533576053 +TestParticle +1.7619978997528076281 0.014257923627121950327 18.454020582426768016 +275.7628626446463045 152.24331061485040095 103.04339508992384822 +TestParticle +1.2611641121223651218 0.2092199031608525106 17.779518579686019564 +102.7504319389703511 6.548313747168017507 140.31125376249352144 +TestParticle +1.7663975820756958601 0.25859601590736014387 19.29766354922654159 +228.43411110252168328 129.52408847472079856 44.31277736443019677 +TestParticle +1.3455298896696588073 0.051640741433284009787 36.190409530870716992 +63.492703118667094486 178.32472671129730202 219.22272979662204762 +TestParticle +1.8502619397752217978 0.016055258128672856427 24.72292322260771158 +280.24156788062276746 1.0103622910431475646 89.91460784296667441 +TestParticle +1.7394822607661057923 0.13625236700994178274 8.773342269773106494 +131.40116141700701746 79.224373058834927974 282.8109557650995498 +TestParticle +1.6325195629104731765 0.16262358056449152666 8.946438635142083484 +196.95655091099223455 13.582007343579313385 258.10561033792743046 +TestParticle +1.7657479077259037314 0.21823895457628741945 26.194016006374575056 +307.4759621278849977 98.40357006941655982 64.08127327032266862 +TestParticle +1.3184659717472237972 0.20902078438144011674 11.194180638539418027 +209.8144125213535176 233.63319375255508703 171.85375675646986338 +TestParticle +1.6265974791221389228 0.3412246124964996019 31.920108006714791316 +47.471005836654683208 293.97130420183299293 294.00277926085681202 +TestParticle +1.544562457381803755 0.26456236803106419897 16.966290843319804083 +53.617851002077699718 23.906897211735604003 172.46215455198040445 +TestParticle +1.8302658298265410686 0.016558573352333152279 23.88277176507106958 +160.31985284355113208 24.957240748542652398 126.6630513998358083 +TestParticle +1.6333356556090419254 0.25338625439533907224 11.051395862722980468 +182.26698944663951352 1.9926145156870767039 206.81766326774084064 +TestParticle +1.2674061997735568408 0.09083958911004344494 16.414033820600888447 +209.7777498397578313 350.73333597951523188 247.44407246182404947 +TestParticle +1.400118114272113079 0.16683948053104513676 27.357400210939808005 +107.57418681944162131 96.46599300991492498 351.137614793950263 +TestParticle +1.542911801971112773 0.22704910395233757203 35.542775761322914718 +183.89056710921508397 326.93869125935344755 108.004775809479497184 +TestParticle +1.8076126800363871983 0.3514591336111956288 31.06364189291468847 +32.09942049648420692 328.34181095498098557 23.785841162187210784 +TestParticle +1.7657364621109161718 0.22171357606490707526 37.37986273837123008 +76.229451450918475075 186.15095789038804241 272.82850857627113328 +TestParticle +1.5339591135633763308 0.14194102156165430695 16.888317976342129612 +130.44976850069960506 252.36020783978619875 120.456187175611859175 +TestParticle +1.9547780848567972711 0.20899592311387996113 28.868044731219395516 +228.48529363010104021 342.5481929867736426 287.9707078087696459 +TestParticle +1.2418423098941544502 0.2626072565929837288 2.1074243271891202056 +38.080338719023941962 119.27817821310316049 12.056891938029119515 +TestParticle +1.2210546528534078625 0.3775561742151631872 22.111051712315155982 +338.55211294801040367 12.980519500186410653 332.2853401701941607 +TestParticle +1.5963937431999124517 0.23239324239635986147 13.194381854516867847 +58.007673822576016676 88.15306827351753327 155.81366075873469867 +TestParticle +1.5786275082915319778 0.025562551186680871479 4.998454237047265103 +250.39244849302215812 165.61747690949906087 149.37807874408460407 +TestParticle +1.6098684422151645634 0.21941479472017652586 38.283886043658093 +237.71100658433758213 47.01387761056833625 340.9146849041053997 +TestParticle +1.294274143429140933 0.3692138815235402327 37.966030890732696434 +203.45477640609851733 296.29180039237496658 44.323085276308532343 +TestParticle +1.5889819356899443914 0.084869830381732264124 1.0823445911213003257 +301.3291216497269147 146.81272157061789585 2.2993592847625343722 +TestParticle +1.495972566018333838 0.2617122471497527747 13.094048981160977263 +112.72021003020111607 127.77611875010921949 296.87288781423353612 +TestParticle +1.9818950278621338956 0.30723187525460954328 2.2340086246482782073 +253.14761844363803789 165.37409022827591798 191.3408807414710111 +TestParticle +1.7869956116636900312 0.045787597413756889186 8.90426427671208387 +227.8168631112827427 149.58799389390406986 24.858909708161100127 +TestParticle +1.9448897771198014883 0.05694944930378804948 36.311102677736613487 +84.3756745725393813 14.735521995724774058 314.16923571788140634 +TestParticle +1.5778886440600849994 0.054612245238724765883 16.72994958727242576 +293.0541083071825028 260.48271034952341552 308.15802194547808313 +TestParticle +1.3022587146281570103 0.26839233124203137892 18.02838057643581493 +293.20763835009915965 312.4703557364094877 106.58503108046902241 +TestParticle +1.8428500612922003032 0.23594727253001890332 11.315478566151577766 +9.262284156503813648 11.174441070760416039 331.91331034768620611 +TestParticle +1.2400313949450130213 0.37422492957960290516 16.60903446615966672 +240.33042266148279964 153.97322107823731585 191.41559045744850209 +TestParticle +1.9829274684920319416 0.3634611481375451536 25.819601695264427832 +140.99742244780588862 341.49734482956387183 8.731842495851447339 +TestParticle +1.9975413987753882772 0.06592938413948253029 39.49276861893206103 +67.714562888696974596 98.14914061512281762 45.19626721853934015 +TestParticle +1.2436383625451867818 0.3204615517738288455 26.461603913930925813 +266.5125426106603186 127.50909218237357834 0.3132830361456928614 +TestParticle +1.4113215699552892346 0.009827894395237192146 37.858626352737367426 +253.23691224458718807 108.52674294880429784 352.47828245113328194 +TestParticle +1.8148473149676069838 0.017705697189401049807 27.03434752366788274 +244.97100671505916125 96.848173936006702434 232.97923224763914618 +TestParticle +1.8212512693609279602 0.27211932176121911287 4.7578666520375545446 +347.57353058021692505 254.19838041200335965 6.6604121361125034895 +TestParticle +1.6430443076417013959 0.042365150738876616865 28.313700526240026534 +178.6338948507659552 287.94750707892865194 146.775946581025039 +TestParticle +1.2047662238103988841 0.23251833898522478172 17.70944339203029827 +282.07165060128687628 43.193800331112015556 189.58232124886598058 +TestParticle +1.2467705317577537638 0.29356902400030004952 2.8706191725519047964 +242.4004033144470327 28.806681869090574821 296.21360336099968436 +TestParticle +1.3162696178512978129 0.30749173225083181737 9.346008763094072691 +322.38053647407821245 112.34526406313270286 132.09084683753127365 +TestParticle +1.2971409174950825349 0.3376994788613812415 24.652899562822732094 +299.7803539105363484 271.40817959188655095 266.8572235615602608 +TestParticle +1.7684747977650516759 0.02661749740193952718 10.096507324045376208 +3.7221406213358587678 125.36494422546940086 238.11022628505401144 +TestParticle +1.8562458518793771844 0.077017667000931988586 8.7143363020037831745 +136.69548804548151111 320.94977656886021578 128.10172157330882214 +TestParticle +1.5044816034257817439 0.21762930629061374987 27.505997823490588416 +123.58136898241176027 187.9229325893226985 113.043904522795230605 +TestParticle +1.7868133877825629341 0.008087932404090647162 23.413784625415864582 +218.89711766597091014 88.56442540385896223 208.43834176513581724 +TestParticle +1.9402143213090712326 0.14949494785208861103 26.511808095563488052 +107.604663311176523166 130.69889435502176411 346.87469017336604793 +TestParticle +1.5966683044291980487 0.087101617604941061757 35.919427778579809285 +212.8714684966646189 289.47277777746671745 150.30140968266374557 +TestParticle +1.5311077130660335488 0.006686025386596972271 2.6738949911861054076 +164.51009812173990099 316.04513748492058767 258.44750388729431734 +TestParticle +1.327174430660648996 0.16386649979480424899 29.516591637239059764 +42.47034129892313814 297.69030488053482486 179.48650722792217493 +TestParticle +1.3309285665414212207 0.31056216374123679635 33.20416058697580297 +182.12327311281021025 179.4712707903883313 47.404071121072391293 +TestParticle +1.2695626979113197041 0.028739588397623319627 34.7510196296938787 +156.66911337647667324 15.489917584647256987 137.9360720619328049 +TestParticle +1.961564416777008768 0.38198101311209609054 20.407128195470789933 +116.450533784431996764 317.3401517067230202 183.14633665136960872 +TestParticle +1.5940513845582582331 0.25613384894831064953 29.533539385317940429 +118.85654306899444066 250.92868906503659332 22.448371873007765487 +TestParticle +1.8442908242187292522 0.19455300058304564326 38.64468812151265098 +327.51192512776293597 261.15575066638751878 220.98151223015130995 +TestParticle +1.9551136736888132805 0.05881060116092867024 0.025983316883650964257 +229.51441899139550173 217.59860795663826138 108.775137355673251705 +TestParticle +1.3586578999851930405 0.34983150673028151623 31.522812174550345787 +105.68138198042714748 123.58623362447058014 40.330126317320825535 +TestParticle +1.902888826244875764 0.13683561730200419215 16.275257623666469442 +105.98161437435868493 148.2954616585051042 301.45848496238744474 +TestParticle +1.4388714351119729074 0.12902603848379340379 21.287394563627660915 +197.02123109899764586 352.44807359808243064 351.33034912544712824 +TestParticle +1.6931112006676685144 0.013916379702603532201 0.7871365555378062595 +188.64764325380838272 181.38199447667832942 29.813972851285797105 +TestParticle +1.6449616174898105125 0.0310490777007133463 9.657476944838542465 +333.95122687579464582 342.1511167418379955 160.69927097810261785 +TestParticle +1.432310913839848876 0.006987746683723328363 32.61241995358341228 +207.28809337462874396 169.31652720575732474 255.68956575096319739 +TestParticle +1.7327468488118134005 0.03857017036911090241 17.468015575192744393 +143.82903277012908916 99.60548209763706495 166.68173997089294858 +TestParticle +1.5512315858530165702 0.17035757433763087931 28.229428870918749084 +211.42236583345217582 136.37631347760083145 126.78807511085641124 +TestParticle +1.5128716646861577466 0.25892751799964647264 10.396770119409808331 +251.02700694813202631 225.21225462676682127 190.02303419914397864 +TestParticle +1.3509296764855895923 0.19460583033279599263 25.473407765343523579 +153.07999025709941066 160.34541100643662048 39.661129674485906094 +TestParticle +1.6995982689149604639 0.3683946534553529384 13.407331577384432819 +340.26004127001408506 272.0620153240722061 254.6289696923701058 +TestParticle +1.4262589721598459835 0.39380044551624404647 22.273999686412832233 +126.6676609334621304 343.6417878124360641 356.69746962842407356 +TestParticle +1.3261721625529891977 0.39678878113200655164 4.2056417606931040254 +238.10434769519417841 155.06469638647084253 44.875703119243368633 +TestParticle +1.9576977154420573957 0.26084185228864192885 4.55948470669549355 +190.48438127706978662 33.209683105017965943 111.270270586090106235 +TestParticle +1.8552016088932457016 0.13548857795579999364 39.778098090381654117 +36.82048012699509343 277.63542496441021967 284.2017295471840157 +TestParticle +1.6904488396185337606 0.10545628795963413182 32.08178306599211993 +75.246216623590498784 230.69409080017558722 202.52540071832260082 +TestParticle +1.8262524413841534354 0.33415074562628183097 12.176323543258451565 +135.12569593248673527 273.69848190668875532 306.5447498396289916 diff --git a/examples/symba_swifter_comparison/1pl_1pl_collision/param.swiftest.in b/examples/symba_swifter_comparison/1pl_1pl_collision/param.swiftest.in new file mode 100644 index 000000000..879746295 --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1pl_collision/param.swiftest.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 1.0 +DT 0.005 +ISTEP_OUT 200000 +ISTEP_DUMP 200000 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN pl.swiftest.in +TP_IN tp.swiftest.in +CB_IN sun_MsunAUYR.in +BIN_OUT 1pl_1pl_enc.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.988409870698051e+30 +TU2S 31557600.0 +DU2M 149597870700.0 +IN_FORM EL +EXTRA_FORCE NO +PARTICLE_OUT 1pl_1pl_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION YES +TIDES NO +ENERGY YES +GR YES +INTERACTION_LOOPS TRIANGULAR +ENCOUNTER_CHECK TRIANGULAR +ENERGY_OUT 1pl_1pl_energy.dat +GMTINY 1e-26 diff --git a/examples/symba_swifter_comparison/1pl_1pl_collision/pl.swiftest.in b/examples/symba_swifter_comparison/1pl_1pl_collision/pl.swiftest.in new file mode 100644 index 000000000..07f149a7b --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1pl_collision/pl.swiftest.in @@ -0,0 +1,13 @@ +2 +Mercury 6.553709809565314146e-06 0.0014751274547839194341 +1.6306381826061645943e-05 +0.38710350131956905 0.20558985105084426 7.0037441475892 +48.302109425370055 29.181335754822598 286.2251596331737 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 +Planet 6.553709809565314146e-26 3.1781030349897803e-10 +1.6306381826061643e-65 +0.38710350131956905 0.20558985105084426 7.0037441475892 +48.302119425370055 29.181335754822598 286.2251596331737 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 diff --git a/examples/symba_swifter_comparison/1pl_1pl_collision/sun_MsunAUYR.in b/examples/symba_swifter_comparison/1pl_1pl_collision/sun_MsunAUYR.in new file mode 100644 index 000000000..b2cb85c35 --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1pl_collision/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.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_swifter_comparison/1pl_1pl_collision/tp.swiftest.in b/examples/symba_swifter_comparison/1pl_1pl_collision/tp.swiftest.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1pl_collision/tp.swiftest.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_swifter_comparison/1pl_1tp_collision/param.swiftest.in b/examples/symba_swifter_comparison/1pl_1tp_collision/param.swiftest.in new file mode 100644 index 000000000..a1e9e3d0a --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1tp_collision/param.swiftest.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 1.0 +DT 0.005 +ISTEP_OUT 1 +ISTEP_DUMP 1 +OUT_FORM XVEL +OUT_TYPE NETCDF_DOUBLE +OUT_STAT REPLACE +IN_TYPE ASCII +PL_IN pl.swiftest.in +TP_IN tp.swiftest.in +CB_IN sun_MsunAUYR.in +BIN_OUT 1pl_1tp_enc.nc +CHK_QMIN -1.0 +CHK_RMIN -1.0 +CHK_RMAX 1000.0 +CHK_EJECT 1000.0 +CHK_QMIN_COORD HELIO +CHK_QMIN_RANGE -1.0 -1.0 +MU2KG 1.988409870698051e+30 +TU2S 31557600.0 +DU2M 149597870700.0 +IN_FORM EL +EXTRA_FORCE NO +PARTICLE_OUT 1pl_1tp_particle.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION YES +TIDES NO +ENERGY YES +GR YES +INTERACTION_LOOPS TRIANGULAR +ENCOUNTER_CHECK TRIANGULAR +ENERGY_OUT 1pl_1tp_energy.dat +GMTINY 3.6460981419534435e-08 diff --git a/examples/symba_swifter_comparison/1pl_1tp_collision/pl.swiftest.in b/examples/symba_swifter_comparison/1pl_1tp_collision/pl.swiftest.in new file mode 100644 index 000000000..08e5b2d23 --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1tp_collision/pl.swiftest.in @@ -0,0 +1,7 @@ +1 +Mercury 6.553709809565314146e-06 0.0014751274547839194341 +1.6306381826061645943e-05 +0.38710350131956905 0.20558985105084426 7.0037441475892 +48.302109425370055 29.181335754822598 286.2251596331737 +0.4000000000000000222 0.4000000000000000222 0.4000000000000000222 +0.0 0.0 0.0 diff --git a/examples/symba_swifter_comparison/1pl_1tp_collision/sun_MsunAUYR.in b/examples/symba_swifter_comparison/1pl_1tp_collision/sun_MsunAUYR.in new file mode 100644 index 000000000..b2cb85c35 --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1tp_collision/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.209306302144773 -38.759372036774764 82.25088158389266 diff --git a/examples/symba_swifter_comparison/1pl_1tp_collision/tp.swiftest.in b/examples/symba_swifter_comparison/1pl_1tp_collision/tp.swiftest.in new file mode 100644 index 000000000..2d110f0b6 --- /dev/null +++ b/examples/symba_swifter_comparison/1pl_1tp_collision/tp.swiftest.in @@ -0,0 +1,4 @@ +1 +Test_Particle +0.38710350131956905 0.20558985105084426 7.0037441475892 +48.402109425370054 29.181335754822598 286.2251596331737 diff --git a/examples/symba_swifter_comparison/8pl/cb.in b/examples/symba_swifter_comparison/8pl/cb.in new file mode 100644 index 000000000..e3318aec0 --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/cb.in @@ -0,0 +1,5 @@ +Sun +0.00029591220819207774 +0.004650467260962157 +0.0 +0.0 diff --git a/examples/symba_swifter_comparison/8pl/cb.swiftest.in b/examples/symba_swifter_comparison/8pl/cb.swiftest.in new file mode 100644 index 000000000..e3318aec0 --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/cb.swiftest.in @@ -0,0 +1,5 @@ +Sun +0.00029591220819207774 +0.004650467260962157 +0.0 +0.0 diff --git a/examples/symba_swifter_comparison/8pl/init_cond.py b/examples/symba_swifter_comparison/8pl/init_cond.py new file mode 100755 index 000000000..23b65080f --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/init_cond.py @@ -0,0 +1,145 @@ +#!/usr/bin/env python3 +import numpy as np +import swiftest +import swiftest.io as swio +import astropy.constants as const +import sys +import xarray as xr + +# Both codes use the same tp input file +tpin = "tp.in" + +swifter_input = "param.swifter.in" +swifter_pl = "pl.swifter.in" +swifter_tp = "tp.swifter.in" +swifter_bin = "bin.swifter.dat" +swifter_enc = "enc.swifter.dat" + +swiftest_input = "param.swiftest.in" +swiftest_pl = "pl.swiftest.in" +swiftest_tp = "tp.swiftest.in" +swiftest_cb = "cb.swiftest.in" +swiftest_bin = "bin.swiftest.nc" +swiftest_enc = "enc.swiftest.dat" +swiftest_dis = "discard.swiftest.dat" + +sim = swiftest.Simulation() + +sim.param['T0'] = 0.0 +sim.param['DT'] = 1.0 +sim.param['TSTOP'] = 365.25e1 +sim.param['ISTEP_OUT'] = 10 +sim.param['ISTEP_DUMP'] = 10 +sim.param['CHK_QMIN_COORD'] = "HELIO" +sim.param['CHK_QMIN'] = swiftest.RSun / swiftest.AU2M +sim.param['CHK_QMIN_RANGE'] = f"{swiftest.RSun / swiftest.AU2M} 1000.0" +sim.param['CHK_RMIN'] = swiftest.RSun / swiftest.AU2M +sim.param['CHK_RMAX'] = 1000.0 +sim.param['CHK_EJECT'] = 1000.0 +sim.param['OUT_STAT'] = "UNKNOWN" +sim.param['GR'] = 'NO' +sim.param['CHK_CLOSE'] = 'YES' +sim.param['RHILL_PRESENT'] = 'YES' +sim.param['GMTINY'] = 1.0e-12 +sim.param['IN_FORM'] = 'XV' + +sim.param['MU2KG'] = swiftest.MSun +sim.param['TU2S'] = swiftest.JD2S +sim.param['DU2M'] = swiftest.AU2M + +bodyid = { + "Sun": 0, + "Mercury": 1, + "Venus": 2, + "Earth": 3, + "Mars": 4, + "Jupiter": 5, + "Saturn": 6, + "Uranus": 7, + "Neptune": 8, +} + +for name, id in bodyid.items(): + sim.add(name, idval=id) + +ds = sim.ds +cb = ds.sel(id=0) +pl = ds.where(ds.id > 0, drop=True) +npl = pl.id.size + +ntp = 16 +dims = ['time', 'id', 'vec'] +tp = [] +t = np.array([0.0]) +sim.param['OUT_FORM'] = "XV" +clab, plab, tlab = swio.make_swiftest_labels(sim.param) + +# For each planet, we will initialize a pair of test particles. One on its way in, and one on its way out. We will also initialize two additional particles that don't encounter anything +tpidlist = np.arange(9,9+ntp) +tpnames = [] +for i in tpidlist: + tpnames.append(f"SmallBody{i+1:0.4g}") +tpxv1 = np.empty((6)) +tpxv2 = np.empty((6)) + +p1 = [] +p2 = [] +p3 = [] +p4 = [] +p5 = [] +p6 = [] + +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['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['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]) + p1.append(tpxv2[0]) + p2.append(tpxv1[1]) + p2.append(tpxv2[1]) + p3.append(tpxv1[2]) + p3.append(tpxv2[2]) + p4.append(tpxv1[3]) + p4.append(tpxv2[3]) + p5.append(tpxv1[4]) + p5.append(tpxv2[4]) + p6.append(tpxv1[5]) + p6.append(tpxv2[5]) + + +tvec = np.vstack([p1, p2, p3, p4, p5, p6]) +tpframe = np.expand_dims(tvec.T, axis=0) +tpxr = xr.DataArray(tpframe, dims = dims, coords = {'time' : t, 'id' : tpidlist, 'vec' : tlab}) +tpxr = tpxr.assign_coords(name=('id', tpnames)) + +tp = [tpxr] +tpda = xr.concat(tp,dim='time') +tpds = tpda.to_dataset(dim = 'vec') + +sim.ds = xr.combine_by_coords([sim.ds, tpds]) +swio.swiftest_xr2infile(sim.ds, sim.param) + +sim.param['PL_IN'] = swiftest_pl +sim.param['TP_IN'] = swiftest_tp +sim.param['CB_IN'] = swiftest_cb +sim.param['BIN_OUT'] = swiftest_bin +sim.param['ENC_OUT'] = swiftest_enc +sim.param['DISCARD_OUT'] = swiftest_dis +sim.save(swiftest_input) + +sim.param['PL_IN'] = swifter_pl +sim.param['TP_IN'] = swifter_tp +sim.param['BIN_OUT'] = swifter_bin +sim.param['ENC_OUT'] = swifter_enc +sim.param['OUT_TYPE'] = "REAL8" +sim.save(swifter_input, codename="Swifter") diff --git a/examples/symba_swifter_comparison/8pl/param.swifter.in b/examples/symba_swifter_comparison/8pl/param.swifter.in new file mode 100644 index 000000000..177630caf --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/param.swifter.in @@ -0,0 +1,26 @@ +! VERSION Swifter parameter file converted from Swiftest +T0 0.0 +TSTOP 365 +DT 1.0 +ISTEP_OUT 1 +ISTEP_DUMP 1 +OUT_FORM XV +OUT_TYPE REAL8 +OUT_STAT UNKNOWN +IN_TYPE ASCII +PL_IN pl.swifter.in +TP_IN tp.swifter.in +BIN_OUT bin.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 YES +J2 4.7535806948127355e-12 +J4 -2.2473967953572827e-18 diff --git a/examples/symba_swifter_comparison/8pl/param.swiftest.in b/examples/symba_swifter_comparison/8pl/param.swiftest.in new file mode 100644 index 000000000..7f4d21c9b --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/param.swiftest.in @@ -0,0 +1,38 @@ +! VERSION Swiftest parameter input +T0 0.0 +TSTOP 365 +DT 1.0 +ISTEP_OUT 1 +ISTEP_DUMP 100 +OUT_FORM XV +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.nc +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 +DU2M 149597870700.0 +IN_FORM XV +ENC_OUT enc.swiftest.dat +EXTRA_FORCE NO +DISCARD_OUT discard.swiftest.dat +BIG_DISCARD NO +CHK_CLOSE YES +RHILL_PRESENT YES +FRAGMENTATION NO +ROTATION NO +TIDES NO +ENERGY NO +GR YES +GMTINY 1e-12 +ENCOUNTER_CHECK TRIANGULAR +INTERACTION_LOOPS TRIANGULAR diff --git a/examples/symba_swifter_comparison/8pl/pl.in b/examples/symba_swifter_comparison/8pl/pl.in new file mode 100644 index 000000000..574290966 --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/pl.in @@ -0,0 +1,33 @@ +8 +Mercury 4.9125474498983623693e-11 0.0014751322421091943544 +1.6306381826061645943e-05 +0.2386666776623860009 -0.35641151623302969043 -0.05101731016108843747 +0.017764175111075249797 0.017029962919661641163 -0.00023782836795535061019 +Venus 7.243452483873646905e-10 0.0067590994376241490576 +4.0453784346544178454e-05 +0.2990753407779592199 -0.6632100042621156266 -0.026360212624545961008 +0.018302016936885410342 0.008245710698089018728 -0.00094295400489744841174 +Earth 8.9970113821660187435e-10 0.010044890881522152024 +4.25875607065040958e-05 +1.0036256535410339463 -0.01896165200005213089 -2.8417417483764697977e-06 +4.5405883021213687997e-05 0.017136881726258899883 -8.2401921935443904624e-07 +Mars 9.549535102761465607e-11 0.0072464600218361159065 +2.265740805092889601e-05 +-1.6269997788049339604 -0.21390234390978191126 0.03542716286161200212 +0.0023442654831218119778 -0.012678934386626589462 -0.00032322307543280830687 +Jupiter 2.825345908631354893e-07 0.35527050568877215555 +0.00046732617030490929307 +4.337786461883050393 -2.5177577989629078559 -0.08659310309181492138 +0.003701702275184468819 0.00688886526378316294 -0.000111430767468823893455 +Saturn 8.459715183006415395e-08 0.43766614553930262567 +0.00038925687730393611812 +6.5790524733447179884 -7.4503769195907869616 -0.13229534767175391008 +0.0038755970018745189258 0.0036872503470294919377 -0.00021829651897950920047 +Uranus 1.2920249163736673626e-08 0.4697430994852798912 +0.00016953449859497231466 +14.66889989083050061 13.203872414598899709 -0.14103421509241859111 +-0.0026568764662203521107 0.0027468710922308441774 4.4479242436019731115e-05 +Neptune 1.5243589003230834323e-08 0.7815248400937813483 +0.000164587904124493665 +29.589962576161859431 -4.4071843471850522533 -0.591227914742734173 +0.00044593775398081260874 0.0031315328653865699346 -7.4667609066900140504e-05 diff --git a/examples/symba_swifter_comparison/8pl/pl.swifter.in b/examples/symba_swifter_comparison/8pl/pl.swifter.in new file mode 100644 index 000000000..b4b8dfe4d --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/pl.swifter.in @@ -0,0 +1,36 @@ +9 +0 0.00029591220819207774 +0.0 0.0 0.0 +0.0 0.0 0.0 +1 4.9125474498983623693e-11 0.0014751322421091943544 +1.6306381826061645943e-05 +0.2386666776623860009 -0.35641151623302969043 -0.05101731016108843747 +0.017764175111075249797 0.017029962919661641163 -0.00023782836795535061019 +2 7.243452483873646905e-10 0.0067590994376241490576 +4.0453784346544178454e-05 +0.2990753407779592199 -0.6632100042621156266 -0.026360212624545961008 +0.018302016936885410342 0.008245710698089018728 -0.00094295400489744841174 +3 8.9970113821660187435e-10 0.010044890881522152024 +4.25875607065040958e-05 +1.0036256535410339463 -0.01896165200005213089 -2.8417417483764697977e-06 +4.5405883021213687997e-05 0.017136881726258899883 -8.2401921935443904624e-07 +4 9.549535102761465607e-11 0.0072464600218361159065 +2.265740805092889601e-05 +-1.6269997788049339604 -0.21390234390978191126 0.03542716286161200212 +0.0023442654831218119778 -0.012678934386626589462 -0.00032322307543280830687 +5 2.825345908631354893e-07 0.35527050568877215555 +0.00046732617030490929307 +4.337786461883050393 -2.5177577989629078559 -0.08659310309181492138 +0.003701702275184468819 0.00688886526378316294 -0.000111430767468823893455 +6 8.459715183006415395e-08 0.43766614553930262567 +0.00038925687730393611812 +6.5790524733447179884 -7.4503769195907869616 -0.13229534767175391008 +0.0038755970018745189258 0.0036872503470294919377 -0.00021829651897950920047 +7 1.2920249163736673626e-08 0.4697430994852798912 +0.00016953449859497231466 +14.66889989083050061 13.203872414598899709 -0.14103421509241859111 +-0.0026568764662203521107 0.0027468710922308441774 4.4479242436019731115e-05 +8 1.5243589003230834323e-08 0.7815248400937813483 +0.000164587904124493665 +29.589962576161859431 -4.4071843471850522533 -0.591227914742734173 +0.00044593775398081260874 0.0031315328653865699346 -7.4667609066900140504e-05 diff --git a/examples/symba_swifter_comparison/8pl/pl.swiftest.in b/examples/symba_swifter_comparison/8pl/pl.swiftest.in new file mode 100644 index 000000000..574290966 --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/pl.swiftest.in @@ -0,0 +1,33 @@ +8 +Mercury 4.9125474498983623693e-11 0.0014751322421091943544 +1.6306381826061645943e-05 +0.2386666776623860009 -0.35641151623302969043 -0.05101731016108843747 +0.017764175111075249797 0.017029962919661641163 -0.00023782836795535061019 +Venus 7.243452483873646905e-10 0.0067590994376241490576 +4.0453784346544178454e-05 +0.2990753407779592199 -0.6632100042621156266 -0.026360212624545961008 +0.018302016936885410342 0.008245710698089018728 -0.00094295400489744841174 +Earth 8.9970113821660187435e-10 0.010044890881522152024 +4.25875607065040958e-05 +1.0036256535410339463 -0.01896165200005213089 -2.8417417483764697977e-06 +4.5405883021213687997e-05 0.017136881726258899883 -8.2401921935443904624e-07 +Mars 9.549535102761465607e-11 0.0072464600218361159065 +2.265740805092889601e-05 +-1.6269997788049339604 -0.21390234390978191126 0.03542716286161200212 +0.0023442654831218119778 -0.012678934386626589462 -0.00032322307543280830687 +Jupiter 2.825345908631354893e-07 0.35527050568877215555 +0.00046732617030490929307 +4.337786461883050393 -2.5177577989629078559 -0.08659310309181492138 +0.003701702275184468819 0.00688886526378316294 -0.000111430767468823893455 +Saturn 8.459715183006415395e-08 0.43766614553930262567 +0.00038925687730393611812 +6.5790524733447179884 -7.4503769195907869616 -0.13229534767175391008 +0.0038755970018745189258 0.0036872503470294919377 -0.00021829651897950920047 +Uranus 1.2920249163736673626e-08 0.4697430994852798912 +0.00016953449859497231466 +14.66889989083050061 13.203872414598899709 -0.14103421509241859111 +-0.0026568764662203521107 0.0027468710922308441774 4.4479242436019731115e-05 +Neptune 1.5243589003230834323e-08 0.7815248400937813483 +0.000164587904124493665 +29.589962576161859431 -4.4071843471850522533 -0.591227914742734173 +0.00044593775398081260874 0.0031315328653865699346 -7.4667609066900140504e-05 diff --git a/examples/symba_swifter_comparison/8pl/swiftest_symba_vs_swifter_symba.ipynb b/examples/symba_swifter_comparison/8pl/swiftest_symba_vs_swifter_symba.ipynb new file mode 100644 index 000000000..92d5f3a5f --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/swiftest_symba_vs_swifter_symba.ipynb @@ -0,0 +1,617 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import swiftest\n", + "import numpy as np\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 3.650e+02\n", + "Creating Dataset\n", + "Successfully converted 366 output frames.\n", + "Swifter simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "inparfile = 'param.swifter.in'\n", + "swiftersim = swiftest.Simulation(param_file=inparfile, codename=\"Swifter\")\n", + "swiftersim.bin2xr()\n", + "swifterdat = swiftersim.ds" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reading Swiftest file param.swiftest.in\n", + "\n", + "Creating Dataset from NetCDF file\n", + "Successfully converted 366 output frames.\n", + "Swiftest simulation data stored as xarray DataSet .ds\n" + ] + } + ], + "source": [ + "inparfile = 'param.swiftest.in'\n", + "swiftestsim = swiftest.Simulation(param_file=inparfile)\n", + "swiftestsim.bin2xr()\n", + "swiftestdat = swiftestsim.ds" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "swiftdiff = swiftestdat - swifterdat" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "swiftdiff['rmag'] = np.sqrt(swiftdiff['xhx']**2 + swiftdiff['xhy']**2 + swiftdiff['xhz']**2)\n", + "swiftdiff['vmag'] = np.sqrt(swiftdiff['vhx']**2 + swiftdiff['vhy']**2 + swiftdiff['vhz']**2)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "plidx = swiftdiff.id.values[swiftdiff.id.values <= 8]\n", + "tpidx = swiftdiff.id.values[swiftdiff.id.values > 8]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'xhx' (id: 16)>\n",
+       "array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])\n",
+       "Coordinates:\n",
+       "  * id       (id) int64 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24\n",
+       "    time     float64 1.0
" + ], + "text/plain": [ + "\n", + "array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])\n", + "Coordinates:\n", + " * id (id) int64 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24\n", + " time float64 1.0" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "swiftdiff.sel(id=tpidx)['xhx'].isel(time=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "swiftdiff['rmag'].sel(id=plidx).plot.line(ax=ax, x=\"time\")\n", + "ax.set_ylabel(\"$|\\mathbf{r}_{swiftest} - \\mathbf{r}_{swifter}|$\")\n", + "ax.set_title(\"Heliocentric position differences \\n Planets only\")\n", + "fig.savefig(\"symba_swifter_comparison-8pl-16tp-planets-rmag.png\", facecolor='white', transparent=False, dpi=300)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAElCAYAAADnZln1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABMRklEQVR4nO3dd3gc1fXw8e9ZVVvVtuQiy5Lcm9wNpsVgg+kEDCShJhAShzRIIZ1fCOQNISGhJIQEJ3QIEAi9F5tQjDGyLRdsy1WSJcvqsnrbPe8fM2tkobre3dmV7ud5ZK92pxyNVmfv3LlzrqgqhmEYxsDncjoAwzAMIzhMwjcMwxgkTMI3DMMYJEzCNwzDGCRMwjcMwxgkTMI3DMMYJEzCH4RE5Dci8pj9OENE6kUkwum4eiIiXxCRvCDvU0Vk0lFu41MROcU/EX1u293+HkVklIi8JyJ1IvJnsTwoItUisi4Q8RihzyT8MCQi+SJyWqfnrhKRD/q7LVUtVNV4VXX7L8L+6UtiVdX3VXVqsGLyF1WdqarvwpEJOgD76fx7XAFUAImq+mPgJGAZkK6qxwYiBiP0mYRvhDwRiXQ6hjCUCWzTz+6szATyVbWhvxsyx3/gMAl/gBKRNBH5r4iUi8g+Ebmum+Wy7BZ2ZIf1XhSRKhHZLSLf7LBshIj8UkT22F0F60VknP3aNBF5y14vT0S+3GG9h0TkbyLyir3exyIy0X7tPXuxTXaXxFdE5BQRKRKRn4nIQeBB73MdtjlORJ61f75KEbmnm2PQJCLDOzw3T0QqRCTK/v7rIrLd7up4Q0QyuzlOSSLyiL2/AhG5UURcHV7/pr2dOhHZJiLz7efzReQ0ETkT+CXwFfvn3CQiXxKR9Z3282MReb6bGMaLyP/sfbwFpHT1exSRh4CvAT+19/Ut4F/A8fb3N9vrnCsiuSJSIyJrRGR2h+3l28d/M9Bgb/c4e7kaO/5TOiz/roj8VkQ+tON7U0Q6xndSh3X3i8hV9vMxIvInESkUkVIR+YeIDLFfSxGRl+11qkTk/Y7H3PCBqpqvMPsC8oHTOj13FfCB/dgFrAd+DUQDE4C9wBn2678BHrMfZwEKRNrf/w+4F4gF5gLlwKn2az8BtgBTAQHmACOAOGA/cDUQCczH6k6Yaa/3EFAFHGu//jjwZIfYFZjU4ftTgHbgD0AMMMR+rsh+PQLYBNxp7zsWOKmbY7UK+GaH728H/mE/vgDYDUy347oRWNNVXMAjwAtAgn3MdgLX2K99CSgGjrGPyyQgs/PvquNxt7+PsY/L9A7PbQQu6uZn+Qi4w15vMVDXw+/xIeD/dfX+sL+fD5QBi+zj+TU71pgOcecC4+zjPxaoBM7Gen8ts79PtZd/F9gDTLGXfxe4zX4tw471UiAK6z0z137tLuBFYLh9bF8Cfm+/9nvgH/Y6UcAXAHH67y+cvxwPwHz58Euz/hjrgZoOX418lvAXAYWd1vkF8KD9+HDi6Zgo7D9uN5DQYb3fAw/Zj/OA87uI5yvA+52euw+4yX78EPCvDq+dDezo8H1XCb8ViO30nDfhH4/1QRTZh2P1DWCV/ViwPpgW29+/hp207e9d9nHM7BgXVkJsAWZ0WPZbwLv24zeA63v4XXWZ8O3n/g78zn48E6jGTrqdlsvA+hCM6/Dcv7v6PXY45j0l/L8Dv+20jzzg5A5xf73Daz8DHu20/BvA1+zH7wI3dnjtO8DrHd57z3XxMwnQAEzs8NzxwD778S1YH7KTOq9rvnz7MqdH4esCVU32fmH9gXllAmn2qXCNiNRgdSeM6mWbaUCVqtZ1eK4Aq3UH1gfCni7WywQWddrf5cDoDssc7PC4EYjvJZZyVW3u5rVxQIGqtveyDYBnsLoy0rBaxQq83yHuuzvEXIWVhMZ22kYK1plSQYfn+nJc+uJh4DIREeBK4D+q2tLFcmlAtR7ZB1/QxXJ9lQn8uNPvbJy9H6/9nZb/UqflTwLGdFimu99xd8cnFRgKrO+wzdft58E6G9sNvCkie0Xk5/3/MY2OzMWYgWk/Vitpcj/XOwAMF5GEDkk/A6u7wrvdicDWLvb3P1Vd5mvAXeipjOt+IENEIntL+qpaIyJvAl/G6rp5Qu3mo72d36nq473EUgG0YV8ItZ/r6rj05nM/k6quFZFWrO6Ky+yvrpQAw0QkrkPSz+hqm33k/dl/18d492O18L/Z3cK97KurkUEVQBNW119x5xft9+CPsT6YZgKrReQTVX3HhxgMzEXbgWodUGtfdBsi1sXWbBE5pqeVVHU/sAb4vYjE2hfxrsHqcwfrwt9vRWSyWGaLyAjgZWCKiFwpIlH21zEiMr2P8ZZiXWfoz89XAtwmInF2rCf2sPy/ga8CF9mPvf4B/MJOJt4Ls1/qvLJaQx3/A/xORBLEurD7I8A7xPJfwA0issA+LpOk64u/pUBWFxceHwHuAdpVtcuhtapaAOQAN4tItIicBJzXw8/cm38C14rIIjvmOBE5R0QSuln+MeA8ETnDfj/FinUhPb0P+3ocOE1Evmxf/B0hInNV1WPHcaeIjAQQkbEicob9+Fz7WApQi9Xd6Njw4YHAJPwByE5Q52FddN2H1ZL6F5DUh9UvxeoPPgA8h9UP/5b92h1Yie9NrD/A+4EhdkvsdOASe72DfHbBtS9+Azxsn9Z/ubeFO/x8k4BCoAjrOkJ3XgQmA6WquqnDdp6z43xSRGqxzlzO6mYb38fqb94LfID1wfGAvZ2ngd/Zz9UBz2NdhOzsafv/ShHZ0OH5R4Fs+/+eXIZ1faYKuAnrg8InqpoDfBPrg6Yaq+vkqh6W3w+cj9U1WI7Vav8JfcghqlqIdd3mx3bsuVgX/MG6NrAbWGv/Dt7GGhQA1u/sbazrVR8B96p9T4PhG/ns7NYwDCfYwxDLgPmqusvpeIyBy7TwDcN53wY+McneCDRz0dYwHCQi+Vgjgy5wNhJjMDBdOoZhGIOE6dIxDMMYJEzCNwYM6aKK6EAhnWoeGYYvTMI3woqd9BrEKgJWLCJ3SJBr+Ysf6uQbhhNMwjfC0RxVjQdOxRqb7svdn4Yx6JiEb4QtVd2BVRcnu/NrInKsiHxk38xVIiL3iEh0h9dVRK4VkV1ilUb+m31Hp/f1LssmS9flnPtcxldEThCRT0TkkP3/CR1e67HEcIfl+lVW2TC8TMI3wpaIzMCqQbOxi5fdwA+xCp8dj3U28J1Oy5yLVdJ4DlatHe8t/Rdg3VF6IVYhr/eBJwBUdbG97hy1Zph6CusO0iJ72VH2up8b/iZWXf5XgL9glQi+A3jFLk/hdRlWmemRWAXbbujiZ3sRGN+pdMUV9H6nrjHIhXzCF5EHRKRMRDoX7PJ1e6/bLbGXOz0vIvI7Edlpt+y6nDDECAkbRKQaq3b6v4AHOy+gqutVda2qtqtqPla55pM7LXabqtbYt/6vxipFAVbp49+r6na7ONutwNxu6uOAVVhtDFZZ5Ta1pmPsarzzOcAuVX3UjusJYAdH1sR5UFV3qmoTVhmLuZ03YlfTfAoryWPXAsrCqmlkGN0K+YSPVdf7TD9u73asMrSdXYVVxnWaqk4HnvTjPg3/mq+qw1R1oqreaBfhOoKITLG7WQ7aNVpupcMMUbbuyvn2tWyyV1/L+Kbx+ZLGHcss9xRTZ30tq2wYh4V8wlfV97D+4A4TkYl2S3293V86rR/bewerwFVn3wZu8SYPVS07mrgNx/0dq/U8WVUTsbpZpOdVDtsPfKvjfAOqOkRV13S1sKrWqeqPVXUCVmv9RyJyaheLHsD6MOmoY5nlPlPVtViTxHjLKpvuHKNXIZ/wu7ES+L6qLsDq47zXD9uciDXfaI6IvCYi/a0lb4SWBKyKnvV2g+Db/Vi3t7LJR5Rz7kcZ31exykhfZpcJ/gowA9+7Ynotq2wYHYVdwheReOAE4GkRycXqmx1jv3ahiGzt4uuNPmw6BmhW1YVYNbofCNCPYATHDVgt3zqs3+dTfV2xD2WTf8OR5Zz7VMZXVSuxLhT/GGs+2J8C56pqRX9/OFtfyyobBhAmtXREJAt4WVWzRSQRyFPVMb2s1tP2TgFuUNVzOzy3AzhTVfPtllqNqvalfrxhOEJMWWWjn8Kuha+qtcA+7ym2PbpmTi+r9cXzwFL78cnATj9s0zACyZRVNvol5Fv4IvIEcArWCItSrJl+VmFdlBsDRAFPquotfdze+8A0rNEPlcA1qvqGiCRjTcWWgXVqfm3H2ZEMI5RIh7LKqtrVfQiG8Tkhn/ANwzAM/wi7Lh3DMAzDNyFdajUlJUWzsrKcDsMwDCNsrF+/vkJVU7t6LaQTflZWFjk5OU6HYRiGETZEpPPd3IeZLh3DMIxBwiR8wzCMQcIkfMMwjEEipPvwu9LW1kZRURHNzc1Oh9Kt2NhY0tPTiYqKcjoUwzCMw8Iu4RcVFZGQkEBWVhYdJigKGapKZWUlRUVFjB8/3ulwDMMwDgu7Lp3m5mZGjBgRkskeQEQYMWJESJ+BGIYxOAU14YvID0XkU7uC5RMiEuvjdvwdml+FenyGYQxOQUv4IjIWuA5YqKrZQARwSbD2bxiGEQ7e2lbKff/bE5BtB7tLJxIYIiKRwFCsGYCC7oQTTujy+auuuopnnnkmyNEYhmF85rWtJTzyUbf3Th2VoCV8VS0G/gQUAiXAIVV9M1j772jNmi5nqjMMw3BcSU0zo5N86u3uVTC7dIYB5wPjsSZzjhORK7pYboU9zWBOeXl5QGKJj7fmhVZVvve97zFjxgzOOeccysrMNLaGYTir5FATY8I94QOnAftUtVxV24BnsaYqPIKqrlTVhaq6MDW1y/o/fvPcc8+Rl5fHli1b+Oc//2la/oZhOEpVKTnUTFrykIBsP5gJvxA4TkSG2lMIngpsD+L+P+e9997j0ksvJSIigrS0NJYuXdr7SoZhGAFS1dBKS7sn/Fv4qvox8AywAdhi73tlsPbfHTOE0jCMUFFyyLp/Z0xS+LfwUdWbVHWaqmar6pWq2hLM/Xe2ePFinnzySdxuNyUlJaxevdrJcAzDGOS8CT8tOTAt/LArreBPy5cvZ9WqVcyaNYspU6Zw8sknOx2SYRiDWMmhJoCAjdIZlAm/vr4esLpz7rnnHoejMQzDsByoaSYqQkiJiwnI9sOulo5hGMZAVXKoidFJsbhcgbm2aBK+YRhGiCipaQ7YBVswCd8wDCNkHDjURFqA+u/BJHzDMIyQ4PEopbXNjAnQTVdgEr5hGEZIqGhooc2tpoVvGIYx0JXUWGPwR5s+/NDy9a9/nZEjR5Kdne10KEaYK6ttpqnV7XQYRgjwjsEPVFkFMAnfJ1dddRWvv/6602EYYUxV+d6/N3Dsre8w55Y3eWZ9kdMhGQ47UOO9y9a08EPK4sWLGT58uNNhGGHsw92VvLy5hMsWZbAgYxg/eWYT7+8KTDlwIzyUHGoiJtLFsKFRAdtHWN9pe/NLn7LtQK1ftzkjLZGbzpvp120aRmf/+N8exiTFctN5M/B44Py/fcCP/rOJD362hJjICKfDMxxwwC6LHMiCjqaFbxhBVnKoiQ/3VPDlheOIiYxgSHQEvzh7OuV1LazeYVr5g1VJTeAmPvEK6xa+aYkb4ej5jQdQhQvnjz383BcmpZASH8PzG4s5M3u0g9EZTik51MzxE0cEdB+mhW8YQaSqPLuhiAWZw8gcEXf4+cgIF1+ck8aqHWUcamxzMELDCe1uD2V1LaQFcEgmmITvk0svvZTjjz+evLw80tPTuf/++50OyQgTnx6oZVdZPcvnjf3ca8vnjaXV7eGVLSUORGY4qby+BbdHGROgOvheQevSEZGpwFMdnpoA/FpV7wpWDP7yxBNPOB2CEabes0finNVFt0322ETGp8Tx9vZSLluUEezQDAcdHpIZ4BZ+0BK+quYBcwFEJAIoBp4L1v4NIxSsz69mYmocI+I/X+9cRJifMYz3dpWjqmb6zUHk8E1XAW7hO9WlcyqwR1ULHNq/YQSdx6OsL6xmYWb393DMGptIeV0LpbWOzv5pBJm3rEIgSyODcwn/EqDLfhERWSEiOSKSU15uhqgZA8feinpqGttYkDWs22VmpScDsLmoJjhBGSHhwKEm4qIjSIwNbKdL0BO+iEQDXwSe7up1VV2pqgtVdWFqampwgzOMAMrJrwZgQWb3CX/GmERcAluLDwUrLCMElNQ0MzopNuDdeE608M8CNqhqqQP7NgzH5BRUMzwumgkpcd0uMyQ6gimjEthsEv6gUlLbHNAaOl5OJPxL6aY7xzAGsvUF1czPGNZrK27W2CS2FB1CVYMUmeG0YNxlC0FO+CIyFFgGPBvM/frT/v37WbJkCdOnT2fmzJncfffdTodkhIGaxlb2VTQwPzO512VnpSdR2dBKyaHmwAdmOK613UN5fUvAL9hCkEsrqGojENh7hwMsMjKSP//5z8yfP5+6ujoWLFjAsmXLmDFjhtOhGSHMW+QvOy2p12VnjbWW2Vx0KCin+YazSmubUYW0AA/JBHOnbb+NGTOG+fPnA5CQkMD06dMpLi52OCoj1G0rsRL+jLTEXpedPiaRCJewpbgmwFEZocB7JjfgWvh+99rP4eAW/25z9Cw467Y+LZqfn8/GjRtZtGiRf2MwBpxtB2oZlRhDShc3XHUWG2VfuC0yF24Hg2DMdOVlWvg+qq+v56KLLuKuu+4iMbH3VpsxuG0rqWX6mL6/T2aPTWJrsblwOxh4yyqMCUL3XXi38PvYEve3trY2LrroIi6//HIuvPBCR2Iwwke728Pe8gZOntL3+0qy05N4Kmc/RdVNjBs+NIDRGU47eKiJhNhI4mMCn45NC7+fVJVrrrmG6dOn86Mf/cjpcIwwUFTdRKvbw8TU+D6vM3VUAgB7yusDFZYRIg4cag540TQvk/D76cMPP+TRRx9l1apVzJ07l7lz5/Lqq686HZYRwrxJe+LI7m+46my8fXPW3vKGgMRkhI6i6qagjNCBcO/SccBJJ51k+lWNfjmc8PvRwk+JjyYhNpJ9FSbhD2SqSkFlA8dN6L6gnj+ZFr5hBNiesgZS4qNJHhrd53VEhAkpcSbhD3DldS00troPn9EFmkn4hhFge8rrmdCP1r3XhNR49po+/AHN+4HecbrLQDIJ3zACbE95fb+6c7zGp8Rx4FAzTa3uAERlhIKCykYAxpuEbxjhr6qhlerGNiam9v8PeoK9junWGbj2VTYQFSFBu2hrEr5hBNBnI3R8a+GDSfgDWX5FA+OGDSUyIjip2CR8wwigPWVWwp/kY5cOYPrxB7D8ykaygnTBFkzC77fm5maOPfZY5syZw8yZM7npppucDskIYXsrGoiOdPlU9XJodCRpSbGmhT9AeYdkZgWp/x7MOPx+i4mJYdWqVcTHx9PW1sZJJ53EWWedxXHHHed0aEYIKqhsIGP4UCJcvk1dNz41jj0m4Q9IZfaQzKyU4JXOCPYEKMki8oyI7BCR7SJyfDD37w8iQny8dXre1tZGW1tbwOehNMJXQWUjGUdRC2dCSjz7yuvNzX4DUL79QT6QW/h3A6+r6sX2ZOZH9dH2h3V/YEfVDv9EZps2fBo/O/ZnPS7jdrtZsGABu3fv5rvf/a4pj2x0SVXZX9XIcRN8n/NnfEoctc3tVDa09qm0shE+8iuthB+sm64giC18EUkEFgP3A6hqq6rWBGv//hQREUFubi5FRUWsW7eOrVu3Oh2SEYIqG1ppaHWTOeIoWvhmaOaAta+ikagICUodfK9gtvAnAOXAgyIyB1gPXK+qPr+Te2uJB1pycjKnnHIKr7/+OtnZ2Y7GYoQe7001R9ulA9ZInWOyglNvxQiOgsoGxg0P3pBMCG4ffiQwH/i7qs4DGoCfd15IRFaISI6I5JSXlwcxvL4pLy+npqYGgKamJt5++22mTZvmbFBGSNpfZSX8o2nhjx02hOgIF3tNC3/A2VfRELQ7bL2CmfCLgCJV/dj+/hmsD4AjqOpKVV2oqgtTU/s+YUSwlJSUsGTJEmbPns0xxxzDsmXLOPfcc50OywhB3hZ++jDfE36ES8gcMdSUSR5grCGZjUGroeMVtC4dVT0oIvtFZKqq5gGnAtuCtX9/mT17Nhs3bnQ6DCMMFFQ1MDoxltioiKPazoTUOPaYhD+glNW10NTmZnwQh2RC8EfpfB943B6hsxe4Osj7N4yg2V/VSMZRdOd4TUiNZ9WOMtrdnqD29xqBE+wqmV5BTfiqmgssDOY+DcMpBZWN/ZrHtjvjU+JocyvFNU1BTxBGYOwqrQNg8qj+l9w4Gqa5YBgB0NTqpqyu5agu2Hp5K22afvyBY2dpPQkxkYxODN6QTDAJ3zACYn+1dcF23FEMyfQabw/NNBOaDxw7S+uYPCo+6Hfpm4RvGAHgHaHjjy6Y4XHRJA+NMjdfDRCqys7SOqaMSgj6vnvtwxeRjD5uq0ZVa48yHsMYEArs2+Yz/dDCB5iQEme6dAaIinprUpyQTPjAw4ACPZ17KPAQ8IgfYgoLbrebhQsXMnbsWF5++WWnwzFCzP6qRhJiIkkeGuWX7Y1PieeD3aF3I6LRf94LtiGZ8FV1SefnRGS0qh4MTEjh4e6772b69OnU1pqTGuPzCuwhmf7qo52QGsd/NxRR39JOfIypah7Odh5O+MEdoQO+9+F/1a9RhJmioiJeeeUVvvGNbzgdihGiCisb/TJCx8s7Umef6dYJezvL6kkaEkVqQvCrn/raVDhfRBqBt+y7Zh1x8NZbadnu3/LIMdOnMfqXv+xxmR/84Af88Y9/pK6uzq/7NgYGt0cpqm5i2cxRftvmBHuKxL0V9cxKT/Lbdo3g21VaxxQHRuiA7y38C4HdwHIR+Zcf4wl5L7/8MiNHjmTBggVOh2KEqIO1zbS6PWQO999NUpkjhuISTImFMKeq5B10ZoQO+NjCV9VS4HX7yzG9tcQD4cMPP+TFF1/k1Vdfpbm5mdraWq644goee+yxoMdihKbDI3T82KUTExlB+rChZkLzMFdW10Jtc7tjCd+nFr6I/E1EHrIfn+7XiELc73//e4qKisjPz+fJJ59k6dKlJtkbRyj0Qx38rkxINUMzw91Oh0oqePnapdOKVfwMYKmfYjGMAaGwqpFIl/9nMpqQEs++igY8HjO/bbjaWWqdoYVVCx9oBJJEJAro641ZA84pp5xixuAbn1NQ1Uj6sCF+r2w5PjWOpjY3B2ub/bpdI3h2HqxjRFy0Y/MT+/qOrAL2AH8DPvRfOIYR/gorG/1SQ6ezKSOtboC8UjM6LFztLKtzrDsH+pnwRSRZRB4ELrKfegRT7tgwDlNV8isaGJ/i/zLG08YkArC9xNzsF45Uld2l9Y5150A/R+moao2I3AZkARXAbODZAMRlGGGpvL6FupZ2JgQg4ScNiWJs8hB2lJgWfjgqOdRMXUs7k8Ml4duuAfap6hvA+v6sKCL5QB3gBtpV1ZwdGAOKdxTN+NTAnLZPH5NgWvhhytsV5+2ac4IvCb8auFZEpgKbgFxV7c8kr0tUtcKH/RpGyPMm/EC08AGmj0lkdV45zW3uo54r1wguJ4umefX7oq2q/h74JvAbYB+w2M8xGUbY2lteT0yki7HJQwKy/WmjE3F7lN1l5gascLOjpI6RCTEMi4t2LIZ+t/BF5BYgAsjFat2/24/VFXhTRBS4T1VXdrH9FcAKgIyM0BzxmZWVRUJCAhEREURGRpKTk+N0SEaI2GdfsHW5AlMnZfoYq3W4raSW7LGmpk442bi/hjnjkh2NwZcW/q+BFnvdi0Tkn/1Y/URVnQ+cBXxXRD53dqCqK1V1oaouTE09+gmgA2X16tXk5uaaZG8cYW9FAxNSAzfReOaIOIZERZgLt2GmuqGVfRUNzM8Y5mgcvo7DfwCYDowA7u3rSqp6wP6/DHgOONbH/RtGyGlt91BY1ciElMBdlItwCVNGmwu34Wbj/moA5mUkOxqHr+WRr8MqrxAJ3E0f+vFFJA5wqWqd/fh04BYf9w/A+//ZScV+//ZlpoyL5wtfntLjMiLC6aefjojwrW99ixUrVvg1BiM8FVY14vZoQFv4ADPGJPLqlhJU1ZESu0b/bSioIcIlzHa4tLWvCX8PMBl4QVV/2Md1RgHP2W/QSODfqupotU1fffjhh6SlpVFWVsayZcuYNm0aixeba9eDnbeS5YQADcn0mpmWyBPrCimuaSJ9mP/v6DX8b+P+aqaPSWBotLOzlfm690+B/cA1InK7qh7T2wqquheY4+P+utRbSzxQ0tLSABg5ciTLly9n3bp1JuEb7K2wx+AHaEim18w0647brcW1JuGHAbdHyS2s4cL56U6H4nMf/kSsD4uVwNX+Cyf0NTQ0HJ7pqqGhgTfffJPs7GyHozJCwd7yelLio0ka4p+Jy7szfUwiES5h24FDAd2P4R+7yupoaHUzPzPZ6VB8buHvV9VVIjIGKPNnQKGutLSU5cuXA9De3s5ll13GmWee6XBURijYW94Q0Au2XrFREUxMjePTA+bCbTjYUFADwLxxzo7QAd8T/pkishOrWmYB1kXcQWHChAls2rTJ6TCMELS3ooHTZ/hvHtuezExLYs0ec8N6ONhYWM3wuGi/zoDmK1+7dJKBnwE/xRqTbxiDWk1jK1UNrQEfoeM1My2R0toWyuvMn1+o21BYzbxxySExosrXhH8L1gidPKxCaIYxqHkv2AajSwesFj7Ap6YfP6QdamxjT3kD8zOd786BfiR8ETk8wkZVi1T1bfvxzwMRmGGEE29tm2C18GfYI3VMP35oO3zDlcMlFbz608LfKCKbReSnIjIuYBEZRhjKO1hHTKSLzBHBSfhJQ6LIGD6UbSbhh7QNhTW4BMdr6Hj1J+H/GYgDbgP2ichqEfl6YMIyjPCy42AtU0cnEBGgomldmZmWyFbTpRPSNhZWM3V0InExzt5w5dXnhK+qP1HViVhTGv4Lq5zC56pdGsZglHewjmmjg1vnPHtsEgWVjdQ2twV1v0bfeG+4crp+Tkf96cMfISLfAG7FutlKsO62HXRqamq4+OKLmTZtGtOnT+ejjz5yOiTDQeV1LVTUtzJtdGJQ9+vtxzfdOqFpS/Eh6lraOX7CCKdDOaw/5xkHsT4gqoEHgcdU9YOARBXirr/+es4880yeeeYZWltbaWxsdDokw0E7DloJN9gt/Nl2PfxN+2s4LoSSimH5cLd1n8QJE0Pnd9OfhP8c8BjwmqoO2nPI2tpa3nvvPR566CEAoqOjiY52bgYbw3l5B61SG1ODnPBHxMeQOWIoGwtrgrpfo2/W7Klg2ugERsTHOB3KYX1O+Kr65UAG4ovVD62krGCvX7c5MnMCS67qvtzx3r17SU1N5eqrr2bTpk0sWLCAu+++m7i44IzOMELP9pI6UhNiHPnDnjcumTV7Kk2p5BDT3OYmJ7+ayxdlOh3KEXy98WrQam9vZ8OGDXz7299m48aNxMXFcdtttzkdluGgvNLaoHfneM3PHEZZXQvFNU2O7N/o2oaCalraPZw4KXS6c8C3OW3PU9WXAhFMf/XUEg+U9PR00tPTWbRoEQAXX3yxSfiDWLvbw67Ser56vDMtOe+UeRsKa0yp5BDy4Z4KIlzCseOHOx3KEXxp4f/O71GEkdGjRzNu3Djy8vIAeOedd5gxY4bDURlOya9spKXdw9Qgj9DxmjY6gdgoFxsLqx3Zv9G1T/KryU5LJCE2sKWy+8uXuwGOqqNQRCKAHKBYVc89mm055a9//SuXX345ra2tTJgwgQcffNDpkAyHeC/YOtWlExnhYnZ6MhvMhduQ0eb2sLmohsuODa3+e/At4etR7vN6YDvgTJPID+bOnUtOTo7TYRghYMfBWiJcwqSRwSma1pX5GcO4/4O9NLe5iY2KcCwOw7K9pJbmNg8LQqRgWkdBvWgrIunAOVh36hpG2NtxsI7xKXGOJtr5Gcm0udVUzgwRn+Rb3WuhMMNVZ8EepXMXVg19T3cLiMgKEckRkZzy8vKgBWYYvsg7WBf08fedzfNeuLVnVjKctWZ3BVkjhjImaYjToXyOLwm/1Jcdici5QJmqru9pOVVdqaoLVXVhamqqL7syjKCob2mnsKqRaaOcTfipCTGMGz6EDebCrePa3B4+3lfFiZNSnA6lS/1O+Kq6zMd9nQh8UUTygSeBpSLymI/bMgzH7Sy1L9iOcf5y1IKMYawvqEb1aC+xGUdjc1EN9S3tAyfh+0pVf6Gq6aqaBVwCrFLVK4K1f8Pwtx0lzo7Q6WiBfQNWUbW5ActJH+yqRISQKpjWkbnT1jB8lHewlviYSMYmO99XuyDTusFnfYHp1nHSh3sqyE5LYlhcaNbX8inhi8iPOjye2t/1VfXdcB2Dn5eXx9y5cw9/JSYmctdddzkdluGA7QfrmDIqHlcQJz3pztTRCcTHRJJTUOV0KINWY2s7GwurOSHEyil01K9x+CKSDNwJTBORZmAzcA1WffxBYerUqeTm5gLgdrsZO3Ysy5cvdzYoI+hUlbyDdZwze4zToQAQ4RLmZSSz3ozUccy6fVW0uZWTQrT/HvrZwlfVGlW9GvgN8DEwGXg2AHGFhXfeeYeJEyeSmRl6d9QZgVVa28KhpraQ6L/3mp8xjLyDtdSZGbAc8eHuCqIjXRyTFVr1czrydaLFNlVdLyIHgDJ/BtQfNS/tofVAg1+3GZ0WR/J5E/u07JNPPsmll17q1/0b4WG7PenJVIeHZHa0MGsYHoWNhTUsnmKGNAfbB7srWZAxLKTvdvb1ou2Z9l2z/8Dq4hl0WltbefHFF/nSl77kdCiGAz6roeP8kEyvueOScQnkmAu3QVdW28z2klpOmhy63Tngews/GfgZ1l2z3/BbNP0Noo8t8UB47bXXmD9/PqNGjXIsBsM5W4sPMTZ5CElDQ6caYkJsFFNHJ7LBJPygW51ndXQsnTbS4Uh65msL/xbgeVXNA9x+jCdsPPHEE6Y7ZxDbUnyI2elJTofxOQszh7GxsJp2d7fVS4wAWLWjjDFJsSF1Tacrvib8XwBX2o9X+ymWsNHY2Mhbb73FhRde6HQohgMONbZRUNnIrFBM+FnDaGh1s8PucjICr7Xdwwe7Kjhl6siQn2bS14TfCngnk13ip1jCxtChQ6msrCQpKfT+4I3A21xcA8DsscmOxtGVhfYIkY/2VDocyeDxSX4VDa3ukO/OAd8TfiOQJCJRQIYf4zGMkJeTX41LYPa40PvAH5s8hEkj43lvl6k0GyzvbC8jOtIVcvPXdsXXhH8TsAf4G/C4/8IxjNC3dm8lM9ISSQyx6eu8Tp6Sysd7q2hsbXc6lAFPVXnj04OcNCmFodG+joEJHl8T/nWqeq+qrgB2+zMgwwhlzW1uNu6v4bjxodua+8LkFFrdHjaaaQ8DbkvxIYprmjgre7TTofRJvxK+iCSLyBPAxSLyHRE5Efh5YEIzjNCzaX8Nre0eFoVoNUSwKme6xOpbNgLr1S0HiXQJy2aEx/Dsfp2DqGqNiBQB72GVVpjDIC6tYAw+a/dWIQLHhvDt897x+Dn5Zjx+IKkqr28t4fiJI0geGprVMTvzpUunErgW+Kr9fZH/wjGM0Pbxvkqmj04MqRuuunJM1jA2FFbT3DYob5MJiu0ldeRXNnL2rNAooNcXvsx4dRvwTawCavuAL/g5ppB35513MnPmTLKzs7n00ktpbm52OiQjCFra3awvqGbRhNBt3XudOn0Uja1u3s0zo3UC5fWtJbgETg+T7hzwIeGLyC3A+cAyoFhV/9LH9WJFZJ2IbBKRT0Xk5v7uOxQUFxfzl7/8hZycHLZu3Yrb7ebJJ590OiwjCDYXHaKl3cNxIdx/73XixBGkxEfzQm6x06EMWK9tPcii8SMYER/jdCh95ksL/9fAX4A64CIR+WcfV20BlqrqHGAuVgG24/q7/1DQ3t5OU1MT7e3tNDY2kpaW5nRIRhB8vNe6mSmU+++9IiNcnDs7jXd2lFFryiX73c7SOnaV1XPWrPAYnePl68DRbwH3qerrfV1BrdmV6+1vo+yvo5px+bXXXuPgwYNHs4nPGT16NGeddVa3r48dO5YbbriBjIwMhgwZwumnn87pp5/u1xiM0LR2bxXTRieE7PR1nZ0/N42H1uTz+taDfHnhOKfDGVBezD1AhEs4Kzt8+u/B93H4DwDfFpHbRWRuX1cSkQgRycWqof+Wqn7cxTIrRCRHRHLKy0Ov/7G6upoXXniBffv2ceDAARoaGnjsscecDssIsHa3hw2F1Rw7PvRb915zxyWTOWIor2wucTqUAUVVeWFTMSdOSiE1IXy6c8D3Fv51WPV0IrG6dxb3ZSVVdQNz7akSnxORbFXd2mmZlcBKgIULF/Z4BtBTSzxQ3n77bcaPH09qqjXBxIUXXsiaNWu44oorgh6LETw7DtbR2OpmQeYwp0PpMxHhtOmjeHRtAY2t7WFxJ2g42Li/hv1VTfzg1ClOh9Jvvrbw9wCxwAuq2qdk35Gq1gDvAmf6uH/HZGRksHbtWhobG1FV3nnnHaZPn+50WEaAbSi0xrSHU8IHOHXaSFrbPXy42xRT85cXcw8QE+ni9JnhMzrHy9eE/ymwCrhGRD7pywoikmq37BGRIcBpwA4f9++YRYsWcfHFFzN//nxmzZqFx+NhxYoVTodlBNiGgmpGJsQwNnmI06H0y8Ks4STERLJqR6nToQwITa1unttYzGkzRpEQorWUeuLrOd5EoBqr66Wvt/ONAR4WkQisD5r/qOrLPu7fUTfffDM33xyWo0oNH60vrGZB5rCQr3feWXSki8VTUnlnexmqGnbxh5rnNhZzqKmNq07IcjoUn/jawt+vqi9iFU7b3pcVVHWzqs5T1dmqmq2qt/i4b8MIqrLaZvZXNYVdd47XkmkjKatrYWtxrdOhhDVV5aE1+5iZlsjCMH0vmEnMDaMX3v77+WH6R7502kgiXMKrW81onaPx4e5KdpbWc9UJWWF7puRrwk/ms0nMW/wWTR9ZQ/pDV6jHZ/RPTn410ZEuZqYlOh2KT4bHRfOFySm8mHsAj8e8N31133t7SImP5rw54XujZZ8TvojM6fDtLVgjdII+iXlsbCyVlZUhm1RVlcrKSmJjY50OxfCTT/KrmDsumZjICKdD8dn5c9MormlifaGpoOmLLUWHeH9XBV8/aTyxUeH7PujPRduNIrIVeAx4QlXfBlDVoNbDT09Pp6ioiFC8KcsrNjaW9PR0p8Mw/KChpZ2tB2r59skTnQ7lqJw+YzSxUVt4fmMxx4RBaYhQ84//7SEhJpIrjst0OpSj0p+E/2fgQuA24FYReR94VFUfCEhk3YiKimL8+PHB3KUxiG0orMbt0bC6w7YrcTGRLJsxmle2lHDjOTMYEh2+rdRg21tez6tbS7j25IkhO61lX/W5S0dVf6KqE4GFwL+w7q5dGajADCMUrNtXRYRLwvaCbUdXHpdJTWMbT6wrdDqUsHLf//YSFeHi6yeGf0OzP334I0TkG8CtwNWAAPsDFZhhhIJ1+6qYmZZIfEz4lyU4dvxwjh0/nPve20NLu5kYpS9qm9t4LreYixekh13dnK70Z5TOQeA+rBb+g8BiVQ3/jzzD6EZLuzVheTiUQ+6r65ZOprS2hadzzER1ffH2tlJa2z1cNH9gXJPrT8J/DlgOjFHVa1X1gwDFZBghYUOBNWF5uPffd3TipBHMy0jm7+/uoc3tcTqckPfshmLSkmKZNy7Z6VD8oteELyIZIpIB3ADkAmO8z3X6Cs9ByobRjbe2lRId6eLESSlOh+I3IsJ1SydTXNPEcxvMbFg9WbWjlA92V/DVE7JwucLzRqvO+tIx+TCfTVTS3U+twEPAI36IyTAcp6q8tf0gJ04cQdwA6L/v6JSpqcwam8Tf3t3NhfPHEhnh6/2XA5eqcudbuxifEjcgLtZ69fpOVtUlwQjEMELJhsJq9lc18b0lk5wOxe9EhO8tncS3Hl3PC7kHuGjBwOif9qf1BdVsKT7E/7sgm+jIgfOBOHB+EsPwo39/vJ+46AjOnR2+t9H3ZNn0UcwYk8hfVu0yffmdqCp3vLWT4XHRXDh/rNPh+JVJ+IbRSXObm9e2lnDenLQB153j5XIJN5wxhYLKRm59tU8FbweNdfuqWLOnku8vnTTgZgkzCd8wOnk3r4zGVndYF8nqi6XTRvHV4zN58MN89pTXOx1OyHhuYzFx0RFcckyG06H4nUn4htHJK1sOMjwumkUDaDhmd763dBKRLuHfH5u7b8G69+LVLSWcMXP0gCw/EbSELyLjRGS1iGwXkU9F5Ppg7dsw+qq5zc0720s5M3v0oBi9MjIhlnNmj+GxtQVsLzETpLyQe4Da5nYuHCA3WnUWzHd0O/BjVZ0OHAd8V0RmBHH/htErb3fOObPGOB1K0Nx4zgwSh0Txw6dyB/UFXFXlX+/vZdroBE6cNMLpcAIiaAlfVUtUdYP9uA5rasSBdQncCHsPrclnZELMoOjO8UpNiOG352ez42AdD6/Jdzocx/xvZzk7S+v55hcmhO2MVr1x5JxVRLKAecDHXby2QkRyRCQnlGveGwPP2r2VrN1bxbdPmTgounM6OmPmKL4wOYV7Vu+mtrnN6XAcsfK9vYxKjBnQF+uD/q4WkXjgv8APVPVznYaqulJVF6rqwtTU1GCHZwxij39cSNKQKC49duCNzuiNiPCzM6dxqKmNP72R53Q4QfdJvjUU85tfmDCgbrTqLKg/mYhEYSX7x1X12WDu2zB6UtXQyhtbD7J83tiwnsLuaGSPTeLqE8bzyEcFfLSn0ulwgurut3eREh/N5YvCe0ar3gRzlI4A9wPbVfWOYO3XMPrigQ/20er2cNmiwde67+gnZ0wlc8RQfvLMJkprm50OJyhy8qv4YHcFKxZPGJBDMTsKZgv/ROBKYKmI5NpfZwdx/4bRpeqGVh5ak885s8YwZVSC0+E4akh0BHdfMo/qhlau+NfHNLa2Ox1SQLW5Pdz4/FZGJcaE/Xy1fRHMUTofqKqo6mxVnWt/vRqs/RtGd+7/YB8Nre1cd+pkp0MJCXPHJXPflQvZXV7PTS986nQ4AePxKD/772Z2HKzjt+dnD7gyCl0ZuFcnDKMP6prbeHhNPmdnj2Hq6MHduu/opMkpfG/JJJ5eX8RjawucDicgfvvKNp7dUMyPlk3h9JmjnQ4nKAb+R5ph9OCJdYXUtbRz7ckTnQ4l5Fx/6mS2FB/ixue30tLu4ZqTBk5d+Oc2FvHgh/lcfWIW31868Epgd8e08I1Bq7XdwwMf5HP8hBHMSk9yOpyQExnh4r4rF3DmzNH89uVt3PX2TlS19xVD3J7yen713FaOzRrOr86ePmBvsuqKSfjGoPXSpgMcrG1mxckTnA4lZMVERnDPZfO4aH46d729i9vDfIx+u9vDj57KJSbSxd2Xzh10N9iZLh1jUGpt93D3O7uYPiaRU6aYG/x6Ehnh4vaLZxMVIdz77h5OmpTCCWE6z+/9H+xjU9Eh7rlsHmOShjgdTtANro83w7A9+UkhhVWN/OSMKYPqlN5XLpdw03kzGZ8Sx7cf38DmohqnQ+q3/IoG7nhrJ2fMHDWoiuN1ZBK+Megcamzjzrd2cvyEESyZOtLpcMLGkOgIHvn6sSTERnL5Pz8mJ7/K6ZD65f+9so2oCBe/PT970H7Im4RvDDp/WbWLmqY2bjx3cF2w84dxw4fy9LXHk5oQw5X3r2NXaZ3TIfXJ+7vKeXt7Gd9bOomRibFOh+MYk/CNQWVfRQOPfJTPVxaOY2aaGZnjizFJQ3hyxXHERrn42X834/GE9sid1nYPt7y0jcwRQ7n6xCynw3GUSfjGoHLrq9uJjnDxo9OnOB1KWBuZGMuN58xgQ2ENj4b4jVl/W72bXWX13HTeDGIiB3atnN6YhG8MGmt2V/DWtlK+s2QSIxMG72m9v1w4fyxfmJzCra9uZ9P+GqfD6dJb20r5y6pdLJ83lqXTRjkdjuNMwjcGBbdHueXlbYxNHjKg7hh1kohw11fmMjIxhm88kkNxTZPTIR3hpU0H+M7j65k1Nolbl89yOpyQYBK+MSg8nbOfHQfr+MXZ0wZtvftAGBEfwwNfO4bmVjcX3buGgsoGp0Oi5FAT1zz0Cdc9uZF5GcN47BuLBnzZ474yN14ZA15dcxt/ejOPhZnDBu3460CaPCqB/1x7PBf9fQ1/enMnf710XtBjKKtt5pfPbWVzUQ31Le0I8P0lk/jOkknmA74Dk/CNAe/ed/dQUd/K/V87xgzDDJDpYxL52glZ/ON/e/j+0kkBn1egrLaZ8voWYiIj+O7jG9hf3YhHldOmjyJpSBRXn5jFpJGm+mlnQUv4IvIAcC5QpqrZwdqvMbjtr2rk/vf3ceG8scwZl+x0OAPaii9M4JE1+fzlnV3cc9n8gOyjuc3NH17fwSMfFeC2h4O6BJbPS+c7SyYyMTU+IPsdKILZwn8IuAd4JIj7NIKstLaZxNiokOkz/f1r24lwCT85c6rToQx4w+KiufrE8dyzejdXn1jFgszhft3+8xuL+cuqXewtb+CyRRkckzWMDQU1nDt7DIsmjPDrvgaqYM549R4QXvdiG33W1Orm/g/2sejWd1jxaA5VDa28kFvs6MiNu97eyatbDvLtUyYOykJZTrCOdSw3Pv+p327Iam33cPNLn/KDp3KJcrl4+OvHcuvyWSyfl85vL8g2yb4fQq4PX0RWACsAMjIG94TS4cLtUb7xyCd8uLsSgPd3VXDK7aupbW4nwiVce/IEfnLGtKDGtLO0jr+8s4sL5qbxvSWDZ4ILp8XFRPLzs6Zx/ZO5vLT5AOfPHXvU27zh6U28uOkAV5+Yxf+dMwOXa4Bfh1GFuhJITPP7pkMu4avqSmAlwMKFC0P7nu1B7uChZl7adID3dpXz4e5Kbl0+iy8vTOfPb+1kT1k9XzlmHC9vLuFvq/cwMy2Js4M0QsbjUW55aRtx0ZHcdN7MgZ8gQsx5s9P45/t7+c2LnzI/Yxjjhg/1eVv/21nOi5sOcP2pk/nhsgF+d/SBXNjxCuR/ALXF8N2PIcq/Z6Yhl/CN8LDtQC2XrPyI2uZ2EmMj+c15M7hskXVG9rMzP2vNL56Syr6KBn7y9CYmpsYHZd7Ye9/dzQe7K/jd8myGxUUHfH/GkVwu4a+Xzufcv7zPHW/t5M6vzPVpO81tbn79wlYmpMbxnSUDeArKbS9C3qu0bH6CLTGxvJ40nNqsbP4YEeP3XZmEb/Tb61sP8sOnckkeGsWz3zmRSSO7HxkRFeHiH1cs4Iv3fMA3H8nhxe+dSPLQwCXhj/ZUcsdbO/ninDQuO9Z0CTplfEocF85P56mc/dx03gyffufPbiimoLKRR685dkDWwKnIe5ntH/6JjXV7+d/QOHZlZaBAXFQc8+JT8Ij/L7IGc1jmE8ApQIqIFAE3qer9wdq/4R+FlY3c8PQmpoyK574rFzI6qfeaNKOTYvnHlQu45L61/Og/m7jvygVEBWBqueqGVq57ciNZI+K49cJZZsy9wy49NoNH1xbwz/f3+nQN59kNRUwaGc9JYTq7VkeNbY3srtnN2KGj2PrRnTxc+AafRLRDBEhyElOHTeXajKWMTxrPyeknMzTK926wngQt4avqpcHalxEYbW4P1z+1ERG494oFfUr2XvMzhvF/583g/57fytcf+oSHrj6WCD/3rd/77m4q61t48KpjiI8xJ69Om5GWyEXz07nvf3v5ysIMMkb0PYntKq0jp6Can505LWw/uNvcbazav4oXdj/P+pJPaPS0HH5ttMvFdSOOYcKML7E48zSiIqKCEpP5qzD67K/v7GJjYQ1/vXQeY5P7fzHpyuMyUVV+/cKnPLa2gK+dkOWXuNrcHp7fWMzDawpYPi+d7LGmzn2o+PHpU3h2YxHP5xZz3amT+7zeve/uYUhUBF85ZlwAo/OvxrZG/pP3H97If4OK5gpa2xqpaq0lzQPn1tdxXJtwcNQUUscv5dTjfkSUKzhJviOT8I0+WbevintW7+ai+emcN8f34WJXHpfJW9tKuenFTymobOSnZ049qlonh5ra+Or9H7Op6BDzM5K58ZzpPm/L8L+05CEckzWcF3KL+f7SSX1qrf/pjTye21jMisUTGB4GF90rmyq5Ped2VhWuoqm9idkps5jricJTfZAL6ps5IWUWEUu+CdPOg0hnfx6T8I1eHWpq44dP5ZI+bCg3nz/zqLYlIqy8ciG3vbadBz7cR0V9C3dfMten0/a65ja++sA6tpXUcudX5nDe7DQiA3BtwDg6lxwzjh/9ZxP/XlfI5Ysye1y2tLaZf/xvD1+ck8ZPzwi9u6NLG0opqC3AJS5yy3NZX7qetQfWgsAFWWfxxcY25m1+HhrKYO7lcMatMCTZ6bAPMwnf6FFTq5sfPLmRg7XNPHPt8X7pGx8SHcHN52czMjGW29/II8Il3H7x7H4n6z+9kceWohruu3Ihy2aYyS1C1fJ5Y3k6p4jb38jjwnnpPZbdeHxtAW5Vfnz6FEc/vGuaa3hhzwsU1RUxJHIIIsK6knVsrdx6xHIZCRlcOfNKLohNZ8LLP4Wmaph0GpxwHUw42aHou2cSvtEtVeX7T2zg3Z3l/Pb8bOZlDPPr9r9zykTa3B7uensXk0fF851T+n5H7OodZTz2sdViNMk+tIkI1582mUtWruWF3GIu6Wa4bEu7m3+vK+TUaSPJHBEXtPia25vZWrGV3PJcKpsqaXG3sHr/aiqaKkiMTqTF3UKLu4VZKbO4fv71ZKdk42lvYVLBJ4ws2gjb18De1TBiEnztZRgdurUhTcI3uqSq/PnNnby9vYybzpvBFcf1fCruCxHh+lMns7O0jjve3Mn00YksmTay1/WeWFfIjc9vZfqYBH5s5qYNC4vGD2fGmETue28vFy9I/1zrvba5jV89t5WK+lauOiE4M5K1e9p5YOsDrNy8kha3NYImPioel7iYOWImfzv1b8wYMQNa6tCdbyJbn4HcV6HpMThUBA3lVpKPjofsi+HsP0JsaA8YMAnf6NKLmw5wz+rdXHLMOK7y02iarogIf7hoNoVVa/nBU7m88+OTSYnv/g7Dv63eze1v5HHylFTuvXw+cWb4ZVgQEa47dTLXPraeF3IPcNGC9CNev+PNnbyy2aqXc+KkwBRDO1B/gGd2PkOru5Wq5ipyy3PZX7efZZnL+OLELzI3dS7JscmfrVB3ED64E96/A2mphaRxED8KYpMhZQrMuACmnR2QWAPF/LUYn3OosY3fvryNOelJ/G554G9gSoiN4q6vzOWsu9/n5//dzH1XLuxyjP7zG4u5/Y08Lpibxu1fmhOQm7eMwDlj5igmpsbxVM7+IxJ+fkUDj60t4JJjM7jpvKMbFADW2enWiq1UNVfR4m6h1dNKQW0BD3/6MK3uVqIjokmISmDy8Mn8cMEPWZa57LOV68sh7xXI/TfsXwcoTFwKJ14PWV8AV3jf8WsSvnGElnY3N7/0KVUNrQG5Oao7k0YmcOM5M7jpxU858673+Otl85g2OvHw62t2V/DT/25m0fjh/PFik+zDkYhwwdyx/PmtnRTXNB2+l+P2N/KIjnTxg9P6Pk7fy6MeNpVvor61HkVZvX81uWW57K7Z/bllF6cv5leLfkVafIdhxapQvAF2vQk734ADGwGF1Gmw5Fcw43xIHTjdhibhG4c9v7GYW17eRlVDK99dMjHoNzB97YQsEodE8vtXd3DFvz7ma8dnUVbXQnldC+/sKGV8Shz/uGIB0ZEm2Yer8+eO5Y63d/LEx4XccMZUNhZW88qWEq4/dTIjE468c7vN08a2ym3srt5Nu6cdt7rxqIe61jr2HdqHBw95VXnk1+YfXifKFcWCUQu4eMrFzE2dS1REFNGuaIbFDiMppsP7uTofdr0F6x+C0q2AQPpCWPJLmLwMxsyFML3Dtycm4RvUNLZy19u7ePzjArLHJvHXS+dxokP1S5bPSyc7LYmfP7uFP7+1k6HREQwbGs2F89L55dnTSRoa/LsTDf/JGDGUM2eO5uGP8vnSwnRuemkTw5NrmD5xP498upZdNbvILculoqmC5vZm2rW9y+2kx6cT6YpkVNwovp79dSYmW9U0R8eNZuTQLi78N1XD5qdh4yNwYBO0HLKeH5UN594F08+DuPCv2dMbUQ3dkvMLFy7UnJwcp8MY0Gqb27jiXx+zvaSWxZNTuePLc0MmqdY2txEd4TqqO3GN0HCo5RC7qnexu2Y3OQe283reFjSyAomqQeSzHDQsZhhzUueQnpBOTEQM00dMJzslm5iIGFziIkIiiI6IZkhkH0p7uNuhdAtsfBw2PgrtzTB8AkxYAqlTYcIp1sXXAdaSF5H1qrqwq9dMC38Qa2hp5+oHP2HbgVr+ccUCTgux8eyJsaHxwWP0XUNbAwW1Beyp2cOuml3srN7JrupdlDWWHV4mISqBKWPSaWuZyfikTJZNnklGYgaZCZkkxSQd3SCB+nLY9G8o3wnbXoDWOnBFwZxLYM6lkHFc2F94PRom4Q9SzW1uvvFwDhsLq7nnsvkhl+yN0FTRVEFpQymN7Y3UtdZRWFtIfm0++bX5FNQWUNFUcXjZSFckE5ImcMzoY5icPJnJwyYzZdgURg0d5d+RXzWF1gXXkk2w+T/gboGYJGvI5OTTYfxiiO/9/o7BwCT8Qail3c2KR9ezdl8ld355btCmHjSCy6MealtqAahqqeK9/e912yfu1eJuoaiuiOSYZEobS6lsqjz8WlVz1REXSL2Gxw4nMzGTk8aeRFZiFpmJmdb/SZmBrQipCtueh/9+EzxtEBkLcy+D474zoEbW+JNJ+INMfUs7P3wql/d2lvOHi2Zxwbyjn2TaCI761npySnNwe9y9LltUX8S/t/+bAw0H+r2fUUNHUddax7DYYaTFpyFYrfGspCwumnwRWUlZDIkcQnxUPOkJ6UeOfgkkj9tqxVfvg/2fwP611jDK9GPgwpWQOBYi/T8t4EAS1IQvImcCdwMRwL9U9bZg7j+YcvfX8OqWEgC+OCft8BBHt0dpanPT7vbQ5lbcHqW6sZWCygbSkoeQmnDkG7amsY3XtpTQ0u5BsW4qAatxAzB5VDxfXjiux1Nkt0c5UNPEy5tLWPneHqob27j5izP5yjFmCsBQ5VEPWyq2sKF0AxvKNrC5fDOHWg7h1t6Tvde8kfO4fPrlRLgiiHJFsTh9McNjh/e4joh8vlXe3gJI30v7ejyAgnqsJK3uDv977P/bref2rILKXUeuf6jYKlvQUU0B1B6w1gOIGgrDxsPZf7KqUkYHZoaogSZoo3REJALYCSwDioBPgEtVdVt36wRylE6buw0ERCNobvdQVttMUXUTTW1u3tleyqXHZjBrbBIt7R4AXCIMiY5AValvacej0NLmZnd5Pe1uxa3KO9tL2Vlaz7p9VQBERVhJODrCxcSR8ZTWNlNe10KkthGJ9YfbTgRtkY24ossBF+6mcaBH/sG5hMNjzwU5PKhAFZra3EwdlcCQ6AhEIHGocs6s0RxqbKeyoZU9ZQ3sOFjH/qomQFg8ZSQ/OG0K88YNC8mZhPKq8qhpqQnItj1tbWhLG+0SybbKHeyu2YUgRLgiiZIoolyRRLuiiYuOJ8YVgwvvgQaOeNyBwuFBJkcs99mxrW6uoryhHI8qHlVUPeBpx6MKHg8erA9yVQ8ej4JbqWttpLK5BkEYNSSFSXFjSI4YyoyR84mLsW9IUw/UlVrdGR3iwRVJ9IgpjIwcaiXKjuF5H7Q3Q+FH0NJgvZE8bmt7eMDjQdUNbc3WcMbWRpAIGDUTIqKt4YvRCeButfbd0ghNVdBcfXh5RY6MScX6DKCL95wr5rPjBrR74nC7ko54jqghuGOScQ8ZBjGJED/6s5d7TGG9vMe7WbfbTdovqCpu9fRtswriATzS5YY9DfVoY+MRz7miI5n7i0u63X5PehqlE8yEfzzwG1U9w/7+FwCq+vvu1vE14d/1f3/A0/O7AOjlfUIf309drRBkekSE0sUj73J932LXfNuif7fWR/34Xfj/L+Dojovve3VmiPXRv68Cvd++bq/vW3TjwSOBO96xnih+fsuvfFo3VIZljgX2d/i+CFjUeSERWQGsAMjI8K3LYUibq2MDq1tKx7ygn3vtiLi6WLen5/u08y6279sfbfdJ/shdai9LeAPruiXS035732bfBPYz025f6uF/jmpbPTn8+1Q9cpj34V9BF2cM0mndLrZH5wZaV2dpqp+tLd67kruKV+juiHvfh9L/Zk/XIiPsLXU+GF2FJUjE54dOirgQ15F3WQf0/dLDxl0IUbg6HJ8jfe5EUBTF0/VmIyOQqKgjXomMCkxqDmbC7+rIfO43rqorgZVgtfB92dG3bvuJL6sZhmEMaMEsSlIEdJyROB3o/xACwzAMwyfBTPifAJNFZLyIRAOXAC8Gcf+GYRiDWtC6dFS1XUS+B7yBNSzzAVX9NFj7NwzDGOyCOg5fVV8FXg3mPg3DMAyLKSxuGIYxSJiEbxiGMUiYhG8YhjFImIRvGIYxSIT0jFciUg4U9Lpg11KAil6XclY4xAgmTn8LhzjDIUYwcXYlU1VTu3ohpBP+0RCRnO7qSYSKcIgRTJz+Fg5xhkOMYOLsL9OlYxiGMUiYhG8YhjFIDOSEv9LpAPogHGIEE6e/hUOc4RAjmDj7ZcD24RuGYRhHGsgtfMMwDKMDk/ANwzAGiQGX8EXkTBHJE5HdIvJzp+PpSETyRWSLiOSKSI793HAReUtEdtn/D3MgrgdEpExEtnZ4rtu4ROQX9vHNE5EzHIzxNyJSbB/PXBE528kY7f2OE5HVIrJdRD4Vkevt50PmePYQY0gdTxGJFZF1IrLJjvNm+/mQOZa9xBlSxxPwTp48ML6wyi7vASYA0cAmYIbTcXWILx9I6fTcH4Gf249/DvzBgbgWA/OBrb3FBcywj2sMMN4+3hEOxfgb4IYulnUkRnvfY4D59uMEYKcdT8gczx5iDKnjiTVLXrz9OAr4GDgulI5lL3GG1PFU1QHXwj8W2K2qe1W1FXgSON/hmHpzPvCw/fhh4IJgB6Cq7wFVnZ7uLq7zgSdVtUVV9wG7sY67EzF2x5EYAVS1RFU32I/rgO1Y8zmHzPHsIcbuOPU7V1Wtt7+Nsr+UEDqWvcTZHcfenwMt4Xc1UXpPb+RgU+BNEVlvT9YOMEpVS8D6QwRGOhbdkbqLK9SO8fdEZLPd5eM9tQ+JGEUkC5iH1eILyePZKUYIseMpIhEikguUAW+pakgey27ihBA7ngMt4fdponQHnaiq84GzgO+KyGKnA/JBKB3jvwMTgblACfBn+3nHYxSReOC/wA9UtbanRbt4LiixdhFjyB1PVXWr6lysObCPFZHsHhYPtThD7ngOtIQf0hOlq+oB+/8y4Dms07hSERkDYP9f5lyER+gurpA5xqpaav+heYB/8tlpsaMxikgUViJ9XFWftZ8OqePZVYyhejzt2GqAd4EzCbFj2VHHOEPxeA60hB+yE6WLSJyIJHgfA6cDW7Hi+5q92NeAF5yJ8HO6i+tF4BIRiRGR8cBkYJ0D8Xn/2L2WYx1PcDBGERHgfmC7qt7R4aWQOZ7dxRhqx1NEUkUk2X48BDgN2EEIHcue4gy14wkMrFE6al0BPxtr1MEe4FdOx9MhrglYV+Y3AZ96YwNGAO8Au+z/hzsQ2xNYp5xtWK2Pa3qKC/iVfXzzgLMcjPFRYAuwGeuPaIyTMdr7PQnr9HwzkGt/nR1Kx7OHGEPqeAKzgY12PFuBX9vPh8yx7CXOkDqeqmpKKxiGYQwWA61LxzAMw+iGSfiGYRiDhEn4hmEYg4RJ+IZhGIOESfiGYRiDhEn4hmETkWQR+Y79OE1EnnE6JsPwJzMs0zBsdl2Zl1W1p9v3DSNsRTodgGGEkNuAiXYRrF3AdFXNFpGrsCoyRgDZWDVRooErgRbgbFWtEpGJwN+AVKAR+Kaq7gj2D2EY3TFdOobxmZ8De9QqgvWTTq9lA5dh1UP5HdCoqvOAj4Cv2susBL6vqguAG4B7gxG0YfSVaeEbRt+sVqt2fJ2IHAJesp/fAsy2K0+eADxtlaoBrAkuDCNkmIRvGH3T0uGxp8P3Hqy/IxdQY58dGEZIMl06hvGZOqwp//pNrXry+0TkS2BVpBSROf4MzjCOlkn4hmFT1UrgQ7EmSr/dh01cDlwjIt6KqKE+vaYxyJhhmYZhGIOEaeEbhmEMEibhG4ZhDBIm4RuGYQwSJuEbhmEMEibhG4ZhDBIm4RuGYQwSJuEbhmEMEv8fUXiX+gQXhAkAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "swiftdiff['vmag'].sel(id=plidx).plot.line(ax=ax, x=\"time\")\n", + "ax.set_ylabel(\"$|\\mathbf{v}_{swiftest} - \\mathbf{v}_{swifter}|$\")\n", + "ax.set_title(\"Heliocentric velocity differences \\n Planets only\")\n", + "fig.savefig(\"symba_swifter_comparison-8pl-16tp-planets-vmag.png\", facecolor='white', transparent=False, dpi=300)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "No handles with labels found to put in legend.\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "swiftdiff['rmag'].sel(id=tpidx).plot.line(ax=ax, x=\"time\")\n", + "ax.set_ylabel(\"$|\\mathbf{r}_{swiftest} - \\mathbf{r}_{swifter}|$\")\n", + "ax.set_title(\"Heliocentric position differences \\n Test Particles only\")\n", + "legend = ax.legend()\n", + "legend.remove()\n", + "fig.savefig(\"symba_swifter_comparison-8pl-16tp-testparticles-rmag.png\", facecolor='white', transparent=False, dpi=300)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "No handles with labels found to put in legend.\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "swiftdiff['vmag'].sel(id=tpidx).plot.line(ax=ax, x=\"time\")\n", + "ax.set_ylabel(\"$|\\mathbf{v}_{swiftest} - \\mathbf{v}_{swifter}|$\")\n", + "ax.set_title(\"Heliocentric velocity differences \\n Test Particles only\")\n", + "legend = ax.legend()\n", + "legend.remove()\n", + "fig.savefig(\"symba_swifter_comparison-8pl-16tp-testparticles-vmag.png\", facecolor='white', transparent=False, dpi=300)" + ] + } + ], + "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/8pl/tp.in b/examples/symba_swifter_comparison/8pl/tp.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/tp.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_swifter_comparison/8pl/tp.swifter.in b/examples/symba_swifter_comparison/8pl/tp.swifter.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/tp.swifter.in @@ -0,0 +1 @@ +0 diff --git a/examples/symba_swifter_comparison/8pl/tp.swiftest.in b/examples/symba_swifter_comparison/8pl/tp.swiftest.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_swifter_comparison/8pl/tp.swiftest.in @@ -0,0 +1 @@ +0 diff --git a/src/discard/discard.f90 b/src/discard/discard.f90 index 558b8b899..23ef3541d 100644 --- a/src/discard/discard.f90 +++ b/src/discard/discard.f90 @@ -12,7 +12,7 @@ module subroutine discard_system(self, param) class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals - logical :: lany_discards, lpl_discards, ltp_discards, lpl_check, ltp_check + logical :: lpl_discards, ltp_discards, lpl_check, ltp_check lpl_check = allocated(self%pl_discards) ltp_check = allocated(self%tp_discards) @@ -180,7 +180,6 @@ subroutine discard_peri_tp(tp, system, param) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameterss ! Internals - logical, save :: lfirst = .true. integer(I4B) :: i, j, ih real(DP) :: r2 real(DP), dimension(NDIM) :: dx diff --git a/src/drift/drift.f90 b/src/drift/drift.f90 index 3acc88609..2a5f3e472 100644 --- a/src/drift/drift.f90 +++ b/src/drift/drift.f90 @@ -80,11 +80,11 @@ module subroutine drift_all(mu, x, v, n, param, dt, lmask, iflag) where(lmask(1:n)) dtp(1:n) = dt end if - !$omp simd + !!$omp simd ! SIMD does not yet work do i = 1, n if (lmask(i)) call drift_one(mu(i), x(1,i), x(2,i), x(3,i), v(1,i), v(2,i), v(3,i), dtp(i), iflag(i)) end do - !$omp end simd + !!$omp end simd deallocate(dtp) diff --git a/src/encounter/encounter_check.f90 b/src/encounter/encounter_check.f90 index e790abf5a..d59ab38ce 100644 --- a/src/encounter/encounter_check.f90 +++ b/src/encounter/encounter_check.f90 @@ -25,7 +25,6 @@ module subroutine encounter_check_all_plpl(param, npl, x, v, renc, dt, & logical, save :: lfirst = .true. logical, save :: skipit = .false. ! This will be used to ensure that the sort & sweep subroutine gets called at least once before timing it so that the extent array is nearly sorted when it is timed integer(I8B) :: nplpl = 0_I8B - integer(I8B) :: k if (param%ladaptive_encounters_plpl .and. (.not. skipit)) then nplpl = (npl * (npl - 1) / 2) @@ -91,8 +90,7 @@ module subroutine encounter_check_all_plplm(param, nplm, nplt, xplm, vplm, xplt, logical, save :: lfirst = .true. logical, save :: skipit = .false. integer(I8B) :: nplplm = 0_I8B - integer(I4B) :: npl, i - integer(I8B) :: k + integer(I4B) :: npl logical, dimension(:), allocatable :: plmplt_lvdotr !! Logical flag indicating the sign of v .dot. x in the plm-plt group integer(I4B), dimension(:), allocatable :: plmplt_index1 !! List of indices for body 1 in each encounter in the plm-plt group integer(I4B), dimension(:), allocatable :: plmplt_index2 !! List of indices for body 2 in each encounter in the plm-lt group @@ -254,10 +252,9 @@ subroutine encounter_check_all_sort_and_sweep_plpl(npl, x, v, renc, dt, nenc, in integer(I4B), dimension(:), allocatable, intent(out) :: index2 !! List of indices for body 2 in each encounter logical, dimension(:), allocatable, intent(out) :: lvdotr !! Logical flag indicating the sign of v .dot. x ! Internals - integer(I4B) :: i, dim, n + integer(I4B) :: dim, n integer(I4B), save :: npl_last = 0 type(encounter_bounding_box), save :: boundingbox - logical, dimension(:), allocatable :: lencounter integer(I2B), dimension(npl) :: vshift_min, vshift_max if (npl == 0) return @@ -316,12 +313,10 @@ subroutine encounter_check_all_sort_and_sweep_plplm(nplm, nplt, xplm, vplm, xplt logical, dimension(:), allocatable, intent(out) :: lvdotr !! Logical flag indicating the sign of v .dot. x ! Internals type(encounter_bounding_box), save :: boundingbox - integer(I4B) :: i, dim, n, ntot + integer(I4B) :: dim, n, ntot integer(I4B), save :: ntot_last = 0 - logical, dimension(:), allocatable :: lencounter integer(I2B), dimension(nplm) :: vplmshift_min, vplmshift_max integer(I2B), dimension(nplt) :: vpltshift_min, vpltshift_max - logical, save :: lfirst=.true. ! If this is the first time through, build the index lists if ((nplm == 0) .or. (nplt == 0)) return @@ -390,9 +385,8 @@ subroutine encounter_check_all_sort_and_sweep_pltp(npl, ntp, xpl, vpl, xtp, vtp, logical, dimension(:), allocatable, intent(out) :: lvdotr !! Logical flag indicating the sign of v .dot. x ! Internals type(encounter_bounding_box), save :: boundingbox - integer(I4B) :: i, dim, n, ntot + integer(I4B) :: dim, n, ntot integer(I4B), save :: ntot_last = 0 - logical, dimension(:), allocatable :: lencounter integer(I2B), dimension(npl) :: vplshift_min, vplshift_max integer(I2B), dimension(ntp) :: vtpshift_min, vtpshift_max real(DP), dimension(ntp) :: renctp @@ -467,7 +461,6 @@ pure subroutine encounter_check_all_sweep_one(i, n, xi, yi, zi, vxi, vyi, vzi, x logical, dimension(:), allocatable, intent(inout) :: lvdotr !! v.dot.r direction array ! Internals integer(I4B) :: j - integer(I8B) :: k real(DP) :: xr, yr, zr, vxr, vyr, vzr, renc12 logical, dimension(n) :: lencounteri, lvdotri @@ -515,7 +508,7 @@ pure subroutine encounter_check_all_triangular_one(i, n, xi, yi, zi, vxi, vyi, v type(encounter_list), intent(out) :: lenci !! Output encounter lists containing number of encounters, the v.dot.r direction array, and the index list of encountering bodies ! Internals integer(I4B) :: j - integer(I8B) :: k, nenci + integer(I8B) :: nenci real(DP) :: xr, yr, zr, vxr, vyr, vzr, renc12 logical, dimension(n) :: lencounteri, lvdotri @@ -559,9 +552,7 @@ subroutine encounter_check_all_triangular_plpl(npl, x, v, renc, dt, nenc, index1 integer(I4B), dimension(:), allocatable, intent(out) :: index2 !! List of indices for body 2 in each encounter logical, dimension(:), allocatable, intent(out) :: lvdotr !! Logical flag indicating the sign of v .dot. x ! Internals - integer(I4B) :: i, j, k, nenci, j0, j1 - real(DP) :: xr, yr, zr, vxr, vyr, vzr, renc12 - logical, dimension(npl) :: lencounteri, lvdotri + integer(I4B) :: i integer(I4B), dimension(:), allocatable, save :: ind_arr type(encounter_list), dimension(npl) :: lenc @@ -609,7 +600,6 @@ subroutine encounter_check_all_triangular_plplm(nplm, nplt, xplm, vplm, xplt, vp logical, dimension(:), allocatable, intent(out) :: lvdotr !! Logical flag indicating the sign of v .dot. x ! Internals integer(I4B) :: i - logical, dimension(nplt) :: lencounteri, lvdotri integer(I4B), dimension(:), allocatable, save :: ind_arr type(encounter_list), dimension(nplm) :: lenc @@ -656,7 +646,6 @@ subroutine encounter_check_all_triangular_pltp(npl, ntp, xpl, vpl, xtp, vtp, ren logical, dimension(:), allocatable, intent(out) :: lvdotr !! Logical flag indicating the sign of v .dot. x ! Internals integer(I4B) :: i - logical, dimension(ntp) :: lencounteri, lvdotri integer(I4B), dimension(:), allocatable, save :: ind_arr type(encounter_list), dimension(npl) :: lenc real(DP), dimension(ntp) :: renct @@ -914,15 +903,11 @@ module subroutine encounter_check_sweep_aabb_double_list(self, n1, n2, x1, v1, x integer(I4B), dimension(:), allocatable, intent(out) :: index2 !! List of indices for body 2 in each encounter candidate pair logical, dimension(:), allocatable, intent(out) :: lvdotr !! Logical array indicating which pairs are approaching ! Internals - integer(I4B) :: ii, i, j, ntot, nbox, dim - integer(I8B) :: k + integer(I4B) :: ii, i, ntot, nbox, dim logical, dimension(n1+n2) :: loverlap logical, dimension(SWEEPDIM,n1+n2) :: loverlap_by_dimension - integer(I4B), dimension(SWEEPDIM) :: noverlap - integer(I4B), dimension(SWEEPDIM,n1+n2) :: nbox_arr logical, dimension(SWEEPDIM,2*(n1+n2)) :: llist1 integer(I4B), dimension(SWEEPDIM,2*(n1+n2)) :: ext_ind - integer(I4B), dimension(:), allocatable :: x_ind type(encounter_list), dimension(n1+n2) :: lenc !! Array of encounter lists (one encounter list per body) integer(I4B), dimension(:), allocatable, save :: ind_arr integer(I8B) :: ibeg, iend diff --git a/src/fraggle/fraggle_generate.f90 b/src/fraggle/fraggle_generate.f90 index 2b443bebe..21f6d386a 100644 --- a/src/fraggle/fraggle_generate.f90 +++ b/src/fraggle/fraggle_generate.f90 @@ -83,21 +83,21 @@ module subroutine fraggle_generate_fragments(self, colliders, system, param, lfa end do call frag%get_energy_and_momentum(colliders, system, param, lbefore=.false.) - call frag%set_budgets(colliders) + call frag%set_budgets() - call fraggle_generate_spins(frag, colliders, f_spin, lfailure) + call fraggle_generate_spins(frag, f_spin, lfailure) if (lfailure) then call io_log_one_message(FRAGGLE_LOG_OUT, "Fraggle failed to find spins") cycle end if - call fraggle_generate_tan_vel(frag, colliders, lfailure) + call fraggle_generate_tan_vel(frag, lfailure) if (lfailure) then call io_log_one_message(FRAGGLE_LOG_OUT, "Fraggle failed to find tangential velocities") cycle end if - call fraggle_generate_rad_vel(frag, colliders, lfailure) + call fraggle_generate_rad_vel(frag, lfailure) if (lfailure) then call io_log_one_message(FRAGGLE_LOG_OUT, "Fraggle failed to find radial velocities") cycle @@ -217,7 +217,7 @@ subroutine fraggle_generate_pos_vec(frag, colliders, r_max_start) end subroutine fraggle_generate_pos_vec - subroutine fraggle_generate_spins(frag, colliders, f_spin, lfailure) + subroutine fraggle_generate_spins(frag, 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. @@ -226,7 +226,6 @@ subroutine fraggle_generate_spins(frag, colliders, f_spin, lfailure) 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 @@ -278,7 +277,7 @@ subroutine fraggle_generate_spins(frag, colliders, f_spin, lfailure) end subroutine fraggle_generate_spins - subroutine fraggle_generate_tan_vel(frag, colliders, lfailure) + subroutine fraggle_generate_tan_vel(frag, 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. @@ -294,7 +293,6 @@ subroutine fraggle_generate_tan_vel(frag, colliders, lfailure) 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 @@ -302,10 +300,9 @@ subroutine fraggle_generate_tan_vel(frag, colliders, lfailure) 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) :: tol 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 @@ -464,7 +461,7 @@ end function tangential_objective_function end subroutine fraggle_generate_tan_vel - subroutine fraggle_generate_rad_vel(frag, colliders, lfailure) + subroutine fraggle_generate_rad_vel(frag, lfailure) !! Author: Jennifer L.L. Pouplin, Carlisle A. Wishard, and David A. Minton !! !! @@ -472,7 +469,6 @@ subroutine fraggle_generate_rad_vel(frag, colliders, lfailure) 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 @@ -480,9 +476,8 @@ subroutine fraggle_generate_rad_vel(frag, colliders, lfailure) 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 + integer(I4B) :: i 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 diff --git a/src/fraggle/fraggle_regime.f90 b/src/fraggle/fraggle_regime.f90 index abe5766f0..ef217efe8 100644 --- a/src/fraggle/fraggle_regime.f90 +++ b/src/fraggle/fraggle_regime.f90 @@ -15,12 +15,11 @@ module subroutine fraggle_regime_colliders(self, frag, system, param) 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 + integer(I4B) :: jtarg, jproj 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 + real(DP) :: mlr, mslr, mtot, dentot 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 diff --git a/src/fraggle/fraggle_set.f90 b/src/fraggle/fraggle_set.f90 index baf29f8b0..ee8a50e98 100644 --- a/src/fraggle/fraggle_set.f90 +++ b/src/fraggle/fraggle_set.f90 @@ -2,14 +2,13 @@ use swiftest contains - module subroutine fraggle_set_budgets_fragments(self, colliders) + module subroutine fraggle_set_budgets_fragments(self) !! 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 @@ -162,7 +161,7 @@ module subroutine fraggle_set_coordinate_system(self, colliders) 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), dimension(NDIM) :: delta_r, delta_v, Ltot real(DP) :: r_col_norm, v_col_norm, L_mag real(DP), dimension(NDIM, self%nbody) :: L_sigma diff --git a/src/fraggle/fraggle_util.f90 b/src/fraggle/fraggle_util.f90 index f2c082242..748831664 100644 --- a/src/fraggle/fraggle_util.f90 +++ b/src/fraggle/fraggle_util.f90 @@ -138,10 +138,7 @@ module subroutine fraggle_util_get_energy_momentum(self, colliders, system, para class(swiftest_parameters), intent(inout) :: 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 @@ -214,10 +211,7 @@ module subroutine fraggle_util_restructure(self, colliders, try, f_spin, r_max_s 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 diff --git a/src/helio/helio_drift.f90 b/src/helio/helio_drift.f90 index 7b222057e..566959bc9 100644 --- a/src/helio/helio_drift.f90 +++ b/src/helio/helio_drift.f90 @@ -17,7 +17,6 @@ module subroutine helio_drift_body(self, system, param, dt) real(DP), intent(in) :: dt !! Stepsize ! Internals integer(I4B) :: i !! Loop counter - real(DP) :: rmag, vmag2, energy integer(I4B), dimension(:),allocatable :: iflag !! Vectorized error code flag real(DP), dimension(:), allocatable :: mu @@ -131,7 +130,6 @@ module subroutine helio_drift_linear_pl(self, cb, dt, lbeg) logical, intent(in) :: lbeg !! Argument that determines whether or not this is the beginning or end of the step ! Internals real(DP), dimension(NDIM) :: pt !! negative barycentric velocity of the central body - integer(I4B) :: i if (self%nbody == 0) return diff --git a/src/helio/helio_gr.f90 b/src/helio/helio_gr.f90 index 2c99d0016..25fae5802 100644 --- a/src/helio/helio_gr.f90 +++ b/src/helio/helio_gr.f90 @@ -13,11 +13,6 @@ pure module subroutine helio_gr_kick_getacch_pl(self, param) ! Arguments class(helio_pl), intent(inout) :: self !! Helio massive body particle data structure class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - ! Internals - integer(I4B) :: i - real(DP), dimension(NDIM) :: suma - real(DP), dimension(:, :), allocatable :: aj - real(DP) :: beta, rjmag4 if (self%nbody == 0) return @@ -41,9 +36,6 @@ pure module subroutine helio_gr_kick_getacch_tp(self, param) ! Arguments class(helio_tp), intent(inout) :: self !! Helio massive body particle data structure class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters - ! Internals - integer(I4B) :: i - real(DP) :: rjmag4, beta if (self%nbody == 0) return diff --git a/src/io/io.f90 b/src/io/io.f90 index 27068aeb9..b3f09bfd5 100644 --- a/src/io/io.f90 +++ b/src/io/io.f90 @@ -234,7 +234,6 @@ module subroutine io_dump_base(self, param) class(swiftest_base), intent(inout) :: self !! Swiftest base object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals - integer(I4B) :: ierr !! Error code integer(I4B) :: iu = LUN character(len=:), allocatable :: dump_file_name character(STRMAX) :: errmsg @@ -951,13 +950,6 @@ module subroutine io_param_writer(self, unit, iotype, v_list, iostat, iomsg) character(*),parameter :: Ifmt = '(I0)' !! Format label for integer values character(*),parameter :: Rfmt = '(ES25.17)' !! Format label for real values character(*),parameter :: Lfmt = '(L1)' !! Format label for logical values - character(len=NAMELEN) :: param_name - character(LEN=STRMAX) :: param_value, v1, v2, v3 - type character_array - character(25) :: value - end type character_array - type(character_array), dimension(:), allocatable :: param_array - integer(I4B) :: i associate(param => self) call io_param_writer_one("T0", param%t0, unit) @@ -1244,8 +1236,6 @@ module subroutine io_read_in_base(self,param) implicit none class(swiftest_base), intent(inout) :: self !! Swiftest base object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - ! Internals - integer(I4B) :: ierr !! Error code: returns 0 if the read is successful if ((param%in_type == NETCDF_FLOAT_TYPE) .or. (param%in_type == NETCDF_DOUBLE_TYPE)) return ! This method is not used in NetCDF mode, as reading is done for the whole system, not on individual particle types @@ -1276,9 +1266,9 @@ subroutine io_read_in_body(self, param) integer(I4B) :: i, nbody logical :: is_ascii character(len=:), allocatable :: infile - real(DP) :: t character(STRMAX) :: errmsg - integer(I4B) :: ierr + ! Internals + integer(I4B) :: ierr !! Error code: returns 0 if the read is successful ! Select the appropriate polymorphic class (test particle or massive body) @@ -1337,7 +1327,7 @@ subroutine io_read_in_cb(self, param) ! Internals integer(I4B) :: iu = LUN character(len=STRMAX) :: errmsg - integer(I4B) :: ierr, idold + integer(I4B) :: ierr character(len=NAMELEN) :: name if (param%in_type == 'ASCII') then @@ -1843,7 +1833,7 @@ module subroutine io_read_particle_info_system(self, param) 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, id, idx + integer(I4B) :: id, idx logical :: lmatch character(STRMAX) :: errmsg type(swiftest_particle_info), allocatable :: tmpinfo diff --git a/src/modules/fraggle_classes.f90 b/src/modules/fraggle_classes.f90 index 042ff5a78..4621a9e34 100644 --- a/src/modules/fraggle_classes.f90 +++ b/src/modules/fraggle_classes.f90 @@ -164,10 +164,9 @@ module subroutine fraggle_regime_colliders(self, frag, system, param) class(swiftest_parameters), intent(in) :: param !! Current Swiftest run configuration parameters end subroutine fraggle_regime_colliders - module subroutine fraggle_set_budgets_fragments(self, colliders) + module subroutine fraggle_set_budgets_fragments(self) 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) diff --git a/src/modules/lambda_function.f90 b/src/modules/lambda_function.f90 index cd7e180cb..289f01516 100644 --- a/src/modules/lambda_function.f90 +++ b/src/modules/lambda_function.f90 @@ -150,6 +150,7 @@ module lambda_function type, extends(lambda_obj) :: lambda_obj_tvar !! Base class for an lambda function object. This object takes no additional arguments other than the dependent variable x, an array of real numbers procedure(lambda0tvar), pointer, nopass :: lambdaptr_tvar => null() + real(DP) :: t contains generic :: init => lambda_init_tvar procedure :: evalt => lambda_eval_tvar @@ -211,6 +212,7 @@ type(lambda_obj_tvar) function lambda_init_tvar(lambda, t) procedure(lambda0tvar) :: lambda real(DP), intent(in) :: t lambda_init_tvar%lambdaptr_tvar => lambda + lambda_init_tvar%t = t return end function lambda_init_tvar diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index 525013500..55b2a85b3 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -663,7 +663,6 @@ module subroutine symba_util_reset_kinship(self, idx) implicit none 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 diff --git a/src/netcdf/netcdf.f90 b/src/netcdf/netcdf.f90 index e0118dfc7..4a39b5e1b 100644 --- a/src/netcdf/netcdf.f90 +++ b/src/netcdf/netcdf.f90 @@ -69,7 +69,7 @@ module function netcdf_get_old_t_final_system(self, param) result(old_t_final) real(DP), dimension(:), allocatable :: vals real(DP), dimension(1) :: val real(DP), dimension(NDIM) :: rot0, Ip0, Lnow - real(DP) :: KE_orb_orig, KE_spin_orig, PE_orig, Ltmp + real(DP) :: KE_orb_orig, KE_spin_orig, PE_orig call param%nciu%open(param) call check( nf90_inquire_dimension(param%nciu%ncid, param%nciu%time_dimid, len=itmax), "netcdf_get_old_t_final_system time_dimid" ) @@ -168,12 +168,12 @@ module subroutine netcdf_initialize_output(self, param) 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, nvar, varid, vartype, old_unit + integer(I4B) :: nvar, varid, vartype real(DP) :: dfill real(SP) :: sfill logical :: fileExists character(len=STRMAX) :: errmsg - integer(I4B) :: storage, ndims, i + integer(I4B) :: ndims dfill = ieee_value(dfill, IEEE_QUIET_NAN) sfill = ieee_value(sfill, IEEE_QUIET_NAN) @@ -478,7 +478,7 @@ module function netcdf_read_frame_system(self, iu, param) result(ierr) ! Return integer(I4B) :: ierr !! Error code: returns 0 if the read is successful ! Internals - integer(I4B) :: dim, i, j, tslot, idmax, npl_check, ntp_check, nplm_check, t_max, str_max + integer(I4B) :: tslot, idmax, npl_check, ntp_check, nplm_check, t_max, str_max real(DP), dimension(:), allocatable :: rtemp integer(I4B), dimension(:), allocatable :: itemp logical, dimension(:), allocatable :: validmask, tpmask, plmask @@ -774,7 +774,7 @@ module subroutine netcdf_read_particle_info_system(self, iu, param, plmask, tpma logical, dimension(:), intent(in) :: plmask !! Logical array indicating which index values belong to massive bodies logical, dimension(:), intent(in) :: tpmask !! Logical array indicating which index values belong to test particles ! Internals - integer(I4B) :: i, j, tslot, idslot, old_mode, idmax + integer(I4B) :: i, idmax real(DP), dimension(:), allocatable :: rtemp real(DP), dimension(:,:), allocatable :: rtemp_arr integer(I4B), dimension(:), allocatable :: itemp @@ -1091,7 +1091,7 @@ module subroutine netcdf_write_particle_info_base(self, iu, param) class(netcdf_parameters), intent(inout) :: iu !! Parameters used to identify a particular NetCDF dataset class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals - integer(I4B) :: i, j, tslot, idslot, old_mode + integer(I4B) :: i, j, idslot, old_mode integer(I4B), dimension(:), allocatable :: ind character(len=NAMELEN) :: charstring diff --git a/src/obl/obl.f90 b/src/obl/obl.f90 index bf369c615..88b66cf90 100644 --- a/src/obl/obl.f90 +++ b/src/obl/obl.f90 @@ -128,7 +128,7 @@ module subroutine obl_pot_system(self) 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))) + oblpot_arr(i) = obl_pot_one(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 @@ -137,7 +137,7 @@ module subroutine obl_pot_system(self) end subroutine obl_pot_system - elemental function obl_pot_one(npl, GMcb, GMpl, j2rp2, j4rp4, zh, irh) result(oblpot) + elemental function obl_pot_one(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 @@ -149,7 +149,6 @@ elemental function obl_pot_one(npl, GMcb, GMpl, j2rp2, j4rp4, zh, irh) result(ob !! 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 @@ -160,8 +159,7 @@ elemental function obl_pot_one(npl, GMcb, GMpl, j2rp2, j4rp4, zh, irh) result(ob real(DP) :: oblpot !! Gravitational potential ! Internals - integer(I4B) :: i - real(DP) :: rinv2, t0, t1, t2, t3, p2, p4, mu + real(DP) :: rinv2, t0, t1, t2, t3, p2, p4 rinv2 = irh**2 t0 = GMcb * GMpl * rinv2 * irh diff --git a/src/orbel/orbel.f90 b/src/orbel/orbel.f90 index 31f7f23c3..c7f3a63c2 100644 --- a/src/orbel/orbel.f90 +++ b/src/orbel/orbel.f90 @@ -217,7 +217,6 @@ real(DP) pure function orbel_flon(e,icapn) real(DP) :: a,b,sq,biga,bigb, capn real(DP) :: x,x2 real(DP) :: f,fp,dx - real(DP) :: diff real(DP) :: a0,a1 real(DP) :: b1 integer(I4B), parameter :: IMAX = 10 diff --git a/src/rmvs/rmvs_encounter_check.f90 b/src/rmvs/rmvs_encounter_check.f90 index bbb5a4382..8bcafef0d 100644 --- a/src/rmvs/rmvs_encounter_check.f90 +++ b/src/rmvs/rmvs_encounter_check.f90 @@ -18,11 +18,8 @@ module function rmvs_encounter_check_tp(self, param, system, dt) result(lencount ! Result logical :: lencounter !! Returns true if there is at least one close encounter ! Internals - integer(I4B) :: i, j + integer(I4B) :: i integer(I8B) :: nenc - real(DP) :: xr, yr, zr, vxr, vyr, vzr - real(DP), dimension(system%pl%nbody) :: rcrit - logical :: lflag logical, dimension(:), allocatable :: lvdotr integer(I4B), dimension(:), allocatable :: index1, index2 @@ -42,8 +39,8 @@ module function rmvs_encounter_check_tp(self, param, system, dt) result(lencount lencounter = (nenc > 0_I8B) if (lencounter) then tp%plencP(index2(1_I8B:nenc)) = index1(1_I8B:nenc) - do j = 1, npl - pl%nenc(j) = count(tp%plencP(1:ntp) == j) + do i = 1, npl + pl%nenc(i) = count(tp%plencP(1:ntp) == i) end do end if end associate diff --git a/src/rmvs/rmvs_setup.f90 b/src/rmvs/rmvs_setup.f90 index a95fe83f6..c33c3028b 100644 --- a/src/rmvs/rmvs_setup.f90 +++ b/src/rmvs/rmvs_setup.f90 @@ -14,7 +14,7 @@ module subroutine rmvs_setup_pl(self, n, param) 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,j + integer(I4B) :: i !> Call allocation method for parent class associate(pl => self) diff --git a/src/rmvs/rmvs_step.f90 b/src/rmvs/rmvs_step.f90 index 2b7e9045a..9e44595e6 100644 --- a/src/rmvs/rmvs_step.f90 +++ b/src/rmvs/rmvs_step.f90 @@ -16,10 +16,8 @@ module subroutine rmvs_step_system(self, param, t, dt) real(DP), intent(in) :: t !! Current simulation time real(DP), intent(in) :: dt !! Current stepsiz ! Internals - logical :: lencounter, lfirstpl, lfirsttp - real(DP) :: rts + logical :: lencounter, lfirstpl real(DP), dimension(:,:), allocatable :: xbeg, xend, vbeg - integer(I4B) :: i if (self%tp%nbody == 0) then call whm_step_system(self, param, t, dt) @@ -164,8 +162,8 @@ subroutine rmvs_step_out(cb, pl, tp, system, param, t, dt) real(DP), intent(in) :: t !! Current simulation time real(DP), intent(in) :: dt !! Current stepsiz ! Internals - integer(I4B) :: outer_index, j, k - real(DP) :: dto, outer_time, rts + integer(I4B) :: outer_index, j + real(DP) :: dto, outer_time logical :: lencounter, lfirsttp associate(npl => pl%nbody, ntp => tp%nbody) @@ -354,7 +352,7 @@ subroutine rmvs_step_in(cb, pl, tp, param, outer_time, dto) real(DP), intent(in) :: dto !! Outer step size ! Internals logical :: lfirsttp - integer(I4B) :: i, j, ipleP + integer(I4B) :: i, j real(DP) :: dti, inner_time associate(npl => pl%nbody) diff --git a/src/rmvs/rmvs_util.f90 b/src/rmvs/rmvs_util.f90 index 5e8fbbb3e..c85ca8fac 100644 --- a/src/rmvs/rmvs_util.f90 +++ b/src/rmvs/rmvs_util.f90 @@ -148,8 +148,6 @@ module subroutine rmvs_util_fill_pl(self, inserts, lfill_list) class(rmvs_pl), intent(inout) :: self !! RMVS massive body object class(swiftest_body), intent(in) :: inserts !! Inserted object logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps - ! Internals - integer(I4B) :: i associate(keeps => self) select type(inserts) @@ -463,8 +461,6 @@ module subroutine rmvs_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 the keeps array or not - ! Internals - integer(I4B) :: i associate(keeps => self) select type(discards) @@ -496,8 +492,6 @@ module subroutine rmvs_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 the keeps array or not - ! Internals - integer(I4B) :: i associate(keeps => self) select type(discards) diff --git a/src/setup/setup.f90 b/src/setup/setup.f90 index 9a7fe7e78..eb9281558 100644 --- a/src/setup/setup.f90 +++ b/src/setup/setup.f90 @@ -80,7 +80,6 @@ module subroutine setup_finalize_system(self, param) ! Arguments class(swiftest_nbody_system), intent(inout) :: self !! Swiftest system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - integer(I4B) :: ierr associate(system => self) if ((param%out_type == NETCDF_FLOAT_TYPE) .or. (param%out_type == NETCDF_DOUBLE_TYPE)) then @@ -132,7 +131,6 @@ 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 - integer(I4B) :: ierr associate(system => self, cb => self%cb, pl => self%pl, tp => self%tp) diff --git a/src/symba/symba_collision.f90 b/src/symba/symba_collision.f90 index dcb2b674b..96be938ca 100644 --- a/src/symba/symba_collision.f90 +++ b/src/symba/symba_collision.f90 @@ -83,7 +83,6 @@ module function symba_collision_casehitandrun(system, param, colliders, frag) r 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) @@ -156,10 +155,8 @@ module function symba_collision_casemerge(system, param, colliders, frag) resul 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" @@ -451,7 +448,7 @@ function symba_collision_consolidate_colliders(pl, cb, param, idx_parent, collid integer(I4B), dimension(2) :: nchild integer(I4B) :: i, j, ncolliders, idx_child real(DP), dimension(2) :: volume, density - real(DP) :: mchild, mtot, volchild + real(DP) :: mchild, volchild real(DP), dimension(NDIM) :: xc, vc, xcom, vcom, xchild, vchild, xcrossv real(DP), dimension(NDIM,2) :: mxc, vcc @@ -715,7 +712,6 @@ subroutine symba_collision_mergeaddsub(system, param, colliders, frag, status) 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) @@ -885,8 +881,6 @@ module subroutine symba_collision_resolve_fragmentations(self, system, param) ! Internals ! Internals 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 type(fraggle_colliders) :: colliders !! Fraggle colliders object @@ -937,8 +931,6 @@ module subroutine symba_collision_resolve_mergers(self, system, param) class(symba_parameters), intent(inout) :: param !! Current run configuration parameters with SyMBA additions ! Internals integer(I4B), dimension(2) :: idx_parent !! Index of the two bodies considered the "parents" of the collision - 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 type(fraggle_colliders) :: colliders !! Fraggle colliders object diff --git a/src/symba/symba_discard.f90 b/src/symba/symba_discard.f90 index 385f6f25b..5dd70afcc 100644 --- a/src/symba/symba_discard.f90 +++ b/src/symba/symba_discard.f90 @@ -18,7 +18,7 @@ subroutine symba_discard_cb_pl(pl, system, param) class(swiftest_nbody_system), intent(inout) :: system !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters ! Internals - integer(I4B) :: i, j + integer(I4B) :: i real(DP) :: energy, vb2, rb2, rh2, rmin2, rmax2, rmaxu2 character(len=STRMAX) :: idstr, timestr, message diff --git a/src/symba/symba_encounter_check.f90 b/src/symba/symba_encounter_check.f90 index 702bd09bd..eec13d783 100644 --- a/src/symba/symba_encounter_check.f90 +++ b/src/symba/symba_encounter_check.f90 @@ -17,14 +17,10 @@ module function symba_encounter_check_pl(self, param, system, dt, irec) result(l ! Result logical :: lany_encounter !! Returns true if there is at least one close encounter ! Internals - integer(I8B) :: k, nplplm, kenc, nenc + integer(I8B) :: k, nenc integer(I4B) :: i, j, npl, nplm, nplt - logical, dimension(:), allocatable :: lencounter, loc_lvdotr, lvdotr + logical, dimension(:), allocatable :: lvdotr integer(I4B), dimension(:), allocatable :: index1, index2 - integer(I4B), dimension(:,:), allocatable :: k_plpl_enc - type(interaction_timer), save :: itimer - logical, save :: lfirst = .true. - type(walltimer) :: timer lany_encounter = .false. if (self%nbody == 0) return @@ -198,11 +194,8 @@ module function symba_encounter_check_tp(self, param, system, dt, irec) result(l ! Result 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, plind, tpind + integer(I4B) :: plind, tpind integer(I8B) :: k, nenc - real(DP), dimension(NDIM) :: xr, vr - real(DP) :: rshell_irec logical, dimension(:), allocatable :: lvdotr integer(I4B), dimension(:), allocatable :: index1, index2 diff --git a/src/symba/symba_gr.f90 b/src/symba/symba_gr.f90 index 6340bd429..41577067d 100644 --- a/src/symba/symba_gr.f90 +++ b/src/symba/symba_gr.f90 @@ -44,8 +44,6 @@ pure module subroutine symba_gr_p4_tp(self, system, param, dt) 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) :: dt !! Step size - ! Internals - integer(I4B) :: i if (self%nbody == 0) return diff --git a/src/symba/symba_io.f90 b/src/symba/symba_io.f90 index 407c5d300..f21e95600 100644 --- a/src/symba/symba_io.f90 +++ b/src/symba/symba_io.f90 @@ -167,13 +167,11 @@ module subroutine symba_io_write_discard(self, param) ! Internals 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)' character(*), parameter :: NAMEFMT = '(A, 2(1X, I8))' character(*), parameter :: VECFMT = '(3(E23.16, 1X))' 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) diff --git a/src/symba/symba_kick.f90 b/src/symba/symba_kick.f90 index 33dc6e804..f6db7902a 100644 --- a/src/symba/symba_kick.f90 +++ b/src/symba/symba_kick.f90 @@ -61,9 +61,7 @@ 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) :: i, j integer(I8B) :: nplplenc - real(DP) :: rjj, rlim2, xr, yr, zr real(DP), dimension(NDIM,self%nbody) :: ah_enc integer(I4B), dimension(:,:), allocatable :: k_plpl_enc @@ -107,7 +105,7 @@ 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 ! Internals integer(I4B) :: i, j, k - real(DP) :: rjj, fac, rlim2 + real(DP) :: rjj, fac real(DP), dimension(NDIM) :: dx if (self%nbody == 0) return diff --git a/src/symba/symba_setup.f90 b/src/symba/symba_setup.f90 index d48cc7511..f842d35b2 100644 --- a/src/symba/symba_setup.f90 +++ b/src/symba/symba_setup.f90 @@ -12,8 +12,6 @@ module subroutine symba_setup_initialize_system(self, param) ! Arguments class(symba_nbody_system), intent(inout) :: self !! SyMBA system object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters - ! Internals - integer(I4B) :: i, j ! Call parent method associate(system => self) @@ -38,8 +36,6 @@ module subroutine symba_setup_merger(self, n, param) class(symba_merger), intent(inout) :: self !! SyMBA merger list 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 !> 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) diff --git a/src/symba/symba_step.f90 b/src/symba/symba_step.f90 index 99c324286..7414d9f96 100644 --- a/src/symba/symba_step.f90 +++ b/src/symba/symba_step.f90 @@ -117,7 +117,7 @@ module subroutine symba_step_set_recur_levels_system(self, ireci) class(symba_nbody_system), intent(inout) :: self !! SyMBA nbody system object integer(I4B), intent(in) :: ireci !! Input recursion level ! Internals - integer(I4B) :: k, irecp + integer(I4B) :: irecp associate(system => self, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list, & npl => self%pl%nbody, ntp => self%tp%nbody) @@ -165,9 +165,8 @@ recursive module subroutine symba_step_recur_system(self, param, t, ireci) real(DP), intent(in) :: t integer(I4B), intent(in) :: ireci !! input recursion level ! Internals - integer(I4B) :: i, j, irecp, nloops + integer(I4B) :: j, irecp, nloops real(DP) :: dtl, dth - real(DP), dimension(NDIM) :: xr, vr logical :: lencounter, lplpl_collision, lpltp_collision associate(system => self, plplenc_list => self%plplenc_list, pltpenc_list => self%pltpenc_list) diff --git a/src/symba/symba_util.f90 b/src/symba/symba_util.f90 index 0cbdc9a4a..c927afb7c 100644 --- a/src/symba/symba_util.f90 +++ b/src/symba/symba_util.f90 @@ -402,8 +402,7 @@ module subroutine symba_util_flatten_eucl_plpl(self, param) class(symba_pl), intent(inout) :: self !! SyMBA massive body object class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals - integer(I8B) :: k, npl, nplm - integer(I4B) :: i, j, err + integer(I8B) :: npl, nplm associate(pl => self, nplplm => self%nplplm) npl = int(self%nbody, kind=I8B) @@ -600,7 +599,7 @@ module subroutine symba_util_rearray_pl(self, system, param) class(symba_parameters), intent(inout) :: param !! Current run configuration parameters ! Internals class(symba_pl), allocatable :: tmp !! The discarded body list. - integer(I4B) :: i, j, k, npl, nadd, nencmin, nenc_old, idnew1, idnew2, idold1, idold2 + integer(I4B) :: i, k, npl, nadd, nencmin, nenc_old, idnew1, idnew2, idold1, idold2 logical, dimension(:), allocatable :: lmask, ldump_mask class(symba_plplenc), allocatable :: plplenc_old logical :: lencounter @@ -1044,8 +1043,6 @@ module subroutine symba_util_sort_rearrange_pl(self, ind) ! Arguments 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 - integer(I4B) :: i, j associate(pl => self, npl => self%nbody) call util_sort_rearrange(pl%lcollision, ind, npl) diff --git a/src/tides/tides_spin_step.f90 b/src/tides/tides_spin_step.f90 index 576aff8d7..257fa68e3 100644 --- a/src/tides/tides_spin_step.f90 +++ b/src/tides/tides_spin_step.f90 @@ -41,16 +41,16 @@ module subroutine tides_step_spin_system(self, param, t, dt) real(DP), intent(in) :: t !! Simulation time real(DP), intent(in) :: dt !! Current stepsize ! Internals - real(DP), dimension(:), allocatable :: rot0, rot1 - real(DP) :: subt - real(DP), parameter :: tol=1e-6_DP !! Just a guess at the moment - real(DP) :: subdt + !real(DP), dimension(:), allocatable :: rot0 !, rot1 + !real(DP) :: subt + !real(DP), parameter :: tol=1e-6_DP !! Just a guess at the moment + !real(DP) :: subdt associate(pl => self%pl, npl => self%pl%nbody, cb => self%cb) - allocate(rot0(NDIM*(npl+1))) - rot0 = [pack(pl%rot(:,1:npl),.true.), pack(cb%rot(:),.true.)] + !allocate(rot0(NDIM*(npl+1))) + !rot0 = [pack(pl%rot(:,1:npl),.true.), pack(cb%rot(:),.true.)] ! Use this space call the ode_solver, passing tides_spin_derivs as the function: - subdt = dt / 20._DP + !subdt = dt / 20._DP !rot1(:) = util_solve_rkf45(lambda_obj(tides_spin_derivs, subdt, pl%xbeg, pl%xend), rot0, dt, subdt tol) ! Recover with unpack !pl%rot(:,1:npl) = unpack(rot1... @@ -74,23 +74,22 @@ function tides_spin_derivs(rot_pl_cb, t, dt, xbeg, xend) result(drot) !! Need to real(DP), dimension(:,:), intent(in) :: xend ! Internals real(DP), dimension(:,:), allocatable :: drot - real(DP), dimension(:), allocatable :: flatrot - real(DP), dimension(NDIM) :: N_Tcb, N_Rcb, N_Tpl, N_Rpl, xinterp - real(DP) :: C_cb, C_pl, r_dot_rot_cb, r_dot_rot_pl, rmag - integer(I4B) :: i, n + ! !real(DP), dimension(NDIM) :: N_Tcb, N_Rcb, N_Tpl, N_Rpl, xinterp + ! !real(DP) :: C_cb, C_pl, r_dot_rot_cb, r_dot_rot_pl, rmag + ! integer(I4B) :: i, n - n = size(rot_pl_cb,2) if (allocated(drot)) deallocate(drot) allocate(drot, mold=rot_pl_cb) drot(:,:) = 0.0_DP - do i = 1,n-1 - xinterp(:) = xbeg(:,i) + t / dt * (xend(:,i) - xbeg(:,i)) - ! Calculate Ncb and Npl as a function of xinterp - !drot(:,i) = -Mcb / (Mcb + Mpl(i)) * (N_Tpl + N_Rpl) - !drot(:,n) = drot(:,n) - Mcb / (Mcb + Mpl(i) * (N_Tcb + N_Rcb) - ! - end do + ! n = size(rot_pl_cb,2) + ! do i = 1,n-1 + ! xinterp(:) = xbeg(:,i) + t / dt * (xend(:,i) - xbeg(:,i)) + ! ! Calculate Ncb and Npl as a function of xinterp + ! !drot(:,i) = -Mcb / (Mcb + Mpl(i)) * (N_Tpl + N_Rpl) + ! !drot(:,n) = drot(:,n) - Mcb / (Mcb + Mpl(i) * (N_Tcb + N_Rcb) + ! ! + ! end do return end function tides_spin_derivs diff --git a/src/util/util_fill.f90 b/src/util/util_fill.f90 index bd0014be4..c11a0f55d 100644 --- a/src/util/util_fill.f90 +++ b/src/util/util_fill.f90 @@ -141,8 +141,6 @@ module subroutine util_fill_body(self, inserts, lfill_list) class(swiftest_body), intent(inout) :: self !! Swiftest generic body object class(swiftest_body), intent(in) :: inserts !! Inserted object logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps - ! internals - integer(I4B) :: i ! For each component, pack the discarded bodies into the discard object and do the inverse with the keeps !> Fill all the common components @@ -186,8 +184,6 @@ module subroutine util_fill_pl(self, inserts, lfill_list) class(swiftest_pl), intent(inout) :: self !! Swiftest massive body object class(swiftest_body), intent(in) :: inserts !! Swiftest body object to be inserted logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps - ! Internals - integer(I4B) :: i associate(keeps => self) diff --git a/src/util/util_get_energy_momentum.f90 b/src/util/util_get_energy_momentum.f90 index 65e9b90d0..80fcb5c7a 100644 --- a/src/util/util_get_energy_momentum.f90 +++ b/src/util/util_get_energy_momentum.f90 @@ -13,10 +13,10 @@ module subroutine util_get_energy_momentum_system(self, param) class(swiftest_nbody_system), intent(inout) :: self !! Swiftest nbody system object class(swiftest_parameters), intent(in) :: param !! Current run configuration parameters ! Internals - integer(I4B) :: i, j - integer(I8B) :: k, nplpl - real(DP) :: oblpot, kecb, kespincb - real(DP), dimension(self%pl%nbody) :: irh, kepl, kespinpl + integer(I4B) :: i + integer(I8B) :: nplpl + real(DP) :: kecb, kespincb + real(DP), dimension(self%pl%nbody) :: kepl, kespinpl real(DP), dimension(self%pl%nbody) :: Lplorbitx, Lplorbity, Lplorbitz real(DP), dimension(self%pl%nbody) :: Lplspinx, Lplspiny, Lplspinz real(DP), dimension(NDIM) :: Lcborbit, Lcbspin diff --git a/src/util/util_minimize_bfgs.f90 b/src/util/util_minimize_bfgs.f90 index cac951a99..3dd26f9dd 100644 --- a/src/util/util_minimize_bfgs.f90 +++ b/src/util/util_minimize_bfgs.f90 @@ -29,7 +29,7 @@ module function util_minimize_bfgs(f, N, x0, eps, maxloop, lerr) result(x1) ! Result real(DP), dimension(:), allocatable :: x1 ! Internals - integer(I4B) :: i, j, k, l, conv, num + integer(I4B) :: i, j, k, l, conv 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 diff --git a/src/util/util_solve.f90 b/src/util/util_solve.f90 index 057ed1182..d93dbf39e 100644 --- a/src/util/util_solve.f90 +++ b/src/util/util_solve.f90 @@ -170,7 +170,7 @@ module function util_solve_rkf45(f, y0in, t1, dt0, tol) result(y1) integer(I4B) :: rkn !! Runge-Kutta loop index real(DP) :: t, x1, dt, trem !! Current time, step size and total time remaining real(DP) :: s, yerr, yscale !! Step size reduction factor, error in dependent variable, and error scale factor - integer(I4B) :: i, n + integer(I4B) :: i allocate(y0, source=y0in) allocate(y1, mold=y0) diff --git a/src/util/util_sort.f90 b/src/util/util_sort.f90 index ebc6223c4..db1bf4d60 100644 --- a/src/util/util_sort.f90 +++ b/src/util/util_sort.f90 @@ -931,8 +931,6 @@ module subroutine util_sort_rearrange_arr_info(arr, ind, n) integer(I4B), intent(in) :: n !! Number of elements in arr and ind to rearrange ! Internals type(swiftest_particle_info), dimension(:), allocatable :: tmp !! Temporary copy of array used during rearrange operation - integer(I4B) :: i - if (.not. allocated(arr) .or. n <= 0) return allocate(tmp, mold=arr) diff --git a/src/walltime/walltime.f90 b/src/walltime/walltime.f90 index ba9e8ab57..4e7f81a83 100644 --- a/src/walltime/walltime.f90 +++ b/src/walltime/walltime.f90 @@ -80,8 +80,6 @@ module subroutine walltime_reset(self) ! Arguments class(walltimer), intent(inout) :: self !! Walltimer object ! Internals - integer(I8B) :: count_delta - self%is_paused = .false. self%wall_step = 0.0_DP @@ -147,7 +145,7 @@ module subroutine walltime_interaction_adapt(self, param, ninteractions, pl) integer(I8B), intent(in) :: ninteractions !! Current number of interactions (used to normalize the timed loop and to determine if number of interactions has changed since the last timing class(swiftest_pl), intent(inout), optional :: pl !! Swiftest massive body object ! Internals - character(len=STRMAX) :: tstr, nstr, cstr, mstr + character(len=STRMAX) :: nstr, cstr, mstr character(len=11) :: lstyle, advancedstyle, standardstyle character(len=1) :: schar logical :: ladvanced_final @@ -233,8 +231,6 @@ module function walltime_interaction_check(self, param, ninteractions) result(lt class(swiftest_parameters), intent(inout) :: param !! Current run configuration parameters integer(I8B), intent(in) :: ninteractions !! Current number of interactions (used to normalize the timed loop and to determine if number of interactions has changed since the last timing logical :: ltimeit !! Logical flag indicating whether this loop should be timed or not - ! Internals - character(len=STRMAX) :: tstring if (self%is_on) then ! Entering the second stage of the loop timing. Therefore we will swap the interaction style and time this loop self%stage = self%stage + 1 diff --git a/src/whm/whm_util.f90 b/src/whm/whm_util.f90 index 04ccbba58..fe221995c 100644 --- a/src/whm/whm_util.f90 +++ b/src/whm/whm_util.f90 @@ -65,8 +65,6 @@ module subroutine whm_util_fill_pl(self, inserts, lfill_list) class(whm_pl), intent(inout) :: self !! WHM massive body object class(swiftest_body), intent(in) :: inserts !! inserted object logical, dimension(:), intent(in) :: lfill_list !! Logical array of bodies to merge into the keeps - ! Internals - integer(I4B) :: i associate(keeps => self) select type(inserts) @@ -259,8 +257,7 @@ module subroutine whm_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 the keeps array or not - ! Internals - integer(I4B) :: i + associate(keeps => self) select type(discards) class is (whm_pl)