From John Bachan's paper: "The bittree is a memory efficient data structure for storing the entire octree structure of the mesh on each node. It also yields an efficient algorithm for mapping from a block's coordinates in the domain to its index along the space filling Morton curve which is used to distribute blocks among processors. Together, these features enable determination of the processor to which a given block belongs without requiring any off-node communication."
This repository contains the Bittree source code (in src
) as well as a unit test built with GoogleTest. Before building the test, customize Makefile.site by filling in appropriate information for your system. Then in the repository root directory, run the run_test_suite.sh bash script which builds and executes 1D, 2D, and 3D versions of the test.
After customizing Makefile.site, use the following commands to build and install the Bittree library.
python setup.py library --dim N --prefix NameOfPrefix
cd build
make
make install
The Bittree examples in the tutorial
directory requires the 2D library to be built first. Then go the Makefile
and appropriately fill in the the top section. The test can be made with make
and run with make test
.