Peano
Loading...
Searching...
No Matches
ADER-DG

Table of Contents

The ADER-DG (Discontinuous Galerkin with Arbitrary high-order derivative time stepping) method is the main numerical approach used in ExaHyPE. It is a high-order method both in space and time, and requires lower communication compared to the DG method. Here, we provide an overview of the method; for more details, see https://www.mdpi.com/2075-1680/7/3/63.

Each timestep of the ADER-DG algorithm consists of two key steps:

  1. a predictor step , which solves a space-time DG problem locally within each cell
  2. a corrector step , which uses the results of the predictor to compute the solution at the next timestep via a discontinuous Galerkin scheme in space, and considering the influence of neighbour elements

For simplicity, we consider the problem \( \frac{\partial Q}{\partial t} + \nabla \cdot F(Q) = 0. \) The spatial domain \( \Omega \) is discretized on a tree-structured Cartesian grid of cells \( T_i \). At each timestep \( t^n \), the numerical solution \( Q_h \) is then represented within each cell \( T_i \) by piecewise polynomials of maximum degree \( N \geq 0 \):

\[ Q_h(x, t^n) = \sum_{l}\hat{Q}_l^n \phi_l(x) \]

with the degrees of freedom \( \hat{Q}_l^n \)

Predictor

The job of the predictor is to provide an estimate for each element of the space-time solution until the next timestep. Following the usual Galerkin approach, but for a space-time element \( T_i \times [t^n, t^{n+1}]\), we multiply our problem with space-time test function \( \theta_k(x,t) \) and integrate in space and time to obtain

\[ \int_{\Delta_t} \int_{T_i} \theta_k \frac{\partial q_h}{\partial t} dxdt + \int_{\Delta_t} \int_{T_i} \theta_k \nabla \cdot F(q_h) dxdt = 0 \]

We introduce the discrete space-time solution \( q_h \) and flux \( F_h \):

\[ q_h(x,t) = \sum_l \hat{q_l}\theta_l(x,t) \text{ and } F_h(x,t) = \sum_l \hat{F_l}\theta_l(x,t) \]

By integration by parts, and substitution of the discrete space-time solution and fluxes, we yield

\[ \left( \int_{T_i} \theta_k(x, t^{n+1}) \theta_l(x, t^{n+1}) dxdt - \int_{\Delta_t }\int_{T_i} \frac{\partial \theta_k}{\partial t} \theta_l dxdt \right) \hat{q}_l + \left( \int_{\Delta_t }\int_{T_i} \theta_k \nabla \theta_l dxdt \right) F(\hat{q}_l) = \left( \int_{T_i} \theta_k(x, t^n)\phi_l dx \right) \hat{Q}_l^n \]

Note that the Einstein's summation convention is used here. In ExaHyPE this is solved in general via Picard iterations. And for linear PDEs, we use the Cauchy-Kowalevskaya method to lower computational cost.

Corrector

The corrector builds on the cell-local space-time solutions \( q_h(x,t)\) to compute a high-order-accurate solution at timestep \( t^{n+1} \). We first discretize our PDE in space, following the Galerkin approach, and in addition, integrate over \( \Delta_t = [t^n, t^{n+1}] \):

\[ \int_{\Delta_t} \int_{T_i} \theta_k(x) \frac{\partial Q_h}{\partial t} dxdt + \int_{\Delta_t} \int_{T_i} \theta_k \nabla \cdot F(Q_h) dxdt = 0 \]

By integration by parts of the second term, we get

\[ \int_{\Delta_t} \int_{T_i} \theta_k(x) \frac{\partial Q_h}{\partial t} dxdt + \int_{\Delta_t} \int_{\partial T_i} \theta_k F(Q_h) \cdot n dSdt - \int_{\Delta_t} \int_{T_i} \nabla \theta_k \cdot F(Q_h) dxdt= 0 \]

where \( n \) is the outward pointing unit normal vector on the surface \( \partial T_i \). For the first term, we integrate over \( \frac{\partial Q_h}{\partial t}\); for the second term, we require a numerical flux function \( G \) as in DG schemes. We thus obtain

\[ \left(\int_{T_i} \phi_k \phi_l dx \right)(\hat{Q}_l^{n+1} - \hat{Q}_l^n) + \int_{\Delta_t }\int_{T_i} \phi_k G(q_h^-, q_h^+)\cdot n dSdt - \int_{\Delta_t }\int_{T_i} \nabla \phi_k \cdot F(q_h)dxdt = 0 \]