This code is used for the numerical experiment in Section 2 of the paper
"Strong norm error bounds for quasilinear wave equations under weak CFL-type conditions"
by Benjamin Dörich.
Part of the code relies on code written by J. Leibold in https://doi.org/10.5445/IR/1000130223 .
The computations are done in C++ using the Finite Element library deal.II; the plots then are generated with Python3.
To use this code, deal.II (release 9.5.1) has to be installed, cf. https://www.dealii.org/9.5.0
In order to compile the program, open a terminal session in this folderand call "cmake -DDEAL_II_DIR=/path/to/deal.II ." Next, call "make release" and "make".
Then, one can run the commands (can be done in paralell)
./main P1
./main P2
./main P3
./main P3_half
./main euler
./main midpoint
./main alpha60P1
./main alpha60P2
./main alpha80P1
./main alpha80P1
./main alpha90P1
./main alpha90P2
./main alpha95P1
./main alpha95P2
to execute the code. This performs the computations and generates the files
parameters_P1.ini_space_Q1.txt
parameters_P2.ini_space_Q2.txt
parameters_P3.ini_space_Q3.txt
parameters_P3_half.ini_space_Q3.txt
parameters_euler.ini_time_ImplEuler
parameters_midpoint.ini_time_MidpointRule
parameters_alpha_60_P1.ini_space_Q1.txt
parameters_alpha_60_P1.ini_space_Q2.txt
parameters_alpha_80_P1.ini_space_Q1.txt
parameters_alpha_80_P2.ini_space_Q2.txt
parameters_alpha_90_P1.ini_space_Q1.txt
parameters_alpha_90_P2.ini_space_Q2.txt
parameters_alpha_95_P1.ini_space_Q1.txt
parameters_alpha_95_P2.ini_space_Q2.txt
in the folder "error" containing the results of the numerical experiments.
After that, the plots can be generated with the Python3 Script using in the terminal
python3 wave_non_auto_error_plots.py
in the folder "tikz".