Combining Machine Learning with Computational Fluid Dynamics using OpenFOAM and SmartSim
This work addresses the integration difficulties in CFD+ML for researchers and engineers, though it is incremental as it builds on existing open-source tools.
The paper tackles the challenge of implementing machine learning (ML) with computational fluid dynamics (CFD) for large-scale problems by providing a scalable solution using OpenFOAM and SmartSim, which simplifies programming and enables efficient data exchange.
Combining machine learning (ML) with computational fluid dynamics (CFD) opens many possibilities for improving simulations of technical and natural systems. However, CFD+ML algorithms require exchange of data, synchronization, and calculation on heterogeneous hardware, making their implementation for large-scale problems exceptionally challenging. We provide an effective and scalable solution to developing CFD+ML algorithms using open source software OpenFOAM and SmartSim. SmartSim provides an Orchestrator that significantly simplifies the programming of CFD+ML algorithms and a Redis database that ensures highly scalable data exchange between ML and CFD clients. We show how to leverage SmartSim to effectively couple different segments of OpenFOAM with ML, including pre/post-processing applications, solvers, function objects, and mesh motion solvers. We additionally provide an OpenFOAM sub-module with examples that can be used as starting points for real-world applications in CFD+ML.