About

t8code (spoken as "tetcode") is a C/C++ library to manage parallel adaptive meshes with various element types. t8code uses a collection (a forest) of multiple connected adaptive space-trees in parallel and scales to at least one million MPI ranks and over 1 Trillion mesh elements.

t8code is intended to be used as a thirdparty library for numerical simulation codes or any other applications that require meshes.

Here, you can find a description of the interface, functionality and features of t8code version 1.0.

Key-features

Among other features, t8code offers the following functionalities:

  • Managing distributed adaptive meshes over complex domain geometries
  • Adapting meshes according to user given refinement/coarsening criteria
  • Establishing a 2:1 balance condition
  • (Re-)partitioning/load-balancing a mesh (and associated data) among MPI ranks
  • Managing ghost (halo) elements and data
  • Searching the mesh efficiently
  • Supporting curved meshes

Getting started

Get started using t8code now. We have a collection of Tutorials that help you understand the data structures and algorithms of t8code and how to best connect it to your application. Additionally our large collection of examples demonstrates the features of t8code.

Publications

Johannes Holke, Scalable algorithms for parallel tree-based adaptive mesh refinement with general element types, PhD thesis at University of Bonn, 2018, Full text available
Carsten Burstedde and Johannes Holke, A Tetrahedral Space-Filling Curve for Nonconforming Adaptive Meshes, SIAM Journal on Scientific Computing, 2016, 10.1137/15M1040049
Carsten Burstedde and Johannes Holke, Coarse mesh partitioning for tree-based AMR, SIAM Journal on Scientific Computing, 2017, 10.1137/16M1103518
Johannes Holke and David Knapp and Carsten Burstedde, An Optimized, Parallel Computation of the Ghost Layer for Adaptive Hybrid Forest Meshes, SIAM Journal on Scientific Computing, 2021, 10.1137/20M1383033 Sandro Elsweijer and Johannes Holke and Jan Kleinert and Dirk Reith, Constructing a Volume Geometry Map for Hexahedra with Curved Boundary Geometries, Research note a the International Meshing Roundtable 2022, Research note available

Cite & Acknowledge

If you use t8code in any of your publications, please cite the github repository and [1]. For publications specifically related to

  • the TM index, please cite [2].
  • coarse mesh partitioning, please cite [3].
  • construction and handling of the ghost layer, please cite [4].

t8code-1.4.1 released

We have released version 1.4.1 of t8code!

New features include:

  • A curved geometry for triangles

  • A generally improved geometry implementation

  • A parallel reader for vtk files

  • A function to create the connectivity for a cmesh

  • Improved testing by enabling tests for more parameters

  • Improved CI

  • Bug-fixes

  • Improve the …