Brought to you by:
Papers

GYOTO: a new general relativistic ray-tracing code

, , and

Published 18 October 2011 © 2011 IOP Publishing Ltd
, , Citation F H Vincent et al 2011 Class. Quantum Grav. 28 225011 DOI 10.1088/0264-9381/28/22/225011

0264-9381/28/22/225011

Abstract

GYOTO, a general relativistic ray-tracing code, is presented. It aims at computing images of astronomical bodies in the vicinity of compact objects, as well as trajectories of massive bodies in relativistic environments. This code is capable of integrating the null and timelike geodesic equations not only in the Kerr metric, but also in any metric computed numerically within the 3+1 formalism of general relativity. Simulated images and spectra have been computed for a variety of astronomical targets, such as a moving star or a toroidal accretion structure. The underlying code is an open source and freely available. It is user-friendly, quickly handled and very modular so that extensions are easy to integrate. Custom analytical or numerical metrics and astronomical targets can be implemented in C++ plug-in extensions independent from the main code.

Export citation and abstract BibTeX RIS

1. Introduction

The first developments of general relativistic ray-tracing date back to the 1970s, with works regarding the appearance of a star orbiting around a Kerr black hole [1], the derivation of an accretion disk's emitted spectrum in terms of a transfer function [2] and the computation of the image of an accretion disk around a Schwarzschild black hole [3].

Since this period, many ray-tracing codes appeared in the literature, mainly dedicated to the computation of spectra and particularly of the 6.4 keV iron line [410] or to the computation of images of accretion structures [7, 1012]. Some authors are primarily interested in simulating phenomena of quasi-periodic oscillations in the vicinity of black holes [13, 14], the trajectory and appearance of stars orbiting around compact objects [15, 16], the magnetohydrodynamical effects occurring in the surroundings of the black hole [17, 18], the collapsar scenario of long gamma-ray bursts and the impact of neutrino pair annihilation [19, 20] or the polarization of the propagating radiation [2123]. In this context, one may wonder about the relevance of a new ray-tracing algorithm. There are two main reasons to do so.

First, it is important when using an algorithm to have access to its source code in order to handle it properly, and if needed to develop it according to one's needs. In this perspective, the code presented in this paper, GYOTO (General Relativity Orbit Tracer of Observatoire de Paris), will be available freely (see section 4). Moreover, as GYOTO is written in C++, it is very easy to add new structures to the existing code, by using the object-oriented aspect of the language. Those new structures, representing additional metrics or astronomical objects, can be compiled as plug-in extensions, independently from the GYOTO code itself. Although many ray-tracing codes are used in the literature, they are rarely made public (a recent exception is the ${\tt Geokerr}$ code [10]; note also the public release of ${\tt GeodesicViewer}$ for computing and analyzing individual geodesics [24, 25]).

Secondly, as compared with all other existing ray-tracing codes, GYOTO has a specific feature: it is capable of integrating geodesics in non-analytic, numerically computed metrics. This allows GYOTO to handle objects much more diversified than the standard Kerr black holes. In particular, the possibility of handling non-Kerr, numerical metrics allows us to test the no-hair theorem of general relativity as investigated by [26] in the context of analytic non-Kerr metrics. This kind of study with non-analytic metrics has not been done so far and will be at hand thanks to GYOTO.

Basically, GYOTO consists in launching null geodesics from an observer's screen, that are integrated backward in time to reach an astrophysical object emitting radiation. Once the photon gets inside the emitting object, the equation of radiative transfer is integrated along the computed geodesic in order to determine the value of the emitted specific intensity that will reach the observer.

2. Ray-tracing in the Kerr metric

2.1. Integration of geodesics

The first goal of GYOTO is to integrate geodesics in the vicinity of rotating black holes. In this section, we will thus consider ray-tracing in the Kerr metric.

2.1.1. Geodesic equations

