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.
Date added: Tue, 8 Oct 13