Probing the structure of complex astrophysical objects requires effective
three-dimensional (3D) numerical simulation of the relevant radiative transfer
(RT) processes. As with any numerical simulation code, the choice of an
appropriate discretization is crucial. Adaptive grids with cuboidal cells such
as octrees have proven very popular, however several recently introduced
hydrodynamical and RT codes are based on a Voronoi tessellation of the spatial
domain. Such an unstructured grid poses new challenges in laying down the rays
(straight paths) needed in RT codes. We show that it is straightforward to
implement accurate and efficient RT on 3D Voronoi grids. We present a method
for computing straight paths between two arbitrary points through a 3D Voronoi
grid in the context of a RT code. We implement such a grid in our RT code
SKIRT, using the open source library Voro++ to obtain the relevant properties
of the Voronoi grid cells based solely on the generating points. We compare the
results obtained through the Voronoi grid with those generated by an octree
grid for two synthetic models, and we perform the well-known Pascucci RT
benchmark using the Voronoi grid. The presented algorithm produces correct
results for our test models. Shooting photon packages through the geometrically
much more complex 3D Voronoi grid is only about three times slower than the
equivalent process in an octree grid with the same number of cells, while in
fact the total number of Voronoi grid cells may be lower for an equally good
representation of the density field. We conclude that the benefits of using a
Voronoi grid in RT simulation codes will often outweigh the somewhat slower
performance.Comment: 9 pages, 7 figures, accepted by A