SmartFlow

SmartFlow is an open-source framework developed as a joint effort among researchers from various institutions to advance research in turbulence modeling, flow control, and numerical algorithm development through multi-agent deep reinforcement learning (DRL). SmartFlow leverages the SmartSim infrastructure library to efficiently launch and manage computational fluid dynamics (CFD) simulations. Data exchange between CFD simulations (implemented in Fortran or C++) and DRL models (implemented in Python) is seamlessly handled by SmartRedis clients, ensuring efficient and scalable communication. The framework is optimized for deployment on high-performance computing (HPC) platforms, including both CPU clusters and GPU-accelerated architectures, enabling scalable and efficient training for computationally demanding problems. Built on top of Relexi and SmartSOD2D, SmartFlow offers the following two improvements:

  1. CFD-solver-agnostic framework: To simplify the integration of diverse CFD solvers with the DRL framework, we have developed a data communication library SmartRedis-MPI that can be easily linked to various CFD solvers. As an example, only five lines of code are needed to enable coupling between the CaLES solver and the SmartFlow framework.

  2. PyTorch-based Stable-Baselines3: Reinforcement learning algorithms are implemented using the widely adopted Stable-Baselines3 library, which is much easier to use, compared to the TensorFlow-based TF-Agents library used in previous implementations.

Please cite us if you find this framework useful!