Searcharxiv⌕ Search

arXiv subjects

Michael Schlottke-Lakemper

Publications and source records attributed to Michael Schlottke-Lakemper.

18 recordsLinked to original sources

Perspectives on Sustainable Computational Science and Engineering

Computational Science and Engineering (CSE) combines expertise at the intersection of engineering, applied mathematics, and computer science to form powerful methods for model-based design and model-based decision support across disciplines. Today, CSE methods and tools have an impact as an enabling technology in the development of increasingly sustainable products, processes, and operations. However, sustainability is rarely considered holistically in the context of CSE itself. This paper develops a perspective on sustainability in CSE by distinguishing CSE as an enabler of sustainability in application domains from sustainability within CSE itself, which rests on two complementary pillars: sustainable computing and sustainable software. We present illustrative examples for these pillars and derive recommendations and best practices for CSE stakeholders. Developing an understanding of how sustainability can create added value in CSE is an important future direction for the field. This calls for a concerted effort within the CSE community to define measurable outcomes and best practices that embed sustainability as a core design principle rather than an afterthought.

cs.CE↗

Massively parallel numerical simulations with Julia

The Julia programming language aims to provide a modern approach to develop high-performance computing (HPC) applications. It tries to achieve this by combining a high-level, dynamic interface with just-in-time compilation to native machine code, thereby facilitating high developer productivity and native code performance at the same time. While this approach has already been shown to work well for serial applications, it is not clear if it readily translates to traditional, massively parallel HPC work loads. In this paper, we fill this gap by analyzing the parallel performance of the numerical computational fluid dynamics simulation code Trixi$.$jl, written in Julia, and compare it to the Fortran code FLUXO. We show some of the challenges of using Julia at scale and discuss possible solutions, specifically with respect to code loading and compilation at startup. Finally, we demonstrate the parallel scaling of our Julia code on up to 61440 CPU cores.

math.NA↗

Multi-Solver Coupling for Parallel Adaptive Multi-Physics Simulations with Trixi$.$jl and deal$.$II

Many standalone frameworks for numerical solvers have been developed to tackle the simulation of specific single- or multi-physics problems. For solving coupled problems, common approaches are to extend existing solvers, to develop an entirely new solver or to couple two existing solvers by using the interface provided by a coupling library or framework. However, to the best of our knowledge, there is not yet a framework that allows the easy and direct development of coupled solvers. In this work, we prototype a portable reproducible cross-language framework for the development of coupled parallel adaptive solvers using Trixi$.$jl and deal$.$II for the numerical simulation of coupled multi-physics problems. Currently, this is tightly entangled with an example coupled solver. We show its usability by developing a partitioned strongly-coupled multi-physics solver for the dynamics of Newtonian self-gravitational gases. For the coupled solver, we validate the expected order of convergence, physical sensibility of the results and mesh adaptivity. Finally, we investigate its parallel scaling. A publicly accessible reproducibility repository for the numerical results and code is available.

math.NA↗

Adaptive Multiphysics Coupling for Hyperbolic Systems

For the discontinuous Galerkin code Trixi$.$jl we implement capabilities for adaptively coupling arbitrarily many domains with different physics. The coupling of the systems is realized through the exchange of boundary information and user-definable coupling functions. This gives us the ability to couple systems that do not share a single variable or have a very different number of variables. This is particularly useful when we have a hierarchy of systems. Our implementation is such that we can adaptively select the model of the coupled systems in the course of the simulation. This allows for highly dynamical scenarios as can be found e.g. in astrophysics. The criteria for adaptivity can be user defined and tailored to the physical problem. Compared to computing the most complex model in the entire simulation domain, our method of coupled systems of high and low complexity leads to a significant reduction in computational time with very little overhead.

math.NA↗

Automatic differentiation for performing the Cauchy-Kovalevskaya procedure in Lax-Wendroff type discretizations

