posted on 2004-04-01, 00:00authored byTiankai Tu, David R. O'Hallaron, Julio Lopez
This report describes a library, called the etree library, that allows C programmers to manipulate large octrees
stored on disk. Octrees are stored as a sequence of fixed sized octant records sorted by a locational
code order that is equivalent to a preorder traversal of the tree and a Z-order traversal through the domain.
The sorted records are indexed by a conventional file-resident B-tree index and queried using fixed-length
locational code keys. A schema can be defined to make an etree portable across different platforms. The
etree library provides functions for creating, modifying, and searching octrees, including efficient mechanisms
for appending octants and iterating over octants in Z-order. The library is the foundation for a larger
research effort aimed at enabling scientists and engineers to solve large physical simulations on their desktop
systems by recasting the simulation process to work directly on large etrees stored on disk.