  We revisit the generation of balanced octrees for adaptive mesh refinement
(AMR) of Cartesian domains with immersed complex geometries. In a recent short
note [Hasbestan and Senocak, J. Comput. Phys. vol. 351:473-477 (2017)], we
showed that the data-locality of the Z-order curve in hashed linear octree
generation methods may not be perfect because of potential collisions in the
hash table. Building on that observation, we propose a binarized octree
generation method that complies with the Z-order curve exactly. Similar to a
hashed linear octree generation method, we use Morton encoding to index the
nodes of an octree, but use a red-black tree in place of the hash table.
Red-black tree is a special kind of a binary tree, which we use for insertion
and deletion of elements during mesh adaptation. By strictly working with the
bitwise representation of the octree, we remove computer hardware limitations
on the depth of adaptation on a single processor. Additionally, we introduce a
geometry encoding technique for rapidly tagging the solid geometry for
refinement. Our results for several geometries with different levels of
adaptations show that the binarized octree generation outperforms the linear
octree generation in terms of runtime performance at the expense of only a
slight increase in memory usage. We provide the current AMR capability as
open-source software.
