Joint Workshop of GAMM Activity Groups "Dynamics and Control Theory" and "Optimization with Partial Differential Equations" in Bayreuth, 2021.
Authors: Dmytro Strelnikov [email protected], Roland Herzog [email protected]
License: CC BY-NC-ND 4.0
This repository contains fully reproducible slides for a talk which is a part of OptiPuls project.
A working FEniCS computing platform installation is required as well as the following additional python packages (including their dependencies):
We suppose that make is already installed on your machine provided a UNIX-like system is used.
If you already have FEniCS installed locally, you can use python virtual environments to install the remaining dependencies without cluttering your system:
python3 -m venv --system-site-packages ~/.local/optipuls
source ~/.local/optipuls/bin/activate
pip install git+https://github.com/optipulsproject/optipuls
pip install matplotlib tabulate
Since it can get quite tricky to install FEniCS, we also provide a bundle of docker images.
Prebuilt optipuilsproject images can be used to reproduce the results provided docker is installed on your system.
Once the depencdencies are satisfied, reproducing of the results is as simple as running make
in the root of the project:
git clone https://github.com/optipulsproject/bayreuth-talk.git
cd bayreuth-talk
make -j$(nproc) slides
Make will run the computations, produce the plots, the tables, and the final slides-bayreuth.pdf
file.
Make plots (entails making of the numerical artifacts):
docker run \
-v $(pwd):/home/fenics/shared \
optipulsproject/optipuls:latest \
make plots.all -j$(nproc)
Make tables:
docker run \
-u $UID \
-v $(pwd):/data \
optipulsproject/tabulate:latest \
make tables.all
Make slides:
docker run \
-u $UID \
-v $(pwd):/data \
optipulsproject/publications:latest \
make slides
In order to not carry the heavy computations locally, you may download the latest numerical artifacts built by GitLab CI.
- Clone the repocitory and open its directory:
git clone https://github.com/optipulsproject/bayreuth-talk.git
cd bayreuth-talk
- Unpack the downloaded numerical artifacts into
bayreuth-talk
directory:
unzip -o artifacts.zip
- Update the modification time of the numerical artifacts so they are treated up-to-date:
touch numericals/{rampdown,rampdown-noopt,zeroguess}/*
- Run the steps of the previous section. The numerical artifacts won't be recomputed.