Installing Basilisk
Ran example from the Github repository
Correctly linked graphics libraries to Basilisk
Reproduced one example video from the paper
Adapted execution script separating compiling and running
Adapted execution to use GNU Parallel (for parameter sweeps)
Collected data from runs
Modified analysis Matlab code to run with our output
Re-implemented theoretical comparison for Fig 6
Compared to Figure 6 in the paper
No familiarity with Basilisk, one of us had computational fluid dynamics knowledge (Finite Element), and experience with matlab.
Basilisk
Modules on Sulis, glew/2.2.0-glx libGLU/9.0.2 FFmpeg/4.3.2
Basilisk (C), Matlab
GCC/11.2.0 OpenMPI/4.1.1 Bison/3.7.6 flex/2.6.4 Mesa/21.1.7 glew/2.2.0-glx libGLU/9.0.2 FFmpeg/4.3.2
Understanding and installing Basilisk
Properly building/linking graphics libraries on the cluster to output videos correctly
Separating the compiling and running of the code, as these were done by a single command in the provided code, but needed to be separate for running on Sulis.
Running using GNU parallel
Modifying analysis files to run just for the Fig 6. data, and re-implementing the theory Matlab code
Some simulations took much longer than the suggested 8 hours on 8 CPUs. This was due to artificial oscillations in the pressure that caused the timestepping to slow down. Our mentor suggested this could be fixed by adjusting the convergence settings.
It was incremental and with a clear end goal at each step
It was very helpful to have a test code that ran quickly whilst compiling and testing.
Our mentor was an author, it still would have been possible without.
However it likely would have taken longer to get up and running, and to understand certain issues such as artifacts in the video and numerics without experience.
A "code map" would be useful, say pointing the reader to the code needed to run analysis for each figure. It was all there, just not immediately obvious where.
Some comments about the pressure oscillations and explanation of how to remove them by adjusting the convergence settings would have been helpful.
The docs existed!
The docs clearly outlined the workflows (installation, running, data output etc.) and discussed how to change model parameters clearly, as well as describing the structure of the model output files.
A "code map" would be useful, say pointing the reader to the code needed to run analysis for each figure. It was all there, just not immediately obvious where.
The license is Apache 2.0 for the code.
Article is CC 4 (open access)
Example data is not included in the repo.