Dr. Fabian Schlegel

Head OpenFoam modelling of multiphase flows
Phone: +49 351 260 3467

Agile software development for the OpenFOAM Foundation software

The open source software released by the OpenFOAM Foundation is written in state-of-the-art, object-oriented C++ and licensed under GNU GPL v3 license. The OpenFOAM Foundation follows a continuous integration strategy to reduce the amount of bugs in the source code. This development strategy has higher demands on downstream developers, like HZDR. The main reasons for using the OpenFOAM Foundation software are:

  • Robustness: The software is based on a second order finite volume method on unstructured grids.

  • Transparency: The source code is fully accessible, which ensures that results are always reproducible.
  • Community: The software has a huge user base in industry and science.
  • Modularity: The software uses a state-of-the-art programming language, follows state-of-the-art software design concepts and provides flexible interfaces for downstream developments.
  • Efficiency: The software allows to focus research on model development and new simulation concepts. Basic infrastructure, including for example configuration files, discretisation methods and post-processing tools, is already available.

Contributor with an Addon

Excellent code quality and robustness of the software library is ensured by the maintenance work of the OpenFOAM Foundation, which is a major requirement for CFD software in industrial design processes. After signing the contributor’s agreement, HZDR has the possibility to promote its developments for multiphase flows to the OpenFOAM Foundation for integration in the release. Contributions to the release are a key prerequisite for industrial application of our developments. However, the demands on software quality are high and cannot always be ensured in research. Hence, HZDR develops the Multiphase Code Repository by HZDR, which primarily includes prototype functionality. The flexible interfaces and a early communication with the core developers of OpenFOAM Foundation software makes sure the maintenance generated by the add-on is minimised. A support contract with CFD Direct ensures that the long-term maintenance and the integration costs of HZDR's release contributions are covered.

Foto: Illustration of the linkage between OpenFOAM release and HZDR Multiphase Addon for OpenFOAM. ©Copyright: Dr. Fabian Schlegel

Illustration of the linkage between OpenFOAM foundation software and Multiphase Code Repository by HZDR.

Source: Dr. Schlegel, Fabian

Development in Sprint Cycles

Due to the high commit frequency of the OpenFOAM-dev repository it is almost impossible to keep the Multiphase Code Repository by HZDR aligned permanently. Hence, HZDR follows a special development strategy which is based on sprint cycles. Such a sprint cycle freezes the OpenFOAM-dev repository for a short time period and the specific commit serves as a basis for the internal developments. A new sprint cycle is started once important new functionality is published, own contributions got accepted or a new version is released. The development of the Multiphase Code Repository by HZDR itself follows a continuous integration strategy.

Foto: Illustration of sprint cycles for OpenFOAM developments at HZDR ©Copyright: Dr. Fabian Schlegel

Illustration of sprint cycles for OpenFOAM Foundatio software

Source: Dr. Schlegel, Fabian

Continuous Integration and DevOps

Nowadays several methods and tools (DevOps) exists to ensure a high code quality and a high level of automation (CI/CD). These are prerequisites to work efficiently with a continuous integration strategy. The Helmholtz Cloud provides a seamless and powerful IT infrastructure for the Helmholtz Society, which is dedicated to continuous integration and helps to ensure an efficient and sustainable software development. For the development of the Multiphase Code Repository by HZDR we use among other tools:

  • Gitlab: a web-based software development platform with, e.g., Git version control, Docker registry, issue tracking, CI/CD pipelines, and
  • Mattermost: a real time chat service for developers at HZDR and international partners.
Foto: IT concept for OpenFOAM developments ©Copyright: Dr. Fabian Schlegel

IT concept for developments for OpenFOAM Foundation software

Source: Dr. Schlegel, Fabian

Code publications and FAIR

The Multiphase Code Repository by HZDR is developed in Gitlab in a Git repository. Access to the repository can be granted upon request by using Helmholtz AAI for Helmholtz centres and friends or guest accounts for international partners.

As a part of good scientific practices, research software should be published alongside with publications following the FAIR principles (findability, accessibility, interoperability, and reusability). Therefore, we continuously publish new versions of the Multiphase Code Repository by HZDR and the Multiphase Cases Repository by HZDR via the Rossendorf Data Repository.