npuljc / RL_control_Nek5000

20 stars 8 forks source link

Reinforcement-learning-based flow control in the Nek5000 environment

This repo is to showcase how to apply reinforcement learning (RL) based control in the CFD environment of Nek5000. Using RL implemented in TensorForce, this repo is developed by referring to the open-source RL-based flow control repo of Rabault et al. So, they have almost the same structure. If you're familiar with Rabault's repo, it will be very easy for you to run the test case here.

The main differences are the simulation environment and reward functions:

Installation

How to run

Vortex shedding suppression performance

CFD solver: Nek5000 Reynolds number: 150

The following is the comparison of two flows (the top is baseline and the bottom is controlled flow).