We use the standard Boyer–Lindquist (xα) = (t, r, θ, φ) coordinates to express the metric according to [27]:

Equation (1)

where M is the black hole's mass, a is its spin parameter (aM being the total angular momentum), Σ ≡ r2 + a2 cos 2θ and Δ ≡ r2 − 2 Mr + a2.

For a particle of mass μ and 4-momentum pα, two constants of motion are provided by the spacetime symmetries: the energy 'at infinity' E ≡ −pt and the axial component of the angular momentum Lpφ. The constant nature of E and L results, respectively, from the spacetime stationarity and the spacetime axisymmetry. In addition, the specific structure of Kerr spacetime gives birth to a third constant of motion, the Carter constant [28]:

Equation (2)

The problem is thus completely integrable by using the four constants (μ, E, L, Q).

Following [15], we use a Hamiltonian formulation for the equations of geodesics, which consists in using the variables (t, r, θ, φ, pt, pr, pθ, pφ) to express the equations of motion according to

Equation (3a)

Equation (3b)

Equation (3c)

Equation (3d)

Equation (3e)

Equation (3f)

Equation (3g)

Equation (3h)

where the superscripts ' and θ denote differentiation with respect to r and θ, respectively, a dot denoting differentiation with respect to proper time (for timelike geodesics) or to an affine parameter (for null geodesics). In addition, the following abbreviations have been used:

Equation (4)

Equation (5)

2.1.2. Implementation

Let us consider the integration of a single null geodesic by GYOTO. The initial conditions are the position of the observer and the direction of incidence of the photon. These quantities allow us to determine the tangent vector to the photon's geodesic at the observer's position.

The integration is then performed backward in time, from the observer toward a distant astrophysical object. This backward integration is of particular use when the target object has a large angular size on the observer's sky: a large fraction of the computed geodesics will hit the object. If the integration was done from the object, most of the geodesics would not reach the observer, leading to a waste of computing time. However, owing to its modular nature, GYOTO could be fairly easily extended to support the forward ray-tracing paradigm.

The equations of motion are solved by means of a Runge–Kutta algorithm of fourth order (RK4), with an adaptive step (see e.g. [29]). The integration goes on until one of the following stop conditions is fulfilled:

  • the photon reaches the emitting object (however, see section 2.2.1 for the particular treatment inside optically thin objects),
  • the photon escapes too far from the target object (what 'far' means depends of the kind of object considered),
  • the photon approaches too closely to the event horizon. This limit is typically defined as when the photon's radial coordinate becomes only a few percent larger than the radial coordinate of the event horizon. However, this limit must not be too large in order not to stop the integration of photons swirling close to the black hole before reaching the observer, thereby creating higher order images.

In order to ensure a proper integration, the conservation of the constants of motion is continuously checked, and the solution of the integration is modified to impose this conservation. This choice of modifying the computed coordinates to ensure the conservation of constants is a consequence of our choice of Hamiltonian formulation for the geodesic equations. The usual form of Kerr geodesic equations (see e.g. [27]), which directly enforces the conservation of constants, involves square roots that lead to sign indeterminations. The Hamiltonian formulation allows us to get rid of this problem [15], at the expense of slightly modifying the solution as explained below.

The constancy of E and L is directly enforced by equations (3e) and (3h). The constancy of Q is imposed by modifying the value of $\dot{\theta }$ given by the RK4 algorithm, according to (2) and (3c):

Equation (6)

where the ± sign is chosen according to the sign of $\dot{\theta }$ resulting from the RK4 algorithm. Finally, the constancy of the 4-momentum's norm is ensured by modifying the $\dot{r}$ coordinate furnished by the RK4 algorithm. For instance, when considering a null geodesic, the value of $\dot{r}$ is chosen to enforce the relation

Equation (7)

Thus,

Equation (8)

where the ± sign is chosen according to the sign of $\dot{r}$ resulting from the RK4 algorithm. However, in order not to depart too much from the RK4 output, the maximum modification of $\dot{\theta }$ and $\dot{r}$ is limited to 1% of their initial values.

