Skip to main content

Solve the general-relativistic Emitter-Observer problem.

Project description

General Relativistic Emitter-Observer problem Python algorithm (GREOPy)

What GREOPy does

GREOPy is a Python library for calculating relativistic light rays sent by an emitter to a receiver in the presence of a gravitational field. The emitter and receiver can move along arbitrary curves and the gravitational field can be described by a rotating, non-accelerating central mass.

This package is specifically dedicated for work in (relativistic) geodesy. In classical geodesy, either a light signal's travel time or its bending angle (deviation from a straight line) is usually neglected because of the Earth's weak gravitational field and short light travel distance. While these deviations and resulting observable uncertainties might be overshadowed by other effects with state-of-the-art measurement accuracies, they might become relevant in the future where these accuracies increase. GREOPy builds a basis for quantifying what impact these deviations have on the subsequent observable error.

How to install GREOPy

To install this package run:

python -m pip install GREOPy

Get started using GREOPy

Two curves and the underlying spacetime structure are needed to calculate light signals between the curves. Assume emission_curve and reception_curve contain the coordinates and four-velocity tangent vector of each point along the respective curve in spacetime. Also assume that config contains information on the spacetime structure. Then calling the eop_solver function calculates for each point along the emission curve the corresponding unique light signal propagating to the reception curve:

from greopy.emitter_observer_problem import eop_solver

light_rays = eop_solver(config, emission_curve_reduced, receiver_curve_data)

The resulting light_rays contains the coordinates and four-velocity tangent vector of each point along the light signal curve in spacetime. These results can be visualised by calling the eop_plot function:

from greopy.emitter_observer_solution_plot import eop_plot

eop_plot(emission_curve, reception_curve, light_rays)

Example result Image caption

Please visit the documentation for more information about the package, including a more detailed quickstart guide.

Community

If you would like to contribute to this package, you can read about ideas here. Since this is a young package, detailed instructions on how to contribute are still a work in progress.

Please note that this package is released with a Code of Conduct and by participating in this project you agree to abide by its terms.

License

License information will follow.

How to cite GREOPy

Citation information will follow.

Acknowledgements

This project was funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – Project-ID 434617780 – SFB 1464, and we acknowledge support by the DFG under Germany’s Excellence Strategy – EXC-2123 QuantumFrontiers – 390837967.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

greopy-0.1.0.tar.gz (46.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

greopy-0.1.0-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file greopy-0.1.0.tar.gz.

File metadata

  • Download URL: greopy-0.1.0.tar.gz
  • Upload date:
  • Size: 46.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.0

File hashes

Hashes for greopy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2ff6a537827e3938eefc65e064c8add2db5f974b06de90960b4ae4ebeabf055c
MD5 21280b09fe751814a623cca294a167f8
BLAKE2b-256 9404b32e9ae38c31d1afc0ea02c2383006173907e88be205a5ab7e64145d3ff4

See more details on using hashes here.

File details

Details for the file greopy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: greopy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.0

File hashes

Hashes for greopy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b582a671e1f492e0587eccdbdf8b4fad5f8f2afcc64086857f1c87005b7d50d2
MD5 dda79c30405088ffe9808344b87cbfa8
BLAKE2b-256 831634d3c4c7de4adf885b1f01e1f79bfb8a4ba9869f0107c30c24d70c738e89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page