parachron 1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. parachron-1.0/CHANGES_FROM_REBOUND.md +253 -0
  2. parachron-1.0/LICENSE +674 -0
  3. parachron-1.0/MANIFEST.in +5 -0
  4. parachron-1.0/PKG-INFO +142 -0
  5. parachron-1.0/README.md +122 -0
  6. parachron-1.0/changelog.md +643 -0
  7. parachron-1.0/parachron/__init__.py +105 -0
  8. parachron-1.0/parachron/binarydata_field_descriptor.py +136 -0
  9. parachron-1.0/parachron/citations.py +313 -0
  10. parachron-1.0/parachron/frequency_analysis.py +76 -0
  11. parachron-1.0/parachron/horizons.py +294 -0
  12. parachron-1.0/parachron/integrator.py +92 -0
  13. parachron-1.0/parachron/mep.py +203 -0
  14. parachron-1.0/parachron/ode.py +36 -0
  15. parachron-1.0/parachron/orbit.py +102 -0
  16. parachron-1.0/parachron/particle.py +1045 -0
  17. parachron-1.0/parachron/particles.py +106 -0
  18. parachron-1.0/parachron/plotting.py +414 -0
  19. parachron-1.0/parachron/rotation.py +225 -0
  20. parachron-1.0/parachron/simulation.py +1610 -0
  21. parachron-1.0/parachron/simulationarchive.py +347 -0
  22. parachron-1.0/parachron/tests/__init__.py +1 -0
  23. parachron-1.0/parachron/tests/test_additional_forces.py +100 -0
  24. parachron-1.0/parachron/tests/test_binary_fields.py +28 -0
  25. parachron-1.0/parachron/tests/test_boundary.py +77 -0
  26. parachron-1.0/parachron/tests/test_bs.py +407 -0
  27. parachron-1.0/parachron/tests/test_collisions.py +193 -0
  28. parachron-1.0/parachron/tests/test_copy.py +209 -0
  29. parachron-1.0/parachron/tests/test_data.py +25 -0
  30. parachron-1.0/parachron/tests/test_ensemble.py +103 -0
  31. parachron-1.0/parachron/tests/test_ensemble_pairing.py +83 -0
  32. parachron-1.0/parachron/tests/test_eos.py +108 -0
  33. parachron-1.0/parachron/tests/test_fpcontract.py +22 -0
  34. parachron-1.0/parachron/tests/test_frequency_analysis.py +57 -0
  35. parachron-1.0/parachron/tests/test_gravity.py +109 -0
  36. parachron-1.0/parachron/tests/test_gravity_block_order.py +64 -0
  37. parachron-1.0/parachron/tests/test_horizons.py +29 -0
  38. parachron-1.0/parachron/tests/test_ias15_parallel_stages.py +113 -0
  39. parachron-1.0/parachron/tests/test_import.py +12 -0
  40. parachron-1.0/parachron/tests/test_integrator.py +256 -0
  41. parachron-1.0/parachron/tests/test_janus.py +98 -0
  42. parachron-1.0/parachron/tests/test_leapfrog.py +64 -0
  43. parachron-1.0/parachron/tests/test_megno.py +82 -0
  44. parachron-1.0/parachron/tests/test_mep.py +87 -0
  45. parachron-1.0/parachron/tests/test_mercurius.py +324 -0
  46. parachron-1.0/parachron/tests/test_modify_orbital_parameters.py +191 -0
  47. parachron-1.0/parachron/tests/test_name.py +47 -0
  48. parachron-1.0/parachron/tests/test_openmp_determinism.py +103 -0
  49. parachron-1.0/parachron/tests/test_orbital_elements.py +362 -0
  50. parachron-1.0/parachron/tests/test_particle.py +346 -0
  51. parachron-1.0/parachron/tests/test_pickle.py +65 -0
  52. parachron-1.0/parachron/tests/test_plotting.py +35 -0
  53. parachron-1.0/parachron/tests/test_post_timestep_modifications.py +74 -0
  54. parachron-1.0/parachron/tests/test_random.py +62 -0
  55. parachron-1.0/parachron/tests/test_restart_mercurius.py +47 -0
  56. parachron-1.0/parachron/tests/test_rotations.py +164 -0
  57. parachron-1.0/parachron/tests/test_saba.py +161 -0
  58. parachron-1.0/parachron/tests/test_serialize.py +65 -0
  59. parachron-1.0/parachron/tests/test_server.py +59 -0
  60. parachron-1.0/parachron/tests/test_shearingsheet.py +64 -0
  61. parachron-1.0/parachron/tests/test_simulation.py +291 -0
  62. parachron-1.0/parachron/tests/test_simulationarchive.py +633 -0
  63. parachron-1.0/parachron/tests/test_simulationarchive_matrix.py +120 -0
  64. parachron-1.0/parachron/tests/test_size_of_simulation.py +15 -0
  65. parachron-1.0/parachron/tests/test_tponly_encounter.py +63 -0
  66. parachron-1.0/parachron/tests/test_trace.py +509 -0
  67. parachron-1.0/parachron/tests/test_trace_full_bs.py +458 -0
  68. parachron-1.0/parachron/tests/test_trace_full_ias15.py +451 -0
  69. parachron-1.0/parachron/tests/test_transformations.py +163 -0
  70. parachron-1.0/parachron/tests/test_tree_group.py +83 -0
  71. parachron-1.0/parachron/tests/test_units.py +66 -0
  72. parachron-1.0/parachron/tests/test_variational.py +354 -0
  73. parachron-1.0/parachron/tests/test_whfast.py +350 -0
  74. parachron-1.0/parachron/tests/test_whfast512.py +555 -0
  75. parachron-1.0/parachron/tests/test_whfast_advanced.py +171 -0
  76. parachron-1.0/parachron/tests/test_whfast_testparticles.py +177 -0
  77. parachron-1.0/parachron/tools.py +77 -0
  78. parachron-1.0/parachron/units.py +116 -0
  79. parachron-1.0/parachron/variation.py +153 -0
  80. parachron-1.0/parachron/vectors.py +139 -0
  81. parachron-1.0/parachron/widget.py +666 -0
  82. parachron-1.0/parachron.egg-info/PKG-INFO +142 -0
  83. parachron-1.0/parachron.egg-info/SOURCES.txt +203 -0
  84. parachron-1.0/parachron.egg-info/dependency_links.txt +1 -0
  85. parachron-1.0/parachron.egg-info/top_level.txt +2 -0
  86. parachron-1.0/pyproject.toml +51 -0
  87. parachron-1.0/setup.cfg +4 -0
  88. parachron-1.0/setup.py +117 -0
  89. parachron-1.0/src/binarydata.c +935 -0
  90. parachron-1.0/src/binarydata.h +93 -0
  91. parachron-1.0/src/boundary.c +242 -0
  92. parachron-1.0/src/boundary.h +52 -0
  93. parachron-1.0/src/collision.c +870 -0
  94. parachron-1.0/src/collision.h +32 -0
  95. parachron-1.0/src/communication_mpi.c +540 -0
  96. parachron-1.0/src/communication_mpi.h +108 -0
  97. parachron-1.0/src/derivatives.c +2298 -0
  98. parachron-1.0/src/derivatives.h +30 -0
  99. parachron-1.0/src/display.c +1771 -0
  100. parachron-1.0/src/display.h +150 -0
  101. parachron-1.0/src/fmemopen.c +159 -0
  102. parachron-1.0/src/fmemopen.h +30 -0
  103. parachron-1.0/src/frequency_analysis.c +632 -0
  104. parachron-1.0/src/frequency_analysis.h +27 -0
  105. parachron-1.0/src/glad.c +1714 -0
  106. parachron-1.0/src/glad.h +3670 -0
  107. parachron-1.0/src/gravity.c +1881 -0
  108. parachron-1.0/src/gravity.h +56 -0
  109. parachron-1.0/src/integrator_bs.c +841 -0
  110. parachron-1.0/src/integrator_bs.h +50 -0
  111. parachron-1.0/src/integrator_eos.c +731 -0
  112. parachron-1.0/src/integrator_eos.h +49 -0
  113. parachron-1.0/src/integrator_ias15.c +1384 -0
  114. parachron-1.0/src/integrator_ias15.h +66 -0
  115. parachron-1.0/src/integrator_janus.c +279 -0
  116. parachron-1.0/src/integrator_janus.h +49 -0
  117. parachron-1.0/src/integrator_leapfrog.c +213 -0
  118. parachron-1.0/src/integrator_leapfrog.h +38 -0
  119. parachron-1.0/src/integrator_mercurius.c +1245 -0
  120. parachron-1.0/src/integrator_mercurius.h +70 -0
  121. parachron-1.0/src/integrator_saba.c +385 -0
  122. parachron-1.0/src/integrator_saba.h +62 -0
  123. parachron-1.0/src/integrator_sei.c +177 -0
  124. parachron-1.0/src/integrator_sei.h +27 -0
  125. parachron-1.0/src/integrator_trace.c +1545 -0
  126. parachron-1.0/src/integrator_trace.h +92 -0
  127. parachron-1.0/src/integrator_whfast.c +1627 -0
  128. parachron-1.0/src/integrator_whfast.h +76 -0
  129. parachron-1.0/src/integrator_whfast512.c +1046 -0
  130. parachron-1.0/src/integrator_whfast512.h +52 -0
  131. parachron-1.0/src/integrator_whfast512.s +1196 -0
  132. parachron-1.0/src/integrator_whfast512_c_avx2.c +133 -0
  133. parachron-1.0/src/integrator_whfast512_c_avx2x4.c +122 -0
  134. parachron-1.0/src/integrator_whfast512_c_avx512.c +120 -0
  135. parachron-1.0/src/integrator_whfast512_c_generic.c +112 -0
  136. parachron-1.0/src/integrator_whfast512_c_genericx4.c +115 -0
  137. parachron-1.0/src/integrator_whfast512_data.h +103 -0
  138. parachron-1.0/src/integrator_whfast512_kernel.h +908 -0
  139. parachron-1.0/src/integrator_whfast512_neon_ops.h +101 -0
  140. parachron-1.0/src/khrplatform.h +288 -0
  141. parachron-1.0/src/mep.c +363 -0
  142. parachron-1.0/src/mep.h +56 -0
  143. parachron-1.0/src/mep_coarse.c +553 -0
  144. parachron-1.0/src/mep_dual.h +68 -0
  145. parachron-1.0/src/output.c +340 -0
  146. parachron-1.0/src/output.h +51 -0
  147. parachron-1.0/src/particle.c +427 -0
  148. parachron-1.0/src/particle.h +42 -0
  149. parachron-1.0/src/rebound.c +675 -0
  150. parachron-1.0/src/rebound.h +1005 -0
  151. parachron-1.0/src/rebound_internal.h +229 -0
  152. parachron-1.0/src/rotations.c +410 -0
  153. parachron-1.0/src/rotations.h +29 -0
  154. parachron-1.0/src/server.c +763 -0
  155. parachron-1.0/src/server.h +50 -0
  156. parachron-1.0/src/simplefont.h +686 -0
  157. parachron-1.0/src/simulation.c +1067 -0
  158. parachron-1.0/src/simulation.h +45 -0
  159. parachron-1.0/src/simulationarchive.c +667 -0
  160. parachron-1.0/src/simulationarchive.h +64 -0
  161. parachron-1.0/src/tools.c +1629 -0
  162. parachron-1.0/src/tools.h +80 -0
  163. parachron-1.0/src/transformations.c +642 -0
  164. parachron-1.0/src/transformations.h +54 -0
  165. parachron-1.0/src/tree.c +547 -0
  166. parachron-1.0/src/tree.h +113 -0