Lax-Wendroff methods combined with discontinuous Galerkin/flux reconstruction spatial discretization provide a high-order, single-stage, quadrature-free method for solving hyperbolic conservation laws. In this work, we introduce automatic differentiation (AD) for performing the Cauchy-Kowalewski procedure used in the element-local time average flux computation step (the predictor step) of Lax-Wendroff methods. The application of AD is similar for methods of any order and does not need positivity corrections during the predictor step. This contrasts with the approximate Lax-Wendroff procedure, which requires different finite difference formulas for different orders of the method and positivity corrections in the predictor step for fluxes that can only be computed on admissible states. The method is Jacobian-free and problem-independent, allowing direct application to any physical flux function. Numerical experiments demonstrate the order and positivity preservation of the method. Additionally, performance comparisons indicate that the wall-clock time of automatic differentiation is always on par with the approximate Lax-Wendroff method.

math.NA↗

Volume Term Adaptivity for Discontinuous Galerkin Schemes

We introduce the concept of volume term adaptivity for high-order discontinuous Galerkin (DG) schemes solving time-dependent partial differential equations. Termed v-adaptivity, we present a novel general approach that exchanges the discretization of the volume contribution of the DG scheme at every Runge-Kutta stage based on suitable indicators. Depending on whether robustness or efficiency is the main concern, different adaptation strategies can be chosen. Precisely, the weak form volume term discretization is used instead of the entropy-conserving flux-differencing volume integral whenever the former produces more entropy than the latter, resulting in an entropy-stable scheme. Conversely, if increasing the efficiency is the main objective, the weak form volume integral may be employed as long as it does not increase entropy beyond a certain threshold or cause instabilities. Thus, depending on the choice of the indicator, the v-adaptive DG scheme improves robustness, efficiency and approximation quality compared to schemes with a uniform volume term discretization. We thoroughly verify the accuracy, linear stability, and entropy-admissibility of the v-adaptive DG scheme before applying it to various compressible flow problems in two and three dimensions.

math.NA↗

Jin-Xin relaxation as a shock-capturing method for high-order DG/FR schemes

Jin-Xin relaxation is a method for approximating non-linear hyperbolic conservation laws by a linear system of hyperbolic equations with an $\varepsilon$ dependent stiff source term. The system formally relaxes to the original conservation law as $\varepsilon \to 0$. An asymptotic analysis of the Jin-Xin relaxation system shows that it can be seen as a convection-diffusion equation with a diffusion coefficient that depends on the relaxation parameter $\varepsilon$. This work makes use of this property to use the Jin-Xin relaxation system as a shock-capturing method for high-order discontinuous Galerkin (DG) or flux reconstruction (FR) schemes. The idea is to use a smoothness indicator to choose the $\varepsilon$ value in each cell, so that we can use larger $\varepsilon$ values in non-smooth regions to add extra numerical dissipation. We show how this can be done by using a single stage method by using the compact Runge-Kutta FR method that handles the stiff source term by using IMplicit-EXplicit Runge-Kutta (IMEX-RK) schemes. Numerical results involving Burgers' equation and the compressible Euler equations are shown to demonstrate the effectiveness of the proposed method.

math.NA↗

Robust and efficient pre-processing techniques for particle-based methods including dynamic boundary generation

Obtaining high-quality particle distributions for stable and accurate particle-based simulations poses significant challenges, especially for complex geometries. We introduce a preprocessing technique for 2D and 3D geometries, optimized for smoothed particle hydrodynamics (SPH) and other particle-based methods. Our pipeline begins with the generation of a resolution-adaptive point cloud near the geometry's surface employing a face-based neighborhood search. This point cloud forms the basis for a signed distance field, enabling efficient, localized computations near surface regions. To create an initial particle configuration, we apply a hierarchical winding number method for fast and accurate inside-outside segmentation. Particle positions are then relaxed using an SPH-inspired scheme, which also serves to pack boundary particles. This ensures full kernel support and promotes isotropic distributions while preserving the geometry interface. By leveraging the meshless nature of particle-based methods, our approach does not require connectivity information and is thus straightforward to integrate into existing particle-based frameworks. It is robust to imperfect input geometries and memory-efficient without compromising performance. Moreover, our experiments demonstrate that with increasingly higher resolution, the resulting particle distribution converges to the exact geometry.

