Release of t8code as an open source plugin for any simulation software
The research group Scalable Adaptive Mesh Refinement of the Institute for Software Technology, led by Dr. Johannes Holke, has released version 1.0 of the "t8code" software library as open source software on GitHub in September 2022.
t8code (spelled lowercase and pronounced "tetcode") is a software library for efficiently managing dynamic adaptive meshes and data on them. "Any simulation software that uses meshes can benefit from t8code," says group leader Johannes Holke. "t8code does not represent an end application, it is rather a plugin that supports and enhances different simulation applications as a 'tool'," he says, describing the code he has been developing since his doctoral studies at the University of Bonn. t8code is very universal because it supports just about all meshes needed by numerical simulation software.
At the German Aerospace Center (DLR), t8code is already successfully used in several projects. Current applications range from earth system modeling to the simulation of atmospheric chemistry and the improvement of 3D printing processes.
Adaptive meshes as a basis for flow simulations
In computer simulations of weather forecasts, climate models or fluids, meshes are often used as the basis for simulations. The computational domain is first divided into a mesh of different geometric shapes such as triangles, quadrilaterals, hexahedra or tetrahedra. The finer the resolution of this mesh, the more accurate the results of the simulation.
However, finer resolutions also increase computation time and memory requirements. The meshes become adaptive when they selectively refine only in places where a fine resolution is needed, and remain coarser in other places. In the example of a weather simulation, mesh refinement is useful along a cold front. If mesh grid resolution changes during the simulation - the cold front moves - the adaptive mesh is called dynamic. The subdivision into fine and coarse computational domains allows for extremely efficient utilization of the available computing ressources.
t8code extends successful technologies
t8code is extremely efficient and works even with the extremely large processor counts of current supercomputers. The software library has proven its performance in practical applications with up to one million parallel processes and meshes with more than one trillion (10 to the power of 12) elements. t8code achieves this efficiency by using a tree-based approach with the help of space-filling curves. In terms of computing time and memory usage these data structures are both highly efficient while still allowing for geometrically flexible meshes. t8code extends this successful technology, previously only available for quadrilateral and hexahedral meshes, to general element shapes. Thus, t8code supports in 3D the particularly frequently used shapes tetrahedra, hexehedra, prisms and pyramids and also allows the combination of different shapes within the same mesh.
Potential for industry
t8code is ideally suited as a scalable alternative to the unstructured meshes commonly used in industry. t8code promises shorter runtimes - and thus lower costs -, better resolutions and a universally applicable code for simulation software.