This contains a Docker image and some scripts that are used to generate the results from the paper in a reproducible manner.
To build the image, start your docker daemon and just do
docker buildx build -f Dockerfile . -t qbx-ds-experimentsor, equivalently
make docker-buildTo run the scripts in the experiments folder you need to go through the following
steps
# 1. build the container as above
# 2. enter the container using:
make docker-run
# 3. inside the container:
source "${HOME}/.miniforge/bin/activate" paper
make run
make visualizeThe first make run command will run all the experiments and generate a set of
npz files with the results. This can take a very long time and uses all
available CPU cores (through OpenCL and PoCL), so make sure to have the necessary
resources. The results can then be visualized with make visualize.
You can of course also run the scripts individually by calling the respective
file. The make run command will automatically run the experiments over 2D and
3D and over a single-layer and double-layer potential to generate all the results
from the paper.
The repository contains a list of hardcoded dependencies at the time of writing to ensure reproducible results. They can be found in
conda-packages.txt: base system Conda dependencies.requirements.txt: additional Python dependencies.
To update the versions to the latest ones, you can use
make -B pin