t8code - The Scalable and Efficient Alternative to Unstructured Meshes
Please login to view abstract download link
Dynamic Adaptive Mesh Refinement (AMR) has proven to be quite successful in improving the accuracy and reducing the runtime for scientific and engineering applications. By refining the mesh locally in critical areas of a simulation we reduce the computational power and overall memory by orders of magnitude compared to uniformly refined meshes. However, management of adaptive meshes and associated data for parallel applications is a challenging task and should be outsourced to thirdparty libraries. We present the t8code library for massively scalable AMR. It provides algorithms for mesh adaptation, load-balancing, ghost computation, feature search and more. t8code can manage meshes with over one trillion mesh elements and scales up to one million parallel processes. t8code uses efficient space-filling curves (SFC) to manage the data in semi-structured refinement trees. While SFCs have been successfully applied to quad and hex meshes previously, t8code extends these SFC techniques to arbitrary element shapes. In version 1.0, t8code provides implementations of Morton type SFCs for vertices, lines, quadrilaterals, triangles, hexahedra, tetrahedra, prisms, and pyramids. It also supports hybrid meshes with different shapes in the same mesh. With this support t8code presents itself as a scalable and performant alternative to unstructured meshing codes. Performance results confirm that the runtime and memory saved using t8code outweighs the AMR overhead by orders of magnitude and that t8code is a solid choice for scientific and industrial applications. We present our own projects and use cases of t8code in climate and weather modelling and how research and industry codes can benefit from t8code’s capabilities.