Development and maintenance of OpenFOAM_RCS for German nuclear safety research related to the reactor cooling system


Development and maintenance of OpenFOAM_RCS for German nuclear safety research related to the reactor cooling system

Lehnigk, R.; Schlegel, F.; Lucas, D.

Computational Fluid Dynamics (CFD) is becoming an increasingly important tool for reactor safety research. Since many years, research groups in Germany and worldwide actively work on qualifying CFD methods, e.g. for the simulation of accident scenarios in the primary circuit that involve complex multiphase flow phenomena. In order to ensure a long-term availability of model developments and validation setups, German research projects funded by the German Federal Ministry of Economics and Technology (BMWi) used to be geared towards using a common reference code. Until the more recent past, the software of choice has been the proprietary code CFX, acquired by ANSYS, Inc. in 2003. However, recent company policy has led to a reduction of development efforts directed to CFX, particularly with respect to its multiphase capabilities, showing that the dependence of research projects on commercial software can be unsustainable.
In the meantime, open-source solutions have developed into an attractive alternative. A CFD simulation platform that is widely used in academia and industry is OpenFOAM, a free software package released under the GNU General Public License by the OpenFOAM Foundation (https://openfoam.org), maintained by a team of dedicated contributors. OpenFOAM constitutes a software library rather than a large monolithic solver and elements of it are combined into applications, each designed for a specific task. Users interact with the software through the command line; a graphical user interface is not distributed by the OpenFOAM Foundation and graphical post-processing needs to be done via third party tools.
Open-source implies full availability of the source code which generates several advantages, including, but not limited to, unobstructed verification, flexibility of implementing innovative concepts and no direct dependence on software manufacturers. Although the code itself is free, use of open-source software in general and OpenFOAM in particular can generate cost in other ways. Performing complex simulations is usually more demanding than with commercial codes and requires extensive knowledge about numerical methods. In order to extend the code, sufficient programming experience is needed and additional implementations must be continuously maintained to comply with changes of the programming and user interfaces, which are sometime inevitable in order to keep the core code maintainable and extensible. In the scope of nuclear reactor safety research, the associated effort is considerable and careful coordination is required in order to avoid duplicate efforts of partners and continuous availability of related research software developments.

In 2017, it was determined that for future BMWi-funded projects, CFD model developments should preferably be carried out using OpenFOAM. Since 2020, the BMWi is funding the Helmholtz-Zentrum Dresden – Rossendorf (HZDR) to coordinate, gather and deploy current and future OpenFOAM developments from German research projects related to the reactor cooling system. In the past years, HZDR has gained experience with the development process of OpenFOAM by frequently contributing code for inclusion in the official development line. In order to preserve German OpenFOAM developments from nuclear research activities that are not intended for contribution, HZDR has created an OpenFOAM addon called OpenFOAM_RCS, wherein RCS stands for reactor cooling system. The addon is developed and maintained with the software development environment GitLab, using an instance provided by the Helmholtz Federated IT Services. Based on the version control management system Git, GitLab provides the required tools for managing the process of continuous integration and development (CI/CD). Through the use of CI/CD-pipelines, code from partners that is intended for inclusion can be tested with respect to style aspects and, more importantly, whether it impedes previous developments. Build tests help to ensure that the code can be compiled at all times and unit tests allow to continuously verify added functionality. Finally, simulation setups from partners are archived in a separate repository and automatically tested as well to make sure that they keep functioning and deliver the expected results.
OpenFOAM_RCS includes a Doxygen-generated source code documentation. Members can effectively communicate about developments through the Mattermost chat service. The addon is deployed in precompiled form as a Docker image that includes all dependencies. Next to the option of compiling the source code themselves, partners can use it to conveniently run OpenFOAM_RCS on any operating system in a containerized form.

  • Poster (Online presentation)
    Technical Meeting on the Development and Application of Open-Source Modelling and Simulation Tools for Nuclear Reactors, 20.-24.06.2022, Milano, Italia

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