Unveil the secrets of black holes

Kerrpy allows you generate images of rotating black holes by numerically solving the geodesic equations of the kerr spacetime.

Physics Capabilities

Kerrpy solves numerically the geodesic equations of the kerr spacetime using a modified Runge-Kutta-Fehlberg Method (RKF45) that provides the perfect balance between precission and speed. The correct number of iterations is automatically determined to ensure fast and high precision result.

learn more

Performance

Kerrpy uses GPU and CPU parallelization techniques to achieve maximum performance. The GPU version is implemented in CUDA and performance-tuned using instruction level parallelism, minimal warp branching and coalesced memory access patterns. The CPU version makes use of Cython and OpenMP optimized at the ASM level.

learn more

Science

Kerrpy makes very easy to learn about the kerr spacetime, general relativity and numerical integration of geodesics but is also a very powerfull tool for scientist and researchers. You can generate publication-ready images or make your own experiments extending the code using the pythonic application interface.

learn more

Getting Started

a detailed walkthrough of running Kerrpy rovided in the documentation

Development

Kerrpy licensed under the GNU General Public License v3.0 and hosted on github. Contributions are welcomed.

Kerrpy is written in a mix of C, CUDA, Cython and Python. The main solver, the initial conditions calculator, the geodesic equations and the driver are implemented in Cython and CUDA and API, GUI and other features are written in pure Python. The canonical state of Kerrpy corresponds to the "master" branch. If you want to contribute to Kerrpy, fork the code on github, clone the Kerrpy repo git repo, make your changes and then issue a pull-request to the kerrpy "master" branch.