Searcharxiv⌕ Search

arXiv subjects

Johannes Holke

Publications and source records attributed to Johannes Holke.

5 recordsLinked to original sources

An Optimized, Parallel Computation of the Ghost Layer for Adaptive Hybrid Forest Meshes

We discuss parallel algorithms to gather topological information about off-process mesh neighbor elements. This information is commonly called the ghost layer, whose creation is a fundamental, necessary task in executing most parallel, element-based computer simulations. Approaches differ in that the ghost layer may either be inherently part of the mesh data structure that is maintained and modified, or kept separate and constructed/deleted as needed. In this work, we present an updated design following the latter approach, which we favor for its modularity of algorithms and data structures. We target arbitrary adaptive, non-conforming forest-of-(oc)trees meshes of mixed element shapes, such as cubes, prisms, and tetrahedra, and restrict ourselves to face-ghosts. Our algorithm has low complexity and redundancy since we reduce it to generic codimension-1 subalgorithms that can be flexibly combined. We cover several existing solutions as special cases and optimize further using recursive, amortized tree searches and traversals.

cs.DC↗

Scalable Algorithms for Parallel Tree-based Adaptive Mesh Refinement with General Element Types

In this thesis, we develop, discuss and implement algorithms for scalable parallel tree-based adaptive mesh refinement (AMR) using space-filling curves (SFCs). We create an AMR software that works independently of the used element type, such as for example lines, triangles, tetrahedra, quadrilaterals, hexahedra, and prisms. Along with a detailed mathematical discussion, this requires the implementation as a numerical software and its validation, as well as scalability tests on current supercomputers. For triangular and tetrahedral elements (simplices) with red-refinement (1:4 in 2D, 1:8 in 3D), we develop a new SFC index, the tetrahedral Morton index (TM-index). Its construction is similar to the Morton index for quadrilaterals/hexahedra, as it is also based on bitwise interleaving the coordinates of a certain vertex of the simplex, the anchor node. We develop and demonstrate a new simplicial SFC and create a fast and scalable tree-based AMR software that offers a flexibility and generality that was previously not available.

cs.DC↗

A tetrahedral space-filling curve for non-conforming adaptive meshes

We introduce a space-filling curve for triangular and tetrahedral red-refinement that can be computed using bitwise interleaving operations similar to the well-known Z-order or Morton curve for cubical meshes. To store sufficient information for random access, we define a low-memory encoding using 10 bytes per triangle and 14 bytes per tetrahedron. We present algorithms that compute the parent, children, and face-neighbors of a mesh element in constant time, as well as the next and previous element in the space-filling curve and whether a given element is on the boundary of the root simplex or not. Our presentation concludes with a scalability demonstration that creates and adapts selected meshes on a large distributed-memory system.

cs.DC↗

Bounds on the number of discontinuities of Morton-type space-filling curves

The Morton- or z-curve is one example for a space filling curve: Given a level of refinement L, it maps the interval [0, 2**dL) one-to-one to a set of d-dimensional cubes of edge length 2**-L that form a subdivision of the unit cube. Similar curves have been proposed for triangular and tetrahedral unit domains. In contrast to the Hilbert curve that is continuous, the Morton-type curves produce jumps. We prove that any contiguous subinterval of the curve divides the domain into a bounded number of face-connected subdomains. For the hypercube case and arbitrary dimension, the subdomains are star-shaped and the bound is indeed two. For the simplicial case in dimensions 2 and 3, the bound is proportional to the depth of refinement L. We supplement the paper with theoretical and computational studies on the frequency of jumps for a quantitative assessment.

cs.CG↗

Coarse mesh partitioning for tree based AMR

In tree based adaptive mesh refinement, elements are partitioned between processes using a space filling curve. The curve establishes an ordering between all elements that derive from the same root element, the tree. When representing more complex geometries by patching together several trees, the roots of these trees form an unstructured coarse mesh. We present an algorithm to partition the elements of the coarse mesh such that (a) the fine mesh can be load-balanced to equal element counts per process regardless of the element-to-tree map and (b) each process that holds fine mesh elements has access to the meta data of all relevant trees. As an additional feature, the algorithm partitions the meta data of relevant ghost (halo) trees as well. We develop in detail how each process computes the communication pattern for the partition routine without handshaking and with minimal data movement. We demonstrate the scalability of this approach on up to 917e3 MPI ranks and .37e12 coarse mesh elements, measuring run times of one second or less.

cs.DC↗