Nachhaltige Entwicklung und Wartung von Codeerweiterungen und Simulations-Setups für quelloffene Strömungssimulationssoftware


Nachhaltige Entwicklung und Wartung von Codeerweiterungen und Simulations-Setups für quelloffene Strömungssimulationssoftware

Lehnigk, R.; Schlegel, F.

Eine für die numerische Simulation von Strömungen sehr beliebte und erfolgreiche Software ist die quelloffene Software der OpenFOAM Foundation, welche sowohl in der Industrie als auch im akademischen Umfeld Anwendung findet. Forschungsgruppen, die keine reine Inhouse-Entwicklung leisten können oder anstreben, gewährt sie eine optimale Basis um eigene Ideen und Konzepte in einer transparenten Umgebung effizient testen zu können. Obwohl der Wartungsaufwand im Vergleich zu einer Eigenentwicklung insgesamt erheblich geringer ist, müssen Erweiterungen dennoch gepflegt werden um diese mit dem jeweils aktuellen Stand des Hauptrelease kompatibel zu halten. Die damit verbundene Arbeit erlangt umso größere Bedeutung, wenn Erweiterungen im Sinne der FAIR-Prinzipien zusammen mit wissenschaftlichen Publikationen bereitgestellt werden. Als agil entwickelte und intensiv gewartete Software stellt die Software der OpenFOAM Foundation in dieser Hinsicht besondere Anforderungen an die nachgelagerten Entwickler.
Das Helmholtz-Zentrum Dresden – Rossendorf e.V. (HZDR) verfolgt hierbei einen möglichst nachhaltigen Ansatz. Abgeschlossene und zitierfähige Entwicklungen werden entweder in einer eigenen Softwarepublikation veröffentlicht, oder, in enger Abstimmung mit den Kernentwicklern der OpenFOAM Foundation, in das Hauptrelease integriert. Die für die Arbeit an der Erweiterung (Multiphase Code Repository by HZDR for OpenFOAM Foundation Software) geschaffene IT-Infrastruktur zeichnet sich durch einen hohen Automatisierungsgrad aus und bietet Anwendern innerhalb und außerhalb des HZDR eine nützliche Plattform für die Erforschung von numerischen Methoden und Modellen.
Rückgrat der Arbeiten ist die über die Helmholtz Cloud bereitgestellte GitLab-Instanz (Helmholtz Codebase). Darin werden zwei Repositorien gepflegt: Eines für die Codeerweiterung und eines für Setups zur Simulation konkreter Anwendungen (Multiphase Cases Repository by HZDR for OpenFOAM Foundation Software). Zur Sicherung der Qualität und Funktionalität wird die Arbeit in der GitLab-Umgebung von Continuous-Integration-Pipelines (CI) begleitet, in deren Rahmen unter anderem statische Code-Checks, Build-Tests und Testläufe automatisiert vorgenommen werden. Für die Verwendung in CI-Pipelines sowie die lokale Entwicklung der Erweiterung wird die Installation als Container (Docker) bereitgestellt. Reine Anwender können auf die Installation per Debian-Paket zurückgreifen. Die zitierfähige Veröffentlichung des Quellcodes erfolgt mit jeder wissenschaftlichen Publikation im Rossendorf Data Repository (RODARE). Die Verwendung des Workflowmanagementsystems Snakemake ermöglicht skalierbare Validierungsläufe. Um die Portierbarkeit der Entwicklungen zu verbessern konzentrieren sich jüngere Arbeiten auf die Bereitstellung der Software als HPC-Container (Apptainer) für die Anwendung auf Hochleistungsrechnern. Dieser Beitrag gibt einen Überblick über die genannten Elemente der Umgebung und deren Zusammenspiel.

  • Lecture (Conference)
    4th conference for Research Software Engineering in Germany, 05.-07.03.2024, Würzburg, Deutschland

Permalink: https://www.hzdr.de/publications/Publ-38301