Propagation of wavefronts in the vicinity of a black hole.
In order to better understand the phenomena occurring in the vicinity of black holes it is important to develop tools to model the phenomena themselves as well as to model radiation transfer in and from these strongly curved regions of space-time. It is necessary to solve the problem of following a single photon through its more than one scattering and/or more than one possible path from the source to the eye of the observer (ray-tracing methods). The most common ray-tracing method is the method of direct numerical integration of geodesic equation from the source to the observer and is very time consuming. However, when modelling stationary phenomena, this is not a major drawback, since the method must be invoked only once.
Schwarzschild black hole
For example, to show the effect of gravitational lensing, it is possible to calculate (by using a ray-tracing method) how a small sphere in the vicinity of the black hole would be seen by a distant observer far from the black hole. It makes sense to expect that some photons, leaving the far side of the sphere and going around the black hole, reach the observer due to strong gravitational lensing as well as those travelling the shortest distance, thus making a secondary image of the sphere (the primary image is produced by photons travelling directly from the sphere to the observer). In order to get such secondary images, the photons must be emitted away from the observer! The figure below shows what is actually seen by a distant observer in case of a Schwarzschild black hole: the photons, taking different paths, produce different images of the sphere at the point of the observer. The number of different paths taken by photons could be increased indefinitely in order to get a larger number of different images. However, there is no sense in doing it, since the photons which circle the black hole several times, produce images which are overlapped.
Different images produced by photons which travelled different paths from the source to the observer.
When modelling some transient phenomena (e.g. moving hot spots, infall of small bodies into the black hole...) one must bare in mind the fact that the source is moving, therefore the ray-tracing must be applied at every new position of the source. The problem is further complicated by noting that photon arrival times from the same initial source to the observer may (and often will) be markedly different for photons reaching the observer along different possible paths. It is obvious, that a multiple scattering path cannot be effectively constructed by aiming geodesics between succesive scattering points as the number of succesive iterations required would soon blow up. In case of a Schwarzschild black hole we developed a very efficient and accurate ray-tracing method (article, numerical code) which uses analytic expressions of orbit equations of photons for connecting two arbitrary points (i.e. the source and the observer) with the light-like geodesic. Since we also know the analytic expressions for travel times of photons, it is very simple to take into account the difference between photon emition and arrival times. This method thus enables us to model transient phenomena in short times.
As an example of a transient phenomenon the sphere from the previous example is left to move in the vicinity of the Schwarzschild black hole. In order to get the correct image at the observer the travel times of photons from the source to the observer are taken into account. It is obvious, that the photons taking the shortest path from the source to the observer require much less travel time than those going first around the black hole before reaching the observer. For this reason, the image in the previous example is not quite correct because the travel times have not been calculated at all. The correct series of images is shown in the figure below where the difference between emition and arrival times has been taken into consideration. It can be seen at once that the primary and the secondary image are never one opposite another as it was shown in the figure above. As a matter of fact, the secondary image lags behind the primary due to longer paths taken by photons which produce the secondary image.
Due to strong gravitational lensing and large velocity of the source in the vicinity of the black hole the image of the sphere is heavily distorted. As the sphere moves around the black hole another relativistic effect arises - the Thomas precession. The observer which is at rest with respect to the black hole sees the sphere rotating around its axis. One of the meridians is coloured in red to see the rotation easier.
Kerr black hole
More on this at Accretion Disks!
Orbits.exe (453 kB): Computer code for connecting two arbitrary points with a light-like geodesic in the vicinity of a Schwarzschild black hole.
WaveFronts.exe (451 kB): Computer code for propagation of wavefronts in the vicinity of a Schwarzschild black hole.
The movies show the appearance of a sphere as it moves around the black hole. The location of the observer is the following: movie1 - above the orbital plane, movie3 - in the orbital plane, movie2 - somewhere in the between. The effect of the gravitational lensing is the strongest when the observer is perfectly aligned with the sphere and the black hole (movie3.avi). In this case the lensing is so strong that the Einstein ring appears. The secondary image can be seen in all three examples (the arc following or going ahead of the primary image).
Ray-tracing method for Schwarzschild space-time
Numerical code for ray-tracing is written in Fortran90. There are 3 modules in the file all.zip: elliptic.f90, time.f90 and rt.f90. The module rt.f90 contains function connect, which connects two points with a light-like geodesic. The function requires 3 variables of type tSchwPoint (the type is defined in rt.f90): initial_point, final_point and velocity of the initial point. It also requires one variable of type logical, which is used for specifying whether primary or secondary image is wanted. The function connect returns the result of type tImagePoint (the type is defined in rt.f90). This variable contains the following data: coordinates of photon on the image, time of flight of photon from the initial to the final point, the ratio of the final and initial frequency and the ratio of the final and initial intensity. Remark: the velocity of the initial point must be expressed in units of the speed of light and its components must be expressed in the orthonormal coordinate system.