Abstract
We have developed an algorithm for transferring radiation in three-dimensional space. The algorithm computes radiation source and sink terms using the Fast Fourier Transform (FFT) method, based on a formulation in which the integral of any quantity (such as emissivity or opacity) over any volume may be written in the classic convolution form. The algorithm is fast with the computational time scaling as N (log N)^2, where N is the number of grid points of a simulation box, independent of the number of radiation sources. Furthermore, in this formulation one can naturally account for both local radiation sources and diffuse background as well as any extra external sources, all in a self-consistent fashion. Finally, the algorithm is completely stable and robust. While the algorithm is generally applicable, we test it on a set of problems that encompass a wide range of situations in cosmological applications, demonstrating that the algorithm is accurate. These tests show that the algorithm produces results that are in excellent agreement with analytic expectations in all cases. In particular, radiation flux is guaranteed to propagate in the right direction, with the ionization fronts traveling at the correct speed with an error no larger than one cell for all the cases tested. The total number of photons is conserved in the worst case at 10% level and typically at 1-5% level over hundreds of time steps. As an added advantage, the accuracy of the results depends weakly on the size of the time step, with a typical cosmological hydrodynamic time step being sufficient.Comment: submitted to ApJ, 50 pages, added comparisons to ray tracing metho