Table of Contents
Fetching ...

MultiWave: A computational lab for adaptive numerical methods approximating hyperbolic balance laws

Adrian Kolb, Aleksey Sikstel

Abstract

We present the MultiWave C++-framework for adaptive numerical methods approximating hyperbolic balance laws. MultiWave has been designed as a computational laboratory where new mathematical concepts can be quickly implemented and tested. We demonstrate the realisation of an adaptive perturbation discontinuous Galerkin method starting with the mathematical background and proceed to the low-level implementation details. We elaborate on the design choices made in particular regarding the modularity that allows one to extend the code reusing existing infrastructure.

MultiWave: A computational lab for adaptive numerical methods approximating hyperbolic balance laws

Abstract

We present the MultiWave C++-framework for adaptive numerical methods approximating hyperbolic balance laws. MultiWave has been designed as a computational laboratory where new mathematical concepts can be quickly implemented and tested. We demonstrate the realisation of an adaptive perturbation discontinuous Galerkin method starting with the mathematical background and proceed to the low-level implementation details. We elaborate on the design choices made in particular regarding the modularity that allows one to extend the code reusing existing infrastructure.

Paper Structure

This paper contains 28 sections, 38 equations, 14 figures, 2 tables, 8 algorithms.

Figures (14)

  • Figure 1: Example of local two-scale decomposition $\boldsymbol{u}^{\ell+1}_\lambda = \boldsymbol{u}^\ell_\lambda + \boldsymbol{d}^\ell_\lambda$, cf. Gerhard2017.
  • Figure 2: Dependency graph of the MultiWave library's template class hierarchy. Arrows indicate template parameter dependencies between components.
  • Figure 3: Only the Pde class and the new Laplace node (highlighted) need to be modified; the rest of the hierarchy remains unchanged.
  • Figure 4: The new PC_Divergence component (highlighted) is added alongside the existing Divergence term; Space_discr is extended to accept both.
  • Figure 5: The highlighted components — SWE, well-balanced numerical flux, WB_Divergence, Source, Limiter_SWE, and MRA_SWE — are the only parts of the hierarchy that require specialisation.
  • ...and 9 more figures

Theorems & Definitions (9)

  • Remark
  • Remark
  • Remark
  • Remark
  • Remark
  • Remark
  • Remark
  • Remark
  • Remark