The numerical accuracy of GYOTO is investigated in the appendix where a convergence test is given.

2.2. Radiative transfer and spectra computation

2.2.1. Radiative transfer

Once the null geodesic, integrated backward in time from the observer's screen, reaches the emitting object, the equation of radiative transfer must be integrated along the part of the geodesic that lies inside the emitter. In order to perform this computation, two basic quantities have to be known at each integration step: the emission coefficient jν and the absorption coefficient αν in the frame of a given observer (typically the observer comoving with the emitting matter). These coefficients are related to the specific intensity's increment dIν as along the geodesic according to

Equation (9)

where ds is the element of length as measured by the observer. The impact of scattering is not taken into account by the code. However, it is possible, if needed, to include in the absorption and emission coefficients the effect of scattering. Moreover, the modular nature of GYOTO makes it possible to develop a specific scattering treatment that would be plugged into the existing code.

As shown in [30], the relativistic equation of radiative transfer is

Equation (10)

where λ is an affine parameter along the considered geodesic, and where the invariant specific intensity $\mathcal {I}$, the invariant emission coefficient $\mathcal {E}$ and the invariant absorption coefficient $\mathcal {A}$ have been used:

Equation (11)

ν being the frequency of the radiation. These quantities are invariant in the sense that they do not depend on the reference frame in which they are evaluated.

Let us now consider the reference frame comoving with the fluid emitting the radiation. The invariant equation (10) becomes in this frame

Equation (12)

where νem is the emitted frequency of the radiation. It is straightforward to obtain the following relation:

Equation (13)

where dsem is the amount of proper length as measured by the emitter. This expression leads to

Equation (14)

where all quantities are computed in the emitter's frame: this is the standard form of the equation of radiative transfer in the emitter's frame.

Equation (14) can be immediately integrated between some value s0 where the specific intensity is vanishing (the 'opposite' border of the emitting region) and some position s:

Equation (15)

Provided that the absorption and emission coefficients are furnished at each position of spacetime, (15) allows one to compute the integrated specific intensity. This will be illustrated in section 2.3.

2.2.2. Spectra computation

When considering an optically thick object, the computation of a spectrum is quite straightforward. Let us consider the spectrum emitted by a geometrically thin, optically thick accretion disk around a Schwarzschild black hole. Following [6], the specific intensity emitted at a given position of the disk is written as

Equation (16)

where δ is the Dirac distribution and where epsilon(r) follows a power law with parameter p:

Equation (17)

By means of the invariant intensity $\mathcal {I}=I_{\nu } / \nu ^{3}$, the specific intensity observed by a distant observer can be related to the emitted specific intensity according to

Equation (18)

where νobs is the observed frequency, and

Equation (19)

The observed flux Fν is then related to the observed specific intensity according to

Equation (20)

where Ω is the solid angle under which the emitting element is seen, and θ is the angle between the normal to the observer's screen and the direction of incidence. The GYOTO screen is a very simplistic model for a physical telescope equipped with a spectro-imaging camera. It this model, the screen is assumed to be point-like. A pixel on this screen corresponds to a direction on the sky, just like a pixel on a camera detector. Our screen object is defined, among others, by the field-of-view it covers on the sky, the number of samples (or pixels) to cover this field-of-view and the spectral properties of the detector (number of spectral channels and their wavelength). The screen covers a solid angle Ω on the sky and each pixel screen corresponds to a small solid angle around a given direction of incidence of the photons. Hence,

Equation (21)

where $I_{\nu _{\mathrm{obs}},\mathrm{pixel}}$ is the specific intensity reaching the given pixel, θpixel is the angle between the normal to the screen and the direction of incidence corresponding to this pixel and δΩpixel is the element of solid angle covered by this pixel on the sky, defined as the total solid angle covered by the screen divided by the number of pixels:

