Readme
This program is intended to reproduce the results from the thesis "Error Analysis of Exponential Integrators for Nonlinear Wave-Type Equations" by Benjamin Dörich
Requirements
The program is tested with
- Ubuntu 16.04.7 LTS and Python 3.7.6 and the following version of its modules:
- numpy - 1.15.4
- scipy - 1.4.1
- matplotlib - 3.2.1
- tikzplotlib - 0.9.6
(quasilinear only:)
- dolfin - 2018.1.0
- fenics - 2018.1.0
- Ubuntu 18.04.5 LTS and Python 3.6.9 and the following version of its modules:
- numpy - 1.19.2
- scipy - 1.5.1
- matplotlib - 3.3.2
- tikzplotlib - 0.9.4
(quasilinear only:)
- dolfin - 2019.2.0.dev0
- fenics - 2019.2.0.dev0
Figure 4.2
In the folder "semilinear_low_reg/Fig_convergence" open a console and run the following commands after each other.
- Run "python3 run_diss_Strang_N_2pw09.py"
- Run "python3 run_diss_Strang_N_2pw10.py"
- Run "python3 run_diss_Strang_N_2pw11.py"
After running the calculations, the errors can be found in the folder "results" as tikz-files.
Figure 4.3
In the folder "semilinear_low_reg/Fig_inner_filter" open a console and run the following commands after each other.
- Run "python3 run_diss_Strang_N_2pw09.py"
- Run "python3 run_diss_Strang_N_2pw10.py"
- Run "python3 run_diss_Strang_N_2pw11.py"
After running the calculations, the errors can be found in the folder "results" as tikz-files.
Figure 7.1
In the folder "quasilinear_expo" open a console and run the following commands after each other.
- Run "python3 1_generate_initial_matrices.py"
- Run "python3 2_diss_run_reference_solution.py"
- Run "python3 3_diss_run_Euler_X.py"
- Run "python3 4_diss_run_Euler_Y.py"
- Run "python3 5_diss_run_midpoint.py"
After running the calculations, the errors can be found in the folder "quasilinear_expo/extracted_data/".
(a) settings_* contains the information of the config file
(b) infos_* contains the computed errors
(c) plot_* contains a tikz-file which gives the plot for the Euler and the midpoint rule separately.