math.NA↗

Secure numerical simulations using fully homomorphic encryption

Data privacy is a significant concern when using numerical simulations for sensitive information such as medical, financial, or engineering data -- especially in untrusted environments like public cloud infrastructures. Fully homomorphic encryption (FHE) offers a promising solution for achieving data privacy by enabling secure computations directly on encrypted data. Aimed at computational scientists, this work explores the viability of FHE-based, privacy-preserving numerical simulations of partial differential equations. The presented approach utilizes the Cheon-Kim-Kim-Song (CKKS) scheme, a widely used FHE method for approximate arithmetic on real numbers. Two Julia packages are introduced, OpenFHE$.$jl and SecureArithmetic$.$jl, which wrap the OpenFHE C++ library to provide a convenient interface for secure arithmetic operations. With these tools, the accuracy and performance of key FHE operations in OpenFHE are evaluated, and implementations of finite difference schemes for solving the linear advection equation with encrypted data are demonstrated. The results show that cryptographically secure numerical simulations are possible, but that careful consideration must be given to the computational overhead and the numerical errors introduced by using FHE. An analysis of the algorithmic restrictions imposed by FHE highlights potential challenges and solutions for extending the approach to other models and methods. While it remains uncertain how broadly the approach can be generalized to more complex algorithms due to CKKS limitations, these findings lay the groundwork for further research on privacy-preserving scientific computing.

math.NA↗

Generalized upwind summation-by-parts operators and their application to nodal discontinuous Galerkin methods

High-order numerical methods for conservation laws are highly sought after due to their potential efficiency. However, it is challenging to ensure their robustness, particularly for under-resolved flows. Baseline high-order methods often incorporate stabilization techniques that must be applied judiciously -- sufficient to ensure simulation stability but restrained enough to prevent excessive dissipation and loss of resolution. Recent studies have demonstrated that combining upwind summation-by-parts (USBP) operators with flux vector splitting can increase the robustness of finite difference (FD) schemes without introducing excessive artificial dissipation. This work investigates whether the same approach can be applied to nodal discontinuous Galerkin (DG) methods. To this end, we demonstrate the existence of USBP operators on arbitrary grid points and provide a straightforward procedure for their construction. Our discussion encompasses a broad class of USBP operators, not limited to equidistant grid points, and enables the development of novel USBP operators on Legendre--Gauss--Lobatto (LGL) points that are well-suited for nodal DG methods. We then examine the robustness properties of the resulting DG-USBP methods for challenging examples of the compressible Euler equations, such as the Kelvin--Helmholtz instability. Similar to high-order FD-USBP schemes, we find that combining flux vector splitting techniques with DG-USBP operators does not lead to excessive artificial dissipation. Furthermore, we find that combining lower-order DG-USBP operators on three LGL points with flux vector splitting indeed increases the robustness of nodal DG methods. However, we also observe that higher-order USBP operators offer less improvement in robustness for DG methods compared to FD schemes. We provide evidence that this can be attributed to USBP methods adding dissipation only to unresolved modes...

math.NA↗

On the robustness of high-order upwind summation-by-parts methods for nonlinear conservation laws

We use the framework of upwind summation-by-parts (SBP) operators developed by Mattsson (2017, doi:10.1016/j.jcp.2017.01.042) and study different flux vector splittings in this context. To do so, we introduce discontinuous-Galerkin-like interface terms for multi-block upwind SBP methods applied to nonlinear conservation laws. We investigate the behavior of the upwind SBP methods for flux vector splittings of varying complexity on Cartesian as well as unstructured curvilinear multi-block meshes. Moreover, we analyze the local linear/energy stability of these methods following Gassner, Svärd, and Hindenlang (2022, doi:10.1007/s10915-021-01720-8). Finally, we investigate the robustness of upwind SBP methods for challenging examples of shock-free flows of the compressible Euler equations such as a Kelvin-Helmholtz instability and the inviscid Taylor-Green vortex.

