Adjustments of a Wave Equation Solver for Non-Reflective Boundary Conditions

The aim of this project is to implement non-reflecting boundary conditions in a python code which solves the wave equation with the help of the FEniCS tool. To solve the wave equation with the FEniCS tool we use the weak formulation of the wave equation. This enables us to alter the values of the solution of the wave equation on the boundary to implement non-reflecting boundary conditions. We use the method of a one-way wave equation which was first proposed by Engquist and Majda (1977). We implemented the first and second Pade approximation of the dispersion relation of the wave equation. Additionally, we applied a sponge layer of adjustable shape and size.