KIT | KIT-Bibliothek | Impressum | Datenschutz

Code to "Strong norm error bounds for quasilinear wave equations under weak CFL-type conditions" (v2)

Scheifinger, Malik 1
1 Institut für Angewandte und Numerische Mathematik (IANM), Karlsruher Institut für Technologie (KIT)

Abstract:

In the present paper we consider a class of quasilinear wave equations on a smooth, bounded domain. We discretize it in space with isoparametric finite elements, and apply a semi-implicit Euler and midpoint rule as well as the exponential Euler and midpoint rule to obtain four fully discrete schemes. We derive rigorous error bounds of optimal order for the semi-discretization in space and the fully discrete methods in norms which are stronger than the classical $H^1\times L^2$ energy norm under weak CFL-type conditions. To confirm our theoretical findings, we also present numerical experiments.


Zugehörige Institution(en) am KIT Institut für Angewandte und Numerische Mathematik (IANM)
Publikationstyp Forschungsdaten
Publikationsdatum 08.11.2023
Erstellungsdatum 06.11.2023
Identifikator DOI: 10.35097/1792
KITopen-ID: 1000163947
Lizenz Creative Commons Namensnennung – Nicht kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International
Projektinformation SFB 1173/3 (DFG, DFG KOORD, SFB 1173/3)
Liesmich

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 folder
and 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".

Art der Forschungsdaten Software
Relationen in KITopen
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page