@@ -0,0 +1,253 @@
1
+ # Changes from REBOUND
2
+
3
+ Parachron is a modified version of [REBOUND](https://github.com/hannorein/rebound) by Hanno Rein and contributors,
4
+ distributed under the GNU General Public License v3 (see `LICENSE`). This file lists the modifications, as required
5
+ by section 5(a) of the license.
6
+
7
+ * Upstream base: hannorein/rebound commit `262a9cce` (Oct 16, 2026; REBOUND 5.2.2).
8
+ * Modifications: 2026, by Michael Hippke. The full history of every change is in this repository's git log.
9
+ * All upstream copyright and license notices are retained. Modified upstream source files carry a "Modified in 2026"
10
+ line below their copyright notice; new files carry their own copyright and license header.
11
+
12
+ Summary of the changes (details in `changelog.md`):
13
+ * Mean-element parareal (MEP): parallel-in-time integration of one WHFast512 planetary system (`parachron.MEP`, `reb_mep_*`).
14
+ * WHFast512 without AVX-512 (portable C kernels), unbiased C Kepler step, opt-in `jacobi_recursive`.
15
+ * Single-core speed-ups, deterministic OpenMP, ensembles, IAS15 `parallel_stages`, `gravity_block_order`, tree group walk.
16
+ * Python module renamed from `rebound` to `parachron` (compiled library `libparachron`); the C API is unchanged.
17
+ * Bug fix in SABA. Continuous-integration workflows and their helper scripts removed (`.github/`).
18
+
19
+ ## Modified files (118)
20
+ * `.github/ISSUE_TEMPLATE/advice.md`
21
+ * `.github/ISSUE_TEMPLATE/bug_report.md`
22
+ * `.github/ISSUE_TEMPLATE/feature_request.md`
23
+ * `.github/ISSUE_TEMPLATE/question.md`
24
+ * `.gitignore`
25
+ * `MANIFEST.in` — include this file in source distributions
26
+ * `README.md` — Parachron README
27
+ * `changelog.md` — changes of Parachron
28
+ * `docs/binaryformat.md`
29
+ * `docs/boundaryconditions.md`
30
+ * `docs/chaos.md`
31
+ * `docs/collisions.md`
32
+ * `docs/gravity.md`
33
+ * `docs/index.md`
34
+ * `docs/make_c_examples.py`
35
+ * `docs/make_integrators.py`
36
+ * `docs/miscellaneous.md`
37
+ * `docs/namingconvention.md`
38
+ * `docs/particles/add.md`
39
+ * `docs/particles/index.md`
40
+ * `docs/particles/operators.md`
41
+ * `docs/particles/orbitalelements.md`
42
+ * `docs/particles/remove.md`
43
+ * `docs/quickstart/firstexample.md`
44
+ * `docs/quickstart/installation.md`
45
+ * `docs/simulation/binaryfiles.md`
46
+ * `docs/simulation/diagnostics.md`
47
+ * `docs/simulation/index.md`
48
+ * `docs/simulation/operators.md`
49
+ * `docs/simulation/referenceframes.md`
50
+ * `docs/simulation/timestepping.md`
51
+ * `docs/simulation/variables.md`
52
+ * `docs/simulationarchive.md`
53
+ * `docs/units.md`
54
+ * `docs/visualization.md`
55
+ * `ipython_examples/AdvWHFast.ipynb`
56
+ * `ipython_examples/ChaoticHyperion.ipynb`
57
+ * `ipython_examples/Cheartbeat.ipynb`
58
+ * `ipython_examples/Checkpoints.ipynb`
59
+ * `ipython_examples/Churyumov-Gerasimenko.ipynb`
60
+ * `ipython_examples/CloseEncounters.ipynb`
61
+ * `ipython_examples/EccentricComets.ipynb`
62
+ * `ipython_examples/EmbeddedOperatorSplittingMethods.ipynb`
63
+ * `ipython_examples/EscapingParticles.ipynb`
64
+ * `ipython_examples/Forces.ipynb`
65
+ * `ipython_examples/FourierSpectrum.ipynb`
66
+ * `ipython_examples/FrequencyAnalysis.ipynb`
67
+ * `ipython_examples/HighOrderSymplectic.ipynb`
68
+ * `ipython_examples/Holmberg.ipynb`
69
+ * `ipython_examples/Horizons.ipynb`
70
+ * `ipython_examples/HybridIntegrationsWithTRACE.ipynb`
71
+ * `ipython_examples/HyperbolicOrbits.ipynb`
72
+ * `ipython_examples/IntegratingArbitraryODEs.ipynb`
73
+ * `ipython_examples/Megno.ipynb`
74
+ * `ipython_examples/OrbitPlot.ipynb`
75
+ * `ipython_examples/OrbitalElements.ipynb`
76
+ * `ipython_examples/PoincareMap.ipynb`
77
+ * `ipython_examples/PoincareSurfaceOfSection.ipynb`
78
+ * `ipython_examples/PrimordialEarth.ipynb`
79
+ * `ipython_examples/RadialVelocity.ipynb`
80
+ * `ipython_examples/RealtimeVisualizations.ipynb`
81
+ * `ipython_examples/Resonances_of_Jupiters_moons.ipynb`
82
+ * `ipython_examples/Rotations.ipynb`
83
+ * `ipython_examples/SaturnsRings.ipynb`
84
+ * `ipython_examples/Simulationarchive.ipynb`
85
+ * `ipython_examples/SimulationarchiveRestart.ipynb`
86
+ * `ipython_examples/Starman.ipynb`
87
+ * `ipython_examples/Testparticles.ipynb`
88
+ * `ipython_examples/TransitTimingVariations.ipynb`
89
+ * `ipython_examples/UniquelyIdentifyingParticlesWithNames.ipynb`
90
+ * `ipython_examples/Units.ipynb`
91
+ * `ipython_examples/User_Defined_Collision_Resolve.ipynb`
92
+ * `ipython_examples/VariationalEquations.ipynb`
93
+ * `ipython_examples/VariationalEquationsWithChainRule.ipynb`
94
+ * `ipython_examples/WHFast.ipynb`
95
+ * `ipython_examples/WHFast512.ipynb`
96
+ * `mkdocs.yml` — Parachron name, logo and links
97
+ * `pyproject.toml` — package name and metadata
98
+ * `python_examples/dragforce/problem.py`
99
+ * `python_examples/horizons/problem.py`
100
+ * `python_examples/longtermtest/problem.py`
101
+ * `python_examples/megno/problem.py`
102
+ * `python_examples/megno_simple/problem.py`
103
+ * `python_examples/orbital_elements/problem.py`
104
+ * `python_examples/outersolarsystem/problem.py`
105
+ * `python_examples/simple_orbit/problem.py`
106
+ * `python_examples/simulationarchive/problem.py`
107
+ * `setup.py` — compiled library named libparachron
108
+ * `src/Makefile` — build of the new source files
109
+ * `src/binarydata.c`
110
+ * `src/boundary.c`
111
+ * `src/collision.c` — deterministic parallel tree collisions, root-box pruning
112
+ * `src/gravity.c` — blocked and parallel (deterministic) basic gravity, `gravity_block_order`, tree group walk
113
+ * `src/gravity.h`
114
+ * `src/integrator_eos.c`
115
+ * `src/integrator_ias15.c` — vectorised predictor/corrector, multiplications by reciprocals, opt-in `parallel_stages`
116
+ * `src/integrator_ias15.h`
117
+ * `src/integrator_leapfrog.c`
118
+ * `src/integrator_mercurius.c` — broadphase, blocked and deterministic parallel force loops
119
+ * `src/integrator_mercurius.h`
120
+ * `src/integrator_saba.c` — fix: no copy of the unsynchronized state when not needed
121
+ * `src/integrator_sei.c`
122
+ * `src/integrator_trace.c` — broadphase, blocked and deterministic parallel force loops
123
+ * `src/integrator_trace.h`
124
+ * `src/integrator_whfast.c` — batched and parallel Kepler drifts
125
+ * `src/integrator_whfast.h`
126
+ * `src/integrator_whfast512.c` — portable C kernels and kernel selection, paired steps, `jacobi_recursive`, constants cache
127
+ * `src/integrator_whfast512.h`
128
+ * `src/integrator_whfast512.s`
129
+ * `src/particle.c`
130
+ * `src/rebound.c` — OpenMP core policy (hybrid CPUs), ensemble thread pool
131
+ * `src/rebound.h` — new fields and API (MEP, ensembles, WHFast512 options)
132
+ * `src/rebound_internal.h`
133
+ * `src/simulation.c` — ensembles (`reb_simulations_steps`), OpenMP work thresholds
134
+ * `src/tools.c`
135
+ * `src/transformations.c`
136
+ * `src/tree.c`
137
+ * `src/tree.h`
138
+
139
+ ## Renamed files (65)
140
+ * `rebound/__init__.py` → `parachron/__init__.py` (renamed and modified) — module name parachron, compiled library libparachron
141
+ * `rebound/binarydata_field_descriptor.py` → `parachron/binarydata_field_descriptor.py` (renamed only)
142
+ * `rebound/citations.py` → `parachron/citations.py` (renamed only)
143
+ * `rebound/frequency_analysis.py` → `parachron/frequency_analysis.py` (renamed only)
144
+ * `rebound/horizons.py` → `parachron/horizons.py` (renamed and modified)
145
+ * `rebound/integrator.py` → `parachron/integrator.py` (renamed only)
146
+ * `rebound/ode.py` → `parachron/ode.py` (renamed only)
147
+ * `rebound/orbit.py` → `parachron/orbit.py` (renamed and modified)
148
+ * `rebound/particle.py` → `parachron/particle.py` (renamed and modified)
149
+ * `rebound/particles.py` → `parachron/particles.py` (renamed only)
150
+ * `rebound/plotting.py` → `parachron/plotting.py` (renamed and modified)
151
+ * `rebound/rotation.py` → `parachron/rotation.py` (renamed and modified)
152
+ * `rebound/simulation.py` → `parachron/simulation.py` (renamed and modified) — Python bindings of the new options and APIs
153
+ * `rebound/simulationarchive.py` → `parachron/simulationarchive.py` (renamed and modified)
154
+ * `rebound/tests/__init__.py` → `parachron/tests/__init__.py` (renamed only)
155
+ * `rebound/tests/test_additional_forces.py` → `parachron/tests/test_additional_forces.py` (renamed and modified)
156
+ * `rebound/tests/test_binary_fields.py` → `parachron/tests/test_binary_fields.py` (renamed and modified)
157
+ * `rebound/tests/test_boundary.py` → `parachron/tests/test_boundary.py` (renamed and modified)
158
+ * `rebound/tests/test_bs.py` → `parachron/tests/test_bs.py` (renamed and modified)
159
+ * `rebound/tests/test_collisions.py` → `parachron/tests/test_collisions.py` (renamed and modified)
160
+ * `rebound/tests/test_copy.py` → `parachron/tests/test_copy.py` (renamed and modified)
161
+ * `rebound/tests/test_data.py` → `parachron/tests/test_data.py` (renamed and modified)
162
+ * `rebound/tests/test_eos.py` → `parachron/tests/test_eos.py` (renamed and modified)
163
+ * `rebound/tests/test_fpcontract.py` → `parachron/tests/test_fpcontract.py` (renamed and modified)
164
+ * `rebound/tests/test_frequency_analysis.py` → `parachron/tests/test_frequency_analysis.py` (renamed and modified)
165
+ * `rebound/tests/test_gravity.py` → `parachron/tests/test_gravity.py` (renamed and modified)
166
+ * `rebound/tests/test_horizons.py` → `parachron/tests/test_horizons.py` (renamed and modified)
167
+ * `rebound/tests/test_import.py` → `parachron/tests/test_import.py` (renamed and modified)
168
+ * `rebound/tests/test_integrator.py` → `parachron/tests/test_integrator.py` (renamed and modified)
169
+ * `rebound/tests/test_janus.py` → `parachron/tests/test_janus.py` (renamed and modified)
170
+ * `rebound/tests/test_leapfrog.py` → `parachron/tests/test_leapfrog.py` (renamed and modified)
171
+ * `rebound/tests/test_megno.py` → `parachron/tests/test_megno.py` (renamed and modified)
172
+ * `rebound/tests/test_mercurius.py` → `parachron/tests/test_mercurius.py` (renamed and modified)
173
+ * `rebound/tests/test_modify_orbital_parameters.py` → `parachron/tests/test_modify_orbital_parameters.py` (renamed and modified)
174
+ * `rebound/tests/test_name.py` → `parachron/tests/test_name.py` (renamed and modified)
175
+ * `rebound/tests/test_orbital_elements.py` → `parachron/tests/test_orbital_elements.py` (renamed and modified)
176
+ * `rebound/tests/test_particle.py` → `parachron/tests/test_particle.py` (renamed and modified)
177
+ * `rebound/tests/test_pickle.py` → `parachron/tests/test_pickle.py` (renamed and modified)
178
+ * `rebound/tests/test_plotting.py` → `parachron/tests/test_plotting.py` (renamed and modified)
179
+ * `rebound/tests/test_post_timestep_modifications.py` → `parachron/tests/test_post_timestep_modifications.py` (renamed and modified)
180
+ * `rebound/tests/test_restart_mercurius.py` → `parachron/tests/test_restart_mercurius.py` (renamed and modified)
181
+ * `rebound/tests/test_rotations.py` → `parachron/tests/test_rotations.py` (renamed and modified)
182
+ * `rebound/tests/test_saba.py` → `parachron/tests/test_saba.py` (renamed and modified)
183
+ * `rebound/tests/test_serialize.py` → `parachron/tests/test_serialize.py` (renamed and modified)
184
+ * `rebound/tests/test_server.py` → `parachron/tests/test_server.py` (renamed and modified)
185
+ * `rebound/tests/test_shearingsheet.py` → `parachron/tests/test_shearingsheet.py` (renamed and modified)
186
+ * `rebound/tests/test_simulation.py` → `parachron/tests/test_simulation.py` (renamed and modified)
187
+ * `rebound/tests/test_simulationarchive.py` → `parachron/tests/test_simulationarchive.py` (renamed and modified)
188
+ * `rebound/tests/test_simulationarchive_matrix.py` → `parachron/tests/test_simulationarchive_matrix.py` (renamed and modified)
189
+ * `rebound/tests/test_size_of_simulation.py` → `parachron/tests/test_size_of_simulation.py` (renamed and modified)
190
+ * `rebound/tests/test_tponly_encounter.py` → `parachron/tests/test_tponly_encounter.py` (renamed and modified)
191
+ * `rebound/tests/test_trace.py` → `parachron/tests/test_trace.py` (renamed and modified)
192
+ * `rebound/tests/test_trace_full_bs.py` → `parachron/tests/test_trace_full_bs.py` (renamed and modified)
193
+ * `rebound/tests/test_trace_full_ias15.py` → `parachron/tests/test_trace_full_ias15.py` (renamed and modified)
194
+ * `rebound/tests/test_transformations.py` → `parachron/tests/test_transformations.py` (renamed and modified)
195
+ * `rebound/tests/test_units.py` → `parachron/tests/test_units.py` (renamed and modified)
196
+ * `rebound/tests/test_variational.py` → `parachron/tests/test_variational.py` (renamed and modified)
197
+ * `rebound/tests/test_whfast.py` → `parachron/tests/test_whfast.py` (renamed and modified)
198
+ * `rebound/tests/test_whfast_advanced.py` → `parachron/tests/test_whfast_advanced.py` (renamed and modified)
199
+ * `rebound/tests/test_whfast_testparticles.py` → `parachron/tests/test_whfast_testparticles.py` (renamed and modified)
200
+ * `rebound/tools.py` → `parachron/tools.py` (renamed and modified)
201
+ * `rebound/units.py` → `parachron/units.py` (renamed and modified)
202
+ * `rebound/variation.py` → `parachron/variation.py` (renamed and modified)
203
+ * `rebound/vectors.py` → `parachron/vectors.py` (renamed only)
204
+ * `rebound/widget.py` → `parachron/widget.py` (renamed and modified)
205
+
206
+ ## New files (30)
207
+ * `CHANGES_FROM_REBOUND.md`
208
+ * `RELEASING.md` — how to publish on PyPI
209
+ * `docs/img/parachron_icon.svg`
210
+ * `docs/img/parachron_logo.svg`
211
+ * `docs/openmp.md`
212
+ * `examples/mep_solar_system/Makefile`
213
+ * `examples/mep_solar_system/problem.c`
214
+ * `ipython_examples/MEP.ipynb`
215
+ * `parachron/mep.py` — Python interface of MEP
216
+ * `parachron/tests/test_ensemble.py`
217
+ * `parachron/tests/test_ensemble_pairing.py`
218
+ * `parachron/tests/test_gravity_block_order.py`
219
+ * `parachron/tests/test_ias15_parallel_stages.py`
220
+ * `parachron/tests/test_mep.py`
221
+ * `parachron/tests/test_openmp_determinism.py`
222
+ * `parachron/tests/test_random.py`
223
+ * `parachron/tests/test_tree_group.py`
224
+ * `parachron/tests/test_whfast512.py`
225
+ * `src/integrator_whfast512_c_avx2.c`
226
+ * `src/integrator_whfast512_c_avx2x4.c`
227
+ * `src/integrator_whfast512_c_avx512.c`
228
+ * `src/integrator_whfast512_c_generic.c`
229
+ * `src/integrator_whfast512_c_genericx4.c`
230
+ * `src/integrator_whfast512_data.h`
231
+ * `src/integrator_whfast512_kernel.h` — portable C kernel of WHFast512 (unbiased Kepler step)
232
+ * `src/integrator_whfast512_neon_ops.h`
233
+ * `src/mep.c` — MEP driver
234
+ * `src/mep.h`
235
+ * `src/mep_coarse.c` — MEP coarse propagator
236
+ * `src/mep_dual.h`
237
+
238
+ ## Removed files (15)
239
+ * `.github/codecov.yml`
240
+ * `.github/function_prefix_checker.bash`
241
+ * `.github/lint.bash`
242
+ * `.github/workflows/build_wheels.yml`
243
+ * `.github/workflows/c.yml`
244
+ * `.github/workflows/cmpi.yml`
245
+ * `.github/workflows/coverage.yml`
246
+ * `.github/workflows/emscripten.yml`
247
+ * `.github/workflows/function_prefix_checker.yml`
248
+ * `.github/workflows/ipynb.yml`
249
+ * `.github/workflows/lint.yml`
250
+ * `.github/workflows/python.yml`
251
+ * `.github/workflows/reboundx.yml`
252
+ * `rebound/tests/test_random.py`
253
+ * `rebound/tests/test_whfast512.py`