Equation (22)

where f is the angle between the normal to the screen and the most external incident direction of photons on the screen. Figure 1 shows the resulting emitted spectrum for a Schwarzschild black hole seen under an inclination of 45°.

Figure 1.

Figure 1. Emission line of a disk around a Schwarzschild black hole of mass M seen under an inclination of 45°. The internal radius of the disk is r = 6 M and the external radius r = 10 M. The power law parameter is p = −3. Only the contribution of the first-order image is taken into account. This result can be compared with figure 3 of [9].

Standard image

When considering an optically thin object, the spectrum can also be computed quite easily. It is possible to compute maps of specific intensities for a given panel of N observed frequencies νobs, i, 1 ⩽ iN, by using (15), and to compute the observed flux at these frequencies by using (21). Illustrations of such computations will be given in section 2.3.

2.3. Implemented astrophysical objects

This section describes the various astrophysical objects that are currently implemented in GYOTO as potential targets for ray-tracing.

2.3.1. Star

GYOTO can compute the image of a moving star, orbiting around a Kerr black hole. The model for the star is very simple, only the timelike geodesic of the star's center is computed, and the star is defined as the points whose Euclidian distance to the center is less than a given radius R, i.e. the points whose Cartesian-like coordinates (xr sin θ cos φ, yr sin θ sin φ, zr cos θ) satisfy

Equation (23)

where (xc, yc, zc) are the stellar center's coordinates. No internal physics nor tidal effects are taken into account.

Figure 2 shows the resulting image3 for a star orbiting on the innermost stable circular orbit (ISCO) of a Kerr black hole of spin parameter a = 0.9 M. Four particular rays are depicted on the right side of the figure, in order to show the trajectory followed by photons responsible for the primary, secondary, tertiary and quaternary images. The corresponding geodesics swirl around the black hole zero, one, two or three times before reaching the object.

Figure 2.

Figure 2. Image of a star at the ISCO of a Kerr black hole with spin parameter a = 0.9 M. Left: ray-traced image; the radial coordinate of the observer is r = 100 M. Right: some specific rays corresponding to the primary (red), secondary (green), tertiary (blue) and quaternary (magenta) images. The various black stars correspond to the source position at the emission of the photons and the black squares depict the black hole and the observer; the axes are labeled in units of M.

Standard image

The capacity of GYOTO to compute the trajectories of stars around a Kerr black hole will allow us to develop relativistic orbit-fitting scripts, in particular by using the Yorick package presented in section 4.

2.3.2. Thin infinite disk

A basic object implemented in GYOTO is the geometrically thin infinite accretion disk, with interior radius corresponding to the ISCO [31]. The expression of the emitted flux is given in [12], and is proportional to the emitted specific intensity provided the emission is isotropic, yielding

Equation (24)

where $\rho = \sqrt{r}/M$, M being the central black hole's mass. The resulting image is depicted in figure 3 for the case of a Schwarzschild black hole and an inclination angle of 70°. It is in good agreement with the results of [12].

Figure 3.

Figure 3. Image of a geometrically thin infinite accretion disk around a Schwarzschild black hole.

Standard image

2.3.3. Rossby wave instability in a thin disk

In a geometrically thin disk, a Rossby wave instability (RWI) can be triggered if the density profile exhibits an extremum for some value of the radius rRWI [32]. Density waves will be emitted away from the extremum region, with vortices appearing in the vicinity of rRWI. Such a disk has been implemented in GYOTO, the density profile being computed by means of the VAC code (see [33]). The observed flux emitted by such a disk is computed according to the prescription in [34], as a function of the surface density and radius. The result is presented in figure 4, which can be compared with those obtained in [34].

Figure 4.

Figure 4. Image of a geometrically thin disk subject to a Rossby wave instability.

Standard image

2.3.4. Ion torus

