t8code – die Open-Source-Bibliothek für extrem effiziente Simulationen mit adaptiven Gittern

t8code ist eine Softwarebibliothek zum effizienten Management von dynamischen adaptiven Gittern und Daten auf diesen. t8code unterstützt und verbessert unterschiedliche Simulationsapplikationen als Plugin und kann für jede Simulationssoftware, die Gitter verwendet, eingesetzt werden.

  • die Softwarebibliothek ermöglicht effizientes Management von dynamischen adaptiven Gittern und Daten auf diesen
  • t8code erweitert erfolgreiche Technologien, die bisher nur für Viereck- und Hexaedergitter verfügbar gewesen sind, auf allgemeine Elementformen
  • die Softwarebibliothek kann als Werkzeug für alle Simulationscodes eingesetzt werden
  • t8code skaliert auf Supercomputern und verkürzt Rechenzeiten erheblich
  • t8code wird am DLR-Institut für Softwaretechnologie unter Beteiligung der Universität Bonn entwickelt
  • Projektwebseite: t8code
  • Projekt repository t8code auf GitHub

t8code als Open Source-Plugin für jede Simulationssoftware 

t8code (klein geschrieben und „tetcode“ ausgesprochen) ist eine Softwarebibliothek zum effizienten Management von dynamischen adaptiven Gittern und Daten auf diesen. Jede Simulationssoftware, die Gitter verwendet, kann von t8code als Plugin profitieren, denn es unterstützt und verbessert unterschiedliche Simulationsapplikationen. t8code ist sehr universell einsetzbar, weil es so gut wie alle Gitter, die von numerischer Simulationssoftware gebraucht werden, unterstützt.

t8code wird von der Abteilung High-Performance Computing des Instituts für Softwaretechnologie unter Beteiligung der Universität Bonn entwickelt. Im Deutschen Zentrum für Luft- und Raumfahrt wird t8code bereits erfolgreich in mehreren Projekten genutzt. Dabei reichen die aktuellen Einsatzbereiche von Erdsystemmodellierungen über die Simulation von Atmosphärenchemie bis hin zur Verbesserung von 3D-Druckverfahren.

Flugzeugquerschnitt modelliert mit skalierbaren adaptiven Gittern
Die Animation zeigt den Querschnitt eines Flugzeuges, der mithilfe der Softwarebibliothek t8code modelliert ist. Die Softwarebibliothek unterstützt effizientes Management von dynamischen adaptiven Gittern und Daten auf diesen. t8code verbessert unterschiedliche Simulationsapplikationen als Plugin und kann für jede Simulationssoftware, die Gitter verwendet, eingesetzt werden.

Adaptive Gitter als Grundlage von Strömungssimulationen

Bei Computersimulationen von Wettervorhersagen, Klimamodellen oder Strömungen kommen oft Gitter als Grundlage für Berechnungen zum Einsatz. Das Rechengebiet wird zunächst in ein Gitter aus unterschiedlichen geometrischen Formen wie Dreiecken, Vierecken, Hexaedern oder Tetraedern aufgeteilt. Je feiner die Auflösung dieses Gitters ist, desto genauer sind die Ergebnisse der Simulation.

Adaptive Gitter in einer Simulation der Strömungen in der Erdatmosphäre
Durch gezieltes Verfeinern und Vergröbern der Rechenzellen können Rechenzeit und Speicherbedarf deutlich reduziert werden.
Credit:

Johannes Holke, 2021

DownloadDownload

Eine feinere Auflösung erhöht allerdings auch die Rechenzeit und den Speicherbedarf. „Adaptiv“ werden die Gitter, wenn sie sich gezielt nur an den Stellen verfeinern, an denen eine feine Auflösung notwendig ist, und an anderen Stellen gröber bleiben. Eine Verfeinerung des Gitters ist im Beispiel einer Wettersimulation entlang einer Kaltfront sinnvoll. Ändert sich die Gitterauflösung während der Simulation – die Kaltfront bewegt sich – so spricht man von dynamischen adaptiven Gittern. Die Unterteilung in feine und grobe Rechengebiete erlaubt es, extrem effizient mit der zur Verfügung stehenden Rechenkapazität umzugehen.

t8code erweitert erfolgreiche Technologien

2D Tankschwapp-Simulation in einem bewegten runden Tank.
Die Simulation wurde mit dem CFD-Code Trixi.jl durchgeführt. Hierbei wurde das Framework mit dem sogenannten Drei-Gleichungsmodell erweitert. Das Modell beinhaltet eine vereinfachte Zweiphasen-Strömung der Baer-Nunziato-Gleichungen für kompressible Mehrphasen-Fluide. Die gezeigte Simulation ist Resultat gemeinsamer Forschungsarbeiten am DLR und der Universität zu Köln. Ziel ist die Entwicklung und Umsetzung von Computermodellen für Schwappdynamiken in Flüssigwasserstofftanks auf bewegten Platformen wie Autos, Schiffen und Flugzeuge. Besonderer Fokus liegt hierbei in der möglichst detailierten Auflösung der Grenzschicht zwischen Gas- und Flüssigkeitphase. Dieses wird über ein adaptives Gitter von t8code bewerkstelligt das sich der veränderlichen Grenzschicht dynamisch anpasst.

t8code ist extrem effizient und funktioniert selbst mit den extrem großen Prozessorzahlen aktueller Supercomputer. In praktischen Anwendungen mit bis zu einer Million parallelen Prozessen und Gittern mit mehr als einer Billion (10 hoch 12) Elementen hat t8code seine Leistungsfähigkeit nachgewiesen. t8code erreicht diese Effizienz durch einen baumbasierten Ansatz mit Hilfe von raumfüllenden Kurven. Diese Datenstrukturen sind sowohl sehr rechen- und speichereffizient als auch geometrisch sehr flexibel. t8code erweitert diese erfolgreiche Technologie, die bisher nur für Viereck- und Hexaedergitter verfügbar war, auf allgemeine Elementformen. So unterstützt t8code in 3D die besonders häufig genutzten Formen Tetraeder, Hexaeder, Prismen und Pyramiden und erlaubt auch die Kombination verschiedener Formen innerhalb eines Gitters.

Potential für die Industrie

t8code eignet sich ideal als skalierbare Alternative zu den in der Industrie häufig verwendeten unstrukturierten Gittern. t8code verspricht kürzere Laufzeiten – und damit geringere Kosten –, bessere Auflösungen und einen universell einsetzbaren Code für Simulationssoftware.

Weitere Informationen: 

Kontakt

Dr.-Ing. Achim Basermann

Abteilungsleitung
Deutsches Zentrum für Luft- und Raumfahrt (DLR)
Institut für Softwaretechnologie
High-Performance Computing
Linder Höhe, 51147 Köln