Efficient Photo-heating Algorithms in Time-dependent Photo-ionization
  Simulations
  We present an extension to the time-dependent photo-ionization code C$^2$-Ray
to calculate photo-heating in an efficient and accurate way. In C$^2$-Ray, the
thermal calculation demands relatively small time-steps for accurate results.
We describe two novel methods to reduce the computational cost associated with
small time-steps, namely, an adaptive time-step algorithm and an asynchronous
evolution approach. The adaptive time-step algorithm determines an optimal
time-step for the next computational step. It uses a fast ray-tracing scheme to
quickly locate the relevant cells for this determination and only use these
cells for the calculation of the time-step. Asynchronous evolution allows
different cells to evolve with different time-steps. The asynchronized clocks
of the cells are synchronized at the times where outputs are produced. By only
evolving cells which may require short time-steps with these short time-steps
instead of imposing them to the whole grid, the computational cost of the
calculation can be substantially reduced. We show that our methods work well
for several cosmologically relevant test problems and validate our results by
comparing to the results of another time-dependent photo-ionization code.
