Table of Contents
Fetching ...

The Beauty of Anisotropic Mesh Refinement: Omnitrees for Efficient Dyadic Discretizations

Theresa Pollinger, Masado Ishii, Jens Domke

TL;DR

This paper presents omnitrees as an anisotropic generalization of octrees and related data structures and provides a first validation by introducing a time-dependent rotation to create four-dimensional representations, and discusses the properties of their 4-d octree and omnitree approximations.

Abstract

Structured adaptive mesh refinement (AMR), commonly implemented via quadtrees and octrees, underpins a wide range of applications including databases, computer graphics, physics simulations, and machine learning. However, octrees enforce isotropic refinement in regions of interest, which can be especially inefficient for problems that are intrinsically anisotropic--much resolution is spent where little information is gained. This paper presents omnitrees as an anisotropic generalization of octrees and related data structures. Omnitrees allow to refine only the locally most important dimensions, providing tree structures that are less deep than bintrees and less wide than octrees. As a result, the convergence of the AMR schemes can be increased by up to a factor of the dimensionality d for very anisotropic problems, quickly offsetting their modest increase in storage overhead. We validate this finding on the problem of binary shape representation across 4,166 three-dimensional objects: Omnitrees increase the mean convergence rate by 1.5x, require less storage to achieve equivalent error bounds, and maximize the information density of the stored function faster than octrees. These advantages are projected to be even stronger for higher-dimensional problems. We provide a first validation by introducing a time-dependent rotation to create four-dimensional representations, and discuss the properties of their 4-d octree and omnitree approximations. Overall, omnitree discretizations can make existing AMR approaches more efficient, and open up new possibilities for high-dimensional applications.

The Beauty of Anisotropic Mesh Refinement: Omnitrees for Efficient Dyadic Discretizations

TL;DR

This paper presents omnitrees as an anisotropic generalization of octrees and related data structures and provides a first validation by introducing a time-dependent rotation to create four-dimensional representations, and discusses the properties of their 4-d octree and omnitree approximations.

Abstract

Structured adaptive mesh refinement (AMR), commonly implemented via quadtrees and octrees, underpins a wide range of applications including databases, computer graphics, physics simulations, and machine learning. However, octrees enforce isotropic refinement in regions of interest, which can be especially inefficient for problems that are intrinsically anisotropic--much resolution is spent where little information is gained. This paper presents omnitrees as an anisotropic generalization of octrees and related data structures. Omnitrees allow to refine only the locally most important dimensions, providing tree structures that are less deep than bintrees and less wide than octrees. As a result, the convergence of the AMR schemes can be increased by up to a factor of the dimensionality d for very anisotropic problems, quickly offsetting their modest increase in storage overhead. We validate this finding on the problem of binary shape representation across 4,166 three-dimensional objects: Omnitrees increase the mean convergence rate by 1.5x, require less storage to achieve equivalent error bounds, and maximize the information density of the stored function faster than octrees. These advantages are projected to be even stronger for higher-dimensional problems. We provide a first validation by introducing a time-dependent rotation to create four-dimensional representations, and discuss the properties of their 4-d octree and omnitree approximations. Overall, omnitree discretizations can make existing AMR approaches more efficient, and open up new possibilities for high-dimensional applications.

Paper Structure

This paper contains 13 sections, 9 equations, 13 figures, 2 algorithms.

Figures (13)

  • Figure 1: The left image shows the unit cube discretized with omnitree and Z order ($d=3$). The cube is resolved with different anisotropic resolutions in different parts of the cube. This is also reflected in the tree representation, given in the middle. To the right, the cube is discretized with an octree; Instead of 14 cuboids, the octree requires 57 cubes to represent the same scales as the omnitree. (The resulting tree becomes too wide to be printed on this page.) The colors denote the location in storage, similar colors will be stored closer to each other. One can observe that the Z order results in a certain degree of data locality.
  • Figure 2: Correspondence between tree labels and spatial refinement: The labels indicate in which direction(s) a node is refined, "1" means refinement in the respective dimension and "0" means no refinement. For example, "100" in (c) denotes refinement in the first dimension, "011" in (g) gives the refinements perpendicular to the first dimension. In the case of no refinement ("000", \ref{['fig:splits:full']}), the node is a leaf in the tree, indicated by the circle. The isotropic refinements (a)-(b) ("000" and "111") are the ones that can also be represented in an octree; the anisotropic refinements (c)-(h) are exclusive to omnitrees.
  • Figure 3: Omnitree representation before and after refinement (upper and lower row). The two rightmost (orange and pink) rectangles are refined in the vertical direction, which leads to a reordering of nodes in the tree. \ref{['fig:before:square', 'fig:after:square']}: Block decomposition of the unit square, the Z order is denoted by the dashed line. \ref{['fig:before:tree', 'fig:after:tree']}: Tree representations, where the black numbers denote node labels, see also \ref{['fig:splits']}. Leaf nodes are circled and colored according to their corresponding rectangle in the square. \ref{['fig:before:desc', 'fig:after:desc']}: Pointerless linearized binary descriptor of the omnitree. The dashed line in the tree shows the depth-first traversal used to create the binary descriptor; it matches the Z order in the discretization.
  • Figure 4: Adapted from \ref{['fig:before:square']}: $2$-d illustration of the relation between AMM bhatiaAMMAdaptiveMultilinear2022 location codes (in round brackets), Z-order location code matrix (over- and underlined numbers), and level-index notation ($Q_{\vec{i},\vec{\ell}}$). The AMM location codes are separated by dimension, and the length of the binary string per dimension determines the refinement level $\vec{\ell}$. The Z index is obtained by interleaving the bits of the binary representation of each dimension's indexes (at the maximum resolution present); This is denoted by the red and blue binary numbers in the graphic's background. For larger rectangles, one can summarize several of the Z indices with "don't care" placeholders ($\diamond$), where the digits do not need to be considered to define the rectangle. The same can be obtained by interleaving the bits of the AMM location codes and filling in the missing places with $\diamond$ placeholders. Equivalently, the level-index notation of a rectangle is given by $Q_{\vec{i},\vec{\ell}}$, with index $\vec{i}$ and level $\vec{\ell}$. The level indicates how many bits should be considered in a particular dimension, and the index is the number extracted from the binary representation of the considered bits in that dimension. For every node in the omnitree, the labels of all ancestor nodes accumulated give the level of the $Q_{\vec{i},\vec{\ell}}$ that the node is referring to, cf. \ref{['fig:before:tree']}.
  • Figure 5: Markers for the refinement algorithm applied to the tree in \ref{['fig:before:tree']}: The two rightmost leaf nodes are marked for refinement in the second dimension. After the upwards sweep, this refinement is placed at the root node of the tree, and a negative refinement is marked for the left parent node. For this tree, there is no change after the downward sweep, since the refinements can each be realized at the nodes that they are now placed at. The negative refinement means that the left parent node vanishes and its children are adopted by the root node in the refined tree. Conversely, the right parent node is now duplicated and the duplicates need to be interleaved with the left leaf nodes to comply with the Z order. (The nodes in \ref{['fig:refinement_sweep:refined']} use the "old" colors to allow for easier comparison with the initial tree; the actual color ordering in the new tree can be seen in \ref{['fig:after:tree']}.) This example illustrates the importance of step \ref{['alg:refinement:reordering']} in the algorithm.
  • ...and 8 more figures

Theorems & Definitions (2)

  • Definition 2.1: Omnitree
  • Definition 2.2: Normalized Omnitree