Welcome to GREOPy’s documentation¶
General Relativistic Emitter-Observer problem Python Algorithm or 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 basic setup involves two objects \(O_{1, 2}\) moving along two curves \(C_{1, 2}\) in a gravitational field caused by some central mass \(M\). One object successively emits light signals \(\gamma_i\) that the other object receives at some event (time and spatial position). An example could be a ground station \(O_1\) rotating with the Earth \(M\) sending out light signals to a satellite \(O_2\) orbiting the Earth, or vice versa.
A light signal (yellow) is emitted at an event along the red curve on the surface of a central mass and received at an event along the blue curve.¶
Two factors play an important role in this scenario:
During the propagation of a light signal between ground station and satellite, the receiver moves along its own curve.
The presence of Earth’s gravitational field bends light signals.
Therefore once a light signal is emitted (fixed emission event), the reception event (signal reaches the receiver) is initially unknown and depends solely on the signal’s initial direction relative to some reference.
GREOPy solves for these \(\gamma_i\) for arbitrary curves \(C_{1, 2}\) and some rotating, non-accelerating central mass.
Please refer to the following table of contents for more information about the theoretical background, installation and usage of the package.