Ion tori are geometrically thick, optically thin accretion structures with constant specific angular momentum. They are the optically thin counterparts of the optically thick Polish doughnuts [35, 36].

For a torus made of a perfect fluid, it can be shown [35] that the energy–momentum conservation law along with the assumption of constant specific angular momentum leads to

Equation (25)

where p is the pressure, epsilon is the proper energy density of the fluid and the potential $\mathcal {W}$ is related to the covariant component ut of the fluid 4-velocity by $\mathcal {W} = -\ln |u_{t}|$. The isobaric surfaces thus coincide with the equipotential surfaces of $\mathcal {W}$.

The cross-sectional shape of the equipotential surfaces is given in figure 1 of [35]. It appears that one particular surface has a cusp at some r = rcrit: it crosses itself in the equatorial plane. Equipotential surfaces contained inside this critical surface are not connected to the central object; thus, matter cannot be accreted and swallowed by the black hole. It is thus assumed that the torus physical surface coincides with this critical surface. The central point, r = rcentral, coincides with the innermost equipotential surface and to the point of maximum pressure.

It is convenient to introduce the dimensionless parameter

Equation (26)

The potential (and the pressure) increases continuously between rcrit and rcentral. Thus, w varies from 0 (cusp) to 1 (center) inside the torus. Outside, w can take any other value (positive or negative).

The physics of the radiative transfer used for the ion torus is based on [37] and is presented in detail in [38]. Figure 5 shows the image of an ion torus around a Kerr black hole with a spin parameter a = 0.5 M, with trivial radiative transfer included. This image can be compared with figure 5 of [39]. Figure 6 shows the image of such an ion torus at the Galactic center as seen by an observer on Earth, with radiative transfer including the emission of synchrotron radiation (see [38] for the details of this computation).

Figure 5.

Figure 5. Image of an ion torus around a Kerr black hole of spin parameter a = 0.5 M with trivial radiative transfer (constant emission coefficient, no absorption).

Standard image
Figure 6.

Figure 6. Image of a synchrotron emitting ion torus around a Kerr black hole of mass M = 4 106M, spin parameter a = 0.5 M and placed at the Galactic center, as seen by an observer on Earth. See also [38].

Standard image

Figure 7 shows the synchrotron emitted spectrum of the previous ion torus. This is an example of the computation of the spectrum of an optically thin object by GYOTO. Astrophysically interesting perspectives of this kind of computation will be presented in [38].

Figure 7.

Figure 7. Synchrotron emitted spectrum by the ion torus of figure 6 for different spin values. The spin parameter is a = 0 (solid black), a = 0.5 M (dashed blue) or a = 0.9 M (dotted red). See also [38].

Standard image

3. Ray-tracing in a numerically computed metric

3.1. Introduction

Many spacetime configurations have been obtained via numerical relativity. Most of them have been computed within the 3+1 formalism of general relativity, which relies on the slicing of the four-dimensional spacetime by a family of (three-dimensional) hypersurfaces (see e.g. [4042]). The GYOTO code can perform ray-tracing in such a numerically given metric, allowing us to consider astrophysical objects beyond the Kerr black hole, such as rotating neutron stars, binary neutron stars or black holes, stellar core collapse, etc.

A spacetime $(\mathcal {M},g_{\alpha \beta })$ is given in a 3+1 form if the following data are available: (i) a family of spacelike hypersurfaces $(\Sigma _t)_{t\in \mathbb {R}}$ forming a foliation of $\mathcal {M}$ and (ii) a set (N, βi, γij, Kij) of fields4 on each hypersurface Σt such that N is a strictly positive scalar field, called the lapse function, βi is a vector field on Σt, called the shift vector, γij is a positive definite metric on Σt, called the 3-metric or induced metric and Kij is a symmetric tensor field on Σt, called the extrinsic curvature tensor (see e.g. [4042]). If (xi) are regular coordinates on each Σt, varying smoothly from one hypersurface to the next one, then (xα) = (t, xi) is a valid coordinate system for the whole spacetime $(\mathcal {M},g_{\alpha \beta })$. From the knowledge of (N, βi, γij), one can reconstruct the spacetime metric gαβ according to