math.NA↗

Fourth-Order Paired-Explicit Runge-Kutta Methods

In this paper, we extend the Paired-Explicit Runge-Kutta schemes by Vermeire et. al. to fourth-order of consistency. Based on the order conditions for partitioned Runge-Kutta methods we motivate a specific form of the Butcher arrays which leads to a family of fourth-order accurate methods. The employed form of the Butcher arrays results in a special structure of the stability polynomials, which needs to be adhered to for an efficient optimization of the domain of absolute stability. We demonstrate that the constructed fourth-order Paired-Explicit Runge-Kutta methods satisfy linear stability, internal consistency, designed order of convergence, and conservation of linear invariants. At the same time, these schemes are seamlessly coupled for codes employing a method-of-lines approach, in particular without any modifications of the spatial discretization. We apply the multirate Paired-Explicit Runge-Kutta (P-ERK) schemes to inviscid and viscous problems with locally varying wave speeds, which may be induced by non-uniform grids or multiscale properties of the governing partial differential equation. Compared to state-of-the-art optimized standalone methods, the multirate P-ERK schemes allow significant reductions in right-hand-side evaluations and wall-clock time, ranging from 40% up to factors greater than three.

math.NA↗

Multirate Time-Integration based on Dynamic ODE Partitioning through Adaptively Refined Meshes for Compressible Fluid Dynamics

In this paper, we apply the Paired-Explicit Runge-Kutta (P-ERK) schemes by Vermeire et. al. (2019, 2022) to dynamically partitioned systems arising from adaptive mesh refinement. The P-ERK schemes enable multirate time-integration with no changes in the spatial discretization methodology, making them readily implementable in existing codes that employ a method-of-lines approach. We show that speedup compared to a range of state of the art Runge-Kutta methods can be realized, despite additional overhead due to the dynamic re-assignment of flagging variables and restricting nonlinear stability properties. The effectiveness of the approach is demonstrated for a range of simulation setups for viscous and inviscid convection-dominated compressible flows for which we provide a reproducibility repository. In addition, we perform a thorough investigation of the nonlinear stability properties of the Paired-Explicit Runge-Kutta schemes regarding limitations due to the violation of monotonicity properties of the underlying spatial discretization. Furthermore, we present a novel approach for estimating the relevant eigenvalues of large Jacobians required for the optimization of stability polynomials.

math.NA↗

Efficient implementation of modern entropy stable and kinetic energy preserving discontinuous Galerkin methods for conservation laws

Many modern discontinuous Galerkin (DG) methods for conservation laws make use of summation by parts operators and flux differencing to achieve kinetic energy preservation or entropy stability. While these techniques increase the robustness of DG methods significantly, they are also computationally more demanding than standard weak form nodal DG methods. We present several implementation techniques to improve the efficiency of flux differencing DG methods that use tensor product quadrilateral or hexahedral elements, in 2D or 3D respectively. Focus is mostly given to CPUs and DG methods for the compressible Euler equations, although these techniques are generally also useful for other physical systems including the compressible Navier-Stokes and magnetohydrodynamics equations. We present results using two open source codes, Trixi.jl written in Julia and FLUXO written in Fortran, to demonstrate that our proposed implementation techniques are applicable to different code bases and programming languages.

cs.MS↗

On error-based step size control for discontinuous Galerkin methods for compressible fluid dynamics

