celmech: A Python Package for Celestial Mechanics
Abstract
We present celmech, an open-source Python package designed to facilitate a wide variety of celestial mechanics calculations. The package allows users to formulate and integrate equations of motion incorporating user-specified terms from the classical disturbing function expansion of the interaction potential between pairs of planets. The code can be applied, for example, to isolate the contribution of particular resonances to a system's dynamical evolution and develop simple analytical models with the minimum number of terms required to capture a particular dynamical phenomenon. Equations and expressions can be easily manipulated by leveraging the extensive symbolic mathematics capabilities of the sympy Python package. The celmech package is designed to interface seamlessly with the popular N-body code REBOUND to facilitate comparisons between calculation results and direct N-body integrations. The code is extensively documented, and numerous example Jupyter notebooks illustrating its use are available online.
- Publication:
-
The Astronomical Journal
- Pub Date:
- November 2022
- DOI:
- 10.3847/1538-3881/ac8d01
- arXiv:
- arXiv:2205.10385
- Bibcode:
- 2022AJ....164..179H
- Keywords:
-
- Celestial mechanics;
- Perturbation methods;
- Computational methods;
- 211;
- 1215;
- 1965;
- Astrophysics - Earth and Planetary Astrophysics;
- Astrophysics - Instrumentation and Methods for Astrophysics
- E-Print:
- submitted to AAS Journals, code and example notebooks available at http://github.com/shadden/celmech