/einsteinpy-geodesics

Python wrapper for a Julia solver for geodesics in the Kerr family of spacetimes. Maintainer : @JeS24

Primary LanguagePythonMIT LicenseMIT

EinsteinPy Logo
Name:EinsteinPy Geodesics
Website:https://docs.geodesics.einsteinpy.org/en/latest/
Version:0.2.dev0

mailing Join the chat at https://gitter.im/EinsteinPy-Project/EinsteinPy riotchat license docs

EinsteinPy Geodesics is an addon package for EinsteinPy, that wraps over Julia's excellent DifferentialEquations.jl suite and provides a python interface to solve for geodesics in Kerr & Schwarzschild spacetime. EinsteinPy is an open source pure Python package, dedicated to problems arising in General Relativity and Gravitational Physics. As with EinsteinPy, EinsteinPy Geodesics is released under the MIT license.

Documentation

docs

Complete documentation for this module can be accessed at https://docs.geodesics.einsteinpy.org/en/latest/ (Courtesy: Read the Docs).

Requirements

EinsteinPy Geodesics requires Python >= 3.7, Julia >= 1.5 and the following Julia packages:

  • Julia
    • DifferentialEquations.jl >= 6.15
    • ODEInterfaceDiffEq.jl >= 3.7

Installation

First, ensure that, Julia is installed in your system and added to PATH. See https://julialang.org/downloads/platform/ for platform specific binaries and installation instructions. einsteinpy_geodesics also requires DifferentialEquations.jl and ODEInterfaceDiffEq.jl. You can add them, like so:

$ julia
julia> using Pkg
julia> Pkg.add("DifferentialEquations")
julia> Pkg.add("ODEInterfaceDiffEq")

Finally, einsteinpy_geodesics can be installed in the most intuitive way:

$ pip install einsteinpy_geodesics

For using this package, we strongly recommend you to use EinsteinPy Core package along with it.

Alternatively, you can install the package from source, by cloning einsteinpy_geodesics, and typing in the following, in a shell (in Linux/macOS):

$ flit install --symlink /path/to/einsteinpy_geodesics/

Or, on Windows:

$ flit install --pth-file /path/to/einsteinpy_geodesics/

Problems

If the installation fails or you find something, that doesn't work as expected, please open an issue in the issue tracker.

Note that, DifferentialEquations.jl requires gfortran to be present on the system. If you encounter a gfortran-related error, while using this package, please install/update your gfortran installation. See https://gcc.gnu.org/wiki/GFortranBinaries for more details or open an issue in the issue tracker.

Contributing

EinsteinPy is a community project, hence all contributions are more than welcome! For more information, head to CONTRIBUTING.rst, that also contains the developer documentation.

Some Plots

Below, we present some of the geodesic plots, made using einsteinpy and einsteinpy_geodesic.

Kerr Constant Radius Orbit Animation

Kerr Null-like Frame Dragging

Schwarzschild Precession


Support

mailing

Release announcements and general discussion take place on our mailing list. Feel free to join!

https://groups.io/g/einsteinpy-dev

Please join our [matrix] channel or gitter chat room for further queries.

If you still have a doubt, write a mail directly to all@einsteinpy.org.

Citing

If you use EinsteinPy or EinsteinPy Geodesics in your project, please drop us a line.

You can also use the DOI to cite it in your publications. This is the latest one:

doi

And this is an example citation format:

Shreyas Bapat et al. (2019). EinsteinPy: einsteinpy 0.1.0. Zenodo. 10.5281/zenodo.2582388

License

license

EinsteinPy and hence, EinsteinPy Geodesics, is released under the MIT license, hence allowing commercial use of the library. Please refer to COPYING.