Equation (27)

3.2. GYOTO treatment of 3+1 metrics

Assuming that the metric is provided in a 3+1 form, two techniques of geodesics integration have been implemented in GYOTO.

3.2.1. Four-dimensional method

From the 3+1 data (N, βi, γij), reconstruct the 4-metric gαβ according to (27); then, compute the Christoffel symbols 4Γα  μν of gαβ with respect to the coordinates (xα) and integrate the geodesic equation in the standard four-dimensional form:

Equation (28)

where λ is either the proper time (timelike geodesics) or some affine parameter (null geodesics), the geodesic being defined by xα = Xα(λ).

3.2.2. Three-dimensional method

The geodesic is searched in the form

Equation (29)

i.e. the geodesic is parametrized by the coordinate time t and not by λ. In [43], we have derived a system of differential equations for the functions Xi(t), which involve only the 3+1 quantities (N, βi, γij, Kij) and their spatial derivatives (denoted by ∂i ≡ ∂/∂xi) :

Equation (30)

Here, the 3Γijk are the Christoffel symbols of the 3-metric γij with respect to the coordinates (xi). The auxiliary variable Vi(t) = N−1(dXi/dt + βi) is the linear momentum of the considered particle divided by its energy, both quantities being measured by the Eulerian observer (i.e. the observer whose worldline is normal to the Σt hypersurfaces) [43].

3.3. Discretization

The differential equations (28) or (30) are integrated by means of a fourth-order Runge–Kutta algorithm. This requires the values of the 3+1 fields (N, βi, γij, Kij) at arbitrary points. If the numerical spacetime has been computed by means of a spectral method [44], this does not cause any great difficulty since by essence such a method deals with fields and not with values at grid points (see below). If the numerical spacetime arises instead from a finite difference method [41, 42], the fields (N, βi, γij, Kij) are known only at the points of the grid used for the computation. One should then devise some interpolation procedure to obtain the values of the fields (N, βi, γij, Kij) and their derivatives at the points required by the Runge–Kutta algorithm.

Currently, the geodesic integration is implemented in GYOTO only for numerical metrics computed by means of spectral methods. We are using spherical-type coordinates (xi) = (r, θ, φ) on Σt and divide the range of r in n computational domains (n ⩾ 2) : r ∈ [0, r0], r ∈ (r0, r1], ..., r ∈ (rn − 2, +). The spectral method consists in choosing finite numbers Nr, Nθ and Nφ of degrees of freedom in r, θ and φ, respectively, (typically Nr, θ, φ ∼ 20) and in expanding any scalar field f onto a polynomial basis:

Equation (31)

where ξ ∈ [0, 1] (rr0) or ∈ [ − 1, 1] (r > r0) and is related to r by

Equation (32)

and Φk, Θjk and Rij are (trigonometric) polynomial functions. Working with the Lorene library [45], we choose

Equation (33)

Equation (34)

Equation (35)

Equation (36)

Ti being the Chebyshev polynomial of order i, defined by the identity cos (ix) = Ti(cos x). Note that the φ-basis defined by (33) is nothing but a Fourier basis, the field f being obviously periodic in φ. The choice (35) for the θ-basis is motivated by regularity conditions associated with spherical coordinates (consider for example x = rsin θcos φ (m = 1) and z = rcos θ (m = 0)). The choice (36) for the ξ-basis is motivated by the good properties of the Chebyshev polynomials with respect to the approximation of functions [44]. An alternative choice could have been Legendre polynomials. In (36), the well-defined parity of the polynomial for rr0 follows from the regularity conditions associated with spherical coordinates around r = 0. Finally, note that thanks to the choice (32) for ξ, the last domain extends to r = +, which is reached for a finite value of ξ, namely ξ = 1.

