The computations are done with Python3.
Requirements
The code is tested on Ubuntu 20.04.4 LTS with Python 3.8.10 and the following versions of its modules
numpy - 1.17.4
scipy - 1.3.3
h5py - 2.10.0
dolfin (fenics) - 2019.2.0.dev0 (including mshr)
matplotlib - 3.1.2
tikzplotlib - 0.9.6 (only for generating tikz/pgfplots files)
Generation of figures
Figures 4.6, 4.7, 4.8, 4.9, 4.10, 5.3, 5.4, 5.5, 5.7 (including 5.6), and 5.8 can be generated with this code.
In order to obtain Figure X.Y either
- execute the Python script script_Figure-XpY.py in a suitable integrated development environment or
- run the command python3 script_Figure-XpY.py in a terminal session.
The scripts for Figures 4.6, 4.8, 4.10, and 5.5 only produce half of the figures. To get the other half, open the script and set the Boolean variable at the beginning of the script from
True
to False
(case sensitive).
- Figure 4.6: Boolean variable
LFC_unstab
True
: Figures 4.6 (a), (c), (e), (g)
False
: Figures 4.6 (b), (d), (f), (h)
- Figure 4.8: Boolean variable
stepsize_small
True
: Figures 4.8 (a), (b)
False
: Figures 4.8 (c), (d)
- Figure 4.10: Boolean variable
LFCpol_to_G
True
: Figures 4.10 (a), (b), (c)
False
: Figures 4.10 (d), (e), (f)
- Figure 5.5: Boolean variable
stepsize_small
True
: Figures 5.5 (a)
False
: Figures 5.5 (b)
Instead of the plots you can get the tikz/pgfplots files which were used for the figures in the thesis by setting the Boolean variable plot_figure
from True
to False
in the scripts.