IDP submission talk (Informatics). Jonas is advised by Fabio Gratl and Dr.-Ing. Pablo Gómez (ESA).
Previous talks at the SCCS Colloquium
Jonas Schuhmacher: Efficient Polyhedral Gravity Modeling in Modern C++
SCCS Colloquium |
In exploring the solar system, not only the planets and moons are of interest, but also asteroids and comets. These bodies usually have a pretty irregular shape making the determination of their gravity field difficult. However, this knowledge is critical to the successful operation of spacecraft in close proximity to these bodies.
One of the available modeling techniques to solve the problem is the polyhedral gravity model. It is capable of analytically determining the full gravity tensor, including potential, acceleration, and the second derivatives for an arbitrary point P around a homogenous-density polyhedron. Consequently, the only required inputs are the polyhedral mesh and the constant density.
This work implements the analytical solution for the polyhedral gravity model via the line integral approach in an open-source project with extensive accompanying documentation on readthedocs. It relies on an efficient and parallelized backbone in C++ 17, vectorizing expensive computations.
For example, the resulting performant implementation evaluated the full gravity tensor for thousands of points for the asteroid Eros with a mesh consisting of 24235 nodes and 14744 faces in less than a second.
Further, the implementation's interface is exposed via a simple Python module deployed and published on conda.
Finally, the implementation has undergone multiple tests in order to be successfully verified. Its results were compared to a cube-shaped body with closed-analytical solutions and publicly available implementations in MATLAB and FORTRAN.