Speaker
Description
In many disciplines, research software is nowadays essential for scientific progress. Most often, this software is written by the scientists themselves. However, they usually pursue a short-term strategy during development, aiming at the earliest possible results. However, most often this approach leads to low software quality, especially since the scientists are generally self-taught programmers. As a result, widespread and long-term use of the software is prevented and, at the same time, the quality of scientific research and the pace of progress are compromised.
The SURESOFT project at the TU Braunschweig aims to establish a general methodology and infrastructure based on Continuous Integration (CI) for research software projects. CI is a prerequisite for improving the quality of research software, simplifying software delivery, and ensuring long-term sustainability and availability.
In this talk, I will present how we applied the ideas and concepts of SURESOFT to our research code VirtualFluids. The code is a Computational Fluid Dynamics solver based on the Lattice Boltzmann Method for turbulent, thermal, multiphase and multicomponent flow problems as well as for multi-field problems such as Fluid-Structure-Interaction including distributed pre- and postprocessing capabilities for simulations. VirtualFluids is designed to be used on High-Performance-Computing platforms with both GPGPUs and CPUs. Efficiency has always been critical, probably even more important than obtaining maintainability. As a result, in the past VirtualFluids lacked a delivery strategy as well as quality assurance. In my presentation, I’ll talk about how we used ideas from SURESOFT to improve VirtualFluids and how we refactored the application to find a better balance between efficiency and making sure the software is delivered well and is high quality. This way, VirtualFluids can handle powerful computation while becoming more structured and adaptable.