In view of (31), it is clear that within the spectral method, the scalar field f is entirely described by the Nr × Nθ × Nφ coefficients $\hat{f}_{ijk}(t)$. For instance, the radial derivative of f is evaluated as

Equation (37)

where the derivative R'ij(ξ) of the polynomial Rij(ξ) can be expanded as

Equation (38)

The index (j + 1) on the right-hand side reflects the change of parity induced by the derivative and aijp are known coefficients which depend on the actual family of polynomials.

In the course of the Runge–Kunta procedure for the geodesic integration, when the value of one of the 3+1 fields is required at a given point, one uses formula (31) to evaluate it. If the numerical spacetime is stationary, the coefficients $\hat{f}_{ijk}(t)$ do not depend upon t and are part of the known data. In a dynamical spacetime, one has to evaluate $\hat{f}_{ijk}(t)$ from the known data, which are the values $\hat{f}_{ijk}(t_J)$ of the coefficients at a series tJ of discrete times—the coordinate times at which the numerical spacetime has been computed. To this aim, an interpolation at order 3 is used, using the four neighbouring tJ to compute the field value at t, by means of Neville's algorithm (see e.g. [29]).

Once the coefficients $\hat{f}_{ijk}(t)$ are known, formula (31) provides a very accurate value of f, with an error decaying exponentially with the numbers of degrees of freedom Nr, Nθ and Nφ [44]. As a result, a number of degrees of freedom of order 20 is generally sufficient to reach the maximum relative accuracy allowed in double-precision computing (∼10−14). Note that formula (31) involves a number of arithmetic operations which is of the order of Nr × Nθ × Nφ. Consequently, the ray-tracing in numerical metrics is far more time consuming than that in analytical ones.

3.4. An illustrative example

To illustrate the computation of geodesics in a numerical metric, we consider a test-mass particle orbiting around a relativistic rotating fluid star. Contrary to the black hole case, the metric around the star is not known analytically (except when the star is not rotating, where it reduces to Schwarzschild metric). It has to be computed numerically. For this purpose, we have used the ${\tt Lorene/nrotstar}$ code [45], which is based on a spectral method in spherical coordinates (as described in section 3.3) and solves the Einstein equations according to the framework presented in [46]. The computation of the timelike geodesic is performed via both methods exposed in section 3.2. The results are compared in figure 8, revealing a very good agreement between the two methods.

Figure 8.

Figure 8. Orbit of a massive particle around a rotating relativistic star, obtained as a timelike geodesic in a numerical metric resulting from the ${\tt Lorene/nrotstar}$ spectral code. The computation has been performed either by integrating the 4-dimensional geodesic equation (28) (solid red line) or by integrating the 3+1 geodesic system (30) (dotted blue line). The black circle is the central star's equatorial circumference. The axes are graduated in units of 10 km. The central star has a gravitational mass of 2.1 M, is rotating at a frequency of 700 Hz, its equatorial coordinate radius is 15.2 km and the ratio of the polar to equatorial radii is 0.76. The orbiting massive particle is restricted to the equatorial plane, with its Z coordinate limited to |Z| < 1 m. The radial coordinate of the star oscillates between a minimum value of around 38 km and a maximum of 210 km.

Standard image

4. GYOTO code in a nutshell

GYOTO is documented in-depth on its homepage http://gyoto.obspm.fr. Here, we simply summarize its most salient features.

Several interfaces are provided to use the GYOTO code:

  • a command line utility (${\tt gyoto}$) allows ray-tracing a single frame. The scenery is specified through a XML5 file and the output frame is stored in the astronomy standard FITS6 file format;
  • an extension package (${\tt ygyoto}$) for the Yorick7 interpreter allows using GYOTO interactively from a command prompt and writing complex scripts. A graphical user interface (${\tt gyotoy}$), based on this Yorick package, allows us to interactively trace a single timelike geodesic in Kerr metric (see figure 9);
  • all the core functionalities of GYOTO are packaged in a C++ shared library (${\tt libgyoto}$) and can therefore be easily accessed from the code.
