Hint

Study Case: Swarm of Swimmers

Environment for artificial swimmers, described by the StefanFish class (see _deps/CUP-3D/Obstacles/Stefanfish{.cpp,.h}).

The state is given the relative position $$\Delta x, \Delta y$$ to the obstacle, the orientation $$\theta$$, the phase $$\phi$$, the speed $$u,v$$ and angular velocity $$\omega$$, the time of the last action $$t_{act}$$ and previous two baseline curvatures $$C_{-1},C_{-2}$$.

The action is given by modifying the baseline curvature $$C_0$$ and the swimming period $$T$$.

The reward is given by the (Froude) swimming efficiency $$\eta$$.

Settings

The setup is described in the setting.sh file.

Running the code

The application is launched locally (or on an interactive node on Piz Daint) using

./run-vracer-swimmer.sh


If you are ready for production you can submitt a job to the batch-system using

./sbatch-run-vracer-swimmer.sh


Here you can change the number of environments for the solver with NWORKER and the number of ranks per worker via NRANKS.