We study temporal step size control of explicit Runge-Kutta methods for compressible computational fluid dynamics (CFD), including the Navier-Stokes equations and hyperbolic systems of conservation laws such as the Euler equations. We demonstrate that error-based approaches are convenient in a wide range of applications and compare them to more classical step size control based on a Courant-Friedrichs-Lewy (CFL) number. Our numerical examples show that error-based step size control is easy to use, robust, and efficient, e.g., for (initial) transient periods, complex geometries, nonlinear shock capturing approaches, and schemes that use nonlinear entropy projections. We demonstrate these properties for problems ranging from well-understood academic test cases to industrially relevant large-scale computations with two disjoint code bases, the open source Julia packages Trixi.jl with OrdinaryDiffEq.jl and the C/Fortran code SSDC based on PETSc.

math.NA↗

Bridging HPC Communities through the Julia Programming Language

The Julia programming language has evolved into a modern alternative to fill existing gaps in scientific computing and data science applications. Julia leverages a unified and coordinated single-language and ecosystem paradigm and has a proven track record of achieving high performance without sacrificing user productivity. These aspects make Julia a viable alternative to high-performance computing's (HPC's) existing and increasingly costly many-body workflow composition strategy in which traditional HPC languages (e.g., Fortran, C, C++) are used for simulations, and higher-level languages (e.g., Python, R, MATLAB) are used for data analysis and interactive computing. Julia's rapid growth in language capabilities, package ecosystem, and community make it a promising universal language for HPC. This paper presents the views of a multidisciplinary group of researchers from academia, government, and industry that advocate for an HPC software development paradigm that emphasizes developer productivity, workflow portability, and low barriers for entry. We believe that the Julia programming language, its ecosystem, and its community provide modern and powerful capabilities that enable this group's objectives. Crucially, we believe that Julia can provide a feasible and less costly approach to programming scientific applications and workflows that target HPC facilities. In this work, we examine the current practice and role of Julia as a common, end-to-end programming model to address major challenges in scientific reproducibility, data-driven AI/machine learning, co-design and workflows, scalability and performance portability in heterogeneous computing, network communication, data management, and community education. As a result, the diversification of current investments to fulfill the needs of the upcoming decade is crucial as more supercomputing centers prepare for the exascale era.

cs.DC↗

Adaptive numerical simulations with Trixi.jl: A case study of Julia for scientific computing

We present Trixi.jl, a Julia package for adaptive high-order numerical simulations of hyperbolic partial differential equations. Utilizing Julia's strengths, Trixi.jl is extensible, easy to use, and fast. We describe the main design choices that enable these features and compare Trixi.jl with a mature open source Fortran code that uses the same numerical methods. We conclude with an assessment of Julia for simulation-focused scientific computing, an area that is still dominated by traditional high-performance computing languages such as C, C++, and Fortran.

cs.MS↗

A purely hyperbolic discontinuous Galerkin approach for self-gravitating gas dynamics

One of the challenges when simulating astrophysical flows with self-gravity is to compute the gravitational forces. In contrast to the hyperbolic hydrodynamic equations, the gravity field is described by an elliptic Poisson equation. We present a purely hyperbolic approach by reformulating the elliptic problem into a hyperbolic diffusion problem, which is solved in pseudotime using the same explicit high-order discontinuous Galerkin method we use for the flow solution. The flow and the gravity solvers operate on a joint hierarchical Cartesian mesh and are two-way coupled via the source terms. A key benefit of our approach is that it allows the reuse of existing explicit hyperbolic solvers without modifications, while retaining their advanced features such as non-conforming and solution-adaptive grids. By updating the gravitational field in each Runge-Kutta stage of the hydrodynamics solver, high-order convergence is achieved even in coupled multi-physics simulations. After verifying the expected order of convergence for single-physics and multi-physics setups, we validate our approach by a simulation of the Jeans gravitational instability. Furthermore, we demonstrate the full capabilities of our numerical framework by computing a self-gravitating Sedov blast with shock capturing in the flow solver and adaptive mesh refinement for the entire coupled system.

math.NA↗