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:
sudo apt install python3-pip
pip3 install tensorflow==1.13.1
pip3 install tensorforce==0.4.2
makenek cylinder
python3 training.py.py
python3 testing.py
makenek cylinder
2. nekmpi cylinder 5
CFD solver: Nek5000
Reynolds number: 150
The following is the comparison of two flows (the top is baseline and the bottom is controlled flow).