Figure 9.

Figure 9. Screen capture of GYOTO's graphical user interface depicting an equatorial orbit in a quasi-extremal Kerr metric. It is possible to interactively change the parameters of the orbit thanks to the tabs on the right column.

Standard image

GYOTO has been designed with modularity in mind. A simple plug-in system allows users to easily add new metrics and new astrophysical objects without modifying or even recompiling GYOTO. The standard objects and metrics provided in GYOTO are also implemented in plug-ins, so examples are readily available.

The GYOTO code itself is not (yet) parallel, but the ray-tracing concept is inherently parallelizable. Both the ${\tt gyoto}$ utility and the ${\tt ygyoto}$ Yorick extension package are designed to split image computation in regions and can be run from standard job submission systems such as torque, thereby performing an effective parallelization.

GYOTO has been tested on recent versions of Linux and Mac OS X and should run fairly easily on any UNIX-like system. The code is available online at the following URL: http://gyoto.obspm.fr. A user guide is available there that gives details about the code architecture, as well as about the software prerequisites needed to run GYOTO.

5. Conclusion

We have developed a new ray-tracing code, GYOTO. The code is public, and is designed in order to be easily handled by the end user, even if not specialist of ray-tracing. GYOTO is able to integrate null and timelike geodesics in the Kerr metric, as illustrated above for various astrophysical objects surrounding black holes, that are already implemented. Written in C++, GYOTO is particularly adapted to be developed according to the specific needs of the user, by virtue of its object-oriented syntax.

A specificity of GYOTO as compared with other ray-tracing codes is its ability to handle numerical metrics resulting from 3+1 numerical relativity computations. The development of this aspect of the code will certainly lead in the near future to interesting and new astrophysical results.

The near future of GYOTO will be devoted to the development of new astrophysical objects and to the diversification of the handled numerically computed metrics. The possibility of parallelizing the code by using GPU will also be investigated.

Acknowledgments

FHV thanks Héloïse Méheut for having provided the numerical data necessary for the computation of the Rossby wave instability image. This work was supported by grants from Région Ile-de-France and by the ANR grant 06-2-134423 Méthodes mathématiques pour la relativité générale.

Appendix.: Convergence test

Figure A1 shows a convergence test of the GYOTO algorithm. We have considered a thin infinite accretion disk, as described in section 2.3.2, surrounding a black hole with different values of the spin parameter. The observed flux was computed according to equation (21) for different values of the total number of pixels of the GYOTO screen. The flux reference value is defined as the flux obtained with a screen of Npix = 2000 × 2000 pixels. The percentage of error, as compared to this reference value, is then determined for different values of Npix.

Figure A1.

Figure A1. Convergence test for GYOTO. This graph shows the percentage of error for the normalized flux emitted by a thin infinite disk surrounding a black hole of spin parameter a = 0 (black square), a = 0.5M (blue triangle) or a = 0.9M (red diamond), as a function of the total number of pixels of the GYOTO screen. The percentage of error for 106 pixels is less than 0.05 %.

Standard image

Figure A1 shows that GYOTO converges very quickly to very small errors. The error is already below 1 % for Npix = 100 × 100. With Npix = 1000 × 1000, the value used for all the figures shown in this paper, the error is less than 0.05 %.

The numerical accuracy of GYOTO is thus very satisfactory. Regarding the speed of GYOTO, the computing time necessary to obtain figure 3 is around 15 min on a laptop under Mac OS X on one core of a 2.4 GHz Intel Core 2 Duo processor. The image has Npix = 1000 × 1000, the observer being at a distance r = 100 M from the black hole.

Footnotes

Please wait… references are loading.
10.1088/0264-9381/28/22/225011