target mesh is performed by a simple recursive calculation as done in $N$-body calculation. We start at the root node (level 0 tree node), which covers entire computational domain. Let $w$ be the width of the node currently being processed and $D$ the distance between the closest edges of the tree node and the target mesh. If the angular size of the node is smaller than a fixed value of accuracy parameter, i.e. $$\frac{w}{D} < \theta_{\rm crit}, 
  \label{eq:opening}$$ then we perform the RT calculation between the group of sources in the current node and the target mesh and move on to the next node. Otherwise, we examine the child nodes (subnodes) recursively. The effective number of sources is thus proportional to $\log(N_{\rm s})$. In the following subsections we will explain how we perform the RT calculation between a group of sources and a target mesh.

Supermesh approximation {#sec:smart}
-----------------------

![Schematic illustration of the supermesh structure for $8\times8$ two-dimensional meshes. In this case, the maximum level, $l_{\rm max}$, is 3 and the meshes themselves can be used as the highest level supermeshes. A level $l$ supermesh contains $2^{2(l_{\rm max} - l)}$ meshes. For three-dimensional meshes, a level $l$ supermesh consists of 