Leonhard Rannabauer

2papers

2 Papers

NAApr 25, 2018
A simple diffuse interface approach on adaptive Cartesian grids for the linear elastic wave equations with complex topography

Maurizio Tavelli, Michael Dumbser, Dominic Etienne Charrier et al.

In most classical approaches of computational geophysics for seismic wave propagation problems, complex surface topography is either accounted for by boundary-fitted unstructured meshes, or, where possible, by mapping the complex computational domain from physical space to a topologically simple domain in a reference coordinate system. In this paper we propose a completely different strategy. We address the problem of geometrically complex free surface boundary conditions with a novel diffuse interface method on adaptive Cartesian meshes that consists in the introduction of a characteristic function $ 0\leqα\leq 1$ which identifies the location of the solid medium and the surrounding air and thus implicitly defines the location of the free surface boundary. Our new approach completely avoids the problem of mesh generation, since all that is needed for the definition of the complex surface topography is to set a scalar color function to unity inside the regions covered by the solid and to zero outside. An analysis of the eigenvalues of the PDE system shows that the complexity of the geometry has no influence on the admissible time step size due to the CFL condition. The model reduces to the classical linear elasticity equations inside the solid medium where the gradients of $α$ are zero, while in the diffuse interface zone at the free surface boundary the governing PDE system becomes nonlinear. We can prove that the solution of the Riemann problem with arbitrary data and a jump in $α$ from unity to zero yields a Godunov-state at the interface that satisfies the free-surface boundary condition exactly. In order to reduce numerical dissipation, we use high order DG finite element schemes on adaptive AMR grids together with a high resolution shock capturing subcell finite volume (FV) limiter in the diffuse interface region.

MSNov 15, 2019
Role-Oriented Code Generation in an Engine for Solving Hyperbolic PDE Systems

Jean-Matthieu Gallard, Lukas Krenz, Leonhard Rannabauer et al.

The development of a high performance PDE solver requires the combined expertise of interdisciplinary teams with respect to application domain, numerical scheme and low-level optimization. In this paper, we present how the ExaHyPE engine facilitates the collaboration of such teams by isolating three roles: application, algorithms, and optimization expert. We thus support team members in letting them focus on their own area of expertise while integrating their contributions into an HPC production code. Inspired by web application development practices, ExaHyPE relies on two custom code generation modules, the Toolkit and the Kernel Generator, which follow a Model-View-Controller architectural pattern on top of the Jinja2 template engine library. Using Jinja2's templates to abstract the critical components of the engine and generated glue code, we isolate the application development from the engine. The template language also allows us to define and use custom template macros that isolate low-level optimizations from the numerical scheme described in the templates. We present three use cases, each focusing on one of our user roles, showcasing how the design of the code generation modules allows to easily expand the solver schemes to support novel demands from applications, to add optimized algorithmic schemes (with reduced memory footprint, e.g.), or provide improved low-level SIMD vectorization support.